- Main Page
- Classes
- Files
- Directories
- Examples

- Class List
- Class Hierarchy
- Class Members

Public Types | Static Public Attributes | Protected Member Functions | Protected Attributes

# FbxCache Class Reference

This reference page is linked to from the following overview topics: List of Python Fbx classes.

Search for all occurrences

## Detailed Description

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

The FBX SDK supports two point cache file formats :

- eMaxPointCacheV2: the 3ds Max Point Cache 2 file format.
- eMayaCache: the Maya Cache file format.

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

Examples:

  ExportScene03/main.cxx, ViewScene/DrawScene.cxx, and ViewScene/SceneContext.cxx.

Definition at line 39 of file fbxcache.h.

`#include <fbxcache.h>`

Inheritance diagram for FbxCache:
[legend]

List of all members.

## Public Types
enum | EOpenFlag { eReadOnly, eWriteOnly }
## Public Member Functions
eMaxPointCacheV2 Format Specific Functions.
bool | OpenFileForWrite (double pFrameStartOffset, double pSamplingFrameRate, unsigned int pSampleCount, unsigned int pPointCount)
| Open a cache file for writing.
unsigned int | GetSampleCount ()
| Get the number of frames of animation found in the point cache file.
unsigned int | GetPointCount ()
| Get the number of points animated in the cache file.
double | GetFrameStartOffset ()
| Get the start time of the animation.
bool | Read (unsigned int pFrameIndex, double *pBuffer, unsigned int pPointCount)
| Read a sample at a given frame index.
bool | Write (unsigned int pFrameIndex, double *pBuffer)
| Write a sample at a given frame index.
File conversion Functions.
bool | ConvertFromPC2ToMC (EMCFileCount pFileCount, double pSamplingFrameRate)
| Create an MC cache file from an PC2 cache file.
bool | ConvertFromMCToPC2 (double pSamplingFrameRate, unsigned int pChannelIndex)
| Create a PC2 cache file from an MC cache file.
## Static Public Attributes
static const char * | sCacheFilePropertyName
static const char * | sCacheFileAbsolutePathPropertyName
static const char * | sCacheFileTypePropertyName
## Protected Member Functions
bool | OpenFile (EOpenFlag pFlag, EMCFileCount pFileCount, double pSamplingFrameRate, const char *pChannelName, const char *pInterpretation, unsigned int pSampleCount, unsigned int pPointCount, double pFrameStartOffset, EMCDataType pMCDataType=eDoubleVectorArray)
| FbxCache (FbxManager &pManager, char const *pName)
virtual void | Construct (const FbxCache *pFrom)
virtual bool | ConstructProperties (bool pForceSet)
virtual void | Destruct (bool pRecursive, bool pDependents)
## Protected Attributes
FbxCache_internal * | mData
## Format Independent Functions.
enum | EFileFormat { eUnknownFileFormat, eMaxPointCacheV2, eMayaCache }
| Supported cache file formats. More...
void | SetCacheFileFormat (EFileFormat pFileFormat)
| Set the cache file format.
EFileFormat | GetCacheFileFormat () const
| Get the cache file format.
void | SetCacheFileName (const char *pRelativeFileName_UTF8, const char *pAbsoluteFileName_UTF8)
| Set the cache file name.
void | GetCacheFileName (FbxString &pRelativeFileName_UTF8, FbxString &pAbsoluteFileName_UTF8) const
| Get the cache file name.
bool | OpenFileForRead ()
| Open the cache file for reading.
bool | IsOpen () const
| Get the open state of the cache file.
bool | CloseFile ()
| Close the cache file.
double | GetSamplingFrameRate ()
| Get the sampling frame rate of the cache file.
FbxTime | GetCacheTimePerFrame ()
| Get the sampling frame rate of the cache file, as a FbxTime object.
## 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 | EMCSamplingType { eSamplingRegular, eSamplingIrregular }
| Cache channel sampling types. More...
bool | OpenFileForWrite (EMCFileCount pFileCount, double pSamplingFrameRate, const char *pChannelName, EMCDataType pMCDataType=eDoubleVectorArray, const char *pInterpretation="Points")
| Open a cache file for writing.
bool | AddChannel (const char *pChannelName, EMCDataType pMCDataType, const char *pInterpretation, unsigned int &pChannelIndex)
| Creates a new channel in the cache.
int | GetChannelCount ()
| Get the number of channels in the cache file.
bool | GetChannelName (int pChannelIndex, FbxString &pChannelName)
| Get the channel name for a specific channel index.
bool | GetChannelDataType (int pChannelIndex, EMCDataType &pChannelType)
| Get the data type of the specified channel.
int | GetChannelIndex (const char *pChannelName)
| Get the index of the specified channel.
bool | Read (int pChannelIndex, FbxTime &pTime, double *pBuffer, unsigned int pPointCount)
| Read a sample at a given time.
bool | Read (int pChannelIndex, FbxTime &pTime, float *pBuffer, unsigned int pPointCount)
| Read a sample at a given time.
bool | Read (int pChannelIndex, FbxTime &pTime, int *pBuffer, unsigned int pPointCount)
| Read a sample at a given time.
bool | BeginWriteAt (FbxTime &pTime)
| Instruct the cache system that data is about to be written to it.
bool | Write (int pChannelIndex, FbxTime &pTime, double *pBuffer, unsigned int pPointCount)
| Write a sample at a given time.
bool | Write (int pChannelIndex, FbxTime &pTime, float *pBuffer, unsigned int pPointCount)
| Write a sample at a given time.
bool | Write (int pChannelIndex, FbxTime &pTime, int *pBuffer, unsigned int pPointCount)
| Write a sample at a given time.
bool | EndWriteAt ()
| 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).
bool | GetAnimationRange (int pChannelIndex, FbxTime &pTimeStart, FbxTime &pTimeEnd)
| Get the Animation Range of the specified channel.
bool | GetCacheType (EMCFileCount &pFileCount)
| Get the cache type.
bool | GetChannelInterpretation (int pChannelIndex, FbxString &pInterpretation)
| Get the cache channel interpretation.
bool | GetChannelSamplingType (int pChannelIndex, EMCSamplingType &pSamplingType)
| Get the cache channel sampling type.
bool | GetChannelSamplingRate (int pChannelIndex, FbxTime &pSamplingRate)
| Get the cache channel sampling rate, in frames per second.
bool | GetChannelSampleCount (int pChannelIndex, unsigned int &pSampleCount)
| Get the number of data points for a channel.
bool | GetChannelPointCount (int pChannelIndex, FbxTime pTime, unsigned int &pPointCount)
| Get the number of points animated in the cache file, for a channel, for a given time.
int | GetCacheDataFileCount () const
| Returns the number of cache data files.
bool | GetCacheDataFileName (int pIndex, FbxString &pRelativeFileName, FbxString &pAbsoluteFileName)
| Get the nth cache file name.
bool | EnableMultiChannelFetching (bool pMultiChannelFetching)
| Enable multi-channel fetching.
bool | GetNextTimeWithData (FbxTime pCurTime, FbxTime &pNextTime, int pChannelIndex=-1)
| Get the next time where data is stored.
int | GetDataCount (int pChannelIndex)
| Get the number of data points the channel contains.
bool | GetDataTime (int pChannelIndex, unsigned int pDataIndex, FbxTime &pTime)
| Get the time of the specified data point.
## Error Management
enum | EErrorCode { eUnsupportedArchitecture, eInvalidAbsolutePath, eInvalidSamplingRate, eInvalidCacheFormat, eUnsupportedFileVersion, eConversionFromPC2Failed, eConversionFromMCFailed, eCacheFileNotFound, eCacheFileNotOpened, eCacheFileNotCreated, eInvalidOpenFlag, eErrorWritingSample, eErrorReadingSample, eErrorDataType, eErrorInvalidChannelIndex, eErrorIrregularChannelSampling, eErrorChannelInterpretation, eErrorChannelSampling, eErrorInvalidFileIndex, eErrorCacheDataFileName, eErrorChannelStartTime, eErrorChannelPointCount, eErrorInvalidTime, eErrorBeginWriteAtNotCalled, eErrorCount }
| Error identifiers. More...
FbxError & | GetError ()
| Retrieve error object.
EErrorCode | GetLastErrorID () const
| Get last error code.
const char * | GetLastErrorString () const
| Get last error string.

