FBX C++ API Reference
FbxCache Class Reference

#include <fbxcache.h>

Class Description

This object contains methods for accessing point animation in a cache file.

The FBX SDK supports three point cache file formats :

  • eMaxPointCacheV2: the 3ds Max Point Cache 2 file format.
  • eMayaCache: the Maya Cache file format.
  • eAlembic: Alembic Cache file format.

Accessing cache data using these formats differs significantly. To address this difference, several sets of methods have been created. Use the GetCacheFileFormat() function to determine which set of methods to use.

Examples:
ExportScene03/main.cxx, ImportScene/DisplayCache.cxx, ViewScene/DrawScene.cxx, and ViewScene/SceneContext.cxx.

Definition at line 33 of file fbxcache.h.

+ Inheritance diagram for FbxCache:

Public Types

typedef FbxObject ParentClass
 
- Public Types inherited from FbxObject
typedef FbxEmitter ParentClass
 
enum  EObjectFlag {
  eNone = 0, eInitialized = 1 << 0, eSystem = 1 << 1, eSavable = 1 << 2,
  eSelected = 1 << 3, eHidden = 1 << 4, eContentLoaded = 1 << 5, eDontLocalize = 1 << 6,
  eCopyCalledByClone = 1 << 16
}
 Flags available to control objects. More...
 
enum  ECloneType { eDeepClone, eReferenceClone }
 Types of clones that can be created for FbxObject. More...
 

Public Member Functions

virtual FbxClassId GetClassId () const
 
eMaxPointCacheV2 Format Specific Functions.
bool OpenFileForWrite (double pFrameStartOffset, double pSamplingFrameRate, unsigned int pSampleCount, unsigned int pPointCount, FbxStatus *pStatus=((void *) 0))
 Open a cache file for writing. More...
 
unsigned int GetSampleCount (FbxStatus *pStatus=((void *) 0))
 Get the number of frames of animation found in the point cache file. More...
 
unsigned int GetPointCount (FbxStatus *pStatus=((void *) 0))
 Get the number of points animated in the cache file. More...
 
double GetFrameStartOffset (FbxStatus *pStatus=((void *) 0))
 Get the start time of the animation. More...
 
bool Read (unsigned int pFrameIndex, double *pBuffer, unsigned int pPointCount, FbxStatus *pStatus=((void *) 0))
 Read a sample at a given frame index. More...
 
bool Write (unsigned int pFrameIndex, double *pBuffer, FbxStatus *pStatus=((void *) 0))
 Write a sample at a given frame index. More...
 
File conversion Functions.
bool ConvertFromPC2ToMC (EMCFileCount pFileCount, double pSamplingFrameRate, EMCBinaryFormat pBinaryFormat, FbxStatus *pStatus=((void *) 0))
 Create an MC cache file from an PC2 cache file. More...
 
bool ConvertFromMCToPC2 (double pSamplingFrameRate, unsigned int pChannelIndex, FbxStatus *pStatus=((void *) 0))
 Create a PC2 cache file from an MC cache file. More...
 
- Public Member Functions inherited from FbxObject
virtual void Compact ()
 Compact the memory used by this object. More...
 
template<class T >
bool Is () const
 Templated test if this class is a hierarchical children of the specified class type. More...
 
FbxManagerGetFbxManager () const
 Retrieve the FbxManager this object belongs to. More...
 
FbxDocumentGetDocument () const
 Returns a const pointer to the document that contains this object. More...
 
FbxDocumentGetRootDocument () const
 Returns a const pointer to the root document that contains this object. More...
 
FbxSceneGetScene () const
 Returns a const pointer to the scene that contains this object. More...
 
void Destroy (bool pRecursive=false)
 Unregister and delete this object from memory. More...
 
void ResetProperties ()
 Reset all the properties of this object to their default values. More...
 
virtual bool GetSelected ()
 Returns if this object is currently in a selected state. More...
 
virtual void SetSelected (bool pSelected)
 Sets whether this object is currently selected. More...
 
void SetUserDataPtr (const FbxUInt64 &pUserID, void *pUserData)
 Sets the data pointer for an user data record whose ID is pUserID. More...
 
void * GetUserDataPtr (const FbxUInt64 &pUserID) const
 Returns the data pointer of an user data record whose ID is pUserID. More...
 
void SetUserDataPtr (void *pUserData)
 Sets the data pointer for the user data record whose ID is the object ID. More...
 
void * GetUserDataPtr () const
 Returns the data pointer of the user data record whose ID is the object ID. More...
 
bool ConnectSrcObject (FbxObject *pObject, FbxConnection::EType pType=FbxConnection::eNone)
 Connects this object to a source object. More...
 
bool IsConnectedSrcObject (const FbxObject *pObject) const
 Judges whether this object connects with the source object. More...
 
bool DisconnectSrcObject (FbxObject *pObject)
 Disconnects this object from a source object. More...
 
bool DisconnectAllSrcObject ()
 Disconnects this object from all source objects. More...
 
bool DisconnectAllSrcObject (const FbxCriteria &pCriteria)
 Disconnects this object from all source objects that satisfy a given criteria. More...
 
int GetSrcObjectCount () const
 Returns the number of source objects with which this object connects. More...
 
int GetSrcObjectCount (const FbxCriteria &pCriteria) const
 Returns the number of source objects that satisfy the given criteria with which this object connects. More...
 
FbxObjectGetSrcObject (int pIndex=0) const
 Returns the source object with which this object connects at the specified index. More...
 
FbxObjectGetSrcObject (const FbxCriteria &pCriteria, int pIndex=0) const
 Returns the source object that satisfies the criteria at the specified index with which this object connects. More...
 
FbxObjectFindSrcObject (const char *pName, int pStartIndex=0) const
 Searches the source object with the specified name, starting at the specified index. More...
 
FbxObjectFindSrcObject (const FbxCriteria &pCriteria, const char *pName, int pStartIndex=0) const
 Searches the source object with the specified name which satisfies the given criteria, starting at the specified index. More...
 
template<class T >
bool DisconnectAllSrcObject ()
 Disconnects this object from all source objects of the specified class type. More...
 
template<class T >
bool DisconnectAllSrcObject (const FbxCriteria &pCriteria)
 Disconnects this object from all source objects that are of the specified class type and that satisfy the given criteria. More...
 
template<class T >
int GetSrcObjectCount () const
 Returns the number of source objects of a specific class type with which this object connects. More...
 
template<class T >
int GetSrcObjectCount (const FbxCriteria &pCriteria) const
 Returns the number of source objects with which this object connects that are the specified class type and that satisfy the given criteria. More...
 
template<class T >
T * GetSrcObject (int pIndex=0) const
 Returns the source object of the specified class type at the specified index. More...
 
template<class T >
T * GetSrcObject (const FbxCriteria &pCriteria, int pIndex=0) const
 Returns the source object that is the specified class type and that satisfies the given criteria at the specified index. More...
 
template<class T >
T * FindSrcObject (const char *pName, int pStartIndex=0) const
 Searches the source object with the specified name that is the specified class type, starting at the specified index. More...
 
template<class T >
T * FindSrcObject (const FbxCriteria &pCriteria, const char *pName, int pStartIndex=0) const
 Searches the source object with the specified name that is the specified class type and that satisfies the given criteria, starting at the specified index. More...
 
bool ConnectDstObject (FbxObject *pObject, FbxConnection::EType pType=FbxConnection::eNone)
 Connects this object to one destination object. More...
 
bool IsConnectedDstObject (const FbxObject *pObject) const
 Judges whether this object connects with the destination object. More...
 
bool DisconnectDstObject (FbxObject *pObject)
 Disconnects this object from the destination object. More...
 
bool DisconnectAllDstObject ()
 Disconnects this object from all destination objects. More...
 
bool DisconnectAllDstObject (const FbxCriteria &pCriteria)
 Disconnects this object from all destination objects that satisfy given criteria. More...
 
int GetDstObjectCount () const
 Returns the number of destination objects with which this object connects. More...
 
int GetDstObjectCount (const FbxCriteria &pCriteria) const
 Returns the number of destination objects with which this object connects that satisfy the given criteria. More...
 
FbxObjectGetDstObject (int pIndex=0) const
 Returns the destination object at the specified index with which this object connects. More...
 
FbxObjectGetDstObject (const FbxCriteria &pCriteria, int pIndex=0) const
 Returns the destination object with which this object connects that satisfies the given criteria at the specified index. More...
 
FbxObjectFindDstObject (const char *pName, int pStartIndex=0) const
 Searches the destination object with the specified name, starting at the specified index. More...
 
FbxObjectFindDstObject (const FbxCriteria &pCriteria, const char *pName, int pStartIndex=0) const
 Searches the destination object with the specified name which satisfies the given criteria, starting at the specified index. More...
 
template<class T >
bool DisconnectAllDstObject ()
 Disconnects this object from all destination objects of the specified class type. More...
 
template<class T >
bool DisconnectAllDstObject (const FbxCriteria &pCriteria)
 Disconnects this object from all destination objects that are the specified class type and that satisfy the given criteria. More...
 
