public sealed class TinEdge : TinElement, System.IDisposable
Public NotInheritable Class TinEdge Inherits TinElement Implements System.IDisposable
public sealed class TinEdge : TinElement, System.IDisposable
Public NotInheritable Class TinEdge Inherits TinElement Implements System.IDisposable
using (ArcGIS.Core.Data.Analyst3D.TinNode node = tinDataset.GetNodeByIndex(23)) { } using (ArcGIS.Core.Data.Analyst3D.TinEdge edge = tinDataset.GetEdgeByIndex(45)) { } using (ArcGIS.Core.Data.Analyst3D.TinTriangle triangle = tinDataset.GetTriangleByIndex(22)) { }
// search all edges using (ArcGIS.Core.Data.Analyst3D.TinEdgeCursor edgeCursor = tinDataset.SearchEdges(null)) { while (edgeCursor.MoveNext()) { using (ArcGIS.Core.Data.Analyst3D.TinEdge edge = edgeCursor.Current) { } } } // search within an extent ArcGIS.Core.Data.Analyst3D.TinEdgeFilter edgeFilter = new ArcGIS.Core.Data.Analyst3D.TinEdgeFilter(); edgeFilter.FilterEnvelope = envelope; using (ArcGIS.Core.Data.Analyst3D.TinEdgeCursor edgeCursor = tinDataset.SearchEdges(edgeFilter)) { while (edgeCursor.MoveNext()) { using (ArcGIS.Core.Data.Analyst3D.TinEdge edge = edgeCursor.Current) { } } } // search all "inside" edges edgeFilter = new ArcGIS.Core.Data.Analyst3D.TinEdgeFilter(); edgeFilter.FilterType = ArcGIS.Core.Data.Analyst3D.TinFilterType.InsideDataArea; using (ArcGIS.Core.Data.Analyst3D.TinEdgeCursor edgeCursor = tinDataset.SearchEdges(edgeFilter)) { while (edgeCursor.MoveNext()) { using (ArcGIS.Core.Data.Analyst3D.TinEdge edge = edgeCursor.Current) { } } } // search for hard edges edgeFilter = new ArcGIS.Core.Data.Analyst3D.TinEdgeFilter(); edgeFilter.FilterByEdgeType = true; edgeFilter.EdgeType = ArcGIS.Core.Data.Analyst3D.TinEdgeType.HardEdge; using (ArcGIS.Core.Data.Analyst3D.TinEdgeCursor edgeCursor = tinDataset.SearchEdges(edgeFilter)) { while (edgeCursor.MoveNext()) { using (ArcGIS.Core.Data.Analyst3D.TinEdge edge = edgeCursor.Current) { } } }
// nodes of the edge var nodes = edge.Nodes; // edge geometry var polyline = edge.ToPolyline(); // edge length var length = edge.Length; // is the edge "inside" var isInsideEdge = edge.IsInsideDataArea; // edge type - regular/hard/soft var edgeType = edge.EdgeType; // get next (clockwise) edge in the triangle var nextEdge = edge.GetNextEdgeInTriangle(); // get previous (anti-clockwise) edge in the triangle var prevEdge = edge.GetPreviousEdgeInTriangle(); // get opposite edge var oppEdge = edge.GeNeighbor(); // get left triangle var leftTriangle = edge.LeftTriangle; // get right triangle var rightTriangle = edge.RightTriangle;
// search all "inside" nodes using (ArcGIS.Core.Data.Analyst3D.TinNodeCursor nodeCursor = tinLayer.SearchNodes(null)) { while (nodeCursor.MoveNext()) { using (ArcGIS.Core.Data.Analyst3D.TinNode node = nodeCursor.Current) { } } } // search "inside" nodes with an extent ArcGIS.Core.Data.Analyst3D.TinNodeFilter nodeFilter = new ArcGIS.Core.Data.Analyst3D.TinNodeFilter(); nodeFilter.FilterEnvelope = envelope; using (ArcGIS.Core.Data.Analyst3D.TinNodeCursor nodeCursor = tinLayer.SearchNodes(nodeFilter)) { while (nodeCursor.MoveNext()) { using (ArcGIS.Core.Data.Analyst3D.TinNode node = nodeCursor.Current) { } } } // search for super nodes only var supernodeFilter = new ArcGIS.Core.Data.Analyst3D.TinNodeFilter(); supernodeFilter.FilterEnvelope = tinDataset.GetSuperNodeExtent(); supernodeFilter.DataElementsOnly = false; supernodeFilter.SuperNode = true; using (ArcGIS.Core.Data.Analyst3D.TinNodeCursor nodeCursor = tinLayer.SearchNodes(nodeFilter)) { while (nodeCursor.MoveNext()) { using (ArcGIS.Core.Data.Analyst3D.TinNode node = nodeCursor.Current) { } } } // search all edges within an extent // this could include outside or edges attached to super nodes depending upon the extent ArcGIS.Core.Data.Analyst3D.TinEdgeFilter edgeFilterAll = new ArcGIS.Core.Data.Analyst3D.TinEdgeFilter(); edgeFilterAll.FilterEnvelope = envelope; edgeFilterAll.DataElementsOnly = false; using (ArcGIS.Core.Data.Analyst3D.TinEdgeCursor edgeCursor = tinLayer.SearchEdges(edgeFilterAll)) { while (edgeCursor.MoveNext()) { using (ArcGIS.Core.Data.Analyst3D.TinEdge edge = edgeCursor.Current) { } } } // search for hard edges in the TIN var edgeFilter = new ArcGIS.Core.Data.Analyst3D.TinEdgeFilter(); edgeFilter.FilterByEdgeType = true; edgeFilter.EdgeType = ArcGIS.Core.Data.Analyst3D.TinEdgeType.HardEdge; using (ArcGIS.Core.Data.Analyst3D.TinEdgeCursor edgeCursor = tinLayer.SearchEdges(edgeFilter)) { while (edgeCursor.MoveNext()) { using (ArcGIS.Core.Data.Analyst3D.TinEdge edge = edgeCursor.Current) { } } } // search for "inside" triangles in an extent ArcGIS.Core.Data.Analyst3D.TinTriangleFilter triangleFilter = new ArcGIS.Core.Data.Analyst3D.TinTriangleFilter(); triangleFilter.FilterEnvelope = envelope; triangleFilter.DataElementsOnly = true; using (ArcGIS.Core.Data.Analyst3D.TinTriangleCursor triangleCursor = tinLayer.SearchTriangles(triangleFilter)) { while (triangleCursor.MoveNext()) { using (ArcGIS.Core.Data.Analyst3D.TinTriangle triangle = triangleCursor.Current) { } } }
System.Object
ArcGIS.Core.CoreObjectsBase
ArcGIS.Core.Data.Analyst3D.TinElement
ArcGIS.Core.Data.Analyst3D.TinEdge
Target Platforms: Windows 11, Windows 10