## Member Enumeration Documentation

enum EFileFormat

Search for all occurrences

Supported cache file formats.

Enumerator:

  eUnknownFileFormat | Unknown cache file format. Search for all occurrences
  eMaxPointCacheV2 | 3ds Max Point Cache 2 file format. Search for all occurrences
  eMayaCache | Maya Cache file format. Search for all occurrences

Definition at line 51 of file fbxcache.h.

            {
                eUnknownFileFormat,
                eMaxPointCacheV2,
                eMayaCache
            };

enum EMCFileCount

Search for all occurrences

Number of files used to store the animation.

Enumerator:

  eMCOneFile | One file is used for all the frames of animation. Search for all occurrences
  eMCOneFilePerFrame | For every frame of animation, a cache file is used. The number of the frames is the number of the cache files. Search for all occurrences

Definition at line 115 of file fbxcache.h.

            {
                eMCOneFile,
                eMCOneFilePerFrame
            };

enum EMCDataType

Search for all occurrences

Data types in the MC cache file.

Enumerator:

  eUnknownData | Unknown data. Search for all occurrences
  eDouble | No use but has to be defined for consistency reasons. Search for all occurrences
  eDoubleArray | double* Search for all occurrences
  eDoubleVectorArray | double* [3] Search for all occurrences
  eInt32Array | int* Search for all occurrences
  eFloatArray | float* Search for all occurrences
  eFloatVectorArray | float* [3] Search for all occurrences

Definition at line 123 of file fbxcache.h.

            {
                eUnknownData,
                eDouble,
                eDoubleArray,
                eDoubleVectorArray,
                eInt32Array,
                eFloatArray,
                eFloatVectorArray
            };

enum EMCSamplingType

Search for all occurrences

Cache channel sampling types.

Enumerator:

  eSamplingRegular | Regular sampling. Search for all occurrences
  eSamplingIrregular | Irregular sampling. Search for all occurrences

Definition at line 305 of file fbxcache.h.

            {
                eSamplingRegular,
                eSamplingIrregular
            };

enum EErrorCode

Search for all occurrences

Error identifiers.

Enumerator:

  eUnsupportedArchitecture | Search for all occurrences
  eInvalidAbsolutePath | The absolute path is invalid. Search for all occurrences
  eInvalidSamplingRate | The sampling rate is invalid. Search for all occurrences
  eInvalidCacheFormat | The cache format is invalid. Search for all occurrences
  eUnsupportedFileVersion | The cache file version is not supported yet. Search for all occurrences
  eConversionFromPC2Failed | The conversion from PC2 to MC cache file failed. Search for all occurrences
  eConversionFromMCFailed | The conversion from MC to PC2 cache file failed. Search for all occurrences
  eCacheFileNotFound | The cache file can not be found. Search for all occurrences
  eCacheFileNotOpened | The cache file can not be opened. Search for all occurrences
  eCacheFileNotCreated | The cache file can not be created. Search for all occurrences
  eInvalidOpenFlag | The open file flag (read or write) does not match. Search for all occurrences
  eErrorWritingSample | Fails to write the sample. Search for all occurrences
  eErrorReadingSample | Fails to read the sample. Search for all occurrences
  eErrorDataType | The date type does not match. Search for all occurrences
  eErrorInvalidChannelIndex | The channel index is invalid. Search for all occurrences
  eErrorIrregularChannelSampling | The channel sampling is irregular. Search for all occurrences
  eErrorChannelInterpretation | Fails to get the cache channel's interpretation. Search for all occurrences
  eErrorChannelSampling | Fails to get the cache channel's sampling rate. Search for all occurrences
  eErrorInvalidFileIndex | The file index is invalid. Search for all occurrences
  eErrorCacheDataFileName | Fails to get the cache file's name. Search for all occurrences
  eErrorChannelStartTime | There is error of the start time of the channel's animation. Search for all occurrences
  eErrorChannelPointCount | Fails to get the number of points animated in the cache file. Search for all occurrences
  eErrorInvalidTime | The specified time is invalid. Search for all occurrences
  eErrorBeginWriteAtNotCalled | The BeginWriteAt() is not called. Search for all occurrences
  eErrorCount | The number of all the errors. Search for all occurrences

