KFbxDocument Class Reference

#include <kfbxdocument.h>
Inheritance diagram for KFbxDocument:
Inheritance graph
[legend]

List of all members.


Detailed Description

This class contains objects.
This class also provides access to take information.

Definition at line 58 of file kfbxdocument.h.


Error Management

The same error object is shared among instances of this class.

enum   EError
  Error identifiers. More...
KError GetError ()
  Retrieve error object.
EError  GetLastErrorID () const
  Get last error code.
const char *  GetLastErrorString () const
  Get last error string.

Document Member Manager

virtual void  Clear ()
  Delete the scene information.
void  AddRootMember (KFbxObject *pMember)
  Add a member.
void  RootRootRemoveMember (KFbxObject *pMember)
  Remove a member.
template<class T>
T *  FindRootMember (T const *pfbxType, char *pName)
  Find a member.
int  GetRootMemberCount () const
  Return the number of objects in the collection.
template<class T>
int  GetRootMemberCount (T const *pFBX_TYPE) const
  Return the number of objects of class T in the collection.
int  GetRootMemberCount (KFbxCriteria pCriteria) const
  Return the number of objects satisfying given criteria in the collection.
KFbxObject GetRootMember (int pIndex=0) const
  Return the index'th member of the collection.
template<class T>
T *  GetRootMember (T const *pFBX_TYPE, int pIndex=0) const
  Return the index'th member of class T of the collection.
KFbxObject GetRootMember (KFbxCriteria pCriteria, int pIndex=0) const
  Return the index'th member of the collection which satisfies given criteria.
virtual bool  IsRootMember (KFbxObject *pMember) const
  Is an object part of the collection.

Scene information

KFbxDocumentInfo GetDocumentInfo () const
  Get the scene information.
void  SetDocumentInfo (KFbxDocumentInfo *pSceneInfo)
  Set the scene information.

Offloading management

NOTE: The document does not own the peripheral therefore it will not attempt to delete it at destruction time.

Also, cloning the document will share the pointer to the peripheral across the cloned objects. And so will do the assignment operator.

void  SetPeripheral (KFbxPeripheral *pPeripheral)
  Set the current peripheral.
virtual KFbxPeripheral GetPeripheral ()
  Retrieve the peripheral of that object.
int  UnloadContent ()
  Offload all the unloadable objects contained in the document using the currently set offload peripheral.
int  LoadContent ()
  Load all the objects contained in the document with the data from the currently set offload peripheral.

Referencing management

int  GetReferencingDocuments (KArrayTemplate< KFbxDocument * > &pReferencingDocuments) const
  Fills an array of pointers to documents that reference objects in this document.
int  GetReferencingObjects (KFbxDocument const *pFromDoc, KArrayTemplate< KFbxObject * > &pReferencingObjects) const
  Fills an array of pointers to objects in a given document (pFromDoc) that reference objects in this document.
int  GetReferencedDocuments (KArrayTemplate< KFbxDocument * > &pReferencedDocuments) const
  Fills an array of pointers to documents that are referenced by objects in this document.
int  GetReferencedObjects (KFbxDocument const *pToDoc, KArrayTemplate< KFbxObject * > &pReferencedObjects) const
  Fills an array of pointers to objects in a given document (pToDoc) that are referenced by objects in this document.
KString  GetPathToRootDocument (void) const
  Gets the path string to the root document, if it exists.
void  GetDocumentPathToRootDocument (KArrayTemplate< KFbxDocument * > &pDocumentPath, bool pFirstCall=true) const
  Gets the document path to the root document, if it exists.
bool  IsARootDocument (void)
  Tells if this document is a root document.

Take Management

bool  CreateTake (char *pName)
  Create a take.
bool  RemoveTake (char *pName)
  Remove a take.
bool  SetCurrentTake (char *pName)
  Set the current take.
char *  GetCurrentTakeName ()
  Get current take name.
void  FillTakeNameArray (KArrayTemplate< KString * > &pNameArray)
  Fill a string array with all existing take names.

Take Information Management

bool  SetTakeInfo (const KFbxTakeInfo &pTakeInfo)
  Set take information about an available take.
KFbxTakeInfo GetTakeInfo (const KString &pTakeName)
  Get take information about an available take.

Member Enumeration Documentation

enum EError

Error identifiers.

Most of these are only used internally.

Definition at line 343 of file kfbxdocument.h.


Member Function Documentation

virtual void Clear (  )  [virtual]