template<class T >
int GetDstObjectCount () const
 Returns the number of destination objects of the specified class type with which this object connects. More...
 
template<class T >
int GetDstObjectCount (const FbxCriteria &pCriteria) const
 Returns the number of destination objects with which this object connects that are the specified class type and that satisfy the given criteria. More...
 
template<class T >
T * GetDstObject (int pIndex=0) const
 Returns the destination object with which this object connects that is the specified class type at the specified index. More...
 
template<class T >
T * GetDstObject (const FbxCriteria &pCriteria, int pIndex=0) const
 Returns the destination object with which this object connects that is the specified class type and that satisfies the given criteria at the specified index. More...
 
template<class T >
T * FindDstObject (const char *pName, int pStartIndex=0) const
 Searches the destination object with the specified name which is of the specified class type, starting at the specified index. More...
 
template<class T >
T * FindDstObject (const FbxCriteria &pCriteria, const char *pName, int pStartIndex=0) const
 Searches the destination object with the specified name that is the specified class type and that satisfies the given criteria, starting at the specified index. More...
 
FbxProperty GetFirstProperty () const
 Returns the first property of this object. More...
 
FbxProperty GetNextProperty (const FbxProperty &pProperty) const
 Returns the next property of this object that follows the specified property. More...
 
FbxProperty FindProperty (const char *pName, bool pCaseSensitive=true) const
 Searches a property by name. More...
 
FbxProperty FindProperty (const char *pName, const FbxDataType &pDataType, bool pCaseSensitive=true) const
 Searches a property by name and data type. More...
 
FbxProperty FindPropertyHierarchical (const char *pName, bool pCaseSensitive=true) const
 Searches a property by full name. More...
 
FbxProperty FindPropertyHierarchical (const char *pName, const FbxDataType &pDataType, bool pCaseSensitive=true) const
 Searches a property by full name and data type. More...
 
FbxProperty GetClassRootProperty ()
 Returns the class root property. More...
 
bool ConnectSrcProperty (const FbxProperty &pProperty)
 Connects this object to a source property. More...
 
bool IsConnectedSrcProperty (const FbxProperty &pProperty)
 Determines whether this object connects with the specified source property. More...
 
bool DisconnectSrcProperty (const FbxProperty &pProperty)
 Disconnects this object from the specified source property. More...
 
int GetSrcPropertyCount () const
 Returns the number of source properties with which this object connects. More...
 
FbxProperty GetSrcProperty (int pIndex=0) const
 Returns the source property at the specified index with which this object connects. More...
 
FbxProperty FindSrcProperty (const char *pName, int pStartIndex=0) const
 Searches a source property with which this object connects that has a specific name, starting at the specified index. More...
 
bool ConnectDstProperty (const FbxProperty &pProperty)
 Connects this object to a destination property. More...
 
bool IsConnectedDstProperty (const FbxProperty &pProperty)
 Determines if this object connects with the specified destination property. More...
 
bool DisconnectDstProperty (const FbxProperty &pProperty)
 Disconnects this object from the specified destination property. More...
 
int GetDstPropertyCount () const
 Returns the number of destination properties with which this object connects. More...
 
FbxProperty GetDstProperty (int pIndex=0) const
 Returns the destination property at the specified index with which this object connects. More...
 
FbxProperty FindDstProperty (const char *pName, int pStartIndex=0) const
 Searches a destination property with which this object connects that has a specific name, starting at the specified index. More...
 
int ContentUnload ()
 Unloads this object's content using the offload peripheral that is currently set in the document then flushes it from memory. More...
 
int ContentLoad ()
 Loads this object's content using the offload peripheral that is currently set in the document. More...
 
bool ContentIsLoaded () const
 Judges if this object's content is loaded. More...
 
void ContentDecrementLockCount ()
 Decreases the content lock count of an object. More...
 
void ContentIncrementLockCount ()
 Increases the content lock count of an object. More...
 
bool ContentIsLocked () const
 Judges if this object's content is locked. More...
 
virtual bool ContentWriteTo (FbxStream &pStream) const
 Writes the content of the object to the given stream. More...
 
virtual bool ContentReadFrom (const FbxStream &pStream)
 Reads the content of the object from the given stream. More...
 
void EmitMessage (FbxMessage *pMessage) const
 Emits a message in all available message emitters in the document or SDK manager. More...
 
virtual const char * Localize (const char *pID, const char *pDefault=((void *) 0)) const
 Localization helper function, it calls the implementation of FBX SDK manager. More...
 
FbxLibraryGetParentLibrary () const
 Returns a handle on the parent library of this object. More...
 
bool AddImplementation (FbxImplementation *pImplementation)
 Adds an implementation. More...
 
bool RemoveImplementation (FbxImplementation *pImplementation)
 Removes an implementation. More...
 
bool HasDefaultImplementation (void) const
 Determines if this shading node has a default implementation. More...
 
FbxImplementationGetDefaultImplementation (void) const
 Returns the default implementation of this shading node. More...
 
bool SetDefaultImplementation (FbxImplementation *pImplementation)
 Sets the default implementation of this shading node. More...
 
int GetImplementationCount (const FbxImplementationFilter *pCriteria=((void *) 0)) const
 Returns the number of implementations that satisfy a given criteria. More...
 
FbxImplementationGetImplementation (int pIndex, const FbxImplementationFilter *pCriteria=((void *) 0)) const
 Returns the implementation at the specified index that satisfies the given criteria. More...
 
virtual FbxString GetUrl () const
 Returns the URL of this object. More...
 
virtual bool SetUrl (char *pUrl)
 Sets the URL of this object. More...
 
void SetRuntimeClassId (const FbxClassId &pClassId)
 Set the run-time ClassId for this class. More...
 
FbxClassId GetRuntimeClassId () const
 Retrieve the run-time ClassId for this object. More...
 
bool IsRuntime (const FbxClassId &pClassId) const
 Test if this class is a hierarchical children of the specified class type. More...
 
bool IsRuntimePlug () const
 Find out if the ClassId was registered during run-time rather than at compile time. More...
 
void SetObjectFlags (EObjectFlag pFlags, bool pValue)
 Set the state of object flags. More...
 
bool GetObjectFlags (EObjectFlag pFlags) const
 Get the state of object flags. More...
 
void SetAllObjectFlags (FbxUInt pFlags)
 Override all object flags at once. More...
 
FbxUInt GetAllObjectFlags () const
 Get all object flags at once. More...
 
virtual FbxObjectCopy (const FbxObject &pObject)
 Copy an object content into this object. More...
 
virtual FbxObjectClone (FbxObject::ECloneType pCloneType=eDeepClone, FbxObject *pContainer=((void *) 0), void *pSet=((void *) 0)) const
 Creates a clone of this object. More...
 
bool IsAReferenceTo () const
 Checks if this object is a reference clone of another object. More...
 
FbxObjectGetReferenceTo () const
 If this object is a reference clone, returns the original object (from which the clone originates). More...
 
bool IsReferencedBy () const
 Checks if any objects are reference cloned from this object. More...
 
int GetReferencedByCount () const
 Returns the number of objects that are reference clones of this object. More...
 
FbxObjectGetReferencedBy (int pIndex) const
 Returns a reference clone of this object at the specified index. More...
 
void SetName (const char *pName)
 Sets the name of this object. More...
 
const char * GetName () const
 Returns the full name of this object. More...
 
FbxString GetNameWithoutNameSpacePrefix () const
 Returns the name of the object without the namespace qualifier. More...
 
FbxString GetNameWithNameSpacePrefix () const
 Returns the name of the object with the namespace qualifier. More...
 
void SetInitialName (const char *pName)
 Sets the initial name of the object. More...
 
const char * GetInitialName () const
 Returns the initial name of the object. More...
 
FbxString GetNameSpaceOnly ()
 Returns the namespace of the object. More...
 
void SetNameSpace (FbxString pNameSpace)
 Sets the namespace of the object. More...
 
FbxArray< FbxString * > GetNameSpaceArray (char identifier)
 Returns an array of all the namespaces for this object. More...
 
FbxString GetNameOnly () const
 Returns only the name (no namespace or prefix) of the object. More...
 
FbxString GetNameSpacePrefix () const
 Returns the namespace qualifier. More...
 
const FbxUInt64GetUniqueID () const
 Returns the unique ID of this object. More...
 
- Public Member Functions inherited from FbxEmitter
void AddListener (FbxEventHandler &pHandler)
 Add the specified event handler to current emitter list. More...
 
void RemoveListener (FbxEventHandler &pHandler)
 Remove the specified event handler from current emitter list. More...
 
template<typename EventType >
void Emit (const EventType &pEvent) const
 Emit an event with the specified the event type. More...
 

Static Public Member Functions

static FbxCacheCreate (FbxManager *pManager, const char *pName)
 
static FbxCacheCreate (FbxObject *pContainer, const char *pName)
 
- Static Public Member Functions inherited from FbxObject
static FbxObjectCreate (FbxManager *pManager, const char *pName)
 
static FbxObjectCreate (FbxObject *pContainer, const char *pName)
 