Definition at line 486 of file fbxcache.h.

            {
                eUnsupportedArchitecture,
                eInvalidAbsolutePath,
                eInvalidSamplingRate,
                eInvalidCacheFormat,
                eUnsupportedFileVersion,
                eConversionFromPC2Failed,
                eConversionFromMCFailed,
                eCacheFileNotFound,
                eCacheFileNotOpened,
                eCacheFileNotCreated,
                eInvalidOpenFlag,
                eErrorWritingSample,
                eErrorReadingSample,
                eErrorDataType,
                eErrorInvalidChannelIndex,
                eErrorIrregularChannelSampling,
                eErrorChannelInterpretation,
                eErrorChannelSampling,
                eErrorInvalidFileIndex,
                eErrorCacheDataFileName,
                eErrorChannelStartTime,
                eErrorChannelPointCount,
                eErrorInvalidTime,
                eErrorBeginWriteAtNotCalled,
                eErrorCount
            };

enum EOpenFlag

Search for all occurrences

Enumerator:

  eReadOnly | Search for all occurrences
  eWriteOnly | Search for all occurrences

Definition at line 542 of file fbxcache.h.

        {
            eReadOnly,
            eWriteOnly
        };

## Constructor & Destructor Documentation

FbxCache | ( | FbxManager & | pManager,
|  | char const * | pName
| ) |  | `[protected]`

## Member Function Documentation

void SetCacheFileFormat | ( | EFileFormat | pFileFormat | ) |

Search for all occurrences

Set the cache file format.

Parameters:

  pFileFormat | Valid values are eMaxPointCacheV2 or eMayaCache.

Examples:
  ExportScene03/main.cxx.

EFileFormat GetCacheFileFormat | ( |  | ) | const

Search for all occurrences

Get the cache file format.

Returns:
  The current cache file format, or eUnknown if it is not set.

Examples:
  ViewScene/DrawScene.cxx, and ViewScene/SceneContext.cxx.

void SetCacheFileName | ( | const char * | pRelativeFileName_UTF8,
|  | const char * | pAbsoluteFileName_UTF8
| ) |  |

Search for all occurrences

Set the cache file name.

Parameters:

  pRelativeFileName_UTF8 | The point cache file, relative to the FBX file name.
  pAbsoluteFileName_UTF8 | The point cache file absolute path.

Examples:
  ExportScene03/main.cxx.

void GetCacheFileName | ( | FbxString & | pRelativeFileName_UTF8,
|  | FbxString & | pAbsoluteFileName_UTF8
| ) |  | const

Search for all occurrences

Get the cache file name.

Parameters:

  pRelativeFileName_UTF8 | Return the point cache file name, relative to the FBX File name.
  pAbsoluteFileName_UTF8 | Return the point cache file absolute path.

bool OpenFileForRead | ( |  | ) |

Search for all occurrences

Open the cache file for reading.

Returns:
  `true` if the file is successfully opened, `false` otherwise. See the error management functions for error details.

Examples:
  ExportScene03/main.cxx, and ViewScene/SceneContext.cxx.

bool IsOpen | ( |  | ) | const

Search for all occurrences

Get the open state of the cache file.

Returns:
  `true` if the cache file is currently open, `false` otherwise.

bool CloseFile | ( |  | ) |

Search for all occurrences

Close the cache file.

Returns:
  `true` if the cache file is closed successfully, `false` otherwise.

Examples:
  ExportScene03/main.cxx.

double GetSamplingFrameRate | ( |  | ) |

Search for all occurrences

Get the sampling frame rate of the cache file.

Returns:
  The sampling frame rate of the cache file, in frames per second.

FbxTime GetCacheTimePerFrame | ( |  | ) |

Search for all occurrences

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

Returns:
  The sampling frame rate of the cache file.

bool OpenFileForWrite | ( | EMCFileCount | pFileCount,
|  | double | pSamplingFrameRate,
|  | const char * | pChannelName,
|  | EMCDataType | pMCDataType = `eDoubleVectorArray`,
|  | const char * | pInterpretation = `"Points"`
| ) |  |

Search for all occurrences

Open a cache file for writing.

Parameters:

  pFileCount | Create one file for each frame of animation, or one file for all the frames.
  pSamplingFrameRate | Number of frames per second.
  pChannelName | The name of the channel of animation to create.
  pMCDataType | The data type of the MC cache file.
  pInterpretation | A piece of meta data to help users of the cache understand how to interpret the data.

Examples:
  ExportScene03/main.cxx.

bool AddChannel | ( | const char * | pChannelName,
|  | EMCDataType | pMCDataType,
|  | const char * | pInterpretation,
|  | unsigned int & | pChannelIndex
| ) |  |

Search for all occurrences

Creates a new channel in the cache.

Parameters:

  pChannelName | The name of the channel of animation to create.
  pMCDataType | The MC DataType of the cache.
  pInterpretation | A piece of meta data to help users of the cache understand how to interpret the data.
  pChannelIndex | The index of the new animation channel.

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.

int GetChannelCount | ( |  | ) |

Search for all occurrences

Get the number of channels in the cache file.

Returns:
  The number of animation channels in the cache file.

Examples:
  ViewScene/SceneContext.cxx.

bool GetChannelName | ( | int | pChannelIndex,
|  | FbxString & | pChannelName
| ) |  |

Search for all occurrences

Get the channel name for a specific channel index.

Parameters:

  pChannelIndex | The index of the animation channel, between 0 and GetChannelCount().
  pChannelName | Returns the name of the requested channel.

Returns:
  `true` if successful, `false` otherwise. See the error management functions for error details.

bool GetChannelDataType | ( | int | pChannelIndex,
|  | EMCDataType & | pChannelType
| ) |  |

Search for all occurrences

Get the data type of the specified channel.

Parameters:

  pChannelIndex | The index of the channel.
  pChannelType | The channel's data type.

Returns:
  `true` if successful, `false` otherwise. See the error management functions for error details.

int GetChannelIndex | ( | const char * | pChannelName | ) |

Search for all occurrences

Get the index of the specified channel.

Parameters:

  pChannelName | The name of the channel.

Returns:
  The index of the channel in the cache file, or -1 if an error occurred. See the error management functions for error details.

Examples:
  ExportScene03/main.cxx, and ViewScene/DrawScene.cxx.

bool Read | ( | int | pChannelIndex,
|  | FbxTime & | pTime,
|  | double * | pBuffer,
|  | unsigned int | pPointCount
| ) |  |

Search for all occurrences

Read a sample at a given time.

Parameters:

  pChannelIndex | The index of the animation channel, between 0 and GetChannelCount().
  pTime | Time at which the point animation must be evaluated.
  pBuffer | The place where the point value will be copied. If the channel's data type is DoubleVectorArray this buffer must be of size 3*pPointCount.
  pPointCount | The number of points to read from the point cache file.

Returns:
  `true` if successful, `false` otherwise. See the error management functions for error details.

Examples:
  ExportScene03/main.cxx, and ViewScene/DrawScene.cxx.

bool Read | ( | int | pChannelIndex,
|  | FbxTime & | pTime,
|  | float * | pBuffer,
|  | unsigned int | pPointCount
| ) |  |

Search for all occurrences

Read a sample at a given time.

Parameters:

  pChannelIndex | The index of the animation channel, between 0 and GetChannelCount().
  pTime | Time at which the point animation must be evaluated.
  pBuffer | The place where the point value will be copied. If the channel's data type is FloatVectorArray this buffer must be of size 3*pPointCount.
  pPointCount | The number of points to read from the point cache file.

Returns:
  `true` if successful, `false` otherwise. See the error management functions for error details.

bool Read | ( | int | pChannelIndex,
|  | FbxTime & | pTime,
|  | int * | pBuffer,
|  | unsigned int | pPointCount
| ) |  |

Search for all occurrences

Read a sample at a given time.

Parameters:

  pChannelIndex | The index of the animation channel, between 0 and GetChannelCount().
  pTime | Time at which the point animation must be evaluated.
  pBuffer | The place where the point value will be copied. This buffer must be of size pPointCount.
  pPointCount | The number of points to read from the point cache file.

Returns:
  `true` if successful, `false` otherwise. See the error management functions for error details.

bool BeginWriteAt | ( | FbxTime & | pTime | ) |

Search for all occurrences

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:

  pTime | Time at which the point animation must be inserted.

Returns:
  `true` if successful, `false` otherwise. See the error management functions for error details.

