com.esri.arcgis.geodatabase
Interface ITinFeatureEdit

All Superinterfaces:
Serializable
All Known Implementing Classes:
Tin

public interface ITinFeatureEdit
extends Serializable

Provides access to methods that control TIN 'features'.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.


Method Summary
 void addPointZ(IPoint pPoint, int tagValue, ITinNode pSeed)
          Adds a 3D point to the TIN.
 void addPolygon(IPolygon pShape, int type, int tagValue, int edgeTagValue, int nodeTagValue, ITinTriangle pSeed, Object pZ)
          Adds polygon.
 void addPolygonZ(IPolygon pShape, int type, int tagValue, int edgeTagValue, int nodeTagValue, ITinTriangle pSeed)
          Adds Z-aware polygon.
 void addPolyline(IPolyline pShape, int type, int tagValue, int nodeTagValue, ITinEdge pSeed, Object pZ)
          Adds polyline.
 void addPolylineZ(IPolyline pShape, int type, int tagValue, int nodeTagValue, ITinEdge pSeed)
          Adds Z-aware polyline.
 void addPolyObjects(IFeatureClass pFeatureClass, IQueryFilter pFilter, IField pHeightField, IField pValueField, boolean bSetEdgeTagValue, boolean bSetNodeTagValue, int type)
          Adds polygons/polylines.
 boolean canAdd(IGeometry pShape, double spacing)
          Checks if the specified shape can be added without creating spatial conflict.
 boolean canAddVertex(IGeometry pPoly, IPoint pNewPoint, boolean bClose, double spacing)
          Checks if a new polygon/polyline vertex can be added without creating spatial conflict.
 boolean canDeleteVertex(ITinNode pNode, ITinFeatureSeed pSeed, double spacing)
          Checks if a polygon/polyline vertex can be deleted without creating spatial conflict.
 boolean canMove(ITinFeatureSeed pSeed, double dx, double dy, double spacing)
          Checks if the embedded object can be relocated to a new location without creating spatial conflict.
 boolean canMoveVertex(ITinNode pNode, ITinFeatureSeed pSeed, _WKSPoint pNewLocation, double spacing)
          Checks if a polygon/polyline vertex can be moved to a new location without creating spatial conflict.
 boolean canReplace(IGeometry pShape, ITinFeatureSeed pSeed, double spacing)
          Checks if the embedded object can be replaced by the new shape without creating spatial conflict.
 boolean canRotate(ITinFeatureSeed pSeed, IPoint pOrigin, double angle, double spacing)
          Checks if the embedded polyline/polygon can be rotated without creating spatial conflict.
 boolean canScalePolygon(ITinTriangle pSeed, IPoint pOrigin, double scale, double spacing)
          Checks if the embedded polygon can be expanded or shrinked without creating spatial conflict.
 IEnumTinNode clusterPoints(ITinNode pSeed, double spacing, ITinFilter pFilter)
          Finds a cluster of nodes, each node in the group has at least one neighbor, to which the distance is smaller, or equal to, the specified value.
 void convertToPolygons(IFeatureClass pFeatureClass, ITinDynamicFilter pFilter, boolean bStopAtEnforcedEdge, boolean bSkipDensifiedNodes, Object pFieldName)
          Converts qualified triangles to a polygon feature class.
 void convertToPolylines(IFeatureClass pFeatureClass, ITinDynamicFilter pFilter, boolean bSkipDensifiedNodes, Object pFieldName)
          Converts qualified edges to a polyline feature class.
 void delete(ITinFeatureSeed pSeed)
          Deletes the embedded point/polygon/polyline represented by the specified seed.
 void deleteVertex(ITinNode pNode, ITinFeatureSeed pSeed)
          Deletes the specified vertex from an embedded polygon/polyline.
 IPolygon extractPolygon(ITinFeatureSeed pSeed, boolean bGetZ, boolean bSkipDensifiedNodes)
          Extracts polygon.
 IPolyline extractPolyline(ITinFeatureSeed pSeed, boolean bGetZ, boolean bSkipDensifiedNodes)
          Extracts polyline.
 int getElementsIgnoredInConflictTest()
          The TIN nodes or edges to be ignored in conflict detection (used by processes such as CanAdd and CanMove).
 boolean isInMemoryEditMode()
          Indicates if the specified TIN is in in-memory-edit mode.
 boolean isNodeShared(ITinNode pNode)
          Returns TRUE if specified node is shared by more than two enforced edges.
 boolean isStopAtEnforcedEdge()
          Indicates if a polygon related process (e.g., ExtractPolygon) should stop when reach an enforced edge.
 boolean isStopAtJuncture()
          Indicates if a polyline related process (e.g., ExtractPolyline) should stop at juncture.
 void merge(ITinEdge pCommonEdge, int newValue, boolean bKeepCommonNodes)
          Merges two embedded polygons sharing the specified common edge.
 void move(ITinFeatureSeed pSeed, double dx, double dy, boolean bGetNewZ)
          Moves the embedded point/polygon/polyline represented by the specified seed.
 void moveVertex(ITinNode pNode, ITinFeatureSeed pSeed, _WKSPoint pNewLocation, boolean bGetNewZ)
          Moves the specified vertex of an embedded polygon/polyline to a new location.
 void queryAdjacentVertices(ITinFeatureSeed pSeedEdge, ITinNode pBehind, ITinNode pFront)
          Queries the first two non-densified nodes of a line segment represented by the specified edge).
 void refreshTagValues()
          Refresh cached TIN tag values.
 void removeIslands(ITinTriangle pSeed, double area, boolean bKeepNodes, boolean bZeroTag)
          Removes islands whose area is smaller than the specified value, from the embedded polygon represented by the specified seed.
 void rotate(ITinFeatureSeed pSeed, IPoint pOrigin, double angle, boolean bGetNewZ)
          Rotates the embedded polygon/polyline represented by the specified seed.
 void scalePolygon(ITinTriangle pSeed, IPoint pOrigin, double scale, boolean bGetNewZ)
          Expands or shrinks the embedded polygon represented by the specified seed.
 void setElementsIgnoredInConflictTest(int pElementsExcluded)
          The TIN nodes or edges to be ignored in conflict detection (used by processes such as CanAdd and CanMove).
 void setStopAtEnforcedEdge(boolean pbStop)
          Indicates if a polygon related process (e.g., ExtractPolygon) should stop when reach an enforced edge.
 void setStopAtJuncture(boolean pbStop)
          Indicates if a polyline related process (e.g., ExtractPolyline) should stop at juncture.
 boolean startInMemoryEditing()
          Initiates memory edit mode.
 

