Open Reality Reference Guide
FBTake Class Reference

A take is a container for animation in a scene. More...

#include <fbdata.h>

Inheritance diagram for FBTake:

Public Member Functions

 FBTake (const char *pName, HIObject pObject=NULL)
 Constructor. More...
 
virtual void FBDelete () override
 Deletion method. More...
 
FBTakeCopyTake (const char *pNewTakeName)
 Copy the take. More...
 
void CreateNewLayer ()
 Create a new layer. More...
 
void RemoveLayer (int pLayerIndex)
 Remove a layer. More...
 
FBAnimationLayerGetLayer (int pLayerIndex)
 Get the layer object that have the specified ID. More...
 
FBAnimationLayerGetLayerByName (const char *pName)
 Get the layer object that have the specified name. More...
 
void SetCurrentLayer (int pLayerIndex)
 Set the current layer for the take. More...
 
int GetCurrentLayer ()
 Get the current layer for the take. More...
 
int GetLayerCount ()
 Get the layer count. More...
 
bool MoveCurrentLayerUp ()
 Move the current layer up, similar to using the button to move the layer in the Animation Layer tool. More...
 
bool MoveCurrentLayerDown ()
 Move the current layer down, similar to using the button to move the layer in the Animation Layer tool. More...
 
void DuplicateSelectedLayers ()
 Duplicate the selected layers. More...
 
void MergeLayers (FBAnimationLayerMergeOptions pMergeOptions, bool pDeleteMergedLayers, FBMergeLayerMode pMergeMode, bool pMergeLockedProperties=false)
 Merge the selected layers. More...
 
void PlotTakeOnSelected (FBPlotOptions *pPlotOptions)
 Plot the animation on selected models. More...
 
void PlotTakeOnSelectedProperties (FBPlotOptions *pPlotOptions)
 Plot the animation on selected properties. More...
 
void PlotTakeOnSelected (FBTime pPlotPeriod)
 Plot the animation on selected models. More...
 
void PlotAllTakesOnSelected (FBTime pPlotPeriod)
 Plot the animation on selected models for all takes. More...
 
void PlotTakeOnSelectedProperties (FBTime pPlotPeriod)
 Plot the animation on selected properties. More...
 
void PlotAllTakesOnSelectedProperties (FBTime pPlotPeriod)
 Plot the animation on selected properties for all takes. More...
 
void ClearAllProperties (bool pOnSelectedObjectsOnly, bool pOnLockedProperties=false)
 Clear the animation on all the properties. More...
 
void ClearAllPropertiesOnCurrentLayer ()
 Clear all the animation on the current layer. More...
 
void PlotTakeOnObjects (FBPlotOptions *pPlotOptions, FBArrayTemplate< FBBox * > *pObjectsToPlot)
 Plot the animation on given objects. More...
 
void PlotTakeOnObjects (FBTime pPlotPeriod, FBArrayTemplate< FBBox * > *pObjectsToPlot)
 Plot the animation on given objects. More...
 
void PlotAllTakesOnObjects (FBTime pPlotPeriod, FBArrayTemplate< FBBox * > *pObjectsToPlot)
 Plot the animation on given objects for all takes. More...
 
void PlotTakeOnProperties (FBTime pPlotPeriod, FBArrayTemplate< FBProperty * > *pPropertiesToPlot)
 Plot the animation on given properties. More...
 
void PlotAllTakesOnProperties (FBTime pPlotPeriod, FBArrayTemplate< FBProperty * > *pPropertiesToPlot)
 Plot the animation on given properties for all takes. More...
 
int AddTimeMark (FBTime pTime, const char *pName=NULL)
 Add a time mark to the take. More...
 
bool DeleteTimeMark (int pIndex)
 Delete a time mark from the take. More...
 
void DeleteAllTimeMarks ()
 Delete all time marks from the take. More...
 
int GetTimeMarkCount ()
 Returns the number of time marks on the take. More...
 
FBTime GetTimeMarkTime (int pIndex)
 Returns the time associated with a time mark. More...
 
int SetTimeMarkTime (int pIndex, FBTime pTime)
 Sets a new time for an existing time mark. More...
 
const char * GetTimeMarkName (int pIndex)
 Returns the name associated with a time mark. More...
 
bool SetTimeMarkName (int pIndex, const char *pName)
 Sets a new name for an existing time mark. More...
 
FBTimeMarkAction GetTimeMarkAction (int pIndex)
 Returns the action associated with a time mark. More...
 
bool SetTimeMarkAction (int pIndex, FBTimeMarkAction pAction)
 Sets a new action for an existing time mark. More...
 
FBColor GetTimeMarkColor (int pIndex)
 Returns the color associated with a time mark. More...
 
bool SetTimeMarkColor (int pIndex, FBColor pColor)
 Sets a new color for an existing time mark. More...
 
void SetLayerRealSelection (bool pValue)
 Set real selection for layer. More...
 