static FbxString RemovePrefix (char *pName)
 Removes the prefix of pName. More...
 
static FbxString StripPrefix (FbxString &lName)
 Strips the prefix of pName. More...
 
static FbxString StripPrefix (const char *pName)
 Strips the prefix of pName. More...
 

Static Public Attributes

static FbxClassId ClassId
 
- Static Public Attributes inherited from FbxObject
static FbxClassId ClassId
 

Protected Member Functions

virtual ~ FbxCache ()
 
 FbxCache (FbxManager &pManager, const char *pName)
 
- Protected Member Functions inherited from FbxObject
virtual ~ FbxObject ()
 
virtual void Construct (const FbxObject *pFrom)
 Optional constructor override, automatically called by default constructor. More...
 
virtual void ConstructProperties (bool pForceSet)
 Optional property constructor override, automatically called by default constructor. More...
 
virtual void Destruct (bool pRecursive)
 Optional destructor override, automatically called by default destructor. More...
 
virtual void ContentClear ()
 Clears this object's content from memory. More...
 
virtual FbxPeripheralGetPeripheral ()
 Retrieves the peripheral of that object. More...
 

Static Protected Member Functions

static FbxCacheAllocate (FbxManager *pManager, const char *pName, const FbxCache *pFrom)
 
- Static Protected Member Functions inherited from FbxObject
static FbxObjectAllocate (FbxManager *pManager, const char *pName, const FbxObject *pFrom)
 

Friends

class fbxsdk ::FbxManager
 
template<typename T >
T * fbxsdk ::FbxNew ()
 
template<typename T , typename T1 >
T * fbxsdk ::FbxNew (T1 &p1)
 
template<typename T , typename T1 >
T * fbxsdk ::FbxNew (const T1 &p1)
 
template<typename T , typename T1 , typename T2 >
T * fbxsdk ::FbxNew (T1 &p1, T2 &p2)
 
template<typename T , typename T1 , typename T2 >
T * fbxsdk ::FbxNew (T1 &p1, const T2 &p2)
 
template<typename T , typename T1 , typename T2 >
T * fbxsdk ::FbxNew (const T1 &p1, T2 &p2)
 
template<typename T , typename T1 , typename T2 >
T * fbxsdk ::FbxNew (const T1 &p1, const T2 &p2)
 
template<typename T , typename T1 , typename T2 , typename T3 >
T * fbxsdk ::FbxNew (T1 &p1, T2 &p2, T3 &p3)
 
template<typename T , typename T1 , typename T2 , typename T3 >
T * fbxsdk ::FbxNew (T1 &p1, T2 &p2, const T3 &p3)
 
template<typename T , typename T1 , typename T2 , typename T3 >
T * fbxsdk ::FbxNew (T1 &p1, const T2 &p2, T3 &p3)
 
template<typename T , typename T1 , typename T2 , typename T3 >
T * fbxsdk ::FbxNew (T1 &p1, const T2 &p2, const T3 &p3)
 
template<typename T , typename T1 , typename T2 , typename T3 >
T * fbxsdk ::FbxNew (const T1 &p1, T2 &p2, T3 &p3)
 
template<typename T , typename T1 , typename T2 , typename T3 >
T * fbxsdk ::FbxNew (const T1 &p1, T2 &p2, const T3 &p3)
 
template<typename T , typename T1 , typename T2 , typename T3 >
T * fbxsdk ::FbxNew (const T1 &p1, const T2 &p2, T3 &p3)
 
template<typename T , typename T1 , typename T2 , typename T3 >
T * fbxsdk ::FbxNew (const T1 &p1, const T2 &p2, const T3 &p3)
 
template<typename T , typename T1 , typename T2 , typename T3 , typename T4 >
T * fbxsdk ::FbxNew (T1 &p1, T2 &p2, T3 &p3, T4 &p4)
 
template<typename T , typename T1 , typename T2 , typename T3 , typename T4 >
T * fbxsdk ::FbxNew (T1 &p1, T2 &p2, T3 &p3, const T4 &p4)
 
template<typename T , typename T1 , typename T2 , typename T3 , typename T4 >
T * fbxsdk ::FbxNew (T1 &p1, T2 &p2, const T3 &p3, T4 &p4)
 
template<typename T , typename T1 , typename T2 , typename T3 , typename T4 >
T * fbxsdk ::FbxNew (T1 &p1, T2 &p2, const T3 &p3, const T4 &p4)
 
template<typename T , typename T1 , typename T2 , typename T3 , typename T4 >
T * fbxsdk ::FbxNew (T1 &p1, const T2 &p2, T3 &p3, T4 &p4)
 
template<typename T , typename T1 , typename T2 , typename T3 , typename T4 >
T * fbxsdk ::FbxNew (T1 &p1, const T2 &p2, T3 &p3, const T4 &p4)
 
template<typename T , typename T1 , typename T2 , typename T3 , typename T4 >
T * fbxsdk ::FbxNew (T1 &p1, const T2 &p2, const T3 &p3, T4 &p4)
 
template<typename T , typename T1 , typename T2 , typename T3 , typename T4 >
T * fbxsdk ::FbxNew (T1 &p1, const T2 &p2, const T3 &p3, const T4 &p4)
 
template<typename T , typename T1 , typename T2 , typename T3 , typename T4 >
T * fbxsdk ::FbxNew (const T1 &p1, T2 &p2, T3 &p3, T4 &p4)
 
template<typename T , typename T1 , typename T2 , typename T3 , typename T4 >
T * fbxsdk ::FbxNew (const T1 &p1, T2 &p2, T3 &p3, const T4 &p4)
 
template<typename T , typename T1 , typename T2 , typename T3 , typename T4 >
T * fbxsdk ::FbxNew (const T1 &p1, T2 &p2, const T3 &p3, T4 &p4)
 
template<typename T , typename T1 , typename T2 , typename T3 , typename T4 >
T * fbxsdk ::FbxNew (const T1 &p1, T2 &p2, const T3 &p3, const T4 &p4)
 
template<typename T , typename T1 , typename T2 , typename T3 , typename T4 >
T * fbxsdk ::FbxNew (const T1 &p1, const T2 &p2, T3 &p3, T4 &p4)
 
template<typename T , typename T1 , typename T2 , typename T3 , typename T4 >
T * fbxsdk ::FbxNew (const T1 &p1, const T2 &p2, T3 &p3, const T4 &p4)
 
template<typename T , typename T1 , typename T2 , typename T3 , typename T4 >
T * fbxsdk ::FbxNew (const T1 &p1, const T2 &p2, const T3 &p3, T4 &p4)
 
template<typename T , typename T1 , typename T2 , typename T3 , typename T4 >
T * fbxsdk ::FbxNew (const T1 &p1, const T2 &p2, const T3 &p3, const T4 &p4)
 
template<typename T , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 >
T * fbxsdk ::FbxNew (T1 &p1, T2 &p2, T3 &p3, T4 &p4, T5 &p5)
 
template<typename T , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 >
T * fbxsdk ::FbxNew (const T1 &p1, T2 &p2, T3 &p3, T4 &p4, T5 &p5)
 
template<typename T , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 >
T * fbxsdk ::FbxNew (const T1 &p1, const T2 &p2, T3 &p3, T4 &p4, T5 &p5)
 
template<typename T , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 >
T * fbxsdk ::FbxNew (const T1 &p1, T2 &p2, const T3 &p3, T4 &p4, T5 &p5)
 
template<typename T , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 >
T * fbxsdk ::FbxNew (const T1 &p1, T2 &p2, T3 &p3, const T4 &p4, T5 &p5)
 
template<typename T , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 >
T * fbxsdk ::FbxNew (const T1 &p1, T2 &p2, T3 &p3, T4 &p4, const T5 &p5)
 
template<typename T , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 >
T * fbxsdk ::FbxNew (const T1 &p1, const T2 &p2, const T3 &p3, T4 &p4, T5 &p5)
 
template<typename T , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 >
T * fbxsdk ::FbxNew (const T1 &p1, const T2 &p2, T3 &p3, const T4 &p4, T5 &p5)
 
template<typename T , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 >
T * fbxsdk ::FbxNew (const T1 &p1, const T2 &p2, T3 &p3, T4 &p4, const T5 &p5)
 
template<typename T , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 >
T * fbxsdk ::FbxNew (const T1 &p1, const T2 &p2, const T3 &p3, const T4 &p4, T5 &p5)
 
template<typename T , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 >
T * fbxsdk ::FbxNew (const T1 &p1, const T2 &p2, const T3 &p3, T4 &p4, const T5 &p5)
 
template<typename T , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 >
T * fbxsdk ::FbxNew (const T1 &p1, const T2 &p2, const T3 &p3, const T4 &p4, const T5 &p5)
 
template<typename T , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 >
T * fbxsdk ::FbxNew (const T1 &p1, const T2 &p2, const T3 &p3, const T4 &p4, const T5 &p5, const T6 &p6)
 
