The class GeListNode is based on C4DAtom and is a base class for many entities of the classic Cinema 4D API. It mostly provides the functionality to organize elements in linked lists and trees.
GeListNode objects are an instance of Tgelistnode
.
NodeData::Get() is rarely needed, as a pointer to a GeListNode is typically handed over to virtual functions of NodeData and derived classes:
GeListNode is also used in the context of object hierarchies with GeListHead elements.
It is possible to create a GeListNode instance of a RegisterNodePlugin() registered node with
GeListNode based elements can be organized in lists and trees. A GeListNode based entity can reference the accompanying elements in that hierarchy. If no element is referenced, nullptr
is returned.
The typical Cinema 4D workflow would be:
and
A given GeListNode can be inserted into a list or tree or it can be removed from that list or tree:
A GeListHead element is used as the root of a list or tree:
See GeListHead Manual.
A given GeListNode can host multiple internal lists and trees by storing multiple GeListHead objects, called branches. For example the list of tags is a branch of BaseObject. These branches can be accessed with this function:
Valid flags are:
The used BranchInfo struct has the following members:
nullptr
.The branch flags are:
The base class for most classic plugins is NodeData. NodeData based plugin classes build the "core" of any plugin based entity of the classic Cinema 4D API. This "core" class can be obtained with:
See also Basic Classes and Plugin Classes.
GeListNode based objects can also be part of a BaseDocument:
nullptr
, as the element might not be part of any document.Additional information can be accessed:
Various settings of an element can be configured by changing a corresponding bit. A list of available bits is defined in NBIT.
The change operations are: