|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectcom.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 problems
public 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 problems| Method Detail |
|---|
public static String getClsid()
public boolean equals(Object o)
equals in class Objectpublic 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 ITinElementIOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public ITin getTheTin()
throws IOException,
AutomationException
getTheTin in interface ITinElementIOException - 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 ITinElementgetIndex in interface ITinFeatureSeedIOException - 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 ITinElementgetTagValue in interface ITinFeatureSeedIOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public void setEmpty()
throws IOException,
AutomationException
setEmpty in interface ITinElementIOException - 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 ITinElementpTin - 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 ITinElementIOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public ITinNode getNode(int index)
throws IOException,
AutomationException
getNode in interface ITinTriangleindex - 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 ITinTriangleindex - 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 ITinTriangleIOException - 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 ITinTriangleIOException - 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 ITinTriangleIOException - 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 ITinTriangleIOException - 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 ITinTrianglepNormal - 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 ITinTriangleIOException - 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 ITinTriangleIOException - 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 ITinTriangleIOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public double getAspectRadians()
throws IOException,
AutomationException
getAspectRadians in interface ITinTriangleIOException - 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 ITinTriangleIOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public double getIntensity()
throws IOException,
AutomationException
getIntensity in interface ITinTriangleIOException - 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 ITinTrianglepPi - 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 ITinTrianglepRing - 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 ITinTrianglepCentroid - 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 ITinTrianglepCenter - 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 ITinTrianglezLowerBound - 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 ITinTrianglepTi - 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 ITinTrianglepTi - 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 ITinFeatureSeedIOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public void setUseTagValue(boolean pbUseTagValue)
throws IOException,
AutomationException
setUseTagValue in interface ITinFeatureSeedpbUseTagValue - 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 ISupportErrorInforiid - 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 | ||||||||