The ESRI TinNode component.
The TinNode 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 around triangles in a clockwise direction.
Nodes store x,y,z and optionally tag values. A tag is a long integer that has user assigned meaning.
When a TIN is first created it's populated with four supernodes connected into 2 triangles. The placement of the supernodes is far outside the declared data envelope (see ITinEdit.InitNew ). The initial triangulation formed by these nodes is used as the foundation for incrementally adding more data. Supernodes are assigned the VoidZ value. Most other nodes in a TIN are derived from input points or vertices of polylines and polygon boundaries. These are original, user input, data. Breakline enforcement may require the software to add densification, or Steiner , nodes. These are used to maintain line or polygon boundaries while simultaneously honoring Delaunay criteria.
ITinNodeInfo is used to determine a node's lineage; whether it's a supernode, an original node, or densification node. Since TINs don't store all node source information once a TIN is saved to disk some of this information is lost. Supernodes can always be differentiated from regular nodes, even after a TIN is saved, by testing their Z's against the VoidZ value.
Use the ISupportErrorInfo method InterfaceSupportsErrorInfo to determine if the object supports extended error information. If the object supports extended error info, VC++ developers should use the OLE/COM IErrorInfo interface to access the ErrorInfo object. Visual Basic developers should use the global error object Err to retrieve this extended error information.
|ISupportErrorInfo||Indicates whether a specific interface can return Automation error objects.|
|ITinElement||Provides access to members to control TIN elements.|
|ITinFeatureSeed||Provides access to control TIN elements' properties.|
|ITinNode||Provides access to members that control TIN nodes.|
|ITinNode2||Provides access to members that control TIN nodes.|