bool GetLayerRealSelection ()
 Real selection for layer. More...
 
int GetNextTimeMarkIndex ()
 Returns the next time mark index, based on the current local time. More...
 
int GetPreviousTimeMarkIndex ()
 Returns the previous time mark index, based on the current local time. More...
 
bool OffsetAnimation (FBTime &pOffsetTime, FBTime pStartTime=FBTime::MinusInfinity, FBTime pStopTime=FBTime::Infinity, bool pInclusive=true, int pLayerID=-1, bool pOnLockedProperties=false)
 Offset the animation (FCurve keys) of this take object within a time range by a given offset time. More...
 
bool OffsetAnimationOnObjects (FBArrayTemplate< FBBox * > *pObjects, FBTime &pOffsetTime, FBTime pStartTime=FBTime::MinusInfinity, FBTime pStopTime=FBTime::Infinity, bool pInclusive=true, int pLayerID=-1, bool pOnLockedProperties=false)
 Offset the animation (FCurve keys) of this take object on given objects within a time range by a given offset time. More...
 
bool OffsetAnimationOnProperties (FBArrayTemplate< FBProperty * > *pProperties, FBTime &pOffsetTime, FBTime pStartTime=FBTime::MinusInfinity, FBTime pStopTime=FBTime::Infinity, bool pInclusive=true, int pLayerID=-1, bool pOnLockedProperties=false, FBPropertyComponents pPropertyComponents=kFBPropertyComponentAll)
 Offset the animation (FCurve keys) of this take object on given properties within a time range by a given offset time. More...
 
bool DeleteAnimation (FBTime pStartTime=FBTime::MinusInfinity, FBTime pStopTime=FBTime::Infinity, bool pInclusive=true, int pLayerID=-1, bool pOnLockedProperties=false)
 Delete animation (FCurve keys) of this take object within a time range. More...
 
bool DeleteAnimationOnObjects (FBArrayTemplate< FBBox * > *pObjects, FBTime pStartTime=FBTime::MinusInfinity, FBTime pStopTime=FBTime::Infinity, bool pInclusive=true, int pLayerID=-1, bool pOnLockedProperties=false)
 Delete animation (FCurve keys) of this take object on given objects within a time range. More...
 
bool DeleteAnimationOnProperties (FBArrayTemplate< FBProperty * > *pProperties, FBTime pStartTime=FBTime::MinusInfinity, FBTime pStopTime=FBTime::Infinity, bool pInclusive=true, int pLayerID=-1, bool pOnLockedProperties=false, FBPropertyComponents pPropertyComponents=kFBPropertyComponentAll)
 Delete animation (FCurve keys) of this take object on given properties within a time range. More...
 
- Public Member Functions inherited from FBComponent
 FBComponent (HIObject pObject)
 Constructor. More...
 
virtual ~FBComponent ()
 Destructor. More...
 
virtual bool FBCreate ()
 Open Reality Creation function. More...
 
virtual void FBDestroy ()
 Open Reality destruction function. More...
 
virtual bool SetHIObject (HIObject pObject, bool pSDKComponent) override
 Assign component to an internal pointer. More...
 
virtual int PropertyAdd (FBProperty *pProperty)
 Add a property to the component's property manager. More...
 
bool PropertyAddReferenceProperty (FBProperty *pReferenceProperty)
 Add a reference property to the component's property manager. More...
 
void PropertyRemove (FBProperty *pProperty)
 Remove a Property from the component's Property manager. More...
 
void PropertyGetModifiedList (FBArrayTemplate< FBProperty * > &pPropList, FBPlugModificationFlag pModificationFlags)
 Get list of properties which have been modified since last loading. More...
 
FBPropertyPropertyCreate (const char *pName, FBPropertyType pType, const char *pDataType, bool pAnimatable, bool pIsUser=false, FBProperty *pReferenceSource=NULL)
 Create user or dynamic property. More...
 
FBObjectFlag GetObjectFlags ()
 Get all Object Flags (concatenated). More...
 
void SetObjectFlags (FBObjectFlag pFlags)
 SetObjectFlags. More...
 
bool HasObjectFlags (FBObjectFlag pFlags)
 Check whether a specific object flag is enabled. More...
 
void EnableObjectFlags (FBObjectFlag pFlags)
 Enable a specific Object Flags. More...
 
void DisableObjectFlags (FBObjectFlag pFlags)
 Disable a specific Object Flags. More...
 
void SetObjectStatus (FBObjectStatus pStatus, bool pValue)
 Enable/Disable a specific Object Status. More...
 
bool GetObjectStatus (FBObjectStatus pStatus)
 Check to see if an object status is enabled. More...
 
bool ProcessNamespaceHierarchy (FBNamespaceAction pNamespaceAction, const char *pNamespaceName, const char *pReplaceTo=NULL, bool pAddRight=true)
 ProcessNamespaceHierarchy. More...
 
