Open Search
    GeListHead Class Reference

    #include <c4d_baselist.h>

    Inheritance diagram for GeListHead:

    Detailed Description

    Stores a list of GeListNode objects.

    Note
    Has to be created with Alloc() and destroyed with Free(). Use AutoAlloc to automate the allocation and destruction based on scope.

    Private Member Functions

     GeListHead ()
     
     ~GeListHead ()
     

    Navigation

    void InsertBefore (GeListNode *bl)
     
    void InsertAfter (GeListNode *bl)
     
    void InsertUnder (GeListNode *bl)
     
    void InsertUnderLast (GeListNode *bl)
     
    void Remove ()
     

    Alloc/Free

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

    Miscellaneous

    void SetParent (GeListNode *parent)
     
    GeListNodeGetParent ()
     
    const GeListNodeGetParent () const
     
    GeListNodeGetFirst ()
     
    const GeListNodeGetFirst () const
     
    GeListNodeGetLast ()
     
    const GeListNodeGetLast () const
     
    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
    GeListNodeGetNext ()
     
    const GeListNodeGetNext () const
     
    GeListNodeGetPred ()
     
    const GeListNodeGetPred () const
     
    GeListNodeGetDown ()
     
    const GeListNodeGetDown () const
     
    GeListNodeGetUp ()
     
    const GeListNodeGetUp () const
     
    GeListNodeGetDownLast ()
     
    const GeListNodeGetDownLast () const
     
    void InsertBefore (GeListNode *bl)
     
    void InsertAfter (GeListNode *bl)
     
    void InsertUnder (GeListNode *bl)
     
    void InsertUnderLast (GeListNode *bl)
     
    void Remove ()
     
    void FlushChilds ()
     
    void MoveChildrenTo (GeListNode *dest)
     
    GeListHeadGetListHead ()
     
    const GeListHeadGetListHead () const
     
    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)
     
    GeListNodeGetCustomData ()
     
    const GeListNodeGetCustomData () const
     
    const BaseDocumentGetDocument () const
     
    BaseDocumentGetDocument ()
     
    maxon::Result< BoolGetBranchInfo (const maxon::ValueReceiver< const BranchInfo & > &info, GETBRANCHINFO flags) const
     
    Bool IsDocumentRelated () const
     
    Int32 GetInfo () const
     
    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 Message (Int32 type, void *data=nullptr)
     
    Bool MultiMessage (MULTIMSG_ROUTE flags, Int32 type, void *data)
     
    C4DAtomGetClone (COPYFLAGS flags, AliasTrans *trn) const
     
    Bool CopyTo (C4DAtom *dst, COPYFLAGS flags, AliasTrans *trn) const
     
    Bool Read (HyperFile *hf, Int32 id, Int32 level)
     
    Bool Write (HyperFile *hf) const
     
    Bool ReadObject (HyperFile *hf, Bool readheader)
     
    Bool WriteObject (HyperFile *hf) const
     
    Bool GetDescription (Description *description, DESCFLAGS_DESC flags) const
     
    Bool GetParameter (const DescID &id, GeData &t_data, DESCFLAGS_GET flags) const
     
    Bool SetParameter (const DescID &id, const GeData &t_data, DESCFLAGS_SET flags)
     
    DynamicDescriptionGetDynamicDescriptionWritable ()
     
    const DynamicDescriptionGetDynamicDescription () const
     
    Bool CopyDynamicDescriptionFrom (const BaseList2D *src)
     
    Bool GetEnabling (const DescID &id, const GeData &t_data, DESCFLAGS_ENABLE flags, const BaseContainer *itemdesc) const
     
    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)
     

    Constructor & Destructor Documentation

    ◆ GeListHead()

    GeListHead ( )
    private

    ◆ ~GeListHead()

    ~GeListHead ( )
    private

    Member Function Documentation

    ◆ 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(). Use AutoAlloc to automate the allocation and destruction based on scope.

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

    ◆ Free()

    static void Free ( GeListHead *&  v)
    static

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

    Parameters
    [in,out]vThe 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.

    Parameters
    [in]parentThe new parent. The caller owns the pointed parent.

    ◆ GetParent() [1/2]

    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.

    Returns
    The parent. Cinema 4D owns the pointed parent.

    ◆ GetParent() [2/2]

    const GeListNode* GetParent ( ) const

    ◆ GetFirst() [1/2]

    GeListNode* GetFirst ( )

    Gets the first node in the list.

    Returns
    The first node in the list. The list owns the pointed node.

    ◆ GetFirst() [2/2]

    const GeListNode* GetFirst ( ) const

    ◆ GetLast() [1/2]

    GeListNode* GetLast ( )

    Gets the last node in the list.

    Returns
    The last node in the list. The list owns the pointed node.

    ◆ GetLast() [2/2]

    const GeListNode* GetLast ( ) const

    ◆ FlushAll()

    void FlushAll ( )

    Clears the list, removing all nodes.

    ◆ InsertFirst()

    void InsertFirst ( GeListNode bn)

    Inserts bn as the first element in the list.

    Parameters
    [in]bnThe node to insert first. The caller owns the pointed node.

    ◆ InsertLast()

    void InsertLast ( GeListNode bn)

    Inserts bn as the last element in the list.

    Parameters
    [in]bnThe 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.

    Parameters
    [in]bnThe node to insert. The caller owns the pointed node.
    [in]parentThe node to insert bn as child. The caller owns the pointed node.
    [in]prevThe node to insert bn after. The caller owns the pointed node.