Share

Iterating over Nodes in a Layer

Given a layer you can iterate over all of the nodes, by retrieving a pointer to an ILayerProperties interface and calling the method ILayerProperties::Nodes().


ILayerProperties* GetLayerPropertiesFromNode(INode* node)
{
   ILayer* layer = GetLayerFromNode(node);
   return layer->GetInterface(LAYERPROPERTIES_INTERFACE);
}

void ProcessNodesOnLayer(ILayer* layer)
{
   ILayerProperties* props = layer->GetInterface(LAYERPROPERTIES_INTERFACE);
   Tab<INode*> nodes;
   props->Nodes(nodes);
   for (int i=0; i < nodes.Count(); ++i)
   {
      INode* node = nodes[i];

      // custom processing.
   }
}


Was this information helpful?