Method Detail

startInMemoryEditing

boolean startInMemoryEditing()
                             throws IOException,
                                    AutomationException
Initiates memory edit mode. Use ITinEdit::SaveAs to persist. Don't use Save.

Description

In-memory editing allows you to edit a TIN, whether or not it's read-only, with the assurance that edits can't be saved back to the source dataset on disk.

In-memory editing is useful for two things. First, to edit read-only TINs that ITinEdit.StartEditing does not permit. Secondly, to make temporary edits for analysis that will be discarded when the analysis is complete.

While in memory edit mode ITinEdit.SaveAs can be used to save edits to a new dataset whereas ITinEdit.Save will fail. If ITinEdit.SaveAs is called the TIN is automatically switched over into regular edit mode.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Returns:
The pbIsSuccessful
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isInMemoryEditMode

boolean isInMemoryEditMode()
                           throws IOException,
                                  AutomationException
Indicates if the specified TIN is in in-memory-edit mode.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Returns:
The pbIsInEditMode
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

extractPolyline

IPolyline extractPolyline(ITinFeatureSeed pSeed,
                          boolean bGetZ,
                          boolean bSkipDensifiedNodes)
                          throws IOException,
                                 AutomationException
Extracts polyline. The seed must be a special edge, or an edge with tagValue.

Description

Takes a polyline embedded in the triangulation and returns a polyline geometry.

The seed must be a TIN edge and either be enforced or have an assigned tag value.

ITinFeatureSeed.UseTagValue is used to control whether edge tag values are used to define the polyline. The default value is TRUE. If set to FALSE, only the edge type (i.e. hard, soft) is considered.

If the option to GetZ is TRUE the returned polyline will be ZAware with vertex Z values set from the source nodes.

If node source information is available, the setting of SkipDensifiedNodes to TRUE will result in the exclusion of densification nodes as vertices in the resulting polyline. This will result in the loss of the first and/or last polyline segment when first or last vertex of the polyline is a densification node. If the application requires these densification nodes to remain, and only the others to be excluded, consider use of ITinAdvanced.ExtractPolyline. The resulting TinPolyline object provides control on a per-node basis.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Parameters:
pSeed - A reference to a com.esri.arcgis.geodatabase.ITinFeatureSeed (in)
bGetZ - The bGetZ (in)
bSkipDensifiedNodes - The bSkipDensifiedNodes (in)
Returns:
A reference to a com.esri.arcgis.geometry.IPolyline
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

extractPolygon

IPolygon extractPolygon(ITinFeatureSeed pSeed,
                        boolean bGetZ,
                        boolean bSkipDensifiedNodes)
                        throws IOException,
                               AutomationException
Extracts polygon.

Description

Takes a polygon embedded in the triangulation and returns it as polygon geometry.

The Seed is either a TIN triangle that is inside the polygon or a TIN edge that is on the polygon boundary. When triangle seeds are used, their tag values define the polygons. By default, edge seeds also rely on tags. Only non-zero tags are supported. Edge type can be used as a substitute for tags when using edge based seeds. To do this set ITinFeatureSeed.UseTagValue on the edge to FALSE.

If the option to GetZ is TRUE the returned polygon will be ZAware with vertex Z values set from the source nodes.

If node source information is available, the setting of SkipDensifiedNodes to TRUE will result in the exclusion of densification nodes as vertices in the resulting polygon.

The TIN polygon must be bounded by enforced edges. An error will result if this condition is not met.

The returned polygon will not be topologically simple. If you need to persist the polygon or use it for topological operations call ITopologicalOperator.Simplify first.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Parameters:
pSeed - A reference to a com.esri.arcgis.geodatabase.ITinFeatureSeed (in)
bGetZ - The bGetZ (in)
bSkipDensifiedNodes - The bSkipDensifiedNodes (in)
Returns:
A reference to a com.esri.arcgis.geometry.IPolygon
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

convertToPolylines

void convertToPolylines(IFeatureClass pFeatureClass,
                        ITinDynamicFilter pFilter,
                        boolean bSkipDensifiedNodes,
                        Object pFieldName)
                        throws IOException,
                               AutomationException
Converts qualified edges to a polyline feature class.

Description

Extracts embedded TIN polylines and writes them out to the specified feature class.

The specified feature class must exist and be polyline based.

If the feature class is Z enabled the polylines written to it will be 3D, otherwise they will be 2D.

The specified filter must be edge based (e.g. TinEdgeTypeFilter) and implement ITinDynamicFilter. You can use ITinEdgeTypeFilter2 with its RegularEdgesExcluded property set to TRUE to extract hard and soft breaklines as polyline features.