template<typename T , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 >
T * fbxsdk ::FbxNew (const T1 &p1, const T2 &p2, const T3 &p3, const T4 &p4, const T5 &p5, const T6 &p6, const T7 &p7)
 
template<typename T , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 >
T * fbxsdk ::FbxNew (const T1 &p1, const T2 &p2, const T3 &p3, const T4 &p4, const T5 &p5, const T6 &p6, const T7 &p7, const T8 &p8)
 
template<typename T , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 >
T * fbxsdk ::FbxNew (const T1 &p1, const T2 &p2, const T3 &p3, const T4 &p4, const T5 &p5, const T6 &p6, const T7 &p7, const T8 &p8, const T9 &p9)
 
template<typename T >
void fbxsdk ::FbxDelete (T *p)
 
template<typename T >
void fbxsdk ::FbxDelete (const T *p)
 
template<typename T >
T * fbxsdk ::FbxNewArray (const int n)
 
template<typename T >
void fbxsdk ::FbxDeleteArray (T *p)
 

Format Independent Functions.

enum  EFileFormat { eUnknownFileFormat, eMaxPointCacheV2, eMayaCache, eAlembic }
 Supported cache file formats. More...
 
void SetCacheFileFormat (EFileFormat pFileFormat, FbxStatus *pStatus=((void *) 0))
 Set the cache file format. More...
 
EFileFormat GetCacheFileFormat () const
 Get the cache file format. More...
 
void SetCacheFileName (const char *pRelativeFileName_UTF8, const char *pAbsoluteFileName_UTF8, FbxStatus *pStatus=((void *) 0))
 Set the cache file name. More...
 
void GetCacheFileName (FbxString &pRelativeFileName_UTF8, FbxString &pAbsoluteFileName_UTF8) const
 Get the cache file name. More...
 
bool OpenFileForRead (FbxStatus *pStatus=((void *) 0))
 Open the cache file for reading. More...
 
bool IsOpen (FbxStatus *pStatus=((void *) 0)) const
 Get the open state of the cache file. More...
 
bool Read (float **pBuffer, unsigned int &pBufferLength, const FbxTime &pTime, unsigned int pChannel=0)
 Read data from the cache file. More...
 
bool CloseFile (FbxStatus *pStatus=((void *) 0))
 Close the cache file. More...
 
double GetSamplingFrameRate (FbxStatus *pStatus=((void *) 0))
 Get the sampling frame rate of the cache file. More...
 
FbxTime GetCacheTimePerFrame (FbxStatus *pStatus=((void *) 0))
 Get the sampling frame rate of the cache file, as a FbxTime object. More...
 
int GetChannelCount (FbxStatus *pStatus=((void *) 0))
 Get the number of channels in the cache file. More...
 
bool GetChannelName (int pChannelIndex, FbxString &pChannelName, FbxStatus *pStatus=((void *) 0))
 Get the channel name for a specific channel index. More...
 

eMayaCache Format Specific Functions.

enum  EMCFileCount { eMCOneFile, eMCOneFilePerFrame }
 Number of files used to store the animation. More...
 
enum  EMCDataType {
  eUnknownData, eDouble, eDoubleArray, eDoubleVectorArray,
  eInt32Array, eFloatArray, eFloatVectorArray
}
 Data types in the MC cache file. More...
 
enum  EMCBinaryFormat { eMCC, eMCX }
 Binary cache format. More...
 
enum  EMCSamplingType { eSamplingRegular, eSamplingIrregular }
 Cache channel sampling types. More...
 
bool OpenFileForWrite (EMCFileCount pFileCount, double pSamplingFrameRate, const char *pChannelName, EMCBinaryFormat pBinaryFormat, EMCDataType pMCDataType=eDoubleVectorArray, const char *pInterpretation="Points", FbxStatus *pStatus=((void *) 0))
 Open a cache file for writing. More...
 
bool AddChannel (const char *pChannelName, EMCDataType pMCDataType, const char *pInterpretation, unsigned int &pChannelIndex, FbxStatus *pStatus=((void *) 0))
 Creates a new channel in the cache. More...
 
bool GetChannelDataType (int pChannelIndex, EMCDataType &pChannelType, FbxStatus *pStatus=((void *) 0))
 Get the data type of the specified channel. More...
 
int GetChannelIndex (const char *pChannelName, FbxStatus *pStatus=((void *) 0))
 Get the index of the specified channel. More...
 
bool Read (int pChannelIndex, FbxTime &pTime, double *pBuffer, unsigned int pPointCount, FbxStatus *pStatus=((void *) 0))
 Read a sample at a given time. More...
 
bool Read (int pChannelIndex, FbxTime &pTime, float *pBuffer, unsigned int pPointCount, FbxStatus *pStatus=((void *) 0))
 Read a sample at a given time. More...
 
bool Read (int pChannelIndex, FbxTime &pTime, int *pBuffer, unsigned int pPointCount, FbxStatus *pStatus=((void *) 0))
 Read a sample at a given time. More...
 
bool BeginWriteAt (FbxTime &pTime, FbxStatus *pStatus=((void *) 0))
 Instruct the cache system that data is about to be written to it. More...
 
bool Write (int pChannelIndex, FbxTime &pTime, double *pBuffer, unsigned int pPointCount, FbxStatus *pStatus=((void *) 0))
 Write a sample at a given time. More...
 
bool Write (int pChannelIndex, FbxTime &pTime, float *pBuffer, unsigned int pPointCount, FbxStatus *pStatus=((void *) 0))
 Write a sample at a given time. More...
 
bool Write (int pChannelIndex, FbxTime &pTime, int *pBuffer, unsigned int pPointCount, FbxStatus *pStatus=((void *) 0))
 Write a sample at a given time. More...
 
bool EndWriteAt (FbxStatus *pStatus=((void *) 0))
 Instruct the cache system that all the data on all the channels has been written to it for the given time (specified by the BeginWriteAt() call). More...
 
bool GetAnimationRange (int pChannelIndex, FbxTime &pTimeStart, FbxTime &pTimeEnd, FbxStatus *pStatus=((void *) 0))
 Get the Animation Range of the specified channel. More...
 
bool GetCacheType (EMCFileCount &pFileCount, FbxStatus *pStatus=((void *) 0))
 Get the cache type. More...
 
bool GetChannelInterpretation (int pChannelIndex, FbxString &pInterpretation, FbxStatus *pStatus=((void *) 0))
 Get the cache channel interpretation. More...
 
bool GetChannelSamplingType (int pChannelIndex, EMCSamplingType &pSamplingType, FbxStatus *pStatus=((void *) 0))
 Get the cache channel sampling type. More...
 
bool GetChannelSamplingRate (int pChannelIndex, FbxTime &pSamplingRate, FbxStatus *pStatus=((void *) 0))
 Get the cache channel sampling rate, in frames per second. More...
 
bool GetChannelSampleCount (int pChannelIndex, unsigned int &pSampleCount, FbxStatus *pStatus=((void *) 0))
 Get the number of data points for a channel. More...
 
bool GetChannelPointCount (int pChannelIndex, FbxTime pTime, unsigned int &pPointCount, FbxStatus *pStatus=((void *) 0))
 Get the number of points animated in the cache file, for a channel, for a given time. More...
 
int GetCacheDataFileCount (FbxStatus *pStatus=((void *) 0)) const
 Returns the number of cache data files. More...
 
bool GetCacheDataFileName (int pIndex, FbxString &pRelativeFileName, FbxString &pAbsoluteFileName, FbxStatus *pStatus=((void *) 0))
 Get the nth cache file name. More...
 
bool EnableMultiChannelFetching (bool pMultiChannelFetching, FbxStatus *pStatus=((void *) 0))
 Enable multi-channel fetching. More...
 
bool GetNextTimeWithData (FbxTime pCurTime, FbxTime &pNextTime, int pChannelIndex=-1, FbxStatus *pStatus=((void *) 0))
 Get the next time where data is stored. More...
 
int GetDataCount (int pChannelIndex, FbxStatus *pStatus=((void *) 0))
 Get the number of data points the channel contains. More...
 
bool GetDataTime (int pChannelIndex, unsigned int pDataIndex, FbxTime &pTime, FbxStatus *pStatus=((void *) 0))
 Get the time of the specified data point. More...
 

Additional Inherited Members

- Public Attributes inherited from FbxObject
FbxProperty RootProperty
 The root property that holds all children property for this object. More...
 

Member Typedef Documentation

◆ ParentClass

Definition at line 35 of file fbxcache.h.

Member Enumeration Documentation

◆ EFileFormat

Supported cache file formats.

Enumerator
eUnknownFileFormat 

Unknown cache file format.

eMaxPointCacheV2 

3ds Max Point Cache 2 file format.

eMayaCache 

Maya Cache file format.

eAlembic 

Alembic Cache file format.

Definition at line 41 of file fbxcache.h.

42  {
45  eMayaCache,
46  eAlembic
47  };
3ds Max Point Cache 2 file format.
Definition: fbxcache.h:44
Alembic Cache file format.
Definition: fbxcache.h:46
Maya Cache file format.
Definition: fbxcache.h:45
Unknown cache file format.
Definition: fbxcache.h:43

