|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object com.esri.arcgis.geodatabase.TinEdge
public class TinEdge
The ESRI TinEdge component.
The TinEdge object is one of the three basic elements of a TIN: nodes, edges, and triangles. Edges are comprised of two nodes, a FromNode and a ToNode. Edges are oriented in clockwise order and are used to form triangles.
TinEdges may be hard, soft, or regular. Hard and soft edges are enforced in the triangulation. When a TIN is used as a surface model, these usually represent breaklines. Regular edges are simply a consequence of triangulation and dont' have special meaning. The esriTinEdgeType enumeration describes edge type.
Edges have both dual and single representations in a TIN. A given edge has an index, a FromNode and a ToNode, a LeftTriangle and a RightTriangle. If you use ITinEdge.GetNeighbor it returns the corresponding edge in the adjacent triangle. That edge has a different index and its from nodes, to nodes, left and right triangles are opposite of the original edge. In this sense there are two edges between each triangle; the dual representation. On the other hand, a number of properties and functions treat both edges logically as one. Edge type and tag value are shared. These properties will always be the same for both edges. A change in property of one edge is automatically reflected in the other. Selection functionality (see ITinSelection ) works the same way. Selection of one edge automatically results in the selection of its neighbor.
Constructor Summary | |
---|---|
TinEdge()
Constructs a TinEdge using ArcGIS Engine. |
|
TinEdge(Object obj)
Deprecated. As of ArcGIS 9.2, replaced by normal Java casts. TinEdge theTinEdge = (TinEdge) obj; |
Method Summary | |
---|---|
boolean |
equals(Object o)
Compare this object with another |
double |
getAzimuthDegrees()
The azimuthal direction of the specified edge beginning at the FromNode in degrees. |
double |
getAzimuthRadians()
The azimuthal direction of the specified edge beginning at the FromNode in radians. |
static String |
getClsid()
getClsid. |
ITinNode |
getFromNode()
The originating node of the specified edge. |
int |
getIndex()
The element's index number. |
ITinTriangle |
getLeftTriangle()
The triangle on the left (opposite) side of the specified edge. |
double |
getLength()
The projected length of the specified edge. |
double |
getLength3D()
The length of the specified edge measured on the TIN surface. |
ITinEdge |
getNeighbor()
Returns the corresponding edge of the triangle opposite to the specified edge. |
ITinEdge |
getNextCCW()
Returns the edge terminating at the FromNode of the specified edge. |
ITinEdge |
getNextCW()
Returns the edge beginning at the ToNode of the specified edge. |
ITinEdge |
getNextInTriangle()
Returns the next triangle sharing the FromNode of the specified edge in a clockwise direction. |
ITinEdge |
getPreviousInTriangle()
Returns the next triangle sharing the FromNode of the specified edge in a counter-clockwise direction. |
ITinTriangle |
getRightTriangle()
The triangle on the right side of the specified edge. |
int |
getTagValue()
The tag value of the specified element. |
ITin |
getTheTin()
The TIN object referenced by the element. |
ITinNode |
getToNode()
The terminating node of the specified edge. |
int |
getType()
The type of the specified edge. |
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 |
queryAsLine(ILine pLine)
Sets the specified edge equal to a line. |
void |
queryAsWKSPointZs(_WKSPointZ[] pFrom,
_WKSPointZ[] pTo)
Sets the specified edge equal to its nodes as points with z values. |
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 TinEdge() throws IOException, UnknownHostException
IOException
- if there are interop problems
UnknownHostException
- if there are interop problemspublic TinEdge(Object obj) throws IOException
TinEdge theTinEdge = (TinEdge) obj;
obj
to TinEdge
.
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 int getType() throws IOException, AutomationException
The type of an edge indicates whether or not it's an enforced breakline edge. If it's enforced the type will be equal to either esriTinHardEdge or esriTinSoftEdge. If it's not a breakline edge the type will equal esriTinRegularEdge.
getType
in interface ITinEdge
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public ITinNode getFromNode() throws IOException, AutomationException
The FromNode of an edge is the first node of an edge. It is equivalent to the ToNode of the previous edge.
Each triangle in a TIN is comprised of three edges. The edges are oriented clockwise.
getFromNode
in interface ITinEdge
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public ITinNode getToNode() throws IOException, AutomationException
The ToNode of an edge is the second node of an edge. It is equivalent to the FromNode of the next edge.
Each triangle in a TIN is comprised of three edges. The edges are oriented clockwise.
getToNode
in interface ITinEdge
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public ITinTriangle getLeftTriangle() throws IOException, AutomationException
Edges are always ordered clockwise, one after the other, in the triangle to which they belong. Because of this, edges on the absolute boundary of a triangulation have no LeftTriangle. A null pointer, or 'Nothing', will be returned as the LeftTriangle for these edges.
getLeftTriangle
in interface ITinEdge
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public ITinTriangle getRightTriangle() throws IOException, AutomationException
getRightTriangle
in interface ITinEdge
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public double getLength() throws IOException, AutomationException
Length represents the 2-D distance between the from and to nodes of the edge. It takes into consideration only the X and Y coordinates.
getLength
in interface ITinEdge
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public double getLength3D() throws IOException, AutomationException
Length3D represents the 3-D distance between the from and to nodes of the edge. It takes into consideration X, Y, and Z coordinates.
getLength3D
in interface ITinEdge
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public double getAzimuthRadians() throws IOException, AutomationException
The azimuth represents the compass direction of the edge starting at the from node and heading toward the to node.
The returned value is in radians.
getAzimuthRadians
in interface ITinEdge
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public double getAzimuthDegrees() throws IOException, AutomationException
The azimuth represents the compass direction of the edge starting at the from node and heading toward the to node.
The returned value is in degrees.
getAzimuthDegrees
in interface ITinEdge
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void queryAsLine(ILine pLine) throws IOException, AutomationException
Writes the from and to nodes of the edge as points to an existing, pre-instantiated, Line object.
queryAsLine
in interface ITinEdge
pLine
- A reference to a com.esri.arcgis.geometry.ILine (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void queryAsWKSPointZs(_WKSPointZ[] pFrom, _WKSPointZ[] pTo) throws IOException, AutomationException
Writes the from and to nodes of the edge as points to existing WKSPointZ variables.
queryAsWKSPointZs
in interface ITinEdge
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)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public ITinEdge getNextInTriangle() throws IOException, AutomationException
Returns the next edge ahead in the triangle. The next edge ahead is in the clockwise direction.
getNextInTriangle
in interface ITinEdge
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public ITinEdge getPreviousInTriangle() throws IOException, AutomationException
Returns the previous edge in the triangle. The previous edge is counter-clockwise to this edge.
getPreviousInTriangle
in interface ITinEdge
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public ITinEdge getNeighbor() throws IOException, AutomationException
A triangle is comprised of three edges. They are ordered clockwise one after another. So, the RightTriangle of an edge is the triangle the edge belongs to. An edge's neighboring edge is the edge of the LeftTriangle that shares the same nodes (although from and to are reversed).
GetNeighbor will return Nothing (a null pointer) when the edge is on the absolute boundary of the triangulation.
getNeighbor
in interface ITinEdge
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public ITinEdge getNextCW() throws IOException, AutomationException
Returns the next edge, in a neighboring triangle, that is clockwise to this edge relative to its from node. Consider the from node the center hub of a bicycle wheel and edges incident to it spokes. GetNextCW returns the next spoke (edge) clockwise.
This member is useful when you need to circle around nodes.
If the from node of an edge is one of the TIN's super nodes, GetNextCW will return 'Nothing' (a null pointer) when there is no next edge due to the fact the absolute boundary has been reached.
getNextCW
in interface ITinEdge
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public ITinEdge getNextCCW() throws IOException, AutomationException
Returns the next edge, in a neighboring triangle, that is counter-clockwise to this edge relative to its from node. Consider the from node the center hub of a bicycle wheel and edges incident to it spokes. GetNextCCW returns the next spoke (edge) counter-clockwise.
This member is useful when you need to circle around nodes.
If the from node of an edge is one of the TIN's super nodes, GetNextCCW will return 'Nothing' (a null pointer) when there is no next edge due to the fact the absolute boundary has been reached.
getNextCCW
in interface ITinEdge
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 |