Delete the scene information.

Reimplemented from KFbxCollection.

Reimplemented in KFbxScene.

void AddRootMember ( KFbxObject pMember  )  [inline]

Add a member.

Parameters:
pMember  The member to be added.

Definition at line 80 of file kfbxdocument.h.

References KFbxCollection::AddMember().

void RootRootRemoveMember ( KFbxObject pMember  )  [inline]

Remove a member.

Parameters:
pMember  The member to be removed.

Definition at line 84 of file kfbxdocument.h.

References KFbxCollection::RemoveMember().

T* FindRootMember ( T const *  pfbxType,
char *  pName  
) [inline]

Find a member.

Parameters:
pfbxType  Type information.
pName  Member name.

Definition at line 89 of file kfbxdocument.h.

int GetRootMemberCount (  )  const [inline]

Return the number of objects in the collection.

Definition at line 92 of file kfbxdocument.h.

int GetRootMemberCount ( T const *  pFBX_TYPE  )  const [inline]

Return the number of objects of class T in the collection.

Parameters:
pFBX_TYPE  Type information.
Returns:
The number of objects of class T in the collection.

Definition at line 97 of file kfbxdocument.h.

int GetRootMemberCount ( KFbxCriteria  pCriteria  )  const

Return the number of objects satisfying given criteria in the collection.

Parameters:
pCriteria  The given criteria.
Returns:
The number of objects satisfying given criteria

KFbxObject* GetRootMember ( int  pIndex = 0  )  const [inline]

Return the index'th member of the collection.

Parameters:
pIndex  The member index.

Definition at line 107 of file kfbxdocument.h.

T* GetRootMember ( T const *  pFBX_TYPE,
int  pIndex = 0  
) const [inline]

Return the index'th member of class T of the collection.

Parameters:
pFBX_TYPE  Type information.
pIndex  The member index.

Definition at line 112 of file kfbxdocument.h.

KFbxObject* GetRootMember ( KFbxCriteria  pCriteria,
int  pIndex = 0  
) const

Return the index'th member of the collection which satisfies given criteria.

Parameters:
pCriteria  The given criteria.
pIndex  The member index.

virtual bool IsRootMember ( KFbxObject pMember  )  const [virtual]

Is an object part of the collection.

Parameters:
pMember 
Returns:
True if pMember is an object part of the collection, false otherwise.

KFbxDocumentInfo* GetDocumentInfo (  )  const

Get the scene information.

Returns:
Pointer to the scene information object.

Referenced by KFbxScene::GetSceneInfo().

void SetDocumentInfo ( KFbxDocumentInfo pSceneInfo  ) 

Set the scene information.

Parameters:
pSceneInfo  Pointer to the scene information object.

Referenced by KFbxScene::SetSceneInfo().

void SetPeripheral ( KFbxPeripheral pPeripheral  ) 

Set the current peripheral.

Parameters:
pPeripheral  The peripheral to be set.

virtual KFbxPeripheral* GetPeripheral (  )  [virtual]

Retrieve the peripheral of that object.

Returns:
Return the current peripheral for that object
Remarks:
A peripheral manipulates the content of an object for instance, a peripheral can load the connections of an object on demand.

Reimplemented from KFbxObject.

int UnloadContent (  ) 

Offload all the unloadable objects contained in the document using the currently set offload peripheral.

Returns:
The number of objects that the document have been able to unload.
Remarks:
Errors that occurred during the operation can be inspected using the GetError() method.

int LoadContent (  ) 

Load all the objects contained in the document with the data from the currently set offload peripheral.

Returns:
The number of objects reloaded.
Remarks:
Errors that occurred during the operation can be inspected using the GetError() method.

int GetReferencingDocuments ( KArrayTemplate< KFbxDocument * > &  pReferencingDocuments  )  const

Fills an array of pointers to documents that reference objects in this document.

Parameters:
pReferencingDocuments  array of pointers to documents
Returns:
number of documents that reference objects in this document.

int GetReferencingObjects ( KFbxDocument const *  pFromDoc,
KArrayTemplate< KFbxObject * > &  pReferencingObjects  
) const

Fills an array of pointers to objects in a given document (pFromDoc) that reference objects in this document.

Parameters:
pFromDoc  pointer to the document containing referencing objects.
pReferencingObjects  array of pointers to referencing objects.
Returns:
number of objects that reference objects in this document.

int GetReferencedDocuments ( KArrayTemplate< KFbxDocument * > &  pReferencedDocuments  )  const

Fills an array of pointers to documents that are referenced by objects in this document.

Parameters:
pReferencedDocuments  array of pointers to documents
Returns:
number of documents that are referenced by objects in this document.

int GetReferencedObjects ( KFbxDocument const *  pToDoc,
KArrayTemplate< KFbxObject * > &  pReferencedObjects  
) const

Fills an array of pointers to objects in a given document (pToDoc) that are referenced by objects in this document.

Parameters:
pToDoc  pointer to the document containing referenced objects.
pReferencedObjects  array of pointers to referenced objects.
Returns:
number of objects that are referenced by objects in this document.

KString GetPathToRootDocument ( void   )  const

Gets the path string to the root document, if it exists.

void GetDocumentPathToRootDocument ( KArrayTemplate< KFbxDocument * > &  pDocumentPath,
bool  pFirstCall = true  
) const

Gets the document path to the root document, if it exists.

Parameters:
pDocumentPath  array of KFbxDocument to store the document path.
pFirstCall 

bool IsARootDocument ( void   )  [inline]

Tells if this document is a root document.

Definition at line 236 of file kfbxdocument.h.

References KFbxObject::GetDocument().

bool CreateTake ( char *  pName  ) 

Create a take.

Parameters:
pName  Created take name.
Returns:
true if not a single node, texture or material in the hierarchy had a take with this name before.

false if at least one node, texture or material in the hierarchy had a take with this name before.

In the last case, KFbxDocument::GetLastErrorID() will return eTAKE_ERROR.

Remarks:
This function will create a new take node for every node, texture and material in the hierarchy. It may be more efficient to call KFbxTakeNodeContainer::CreateTakeNode() on the relevant nodes, textures and materials if a take only has a few of them with animation data.

bool RemoveTake ( char *  pName  ) 

Remove a take.

Parameters:
pName  Name of the take to remove.
Returns:
true if every node, texture and material in the hierarchy have a take with this name.

false if at least one node, texture or material in the hierarchy don't have a take with this name.

In the last case, KFbxDocument::GetLastErrorID() will return eTAKE_ERROR.

Remarks:
Scans the node hierarchy, the texture list and the material list to remove all take nodes found with that name.

bool SetCurrentTake ( char *  pName  ) 

Set the current take.

Parameters:
pName  Name of the take to set.
Returns:
true if every node, texture and material in the hierarchy have a take with this name.

false if at least one node, texture or material in the hierarchy don't have a take with this name.

In the last case, KFbxDocument::GetLastErrorID() will return eTAKE_ERROR.

Remarks:
Scans the node hierarchy, the texture list and the material list to set all take nodes found with that name.

All nodes, textures and materials without a take node of the requested name are set to default take node. It means that, if a node, texture or material does not have the requested take, it is assumed that this node is not animated in this take.

char* GetCurrentTakeName (  ) 

Get current take name.

Returns:
Current take name.

An empty string if the document has not been imported from a file and function KFbxDocument::SetCurrentTake() has not been called previously at least once.

void FillTakeNameArray ( KArrayTemplate< KString * > &  pNameArray  ) 

Fill a string array with all existing take names.

Parameters:
pNameArray  An array of string objects.
Remarks:
Scans the node hierarchy, the texture list and the material list to find all existing take node names.

The array of string is cleared before scanning the node hierarchy.

bool SetTakeInfo ( const KFbxTakeInfo pTakeInfo  ) 

Set take information about an available take.

Parameters:
pTakeInfo  Take information, field KFbxTakeInfo::mName specifies the targeted take.
Returns:
true if take is found and take information set.

KFbxTakeInfo* GetTakeInfo ( const KString pTakeName  ) 

Get take information about an available take.

Parameters:
pTakeName  Take name.
Returns:
Pointer to take information or NULL if take isn't found or has no information set.

KError& GetError (  ) 

Retrieve error object.

Returns:
Reference to error object.

EError GetLastErrorID (  )  const

Get last error code.

Returns:
Last error code.

const char* GetLastErrorString (  )  const

Get last error string.

Returns:
Textual description of the last error.
KFbxDocument KFbxDocument KFbxDocument KFbxDocument KFbxDocument KFbxDocument KFbxDocument KFbxDocument KFbxDocument KFbxDocument
KFbxDocument KFbxDocument KFbxDocument KFbxDocument KFbxDocument KFbxDocument KFbxDocument KFbxDocument KFbxDocument KFbxDocument