BaseList4D Class Reference

#include <c4d_baselist4d.h>

Inheritance diagram for BaseList4D:

Public Types

typedef BaseList2D SUPER
 
- Public Types inherited from BaseList2D
typedef GeListNode SUPER
 
- Public Types inherited from GeListNode
typedef PrivateChunk SUPER
 

Public Member Functions

virtual Bool IsInstanceOf (cineware::Int32 id) const
 
- Public Member Functions inherited from BaseList2D
 BaseList2D ()
 
virtual ~BaseList2D ()
 
BaseList2D * GetNext ()
 
BaseList2D * GetPred ()
 
NodeData * GetNodeData ()
 
void SetNodeData (NodeData *data)
 
void SetBit (Int32 mask)
 
Bool GetBit (Int32 mask)
 
void DelBit (Int32 mask)
 
void ToggleBit (Int32 mask)
 
Int32 GetAllBits ()
 
void SetAllBits (Int32 bits)
 
BaseContainer GetData ()
 
BaseContainer * GetDataInstance ()
 
BaseContainer & GetDataInstanceRef ()
 
const String & GetName ()
 
void SetName (const String &new_name)
 
const GeMarker & GetMarker () const
 
void SetMarker (const GeMarker &m)
 
Bool AddUniqueID (Int32 appid, const Char *const mem, Int bytes)
 
Bool FindUniqueID (Int32 appid, const Char *&mem, Int &bytes) const
 
Int32 GetUniqueIDCount () const
 
Bool GetUniqueIDIndex (Int32 idx, Int32 &id, const Char *&mem, Int &bytes) const
 
BaseShader * GetFirstShader ()
 
Bool InsertShader (BaseShader *shader, BaseShader *pred=nullptr)
 
Bool InsertShaderLast (BaseShader *shader)
 
RootCTrack * GetCTrackRoot ()
 
CTrack * GetFirstCTrack ()
 
CTrack * FindCTrack (const DescID &id)
 
Bool AppendCTrack (CTrack *t)
 
void InsertTrackSorted (CTrack *track)
 
virtual Int32 GetType () const
 
virtual Int32 GetDiskType () const
 
LayerObject * GetLayerObject ()
 
void SetLayerObject (LayerObject *layer)
 
const LayerData * GetLayerData (BaseDocument *doc, Bool rawdata=false)
 
Bool SetLayerData (BaseDocument *doc, const LayerData &data)
 
virtual BaseList2D * GetClone (COPYFLAGS flags, AliasTrans *trans)
 
DynamicDescription * GetDynamicDescription ()
 
virtual Bool IsBaseList ()
 
Bool SetDescIDState (const DescID &id, DESCIDSTATE descidstate)
 
DESCIDSTATE GetDescIDState (const DescID &id, Bool tolerant) const
 
RootPluginNode * GetOverrideRoot ()
 
BaseOverride * GetFirstOverride ()
 
virtual Bool TranslateDescID (const DescID &id, DescID &res_id, GeListNode *&res_at)
 
- Public Member Functions inherited from GeListNode
 GeListNode ()
 
 ~GeListNode ()
 
virtual Bool GetNBit (Int32 bit) const
 
virtual Bool ChangeNBit (NBIT bit, NBITCONTROL bitmode)
 
BaseDocument * GetDocument ()
 
virtual Int32 GetInfo ()
 
GeListNode * GetPred ()
 
GeListNode * GetNext ()
 
GeListNode * GetUp ()
 
GeListNode * GetDown ()
 
GeListNode * GetDownLast ()
 
void InsertBefore (GeListNode *op)
 
void InsertAfter (GeListNode *op)
 
void Remove ()
 
void InsertUnder (GeListNode *op)
 
void InsertUnderLast (GeListNode *op)
 
RootList2D * GetListHead ()
 
Int32 GetNodeID (Int32 index=0) const
 
- Public Member Functions inherited from PrivateChunk
 PrivateChunk ()
 
Bool ReadChunk (HyperFile *hf, Bool keepin=false, Bool noheader=false)
 
virtual Bool IsListHead ()
 
Bool ReadObject (HyperFile *hf, Bool readheader)
 
Bool WriteObject (HyperFile *hf, Int32 type)
 
Bool CopyTo (PrivateChunk *dest, COPYFLAGS flags, AliasTrans *trans)
 
Bool GetParameter (Int32 id, GeData &data)
 
Bool SetParameter (Int32 id, const GeData &data)
 
Bool GetParameter (const DescID &id, GeData &data)
 
Bool SetParameter (const DescID &id, const GeData &data)
 
virtual Int32 GetChunkLevel ()
 
- Public Member Functions inherited from GeTempPublicNode2D< PrivateChunk >
PrivateChunk * GetNext () const
 
PrivateChunk * GetPrev () const
 
void InsertBefore (PrivateChunk *n)
 
void InsertAfter (PrivateChunk *n)
 
void Remove ()
 

Protected Member Functions

 BaseList4D ()
 
 ~BaseList4D ()
 
