|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object com.esri.arcgis.geodatabase.TinTriangle
public class TinTriangle
The Esri TinTriangle component.
The TinTriangle object is one of the three basic elements of a TIN: nodes, edges, and triangles. Triangles are comprised of three nodes and edges. Nodes and edges are ordered in a clockwise direction.
The data area of a TIN is controlled through triangle masking. Every triangle has a mask bit that indicates whether the triangle is inside the data area (or interpolation zone). It's an editable property. ITinElement, and its inherited interface ITinTriangle, provide read-only access to this property via IsInsideDataArea. ITinAdvanced2.IsTriangleInsideDataArea can also be used for read access and is preferential in many cases because it hands the TIN object a triangle index number to use and does not incur the overhead of dealing with TinTriangle objects. ITinEdit.SetTriangleInsideDataArea is used to write the property. Also, ITinEdit.AddFromFeatureClass and ITinEdit's AddShape/AddShapeZ have the ability to add polygon geometry as clip or erase surface feature types. Triangles falling outside a clip feature are masked as outside. Erase features mask triangles that are inside them.
Constructor Summary | |
---|---|
TinTriangle()
Constructs a TinTriangle using ArcGIS Engine. |
|
TinTriangle(Object obj)
Deprecated. As of ArcGIS 9.2, replaced by normal Java casts. TinTriangle theTinTriangle = (TinTriangle) obj; |
Method Summary | |
---|---|
boolean |
equals(Object o)
Compare this object with another |
double |
getArea()
The projected area of the specified TIN triangle. |
double |
getArea3D()
The area of the specified triangle as measured on the TIN surface. |
double |
getAspectDegrees()
The aspect of the specified triangle in degrees. |
double |
getAspectRadians()
The aspect of the specified triangle in radians. |
static String |
getClsid()
getClsid. |
ITinEdge |
getEdge(int index)
The triangle edge specified by the index. |
int |
getIndex()
The element's index number. |
double |
getIntensity()
The brightness value of the specified triangle. |
ITinNode |
getNode(int index)
The triangle node specified by the index. |
double |
getPerimeter()
The projected perimeter of the specified TIN triangle. |
double |
getPerimeter3D()
The perimeter of the specified triangle as measured on the TIN surface. |
double |
getSlopeDegrees()
The slope of the specified triangle in degrees. |
double |
getSlopePercent()
The slope of the specified triangle in percent. |
double |
getSlopeRadians()
The slope of the specified triangle in radians. |
int |
getTagValue()
The tag value of the specified element. |
ITin |
getTheTin()
The TIN object referenced by the element. |
int |
hashCode()
the hashcode for this object |
void |
init(ITin pTin,
int index)
Initializes a new TIN element. |
void |
interfaceSupportsErrorInfo(GUID riid)
interfaceSupportsErrorInfo |
boolean |
isEmpty()
Indicates if the specified element is uninitialized. |
boolean |
isInsideDataArea()
Indicates if the specified element is within the interpolation zone of the TIN. |
boolean |
isUseTagValue()
Indicates whether tag value (if true) or edge type (if false) should be used to define the feature, in case the seed is an edge. |
void |
queryAdjacentTriangleIndices(int[] pTi,
int[] pTj,
int[] pTk)
An array of index numbers belonging to triangles adjacent to the specified triangle. |
void |
queryAdjacentTriangles(ITinTriangle pTi,
ITinTriangle pTj,
ITinTriangle pTk)
The array of triangles adjacent to the specified triangle. |
void |
queryAsRing(IRing pRing)
Sets the specified triangle as a ring. |
void |
queryCentroid(IPoint pCentroid)
The centroid of the specified triangle as determined by averaging the coordinates of its vertices. |
void |
queryCircumCircle(IPoint pCenter,
double[] pRadius)
The circle circumscribing the specified triangle about its vertices. |
void |
queryElevationBand(double zLowerBound,
double zUpperBound,
int[] pCount,
_WKSPointZ[] pRegion)
Deprecated. This method uses C style arrays which are not supported in the ArcGIS API for Java. It is replaced by GeoDatabaseHelper.queryElevationBand(com.esri.arcgis.geodatabase.ITinTriangle, double, double, int[], com.esri.arcgis.system._WKSPointZ[][]) . |
void |
queryNormal(IVector3D pNormal)
The vector normal to the specified triangle. |
void |
queryVertices(_WKSPointZ[] pPi,
_WKSPointZ[] pPj,
_WKSPointZ[] pPk)
The vertices of the specified triangle as point features. |
void |
setEmpty()
Uninitializes the element. |
void |
setUseTagValue(boolean pbUseTagValue)
Indicates whether tag value (if true) or edge type (if false) should be used to define the feature, in case the seed is an edge. |
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 |
---|
public TinTriangle() throws IOException, UnknownHostException
IOException
- if there are interop problems
UnknownHostException
- if there are interop problemspublic TinTriangle(Object obj) throws IOException
TinTriangle theTinTriangle = (TinTriangle) obj;
obj
to TinTriangle
.
obj
- an object returned from ArcGIS Engine or Server
IOException
- if there are interop problemsMethod Detail |
---|
public static String getClsid()
public boolean equals(Object o)
equals
in class Object
public int hashCode()
hashCode
in class Object
public boolean isEmpty() throws IOException, AutomationException
Indicates whether or not the element has been set with values.
When an element is instantiated using 'New' IsEmpty will return True.
When using QueryNext on one of the element enumerators, the end of the set is indicated by IsEmpty returning True.
isEmpty
in interface ITinElement
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public ITin getTheTin() throws IOException, AutomationException
getTheTin
in interface ITinElement
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public int getIndex() throws IOException, AutomationException
Returns the index number of the element. TINs are composed of 1..n node, edge, and triangle elements. The base index number for TIN elements is 1.
getIndex
in interface ITinElement
getIndex
in interface ITinFeatureSeed
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public int getTagValue() throws IOException, AutomationException
A tag value is a 32-bit long integer. Presently, only nodes and triangles support tags. Support for edge tags is anticipated in a future release. Tag values can be set to whatever the user wishes and their interpretation is left up to the user. Examples include accuracy codes on nodes or land cover codes on triangles.
A TIN layer has support to symbolize itself through the use of tag values.
The Identify tool used in ArcMap and ArcScene will report tag values.
The default tag value is 0.
getTagValue
in interface ITinElement
getTagValue
in interface ITinFeatureSeed
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void setEmpty() throws IOException, AutomationException
setEmpty
in interface ITinElement
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void init(ITin pTin, int index) throws IOException, AutomationException
After instantiating a new TIN element you can initialize its properties with Init. The input arguments include a TIN object and an index number. The base index number for nodes, edges, and triangles is 1.
init
in interface ITinElement
pTin
- A reference to a com.esri.arcgis.geodatabase.ITin (in)index
- The index (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public boolean isInsideDataArea() throws IOException, AutomationException
isInsideDataArea
in interface ITinElement
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public ITinNode getNode(int index) throws IOException, AutomationException
getNode
in interface ITinTriangle
index
- The index (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public ITinEdge getEdge(int index) throws IOException, AutomationException
getEdge
in interface ITinTriangle
index
- The index (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public double getArea() throws IOException, AutomationException
The returned value is the 2-D area of the triangle.
getArea
in interface ITinTriangle
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public double getPerimeter() throws IOException, AutomationException
The returned value represents the 2-D distance around the triangle boundary.
getPerimeter
in interface ITinTriangle
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public double getArea3D() throws IOException, AutomationException
The returned value is the surface area of the triangle. It takes into consideration the 3-D nature of the triangle. The surface area will always equal to or larger than the 2-D, or projected, area. The larger the difference between 2-D and 3-D areas, the steeper the triangle.
getArea3D
in interface ITinTriangle
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public double getPerimeter3D() throws IOException, AutomationException
The returned value represents the 3-D distance around the triangle boundary.
getPerimeter3D
in interface ITinTriangle
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void queryNormal(IVector3D pNormal) throws IOException, AutomationException
You must pass an existing, pre-instantiated, IVector3D object. The X, Y, and Z component values of the vector orthogonal to the plane defined by the triangle will be written to the passed vector.
The magnitude of the vector is set relative to the size of the triangle.
queryNormal
in interface ITinTriangle
pNormal
- A reference to a com.esri.arcgis.geometry.IVector3D (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public double getSlopeRadians() throws IOException, AutomationException
getSlopeRadians
in interface ITinTriangle
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public double getSlopeDegrees() throws IOException, AutomationException
Slope is the steepness of the triangle. The value of SlopeDegrees will be >= 0 and < 90. A slope of 100% is equivalent to 45 degrees (1 unit change in Z for 1 unit change in XY).
getSlopeDegrees
in interface ITinTriangle
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public double getSlopePercent() throws IOException, AutomationException
Slope is the steepness of the triangle. The value of SlopePercent will be >= 0 and < infinity. A slope of 100% is equivalent to 45 degrees (1 unit change in Z for 1 unit change in XY).
getSlopePercent
in interface ITinTriangle
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public double getAspectRadians() throws IOException, AutomationException
getAspectRadians
in interface ITinTriangle
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public double getAspectDegrees() throws IOException, AutomationException
The aspect is the compass direction of the steepest downhill slope of the triangle. A value of 0 degrees is due north, 90 degrees due east, 180 degrees due south, 270 degrees due west, etc.
getAspectDegrees
in interface ITinTriangle
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public double getIntensity() throws IOException, AutomationException
getIntensity
in interface ITinTriangle
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void queryVertices(_WKSPointZ[] pPi, _WKSPointZ[] pPj, _WKSPointZ[] pPk) throws IOException, AutomationException
Writes the X, Y, and Z coordinates of a triangle's nodes to WKSPointZ variables.
queryVertices
in interface ITinTriangle
pPi
- A Structure: com.esri.arcgis.system._WKSPointZ (A com.esri.arcgis.system._WKSPointZ COM typedef) (out: use single element array)pPj
- A Structure: com.esri.arcgis.system._WKSPointZ (A com.esri.arcgis.system._WKSPointZ COM typedef) (out: use single element array)pPk
- A Structure: com.esri.arcgis.system._WKSPointZ (A com.esri.arcgis.system._WKSPointZ COM typedef) (out: use single element array)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void queryAsRing(IRing pRing) throws IOException, AutomationException
Writes the triangle's X, Y, and Z node coordinates as points to an existing, pre-instantiated, Ring object.
queryAsRing
in interface ITinTriangle
pRing
- A reference to a com.esri.arcgis.geometry.IRing (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void queryCentroid(IPoint pCentroid) throws IOException, AutomationException
Writes the triangle centroid, as defined by averaging its node coordinates, to an existing Point object. You must instantiate the Point before calling QueryCentroid. For example,
Dim pPoint as IPoint
Set pPoint = New Point
queryCentroid
in interface ITinTriangle
pCentroid
- A reference to a com.esri.arcgis.geometry.IPoint (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void queryCircumCircle(IPoint pCenter, double[] pRadius) throws IOException, AutomationException
A triangle's circumcircle is the circle whose boundary passes through all three of the triangle's nodes.
The center of the circle is written to an existing, pre-instantiated, Point object. The radius is written to a double variable.
queryCircumCircle
in interface ITinTriangle
pCenter
- A reference to a com.esri.arcgis.geometry.IPoint (in)pRadius
- The pRadius (out: use single element array)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void queryElevationBand(double zLowerBound, double zUpperBound, int[] pCount, _WKSPointZ[] pRegion) throws IOException, AutomationException
GeoDatabaseHelper.queryElevationBand(com.esri.arcgis.geodatabase.ITinTriangle, double, double, int[], com.esri.arcgis.system._WKSPointZ[][])
.
Returns a 3-D polygonal definition for the area of the triangle that falls within the specified ZMin and ZMax. The returned count indicates how many vertices define the area. The vertices are written to the passed WKSPointZ array.
queryElevationBand
in interface ITinTriangle
zLowerBound
- The zLowerBound (in)zUpperBound
- The zUpperBound (in)pCount
- The pCount (out: use single element array)pRegion
- A Structure: com.esri.arcgis.system._WKSPointZ (A com.esri.arcgis.system._WKSPointZ COM typedef) (out: use single element array)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void queryAdjacentTriangles(ITinTriangle pTi, ITinTriangle pTj, ITinTriangle pTk) throws IOException, AutomationException
Provides the three triangles on the opposite sides of the edges of this triangle. The three passed triangle objects must have already been instantiated. They will be written to.
Triangles that border the TIN's extreme perimeter will not have adjacent triangles on all sides. IsEmpty will return True for the passed triangles that are undefined because of this condition.
queryAdjacentTriangles
in interface ITinTriangle
pTi
- A reference to a com.esri.arcgis.geodatabase.ITinTriangle (in)pTj
- A reference to a com.esri.arcgis.geodatabase.ITinTriangle (in)pTk
- A reference to a com.esri.arcgis.geodatabase.ITinTriangle (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void queryAdjacentTriangleIndices(int[] pTi, int[] pTj, int[] pTk) throws IOException, AutomationException
Provides the index values of the three triangles on the opposite sides of the edges of this triangle. Triangles that border the TIN's extreme perimeter will not have adjacent triangles on all sides. The indices returned for these will be 0.
queryAdjacentTriangleIndices
in interface ITinTriangle
pTi
- The pTi (out: use single element array)pTj
- The pTj (out: use single element array)pTk
- The pTk (out: use single element array)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public boolean isUseTagValue() throws IOException, AutomationException
isUseTagValue
in interface ITinFeatureSeed
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void setUseTagValue(boolean pbUseTagValue) throws IOException, AutomationException
setUseTagValue
in interface ITinFeatureSeed
pbUseTagValue
- The pbUseTagValue (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void interfaceSupportsErrorInfo(GUID riid) throws IOException, AutomationException
Indicates whether the interface supports IErrorInfo.
interfaceSupportsErrorInfo
in interface ISupportErrorInfo
riid
- A Structure: com.esri.arcgis.support.ms.stdole.GUID (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |