KFbxTakeNodeContainer
#include<kfbxtakenodecontainer.h>

Inheritance diagram for KFbxTakeNodeContainer:

Inheritance graph
[legend]

List of all members.

Detailed Description

This class is a container for take nodes which contain animation data.

A take node contains the animation keys of the container for a given take.

A default take node is always created. This take is used to store default animation values. This take is at index 0, and should not contain animation keys or be removed in any situation.

Be careful when processing take animation. If the current take does not exist for a container,KFbxTakeNodeContainer::GetCurrentTakeNode()andKFbxTakeNodeContainer::GetDefaultTakeNode()will return the sameKFbxTakeNodeobject. If both the default and the current take node are processed without appropriate testing, the same data will be processed twice.

Definition at line83of filekfbxtakenodecontainer.h.


Properties access

virtual bool PropertyNotify(eFbxPropertyNotify pType,KFbxProperty*pProperty)

Take Node Management

KFbxTakeNodeCreateTakeNode(char *pName)
 Create a take node.
bool RemoveTakeNode(int pIndex)
 Remove take node by index.
bool RemoveTakeNode(char *pName)
 Remove take node by name.
int GetTakeNodeCount() const
 Get take node count.
K_DEPRECATEDKFbxTakeNodeGetTakeNode(int pIndex) const
 Get take node by index.
char * GetTakeNodeName(int pIndex)
 Get name of take node at a given index.
virtual bool SetCurrentTakeNode(int pIndex)
 Set current take node by index.
virtual bool SetCurrentTakeNode(char *pName)
 Set current take node by name.
K_DEPRECATEDKFbxTakeNodeGetDefaultTakeNode()
 GetDefaultTakeNode.
K_DEPRECATEDKFbxTakeNodeGetCurrentTakeNode()
 GetCurrentTakeNode.
char * GetCurrentTakeNodeName()
 Get the name of the current take node.
int GetCurrentTakeNodeIndex()
 Get index of the current take node.
virtual bool GetAnimationInterval(KTime&pStart,KTime&pStop)
 Find the start and end time of the current take.

Member Function Documentation

KFbxTakeNode* CreateTakeNode(char * pName ) 

Create a take node.

Parameters:
pName New take node name.
Returns:
Pointer to the created take node or, if a take node with the same name already exists in the node,NULL. In this case,KFbxNode::GetLastErrorID()returns eTAKE_NODE_ERROR andKFbxNode::GetLastErrorString()returns "Take node already exists".

bool RemoveTakeNode(int pIndex ) 

Remove take node by index.

Parameters:
pIndex Index of take node to remove.
Returns:
trueon success,falseotherwise. In the last case,KFbxNode::GetLastErrorID()can return one of the following:
  • eCANNOT_REMOVE_DEFAULT_TAKE_NODE: The default take node can't be removed.
  • eINDEX_OUT_OF_RANGE: The index is out of range.

bool RemoveTakeNode(char * pName ) 

Remove take node by name.

Parameters:
pName Take node name.
Returns:
trueon success,falseotherwise. In the last case,KFbxNode::GetLastErrorID()can return one of the following:
  • eCANNOT_REMOVE_DEFAULT_TAKE_NODE: The default take node can't be removed.
  • eUNKNOWN_TAKE_NODE_NAME: No take node with this name exists in the current node.

int GetTakeNodeCount( ) const

Get take node count.

Returns:
The number of take nodes including the default take node.

K_DEPRECATEDKFbxTakeNode* GetTakeNode(int pIndex ) const

Get take node by index.

Parameters:
pIndex Take node index.
Returns:
Pointer to the indexed take node orNULLif the index is out of range. In the last case,KFbxNode::GetLastErrorID()returns eINDEX_OUT_OF_RANGE.
Remarks:
Index 0 returns the default take.

char* GetTakeNodeName(int pIndex ) 

Get name of take node at a given index.

Parameters:
pIndex Take node index.
Returns:
Name of take node orNULLif the index is out of range. In the last case,KFbxNode::GetLastErrorID()returns eINDEX_OUT_OF_RANGE.
Remarks:
Index 0 returns the name of the default take.

virtual bool SetCurrentTakeNode(int pIndex ) [virtual]

Set current take node by index.

Parameters:
pIndex Index of the current take node.
Returns:
trueon success,falseotherwise. In the last case,KFbxNode::GetLastErrorID()returns eINDEX_OUT_OF_RANGE and the current take node is set to index 0, the default take node.

virtual bool SetCurrentTakeNode(char * pName ) [virtual]

Set current take node by name.

Parameters:
pName Name of the current take node.
Returns:
trueon success,falseotherwise. In the last case,KFbxNode::GetLastErrorID()returns eUNKNOWN_TAKE_NODE_NAME and the current take node is set to index 0, the default take node.

K_DEPRECATEDKFbxTakeNode* GetDefaultTakeNode( ) 

GetDefaultTakeNode.

Returns:
Pointer to the current take node.
Remarks:
If the current take node is set to index 0, it refers to the default take node. Is this case,KFbxNode::GetCurrentTakeNode()andKFbxNode::GetDefaultTakeNodereturn the same pointer.

K_DEPRECATEDKFbxTakeNode* GetCurrentTakeNode( ) 

GetCurrentTakeNode.

Returns:
Pointer to the current take node.
Remarks:
If the current take node is set to index 0, it refers to the default take node. Is this case,KFbxNode::GetCurrentTakeNode()andKFbxNode::GetDefaultTakeNodereturn the same pointer.

char* GetCurrentTakeNodeName( ) 

Get the name of the current take node.

Returns:
Name of the current take node.

int GetCurrentTakeNodeIndex( ) 

Get index of the current take node.

Returns:
Index of the current take node.

virtual bool GetAnimationInterval(KTimepStart,
KTimepStop 
)[virtual]

Find the start and end time of the current take.

Parameters:
pStart Reference to store start time.
pStop Reference to store end time.
Returns:
trueon success,falseotherwise.

Reimplemented inKFbxNode.