bool ProcessObjectNamespace (FBNamespaceAction pNamespaceAction, const char *pNamespaceName, const char *pReplaceTo=NULL, bool pAddRight=true)
 ProcessObjectNamespace. More...
 
virtual const char * ClassName () override
 Get the class name. More...
 
virtual bool UseCustomPropertyViewSet () const
 Use the custom property viewSet or not. More...
 
const char * GetFullName (void)
 Get the full name. More...
 
void SetOwnerNamespace (FBNamespace *pOwnerNSObj)
 Set the owner Namespace object. More...
 
FBNamespaceGetOwnerNamespace (void)
 Get the owner Namespace object. More...
 
FBFileReferenceGetOwnerFileReference (void)
 Get the owner FileReference object. More...
 
void HardSelect ()
 HardSelect. More...
 
virtual bool Is (int pTypeId) override
 Returns true if object is of type TypeId. More...
 
virtual int GetTypeId () override
 GetTypeId( int pTypeId ) More...
 
- Public Member Functions inherited from FBWrapperHolder
FBScriptWrapperGetWrapper ()
 Return the wrapper interface of this FBObject. More...
 
void AddWrapper (FBScriptWrapper *)
 
void RemoveWrapper (FBScriptWrapper *)
 

Public Attributes

FBPropertyTimeSpan ReferenceTimeSpan
 Read Write Property: Reference time span. More...
 
FBPropertyTimeSpan LocalTimeSpan
 Read Write Property: Local time span. More...
 
FBPropertyString Comments
 Read Write Property: Take comments. More...
 
- Public Attributes inherited from FBComponent
FBPropertyManager PropertyList
 Read Only Property: Manages all of the properties for the component. More...
 
FBPropertyListComponent Components
 List: List of components. More...
 
FBPropertyListComponent Parents
 List: Parents. More...
 
FBPropertyBool Selected
 Read Write Property: Selected property. More...
 
FBPropertyString Name
 Read Write Property: Unique name of object. More...
 
FBPropertyString LongName
 Read Write Property: Name and namespace for object.
More...
 
FBPropertyFolder Folder
 Read Write Property: The folder that contain this component. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from FBComponent
static int GetInternalClassId ()
 
static void FBComponentSetName (FBComponent *pObject, const char *pName)
 
static const char * FBComponentGetName (FBComponent *pObject)
 
static void FBComponentSetLongName (FBComponent *pObject, const char *pName)
 
static const char * FBComponentGetLongName (FBComponent *pObject)
 
- Static Public Attributes inherited from FBComponent
static int TypeInfo
 Contains the Type information of the object. More...
 
- Protected Member Functions inherited from FBPlug
bool IsSDKComponent ()
 Return whether or not item is an SDK component. More...
 
bool ConnectSrc (FBPlug *pSrc, FBConnectionType pConnectionType=kFBConnectionTypeNone)
 Add a source connection. More...
 
bool ConnectDst (FBPlug *pDst, FBConnectionType pConnectionType=kFBConnectionTypeNone)
 Add a destination connection. More...
 
bool ConnectSrcAt (int pDst_SrcIndex, FBPlug *pSrc, FBConnectionType pConnectionType=kFBConnectionTypeNone)
 Add a source connection. More...
 
bool ConnectDstAt (int pSrc_DstIndex, FBPlug *pDst, FBConnectionType pConnectionType=kFBConnectionTypeNone)
 Add a destination connection. More...
 
bool DisconnectDst (FBPlug *pDst)
 Remove a destination connection. More...
 
bool DisconnectSrc (FBPlug *pSrc)
 Remove a source connection. More...
 
void DisconnectAllSrc ()
 Remove all source connections. More...
 
void DisconnectAllDst ()
 Remove all destination connections. More...
 
bool DisconnectDstAt (int pIndex)
 Remove a destination connection at a specified index. More...
 
bool DisconnectSrcAt (int pIndex)
 Remove a source connection at a specified index. More...
 
bool ReplaceDstAt (int pIndex, FBPlug *pDst)
 Replace a destination connection at a specified index. More...
 
bool ReplaceSrcAt (int pIndex, FBPlug *pSrc)
 Replace a source connection at a specified index. More...
 
bool SwapSrc (int pIndexA, int pIndexB)
 Swap source connection at index A with source connection at index B. More...
 
bool MoveSrcAt (int pIndex, int pAtIndex)
 Move source connection at pIndex to pAtIndex. More...
 
bool MoveSrcAt (FBPlug *pSrc, FBPlug *pAtSrc)
 Move source connection pSrc to the position of pAtSrc. More...
 
int GetSrcCount ()
 Get source connection count. More...
 
FBPlugGetSrc (int pIndex)
 Get a source connection's plug at specified index. More...
 
FBConnectionType GetSrcType (int pIndex)
 Get a source connection's type at specified index. More...
 
int GetDstCount ()
 Get destination connection count. More...
 