virtual Bool HandleSubChunk (HyperFile *hf, Int32 id, Int32 level)
 
virtual Bool Write (HyperFile *hf)
 
- Protected Member Functions inherited from BaseList2D
void SetID (Int32 id)
 
virtual Bool GetDParameter (const DescID &id, GeData &data)
 
virtual Bool SetDParameter (const DescID &id, const GeData &data)
 
virtual Bool CopyToX (PrivateChunk *dest, COPYFLAGS flags, AliasTrans *trans)
 
virtual Int32 GetInstanceType () const
 

Navigation

BaseList4D * GetUp ()
 
BaseList4D * GetDown ()
 
BaseList4D * GetDownLast ()
 

Insertion

void InsertBefore (BaseList4D *bl)
 
void InsertAfter (BaseList4D *bl)
 
void InsertUnder (BaseList4D *bl)
 
void InsertUnderLast (BaseList4D *bl)
 

Removal

virtual void Remove ()
 

Additional Inherited Members

- Protected Attributes inherited from BaseList2D
Int32 m_id
 
RootShader mp_rootshader
 
RootShader mp_rootshader_hidden
 
RootShader root_shader_repository
 
Int32 l_bitfeld
 
RootCTrack mp_rootctrack
 
RootPluginNode root_override
 
NotifyList * notify_events
 
DescIdStore * keyframestore
 
DescIdStore * propstore
 
BaseContainer m_bc
 
NodeData * m_data
 
- Protected Attributes inherited from GeListNode
GeAliasGoal m_xgoal
 
UInt32 m_bits [4]
 
RootList2D * t_rootlist_parent
 
RootList2D * m_children
 
BaseDocument * parent_doc
 
void * unknownData
 
Int unknownDataSize
 
Int32 unknownDataLevel
 
Int32 pluginID
 

Detailed Description

Represents a node in a 4D list.

See also
BaseList2D

Member Typedef Documentation

◆ SUPER

typedef BaseList2D SUPER

Constructor & Destructor Documentation

◆ BaseList4D()

BaseList4D ( )
protected

◆ ~BaseList4D()

~BaseList4D ( )
protected

Member Function Documentation

◆ IsInstanceOf()

virtual Bool IsInstanceOf ( cineware::Int32  id) const
virtual

◆ HandleSubChunk()

virtual Bool HandleSubChunk ( HyperFile *  hf,
Int32  id,
Int32  level 
)
protectedvirtual

Private.

Reimplemented from BaseList2D.

Reimplemented in RenderData, BaseShader, BaseObject, MultipassObject, SplineObject, and LayerObject.

◆ Write()

virtual Bool Write ( HyperFile *  hf)
protectedvirtual

Private.

Reimplemented from BaseList2D.

Reimplemented in RenderData, BaseShader, MultipassObject, BaseObject, SplineObject, and LayerObject.

◆ GetUp()

BaseList4D* GetUp ( )

Gets the parent node.

Returns
The parent node, or nullptr if there is none. Cineware SDK owns the pointed node.

◆ GetDown()

BaseList4D* GetDown ( )

Gets the first child node.

Returns
The first child node, or nullptr if there is none. Cineware SDK owns the pointed node.

◆ GetDownLast()

BaseList4D* GetDownLast ( )

Gets the last child node.

Returns
The last child node, or nullptr if there is none. Cineware SDK owns the pointed node.

◆ InsertBefore()

void InsertBefore ( BaseList4D *  bl)

Inserts the node before bl.

Warning
Make sure that the insertion is sane. For example it is not allowed to insert a key into the object list.
It is also necessary to call Remove() first if the object is already inserted into another list.
Parameters
[in]blThe node to insert before. The caller owns the pointed node.

◆ InsertAfter()

void InsertAfter ( BaseList4D *  bl)

Inserts the node after bl.

Warning
Make sure that the insertion is sane. For example it is not allowed to insert a key into the object list.
It is also necessary to call Remove() first if the object is already inserted into another list.
Parameters
[in]blThe node to insert after. The caller owns the pointed node.

◆ InsertUnder()

void InsertUnder ( BaseList4D *  bl)

Inserts the node under bl as the first child.

Warning
Make sure that the insertion is sane. For example it is not allowed to insert a key into the object list.
It is also necessary to call Remove() first if the object is already inserted into another list.
Parameters
[in]blThe node to insert under. The caller owns the pointed node.

◆ InsertUnderLast()

void InsertUnderLast ( BaseList4D *  bl)

Insert the node as the last child of bl.

Warning
Make sure that the insertion is sane. For example it is not allowed to insert a key into the object list.
It is also necessary to call Remove() first if the object is already inserted into another list.
Parameters
[in]blThe node to insert under as last child. The caller owns the pointed node.

◆ Remove()

virtual void Remove ( )
virtual

Removes the node from its list.

Warning
When a node is removed the owner becomes responsible for freeing it or passing its ownership to another list.

Reimplemented from BaseList2D.