com.esri.arcgis.geodatabase
Class TinPolygon

java.lang.Object
  extended by com.esri.arcgis.geodatabase.TinPolygon
All Implemented Interfaces:
ITinPolygon, com.esri.arcgis.interop.RemoteObjRef, ISupportErrorInfo, Serializable

public class TinPolygon
extends Object
implements com.esri.arcgis.interop.RemoteObjRef, ITinPolygon, ISupportErrorInfo

The Esri TinPolygon component.

Description

A TinPolygon is an areal feature imbedded in a triangulation. It is defined by a set of contiguous triangles, or a ring of edges, that share like properties. These properties are set using one of the TinElementFilters. Triangles or edges that have properties compatible with the filter are considered part of the set. TinPolygon objects are created via ITinAdvanced.ExtractPolygon.

Different types of filters can be used to define a TIN polygon. Some come provided by 3D Analyst. Others can be custom made. Stock filters that support TIN polygon definition include TinValueFilter, TinTriangleFilter, and TinEdgeTypeFilter.

In addition to a filter, a TIN polygon needs a location which is specified using a seed triangle or edge. The seed and filter are used together to dynamically discover a polygon. When the software extracts a polygon it starts with the seed and uses the TIN's topology to search outward. Any triangles or edges neighboring the seed and pass through the filter are added to the set. Their neighbors are examined in turn. This continues iteratively until no more elements are found.

Enforced edges (i.e. hard and soft breakline edges) can be used as barriers, or constraints, to the outward search when the seed provided is a triangle.

A TinPolygon defined using a triangle seed may comprise just one solid filled area or be more complex with interior islands. In either case, it can have only one exterior boundary.

A TinPolygon defined using an edge seed can have no islands. It can have only one exterior boundary.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

See Also:
Serialized Form

Constructor Summary
TinPolygon(Object obj)
          Construct a TinPolygon using a reference to such an object returned from ArcGIS Engine or Server.
 
Method Summary
 IEnumTinEdge asEdges()
          The specified polygon as triangle edges.
 IEnumTinNode asNodes()
          The specified polygon as TIN nodes.
 IPolygon asPolygon(ITinFilter pNodeFilter, boolean bGetZ)
          The specified polygon as polygon geometry.
 IEnumTinTriangle asTriangles()
          The specified polygon as its constituent triangles.
 boolean equals(Object o)
          Compare this object with another
 int hashCode()
          the hashcode for this object
 void interfaceSupportsErrorInfo(GUID riid)
          interfaceSupportsErrorInfo
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface com.esri.arcgis.interop.RemoteObjRef
getJintegraDispatch, release
 

Constructor Detail

TinPolygon

public TinPolygon(Object obj)
           throws IOException
Construct a TinPolygon using a reference to such an object returned from ArcGIS Engine or Server. This is semantically equivalent to casting obj to TinPolygon.
Casting to this class from the return value of a method will not work, as this class represents an abstract class in ArcObjects.
*
TinPolygon o = (TinPolygon)obj; // will not work

TinPolygon o = new TinPolygon(obj); // Use this constructor instead
* @param obj an object returned from ArcGIS Engine or Server

Throws:
IOException - if there are interop problems TinPolygon theTinPolygon = (TinPolygon) obj;
Method Detail

equals

public boolean equals(Object o)
Compare this object with another

Overrides:
equals in class Object

hashCode

public int hashCode()
the hashcode for this object

Overrides:
hashCode in class Object

asNodes

public IEnumTinNode asNodes()
                     throws IOException,
                            AutomationException
The specified polygon as TIN nodes.

Description

Returns a node enumerator representing the nodes around the polygon exterior.

The resulting enumerator will return nodes in ordered sequence, ring by ring. The end of each ring is indicated by repeating the first node of the ring.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
asNodes in interface ITinPolygon
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.

asEdges

public IEnumTinEdge asEdges()
                     throws IOException,
                            AutomationException
The specified polygon as triangle edges.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
asEdges in interface ITinPolygon
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.

asTriangles

public IEnumTinTriangle asTriangles()
                             throws IOException,
                                    AutomationException
The specified polygon as its constituent triangles.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
asTriangles in interface ITinPolygon
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.

asPolygon

public IPolygon asPolygon(ITinFilter pNodeFilter,
                          boolean bGetZ)
                   throws IOException,
                          AutomationException
The specified polygon as polygon geometry.

Description

The returned polygon has not been topologically simplified for the sake of performance. For example, you may just want to draw the polygon. Drawing doesn't require simplification. If you'll be performing topological operations on the polygon you will need to call ITopologicalOperator.Simplify.

The filter argument can be NULL ('Nothing' in VB) if no filtering is desired.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
asPolygon in interface ITinPolygon
Parameters:
pNodeFilter - A reference to a com.esri.arcgis.geodatabase.ITinFilter (in)
bGetZ - The bGetZ (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.

interfaceSupportsErrorInfo

public void interfaceSupportsErrorInfo(GUID riid)
                                throws IOException,
                                       AutomationException
interfaceSupportsErrorInfo

Description

Indicates whether the interface supports IErrorInfo.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
interfaceSupportsErrorInfo in interface ISupportErrorInfo
Parameters:
riid - A Structure: com.esri.arcgis.support.ms.stdole.GUID (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.