◆ EMCFileCount

Number of files used to store the animation.

Enumerator
eMCOneFile 

One file is used for all the frames of animation.

eMCOneFilePerFrame 

For every frame of animation, a cache file is used.

The number of the frames is the number of the cache files.

Definition at line 119 of file fbxcache.h.

120  {
121  eMCOneFile,
123  };
For every frame of animation, a cache file is used.
Definition: fbxcache.h:122
One file is used for all the frames of animation.
Definition: fbxcache.h:121

◆ EMCDataType

Data types in the MC cache file.

Enumerator
eUnknownData 

Unknown data.

eDouble 

No use but has to be defined for consistency reasons.

eDoubleArray 

double*

eDoubleVectorArray 

double* [3]

eInt32Array 

int*

eFloatArray 

float*

eFloatVectorArray 

float* [3]

Definition at line 126 of file fbxcache.h.

127  {
128  eUnknownData,
129  eDouble,
130  eDoubleArray,
132  eInt32Array,
133  eFloatArray,
135  };
Unknown data.
Definition: fbxcache.h:128
No use but has to be defined for consistency reasons.
Definition: fbxcache.h:129

◆ EMCBinaryFormat

Binary cache format.

Enumerator
eMCC 

MCC cache file format, 32bit (older format)

eMCX 

MCX cache file format, 64bit (newer format)

Definition at line 138 of file fbxcache.h.

139  {
140  eMCC,
141  eMCX
142  };
MCX cache file format, 64bit (newer format)
Definition: fbxcache.h:141
MCC cache file format, 32bit (older format)
Definition: fbxcache.h:140

◆ EMCSamplingType

Cache channel sampling types.

Enumerator
eSamplingRegular 

Regular sampling.

eSamplingIrregular 

Irregular sampling.

Definition at line 145 of file fbxcache.h.

146  {
149  };
Regular sampling.
Definition: fbxcache.h:147
Irregular sampling.
Definition: fbxcache.h:148

Constructor & Destructor Documentation

◆ ~ FbxCache()

virtual ~ FbxCache ( )
inlineprotectedvirtual

Definition at line 35 of file fbxcache.h.

37 :

◆ FbxCache()

FbxCache ( FbxManager pManager,
const char *  pName 
)
inlineprotected

Definition at line 35 of file fbxcache.h.

37 :

Member Function Documentation

◆ GetClassId()

virtual FbxClassId GetClassId ( ) const
inlinevirtual

Reimplemented from FbxObject.

Definition at line 35 of file fbxcache.h.

37 :

◆ Create() [1/2]

static FbxCache* Create ( FbxManager pManager,
const char *  pName 
)
static

◆ Create() [2/2]

static FbxCache* Create ( FbxObject pContainer,
const char *  pName 
)
static

◆ Allocate()

static FbxCache* Allocate ( FbxManager pManager,
const char *  pName,
const FbxCache pFrom 
)
staticprotected

◆ SetCacheFileFormat()

void SetCacheFileFormat ( EFileFormat  pFileFormat,
FbxStatus pStatus = ((void *) 0) 
)

Set the cache file format.

Parameters
pFileFormatValid values are eMaxPointCacheV2 or eMayaCache.
pStatusThe FbxStatus object to hold error codes.
Examples:
ExportScene03/main.cxx.

◆ GetCacheFileFormat()

EFileFormat GetCacheFileFormat ( ) const

Get the cache file format.

Returns
The current cache file format, or eUnknown if it is not set.
Examples:
ViewScene/SceneContext.cxx.

◆ SetCacheFileName()

void SetCacheFileName ( const char *  pRelativeFileName_UTF8,
const char *  pAbsoluteFileName_UTF8,
FbxStatus pStatus = ((void *) 0) 
)

Set the cache file name.

Parameters
pRelativeFileName_UTF8The point cache file, relative to the FBX file name.
pAbsoluteFileName_UTF8The point cache file absolute path.
pStatusThe FbxStatus object to hold error codes.
Examples:
ExportScene03/main.cxx.

◆ GetCacheFileName()

void GetCacheFileName ( FbxString pRelativeFileName_UTF8,
FbxString pAbsoluteFileName_UTF8 
) const

Get the cache file name.

Parameters
pRelativeFileName_UTF8Return the point cache file name, relative to the FBX File name.
pAbsoluteFileName_UTF8Return the point cache file absolute path.

◆ OpenFileForRead()

bool OpenFileForRead ( FbxStatus pStatus = ((void *) 0))

Open the cache file for reading.

Parameters
pStatusThe FbxStatus object to hold error codes.
Returns
true if the file is successfully opened, false otherwise.
Examples:
ExportScene03/main.cxx, ImportScene/DisplayCache.cxx, and ViewScene/SceneContext.cxx.

◆ IsOpen()

bool IsOpen ( FbxStatus pStatus = ((void *) 0)) const

Get the open state of the cache file.

Parameters
pStatusThe FbxStatus object to hold error codes.
Returns
true if the cache file is currently open, false otherwise.

◆ Read() [1/5]

bool Read ( float **  pBuffer,
unsigned int &  pBufferLength,
const FbxTime pTime,
unsigned int  pChannel = 0 
)

Read data from the cache file.

Parameters
pBufferThe buffer containing the data from the cache file. This parameter can be NULL if interested to get buffer length only.
pBufferLengthThe length of the buffer (NOT in bytes).
pTimeThe time at which the data should be read.
pChannelThe cache file channel to read, when multiple channels are available.
Returns
True if the cache data was successfully read, false otherwise.
Remarks
The buffer will be allocated by FbxCache and will be returned if read successful. The buffer will be freed by FbxCache upon its destruction.
Examples:
ExportScene03/main.cxx, ImportScene/DisplayCache.cxx, and ViewScene/DrawScene.cxx.

◆ CloseFile()

bool CloseFile ( FbxStatus pStatus = ((void *) 0))

Close the cache file.

Parameters
pStatusThe FbxStatus object to hold error codes.
Returns
true if the cache file is closed successfully, false otherwise.
Examples:
ExportScene03/main.cxx, and ImportScene/DisplayCache.cxx.

◆ GetSamplingFrameRate()

double GetSamplingFrameRate ( FbxStatus pStatus = ((void *) 0))

Get the sampling frame rate of the cache file.

Parameters
pStatusThe FbxStatus object to hold error codes.
Returns
The sampling frame rate of the cache file, in frames per second.

◆ GetCacheTimePerFrame()

FbxTime GetCacheTimePerFrame ( FbxStatus pStatus = ((void *) 0))

Get the sampling frame rate of the cache file, as a FbxTime object.

Parameters
pStatusThe FbxStatus object to hold error codes.
Returns
The sampling frame rate of the cache file.

◆ GetChannelCount()

int GetChannelCount ( FbxStatus pStatus = ((void *) 0))

Get the number of channels in the cache file.

Parameters
pStatusThe FbxStatus object to hold error codes.
Returns
The number of animation channels in the cache file.

◆ GetChannelName()

bool GetChannelName ( int  pChannelIndex,
FbxString pChannelName,
FbxStatus pStatus = ((void *) 0) 
)

Get the channel name for a specific channel index.

Parameters
pChannelIndexThe index of the animation channel, between 0 and GetChannelCount().
pChannelNameReturns the name of the requested channel.
pStatusThe FbxStatus object to hold error codes.
Returns
true if successful, false otherwise.
Examples:
ImportScene/DisplayCache.cxx.

◆ OpenFileForWrite() [1/2]

bool OpenFileForWrite ( EMCFileCount  pFileCount,
double  pSamplingFrameRate,
const char *  pChannelName,
EMCBinaryFormat  pBinaryFormat,
EMCDataType  pMCDataType = eDoubleVectorArray,
const char *  pInterpretation = "Points",
FbxStatus pStatus = ((void *) 0) 
)

Open a cache file for writing.

Parameters
pFileCountCreate one file for each frame of animation, or one file for all the frames.
pSamplingFrameRateNumber of frames per second.
pChannelNameThe name of the channel of animation to create.
pBinaryFormatBinary format type (32 bit=eMCC or 64bit=eMCX)
pMCDataTypeThe data type of the MC cache file.
pInterpretationA piece of meta data to help users of the cache understand how to interpret the data.
pStatusThe FbxStatus object to hold error codes.
Examples:
ExportScene03/main.cxx.

◆ AddChannel()

bool AddChannel ( const char *  pChannelName,
EMCDataType  pMCDataType,
const char *  pInterpretation,
unsigned int &  pChannelIndex,
FbxStatus pStatus = ((void *) 0) 
)

Creates a new channel in the cache.

Parameters
pChannelNameThe name of the channel of animation to create.
pMCDataTypeThe MC DataType of the cache.
pInterpretationA piece of meta data to help users of the cache understand how to interpret the data.
pChannelIndexThe index of the new animation channel.
pStatusThe FbxStatus object to hold error codes.
Remarks
pChannelName must be unique within the cache.
pChannelName and pInterpretation cannot be NULL pointers.
This method must be called before adding any data to the cache but after the OpenFileForWrite.
Examples:
ExportScene03/main.cxx.

