Layer Manager [SOLVED]
-
On 14/10/2015 at 14:40, xxxxxxxx wrote:
User Information:
Cinema 4D Version: 16
Platform: Windows ;
Language(s) : C++ ;---------
Hello,I want to read out all Layers from the Layer Manager. Also I want to add new layers, remove and rename. I found the LayerSet in the SDK: https://developers.maxon.net/docs/cpp/2023_2/class_layer_set.html#afc9ab69643027a912262c285c59e2be8
But I don't know how to use it? Does someone has an example for me?
thanks
-
On 14/10/2015 at 15:41, xxxxxxxx wrote:
No code but LayerData is where you want to begin. You can get the root layer (a list head) of the Document using BaseDocument::GetLayerObjectRoot(). Search here for GetLayerObjectRoot for some topics and code.
-
On 14/10/2015 at 22:02, xxxxxxxx wrote:
Thank You,
I figured out how it works:
GeListHead* layerList = NULL; layerList = doc->GetLayerObjectRoot(); LayerObject *layer = (LayerObject* )layerList->GetFirst(); //Get the first layer const LayerData *data = layer->GetLayerData(doc, FALSE); //Get the layer's container while (layer) { GePrint(layer->GetName()); layer = layer->GetNext(); }
-
On 15/10/2015 at 01:14, xxxxxxxx wrote:
Hello,
Layers are not just stored in a list but actually in a tree. So to get all layers you also need to check the child layers with GetDown().
Best wishes,
Sebastian