bool Write | ( | int | pChannelIndex,
|  | FbxTime & | pTime,
|  | double * | pBuffer,
|  | unsigned int | pPointCount
| ) |  |

Search for all occurrences

Write a sample at a given time.

Parameters:

  pChannelIndex | The index of the animation channel, between 0 and GetChannelCount().
  pTime | Time at which the point animation must be inserted.
  pBuffer | Point to the values to be copied. If the channel's data type is DoubleVectorArray this buffer must be of size 3*pPointCount.
  pPointCount | The number of points to write in the point cache file.

Returns:
  `true` if successful, `false` otherwise. See the error management functions for error details.

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.

Examples:
  ExportScene03/main.cxx.

bool Write | ( | int | pChannelIndex,
|  | FbxTime & | pTime,
|  | float * | pBuffer,
|  | unsigned int | pPointCount
| ) |  |

Search for all occurrences

Write a sample at a given time.

Parameters:

  pChannelIndex | The index of the animation channel, between 0 and GetChannelCount().
  pTime | Time at which the point animation must be inserted.
  pBuffer | Point to the values to be copied. If the channel's data type is FloatVectorArray this buffer must be of size 3*pPointCount.
  pPointCount | The number of points to write in the point cache file.

Returns:
  `true` if successful, `false` otherwise. See the error management functions for error details.

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.

bool Write | ( | int | pChannelIndex,
|  | FbxTime & | pTime,
|  | int * | pBuffer,
|  | unsigned int | pPointCount
| ) |  |

Search for all occurrences

Write a sample at a given time.

Parameters:

  pChannelIndex | The index of the animation channel, between 0 and GetChannelCount().
  pTime | Time at which the point animation must be inserted.
  pBuffer | Point to the values to be copied. This buffer must be of size pPointCount.
  pPointCount | The number of points to write in the point cache file.

Returns:
  `true` if successful, `false` otherwise. See the error management functions for error details.

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.

bool EndWriteAt | ( |  | ) |

Search for all occurrences

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.

Returns:
  `true` if successful, `false` otherwise. See the error management functions for error details.

bool GetAnimationRange | ( | int | pChannelIndex,
|  | FbxTime & | pTimeStart,
|  | FbxTime & | pTimeEnd
| ) |  |

Search for all occurrences

Get the Animation Range of the specified channel.

Parameters:

  pChannelIndex | The index of the channel.
  pTimeStart | The start time of the channel's animation.
  pTimeEnd | The end time of the channel's animation.

Returns:
  `true` if successful, `false` otherwise. See the error management functions for error details.

Examples:
  ViewScene/SceneContext.cxx.

bool GetCacheType | ( | EMCFileCount & | pFileCount | ) |

Search for all occurrences

Get the cache type.

Parameters:

  pFileCount | The cache type.

Returns:
  `true` if successful, `false` otherwise. See the error management functions for error details.

bool GetChannelInterpretation | ( | int | pChannelIndex,
|  | FbxString & | pInterpretation
| ) |  |

Search for all occurrences

Get the cache channel interpretation.

Parameters:

  pChannelIndex | The index of the animation channel, between 0 and GetChannelCount().
  pInterpretation | The channel interpretation, user-defined.

Returns:
  `true` if successful, `false` otherwise. See the error management functions for error details.

bool GetChannelSamplingType | ( | int | pChannelIndex,
|  | EMCSamplingType & | pSamplingType
| ) |  |

Search for all occurrences

Get the cache channel sampling type.

Parameters:

  pChannelIndex | The index of the animation channel, between 0 and GetChannelCount().
  pSamplingType | The sampling type of the channel.

Returns:
  `true` if successful, `false` otherwise. See the error management functions for error details.

bool GetChannelSamplingRate | ( | int | pChannelIndex,
|  | FbxTime & | pSamplingRate
| ) |  |

Search for all occurrences

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

Parameters:

  pChannelIndex | The index of the animation channel, between 0 and GetChannelCount().
  pSamplingRate | The sampling rate of the channel. The channel must have a regular sampling type.

Returns:
  `true` if successful, `false` otherwise. See the error management functions for error details.

bool GetChannelSampleCount | ( | int | pChannelIndex,
|  | unsigned int & | pSampleCount
| ) |  |

