{
// 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
}
}
}
}
Target Platforms: Windows 11 Home, Pro, Enterprise (64 bit)