FBPlugGetDst (int pIndex)
 Get a destination connection's plug at specified index. More...
 
FBConnectionType GetDstType (int pIndex)
 Get a destination connection's type at specified index. More...
 
bool BeginChange ()
 Begins a change on multiple plugs. More...
 
void EndChange ()
 Ends a change on multiple plugs. More...
 
void SetSelfModified (FBPlugModificationFlag pFlag, bool pBool)
 Set the plug's self modification flag. More...
 
bool GetSelfModified (FBPlugModificationFlag pFlag)
 Tell if the plug's self has changed. More...
 
void SetContentModified (FBPlugModificationFlag pFlag, bool pBool)
 Set the plug's owned property/object's modification flag. More...
 
bool GetContentModified (FBPlugModificationFlag pFlag)
 Tell if the plug's content has changed. More...
 
int GetPlugConnectionModifiedList (FBPlugList &pPlugList, FBPlugModificationFlag pConnectionModificatonFlag, bool pAddRemove)
 Get plug's modified src/dst property/object connection added/removed List. More...
 
bool RevertModification (FBPlugModificationFlag pFlag=kFBAllModifiedMask)
 Revert the plug's modification to original status. More...
 
void SetStatusFlag (FBPlugStatusFlag pStatus, bool pValue)
 Set the plug's status flag. More...
 
bool GetStatusFlag (FBPlugStatusFlag pStatus) const
 Tell if the plug's status has changed. More...
 
FBPlugGetOwner ()
 Get the owner of this plug. More...
 
FBPlugGetOwned (int pIndex)
 Get the owned plug at specified index. More...
 
int GetOwnedCount ()
 Get the owned plug count. More...
 
virtual bool PlugDataNotify (FBConnectionAction pAction, FBPlug *pThis, void *pData=NULL, void *pDataOld=NULL, int pDataSize=0)
 PlugDataNotify when overloaded is equivalent of FBSystem.OnConnectionDataNotify but in the context of the derived object only. More...
 
virtual bool PlugStateNotify (FBConnectionAction pAction, FBPlug *pThis, void *pData=NULL, void *pDataOld=NULL, int pDataSize=0)
 PlugStateNotify when overloaded is equivalent of FBSystem.OnConnectionStateNotify but in the context of the derived object only. More...
 
virtual bool PlugNotify (FBConnectionAction pAction, FBPlug *pThis, int pIndex, FBPlug *pPlug=NULL, FBConnectionType pConnectionType=kFBConnectionTypeNone, FBPlug *pNewPlug=NULL)
 PlugNotify when overloaded is equivalent of FBSystem.OnConnectionNotify but in the context of the derived object only. More...
 
- Static Protected Member Functions inherited from FBPlug
static int GetInternalClassId ()
 Internal class Id. More...
 
- Protected Attributes inherited from FBPlug
bool mAllocated
 Contain the Allocation State of the Component. More...
 
HIObject mObject
 Handle on the Plug. More...
 
bool mSDKComponent
 bool Plug is an SDK component.
More...
 
- Static Protected Attributes inherited from FBPlug
static const char * ClassGroupName
 ClassGroupName of the object. More...
 
static int TypeInfo
 TypeInfo. More...
 
static int mGlobalTypeInfo
 Represente the Type Index. More...
 

Detailed Description

A take is a container for animation in a scene.

A take stores data about animation for objects. The transport controls (FBPlayerControl) act on the current take.

In the UI transport controls, a take's start and end determine when the Timeline indicator starts and stops.

You get the current take with FBSystem::CurrentTake, as in the following Python sample:

for myTake in FBSystem().Scene.Takes:
print myTake.Name
Provides access to the underlying system, and the MotionBuilder scene.
Definition: fbsystem.h:157
FBPropertyScene Scene
Read Only Property: Scene.
Definition: fbsystem.h:197

To create a take and have it accessible in the Transport control you could use CopyTake (called Duplicate in the UI):

Python sample code:

from pyfbsdk import *
newTake = FBSystem().CurrentTake.CopyTake("my new take name")
FBPropertyTake CurrentTake
Read Write Property: Current take.
Definition: fbsystem.h:195

C++ sample code:

FBTake* lTake = FBSystem::ThenOne().CurrentTake->CopyTake( "my new take" );
A take is a container for animation in a scene.
Definition: fbdata.h:1727
FBTake * CopyTake(const char *pNewTakeName)
Copy the take.

Or simply create a new empty take like the following:

Python sample code:

from pyfbsdk import *
newTake = FBTake("my new take name")
FBSystem().Scene.Takes.append(newTake)
FBTake(const char *pName, HIObject pObject=NULL)
Constructor.

C++ sample code:

FBSystem::TheOne()::Scene.Takes.Add( new FBTake( "my new take" ));
static FBSystem & TheOne()
Get the global FBSystem object.

Definition at line 1727 of file fbdata.h.

Constructor & Destructor Documentation

◆ FBTake()

