GeListHead Class Reference

#include <c4d_baselist.h>

Inheritance diagram for GeListHead:

详细描述

Stores a list of GeListNode 对象。

注意
Has to be created with Alloc() and destroyed with Free() 。使用 AutoAlloc to automate the allocation and destruction based on scope.

私有成员函数

  GeListHead ()
  ~GeListHead ()

导航

void  InsertBefore ( GeListNode *bl)
void  InsertAfter ( GeListNode *bl)
void  InsertUnder ( GeListNode *bl)
void  InsertUnderLast ( GeListNode *bl)
void  移除 ()

Alloc/Free

static GeListHead *  Alloc ()
static void  Free ( GeListHead *&v)

杂项

void  SetParent ( GeListNode *parent)
GeListNode *  GetParent ()
GeListNode *  GetFirst ()
GeListNode *  GetLast ()
void  FlushAll ()

Insertion

void  InsertFirst ( GeListNode *bn)
void  InsertLast ( GeListNode *bn)
void  Insert ( GeListNode *bn, GeListNode *parent, GeListNode *prev)

Additional Inherited Members

-  Public Member Functions inherited from GeListNode
GeListNode *  GetNext ()
GeListNode *  GetPred ()
GeListNode *  GetDown ()
GeListNode *  GetUp ()
GeListNode *  GetDownLast ()
void  InsertBefore ( GeListNode *bl)
void  InsertAfter ( GeListNode *bl)
void  InsertUnder ( GeListNode *bl)
void  InsertUnderLast ( GeListNode *bl)
void  移除 ()
GeListHead *  GetListHead ()
Int32   GetNodeID ( Int32 index=0) const
template<typename CAST >
const CAST *  GetNodeData ( Int32 index=0) const
template<typename CAST >
CAST *  GetNodeData ( Int32 index=0)
void  SetCustomData ( GeListNode *node)
GeListNode *  GetCustomData ()
BaseDocument *  GetDocument ()
Int32   GetBranchInfo ( BranchInfo *info, Int32 max, GETBRANCHINFO flags)
Bool   IsDocumentRelated ()
Int32   GetInfo ()
Bool   GetNBit ( NBIT bit) const
UInt32   GetNBitMask ( Int32 index) const
Bool   ChangeNBit ( NBIT bit, NBITCONTROL bitmode)
-  Public Member Functions inherited from C4DAtom
Int32   GetType () const
Int32   GetRealType () const
Int32   GetDiskType () const
Bool   IsInstanceOf ( Int32 id) const
Int32   GetClassification () const
Bool   消息 ( Int32 type, void *data=nullptr)
Bool   MultiMessage ( MULTIMSG_ROUTE flags, Int32 type, void *data)
C4DAtom *  GetClone ( COPYFLAGS flags, AliasTrans *trn)
Bool   CopyTo ( C4DAtom *dst, COPYFLAGS flags, AliasTrans *trn)
Bool   读取 ( HyperFile *hf, Int32 id, Int32 level)
Bool   Write ( HyperFile *hf)
Bool   ReadObject ( HyperFile *hf, Bool readheader)
Bool   WriteObject ( HyperFile *hf)
Bool   GetDescription ( 描述 *description, DESCFLAGS_DESC flags)
Bool   GetParameter (const DescID &id, GeData &t_data, DESCFLAGS_GET flags)
Bool   SetParameter (const DescID &id, const GeData &t_data, DESCFLAGS_SET flags)
DynamicDescription *  GetDynamicDescription ()
Bool   GetEnabling (const DescID &id, const GeData &t_data, DESCFLAGS_ENABLE flags, const BaseContainer *itemdesc)
Bool   TranslateDescID (const DescID &id, DescID &res_id, C4DAtom *&res_at)
UInt32   GetDirty ( DIRTYFLAGS flags) const
void  SetDirty ( DIRTYFLAGS flags)
UInt32   GetHDirty ( HDIRTYFLAGS mask) const
void  SetHDirty ( HDIRTYFLAGS mask)

构造函数 & 析构函数文档编制

◆  GeListHead()

GeListHead () private

◆  ~GeListHead()

~ GeListHead () private

成员函数文档编制

◆  InsertBefore()

void InsertBefore ( GeListNode *  bl )
private

◆  InsertAfter()

void InsertAfter ( GeListNode *  bl )
private

◆  InsertUnder()

void InsertUnder ( GeListNode *  bl )
private

◆  InsertUnderLast()

void InsertUnderLast ( GeListNode *  bl )
private

◆  Remove()

void Remove ( )
private

◆  Alloc()

static GeListHead * Alloc ( )
static

Allocates a list head. Destroy the allocated list head with Free() 。使用 AutoAlloc to automate the allocation and destruction based on scope.

返回
The allocated list head, or nullptr if the allocation failed.

◆  Free()

static void Free ( GeListHead *&  v )
static

Destructs list heads allocated with Alloc() 。使用 AutoAlloc to automate the allocation and destruction based on scope.

参数
[in,out] v The list head to destruct. If the pointer is nullptr nothing happens. The pointer is assigned nullptr afterwards.

◆  SetParent()

void SetParent ( GeListNode *  parent )

Sets the parent of the list head.
Usually called directly after the list head is allocated.

参数
[in] parent The new parent. The caller owns the pointed parent.

◆  GetParent()

GeListNode * GetParent ( )

Gets the parent of the list head.
For the tag list head this would be the object, for the object list head this would be the document etc.

返回
The parent. Cinema 4D owns the pointed parent.

◆  GetFirst()

GeListNode * GetFirst ( )

Gets the first node in the list.

返回
The first node in the list. The list owns the pointed node.

◆  GetLast()

GeListNode * GetLast ( )

Gets the last node in the list.

返回
The last node in the list. The list owns the pointed node.

◆  FlushAll()

void FlushAll ( )

Clears the list, removing all nodes.

◆  InsertFirst()

void InsertFirst ( GeListNode *  bn )

Inserts bn as the first element in the list.

参数
[in] bn The node to insert first. The caller owns the pointed node.

◆  InsertLast()

void InsertLast ( GeListNode *  bn )

Inserts bn as the last element in the list.

参数
[in] bn The node to insert last. The caller owns the pointed node.

◆  Insert()

void Insert ( GeListNode *  bn ,
GeListNode *  parent ,
GeListNode *  prev  
)

Inserts bn as a child of parent or after prev .

参数
[in] bn The node to insert. The caller owns the pointed node.
[in] parent The node to insert bn as child. The caller owns the pointed node.
[in] prev The node to insert bn after. The caller owns the pointed node.