Search for all occurrences

Get the number of data points for a channel.

Parameters:

  pChannelIndex | The index of the animation channel, between 0 and GetChannelCount().
  pSampleCount | Number of available samples.

Returns:
  `true` if successful, `false` otherwise. See the error management functions for error details.

bool GetChannelPointCount | ( | int | pChannelIndex,
|  | FbxTime | pTime,
|  | unsigned int & | pPointCount
| ) |  |

Search for all occurrences

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

Parameters:

  pChannelIndex | The index of the animation channel, between 0 and GetChannelCount().
  pTime | Reference time; must be within the boundaries of the animation.
  pPointCount | Number of available points.

Returns:
  `true` if successful, `false` otherwise. See the error management functions for error details.

int GetCacheDataFileCount | ( |  | ) | const

Search for all occurrences

Returns the number of cache data files.

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.

bool GetCacheDataFileName | ( | int | pIndex,
|  | FbxString & | pRelativeFileName,
|  | FbxString & | pAbsoluteFileName
| ) |  |

Search for all occurrences

Get the nth cache file name.

Parameters:

  pIndex | Index of the cache file to return; index is zero-based, and must be less than GetCacheDataFileCount().
  pRelativeFileName | Return the point cache file name, relative to the FBX File name.
  pAbsoluteFileName | Return the point cache file absolute path.

Returns:
  `true` if successful, `false` otherwise. See the error management functions for error details.

bool EnableMultiChannelFetching | ( | bool | pMultiChannelFetching | ) |

Search for all occurrences

Enable multi-channel fetching.

Parameters:

  pMultiChannelFetching | Enable/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).

Returns:
  `true` if successful, `false` otherwise. See the error management functions for error details.

bool GetNextTimeWithData | ( | FbxTime | pCurTime,
|  | FbxTime & | pNextTime,
|  | int | pChannelIndex = `-1`
| ) |  |

Search for all occurrences

Get the next time where data is stored.

Parameters:

  pCurTime | Current time; must be within the boundaries of the animation time.
  pNextTime | Next time (filled if the function is successful).
  pChannelIndex | The index of the animation channel, between 0 and GetChannelCount(). If pChannel is left at -1, get the next time for any channel.

Returns:
  `true` if successful, `false` otherwise.

int GetDataCount | ( | int | pChannelIndex | ) |

Search for all occurrences

Get the number of data points the channel contains.

Parameters:

  pChannelIndex | The index of the animation channel, between 0 and GetChannelCount().

Returns:
  The number of the channel's data points.

bool GetDataTime | ( | int | pChannelIndex,
|  | unsigned int | pDataIndex,
|  | FbxTime & | pTime
| ) |  |

Search for all occurrences

Get the time of the specified data point.

Parameters:

  pChannelIndex | The index of the animation channel, between 0 and GetChannelCount().
  pDataIndex | Index of the data point.
  pTime | Time of the data point (filled if the function is successful).

Returns:
  `true` if successful, `false` otherwise.

bool OpenFileForWrite | ( | double | pFrameStartOffset,
|  | double | pSamplingFrameRate,
|  | unsigned int | pSampleCount,
|  | unsigned int | pPointCount
| ) |  |

Search for all occurrences

Open a cache file for writing.

Parameters:

  pFrameStartOffset | Start time of the animation, in frames.
  pSamplingFrameRate | Number of frames per second.
  pSampleCount | The number of samples to write to the file.
  pPointCount | The number of points to write in the point cache file.

Returns:
  `true` if successful, `false` otherwise. See the error management functions for error details.

unsigned int GetSampleCount | ( |  | ) |

Search for all occurrences

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

Returns:
  The number of frames of animation.

unsigned int GetPointCount | ( |  | ) |

Search for all occurrences

Get the number of points animated in the cache file.

Returns:
  The number of points.

double GetFrameStartOffset | ( |  | ) |

Search for all occurrences

Get the start time of the animation.

Returns:
  The start time of the animation, in frames.

bool Read | ( | unsigned int | pFrameIndex,
|  | double * | pBuffer,
|  | unsigned int | pPointCount
| ) |  |

Search for all occurrences

Read a sample at a given frame index.