FBTake ( const char *  pName,
HIObject  pObject = NULL 
)

Constructor.

Parameters
pNameName of take.
pObjectFor internal use only (default is NULL).

Member Function Documentation

◆ AddTimeMark()

int AddTimeMark ( FBTime  pTime,
const char *  pName = NULL 
)

Add a time mark to the take.

It doesn't allow creating a time mark at the same time of another time mark. Note: Internally, the time marks are stored in time order. Adding a time mark before other existing time marks will modify the index of these other time marks.

Parameters
pTimeTime where to add the time mark on the take.
pNameName of the time mark to add.
Returns
The index of the time mark added if the operation is successful, -1 otherwise.

◆ ClearAllProperties()

void ClearAllProperties ( bool  pOnSelectedObjectsOnly,
bool  pOnLockedProperties = false 
)

Clear the animation on all the properties.

Parameters
pOnSelectedObjectsOnlySpecify if clear will be performed on all objects or only on the one that are currently selected.
pOnLockedPropertiesSpecify if clear will be performed on locked properties as well.

◆ ClearAllPropertiesOnCurrentLayer()

void ClearAllPropertiesOnCurrentLayer ( )

Clear all the animation on the current layer.

◆ CopyTake()

FBTake* CopyTake ( const char *  pNewTakeName)

Copy the take.

Will create a copy of the current take, with the current take data. This is analogous to creating a new take, and copying the current take data into it. The Layers data and the TimeWarp date will be copied. The newly created take will be set as the current take. The newly created take is automatically added to the scene and available in the Transport control.

Parameters
pNewTakeNameThe name for the new take.
Returns
Handle to the newly created take.

◆ CreateNewLayer()

void CreateNewLayer ( )

Create a new layer.

◆ DeleteAllTimeMarks()

void DeleteAllTimeMarks ( )

Delete all time marks from the take.

◆ DeleteAnimation()

bool DeleteAnimation ( FBTime  pStartTime = FBTime::MinusInfinity,
FBTime  pStopTime = FBTime::Infinity,
bool  pInclusive = true,
int  pLayerID = -1,
bool  pOnLockedProperties = false 
)

Delete animation (FCurve keys) of this take object within a time range.

Parameters
pStartTimeStart of time range.
pStopTimeEnd of time range.
pInclusiveTrue to include within the time range the keys at pStartTime and pStopTime, false otherwise.
pLayerIDThe animation layer ID being affected by the delete operation, -1 to delete the animation of all animations layers.
pOnLockedPropertiesTrue to delete animation on locked properties, false to skip deleting animation on locked properties.
Returns
True if the delete operation is successful (at least one FCurve has been modified), false otherwise (e.g. no keys found within the time range, invalid layer ID, etc.).

◆ DeleteAnimationOnObjects()

bool DeleteAnimationOnObjects ( FBArrayTemplate< FBBox * > *  pObjects,
FBTime  pStartTime = FBTime::MinusInfinity,
FBTime  pStopTime = FBTime::Infinity,
bool  pInclusive = true,
int  pLayerID = -1,
bool  pOnLockedProperties = false 
)

Delete animation (FCurve keys) of this take object on given objects within a time range.

Parameters
pObjectsObjects affected by the delete operation.
pStartTimeStart of time range.
pStopTimeEnd of time range.
pInclusiveTrue to include within the time range the keys at pStartTime and pStopTime, false otherwise.
pLayerIDThe animation layer ID being affected by the delete operation, -1 to delete the animation of all animations layers.
pOnLockedPropertiesTrue to delete animation on locked properties, false to skip deleting animation on locked properties.
Returns
True if the delete operation is successful (at least one FCurve has been modified), false otherwise (e.g. no keys found within the time range, invalid layer ID, etc.).

◆ DeleteAnimationOnProperties()

bool DeleteAnimationOnProperties ( FBArrayTemplate< FBProperty * > *  pProperties,
FBTime  pStartTime = FBTime::MinusInfinity,
FBTime  pStopTime = FBTime::Infinity,
bool  pInclusive = true,
int  pLayerID = -1,
bool  pOnLockedProperties = false,
FBPropertyComponents  pPropertyComponents = kFBPropertyComponentAll 
)

Delete animation (FCurve keys) of this take object on given properties within a time range.

Parameters
pPropertiesProperties affected by the delete operation.
pStartTimeStart of time range.
pStopTimeEnd of time range.
pInclusiveTrue to include within the time range the keys at pStartTime and pStopTime, false otherwise.
pLayerIDThe animation layer ID being affected by the delete operation, -1 to delete the animation of all animations layers.
pOnLockedPropertiesTrue to delete animation on locked properties, false to skip deleting animation on locked properties.
pPropertyComponentsThe component bit field considered when performing the delete operation, for properties having such components. By default, all components are considered. If a property don't have any component, this parameter is not affecting that property.
Returns
True if the delete operation is successful (at least one FCurve has been modified), false otherwise (e.g. no keys found within the time range, invalid layer ID, etc.).

