#include <c4d_basetake.h>
Public Types | |
typedef BaseList2D | SUPER |
![]() | |
typedef GeListNode | SUPER |
![]() | |
typedef PrivateChunk | SUPER |
Navigation | |
BaseTake * | GetNext () |
BaseTake * | GetPred () |
BaseTake * | GetUp () |
BaseTake * | GetDown () |
BaseTake * | GetDownLast () |
Miscellaneous | |
Bool | IsMain () |
Bool | SearchHierarchy (BaseTake *op) |
void | Reset () |
Bool | CompactTake (BaseDocument *doc) |
Bool | RestoreTake (BaseDocument *doc) |
static BaseTake * | Alloc () |
static void | Free (BaseTake *&p) |
Override | |
Bool | GetOverrides (GeTempDynArray< GeListNode > &selection) |
Bool | GetOverrideGroups (GeTempDynArray< GeListNode > &selection) |
BaseOverride * | FindOrAddOverrideParam (TakeData *takeData, BaseList2D *node, const DescID &descID, const GeData &overrideValue, const GeData &backupValue=GeData(), Bool deleteAnim=false) |
void | DeleteOverride (TakeData *takeData, BaseList2D *node, const DescID &descID) |
BaseOverride * | FindOverride (TakeData *takeData, BaseList2D *node) |
BaseOverride * | FindOverrideInHierarchy (TakeData *takeData, BaseList2D *node, const DescID &descID, BaseTake *&resultTake) |
BaseOverrideGroup * | AddOverrideGroup () |
BaseOverrideGroup * | GetFirstOverrideGroup () |
Camera | |
BaseObject * | GetCamera (TakeData *takeData) |
BaseObject * | GetEffectiveCamera (TakeData *takeData, BaseTake *&resultTake) |
void | SetCamera (TakeData *takeData, BaseObject *camera) |
RenderData | |
RenderData * | GetRenderData (TakeData *takeData) |
RenderData * | GetEffectiveRenderData (TakeData *takeData, BaseTake *&resultTake) |
void | SetRenderData (TakeData *takeData, RenderData *rData) |
Represents a Take of the Take System. It stores BaseOverride objects that define how a specific entity is changed in a Take.
typedef BaseList2D SUPER |
|
virtual |
Reimplemented from BaseList2D.
BaseTake* GetNext | ( | ) |
Gets the next Take in the list. Convenience version of GeListNode::GetNext() returning a BaseTake*.
BaseTake* GetPred | ( | ) |
Gets the previous Take in the list. Convenience version of GeListNode::GetPred() returning a BaseTake*.
BaseTake* GetUp | ( | ) |
Gets the parent Take of the list node. Convenience version of GeListNode::GetUp() returning a BaseTake*.
BaseTake* GetDown | ( | ) |
Gets the first child Take of the list node. Convenience version of GeListNode::GetDown() returning a BaseTake*.
BaseTake* GetDownLast | ( | ) |
Gets the last child Take of the list node. Convenience version of GeListNode::GetDownLast() returning a BaseTake*.
Bool IsMain | ( | ) |
Checks if the Take is the Main Take.
Checks if the Take is a child of op.
[in] | op | The Take to search within his hierarchy. The caller owns the pointed BaseTake. |
Bool GetOverrides | ( | GeTempDynArray< GeListNode > & | selection | ) |
Retrieves all Override nodes owned by the Take.
[out] | selection | The Array to be filled. |
Bool GetOverrideGroups | ( | GeTempDynArray< GeListNode > & | selection | ) |
Retrieves all Override Groups nodes owned by the Take.
[out] | selection | The Array to be filled. |
BaseOverride* FindOrAddOverrideParam | ( | TakeData * | takeData, |
BaseList2D * | node, | ||
const DescID & | descID, | ||
const GeData & | overrideValue, | ||
const GeData & | backupValue = GeData() , |
||
Bool | deleteAnim = false |
||
) |
Searches if parameter with descID is Overridden. If not adds a new Override with passed value for the Take.
If the BaseOverride node does not exist the function automatically allocates and inserts it, plus takes care to backup data properly in parent or Main Take.
[in] | takeData | The Take System context. The caller owns the pointed TakeData. |
[in] | node | The scene node to override. The caller owns the pointed BaseList2D. |
[in] | descID | The parameter DescID to override. |
[in] | overrideValue | The initial value to set in the overrides for the Take. |
[in] | backupValue | Optionally provide the backup value for the Main/parent Take. Mandatory to set this for parameters not from the GUI. |
[in] | deleteAnim | If true and original parameter in the scene is animated the animation will be removed in the resulting Override. |
void DeleteOverride | ( | TakeData * | takeData, |
BaseList2D * | node, | ||
const DescID & | descID | ||
) |
Deletes a single parameter override for node with descID. If the Override results empty (no more overridden parameters) then it will be deleted too.
[in] | takeData | The Take System context. The caller owns the pointed TakeData. |
[in] | node | The scene node to delete the parameter for. The caller owns the pointed BaseList2D. |
[in] | descID | The parameter DescID to be deleted. |
BaseOverride* FindOverride | ( | TakeData * | takeData, |
BaseList2D * | node | ||
) |
Searches if node is overridden in the Take.
[in] | takeData | The Take System context. The caller owns the pointed TakeData. |
[in] | node | The node to search the BaseOverride for. The caller owns the pointed BaseList2D. |
BaseOverride* FindOverrideInHierarchy | ( | TakeData * | takeData, |
BaseList2D * | node, | ||
const DescID & | descID, | ||
BaseTake *& | resultTake | ||
) |
Searches if node parameter with descID is overridden in the Take or in a parent.
[in] | takeData | The Take System context. The caller owns the pointed TakeData. |
[in] | node | The node to search the BaseOverride for. The caller owns the pointed BaseList2D. |
[in] | descID | The parameter DescID to search for. |
[out] | resultTake | Filled with The Take that owns the Override. Can be equal to *this or nullptr if the Override is not found. The caller owns the pointed BaseTake. |
BaseOverrideGroup* AddOverrideGroup | ( | ) |
Adds a new Override Group to the Take.
BaseOverrideGroup* GetFirstOverrideGroup | ( | ) |
Gets the first Override Group in the Take.
BaseObject* GetCamera | ( | TakeData * | takeData | ) |
Gets the camera for the Take.
[in] | takeData | The Take System context. The caller owns the pointed TakeData. |
BaseObject* GetEffectiveCamera | ( | TakeData * | takeData, |
BaseTake *& | resultTake | ||
) |
Gets the camera used by the Take even if it comes from a parent Take.
[in] | takeData | The Take System context. The caller owns the pointed TakeData. |
[out] | resultTake | The Take the camera comes from. Cineware SDK owns the pointed BaseTake. |
void SetCamera | ( | TakeData * | takeData, |
BaseObject * | camera | ||
) |
Sets the camera for the Take.
[in] | takeData | The Take System context. The caller owns the pointed TakeData. |
[in] | camera | The camera to set, or nullptr to reset and use one from a parent Take. |
RenderData* GetRenderData | ( | TakeData * | takeData | ) |
Gets the RenderData for the Take.
[in] | takeData | The Take System context. The caller owns the pointed TakeData. |
RenderData* GetEffectiveRenderData | ( | TakeData * | takeData, |
BaseTake *& | resultTake | ||
) |
Gets the RenderData used by the Take even if it comes from a parent Take.
[in] | takeData | The Take System context. The caller owns the pointed TakeData. |
[out] | resultTake | The Take the RenderData come from. Cineware SDK owns the pointed BaseTake. |
void SetRenderData | ( | TakeData * | takeData, |
RenderData * | rData | ||
) |
Sets the RenderData for the Take.
[in] | takeData | The Take System context. The caller owns the pointed TakeData. |
[in] | rData | The RenderData to set, or nullptr to reset and use one from a parent Take. The caller owns the pointed RenderData. |
void Reset | ( | ) |
Resets all sub-structures and Overrides for the Take.
Bool CompactTake | ( | BaseDocument * | doc | ) |
Private.
Bool RestoreTake | ( | BaseDocument * | doc | ) |
Private.
|
static |
Private.
|
static |
Private.