BaseOverride Class Reference

#include <c4d_baseoverride.h>

Inheritance diagram for BaseOverride:

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 (melange::Int32 id) const
- Public Member Functions inherited from BaseList2D
 BaseList2D ()
virtual ~BaseList2D ()
BaseList2DGetNext ()
BaseList2DGetPred ()
NodeDataGetNodeData ()
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 ()
BaseContainerGetDataInstance ()
BaseContainerGetDataInstanceRef ()
const StringGetName ()
void SetName (const String &new_name)
const GeMarkerGetMarker () 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
BaseShaderGetFirstShader ()
Bool InsertShader (BaseShader *shader, BaseShader *pred=nullptr)
Bool InsertShaderLast (BaseShader *shader)
RootCTrackGetCTrackRoot ()
CTrackGetFirstCTrack ()
CTrackFindCTrack (const DescID &id)
Bool AppendCTrack (CTrack *t)
void InsertTrackSorted (CTrack *track)
virtual Int32 GetType () const
virtual Int32 GetDiskType () const
LayerObjectGetLayerObject ()
void SetLayerObject (LayerObject *layer)
const LayerDataGetLayerData (BaseDocument *doc, Bool rawdata=false)
Bool SetLayerData (BaseDocument *doc, const LayerData &data)
virtual BaseList2DGetClone (COPYFLAGS flags, AliasTrans *trans)
DynamicDescriptionGetDynamicDescription ()
virtual Bool IsBaseList ()
virtual void Remove ()
Bool SetDescIDState (const DescID &id, DESCIDSTATE descidstate)
DESCIDSTATE GetDescIDState (const DescID &id, Bool tolerant) const
RootPluginNodeGetOverrideRoot ()
BaseOverrideGetFirstOverride ()
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)
BaseDocumentGetDocument ()
virtual Int32 GetInfo ()
GeListNodeGetPred ()
GeListNodeGetNext ()
GeListNodeGetUp ()
GeListNodeGetDown ()
GeListNodeGetDownLast ()
void InsertBefore (GeListNode *op)
void InsertAfter (GeListNode *op)
void Remove ()
void InsertUnder (GeListNode *op)
void InsertUnderLast (GeListNode *op)
RootList2DGetListHead ()
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 >
PrivateChunkGetNext () const
PrivateChunkGetPrev () const
void InsertBefore (PrivateChunk *n)
void InsertAfter (PrivateChunk *n)
void Remove ()


Bool IsOverriddenParam (const DescID &descID)
BaseList2DGetSceneNode ()
BaseTakeGetOwnerTake (TakeData *takeData)
Bool IsInGroup (TakeData *takeData, BaseOverrideGroup *&resGroup)
Bool GetAllOverrideDescID (BaseArray< DescID > &result)
void UpdateSceneNode (TakeData *takeData, const DescID &descID)


Bool SetTakeNode (BaseTake *newTake)
BaseOverrideGroupGetGroupLink (BaseDocument *doc)
BaseTakeGetTakeNode (BaseDocument *doc)
BaseList2DGetMainNode ()
Bool GetValuesFromDocument (BaseDocument *doc, NodeChange *exclude)
Bool GetAllValuesFromDocument (BaseDocument *doc, BaseArray< OverrideMapEntry > &changed)
Bool SendValuesToDocument (BaseDocument *doc, NodeChange *exclude, BaseList2D *toClone=nullptr)
Bool SendAllValuesToDocument (BaseDocument *doc, BaseArray< OverrideMapEntry > &changed, BaseList2D *toClone=nullptr)
Bool IsAnimatedOverrideParam (const DescID &pIdx)
Bool DeleteTrackIfAnimated (const DescID &pIdx)
Bool OverrideParam (const OverrideDataSet &data)
GeData GetOverrideParam (const DescID &pIdx)
Bool IsTakeAffected (BaseDocument *doc, BaseTake *take, const DescID &pIdx)
Int GetOverrideParameterCount ()
Bool RemoveOverrideParam (BaseDocument *doc, const DescID &pIdx)
Bool HasValidSubNodes (BaseDocument *doc)
BaseList2DGetParentNode (BaseDocument *doc)
void SetParentNode (BaseList2D *parent)
void AppendSubNode (BaseDocument *doc, BaseList2D *node)
Bool RebuildUserData ()
Bool SetGroupLink (BaseOverrideGroup *group)
static BaseOverrideAlloc ()
static void Free (BaseOverride *&p)

Additional Inherited Members

- Protected Member Functions inherited from BaseList2D
void SetID (Int32 id)
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)
virtual Bool CopyToX (PrivateChunk *dest, COPYFLAGS flags, AliasTrans *trans)
virtual Int32 GetInstanceType () const
- Protected Attributes inherited from BaseList2D
Int32 m_id
RootShader mp_rootshader
RootShader root_shader_repository
Int32 l_bitfeld
RootCTrack mp_rootctrack
RootPluginNode root_override
BaseContainer m_bc
- Protected Attributes inherited from GeListNode
GeAliasGoal m_xgoal
UInt32 m_bits [4]
void * unknownData
Int unknownDataSize
Int32 unknownDataLevel
Int32 pluginID