The option to skip densification nodes is for excluding points added by the triangulator to breaklines in order to make them Delaunay conforming. This option only works on TINs that have been created/edited in memory without having been saved to disk.

A field will be added to the feature class and is used to store a numeric code for the output features. In the case of edge type, a value of 1 is used for soft breaklines and 2 for hard. The added field will be called 'Code' unless you provide a different name via the optional field name argument.

Do not have WorkspaceEdit turned on as this member needs to add fields to the output feature class, a schema edit operation that WorkspaceEdit does not permit.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Parameters:
pFeatureClass - A reference to a com.esri.arcgis.geodatabase.IFeatureClass (in)
pFilter - A reference to a com.esri.arcgis.geodatabase.ITinDynamicFilter (in)
bSkipDensifiedNodes - The bSkipDensifiedNodes (in)
pFieldName - A Variant (in, optional, pass null if not required)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

convertToPolygons

void convertToPolygons(IFeatureClass pFeatureClass,
                       ITinDynamicFilter pFilter,
                       boolean bStopAtEnforcedEdge,
                       boolean bSkipDensifiedNodes,
                       Object pFieldName)
                       throws IOException,
                              AutomationException
Converts qualified triangles to a polygon feature class.

Description

Extracts embedded TIN polygons and writes them out to the specified feature class.

The specified feature class must exist and be polygon based.

If the feature class is Z enabled the polygons written to it will be 3D (the boundary vertices will have Z's), otherwise they will be 2D.

The specified filter must support triangles and implement ITinDynamicFilter. For example, you can use a TinTriangleFilter to extract areas of like slope or aspect or a TinValueFilter to extract areas based on triangle tag values. 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).

The option to stop at enforced edges means that breakline edges act as polygon barriers/boundaries. For example, a set of contiguous triangles tagged with the code to represent 'building footprint' will be output as two polygons if a breakline separates them. This way, two adjacent buildings can remain distinct from one another.

The option to skip densification nodes is for excluding points added by the triangulator to breaklines in order to make them Delaunay conforming. This option only works on TINs that have been created/edited in memory without having been saved to disk.

A field will be added to the feature class and is used to store a numeric code for the output features. In the case of edge type, a value of 1 is used for soft breaklines and 2 for hard. The added field will be called 'Value' or 'Code' (depending on filter) unless you provide a different name via the optional field name argument.

Do not have WorkspaceEdit turned on as this member needs to add fields to the output feature class, a schema edit operation that WorkspaceEdit does not permit.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Parameters:
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)
bSkipDensifiedNodes - The bSkipDensifiedNodes (in)
pFieldName - A Variant (in, optional, pass null if not required)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setStopAtJuncture

void setStopAtJuncture(boolean pbStop)
                       throws IOException,
                              AutomationException
