LayerObject Class Reference

#include <c4d_layerobject.h>

Inheritance diagram for LayerObject:

Public Types

typedef BaseList4D SUPER
 
- Public Types inherited from BaseList4D
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 BaseList4D
BaseList4D * GetUp ()
 
BaseList4D * GetDown ()
 
BaseList4D * GetDownLast ()
 
void InsertBefore (BaseList4D *bl)
 
void InsertAfter (BaseList4D *bl)
 
void InsertUnder (BaseList4D *bl)
 
void InsertUnderLast (BaseList4D *bl)
 
virtual void Remove ()
 
- 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)
 
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 ()
 

Private Member Functions

virtual Bool CopyToX (PrivateChunk *dest, COPYFLAGS flags, AliasTrans *trans)
 
virtual Bool HandleSubChunk (HyperFile *hf, Int32 id, Int32 level)
 
virtual Bool Write (HyperFile *hf)
 
virtual Bool GetDParameter (const DescID &id, GeData &data)
 
virtual Bool SetDParameter (const DescID &id, const GeData &data)
 

Private Attributes

LayerData m_data
 

Friends

class RootLayer
 
class BaseDocument
 

Constructor/Destructor

 LayerObject ()
 
virtual ~LayerObject ()
 

Alloc/Free

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

Navigation

LayerObject * GetNext ()
 
LayerObject * GetPred ()
 
LayerObject * GetUp ()
 
LayerObject * GetDown ()
 
LayerObject * GetDownLast ()
 

Clone

virtual BaseList2D * GetClone (COPYFLAGS flags, AliasTrans *trn)
 

Execute

virtual Bool Execute ()
 

Additional Inherited Members

- Protected Member Functions inherited from BaseList4D
 BaseList4D ()
 
 ~BaseList4D ()
 
- Protected Member Functions inherited from BaseList2D
void SetID (Int32 id)
 
virtual Int32 GetInstanceType () const
 
- 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 layer in Cinema 4D.

Note
Has to be created with Alloc() and destroyed with Free().

Member Typedef Documentation

◆ SUPER

typedef BaseList4D SUPER

Constructor & Destructor Documentation

◆ LayerObject()

Default constructor.

◆ ~LayerObject()

virtual ~LayerObject ( )
virtual

Default destructor.

Member Function Documentation

◆ IsInstanceOf()

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

Reimplemented from BaseList4D.

◆ CopyToX()

virtual Bool CopyToX ( PrivateChunk *  dest,
COPYFLAGS  flags,
AliasTrans *  trans 
)
privatevirtual

Reimplemented from BaseList2D.

◆ HandleSubChunk()

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

Private.

Reimplemented from BaseList4D.

◆ Write()

virtual Bool Write ( HyperFile *  hf)
privatevirtual

Private.

Reimplemented from BaseList4D.

◆ GetDParameter()

virtual Bool GetDParameter ( const DescID &  id,
GeData &  data 
)
privatevirtual

Reimplemented from BaseList2D.

◆ SetDParameter()

virtual Bool SetDParameter ( const DescID &  id,
const GeData &  data 
)
privatevirtual

Reimplemented from BaseList2D.

◆ Alloc()

static LayerObject* Alloc ( )
static

Allocates a layer. Destroy the allocated layer with Free().

Returns
The allocated layer, or nullptr if the allocation failed.

◆ Free()

static void Free ( LayerObject *&  v)
static

Destructs layer allocated with Alloc().

Parameters
[in,out]vThe layer to destruct. If the pointer is nullptr nothing happens. The pointer is assigned nullptr afterwards.

◆ GetNext()

LayerObject* GetNext ( )

Gets the next layer in the list.

Returns
The next layer, or nullptr if there is none. Cineware SDK owns the pointed layer.

◆ GetPred()

LayerObject* GetPred ( )

Gets the previous layer in the list.

Returns
The previous layer, or nullptr if there is none. Cineware SDK owns the pointed layer.

◆ GetUp()

LayerObject* GetUp ( )

Gets the parent layer of the list node.

Returns
The previous layer, or nullptr if there is none. Cineware SDK owns the pointed layer.

◆ GetDown()

LayerObject* GetDown ( )

Gets the first child layer of the list node.

Returns
The previous layer, or nullptr if there is none. Cineware SDK owns the pointed layer.

◆ GetDownLast()

LayerObject* GetDownLast ( )

Gets the last child layer of the list node.

Returns
The previous layer, or nullptr if there is none. Cineware SDK owns the pointed layer.

◆ GetClone()

virtual BaseList2D* GetClone ( COPYFLAGS  flags,
AliasTrans *  trn 
)
virtual

Gets a clone/copy of the layer.

Parameters
[in]flagsFlags for the clone.
[in]trnAn alias translator for the operation. Can be nullptr. The caller owns the pointed layer.
Returns
The cloned layer. The caller owns the pointed layer.

Reimplemented from BaseList2D.

◆ Execute()

virtual Bool Execute ( )
virtual

Overload this method for self defined layers.

Note
If an AlienLayerObject class is derived from LayerObject it will get a call in AlienLayerObject::Execute() for every created layer in CreateSceneFromC4D().
Returns
true if successful, otherwise false.

Friends And Related Function Documentation

◆ RootLayer

friend class RootLayer
friend

◆ BaseDocument

friend class BaseDocument
friend

Member Data Documentation

◆ m_data

LayerData m_data
private