◆ DeleteTimeMark()

bool DeleteTimeMark ( int  pIndex)

Delete a time mark from the take.

Note: Internally, the time marks are stored in time order. Deleting a time mark will modify the index of time marks laying after the deleted time mark.

Parameters
pIndexIndex of the time mark to delete.
Returns
True if the operation is successful, false otherwise.

◆ DuplicateSelectedLayers()

void DuplicateSelectedLayers ( )

Duplicate the selected layers.

This is equivalent of doing a copy-paste.

◆ FBDelete()

virtual void FBDelete ( )
overridevirtual

Deletion method.

Using this method to delete the take insure that the destruction process follows the same path as if the GUI had been used.

Reimplemented from FBComponent.

◆ GetCurrentLayer()

int GetCurrentLayer ( )

Get the current layer for the take.

Returns
The current layer index.

◆ GetLayer()

FBAnimationLayer* GetLayer ( int  pLayerIndex)

Get the layer object that have the specified ID.

Parameters
pLayerIndexThe index of the layer that will be returned.
Returns
Layer with the specified ID.

◆ GetLayerByName()

FBAnimationLayer* GetLayerByName ( const char *  pName)

Get the layer object that have the specified name.

Parameters
pNameThe name of the animation layer to get.
Returns
Layer with the specified name or NULL if no layer has been found.

◆ GetLayerCount()

int GetLayerCount ( )

Get the layer count.

Returns
The layer count.

◆ GetLayerRealSelection()

bool GetLayerRealSelection ( )

Real selection for layer.

Check the SetLayerRealSelection function for more information about this.

Returns
True if selecting a layer will also select the FBComponent of that layer.

◆ GetNextTimeMarkIndex()

int GetNextTimeMarkIndex ( )

Returns the next time mark index, based on the current local time.

Returns
The next time mark index, -1 if any next time mark is available.

◆ GetPreviousTimeMarkIndex()

int GetPreviousTimeMarkIndex ( )

Returns the previous time mark index, based on the current local time.

Returns
The previous time mark index, -1 if any previous time mark is available.

◆ GetTimeMarkAction()

FBTimeMarkAction GetTimeMarkAction ( int  pIndex)

Returns the action associated with a time mark.

Parameters
pIndexIndex of the time mark.
Returns
The action associated with the time mark.

◆ GetTimeMarkColor()

FBColor GetTimeMarkColor ( int  pIndex)

Returns the color associated with a time mark.

Parameters
pIndexIndex of the time mark.
Returns
The color associated with the time mark.

◆ GetTimeMarkCount()

int GetTimeMarkCount ( )

Returns the number of time marks on the take.

Returns
The number of time marks on the take.

◆ GetTimeMarkName()

const char* GetTimeMarkName ( int  pIndex)

Returns the name associated with a time mark.

Parameters
pIndexIndex of the time mark.
Returns
The name associated with the time mark.

◆ GetTimeMarkTime()

FBTime GetTimeMarkTime ( int  pIndex)

Returns the time associated with a time mark.

Parameters
pIndexIndex of the time mark.
Returns
The time associated with the time mark.

◆ MergeLayers()

void MergeLayers ( FBAnimationLayerMergeOptions  pMergeOptions,
bool  pDeleteMergedLayers,
FBMergeLayerMode  pMergeMode,
bool  pMergeLockedProperties = false 
)

Merge the selected layers.

This is equivalent of pressing the merge button in the Animation Layer editor.

Parameters
pMergeOptionsIndicate which objects, layers and properties (selected or all) should be merged.
pDeleteMergedLayersThe source layer will be deleted after the merge if no animation is left on those layers, or if those layers are not parent of another layer.
pMergeModeSet the layer mode of the resulting layer, if possible (the BaseAnimation layer cannot be modified).
pMergeLockedPropertiesThe properties will be merged even if they are locked.

◆ MoveCurrentLayerDown()

bool MoveCurrentLayerDown ( )

Move the current layer down, similar to using the button to move the layer in the Animation Layer tool.

Use the SetCurrentLayer to specify the current layer.

Returns
True if successful.

◆ MoveCurrentLayerUp()

bool MoveCurrentLayerUp ( )

Move the current layer up, similar to using the button to move the layer in the Animation Layer tool.

Use the SetCurrentLayer to specify the current layer.

Returns
True if successful.

◆ OffsetAnimation()

bool OffsetAnimation ( FBTime pOffsetTime,
FBTime  pStartTime = FBTime::MinusInfinity,
FBTime  pStopTime = FBTime::Infinity,
bool  pInclusive = true,
int  pLayerID = -1,
bool  pOnLockedProperties = false 
)

Offset the animation (FCurve keys) of this take object within a time range by a given offset time.

Non-moving FCurve keys that are situated in the target range are deleted automatically, to preserve the animation being offset.