◆ GetChannelDataType()

bool GetChannelDataType ( int  pChannelIndex,
EMCDataType pChannelType,
FbxStatus pStatus = ((void *) 0) 
)

Get the data type of the specified channel.

Parameters
pChannelIndexThe index of the channel.
pChannelTypeThe channel's data type.
pStatusThe FbxStatus object to hold error codes.
Returns
true if successful, false otherwise.
Examples:
ImportScene/DisplayCache.cxx.

◆ GetChannelIndex()

int GetChannelIndex ( const char *  pChannelName,
FbxStatus pStatus = ((void *) 0) 
)

Get the index of the specified channel.

Parameters
pChannelNameThe name of the channel.
pStatusThe FbxStatus object to hold error codes.
Returns
The index of the channel in the cache file, or -1 if an error occurred.
Examples:
ExportScene03/main.cxx, ImportScene/DisplayCache.cxx, ViewScene/DrawScene.cxx, and ViewScene/SceneContext.cxx.

◆ Read() [2/5]

bool Read ( int  pChannelIndex,
FbxTime pTime,
double *  pBuffer,
unsigned int  pPointCount,
FbxStatus pStatus = ((void *) 0) 
)

Read a sample at a given time.

Parameters
pChannelIndexThe index of the animation channel, between 0 and GetChannelCount().
pTimeTime at which the point animation must be evaluated.
pBufferThe place where the point value will be copied. If the channel's data type is DoubleVectorArray this buffer must be of size 3*pPointCount.
pPointCountThe number of points to read from the point cache file.
pStatusThe FbxStatus object to hold error codes.
Returns
true if successful, false otherwise.

◆ Read() [3/5]

bool Read ( int  pChannelIndex,
FbxTime pTime,
float *  pBuffer,
unsigned int  pPointCount,
FbxStatus pStatus = ((void *) 0) 
)

Read a sample at a given time.

Parameters
pChannelIndexThe index of the animation channel, between 0 and GetChannelCount().
pTimeTime at which the point animation must be evaluated.
pBufferThe place where the point value will be copied. If the channel's data type is FloatVectorArray this buffer must be of size 3*pPointCount.
pPointCountThe number of points to read from the point cache file.
pStatusThe FbxStatus object to hold error codes.
Returns
true if successful, false otherwise.

◆ Read() [4/5]

bool Read ( int  pChannelIndex,
FbxTime pTime,
int *  pBuffer,
unsigned int  pPointCount,
FbxStatus pStatus = ((void *) 0) 
)

Read a sample at a given time.

Parameters
pChannelIndexThe index of the animation channel, between 0 and GetChannelCount().
pTimeTime at which the point animation must be evaluated.
pBufferThe place where the point value will be copied. This buffer must be of size pPointCount.
pPointCountThe number of points to read from the point cache file.
pStatusThe FbxStatus object to hold error codes.
Returns
true if successful, false otherwise.

◆ BeginWriteAt()

bool BeginWriteAt ( FbxTime pTime,
FbxStatus pStatus = ((void *) 0) 
)

Instruct the cache system that data is about to be written to it.

This call must appear before any calls to the Write() methods on any channel and terminated by a call to EndWriteAt().

Parameters
pTimeTime at which the point animation must be inserted.
pStatusThe FbxStatus object to hold error codes.
Returns
true if successful, false otherwise.
Examples:
ExportScene03/main.cxx.

◆ Write() [1/4]

bool Write ( int  pChannelIndex,
FbxTime pTime,
double *  pBuffer,
unsigned int  pPointCount,
FbxStatus pStatus = ((void *) 0) 
)

Write a sample at a given time.

Parameters
pChannelIndexThe index of the animation channel, between 0 and GetChannelCount().
pTimeTime at which the point animation must be inserted.
pBufferPoint to the values to be copied. If the channel's data type is DoubleVectorArray this buffer must be of size 3*pPointCount.
pPointCountThe number of points to write in the point cache file.
pStatusThe FbxStatus object to hold error codes.
Returns
true if successful, false otherwise.
Remarks
This method will fail if the time pTime is different from the time set using the call BeginWriteAt().
For backward compatibility reasons you can still call this method without the prior call to BeginWriteAt() only if this cachedsystem has been defined with one channel. Any other configuration will result in a failure.
Examples:
ExportScene03/main.cxx.

◆ Write() [2/4]

bool Write ( int  pChannelIndex,
FbxTime pTime,
float *  pBuffer,
unsigned int  pPointCount,
FbxStatus pStatus = ((void *) 0) 
)

Write a sample at a given time.

Parameters
pChannelIndexThe index of the animation channel, between 0 and GetChannelCount().
pTimeTime at which the point animation must be inserted.
pBufferPoint to the values to be copied. If the channel's data type is FloatVectorArray this buffer must be of size 3*pPointCount.
pPointCountThe number of points to write in the point cache file.
pStatusThe FbxStatus object to hold error codes.
Returns
true if successful, false otherwise.
Remarks
This method will fail if the time pTime is different from the time set using the call BeginWriteAt().
For backward compatibility reasons you can still call this method without the prior call to BeginWriteAt() only if this cached system has been defined with one channel. Any other configuration will result in a failure.

◆ Write() [3/4]

bool Write ( int  pChannelIndex,
FbxTime pTime,
int *  pBuffer,
unsigned int  pPointCount,
FbxStatus pStatus = ((void *) 0) 
)

Write a sample at a given time.

Parameters
pChannelIndexThe index of the animation channel, between 0 and GetChannelCount().
pTimeTime at which the point animation must be inserted.
pBufferPoint to the values to be copied. This buffer must be of size pPointCount.
pPointCountThe number of points to write in the point cache file.
pStatusThe FbxStatus object to hold error codes.
Returns
true if successful, false otherwise.
Remarks
This method will fail if the time pTime is different from the time set using the call BeginWriteAt().
For backward compatibility reasons you can still call this method without the prior call to BeginWriteAt() only if this cached system has been defined with one channel. Any other configuration will result in a failure.

◆ EndWriteAt()

bool EndWriteAt ( FbxStatus pStatus = ((void *) 0))

Instruct the cache system that all the data on all the channels has been written to it for the given time (specified by the BeginWriteAt() call).

The call to this method must be made after all the Write() for every channel defined.

Parameters
pStatusThe FbxStatus object to hold error codes.
Returns
true if successful, false otherwise.
Examples:
ExportScene03/main.cxx.

◆ GetAnimationRange()

bool GetAnimationRange ( int  pChannelIndex,
FbxTime pTimeStart,
FbxTime pTimeEnd,
FbxStatus pStatus = ((void *) 0) 
)

Get the Animation Range of the specified channel.

Parameters
pChannelIndexThe index of the channel.
pTimeStartThe start time of the channel's animation.
pTimeEndThe end time of the channel's animation.
pStatusThe FbxStatus object to hold error codes.
Returns
true if successful, false otherwise.
Examples:
ImportScene/DisplayCache.cxx, and ViewScene/SceneContext.cxx.

◆ GetCacheType()

bool GetCacheType ( EMCFileCount pFileCount,
FbxStatus pStatus = ((void *) 0) 
)

Get the cache type.

Parameters
pFileCountThe cache type.
pStatusThe FbxStatus object to hold error codes.
Returns
true if successful, false otherwise.

◆ GetChannelInterpretation()

bool GetChannelInterpretation ( int  pChannelIndex,
FbxString pInterpretation,
FbxStatus pStatus = ((void *) 0) 
)

Get the cache channel interpretation.

Parameters
pChannelIndexThe index of the animation channel, between 0 and GetChannelCount().
pInterpretationThe channel interpretation, user-defined.
pStatusThe FbxStatus object to hold error codes.
Returns
true if successful, false otherwise.
Examples:
ImportScene/DisplayCache.cxx.

◆ GetChannelSamplingType()

bool GetChannelSamplingType ( int  pChannelIndex,
EMCSamplingType pSamplingType,
FbxStatus pStatus = ((void *) 0) 
)

Get the cache channel sampling type.

Parameters
pChannelIndexThe index of the animation channel, between 0 and GetChannelCount().
pSamplingTypeThe sampling type of the channel.
pStatusThe FbxStatus object to hold error codes.
Returns
true if successful, false otherwise.
Examples:
ImportScene/DisplayCache.cxx.

◆ GetChannelSamplingRate()

bool GetChannelSamplingRate ( int  pChannelIndex,
FbxTime pSamplingRate,
FbxStatus pStatus = ((void *) 0) 
)

Get the cache channel sampling rate, in frames per second.

Parameters
pChannelIndexThe index of the animation channel, between 0 and GetChannelCount().
pSamplingRateThe sampling rate of the channel. The channel must have a regular sampling type.
pStatusThe FbxStatus object to hold error codes.
Returns
true if successful, false otherwise.
Examples:
ImportScene/DisplayCache.cxx.

◆ GetChannelSampleCount()

bool GetChannelSampleCount ( int  pChannelIndex,
unsigned int &  pSampleCount,
FbxStatus pStatus = ((void *) 0) 
)

