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 ()
 

Miscellaneous

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)
 

Private

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
 
NotifyListnotify_events
 
DescIdStorekeyframestore
 
DescIdStorepropstore
 
BaseContainer m_bc
 
NodeDatam_data
 
- Protected Attributes inherited from GeListNode
GeAliasGoal m_xgoal
 
UInt32 m_bits [4]
 
RootList2Dt_rootlist_parent
 
RootList2Dm_children
 
BaseDocumentparent_doc
 
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.
Since
17.008

Member Typedef Documentation

◆ SUPER

typedef BaseList2D SUPER

Member Function Documentation

◆ IsInstanceOf()

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

Reimplemented from BaseList2D.

◆ IsOverriddenParam()

Bool IsOverriddenParam ( const DescID descID)

Checks if the parameter at descID is overridden.

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

◆ GetSceneNode()

BaseList2D* GetSceneNode ( )

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

Returns
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.

Parameters
[in]takeDataThe Take System context. The caller owns the pointed TakeData.
Returns
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.

Parameters
[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.
Returns
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.

Note
Sub-descriptions are included if overridden.
Parameters
[out]resultThe array to be filled.
Returns
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.

Note
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).
Parameters
[in]takeDataThe Take System context. The caller owns the pointed TakeData.
[in]descIDThe DescID of the edited parameter.

◆ SetTakeNode()

Bool SetTakeNode ( BaseTake newTake)

Private.

◆ GetGroupLink()

BaseOverrideGroup* GetGroupLink ( BaseDocument doc)

Private.

◆ 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 ( )
static

◆ Free()

static void Free ( BaseOverride *&  p)
static