Parameters:

  pFrameIndex | The index of the animation frame, between 0 and GetSampleCount().
  pBuffer | The place where the point value will be copied. This buffer must be of size 3*pPointCount.
  pPointCount | The number of points to read from the point cache file.

Returns:
  `true` if successful, `false` otherwise. See the error management functions for error details.

bool Write | ( | unsigned int | pFrameIndex,
|  | double * | pBuffer
| ) |  |

Search for all occurrences

Write a sample at a given frame index.

Parameters:

  pFrameIndex | The index of the animation frame.
  pBuffer | Point to the values to be copied. This buffer must be of size 3*pPointCount, as passed to the function OpenFileForWrite().

Returns:
  `true` if successful, `false` otherwise. See the error management functions for error details.

Remarks:
  Successive calls to Write() must use successive index.

bool ConvertFromPC2ToMC | ( | EMCFileCount | pFileCount,
|  | double | pSamplingFrameRate
| ) |  |

Search for all occurrences

Create an MC cache file from an PC2 cache file.

Parameters:

  pFileCount | Create one file for each frame of animation, or one file for all the frames.
  pSamplingFrameRate | Number of frames per second used to re-sample the point animation.

Returns:
  `true` if successful, `false` otherwise. See the error management functions for error details.

Remarks:
  The created point cache file will be located in the _fpc folder associate with the FBX file.

Examples:
  ViewScene/SceneContext.cxx.

bool ConvertFromMCToPC2 | ( | double | pSamplingFrameRate,
|  | unsigned int | pChannelIndex
| ) |  |

Search for all occurrences

Create a PC2 cache file from an MC cache file.

Parameters:

  pSamplingFrameRate | Number of frames per second to re-sample the point animation.
  pChannelIndex | Index of the channel of animation to read from.

Returns:
  `true` if successful, `false` otherwise. See the error management functions for error details.

Remarks:
  The created point cache file will be located in the _fpc folder associate with the FBX file.

Examples:
  ViewScene/SceneContext.cxx.

FbxError& GetError | ( |  | ) |

Search for all occurrences

Retrieve error object.

Returns:
  Reference to error object.

Examples:
  ExportScene03/main.cxx, and ViewScene/SceneContext.cxx.

EErrorCode GetLastErrorID | ( |  | ) | const

Search for all occurrences

Get last error code.

Returns:
  Last error code.

const char* GetLastErrorString | ( |  | ) | const

Search for all occurrences

Get last error string.

Returns:
  Textual description of the last error.

bool OpenFile | ( | EOpenFlag | pFlag,
|  | EMCFileCount | pFileCount,
|  | double | pSamplingFrameRate,
|  | const char * | pChannelName,
|  | const char * | pInterpretation,
|  | unsigned int | pSampleCount,
|  | unsigned int | pPointCount,
|  | double | pFrameStartOffset,
|  | EMCDataType | pMCDataType = `eDoubleVectorArray`
| ) |  | `[protected]`

Search for all occurrences

virtual void Construct | ( | const FbxCache * | pFrom | ) | `[protected, virtual]`

Search for all occurrences

virtual bool ConstructProperties | ( | bool | pForceSet | ) | `[protected, virtual]`

Search for all occurrences

Reimplemented from FbxObject.

virtual void Destruct | ( | bool | pRecursive,
|  | bool | pDependents
| ) |  | `[protected, virtual]`

Search for all occurrences

Reimplemented from FbxObject.

## Member Data Documentation

const char* sCacheFilePropertyName `[static]`

Search for all occurrences

Definition at line 538 of file fbxcache.h.

const char* sCacheFileAbsolutePathPropertyName `[static]`

Search for all occurrences

Definition at line 539 of file fbxcache.h.

const char* sCacheFileTypePropertyName `[static]`

Search for all occurrences

Definition at line 540 of file fbxcache.h.

FbxCache_internal* mData `[protected]`

Search for all occurrences

Reimplemented from FbxObject.

Definition at line 558 of file fbxcache.h.

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

- fbxsdk/scene/geometry/fbxcache.h

FbxCache FbxCache FbxCache FbxCache FbxCache FbxCache FbxCache FbxCache FbxCache FbxCache
FbxCache FbxCache FbxCache FbxCache FbxCache FbxCache FbxCache FbxCache FbxCache FbxCache