Parameters
pOffsetTimeThe offset time to apply.
pStartTimeStart of time range.
pStopTimeEnd of time range.
pInclusiveTrue to include within the time range the keys at pStartTime and pStopTime, false otherwise.
pLayerIDThe animation layer ID being affected by the offset operation, -1 to offset the animation of all animations layers.
pOnLockedPropertiesTrue to offset animation on locked properties, false to skip offsetting animation on locked properties.
Returns
True if the offset operation is successful (at least one FCurve has been modified), false otherwise (e.g. no keys found within the time range, invalid layer ID, etc.).

◆ OffsetAnimationOnObjects()

bool OffsetAnimationOnObjects ( FBArrayTemplate< FBBox * > *  pObjects,
FBTime pOffsetTime,
FBTime  pStartTime = FBTime::MinusInfinity,
FBTime  pStopTime = FBTime::Infinity,
bool  pInclusive = true,
int  pLayerID = -1,
bool  pOnLockedProperties = false 
)

Offset the animation (FCurve keys) of this take object on given objects within a time range by a given offset time.

Non-moving FCurve keys that are situated in the target range are deleted automatically, to preserve the animation being offset.

Parameters
pObjectsObjects affected by the offset operation.
pOffsetTimeThe offset time to apply.
pStartTimeStart of time range.
pStopTimeEnd of time range.
pInclusiveTrue to include within the time range the keys at pStartTime and pStopTime, false otherwise.
pLayerIDThe animation layer ID being affected by the offset operation, -1 to offset the animation of all animations layers.
pOnLockedPropertiesTrue to offset animation on locked properties, false to skip offsetting animation on locked properties.
Returns
True if the offset operation is successful (at least one FCurve has been modified), false otherwise (e.g. no keys found within the time range, invalid layer ID, etc.).

◆ OffsetAnimationOnProperties()

bool OffsetAnimationOnProperties ( FBArrayTemplate< FBProperty * > *  pProperties,
FBTime pOffsetTime,
FBTime  pStartTime = FBTime::MinusInfinity,
FBTime  pStopTime = FBTime::Infinity,
bool  pInclusive = true,
int  pLayerID = -1,
bool  pOnLockedProperties = false,
FBPropertyComponents  pPropertyComponents = kFBPropertyComponentAll 
)

Offset the animation (FCurve keys) of this take object on given properties within a time range by a given offset time.

Non-moving FCurve keys that are situated in the target range are deleted automatically, to preserve the animation being offset.

Parameters
pPropertiesProperties affected by the offset operation.
pOffsetTimeThe offset time to apply.
pStartTimeStart of time range.
pStopTimeEnd of time range.
pInclusiveTrue to include within the time range the keys at pStartTime and pStopTime, false otherwise.
pLayerIDThe animation layer ID being affected by the offset operation, -1 to offset the animation of all animations layers.
pOnLockedPropertiesTrue to offset animation on locked properties, false to skip offsetting animation on locked properties.
pPropertyComponentsThe component bit field considered when performing the offset operation, for properties having such components. By default, all components are considered. If a property don't have any component, this parameter is not affecting that property.
Returns
True if the offset operation is successful (at least one FCurve has been modified), false otherwise (e.g. no keys found within the time range, invalid layer ID, etc.).

◆ PlotAllTakesOnObjects()

void PlotAllTakesOnObjects ( FBTime  pPlotPeriod,
FBArrayTemplate< FBBox * > *  pObjectsToPlot 
)

Plot the animation on given objects for all takes.

This method will plot the animation of all takes to the specified objects. Although the method supports boxes, the most common use case it to specify FBModels that have been cast to boxes.

Parameters
pPlotPeriodPeriod for the plot.
pObjectsToPlotObjects to plot.

◆ PlotAllTakesOnProperties()

void PlotAllTakesOnProperties ( FBTime  pPlotPeriod,
FBArrayTemplate< FBProperty * > *  pPropertiesToPlot 
)

Plot the animation on given properties for all takes.

Will plot the animation for all takes on the given properties in the scene.

Parameters
pPlotPeriodPeriod for the plot.
pPropertiesToPlotProperties to plot.

◆ PlotAllTakesOnSelected()

void PlotAllTakesOnSelected ( FBTime  pPlotPeriod)

Plot the animation on selected models for all takes.

Will plot the animation for all takes on the selected models in the scene.

Parameters
pPlotPeriodPeriod for the plot.

◆ PlotAllTakesOnSelectedProperties()

void PlotAllTakesOnSelectedProperties ( FBTime  pPlotPeriod)

Plot the animation on selected properties for all takes.

Will plot the animation for all takes on the selected properties in the scene.

Parameters
pPlotPeriodPeriod for the plot.

◆ PlotTakeOnObjects() [1/2]

void PlotTakeOnObjects ( FBPlotOptions pPlotOptions,
FBArrayTemplate< FBBox * > *  pObjectsToPlot 
)

Plot the animation on given objects.

