13 #ifndef _FBXSDK_SCENE_GEOMETRY_CACHE_H_ 14 #define _FBXSDK_SCENE_GEOMETRY_CACHE_H_ 23 class FbxCache_internal;
62 void SetCacheFileName(
const char* pRelativeFileName_UTF8,
const char* pAbsoluteFileName_UTF8,
FbxStatus* pStatus=
NULL);
67 void GetCacheFileName(
FbxString& pRelativeFileName_UTF8,
FbxString& pAbsoluteFileName_UTF8)
const;
86 bool Read(
float** pBuffer,
unsigned int& pBufferLength,
const FbxTime& pTime,
unsigned int pChannel=0);
170 bool AddChannel(
const char* pChannelName,
EMCDataType pMCDataType,
const char* pInterpretation,
unsigned int& pChannelIndex,
FbxStatus* pStatus=
NULL);
183 int GetChannelIndex(
const char* pChannelName,
FbxStatus* pStatus=
NULL);
192 bool Read(
int pChannelIndex,
FbxTime& pTime,
double* pBuffer,
unsigned int pPointCount,
FbxStatus* pStatus=
NULL);
201 bool Read(
int pChannelIndex,
FbxTime& pTime,
float* pBuffer,
unsigned int pPointCount,
FbxStatus* pStatus=
NULL);
210 bool Read(
int pChannelIndex,
FbxTime& pTime,
int* pBuffer,
unsigned int pPointCount,
FbxStatus* pStatus=
NULL);
228 bool Write(
int pChannelIndex,
FbxTime& pTime,
double* pBuffer,
unsigned int pPointCount,
FbxStatus* pStatus=
NULL);
240 bool Write(
int pChannelIndex,
FbxTime& pTime,
float* pBuffer,
unsigned int pPointCount,
FbxStatus* pStatus=
NULL);
252 bool Write(
int pChannelIndex,
FbxTime& pTime,
int* pBuffer,
unsigned int pPointCount,
FbxStatus* pStatus=
NULL);
293 bool GetChannelSamplingRate(
int pChannelIndex,
FbxTime& pSamplingRate,
FbxStatus* pStatus=
NULL);
300 bool GetChannelSampleCount(
int pChannelIndex,
unsigned int& pSampleCount,
FbxStatus* pStatus=
NULL);
308 bool GetChannelPointCount(
int pChannelIndex,
FbxTime pTime,
unsigned int& pPointCount,
FbxStatus* pStatus=
NULL);
328 bool EnableMultiChannelFetching(
bool pMultiChannelFetching,
FbxStatus* pStatus=
NULL);
342 int GetDataCount(
int pChannelIndex,
FbxStatus* pStatus=
NULL);
350 bool GetDataTime(
int pChannelIndex,
unsigned int pDataIndex,
FbxTime& pTime,
FbxStatus* pStatus=
NULL);
362 bool OpenFileForWrite(
double pFrameStartOffset,
double pSamplingFrameRate,
unsigned int pSampleCount,
unsigned int pPointCount,
FbxStatus* pStatus=
NULL);
387 bool Read(
unsigned int pFrameIndex,
double* pBuffer,
unsigned int pPointCount,
FbxStatus* pStatus=
NULL);
395 bool Write(
unsigned int pFrameIndex,
double* pBuffer,
FbxStatus* pStatus=
NULL);
415 bool ConvertFromMCToPC2(
double pSamplingFrameRate,
unsigned int pChannelIndex,
FbxStatus* pStatus=
NULL);
421 #ifndef DOXYGEN_SHOULD_SKIP_THIS 429 bool OpenFile(EOpenFlag pFlag,
EMCFileCount pFileCount,
double pSamplingFrameRate,
const char* pChannelName,
const char* pInterpretation,
unsigned int pSampleCount,
unsigned int pPointCount,
double pFrameStartOffset,
FbxStatus* pStatus,
EMCDataType pMCDataType = eDoubleVectorArray,
EMCBinaryFormat pBinaryFormat = eMCX);
433 virtual void Destruct(
bool pRecursive);
435 FbxCache_internal* mData;
438 bool AllocateReadBuffer(
unsigned int pTypeSize,
unsigned int pTypeLength,
unsigned int pLength,
bool pAllocateConvertBuffer);
439 bool ReadMayaCache(
float** pBuffer,
unsigned int& pBufferLength,
const FbxTime& pTime,
unsigned int pChannel);
440 bool ReadMaxCache(
float** pBuffer,
unsigned int& pBufferLength,
const FbxTime& pTime);
441 bool ReadAlembicCache(
float** pBuffer,
unsigned int& pBufferLength,
const FbxTime& pTime,
unsigned int pChannel);
448 unsigned int mReadBufferLength;
449 unsigned int mReadBufferSize;
450 unsigned int mReadTypeSize;
451 unsigned int mReadTypeLength;
452 unsigned int mReadLength;
453 void* mConvertBuffer;
#define FBXSDK_OBJECT_DECLARE(Class, Parent)
Macro used to declare a new class derived from FbxObject.
FBX SDK environment definition.
EMCFileCount
Number of files used to store the animation.
EFileFormat
Supported cache file formats.
Utility class to manipulate strings.
MCC cache file format, 32bit (older format)
3ds Max Point Cache 2 file format.
This class facilitates the testing/reporting of errors.
EFbxType FbxTypeOf(const FbxCache::EFileFormat &)
EFbxType
Type identifier constants.
Class to encapsulate time units.
The base class of most FBX objects.
EMCDataType
Data types in the MC cache file.
EMCBinaryFormat
Binary cache format.
virtual void Construct(const FbxObject *pFrom)
Optional constructor override, automatically called by default constructor.
Unknown cache file format.
EMCSamplingType
Cache channel sampling types.
virtual void Destruct(bool pRecursive)
Optional destructor override, automatically called by default destructor.
No use but has to be defined for consistency reasons.
One file is used for all the frames of animation.
virtual void ConstructProperties(bool pForceSet)
Optional property constructor override, automatically called by default constructor.
This object contains methods for accessing point animation in a cache file.