Get the number of data points for a channel.

Parameters
pChannelIndexThe index of the animation channel, between 0 and GetChannelCount().
pSampleCountNumber of available samples.
pStatusThe FbxStatus object to hold error codes.
Returns
true if successful, false otherwise.
Examples:
ImportScene/DisplayCache.cxx.

◆ GetChannelPointCount()

bool GetChannelPointCount ( int  pChannelIndex,
FbxTime  pTime,
unsigned int &  pPointCount,
FbxStatus pStatus = ((void *) 0) 
)

Get the number of points animated in the cache file, for a channel, for a given time.

Parameters
pChannelIndexThe index of the animation channel, between 0 and GetChannelCount().
pTimeReference time; must be within the boundaries of the animation.
pPointCountNumber of available points.
pStatusThe FbxStatus object to hold error codes.
Returns
true if successful, false otherwise.
Examples:
ImportScene/DisplayCache.cxx.

◆ GetCacheDataFileCount()

int GetCacheDataFileCount ( FbxStatus pStatus = ((void *) 0)) const

Returns the number of cache data files.

Parameters
pStatusThe FbxStatus object to hold error codes.
Returns
The count returned does not include the main cache file, and depends on the cache type. Will return -1 if point cache support is not enabled.

◆ GetCacheDataFileName()

bool GetCacheDataFileName ( int  pIndex,
FbxString pRelativeFileName,
FbxString pAbsoluteFileName,
FbxStatus pStatus = ((void *) 0) 
)

Get the nth cache file name.

Parameters
pIndexIndex of the cache file to return; index is zero-based, and must be less than GetCacheDataFileCount().
pRelativeFileNameReturn the point cache file name, relative to the FBX File name.
pAbsoluteFileNameReturn the point cache file absolute path.
pStatusThe FbxStatus object to hold error codes.
Returns
true if successful, false otherwise. See the error management functions for error details.

◆ EnableMultiChannelFetching()

bool EnableMultiChannelFetching ( bool  pMultiChannelFetching,
FbxStatus pStatus = ((void *) 0) 
)

Enable multi-channel fetching.

Parameters
pMultiChannelFetchingEnable/disable multi-channel fetching. When multi-channel is enabled, any load of data on a channel at a specific time will pre-fetch data from all channels, for that specific time. This can reduce disk access, and increase performance (but requires more memory).
pStatusThe FbxStatus object to hold error codes.
Returns
true if successful, false otherwise.

◆ GetNextTimeWithData()

bool GetNextTimeWithData ( FbxTime  pCurTime,
FbxTime pNextTime,
int  pChannelIndex = -1,
FbxStatus pStatus = ((void *) 0) 
)

Get the next time where data is stored.

Parameters
pCurTimeCurrent time; must be within the boundaries of the animation time.
pNextTimeNext time (filled if the function is successful).
pChannelIndexThe index of the animation channel, between 0 and GetChannelCount(). If pChannel is left at -1, get the next time for any channel.
pStatusThe FbxStatus object to hold error codes.
Returns
true if successful, false otherwise.

◆ GetDataCount()

int GetDataCount ( int  pChannelIndex,
FbxStatus pStatus = ((void *) 0) 
)

Get the number of data points the channel contains.

Parameters
pChannelIndexThe index of the animation channel, between 0 and GetChannelCount().
pStatusThe FbxStatus object to hold error codes.
Returns
The number of the channel's data points.

◆ GetDataTime()

bool GetDataTime ( int  pChannelIndex,
unsigned int  pDataIndex,
FbxTime pTime,
FbxStatus pStatus = ((void *) 0) 
)

Get the time of the specified data point.

Parameters
pChannelIndexThe index of the animation channel, between 0 and GetChannelCount().
pDataIndexIndex of the data point.
pTimeTime of the data point (filled if the function is successful).
pStatusThe FbxStatus object to hold error codes.
Returns
true if successful, false otherwise.

◆ OpenFileForWrite() [2/2]

bool OpenFileForWrite ( double  pFrameStartOffset,
double  pSamplingFrameRate,
unsigned int  pSampleCount,
unsigned int  pPointCount,
FbxStatus pStatus = ((void *) 0) 
)

Open a cache file for writing.

Parameters
pFrameStartOffsetStart time of the animation, in frames.
pSamplingFrameRateNumber of frames per second.
pSampleCountThe number of samples to write to the file.
pPointCountThe number of points to write in the point cache file.
pStatusThe FbxStatus object to hold error codes.
Returns
true if successful, false otherwise. See the error management functions for error details.

◆ GetSampleCount()

unsigned int GetSampleCount ( FbxStatus pStatus = ((void *) 0))

Get the number of frames of animation found in the point cache file.

Parameters
pStatusThe FbxStatus object to hold error codes.
Returns
The number of frames of animation.

◆ GetPointCount()

unsigned int GetPointCount ( FbxStatus pStatus = ((void *) 0))

Get the number of points animated in the cache file.

Parameters
pStatusThe FbxStatus object to hold error codes.
Returns
The number of points.

◆ GetFrameStartOffset()

double GetFrameStartOffset ( FbxStatus pStatus = ((void *) 0))

Get the start time of the animation.

Parameters
pStatusThe FbxStatus object to hold error codes.
Returns
The start time of the animation, in frames.

◆ Read() [5/5]

bool Read ( unsigned int  pFrameIndex,
double *  pBuffer,
unsigned int  pPointCount,
FbxStatus pStatus = ((void *) 0) 
)

Read a sample at a given frame index.

Parameters
pFrameIndexThe index of the animation frame, between 0 and GetSampleCount().
pBufferThe place where the point value will be copied. This buffer must be of size 3 * pPointCount.
pPointCountThe number of points to read from the point cache file.
pStatusThe FbxStatus object to hold error codes.
Returns
true if successful, false otherwise.

◆ Write() [4/4]

bool Write ( unsigned int  pFrameIndex,
double *  pBuffer,
FbxStatus pStatus = ((void *) 0) 
)

Write a sample at a given frame index.

Parameters
pFrameIndexThe index of the animation frame.
pBufferPoint to the values to be copied. This buffer must be of size 3 * pPointCount, as passed to the function OpenFileForWrite().
pStatusThe FbxStatus object to hold error codes.
Returns
true if successful, false otherwise.
Remarks
Successive calls to Write() must use successive index.

◆ ConvertFromPC2ToMC()

bool ConvertFromPC2ToMC ( EMCFileCount  pFileCount,
double  pSamplingFrameRate,
EMCBinaryFormat  pBinaryFormat,
FbxStatus pStatus = ((void *) 0) 
)

Create an MC cache file from an PC2 cache file.

Parameters
pFileCountCreate one file for each frame of animation, or one file for all the frames.
pSamplingFrameRateNumber of frames per second used to re-sample the point animation.
pBinaryFormatBinary format type (32 bit=eMCC or 64bit=eMCX)
pStatusThe FbxStatus object to hold error codes.
Returns
true if successful, false otherwise.
Remarks
The created point cache file will be located in the _fpc folder associate with the FBX file.
Examples:
ViewScene/SceneContext.cxx.

◆ ConvertFromMCToPC2()

bool ConvertFromMCToPC2 ( double  pSamplingFrameRate,
unsigned int  pChannelIndex,
FbxStatus pStatus = ((void *) 0) 
)

Create a PC2 cache file from an MC cache file.

Parameters
pSamplingFrameRateNumber of frames per second to re-sample the point animation.
pChannelIndexIndex of the channel of animation to read from.
pStatusThe FbxStatus object to hold error codes.
Returns
true if successful, false otherwise.
Remarks
The created point cache file will be located in the _fpc folder associate with the FBX file.
Examples:
ViewScene/SceneContext.cxx.

Friends And Related Function Documentation

◆ fbxsdk ::FbxManager

friend class fbxsdk ::FbxManager
friend

Definition at line 35 of file fbxcache.h.

◆ fbxsdk ::FbxNew [1/47]

T* fbxsdk ::FbxNew ( )
friend

◆ fbxsdk ::FbxNew [2/47]

T* fbxsdk ::FbxNew ( T1 &  p1)
friend

◆ fbxsdk ::FbxNew [3/47]

T* fbxsdk ::FbxNew ( const T1 &  p1)
friend

◆ fbxsdk ::FbxNew [4/47]

T* fbxsdk ::FbxNew ( T1 &  p1,
T2 &  p2 
)
friend

◆ fbxsdk ::FbxNew [5/47]

T* fbxsdk ::FbxNew ( T1 &  p1,
const T2 &  p2 
)
friend

◆ fbxsdk ::FbxNew [6/47]

T* fbxsdk ::FbxNew ( const T1 &  p1,
T2 &  p2 
)
friend

◆ fbxsdk ::FbxNew [7/47]

T* fbxsdk ::FbxNew ( const T1 &  p1,
const T2 &  p2 
)
friend

◆ fbxsdk ::FbxNew [8/47]

T* fbxsdk ::FbxNew ( T1 &  p1,
T2 &  p2,
T3 &  p3 
)
friend