Detailed Description

An Override holds the settings for a specific object in a Take.

See also
The Take System Overview articles in the C++ SDK documentation.

Member Typedef Documentation


typedef BaseList2D SUPER

Member Function Documentation

◆ IsInstanceOf()

virtual Bool IsInstanceOf ( melange::Int32  id) const

Reimplemented from BaseList2D.

◆ IsOverriddenParam()

Bool IsOverriddenParam ( const DescID descID)

Checks if the parameter at descID is overridden.

[in]descIDThe parameter to be checked.
true if parameter is overridden, otherwise false.

◆ GetSceneNode()

BaseList2D* GetSceneNode ( )

Returns a pointer to the original scene node connected to the Override node.

A pointer to the original scene node, or nullptr if any error.

◆ GetOwnerTake()

BaseTake* GetOwnerTake ( TakeData takeData)

Gets a pointer to the Take that owns the Override.

[in]takeDataThe Take System context. The caller owns the pointed TakeData.
A pointer to the Take for this Override, or nullptr if any error. Melange owns the pointed BaseTake.

◆ IsInGroup()

Bool IsInGroup ( TakeData takeData,
BaseOverrideGroup *&  resGroup 

Checks if the Override is also part of an Override Group, and if yes fills resGroup.

[in]takeDataThe Take System context. The caller owns the pointed TakeData.
[out]resGroupThe assigned BaseOverrideGroup. nullptr if the function returns false. Melange owns the pointed BaseOverrideGroup.
true if the Override is part of an Override Group, otherwise false.

◆ GetAllOverrideDescID()

Bool GetAllOverrideDescID ( BaseArray< DescID > &  result)

Retrieves the DescID of all parameters in the Override.

Sub-descriptions are included if overridden.
[out]resultThe array to be filled.
true if successful, otherwise false.

◆ UpdateSceneNode()

void UpdateSceneNode ( TakeData takeData,
const DescID descID 

Updates the scene node whenever data is directly changed on the base Override (for example with SetParameter).
This ensures the scene node is properly updated if the Override affects the current document state.

An undo step is added automatically if the call is added from the main (GUI) thread and global undo is allowed (see TakeData::GetUndoState/TakeData::SetUndoState).
[in]takeDataThe Take System context. The caller owns the pointed TakeData.
[in]descIDThe DescID of the edited parameter.

◆ SetTakeNode()

Bool SetTakeNode ( BaseTake newTake)


◆ GetGroupLink()

BaseOverrideGroup* GetGroupLink ( BaseDocument doc)


◆ GetTakeNode()

BaseTake* GetTakeNode ( BaseDocument doc)

◆ GetMainNode()

BaseList2D* GetMainNode ( )

◆ GetValuesFromDocument()

Bool GetValuesFromDocument ( BaseDocument doc,
NodeChange exclude 

◆ GetAllValuesFromDocument()

Bool GetAllValuesFromDocument ( BaseDocument doc,
BaseArray< OverrideMapEntry > &  changed 

◆ SendValuesToDocument()

Bool SendValuesToDocument ( BaseDocument doc,
NodeChange exclude,
BaseList2D toClone = nullptr 

◆ SendAllValuesToDocument()

Bool SendAllValuesToDocument ( BaseDocument doc,
BaseArray< OverrideMapEntry > &  changed,
BaseList2D toClone = nullptr 

◆ IsAnimatedOverrideParam()

Bool IsAnimatedOverrideParam ( const DescID pIdx)

◆ DeleteTrackIfAnimated()

Bool DeleteTrackIfAnimated ( const DescID pIdx)

◆ OverrideParam()

Bool OverrideParam ( const OverrideDataSet data)

◆ GetOverrideParam()

GeData GetOverrideParam ( const DescID pIdx)

◆ IsTakeAffected()

Bool IsTakeAffected ( BaseDocument doc,
BaseTake take,
const DescID pIdx 

◆ GetOverrideParameterCount()

Int GetOverrideParameterCount ( )

◆ RemoveOverrideParam()

Bool RemoveOverrideParam ( BaseDocument doc,
const DescID pIdx 

◆ HasValidSubNodes()

Bool HasValidSubNodes ( BaseDocument doc)

◆ GetParentNode()

BaseList2D* GetParentNode ( BaseDocument doc)

◆ SetParentNode()

void SetParentNode ( BaseList2D parent)

◆ AppendSubNode()

void AppendSubNode ( BaseDocument doc,
BaseList2D node 

◆ RebuildUserData()

Bool RebuildUserData ( )

◆ SetGroupLink()

Bool SetGroupLink ( BaseOverrideGroup group)

◆ Alloc()

static BaseOverride* Alloc ( )

◆ Free()

static void Free ( BaseOverride *&  p)