About
A GeListHead object is the root of a list or tree of GeListNode elements. See also GeListNode Manual.
GeListHead objects are an instance of ID_LISTHEAD
.
Allocation/Deallocation
GeListHead objects can be created with the usual tools:
The creation of GeListHead objects is typically only needed in custom NodeData based plugin classes that internally store custom objects (see also Heads and Branches).
Access
It is possible to get the root GeListHead from every member of that list or tree:
doc->GetSelection(selection);
for (
Int32 i = 0;
i < selection->GetCount(); ++
i)
{
continue;
if (head != nullptr)
{
{
}
}
}
Py_ssize_t i
Definition: abstract.h:645
Definition: c4d_baselist.h:2208
String GetName() const
Definition: c4d_baselist.h:2381
Definition: c4d_baselist.h:1395
Bool IsInstanceOf(Int32 id) const
Definition: c4d_baselist.h:1436
Definition: c4d_baselist.h:2044
GeListNode * GetFirst()
Definition: c4d_baselist.h:2100
Represents a C4DAtom that resides in a 4D list.
Definition: c4d_baselist.h:1831
maxon::Int32 Int32
Definition: ge_sys_math.h:60
#define atom
Definition: graminit.h:72
#define MAXON_SOURCE_LOCATION
Definition: memoryallocationbase.h:67
#define ApplicationOutput(formatString,...)
Definition: debugdiagnostics.h:210
#define Tbaselist2d
2D list.
Definition: ge_prepass.h:986
#define Tgelistnode
Node list.
Definition: ge_prepass.h:990
const char * doc
Definition: pyerrors.h:226
GeListHead objects can also be obtained using GeListNode::GetBranchInfo():
{
if (branchHead != nullptr)
{
{
}
}
}
Definition: c4d_string.h:39
static String IntToString(Int32 v)
Definition: c4d_string.h:495
_Py_clock_info_t * info
Definition: pytime.h:197
Definition: c4d_baselist.h:1216
See also GeListNode Heads and Branches and BaseList2D::GetMain() at BaseList2D Read-Only Properties.
Navigation
GeListHead itself is based on GeListNode. So instances of GeListHead can be organized in a list or tree:
See Edit Lists and Trees.
Parent
The parent of a GeListHead instance is typically the object that owns that instance/branch.
GeListHead::SetParent() is normally used directly after the creation of a GeListHead instance.
if (_branchHead == nullptr)
return false;
_branchHead->SetParent(
node);
static GeListHead * Alloc()
List Content
A GeListHead is a root of a list of GeListNode elements. These elements can be obtained with:
New elements can be added to the list with:
All elements of a list can easily be deleted with:
if (marker != nullptr)
{
if (head == nullptr)
}
void FlushAll()
Clears the list, removing all nodes.
Definition: c4d_baselist.h:2111
GeListHead * GetListHead()
Definition: c4d_baselist.h:1928
BaseList2D * GetFirstMarker(BaseDocument *doc)
Further Reading