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.