Indicates if a polyline related process (e.g., ExtractPolyline) should stop at juncture.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Parameters:
pbStop - The pbStop (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isStopAtJuncture

boolean isStopAtJuncture()
                         throws IOException,
                                AutomationException
Indicates if a polyline related process (e.g., ExtractPolyline) should stop at juncture.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Returns:
The pbStop
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setStopAtEnforcedEdge

void setStopAtEnforcedEdge(boolean pbStop)
                           throws IOException,
                                  AutomationException
Indicates if a polygon related process (e.g., ExtractPolygon) should stop when reach an enforced edge.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Parameters:
pbStop - The pbStop (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isStopAtEnforcedEdge

boolean isStopAtEnforcedEdge()
                             throws IOException,
                                    AutomationException
Indicates if a polygon related process (e.g., ExtractPolygon) should stop when reach an enforced edge.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Returns:
The pbStop
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setElementsIgnoredInConflictTest

void setElementsIgnoredInConflictTest(int pElementsExcluded)
                                      throws IOException,
                                             AutomationException
The TIN nodes or edges to be ignored in conflict detection (used by processes such as CanAdd and CanMove).

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Parameters:
pElementsExcluded - The pElementsExcluded (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getElementsIgnoredInConflictTest

int getElementsIgnoredInConflictTest()
                                     throws IOException,
                                            AutomationException
The TIN nodes or edges to be ignored in conflict detection (used by processes such as CanAdd and CanMove).

Description

Indicates what nodes, if any, to ignore when evaluating potential conflicts. The evaluators are the ITinFeatureEdit.Can* methods such as CanMove and CanRotate.

The value is based on the esriTinIgnoredElementType enumeration. The options are:

esriTinNodesWithNonZeroTag
esriTinNodesWithZeroTag
esriTinNothing

The parameter is defined as a Long so in the future if other options are added they can be combined using the '+' operator. For example:


esriTinNodesWithZeroTag + esriTinEdgesWithNonZeroTag

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Returns:
The pElementsExcluded
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

canAdd

boolean canAdd(IGeometry pShape,
               double spacing)
               throws IOException,
                      AutomationException
Checks if the specified shape can be added without creating spatial conflict.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Parameters:
pShape - A reference to a com.esri.arcgis.geometry.IGeometry (in)
spacing - The spacing (in)
Returns:
The pbCanAdd
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

canReplace

boolean canReplace(IGeometry pShape,
                   ITinFeatureSeed pSeed,
                   double spacing)
                   throws IOException,
                          AutomationException
Checks if the embedded object can be replaced by the new shape without creating spatial conflict.

Description

Returns TRUE if the embedded TIN feature represented by the passed seed can be replaced with the proposed shape without creating a spatial conflict between it and another TIN feature.

The shape can be a point, polyline, or polygon.

The seed is a TIN node, edge, or triangle that is used to reference an existing TIN feature.

The spacing is used as a search distance around the proposed shape. If another TIN feature is within this distance a conflict exists.

See also ITinFeatureEdit::ElementsIgnoredInConflictTest.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Parameters:
pShape - A reference to a com.esri.arcgis.geometry.IGeometry (in)
pSeed - A reference to a com.esri.arcgis.geodatabase.ITinFeatureSeed (in)
spacing - The spacing (in)
Returns:
The pbCanReplace
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

canMove

boolean canMove(ITinFeatureSeed pSeed,
                double dx,
                double dy,
                double spacing)
                throws IOException,
                       AutomationException
Checks if the embedded object can be relocated to a new location without creating spatial conflict.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Parameters:
pSeed - A reference to a com.esri.arcgis.geodatabase.ITinFeatureSeed (in)
dx - The dx (in)
dy - The dy (in)
spacing - The spacing (in)
Returns:
The pbCanMove
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

canRotate

boolean canRotate(ITinFeatureSeed pSeed,
                  IPoint pOrigin,
                  double angle,
                  double spacing)
                  throws IOException,
                         AutomationException
Checks if the embedded polyline/polygon can be rotated without creating spatial conflict. pOrigin can be NULL or Nothing.

Description

Determines if the TIN feature can be rotated without creating a conflict.

The TIN feature is defined by the passed seed . If the seed is a triangle the feature is a polygon whose area is represented by the set of contiguous triangles with the same tag value. If the seed is an edge the feature is a polyline comprised of all unambiguously connected edges with the same tag value or edge type. The ITinFeatureSeed.UseTagValue property is used to determine whether the edge seed is defined by its tag or edge type.

The TIN feature is rotated relative to the specified origin point.

The rotation angle is given in degrees. Positive values rotate clockwise, negative values counter-clockwise.

A conflict results if any TIN features are within the specified spacing of the proposed geometry. This includes distance to feature edges as well as nodes.

The ITinFeatureEdit.ElementsIgnoredInConflictTest setting determines what, if any, TIN elements are excluded from the conflict test.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Parameters:
pSeed - A reference to a com.esri.arcgis.geodatabase.ITinFeatureSeed (in)
pOrigin - A reference to a com.esri.arcgis.geometry.IPoint (in)
angle - The angle (in)
spacing - The spacing (in)
Returns:
The pbCanRotate
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

canScalePolygon

boolean canScalePolygon(ITinTriangle pSeed,
                        IPoint pOrigin,
                        double scale,
                        double spacing)
                        throws IOException,
                               AutomationException
Checks if the embedded polygon can be expanded or shrinked without creating spatial conflict. pOrigin can be NULL or Nothing.

Description

Determines if the TIN polygon can be scaled without creating a conflict.

The TIN polygon is defined by the passed seed which is a triangle inside the polygon. The polygon's area is represented by the set of contiguous triangles with the same tag value as the seed.

The TIN polygon is scaled in reference to the specified origin point. Regardless of the location of the origin, the geometry resulting from the transformation is the same except for a positional offset. The origin is the only point in the transformation guaranteed to remain in the same location after the transformation is complete. A Null pointer ('Nothing' in VB) can be passed in which case the polygon's centroid will be used.

The scale is the ratio of old size to new - used for both x and y dimensions. Values greater than 1 increase the polygon's size. Values less than 1 decrease it.

A conflict results if any TIN features are within the specified spacing of the proposed geometry. This includes distance to feature edges as well as nodes.

The ITinFeatureEdit.ElementsIgnoredInConflictTest setting determines what, if any, TIN elements are excluded from the conflict test.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Parameters:
pSeed - A reference to a com.esri.arcgis.geodatabase.ITinTriangle (in)
pOrigin - A reference to a com.esri.arcgis.geometry.IPoint (in)
scale - The scale (in)
spacing - The spacing (in)
Returns:
The pbCanScale
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

canAddVertex

boolean canAddVertex(IGeometry pPoly,
                     IPoint pNewPoint,
                     boolean bClose,
                     double spacing)
                     throws IOException,
                            AutomationException
Checks if a new polygon/polyline vertex can be added without creating spatial conflict.

Description

This member is used primarily for conflict detection when using the TIN as a data structure to record point, line, and polygon features.

Returns TRUE if the passed point can be added as a vertex to the passed polygon/polyline without creating a conflict. The geometry isn't actually added to the TIN. It's treated as 'proposed' geometry. Presumably, code would use this member to ensure there is no conflict before proceeding.

The input poly object can be a polygon or polyline. It may have zero or more vertices already present.

The passed point is treated as if it were to be added at the end of the geometry's point collection.

A conflict results if any TIN features are within the specified spacing of the proposed geometry. This includes segment and edge distance checking as well as vertex and node checking.

The ITinFeatureEdit.ElementsIgnoredInConflictTest setting determines what, if any, TIN elements are excluded from the conflict test.

The Close argument is ignored if the input poly object is a polyline.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Parameters:
pPoly - A reference to a com.esri.arcgis.geometry.IGeometry (in)
pNewPoint - A reference to a com.esri.arcgis.geometry.IPoint (in)
bClose - The bClose (in)
spacing - The spacing (in)
Returns:
The pbCanAdd
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

canDeleteVertex

boolean canDeleteVertex(ITinNode pNode,
                        ITinFeatureSeed pSeed,
                        double spacing)
                        throws IOException,
                               AutomationException
Checks if a polygon/polyline vertex can be deleted without creating spatial conflict.

Description

Determines if the vertex (node) of a TIN feature can be removed without creating a conflict.

The TIN feature is defined by the passed seed. If the seed is a triangle the feature is a polygon whose area is represented by the set of contiguous triangles with the same tag value. If the seed is an edge the feature is a polyline comprised of all unambiguously connected edges with the same tag value or edge type. The ITinFeatureSeed.UseTagValue property is used to determine whether the edge seed is defined by its tag or edge type.

The vertex (node) to be deleted is specified as an input argument. It must be a vertex belonging to the TIN feature defined by the input seed.

A conflict results if any TIN features are within the specified spacing of the proposed geometry. This includes distance to feature edges as well as nodes.

A conflict also results of the feature would self-intersect as a result of the removal.

Nodes with a source type of esriTinDensified are excluded from the geometry of the TIN feature that's under consideration. See ITinNode2.Source or ITinAdvanced2.GetNodeSource.

The ITinFeatureEdit.ElementsIgnoredInConflictTest setting determines what, if any, TIN elements are excluded from the conflict test.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Parameters:
pNode - A reference to a com.esri.arcgis.geodatabase.ITinNode (in)
pSeed - A reference to a com.esri.arcgis.geodatabase.ITinFeatureSeed (in)
spacing - The spacing (in)
Returns:
The pbCanDelete
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

canMoveVertex

boolean canMoveVertex(ITinNode pNode,
                      ITinFeatureSeed pSeed,
                      _WKSPoint pNewLocation,
                      double spacing)
                      throws IOException,
                             AutomationException
Checks if a polygon/polyline vertex can be moved to a new location without creating spatial conflict.

Description

Determines if the vertex (node) of a TIN feature can be moved without creating a conflict.

The TIN feature is defined by the passed seed. If the seed is a triangle the feature is a polygon whose area is represented by the set of contiguous triangles with the same tag value. If the seed is an edge the feature is a polyline comprised of all unambiguously connected edges with the same tag value or edge type. The ITinFeatureSeed.UseTagValue property is used to determine whether the edge seed is defined by its tag or edge type.

The vertex (node) to be moved is specified as an input argument. It must be a vertex belonging to the TIN feature defined by the input seed.

A conflict results if any TIN features are within the specified spacing of the proposed geometry. This includes distance to feature edges as well as nodes.

A conflict also results of the feature would self-intersect as a result of the move.

Nodes with a source type of esriTinDensified are excluded from the geometry of the TIN feature that's under consideration. See ITinNode2.Source or ITinAdvanced2.GetNodeSource.

The ITinFeatureEdit.ElementsIgnoredInConflictTest setting determines what, if any, TIN elements are excluded from the conflict test.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Parameters:
pNode - A reference to a com.esri.arcgis.geodatabase.ITinNode (in)
pSeed - A reference to a com.esri.arcgis.geodatabase.ITinFeatureSeed (in)
pNewLocation - A Structure: com.esri.arcgis.system._WKSPoint (A com.esri.arcgis.system._WKSPoint COM typedef) (in)
spacing - The spacing (in)
Returns:
The pbCanMove
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

addPointZ

void addPointZ(IPoint pPoint,
               int tagValue,
               ITinNode pSeed)
               throws IOException,
                      AutomationException
Adds a 3D point to the TIN. pSeed can be NULL or Nothing.

Description

The point is the 3D point to be added.

The TagValue is a signed long integer that will be assigned to the resulting node. A zero can be used to ignore node tag value assignment.

The Seed is a TinNode pointer. If you're interested in obtaining a reference to the added node then have the seed point to a TinNode object. The object will then be populated with the appropriate properties. If you're not interested in obtaining a seed then pass a NULL pointer ('Nothing' in VisualBasic).

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Parameters:
pPoint - A reference to a com.esri.arcgis.geometry.IPoint (in)
tagValue - The tagValue (in)
pSeed - A reference to a com.esri.arcgis.geodatabase.ITinNode (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

addPolygonZ

void addPolygonZ(IPolygon pShape,
                 int type,
                 int tagValue,
                 int edgeTagValue,
                 int nodeTagValue,
                 ITinTriangle pSeed)
                 throws IOException,
                        AutomationException
Adds Z-aware polygon. pSeed can be NULL or Nothing.

Description

The Shape, a 3D polygon object, represents the input geometry to be added.

The Type indicates how the resulting edges of the embedded polygon will be coded. Supported edge types are esriTinHardEdge, esriTinRegularEdge, and esriTinSoftEdge.

The TagValue is a signed, non-zero, long integer that will be assigned to the triangles inside the embedded polygon.

The edgeTagValue is a signed long integer that will be assigned to the embedded polygon edges. A zero can be used to ignore edge tag value assignment.

The NodeTagValue is a signed long integer that will be assigned to the embedded polygon nodes. A zero can be used to ignore node tag value assignment.

The Seed is a TinTriangle pointer. If you're interested in obtaining a seed that can be used as a handle to the added polygon then have the seed point to a TinTriangle object. The object will then be populated with the appropriate properties. If you're not interested in obtaining a seed then pass a NULL pointer ('Nothing' in VisualBasic).

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Parameters:
pShape - A reference to a com.esri.arcgis.geometry.IPolygon (in)
type - A com.esri.arcgis.geodatabase.esriTinEdgeType constant (in)
tagValue - The tagValue (in)
edgeTagValue - The edgeTagValue (in)
nodeTagValue - The nodeTagValue (in)
pSeed - A reference to a com.esri.arcgis.geodatabase.ITinTriangle (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

addPolygon

void addPolygon(IPolygon pShape,
                int type,
                int tagValue,
                int edgeTagValue,
                int nodeTagValue,
                ITinTriangle pSeed,
                Object pZ)
                throws IOException,
                       AutomationException
Adds polygon. pSeed can be NULL or Nothing.

Description

The Shape, a 2D polygon object, represents the input geometry to be added.

The Type indicates how the resulting edges of the embedded polygon will be coded. Supported edge types are esriTinHardEdge, esriTinRegularEdge, and esriTinSoftEdge.

The TagValue is a signed, non-zero, long integer that will be assigned to the triangles inside the embedded polygon.

The edgeTagValue is a signed long integer that will be assigned to the embedded polygon edges. A zero can be used to ignore edge tag value assignment.

The NodeTagValue is a signed long integer that will be assigned to the embedded polygon nodes. A zero can be used to ignore node tag value assignment.

The Seed is a TinTriangle pointer. If you're interested in obtaining a seed that can be used as a handle to the added polygon then have the seed point to a TinTriangle object. The object will then be populated with the appropriate properties. If you're not interested in obtaining a seed then pass a NULL pointer ('Nothing' in VisualBasic).

The optional Z can be used to define a constant height to be used for the added polygon. If unspecified, heights will be interpolated off the existing surface.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Parameters:
pShape - A reference to a com.esri.arcgis.geometry.IPolygon (in)
type - A com.esri.arcgis.geodatabase.esriTinEdgeType constant (in)
tagValue - The tagValue (in)
edgeTagValue - The edgeTagValue (in)
nodeTagValue - The nodeTagValue (in)
pSeed - A reference to a com.esri.arcgis.geodatabase.ITinTriangle (in)
pZ - A Variant (in, optional, pass null if not required)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

addPolylineZ

void addPolylineZ(IPolyline pShape,
                  int type,
                  int tagValue,
                  int nodeTagValue,
                  ITinEdge pSeed)
                  throws IOException,
                         AutomationException
Adds Z-aware polyline. pSeed can be NULL or Nothing.

Description

The Shape, a 3D polyline object, represents the input geometry to be added.

The Type indicates how the resulting edges of the embedded polyline will be coded. Supported edge types are esriTinHardEdge, esriTinRegularEdge, and esriTinSoftEdge.

The TagValue is a signed, non-zero, long integer that will be assigned to the embedded polyline edges.

The NodeTagValue is a signed long integer that will be assigned to the embedded polyline nodes. A zero can be used to ignore node tag value assignment.

The Seed is TinEdge pointer. If you're interested in obtaining a seed that can be used as a handle to the added polyline then have the seed point to a TinEdge object. The object will then be populated with the appropriate properties. If you're not interested in obtaining a seed then pass a NULL pointer ('Nothing' in VisualBasic).

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Parameters:
pShape - A reference to a com.esri.arcgis.geometry.IPolyline (in)
type - A com.esri.arcgis.geodatabase.esriTinEdgeType constant (in)
tagValue - The tagValue (in)
nodeTagValue - The nodeTagValue (in)
pSeed - A reference to a com.esri.arcgis.geodatabase.ITinEdge (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

addPolyline

void addPolyline(IPolyline pShape,
                 int type,
                 int tagValue,
                 int nodeTagValue,
                 ITinEdge pSeed,
                 Object pZ)
                 throws IOException,
                        AutomationException
Adds polyline. pSeed can be NULL or Nothing.

Description

The Shape, a 2D polyline object, represents the input geometry to be added.

The Type indicates how the resulting edges of the embedded polyline will be coded. Supported edge types are esriTinHardEdge, esriTinRegularEdge, and esriTinSoftEdge.

The TagValue is a signed, non-zero, long integer that will be assigned to the embedded polyline edges.

The NodeTagValue is a signed long integer that will be assigned to the embedded polyline nodes. A zero can be used to ignore node tag value assignment.

The Seed is TinEdge pointer. If you're interested in obtaining a seed that can be used as a handle to the added polyline then have the seed point to a TinEdge object. The object will then be populated with the appropriate properties. If you're not interested in obtaining a seed then pass a NULL pointer ('Nothing' in VisualBasic).

The optional Z can be used to define a constant height to be used for the added polyline. If unspecified, heights will be interpolated off the existing surface.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Parameters:
pShape - A reference to a com.esri.arcgis.geometry.IPolyline (in)
type - A com.esri.arcgis.geodatabase.esriTinEdgeType constant (in)
tagValue - The tagValue (in)
nodeTagValue - The nodeTagValue (in)
pSeed - A reference to a com.esri.arcgis.geodatabase.ITinEdge (in)
pZ - A Variant (in, optional, pass null if not required)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

addPolyObjects

void addPolyObjects(IFeatureClass pFeatureClass,
                    IQueryFilter pFilter,
                    IField pHeightField,
                    IField pValueField,
                    boolean bSetEdgeTagValue,
                    boolean bSetNodeTagValue,
                    int type)
                    throws IOException,
                           AutomationException
Adds polygons/polylines.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Parameters:
pFeatureClass - A reference to a com.esri.arcgis.geodatabase.IFeatureClass (in)
pFilter - A reference to a com.esri.arcgis.geodatabase.IQueryFilter (in)
pHeightField - A reference to a com.esri.arcgis.geodatabase.IField (in)
pValueField - A reference to a com.esri.arcgis.geodatabase.IField (in)
bSetEdgeTagValue - The bSetEdgeTagValue (in)
bSetNodeTagValue - The bSetNodeTagValue (in)
type - A com.esri.arcgis.geodatabase.esriTinEdgeType constant (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

delete

void delete(ITinFeatureSeed pSeed)
            throws IOException,
                   AutomationException
Deletes the embedded point/polygon/polyline represented by the specified seed.

Description

Removes the point, polyline, or polygon feature from the TIN by deleting its vertices (nodes) from the triangulation. Only when a feature's vertices are shared with another feature are they maintained in order to preserve the definition of the other feature's geometry.

The TIN feature is defined by the passed seed . If the seed is a node the feature is a point. If the seed is a triangle the feature is a polygon whose area is represented by the set of contiguous triangles with the same tag value. If the seed is an edge the feature is a polyline comprised of all unambiguously connected edges with the same tag value or edge type. The ITinFeatureSeed.UseTagValue property is used to determine whether the edge seed is defined by its tag or edge type.

The TIN must be in edit mode. See ITinEdit.StartEditing and ITinFeatureEdit.StartInMemoryEditing

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Parameters:
pSeed - A reference to a com.esri.arcgis.geodatabase.ITinFeatureSeed (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

move

void move(ITinFeatureSeed pSeed,
          double dx,
          double dy,
          boolean bGetNewZ)
          throws IOException,
                 AutomationException
Moves the embedded point/polygon/polyline represented by the specified seed.

Description

Moves the specified TIN polyline or polygon feature.

The TIN feature is defined by the passed seed. If the seed is a triangle the feature is a polygon whose area is represented by the set of contiguous triangles with the same tag value. If the seed is an edge the feature is a polyline comprised of all unambiguously connected edges with the same tag value or edge type. The ITinFeatureSeed.UseTagValue property is used to determine whether the edge seed is defined by its tag or edge type.

The seed will be modified, if necessary, to properly reference the moved feature.

The new position of the TIN feature is defined by adding dx and dy to each vertex.

The GetNewZ argument, if set to TRUE, means the feature is removed, heights are interpolated for its new position from the surface (this may add vertices to capture surface detail), then it is added back in.

The TIN must be in edit mode. See ITinEdit.StartEditing and ITinFeatureEdit.StartInMemoryEditing.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Parameters:
pSeed - A reference to a com.esri.arcgis.geodatabase.ITinFeatureSeed (in)
dx - The dx (in)
dy - The dy (in)
bGetNewZ - The bGetNewZ (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

rotate

void rotate(ITinFeatureSeed pSeed,
            IPoint pOrigin,
            double angle,
            boolean bGetNewZ)
            throws IOException,
                   AutomationException
Rotates the embedded polygon/polyline represented by the specified seed. pOrigin can be NULL or Nothing.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Parameters:
pSeed - A reference to a com.esri.arcgis.geodatabase.ITinFeatureSeed (in)
pOrigin - A reference to a com.esri.arcgis.geometry.IPoint (in)
angle - The angle (in)
bGetNewZ - The bGetNewZ (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

scalePolygon

void scalePolygon(ITinTriangle pSeed,
                  IPoint pOrigin,
                  double scale,
                  boolean bGetNewZ)
                  throws IOException,
                         AutomationException
Expands or shrinks the embedded polygon represented by the specified seed. pOrigin can be NULL or Nothing.

Description

The TIN polygon is defined by the passed seed which is a triangle inside the polygon. The polygon's area is represented by the set of contiguous triangles with the same tag value as the seed.

The TIN polygon is scaled in reference to the specified origin point. Regardless of the location of the origin, the geometry resulting from the transformation is the same except for a positional offset. The origin is the only point in the transformation guaranteed to remain in the same location after the transformation is complete. A Null pointer ('Nothing' in VB) can be passed in which case the polygon's centroid will be used.

The scale is the ratio of old size to new - used for both x and y dimensions. Values greater than 1 increase the polygon's size. Values less than 1 decrease it.

The GetNewZ argument, if set to TRUE, means the feature is removed, heights are interpolated for its new position from the surface (this may add vertices to capture surface detail), then it is added back in.

The TIN must be in edit mode. See ITinEdit.StartEditing and ITinFeatureEdit.StartInMemoryEditing.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Parameters:
pSeed - A reference to a com.esri.arcgis.geodatabase.ITinTriangle (in)
pOrigin - A reference to a com.esri.arcgis.geometry.IPoint (in)
scale - The scale (in)
bGetNewZ - The bGetNewZ (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

removeIslands

void removeIslands(ITinTriangle pSeed,
                   double area,
                   boolean bKeepNodes,
                   boolean bZeroTag)
                   throws IOException,
                          AutomationException
Removes islands whose area is smaller than the specified value, from the embedded polygon represented by the specified seed. Remove all holes if the value is zero.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Parameters:
pSeed - A reference to a com.esri.arcgis.geodatabase.ITinTriangle (in)
area - The area (in)
bKeepNodes - The bKeepNodes (in)
bZeroTag - The bZeroTag (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

merge

void merge(ITinEdge pCommonEdge,
           int newValue,
           boolean bKeepCommonNodes)
           throws IOException,
                  AutomationException
Merges two embedded polygons sharing the specified common edge.

Description

Merges two adjacent TIN polygon features by unenforcing their shared edges and assigning one tag value to all constituent triangles.

The passed edge should separate the two polygons in question.

The new value is the tag that will be assigned to all constituent triangles of the resulting merged polygon.

When choosing to keep the common nodes the node structure of the TIN remains unchanged. The only things modified are edge enforcement and triangle tag values. Otherwise, the nodes, and edges associated with them, will be deleted.

The TIN must be in edit mode. See ITinEdit.StartEditing or ITinFeatureEdit.StartInMemoryEditing.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Parameters:
pCommonEdge - A reference to a com.esri.arcgis.geodatabase.ITinEdge (in)
newValue - The newValue (in)
bKeepCommonNodes - The bKeepCommonNodes (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

deleteVertex

void deleteVertex(ITinNode pNode,
                  ITinFeatureSeed pSeed)
                  throws IOException,
                         AutomationException
Deletes the specified vertex from an embedded polygon/polyline.

Description

Deletes the specified vertex (node) of TIN polyline or polygon feature.

The TIN feature is defined by the passed seed. If the seed is a triangle the feature is a polygon whose area is represented by the set of contiguous triangles with the same tag value. If the seed is an edge the feature is a polyline comprised of all unambiguously connected edges with the same tag value or edge type. The ITinFeatureSeed.UseTagValue property is used to determine whether the edge seed is defined by its tag or edge type.

The vertex (node) to be deleted is specified as an input argument. It must be a vertex belonging to the TIN feature defined by the input seed.

The seed will be modified, if necessary, to properly reference the edited feature.

The TIN must be in edit mode. See ITinEdit.StartEditing and ITinFeatureEdit.StartInMemoryEditing.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Parameters:
pNode - A reference to a com.esri.arcgis.geodatabase.ITinNode (in)
pSeed - A reference to a com.esri.arcgis.geodatabase.ITinFeatureSeed (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

moveVertex

void moveVertex(ITinNode pNode,
                ITinFeatureSeed pSeed,
                _WKSPoint pNewLocation,
                boolean bGetNewZ)
                throws IOException,
                       AutomationException
Moves the specified vertex of an embedded polygon/polyline to a new location.

Description

Moves the specified vertex (node) of a TIN polyline or polygon feature.

The TIN feature is defined by the passed seed. If the seed is a triangle the feature is a polygon whose area is represented by the set of contiguous triangles with the same tag value. If the seed is an edge the feature is a polyline comprised of all unambiguously connected edges with the same tag value or edge type. The ITinFeatureSeed.UseTagValue property is used to determine whether the edge seed is defined by its tag or edge type.

The vertex (node) to be deleted is specified as an input argument. It must be a vertex belonging to the TIN feature defined by the input seed.

The seed will be modified, if necessary, to properly reference the edited feature.

The TIN must be in edit mode. See ITinEdit.StartEditing and ITinFeatureEdit.StartInMemoryEditing.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Parameters:
pNode - A reference to a com.esri.arcgis.geodatabase.ITinNode (in)
pSeed - A reference to a com.esri.arcgis.geodatabase.ITinFeatureSeed (in)
pNewLocation - A Structure: com.esri.arcgis.system._WKSPoint (A com.esri.arcgis.system._WKSPoint COM typedef) (in)
bGetNewZ - The bGetNewZ (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

queryAdjacentVertices

void queryAdjacentVertices(ITinFeatureSeed pSeedEdge,
                           ITinNode pBehind,
                           ITinNode pFront)
                           throws IOException,
                                  AutomationException
Queries the first two non-densified nodes of a line segment represented by the specified edge).

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Parameters:
pSeedEdge - A reference to a com.esri.arcgis.geodatabase.ITinFeatureSeed (in)
pBehind - A reference to a com.esri.arcgis.geodatabase.ITinNode (in)
pFront - A reference to a com.esri.arcgis.geodatabase.ITinNode (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

clusterPoints

IEnumTinNode clusterPoints(ITinNode pSeed,
                           double spacing,
                           ITinFilter pFilter)
                           throws IOException,
                                  AutomationException
Finds a cluster of nodes, each node in the group has at least one neighbor, to which the distance is smaller, or equal to, the specified value.

Description

Returns a node enumerator which represents the set wherein all members have at least one neighboring node that passes through the filter (optional) and is less than, or equal to, the spacing distance away from another in the set. The search for the set starts with the seed node and expands outward.

Use of a filter is optional. A NULL pointer (or 'Nothing' in VB) can be used to skip it. When used, the filter must be a type supported by nodes. Examples include TinValueFilter and TinNodeSourceFilter.

The clustering works in an iterative fashion. First, all nodes connected by triangle edges to the seed node are evaluated. Those that are within the specified distance, and satisfy the filter (if used), are included in the set. The operation is then repeated on the nodes just added. This continues until no more nodes are found.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Parameters:
pSeed - A reference to a com.esri.arcgis.geodatabase.ITinNode (in)
spacing - The spacing (in)
pFilter - A reference to a com.esri.arcgis.geodatabase.ITinFilter (in)
Returns:
A reference to a com.esri.arcgis.geodatabase.IEnumTinNode
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isNodeShared

boolean isNodeShared(ITinNode pNode)
                     throws IOException,
                            AutomationException
Returns TRUE if specified node is shared by more than two enforced edges.

Description

Returns TRUE if three or more edges incident to the passed node are enforced as hard or soft edges.

When a node is shared it belongs to two or more linear features (enforced breaklines and polygon boundaries).

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Parameters:
pNode - A reference to a com.esri.arcgis.geodatabase.ITinNode (in)
Returns:
The pIsShared
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

refreshTagValues

void refreshTagValues()
                      throws IOException,
                             AutomationException
Refresh cached TIN tag values.

Description

For performance reasons complete tag statistics are not maintained while editing a TIN. Methods that use or report these statistics may return outdated results while the TIN is in edit mode. These include:


ITinAdvanced.GetUniqueTagValues

ITinAdvanced.UniqueTagValueCount

ITinAdvanced2.GetCountedUniqueTagValues

To ensure correct results you must either save the edited TIN to disk, which is relatively expensive and may be undesirable for other reasons, or call RefreshTagValues.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.