ArcGIS Pro 3.7 API Reference Guide
ArcGIS.Core.Data.Analyst3D Namespace / TinFilterType Enumeration
Example Example

In This Topic
    TinFilterType Enumeration
    In This Topic
    Filter types. Used in TinFilter.FilterType.
    Syntax
    Members
    MemberDescription
    All Filter for all elements in the TIN.
    InsideDataAreaFilter for all elements inside the TIN data area only. See TinDataset.GetDataArea.
    InsideTin Filter for all elements in the TIN except those associated to super nodes.
    Example
    Search for TIN Nodes
    {
      // search all nodes that intersect the data extent
      using (ArcGIS.Core.Data.Analyst3D.TinNodeCursor nodeCursorsearch = tinDataset.SearchNodes(null))
      {
        while (nodeCursor.MoveNext())
        {
          using (ArcGIS.Core.Data.Analyst3D.TinNode nodeCurrent = nodeCursor.Current)
          {
            // do something with the node
          }
        }
      }
    
      // search within an extent
      ArcGIS.Core.Data.Analyst3D.TinNodeFilter nodeFilter = new ArcGIS.Core.Data.Analyst3D.TinNodeFilter();
      nodeFilter.FilterEnvelope = envelope; //or use any other appropriate envelope
      using (ArcGIS.Core.Data.Analyst3D.TinNodeCursor nodeCursorSearch = tinDataset.SearchNodes(nodeFilter))
      {
        while (nodeCursor.MoveNext())
        {
          using (ArcGIS.Core.Data.Analyst3D.TinNode nodeCurrent = nodeCursor.Current)
          {
            // do something with the node
          }
        }
      }
    
      // search all "inside" nodes
      nodeFilter = new ArcGIS.Core.Data.Analyst3D.TinNodeFilter();
      nodeFilter.FilterType = ArcGIS.Core.Data.Analyst3D.TinFilterType.InsideDataArea;
      using (ArcGIS.Core.Data.Analyst3D.TinNodeCursor nodeCursorSearch = tinDataset.SearchNodes(nodeFilter))
      {
        while (nodeCursor.MoveNext())
        {
          using (ArcGIS.Core.Data.Analyst3D.TinNode nodeCurrent = nodeCursor.Current)
          {
            // do something with the node
          }
        }
      }
    
      // search for super nodes only
      nodeFilter = new ArcGIS.Core.Data.Analyst3D.TinNodeFilter();
      nodeFilter.FilterEnvelope = tinDataset.GetSuperNodeExtent();
      nodeFilter.SuperNode = true;
      using (ArcGIS.Core.Data.Analyst3D.TinNodeCursor nodeCursorSearch = tinDataset.SearchNodes(nodeFilter))
      {
        while (nodeCursor.MoveNext())
        {
          using (ArcGIS.Core.Data.Analyst3D.TinNode nodeCurrent = nodeCursor.Current)
          {
            // do something with the node
          }
        }
      }
    }
    Search for TIN Edges
    {
      // search all single edges that intersect the data extent
      using (ArcGIS.Core.Data.Analyst3D.TinEdgeCursor edgeCursor = tinDataset.SearchEdges(null))
      {
        while (edgeCursor.MoveNext())
        {
          using (ArcGIS.Core.Data.Analyst3D.TinEdge edgeCurrent = edgeCursor.Current)
          {
            // do something with the edge
          }
        }
      }
    
      // 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 edgeCurrent = edgeCursor.Current)
          {
            // do something with the edge
          }
        }
      }
    
      // 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 edgeCurrent = edgeCursor.Current)
          {
            // do something with the edge
          }
        }
      }
    
      // 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 edgeCurrent = edgeCursor.Current)
          {
            // do something with the edge
          }
        }
      }
    }
    Search for TIN Triangles
    {
      // search all triangles that intersect the data extent
      using (ArcGIS.Core.Data.Analyst3D.TinTriangleCursor triangleSearchCursor = tinDataset.SearchTriangles(null))
      {
        while (triangleCursor.MoveNext())
        {
          using (ArcGIS.Core.Data.Analyst3D.TinTriangle triangleCurrent = triangleCursor.Current)
          {
    
          }
        }
      }
    
      // search within an extent
      ArcGIS.Core.Data.Analyst3D.TinTriangleFilter triangleFilter = new ArcGIS.Core.Data.Analyst3D.TinTriangleFilter();
      triangleFilter.FilterEnvelope = envelope;
      using (ArcGIS.Core.Data.Analyst3D.TinTriangleCursor triangleSearchCursor = tinDataset.SearchTriangles(triangleFilter))
      {
        while (triangleCursor.MoveNext())
        {
          using (ArcGIS.Core.Data.Analyst3D.TinTriangle triangleCurrent = triangleCursor.Current)
          {
    
          }
        }
      }
    
      // search all "inside" triangles
      triangleFilter = new ArcGIS.Core.Data.Analyst3D.TinTriangleFilter();
      triangleFilter.FilterType = ArcGIS.Core.Data.Analyst3D.TinFilterType.InsideDataArea;
      using (ArcGIS.Core.Data.Analyst3D.TinTriangleCursor triangleSearchCursor = tinDataset.SearchTriangles(triangleFilter))
      {
        while (triangleCursor.MoveNext())
        {
          using (ArcGIS.Core.Data.Analyst3D.TinTriangle triangleCurrent = triangleCursor.Current)
          {
    
          }
        }
      }
    }
    Inheritance Hierarchy

    System.Object
       System.ValueType
          System.Enum
             ArcGIS.Core.Data.Analyst3D.TinFilterType

    Requirements

    Target Platforms: Windows 11 Home, Pro, Enterprise (64 bit)

    ArcGIS Pro version: 3.2 or higher.
    See Also