◆ fbxsdk ::FbxNew [9/47]

T* fbxsdk ::FbxNew ( T1 &  p1,
T2 &  p2,
const T3 &  p3 
)
friend

◆ fbxsdk ::FbxNew [10/47]

T* fbxsdk ::FbxNew ( T1 &  p1,
const T2 &  p2,
T3 &  p3 
)
friend

◆ fbxsdk ::FbxNew [11/47]

T* fbxsdk ::FbxNew ( T1 &  p1,
const T2 &  p2,
const T3 &  p3 
)
friend

◆ fbxsdk ::FbxNew [12/47]

T* fbxsdk ::FbxNew ( const T1 &  p1,
T2 &  p2,
T3 &  p3 
)
friend

◆ fbxsdk ::FbxNew [13/47]

T* fbxsdk ::FbxNew ( const T1 &  p1,
T2 &  p2,
const T3 &  p3 
)
friend

◆ fbxsdk ::FbxNew [14/47]

T* fbxsdk ::FbxNew ( const T1 &  p1,
const T2 &  p2,
T3 &  p3 
)
friend

◆ fbxsdk ::FbxNew [15/47]

T* fbxsdk ::FbxNew ( const T1 &  p1,
const T2 &  p2,
const T3 &  p3 
)
friend

◆ fbxsdk ::FbxNew [16/47]

T* fbxsdk ::FbxNew ( T1 &  p1,
T2 &  p2,
T3 &  p3,
T4 &  p4 
)
friend

◆ fbxsdk ::FbxNew [17/47]

T* fbxsdk ::FbxNew ( T1 &  p1,
T2 &  p2,
T3 &  p3,
const T4 &  p4 
)
friend

◆ fbxsdk ::FbxNew [18/47]

T* fbxsdk ::FbxNew ( T1 &  p1,
T2 &  p2,
const T3 &  p3,
T4 &  p4 
)
friend

◆ fbxsdk ::FbxNew [19/47]

T* fbxsdk ::FbxNew ( T1 &  p1,
T2 &  p2,
const T3 &  p3,
const T4 &  p4 
)
friend

◆ fbxsdk ::FbxNew [20/47]

T* fbxsdk ::FbxNew ( T1 &  p1,
const T2 &  p2,
T3 &  p3,
T4 &  p4 
)
friend

◆ fbxsdk ::FbxNew [21/47]

T* fbxsdk ::FbxNew ( T1 &  p1,
const T2 &  p2,
T3 &  p3,
const T4 &  p4 
)
friend

◆ fbxsdk ::FbxNew [22/47]

T* fbxsdk ::FbxNew ( T1 &  p1,
const T2 &  p2,
const T3 &  p3,
T4 &  p4 
)
friend

◆ fbxsdk ::FbxNew [23/47]

T* fbxsdk ::FbxNew ( T1 &  p1,
const T2 &  p2,
const T3 &  p3,
const T4 &  p4 
)
friend

◆ fbxsdk ::FbxNew [24/47]

T* fbxsdk ::FbxNew ( const T1 &  p1,
T2 &  p2,
T3 &  p3,
T4 &  p4 
)
friend

◆ fbxsdk ::FbxNew [25/47]

T* fbxsdk ::FbxNew ( const T1 &  p1,
T2 &  p2,
T3 &  p3,
const T4 &  p4 
)
friend

◆ fbxsdk ::FbxNew [26/47]

T* fbxsdk ::FbxNew ( const T1 &  p1,
T2 &  p2,
const T3 &  p3,
T4 &  p4 
)
friend

◆ fbxsdk ::FbxNew [27/47]

T* fbxsdk ::FbxNew ( const T1 &  p1,
T2 &  p2,
const T3 &  p3,
const T4 &  p4 
)
friend

◆ fbxsdk ::FbxNew [28/47]

T* fbxsdk ::FbxNew ( const T1 &  p1,
const T2 &  p2,
T3 &  p3,
T4 &  p4 
)
friend

◆ fbxsdk ::FbxNew [29/47]

T* fbxsdk ::FbxNew ( const T1 &  p1,
const T2 &  p2,
T3 &  p3,
const T4 &  p4 
)
friend

◆ fbxsdk ::FbxNew [30/47]

T* fbxsdk ::FbxNew ( const T1 &  p1,
const T2 &  p2,
const T3 &  p3,
T4 &  p4 
)
friend

◆ fbxsdk ::FbxNew [31/47]

T* fbxsdk ::FbxNew ( const T1 &  p1,
const T2 &  p2,
const T3 &  p3,
const T4 &  p4 
)
friend

◆ fbxsdk ::FbxNew [32/47]

T* fbxsdk ::FbxNew ( T1 &  p1,
T2 &  p2,
T3 &  p3,
T4 &  p4,
T5 &  p5 
)
friend

◆ fbxsdk ::FbxNew [33/47]

T* fbxsdk ::FbxNew ( const T1 &  p1,
T2 &  p2,
T3 &  p3,
T4 &  p4,
T5 &  p5 
)
friend

◆ fbxsdk ::FbxNew [34/47]

T* fbxsdk ::FbxNew ( const T1 &  p1,
const T2 &  p2,
T3 &  p3,
T4 &  p4,
T5 &  p5 
)
friend

◆ fbxsdk ::FbxNew [35/47]

T* fbxsdk ::FbxNew ( const T1 &  p1,
T2 &  p2,
const T3 &  p3,
T4 &  p4,
T5 &  p5 
)
friend

◆ fbxsdk ::FbxNew [36/47]

T* fbxsdk ::FbxNew ( const T1 &  p1,
T2 &  p2,
T3 &  p3,
const T4 &  p4,
T5 &  p5 
)
friend

◆ fbxsdk ::FbxNew [37/47]

T* fbxsdk ::FbxNew ( const T1 &  p1,
T2 &  p2,
T3 &  p3,
T4 &  p4,
const T5 &  p5 
)
friend

◆ fbxsdk ::FbxNew [38/47]

T* fbxsdk ::FbxNew ( const T1 &  p1,
const T2 &  p2,
const T3 &  p3,
T4 &  p4,
T5 &  p5 
)
friend

◆ fbxsdk ::FbxNew [39/47]

T* fbxsdk ::FbxNew ( const T1 &  p1,
const T2 &  p2,
T3 &  p3,
const T4 &  p4,
T5 &  p5 
)
friend

◆ fbxsdk ::FbxNew [40/47]

T* fbxsdk ::FbxNew ( const T1 &  p1,
const T2 &  p2,
T3 &  p3,
T4 &  p4,
const T5 &  p5 
)
friend

◆ fbxsdk ::FbxNew [41/47]

T* fbxsdk ::FbxNew ( const T1 &  p1,
const T2 &  p2,
const T3 &  p3,
const T4 &  p4,
T5 &  p5 
)
friend

◆ fbxsdk ::FbxNew [42/47]

T* fbxsdk ::FbxNew ( const T1 &  p1,
const T2 &  p2,
const T3 &  p3,
T4 &  p4,
const T5 &  p5 
)
friend

◆ fbxsdk ::FbxNew [43/47]

T* fbxsdk ::FbxNew ( const T1 &  p1,
const T2 &  p2,
const T3 &  p3,
const T4 &  p4,
const T5 &  p5 
)
friend

◆ fbxsdk ::FbxNew [44/47]

T* fbxsdk ::FbxNew ( const T1 &  p1,
const T2 &  p2,
const T3 &  p3,
const T4 &  p4,
const T5 &  p5,
const T6 &  p6 
)
friend

◆ fbxsdk ::FbxNew [45/47]

T* fbxsdk ::FbxNew ( const T1 &  p1,
const T2 &  p2,
const T3 &  p3,
const T4 &  p4,
const T5 &  p5,
const T6 &  p6,
const T7 &  p7 
)
friend

◆ fbxsdk ::FbxNew [46/47]

T* fbxsdk ::FbxNew ( const T1 &  p1,
const T2 &  p2,
const T3 &  p3,
const T4 &  p4,
const T5 &  p5,
const T6 &  p6,
const T7 &  p7,
const T8 &  p8 
)
friend

◆ fbxsdk ::FbxNew [47/47]

T* fbxsdk ::FbxNew ( const T1 &  p1,
const T2 &  p2,
const T3 &  p3,
const T4 &  p4,
const T5 &  p5,
const T6 &  p6,
const T7 &  p7,
const T8 &  p8,
const T9 &  p9 
)
friend

◆ fbxsdk ::FbxDelete [1/2]

void fbxsdk ::FbxDelete ( T *  p)
friend

◆ fbxsdk ::FbxDelete [2/2]

void fbxsdk ::FbxDelete ( const T *  p)
friend

◆ fbxsdk ::FbxNewArray

T* fbxsdk ::FbxNewArray ( const int  n)
friend

◆ fbxsdk ::FbxDeleteArray

void fbxsdk ::FbxDeleteArray ( T *  p)
friend

Member Data Documentation

◆ ClassId

FbxClassId ClassId
static

Definition at line 35 of file fbxcache.h.


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