This method will plot the animation of the take to the specified objects. Although the method supports boxes, the most common use case it to specify FBModels that have been cast to boxes.

Parameters
pPlotOptionsOption parameters for plotting
pObjectsToPlotObjects to plot.

◆ PlotTakeOnObjects() [2/2]

void PlotTakeOnObjects ( FBTime  pPlotPeriod,
FBArrayTemplate< FBBox * > *  pObjectsToPlot 
)

Plot the animation on given objects.

This method will plot the animation of the take to the specified objects. Although the method supports boxes, the most common use case it to specify FBModels that have been cast to boxes.

Parameters
pPlotPeriodPeriod for the plot.
pObjectsToPlotObjects to plot.

◆ PlotTakeOnProperties()

void PlotTakeOnProperties ( FBTime  pPlotPeriod,
FBArrayTemplate< FBProperty * > *  pPropertiesToPlot 
)

Plot the animation on given properties.

Will plot the animation of the take in question on the given properties in the scene.

Parameters
pPlotPeriodPeriod for the plot.
pPropertiesToPlotProperties to plot.

◆ PlotTakeOnSelected() [1/2]

void PlotTakeOnSelected ( FBPlotOptions pPlotOptions)

Plot the animation on selected models.

Will plot the animation of the take in question on the selected models in the scene.

Parameters
pPlotOptionsOption parameters for plotting

◆ PlotTakeOnSelected() [2/2]

void PlotTakeOnSelected ( FBTime  pPlotPeriod)

Plot the animation on selected models.

Will plot the animation of the take in question on the selected models in the scene.

Parameters
pPlotPeriodPeriod for the plot.

◆ PlotTakeOnSelectedProperties() [1/2]

void PlotTakeOnSelectedProperties ( FBPlotOptions pPlotOptions)

Plot the animation on selected properties.

Will plot the animation of the take in question on the selected properties in the scene.

Parameters
pPlotOptionsOption parameters for plotting

◆ PlotTakeOnSelectedProperties() [2/2]

void PlotTakeOnSelectedProperties ( FBTime  pPlotPeriod)

Plot the animation on selected properties.

Will plot the animation of the take in question on the selected properties in the scene.

Parameters
pPlotPeriodPeriod for the plot.

◆ RemoveLayer()

void RemoveLayer ( int  pLayerIndex)

Remove a layer.

Parameters
pLayerIndexLayer with at the specified index will be removed.

◆ SetCurrentLayer()

void SetCurrentLayer ( int  pLayerIndex)

Set the current layer for the take.

Note that this will not deselect the other layers.

Parameters
pLayerIndexThe layer index to be set as the current one.

◆ SetLayerRealSelection()

void SetLayerRealSelection ( bool  pValue)

Set real selection for layer.

This method is used to specify if using the SelectLayer method of the FBAnimationLayer object will also select the FBComponent object. In previous version of MotionBuilder, an animation layer was always selected, causing the layer to be displayed in the property editor. Also, when parsing the selected objects in the SDK, a layer would always be there. Setting this value to false will prevent this.

Parameters
pValueTrue if future layer selection will also select the FBComponent object.

◆ SetTimeMarkAction()

bool SetTimeMarkAction ( int  pIndex,
FBTimeMarkAction  pAction 
)

Sets a new action for an existing time mark.

Parameters
pIndexIndex of the time mark.
pActionThe new action for the time mark.
Returns
True if the operation is successful, false otherwise.

◆ SetTimeMarkColor()

bool SetTimeMarkColor ( int  pIndex,
FBColor  pColor 
)

Sets a new color for an existing time mark.

Parameters
pIndexIndex of the time mark.
pColorThe new color for the time mark.
Returns
True if the operation is successful, false otherwise.

◆ SetTimeMarkName()

bool SetTimeMarkName ( int  pIndex,
const char *  pName 
)

Sets a new name for an existing time mark.

Parameters
pIndexIndex of the time mark.
pNameThe new name for the time mark.
Returns
True if the operation is successful, false otherwise.

◆ SetTimeMarkTime()

int SetTimeMarkTime ( int  pIndex,
FBTime  pTime 
)

Sets a new time for an existing time mark.

Note: Internally, the time marks are stored in time order. Modifying the time of a time mark may modify the index of all time marks.

Parameters
pIndexIndex of the time mark.
pTimeThe new time for the time mark.
Returns
The new index of the modified time mark.

Member Data Documentation

◆ Comments

FBPropertyString Comments

Read Write Property: Take comments.

Definition at line 1884 of file fbdata.h.

◆ LocalTimeSpan

FBPropertyTimeSpan LocalTimeSpan

Read Write Property: Local time span.

Definition at line 1883 of file fbdata.h.

◆ ReferenceTimeSpan

FBPropertyTimeSpan ReferenceTimeSpan

Read Write Property: Reference time span.

Definition at line 1882 of file fbdata.h.


The documentation for this class was generated from the following file: