|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
public interface ITinAdvanced
Provides access to members that control advanced TIN functions.
Method Summary | |
---|---|
void |
convertToPolygons(IFeatureClass pFeatureClass,
ITinDynamicFilter pFilter,
boolean bStopAtEnforcedEdge,
Object pFieldName)
Converts similar triangles to a polygon feature class. |
ITinPolygon |
extractPolygon(ITinElement pSeed,
ITinFilter pFilter,
boolean bStopAtEnforcedEdge)
Returns a polygon definition based on all contiguous triangles having the same filter criteria. |
ITinPolyline |
extractPolyline(ITinEdge pSeed,
ITinFilter pFilter)
Returns a polyline definition based on triangle edges that meet the same filter criteria. |
ITinNodeArray |
findNaturalNeighbors(IPoint pPoint)
Returns the immediate surrounding nodes to the query point. |
ITinTriangle |
findTriangle(IPoint pPoint)
The triangle at the specified location. |
ITinTriangleArray |
findTriangleNeighborhood(IPoint pPoint)
Returns all triangles whose circumscribed circle contains the query point. |
int |
generateUniqueTagValue(int type)
Returns a new, previously unused tag value for the element. |
IPolygon |
getDataArea()
Returns a polygon representing the data area of the TIN. |
ITinEdge |
getEdge(int index)
The edge referenced by the index. |
int |
getEdgeCount()
The total number of edges in the TIN. |
int |
getEdgeTagValue(int index)
The tag value of the edge referenced by the index. |
void |
getEdgeType(int edgeIndex,
int[] pType)
Gets the specified edge's type. |
int |
getFlag()
The user-defined flag for the TIN. |
IEnvelope |
getFullExtent()
The full 2D-extent of the TIN including NODATA nodes. |
ITinNode |
getNode(int index)
The node referenced by the specified index. |
int |
getNodeCount()
The total number of nodes in the TIN. |
int |
getNodeTagValue(int index)
The tag value of the node referenced by the index. |
double |
getNodeZ(int index)
The z value of the node referenced by the index. |
IEnvelope |
getSuperNodeExtent()
The full extent of the TIN based on the super nodes. |
ISurface |
getSurface()
The ISurface interface (convenient tool for chaining in VB). |
ITrackCancel |
getTrackCancel()
The process cancellation on TIN methods. |
ITinTriangle |
getTriangle(int index)
The triangle referenced by the index. |
int |
getTriangleCount()
The total number of triangles in the TIN. |
IEnumTinTriangle |
getTriangleSeeds(ITinDynamicFilter pFilter,
boolean bStopAtEnforcedEdge)
Returns one triangle representing each polygon defined by the filter criteria of the TIN. |
int |
getTriangleTagValue(int index)
The tag value of the triangle referenced by the index. |
int |
getUniqueTagValueCount(int type)
The number of unique tag values for the specified element type. |
ILongArray |
getUniqueTagValues(int type)
Returns unique tag values for the specified element type. |
void |
init(String name)
Opens the specified TIN. |
boolean |
isProcessCancelled()
Indicates if a process has been cancelled. |
boolean |
isVoidZ(double value)
Indicates if the passed value is equal to the TIN's void value. |
IEnumTinEdge |
makeEdgeEnumerator(IEnvelope pAreaOfInterest,
int criteria,
ITinFilter pFilter)
Makes an edge enumerator based on the extent of the envelope. |
IEnumTinNode |
makeNodeEnumerator(IEnvelope pAreaOfInterest,
int criteria,
ITinFilter pFilter)
Makes a node enumerator based on the extent of the envelope. |
IEnumTinTriangle |
makeTriangleEnumerator(IEnvelope pAreaOfInterest,
int criteria,
ITinFilter pFilter)
Makes a triangle enumerator based on the extent of the envelope. |
void |
queryEdge(int index,
ITinEdge pEdge)
The edge equal to that referenced by the index. |
void |
queryEdgeAsLine(int index,
ILine pLine)
The line equal to the edge referenced by the index. |
void |
queryEdgeAsWKSPointZs(int index,
_WKSPointZ[] pFrom,
_WKSPointZ[] pTo)
The points equal to the end points of the edge referenced by the index. |
void |
queryNearestEdge(IPoint pPoint,
ITinEdge pEdge,
double[] pDistance)
Finds and returns the nearest edge to the query point. |
void |
queryNearestNode(IPoint pPoint,
ITinNode pNode,
double[] pDistance)
Finds and returns the nearest node to the query point. |
void |
queryNode(int index,
ITinNode pNode)
Queries the node equal to that specified by the index. |
void |
queryNodeAsPoint(int index,
IPoint pPoint)
Queries the point equal to that specified by the index. |
void |
queryNodeAsWKSPointZ(int index,
_WKSPointZ[] pPoint)
Queries the point equal to that specified by the index. |
void |
queryTriangle(int index,
ITinTriangle pTriangle)
The triangle equal to that referenced by the index. |
void |
queryTriangleAsRing(int index,
IRing pRing)
The ring equal to the triangle referenced by the index. |
void |
queryTriangleAsWKSPointZs(int index,
_WKSPointZ[] pPi,
_WKSPointZ[] pPj,
_WKSPointZ[] pPk)
Queries the points equal to the nodes of the triangle referenced by the index. |
void |
setEmpty()
Uninitializes the TIN. |
void |
setFlag(int pFlag)
The user-defined flag for the TIN. |
void |
setProcessCancelled(boolean pbCancelled)
Indicates if a process has been cancelled. |
void |
setTrackCancelByRef(ITrackCancel ppTrackCancle)
The process cancellation on TIN methods. |
Methods inherited from interface com.esri.arcgis.geodatabase.ITin |
---|
getDataEdgeCount, getDataNodeCount, getDataTriangleCount, getExtent, getFields, getVersion, getZFactor, isDelaunay, isEmpty, isHasEdgeTagValues, isHasNodeTagValues, isHasTriangleTagValues, saveAs, setZFactor |
Method Detail |
---|
ITrackCancel getTrackCancel() throws IOException, AutomationException
Having cancel tracking enabled lets you halt processes through use of the escape key. The following TIN processes support this:
ITinAdvanced.ConvertToPolygons
ISurface.AsPolygons
ISurface.Contour
ISurface.ContourList
ISurface.GetProjectedArea
ISurface.GetSurfaceArea
ISurface.GetVolume
ISurface.QueryPixelBlock
ITinEdit.AddFromFeatureClass
ITinEdit.AddFromFeatureCursor
ITinEdit.AddFromPixelBlock
ITinNodeCollection.ConvertToVoronoiRegions
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.void setTrackCancelByRef(ITrackCancel ppTrackCancle) throws IOException, AutomationException
ppTrackCancle
- A reference to a com.esri.arcgis.system.ITrackCancel (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.boolean isProcessCancelled() throws IOException, AutomationException
If the TIN has its TrackCancel property set, and one of the following functions is cancelled (e.g. by user pressing Esc), this property will return TRUE.
ITinAdvanced.ConvertToPolygons
ISurface.AsPolygons
ISurface.Contour
ISurface.ContourList
ISurface.GetProjectedArea
ISurface.GetSurfaceArea
ISurface.GetVolume
ISurface.QueryPixelBlock
ITinEdit.AddFromFeatureClass
ITinEdit.AddFromFeatureCursor
ITinEdit.AddFromPixelBlock
ITinNodeCollection.ConvertToVoronoiRegions
Custom functions that pay attention to TrackCancel can write to the ProcessCancelled property to indicate whether or not the function was cancelled. This is something that should be considered when developing custom functions that can run on for some time and where a user might be inclined to cancel the operation.
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.void setProcessCancelled(boolean pbCancelled) throws IOException, AutomationException
pbCancelled
- The pbCancelled (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.ISurface getSurface() throws IOException, AutomationException
This returns the ISurface interface. You can always get the ISurface interface from the Tin object, but this method enables you to avoid having to declare and set an ISurface interface pointer.
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.void setEmpty() throws IOException, AutomationException
Brings the Tin object to the state that exists immediately after it is CoCreated (i.e. with 'New'). It references no dataset on disk, has no triangles, etc.
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.void init(String name) throws IOException, AutomationException
Initializes the object by pointing to a TIN on disk at the specified location.
name
- The name (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.void setFlag(int pFlag) throws IOException, AutomationException
An integer (long) value that can be assigned to the TIN. Its meaning/purpose is user defined.
pFlag
- The pFlag (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.int getFlag() throws IOException, AutomationException
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.IEnvelope getFullExtent() throws IOException, AutomationException
Returns the miminum bounding rectangle (2D) that surrounds all user supplied data in the TIN, including data outside the interpolation zone.
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.IEnvelope getSuperNodeExtent() throws IOException, AutomationException
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.boolean isVoidZ(double value) throws IOException, AutomationException
Returns TRUE or FALSE depending on whether the specified Z is considered NODATA. Mathmatical operations cannot be performed on NODATA.
Some functions, such as ISurface.GetElevation, return a floating point number representing some characteristic of the surface for a given location. If the location does not fall within the interpolation zone some value representing NODATA must be returned. IsVoidZ can be used to evaluate if the result is NODATA.
The super nodes of a TIN have a Z value equal to NODATA. A super node is one of four nodes added by the software when a TIN is initially created (ITinEdit.InitNew). They reside far outside the declared data extent and are used to define an initial triangulation before user data gets added. Triangles incident to these nodes are always flagged as being outside the TIN's interpolation zone.
value
- The value (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.IEnumTinNode makeNodeEnumerator(IEnvelope pAreaOfInterest, int criteria, ITinFilter pFilter) throws IOException, AutomationException
Returns a node enumerator that honors the constraints defined by the input arguments.
The pAreaOfInterest argument is an envelope that defines the area for which elements will be returned. Only nodes that fall inside the envelope qualify. The argument can be set to a Null pointer ('Nothing' in VB) in which case the TIN's data extent will be used.
The Criteria argument takes an esriTinQualification enumeration. The possible values for nodes are esriTinAll, esriTinInsideTin, esriTinInsideDataArea.
The pFilter argument is an additional constraint that can be applied. Any valid TinFilter can be used. Pass a Null pointer ('Nothing' in VB) if you don't want to apply a filter.
pAreaOfInterest
- A reference to a com.esri.arcgis.geometry.IEnvelope (in)criteria
- The criteria (in)pFilter
- A reference to a com.esri.arcgis.geodatabase.ITinFilter (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.IEnumTinEdge makeEdgeEnumerator(IEnvelope pAreaOfInterest, int criteria, ITinFilter pFilter) throws IOException, AutomationException
Returns an edge enumerator that honors the constraints defined by the input arguments.
The pAreaOfInterest argument is an envelope that defines the area for which elements will be returned. Only edges that fall inside the envelope qualify. The argument can be set to a Null pointer ('Nothing' in VB) in which case the TIN's data extent will be used.
The Criteria argument takes an esriTinQualification enumeration. The possible values for edges are esriTinAll, esriTinInsideTin, esriTinInsideDataArea, esriTinSingleEdge and esriTinDoubleEdges. The arguments are additive so you can set two things at once. For example 'esriTinInsideDataArea + esriTinDoubleEdges'. The esriTinSingleEdge and esriTinDoubleEdges enumerations define whether a maximum of one edge between two adjacent triangles is returned or two (one edge for each triangle). If unspecified, esriTinSingleEdge is used.
The pFilter argument is an additional constraint that can be applied. Any valid TinFilter can be used. Pass a Null pointer ('Nothing' in VB) if you don't want to apply a filter.
pAreaOfInterest
- A reference to a com.esri.arcgis.geometry.IEnvelope (in)criteria
- The criteria (in)pFilter
- A reference to a com.esri.arcgis.geodatabase.ITinFilter (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.IEnumTinTriangle makeTriangleEnumerator(IEnvelope pAreaOfInterest, int criteria, ITinFilter pFilter) throws IOException, AutomationException
Returns a triangle enumerator that honors the constraints defined by the input arguments.
The pAreaOfInterest argument is an envelope that defines the area for which elements will be returned. Only triangles that fall inside the envelope qualify. The argument can be set to a Null pointer ('Nothing' in VB) in which case the TIN's data extent will be used.
The Criteria argument takes an esriTinQualification enumeration. The possible values for triangles are esriTinAll, esriTinInsideTin, esriTinInsideDataArea.
The pFilter argument is an additional constraint that can be applied. Any valid TinFilter can be used. Pass a Null pointer ('Nothing' in VB) if you don't want to apply a filter.
pAreaOfInterest
- A reference to a com.esri.arcgis.geometry.IEnvelope (in)criteria
- The criteria (in)pFilter
- A reference to a com.esri.arcgis.geodatabase.ITinFilter (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.int getNodeCount() throws IOException, AutomationException
The total number of nodes in the TIN includes those both inside and outside the interpolation zone.
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.ITinNode getNode(int index) throws IOException, AutomationException
Returns the node referenced by the index. The index base value for nodes is 1.
index
- The index (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.void queryNode(int index, ITinNode pNode) throws IOException, AutomationException
index
- The index (in)pNode
- A reference to a com.esri.arcgis.geodatabase.ITinNode (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.void queryNodeAsPoint(int index, IPoint pPoint) throws IOException, AutomationException
index
- The index (in)pPoint
- A reference to a com.esri.arcgis.geometry.IPoint (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.void queryNodeAsWKSPointZ(int index, _WKSPointZ[] pPoint) throws IOException, AutomationException
index
- The index (in)pPoint
- A Structure: com.esri.arcgis.system._WKSPointZ (A com.esri.arcgis.system._WKSPointZ COM typedef) (out: use single element array)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.double getNodeZ(int index) throws IOException, AutomationException
Returns the Z value of the node referenced by the index. The base index for nodes is 1.
index
- The index (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.int getNodeTagValue(int index) throws IOException, AutomationException
Returns the tag value of the node referenced by the index. The base index for nodes is 1.
The returned value will be 0 if the TIN has never been assigned any node tag values or the node itself has not been assigned a value.
index
- The index (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.int getEdgeCount() throws IOException, AutomationException
The total number of edges in the TIN. The number is equivalent to 3 times the total number of triangles.
Note, the edge count uses what's termed a double edge interpretation. This is where the shared edge between two triangles is counted twice; once for each triangle.
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.ITinEdge getEdge(int index) throws IOException, AutomationException
Returns the edge referenced by the index. The index base value for edges is 1.
index
- The index (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.void queryEdge(int index, ITinEdge pEdge) throws IOException, AutomationException
index
- The index (in)pEdge
- A reference to a com.esri.arcgis.geodatabase.ITinEdge (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.void queryEdgeAsLine(int index, ILine pLine) throws IOException, AutomationException
index
- The index (in)pLine
- A reference to a com.esri.arcgis.geometry.ILine (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.void queryEdgeAsWKSPointZs(int index, _WKSPointZ[] pFrom, _WKSPointZ[] pTo) throws IOException, AutomationException
index
- The index (in)pFrom
- A Structure: com.esri.arcgis.system._WKSPointZ (A com.esri.arcgis.system._WKSPointZ COM typedef) (out: use single element array)pTo
- A Structure: com.esri.arcgis.system._WKSPointZ (A com.esri.arcgis.system._WKSPointZ COM typedef) (out: use single element array)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.int getEdgeTagValue(int index) throws IOException, AutomationException
Returns the tag value of the edge referenced by the index. The base index for edges is 1.
The returned value will be 0 if the TIN has never been assigned any edge tag values or the edge itself has not been assigned a value.
index
- The index (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.void getEdgeType(int edgeIndex, int[] pType) throws IOException, AutomationException
edgeIndex
- The edgeIndex (in)pType
- A com.esri.arcgis.geodatabase.esriTinEdgeType constant (out: use single element array)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.int getTriangleCount() throws IOException, AutomationException
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.ITinTriangle getTriangle(int index) throws IOException, AutomationException
Returns the triangle referenced by the index. The index base for triangles is 1.
index
- The index (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.void queryTriangle(int index, ITinTriangle pTriangle) throws IOException, AutomationException
index
- The index (in)pTriangle
- A reference to a com.esri.arcgis.geodatabase.ITinTriangle (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.void queryTriangleAsRing(int index, IRing pRing) throws IOException, AutomationException
index
- The index (in)pRing
- A reference to a com.esri.arcgis.geometry.IRing (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.void queryTriangleAsWKSPointZs(int index, _WKSPointZ[] pPi, _WKSPointZ[] pPj, _WKSPointZ[] pPk) throws IOException, AutomationException
index
- The index (in)pPi
- A Structure: com.esri.arcgis.system._WKSPointZ (A com.esri.arcgis.system._WKSPointZ COM typedef) (out: use single element array)pPj
- A Structure: com.esri.arcgis.system._WKSPointZ (A com.esri.arcgis.system._WKSPointZ COM typedef) (out: use single element array)pPk
- A Structure: com.esri.arcgis.system._WKSPointZ (A com.esri.arcgis.system._WKSPointZ COM typedef) (out: use single element array)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.int getTriangleTagValue(int index) throws IOException, AutomationException
Returns the tag value of the triangle referenced by the index. The base index for triangles is 1.
The returned value will be 0 if the TIN has never been assigned any triangle tag values or the triangle itself has not been assigned a value.
index
- The index (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.void queryNearestNode(IPoint pPoint, ITinNode pNode, double[] pDistance) throws IOException, AutomationException
pPoint
- A reference to a com.esri.arcgis.geometry.IPoint (in)pNode
- A reference to a com.esri.arcgis.geodatabase.ITinNode (in)pDistance
- The pDistance (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.void queryNearestEdge(IPoint pPoint, ITinEdge pEdge, double[] pDistance) throws IOException, AutomationException
pPoint
- A reference to a com.esri.arcgis.geometry.IPoint (in)pEdge
- A reference to a com.esri.arcgis.geodatabase.ITinEdge (in)pDistance
- The pDistance (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.ITinTriangle findTriangle(IPoint pPoint) throws IOException, AutomationException
Returns the triangle that contains the given query point.
If the query point is incident to a node or edge than the triangle to return is ambiguous. In either case the function will select the first triangle it finds.
pPoint
- A reference to a com.esri.arcgis.geometry.IPoint (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.ITinNodeArray findNaturalNeighbors(IPoint pPoint) throws IOException, AutomationException
Returns an array of nodes that are the natural neighbors of the input query point.
The natural neighbors of a given query point are the nodes it would connect with to form triangles if it were inserted in the triangulation. They are the closest surrounding nodes in all directions.
In most cases, the number of neighboring nodes is small. It averages around 6 to 8. Depending on the data distribution and the location of the query point it can be much larger though.
If the query point is coincident with an existing node then that node's neighbors will be returned.
Returns a null pointer ('Nothing' in VB) if the result is an empty set. This will occur when the query point falls outside the triangulation.
The TIN must be Delaunay.
pPoint
- A reference to a com.esri.arcgis.geometry.IPoint (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.ITinTriangleArray findTriangleNeighborhood(IPoint pPoint) throws IOException, AutomationException
Returns an array of triangles that are in proximity to the input query point.
The triangles returned are those that would be invalidated/redefined if the query point were inserted into the TIN as a new node.
In most cases, the number of triangles is small. It averages around 6-8. Depending on the data distribution and the location of the query point it can be much larger though.
Returns Nothing if result is empty set (query point outside tin).
The TIN must be Delaunay.
pPoint
- A reference to a com.esri.arcgis.geometry.IPoint (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.ITinPolyline extractPolyline(ITinEdge pSeed, ITinFilter pFilter) throws IOException, AutomationException
Returns a TinPolyline that represents the polyline defined by the input seed and filter.
The seed is a TIN edge that falls anywhere along the desired polyline.
The filter defines the criteria used to extract the polyline. Starting from one node of the seed edge, the function looks for an adjoining edge that passes through the filter. As long as there is one, and only one, adjoining edge that passes through the filter it gets included in the polyline definition and becomes the next step in the iteration. After the end is reached in one direction, the same process occurs starting from the other node of the seed edge.
If the polyline you want to extract is, for example, a hard breakline, you find one edge along that line to use as a seed, and set the Type property of the TinEdgeTypeFilter to ‘esriTinHardEdge’.
Line junctures exist when three or more edges with the filter property meet at a node. They are where lines meet or intersect. ExtractPolyline stops at junctures; it never returns lines that pass through them.
pSeed
- A reference to a com.esri.arcgis.geodatabase.ITinEdge (in)pFilter
- A reference to a com.esri.arcgis.geodatabase.ITinFilter (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.ITinPolygon extractPolygon(ITinElement pSeed, ITinFilter pFilter, boolean bStopAtEnforcedEdge) throws IOException, AutomationException
Returns a TinPolygon that references the polygon defined by the input seed and filter.
The seed is a TIN triangle that falls within the desired polygon or a TIN edge that falls on its boundary. An edge seed can only extract a single part polygon without holes.
The filter defines the criteria used to extract the polygon. Starting from a triangle based seed outward, all triangles that can pass through the filter are considered part of the polygon (the inside). If an edge is given as a seed, connected edges that pass through the filter are used to define the polygon boundary.
The filter argument can be NULL ('Nothing' in VB) if the seed is a triangle. A filter is required if the seed is an edge.
Use no filter with the bStopAtEnforcedEdge argument set to TRUE to extract polygons whose definition is that they are enclosed by breaklines. Be careful, no filter with bStopAtEnforcedEdge set to FALSE is guaranteed to return all triangles in the TIN. Also, while an area may look closed it may not actually be. This can return many more triangles than expected.
pSeed
- A reference to a com.esri.arcgis.geodatabase.ITinElement (in)pFilter
- A reference to a com.esri.arcgis.geodatabase.ITinFilter (in)bStopAtEnforcedEdge
- The bStopAtEnforcedEdge (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.IEnumTinTriangle getTriangleSeeds(ITinDynamicFilter pFilter, boolean bStopAtEnforcedEdge) throws IOException, AutomationException
pFilter
- A reference to a com.esri.arcgis.geodatabase.ITinDynamicFilter (in)bStopAtEnforcedEdge
- The bStopAtEnforcedEdge (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.void convertToPolygons(IFeatureClass pFeatureClass, ITinDynamicFilter pFilter, boolean bStopAtEnforcedEdge, Object pFieldName) throws IOException, AutomationException
Converts a TIN to a polygon based feature class. Contiguous clusters of triangles that fall into the same class, as defined by the passed filter, define the polygons.
FeatureClass must be a 2D polygon feature class. This is the target for the output polygons.
The filter needs to implement ITinDynamicFilter. Examples of these are TinValueFilter and TinTriangleFilter. Through use of these filters you can classify triangles based on a variety of attributes including, but not limited to, tag value, slope, and aspect. Contiguous clusters of triangles belonging to the same class are grouped into polygons and written to the feature class. If the ActiveBound for either of these filters is set to esriTinUniqueValue it means contiguous triangles with identical values will be extracted as polygons - for all unique values (with the exception of zero if ITinValueFilter2.ZeroTagValueExcluded is set to TRUE).
If the StopAtEnforcedEdges Boolean is set to TRUE then adjacent clusters of triangles belonging to the same class, but separated by enforced edges (breaklines), will be output as separate polygons.
Polygon class codes are written to a field that is added to the feature class. It is named ‘Code’ by default but you can use the optional FieldName argument to give it a different name.
Do not have WorkspaceEdit turned on as this member needs to add a field to the output feature class, which is a schema edit operation that WorkspaceEdit does not permit.
pFeatureClass
- A reference to a com.esri.arcgis.geodatabase.IFeatureClass (in)pFilter
- A reference to a com.esri.arcgis.geodatabase.ITinDynamicFilter (in)bStopAtEnforcedEdge
- The bStopAtEnforcedEdge (in)pFieldName
- A Variant (in, optional, pass null if not required)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.IPolygon getDataArea() throws IOException, AutomationException
Returns the data area of the TIN as a ZAware polygon. The data area is defined as the boundary between those triangles that are marked as 'inside' and those marked as 'outside'. It is the same thing as the interpolation zone.
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.int getUniqueTagValueCount(int type) throws IOException, AutomationException
type
- A com.esri.arcgis.geodatabase.esriTinElementType constant (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.ILongArray getUniqueTagValues(int type) throws IOException, AutomationException
Returns an array of integers containing all the tag values used for the given element type - node, edge, or triangle.
The array can potentially be as large as the number of elements. It's a good idea to check how many unique values there are using UniqueTagValueCount before executing this function.
The returned tag values will be sorted in ascending order if the TIN has been created by, or saved/copied by the 8.1 version of this software or later. The tag values might otherwise not be sorted.
The arrays will be set to Null ('Nothing' in VB) if the TIN has no tags related to the specified element type.
type
- A com.esri.arcgis.geodatabase.esriTinElementType constant (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.int generateUniqueTagValue(int type) throws IOException, AutomationException
Returns an integer that is not already used as a tag value by the specified element type - node, triangle or edge. This can be useful in assigning unique identifiers to features that are added to the triangulation.
type
- A com.esri.arcgis.geodatabase.esriTinElementType constant (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |