com.esri.arcgis.geodatabase
Interface ITinAdvanced

All Superinterfaces:
ITin, Serializable
All Known Subinterfaces:
ITinAdvanced2
All Known Implementing Classes:
Tin

public interface ITinAdvanced
extends ITin, Serializable

Provides access to members that control advanced TIN functions.

Superseded By

ITinAdvanced2

Product Availability

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

Supported Platforms

Windows, Solaris, Linux


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 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 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

getTrackCancel

ITrackCancel getTrackCancel()
                            throws IOException,
                                   AutomationException
The process cancellation on TIN methods.

Description

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

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Returns:
A reference to a com.esri.arcgis.system.ITrackCancel
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setTrackCancelByRef

void setTrackCancelByRef(ITrackCancel ppTrackCancle)
                         throws IOException,
                                AutomationException
The process cancellation on TIN methods.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

isProcessCancelled

boolean isProcessCancelled()
                           throws IOException,
                                  AutomationException
Indicates if a process has been cancelled.

Description

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.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

setProcessCancelled

void setProcessCancelled(boolean pbCancelled)
                         throws IOException,
                                AutomationException
Indicates if a process has been cancelled.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

getSurface

ISurface getSurface()
                    throws IOException,
                           AutomationException
The ISurface interface (convenient tool for chaining in VB).

Description

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.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Returns:
A reference to a com.esri.arcgis.geodatabase.ISurface
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setEmpty

void setEmpty()
              throws IOException,
                     AutomationException
Uninitializes the TIN.

Description

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.

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.

init

void init(String name)
          throws IOException,
                 AutomationException
Opens the specified TIN.

Description

Initializes the object by pointing to a TIN on disk at the specified location.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

setFlag

void setFlag(int pFlag)
             throws IOException,
                    AutomationException
The user-defined flag for the TIN.

Description

An integer (long) value that can be assigned to the TIN. Its meaning/purpose is user defined.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

getFlag

int getFlag()
            throws IOException,
                   AutomationException
The user-defined flag for the TIN.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

getFullExtent

IEnvelope getFullExtent()
                        throws IOException,
                               AutomationException
The full 2D-extent of the TIN including NODATA nodes.

Description

Returns the miminum bounding rectangle (2D) that surrounds all user supplied data in the TIN, including data outside the interpolation zone.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Returns:
A reference to a com.esri.arcgis.geometry.IEnvelope
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getSuperNodeExtent

IEnvelope getSuperNodeExtent()
                             throws IOException,
                                    AutomationException
The full extent of the TIN based on the super nodes.

Description

When a TIN is initially constructed (with ITinEdit.InitNew) it contains four software generated points that reside far outside the declared data extent. These are connected into two triangles and this initial triangulation is what the user adds data to. The four software generated points are referred to as SuperNodes. The SuperNodeExtent is the minimum bounding rectangle that surrounds these points.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Returns:
A reference to a com.esri.arcgis.geometry.IEnvelope
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isVoidZ

boolean isVoidZ(double value)
                throws IOException,
                       AutomationException
Indicates if the passed value is equal to the TIN's void value.

Description

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.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

makeNodeEnumerator

IEnumTinNode makeNodeEnumerator(IEnvelope pAreaOfInterest,
                                int criteria,
                                ITinFilter pFilter)
                                throws IOException,
                                       AutomationException
Makes a node enumerator based on the extent of the envelope.

Description

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.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Parameters:
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)
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.

makeEdgeEnumerator

IEnumTinEdge makeEdgeEnumerator(IEnvelope pAreaOfInterest,
                                int criteria,
                                ITinFilter pFilter)
                                throws IOException,
                                       AutomationException
Makes an edge enumerator based on the extent of the envelope.

Description

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.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Parameters:
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)
Returns:
A reference to a com.esri.arcgis.geodatabase.IEnumTinEdge
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

makeTriangleEnumerator

IEnumTinTriangle makeTriangleEnumerator(IEnvelope pAreaOfInterest,
                                        int criteria,
                                        ITinFilter pFilter)
                                        throws IOException,
                                               AutomationException
Makes a triangle enumerator based on the extent of the envelope.

Description

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.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Parameters:
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)
Returns:
A reference to a com.esri.arcgis.geodatabase.IEnumTinTriangle
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getNodeCount

int getNodeCount()
                 throws IOException,
                        AutomationException
The total number of nodes in the TIN.

Description

The total number of nodes in the TIN includes those both inside and outside the interpolation zone.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

getNode

ITinNode getNode(int index)
                 throws IOException,
                        AutomationException
The node referenced by the specified index.

Description

Returns the node referenced by the index. The index base value for nodes is 1.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

queryNode

void queryNode(int index,
               ITinNode pNode)
               throws IOException,
                      AutomationException
Queries the node equal to that specified by the index.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Parameters:
index - The index (in)
pNode - 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.

queryNodeAsPoint

void queryNodeAsPoint(int index,
                      IPoint pPoint)
                      throws IOException,
                             AutomationException
Queries the point equal to that specified by the index.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

queryNodeAsWKSPointZ

void queryNodeAsWKSPointZ(int index,
                          _WKSPointZ[] pPoint)
                          throws IOException,
                                 AutomationException
Queries the point equal to that specified by the index.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Parameters:
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)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getNodeZ

double getNodeZ(int index)
                throws IOException,
                       AutomationException
The z value of the node referenced by the index.

Description

Returns the Z value of the node referenced by the index. The base index for nodes is 1.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

getNodeTagValue

int getNodeTagValue(int index)
                    throws IOException,
                           AutomationException
The tag value of the node referenced by the index.

Description

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.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

getEdgeCount

int getEdgeCount()
                 throws IOException,
                        AutomationException
The total number of edges in the TIN.

Description

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.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

getEdge

ITinEdge getEdge(int index)
                 throws IOException,
                        AutomationException
The edge referenced by the index.

Description

Returns the edge referenced by the index. The index base value for edges is 1.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

queryEdge

void queryEdge(int index,
               ITinEdge pEdge)
               throws IOException,
                      AutomationException
The edge equal to that referenced by the index.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Parameters:
index - The index (in)
pEdge - 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.

queryEdgeAsLine

void queryEdgeAsLine(int index,
                     ILine pLine)
                     throws IOException,
                            AutomationException
The line equal to the edge referenced by the index.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Parameters:
index - The index (in)
pLine - A reference to a com.esri.arcgis.geometry.ILine (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

queryEdgeAsWKSPointZs

void queryEdgeAsWKSPointZs(int index,
                           _WKSPointZ[] pFrom,
                           _WKSPointZ[] pTo)
                           throws IOException,
                                  AutomationException
The points equal to the end points of the edge referenced by the index.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Parameters:
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)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getEdgeTagValue

int getEdgeTagValue(int index)
                    throws IOException,
                           AutomationException
The value of the edge referenced by the index.

Description

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.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

getEdgeType

void getEdgeType(int edgeIndex,
                 int[] pType)
                 throws IOException,
                        AutomationException
Gets the specified edge's type.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Parameters:
edgeIndex - The edgeIndex (in)
pType - A com.esri.arcgis.geodatabase.esriTinEdgeType constant (out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getTriangleCount

int getTriangleCount()
                     throws IOException,
                            AutomationException
The total number of triangles in the TIN.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

getTriangle

ITinTriangle getTriangle(int index)
                         throws IOException,
                                AutomationException
The triangle referenced by the index.

Description

Returns the triangle referenced by the index. The index base for triangles is 1.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

queryTriangle

void queryTriangle(int index,
                   ITinTriangle pTriangle)
                   throws IOException,
                          AutomationException
The triangle equal to that referenced by the index.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Parameters:
index - The index (in)
pTriangle - 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.

queryTriangleAsRing

void queryTriangleAsRing(int index,
                         IRing pRing)
                         throws IOException,
                                AutomationException
The ring equal to the triangle referenced by the index.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Parameters:
index - The index (in)
pRing - A reference to a com.esri.arcgis.geometry.IRing (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

queryTriangleAsWKSPointZs

void queryTriangleAsWKSPointZs(int index,
                               _WKSPointZ[] pPi,
                               _WKSPointZ[] pPj,
                               _WKSPointZ[] pPk)
                               throws IOException,
                                      AutomationException
Queries the points equal to the nodes of the triangle referenced by the index.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Parameters:
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)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getTriangleTagValue

int getTriangleTagValue(int index)
                        throws IOException,
                               AutomationException
The value of the triangle referenced by the index.

Description

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.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

queryNearestNode

void queryNearestNode(IPoint pPoint,
                      ITinNode pNode,
                      double[] pDistance)
                      throws IOException,
                             AutomationException
Finds and returns the nearest node to the query point.

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)
pNode - A reference to a com.esri.arcgis.geodatabase.ITinNode (in)
pDistance - The pDistance (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

queryNearestEdge

void queryNearestEdge(IPoint pPoint,
                      ITinEdge pEdge,
                      double[] pDistance)
                      throws IOException,
                             AutomationException
Finds and returns the nearest edge to the query point.

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)
pEdge - A reference to a com.esri.arcgis.geodatabase.ITinEdge (in)
pDistance - The pDistance (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

findTriangle

ITinTriangle findTriangle(IPoint pPoint)
                          throws IOException,
                                 AutomationException
The triangle at the specified location.

Description

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.

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)
Returns:
A reference to a com.esri.arcgis.geodatabase.ITinTriangle
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

findNaturalNeighbors

ITinNodeArray findNaturalNeighbors(IPoint pPoint)
                                   throws IOException,
                                          AutomationException
Returns the immediate surrounding nodes to the query point.

Description

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.

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)
Returns:
A reference to a com.esri.arcgis.geodatabase.ITinNodeArray
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

findTriangleNeighborhood

ITinTriangleArray findTriangleNeighborhood(IPoint pPoint)
                                           throws IOException,
                                                  AutomationException
Returns all triangles whose circumscribed circle contains the query point.

Description

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.

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)
Returns:
A reference to a com.esri.arcgis.geodatabase.ITinTriangleArray
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

extractPolyline

ITinPolyline extractPolyline(ITinEdge pSeed,
                             ITinFilter pFilter)
                             throws IOException,
                                    AutomationException
Returns a polyline definition based on triangle edges that meet the same filter criteria.

Description

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.

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.ITinEdge (in)
pFilter - A reference to a com.esri.arcgis.geodatabase.ITinFilter (in)
Returns:
A reference to a com.esri.arcgis.geodatabase.ITinPolyline
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

extractPolygon

ITinPolygon extractPolygon(ITinElement pSeed,
                           ITinFilter pFilter,
                           boolean bStopAtEnforcedEdge)
                           throws IOException,
                                  AutomationException
Returns a polygon definition based on all contiguous triangles having the same filter criteria.

Description

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.

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.ITinElement (in)
pFilter - A reference to a com.esri.arcgis.geodatabase.ITinFilter (in)
bStopAtEnforcedEdge - The bStopAtEnforcedEdge (in)
Returns:
A reference to a com.esri.arcgis.geodatabase.ITinPolygon
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getTriangleSeeds

IEnumTinTriangle getTriangleSeeds(ITinDynamicFilter pFilter,
                                  boolean bStopAtEnforcedEdge)
                                  throws IOException,
                                         AutomationException
Returns one triangle representing each polygon defined by the filter criteria of the TIN.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

convertToPolygons

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

Description

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.

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)
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.

getDataArea

IPolygon getDataArea()
                     throws IOException,
                            AutomationException
Returns a polygon representing the data area of the TIN.

Description

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.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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.

getUniqueTagValueCount

int getUniqueTagValueCount(int type)
                           throws IOException,
                                  AutomationException
The number of unique tag values for the specified element type.

Product Availability

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

Parameters:
type - A com.esri.arcgis.geodatabase.esriTinElementType constant (in)
Returns:
The pCount
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getUniqueTagValues

ILongArray getUniqueTagValues(int type)
                              throws IOException,
                                     AutomationException
Returns unique tag values for the specified element type.

Description

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.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Parameters:
type - A com.esri.arcgis.geodatabase.esriTinElementType constant (in)
Returns:
A reference to a com.esri.arcgis.system.ILongArray
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

generateUniqueTagValue

int generateUniqueTagValue(int type)
                           throws IOException,
                                  AutomationException
Returns a new, previously unused tag value for the element.

Description

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.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Parameters:
type - A com.esri.arcgis.geodatabase.esriTinElementType constant (in)
Returns:
The pValue
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.