Classes | Public Member Functions | Static Public Member Functions

KFbx Class Reference

This reference page is linked to from the following overview topics: Information and Technical Support, Differences between FBX SDK and Python FBX, List of Python FBX classes.


Search for all occurrences

Detailed Description

KFbx represents an FBX file.

It is primarily used by FBX importers (KFbxImporter) and exporter (KFbxExporter) when reading or writing data from or to a disk or memory. Most users will not use the KFbx class directly but will use an instance of either KFbxImporter or KFbxExporter to read or write FBX files.

An FBX file may contain binary data or ASCII data. A good way to learn the internal structure of a FBX file is to open a FBX file saved in ASCII in a text editor.

Ex: to read a FBX file content using KFbx class directly

 // Create a KFbx object with KFbx::KFbxObjectCreate()
 // Open the file with ProjectOpen( ... ) a NULL pointer can be passed for (KFbxReader)* param
 // ProjectOpen_xxx_Section() to open a particular section
 int nbSec = FieldGetCount(); // to get the number of fields of the current section opened
    for(int i=0; i < nbSec; i++) // read all fields
    {
        // check if the field is a bloc
        if(FieldReadIsBlock()){ } ... Read sub fields recursively ... may contain other blocks and fields
        else
        {
            FieldReadBegin();   // navigate on the field
            char fieldType = FieldReadGetType(); // get the data type

            // According to the Field data type, call the appropriate read functions

                 if(fieldType == 'S') FieldReadS(...) to read a string
            else if(fieldType == 'B') FieldReadB(...) to read a bool
            else if(fieldType == 'I') FieldReadI(...) to read a int
            ... 
            FieldReadEnd(); // navigate to next field
        }
    }

 ProjectCloseSection() // close the section opened
 // repeat for another section ...
 // finally close the Project
 ProjectClose(); // or delete the KFbx object created.

Definition at line 293 of file kfbx.h.

#include <kfbx.h>

List of all members.

Classes

struct   KFbxAutoResetXRefManager

Public Member Functions

  KFbx ()
  Default constructor.
virtual  ~KFbx ()
  Destructor.
virtual bool  FieldReadEmbeddedFile (KString &pFileName, KString &pRelativeFileName, const char *pEmbeddedMediaDirectory="", bool *pIsFileCreated=NULL)
  Read field and copy it into a file.
const double *  FieldReadArrayD (int &pCount)
  Read the whole array and return the pointer to it.
const float *  FieldReadArrayF (int &pCount)
  Read the whole array and return the pointer to it.
const int *  FieldReadArrayI (int &pCount)
  Read the whole array and return the pointer to it.
const kLongLong FieldReadArrayLL (int &pCount)
  Read the whole array and return the pointer to it.
const bool *  FieldReadArrayB (int &pCount)
  Read the whole array and return the pointer to it.
const kUByte FieldReadArrayBytes (int &pCount)
  Read the whole array and return the pointer to it.
const int *  FieldReadArray (int &pCount, const int *)
  Read the whole array and return the pointer to it.
const float *  FieldReadArray (int &pCount, const float *)
  Read the whole array and return the pointer to it.
const double *  FieldReadArray (int &pCount, const double *)
  Read the whole array and return the pointer to it.
const kLongLong FieldReadArray (int &pCount, const kLongLong *)
  Read the whole array and return the pointer to it.
const bool *  FieldReadArray (int &pCount, const bool *)
  Read the whole array and return the pointer to it.
const kUByte FieldReadArray (int &pCount, const kUByte *)
  Read the whole array and return the pointer to it.
int  GetFieldRMaxChunkSize () const
  ASCII files may limit how big you can write your raw data, forcing you to break it down into chunks.
void  FieldWriteObjectReference (const char *pName)
  Write object reference pName in the current field.
void  FieldWriteObjectReference (const char *pFieldName, const char *pName)
  Write object reference pName in field pFieldName.
bool  FieldWriteEmbeddedFile (KString pFileName, KString pRelativeFileName)
  Write field with file content as a value.
void  WriteComments (const char *pFieldName)
  Write comments, only effective in ASCII mode.
bool  GetHaveLoadedEmbededFile () const
  Get if the embedded file is currently loaded.
void *  GetMemoryFileInfo (kULong &pSize) const
  Get the maximum byte count written.
bool  IsBeforeVersion6 () const
  Get a internal flag to manage pre FBX version 6 data format Used for backwards compatibility.
void  SetIsBeforeVersion6 (bool pIsBeforeVersion6)
  Set a internal flag to manage pre FBX version 6 data format Used for backwards compatibility.
Project Global

The term "Project" here is an abstract name chosen to represent a group of data ex: a file, a stream, a memory buffer, etc.

bool  ProjectOpen (void *pAddress, kULong pMaxLength, KFbxReader *pReader, bool pCheckCRC=false, bool pOpenMainSection=true, KFbxFileHeaderInfo *pFileHeaderInfo=NULL)
  Open a project already in Memory.
bool  ProjectOpen (const char *pName, KFbxReader *pReader, bool pCheckCRC=false, bool pOpenMainSection=true, KFbxFileHeaderInfo *pFileHeaderInfo=NULL)
  Open a project.
bool  ProjectOpen (KFile *pFile, KFbxReader *pReader, bool pCheckCRC=false, bool pOpenMainSection=true, KFbxFileHeaderInfo *pFileHeaderInfo=NULL)
  Open a project on the specified KFile.
bool  ProjectOpenDirect (const char *pName, KFbxReader *pReader, bool pCheckCRC=false, bool pOpenMainSection=true, KFbxFileHeaderInfo *pFileHeaderInfo=NULL)
  Open project file without necessarily an .fbx extension.
bool  ProjectCreate (void *pAddress, kUInt pSize, KFbxWriter *pWriter, bool pBinary, bool pEncrypted, KFbxFileHeaderInfo *pFileHeaderInfo=NULL)
  Create a project in Memory.
bool  ProjectCreate (const char *pName, KFbxWriter *pWriter, bool pBinary, bool pEncrypted, KFbxFileHeaderInfo *pFileHeaderInfo=NULL)
  Create a project.
bool  ProjectCreateDirect (const char *pName, KFbxWriter *pWriter, bool pBinary, bool pEncrypted, KFbxFileHeaderInfo *pFileHeaderInfo=NULL)
  Create a project without necessary an .fbx extension.
bool  ProjectCreateEmpty (const char *pName, KFbxWriter *pWriter, int pVersion, bool pBinary, bool pEncrypted)
  Create a project, without writing out the header (yet)
bool  ProjectWrite_BeginFileHeader ()
  Write FBX signature at the top of the file, prepare file for writing header information.
bool  ProjectWrite_BeginExtendedHeader ()
  Open up the 'extended header'.
bool  ProjectWrite_WriteExtendedHeader (const KFbxFileHeaderInfo *pExtendedHeader)
  Write the contents of the extended header.
bool  ProjectWrite_EndExtendedHeader ()
  Close the extended header.
bool  ProjectWrite_EndFileHeader ()
  Close up the header, prepare file for payload write.
bool  ProjectClose (void **pData=0, kULong *pSize=0)
  Close the project.
void  ProjectSetXRefManager (const KFbxXRefManager *)
  Provide the XRef Manager to use to create the .fbm folder.
const KFbxXRefManager ProjectGetXRefManager () const
  Get the XRef Manager to use.
bool  ProjectCreateEmbeddedFolder (const KFbxXRefManager &pXRefManager, KString &pCreatedFolder, const char *pUserDefinedFolder=NULL)
  Select (and create) a folder to store embedded files (the .fbm file folder).
void  SetEmbedded (bool pValue)
  On store event, use this function to tell if we are embedding.
void  SetEmbeddingExtractionFolder (const char *pExtractionFolder)
  Explicitly set the embedding extraction folder.
const char *  GetEmbeddingExtractionFolder ()
  Retrieve the current folder destination where the embedded files will be extracted.
bool  IsEmbedded () const
  Check if file is embedded or not.
bool  IsBinary () const
  Check if file is binary or ASCII.
bool  IsEncrypted () const
  Return if binary file is encrypted.
bool  CheckCRC ()
  Check CRC code.
kUInt32  GetFileVersionNumber () const
  Return the file version number.
FBX 7 Format specific functions.

The FBX 7 format can compress internal arrays to make the file smaller.

The writer may decide not to compress all arrays, or it may even decide not to compress anyway. Flags are written in the file to help the FBX7 reader to know if a decompression is required, on a per-array basis. The following functions address specific topics of the FBX 7 file format.

bool  Fbx7Support () const
void  Fbx7Support (bool pSupport)
  Set the flag state to tell the parser to handle FBX7 files.
bool  CompressArrays () const
void  CompressArrays (bool pCompress)
  Set the flag state.
int  CompressMinimumSize () const
void  CompressMinimumSize (int pSize)
  Set the compression minimum size.
int  CompressLevel () const
void  CompressLevel (int pLevel)
  Set the compression level.
Directory related functions used to get or set file path information.
const char *  GetFilename () const
  Get project file name.
KString  GetDataDirectory (bool pAutoCreate=true)
  Get project data directory name.
KString  GetMediaDirectory (bool pCreate=false, const char *pUserDefinedFolder=NULL)
  Get the current embedded folder used by this object.
KString  GetContainerTemplateDirectory (const char *pTemplateName, bool pCreate)
  Get the full path of the directory to extract the template file.
char *  GetRelativePath (const char *pPath)
  Get the path relative to project directory.
char *  GetRelativeFilePath (const char *pFilePath)
  Get the file path relative to project directory.
char *  GetFullPath (const char *pRelativePath)
  Get the full path of path relative to project directory.
char *  GetFullFilePath (const char *pRelativeFilePath)
  Get the full file path of path relative to project directory.
char *  GetTmpProjectName (const char *pName) const
  Get the temporary project name.
bool  SwapFromTmpProject (const char *pName, char *pError=NULL)
  Swap from temporary project.
Read related functions used to get information of a field or a group of fields.

Can be used to get the field content data or to navigate from field to field.

void  FieldReadResetPosition ()
  Reset the field read position.
int  FieldGetCount () const
  Get the number of fields.
const char *  FieldGetName (int pFieldIndex) const
  Get the name of field indexed pFieldIndex.
int  FieldGetInstanceCount (const char *pFieldName) const
  Get number of instance field pFieldName has.
bool  FieldReadBegin (int pFieldIndex, int pInstance)
  Start to read field instance referred by field indexed pFieldIndex, instance indexed pInstance.
bool  FieldReadBegin (const char *pFieldName)
  Start to read field pFieldName.
bool  FieldReadBegin (const char *pFieldName, int pInstance)
  Start to read field instance referred field pFieldName, instance indexed pInstance.
void  FieldReadEnd ()
  Stop to read the current field.
bool  FieldReadIsBlock ()
  Return if current field is a block.
bool  FieldReadBlockBegin ()
  Start to read a field block.
void  FieldReadBlockEnd ()
  Stop to read a field block.
int  FieldReadGetCount () const
  Return the number of read field.
int  FieldReadGetRemain () const
  Return the number of field remaining to be read.
char  FieldReadGetType () const
  Return current field value type.
char  FieldReadCH ()
  Return current field value as a char.
char  FieldReadCH (const char *pFieldName, char pDefault=0)
  Return field pFieldName's value as a char.
const char *  FieldReadC ()
  Return current field value as a char pointer.
const char *  FieldReadC (const char *pFieldName, const char *pDefault="")
  Return field pFieldName's value as a char pointer.
const char *  FieldReadS ()
  Return current field value as a string (a char pointer).
const char *  FieldReadS (const char *pFieldName, const char *pDefault="")
  Return field pFieldName's value as a char pointer.
bool  FieldReadB ()
  Return current field value as an bool.
bool  FieldReadB (const char *pFieldName, bool pDefault=false)
  Return field pFieldName's value as an integer.
int  FieldReadI ()
  Return current field value as an integer.
int  FieldReadI (const char *pFieldName, int pDefault=0)
  Return field pFieldName's value as an integer.
kLongLong  FieldReadLL ()
  Return current field value as an integer.
kLongLong  FieldReadLL (const char *pFieldName, kLongLong pDefault=0)
  Return field pFieldName's value as an integer.
float  FieldReadF ()
  Return current field value as a float.
float  FieldReadF (const char *pFieldName, float pDefault=0)
  Return field pFieldName's value as a float.
double  FieldReadD ()
  Return current field value as a double.
double  FieldReadD (const char *pFieldName, double pDefault=0)
  Return field pFieldName's value as a double.
KTime  FieldReadT (const char *pFieldName)
  Return field pFieldName's value as a time value.
KTime  FieldReadT ()
  Return field pFieldName's value as a time value.
KTimeSpan  FieldReadTS (const char *pFieldName)
  Return field pFieldName's value as a timespan value.
KTimeSpan  FieldReadTS ()
  Return field pFieldName's value as a timespan value.
void  FieldReadFn (float *pValue, kUInt pn)
  Return current field value as a n floats array.
void  FieldRead3F (float *pValue)
  Return current field value as a 3 floats array.
void  FieldRead4F (float *pValue)
  Return current field value as a 4 floats array.
void  FieldReadFn (const char *pFieldName, float *pValue, const float *pDefault, kUInt pn)
  Return field pFieldName's value as n floats array.
void  FieldRead3F (const char *pFieldName, float *pValue, const float *pDefault=NULL)
  Return field pFieldName's value as 4 floats array.
void  FieldRead4F (const char *pFieldName, float *pValue, const float *pDefault=NULL)
  Return field pFieldName's value as 3 floats array.
void  FieldReadDn (double *pValue, kUInt pn)
  Return current field value as a n doubles array.
void  FieldRead3D (double *pValue)
  Return current field value as a 3 doubles array.
void  FieldRead4D (double *pValue)
  Return current field value as a 4 doubles array.
void  FieldReadDn (const char *pFieldName, double *pValue, const double *pDefault, kUInt pn)
  Return field pFieldName's value as n doubles array.
void  FieldRead3D (const char *pFieldName, double *pValue, const double *pDefault=NULL)
  Return field pFieldName's value as 4 doubles array.
void  FieldRead4D (const char *pFieldName, double *pValue, const double *pDefault=NULL)
  Return field pFieldName's value as 3 doubles array.
void *  FieldReadR (int *pByteSize)
  Return current field value as raw data.
void *  FieldReadR (const char *pFieldName, int *pByteSize)
  Return field pFieldName's value as raw data.
FBX SDK 2009.3 and later
kByte  FieldReadByte ()
  Return field pFieldName's value as byte.
kByte  FieldReadByte (const char *pFieldName, kByte pDefault=0)
  Return field pFieldName's value as a byte value.
kUByte  FieldReadUByte ()
  Return field pFieldName's value as unsigned byte.
kUByte  FieldReadUByte (const char *pFieldName, kUByte pDefault=0)
  Return field pFieldName's value as an unsigned byte value.
kShort  FieldReadShort ()
  Return field pFieldName's value as short.
kShort  FieldReadShort (const char *pFieldName, kShort pDefault=0)
  Return field pFieldName's value as a short value.
kUShort  FieldReadUShort ()
  Return field pFieldName's value as unsigned short.
kUShort  FieldReadUShort (const char *pFieldName, kUShort pDefault=0)
  Return field pFieldName's value as an unsigned short value.
unsigned int  FieldReadUI ()
  Return field pFieldName's value as unsigned integer.
unsigned int  FieldReadUI (const char *pFieldName, unsigned int pDefault=0)
  Return field pFieldName's value as an unsigned int as a value.
kULongLong  FieldReadULL ()
  Return field pFieldName's value as 64 bit unsigned integer.
kULongLong  FieldReadULL (const char *pFieldName, kULongLong pDefault=0)
  Return field pFieldName's value as an 64 bit unsigned int as a value.
const kByte FieldReadArraySBytes (int &pCount)
  Read the whole array and return the pointer to it.
const kShort FieldReadArrayShort (int &pCount)
  Read the whole array and return the pointer to it.
const kUShort FieldReadArrayUShort (int &pCount)
  Read the whole array and return the pointer to it.
const unsigned int *  FieldReadArrayUI (int &pCount)
  Read the whole array and return the pointer to it.
const kULongLong FieldReadArrayULL (int &pCount)
  Read the whole array and return the pointer to it.
const kByte FieldReadArray (int &pCount, const kByte *)
  Read the whole array and return the pointer to it.
const kShort FieldReadArray (int &pCount, const kShort *)
  Read the whole array and return the pointer to it.
const kUShort FieldReadArray (int &pCount, const kUShort *)
  Read the whole array and return the pointer to it.
const unsigned int *  FieldReadArray (int &pCount, const unsigned int *)
  Read the whole array and return the pointer to it.
const kULongLong FieldReadArray (int &pCount, const kULongLong *)
  Read the whole array and return the pointer to it.
void  FieldWriteByte (kByte pValue)
  Write field value as byte.
void  FieldWriteByte (const char *pFieldName, kByte pValue)
  Write field pFieldName field with a byte value.
void  FieldWriteUByte (kUByte pValue)
  Write field value as unsigned byte.
void  FieldWriteUByte (const char *pFieldName, kUByte pValue)
  Write field pFieldName field with an unsigned byte value.
void  FieldWriteShort (kShort pValue)
  Write field value as short.
void  FieldWriteShort (const char *pFieldName, kShort pValue)
  Write field pFieldName field with a short value.
void  FieldWriteUShort (kUShort pValue)
  Write field value as unsigned short.
void  FieldWriteUShort (const char *pFieldName, kUShort pValue)
  Write field pFieldName field with an unsigned short value.
void  FieldWriteUI (unsigned int pValue)
  Write field value as an unsigned integer.
void  FieldWriteUI (const char *pFieldName, unsigned int pValue)
  Write field pFieldName field with an unsigned int as a value.
void  FieldWriteULL (kULongLong pValue)
  Write field value as 64 bit unsigned integer.
void  FieldWriteULL (const char *pFieldName, kULongLong pValue)
  Write field pFieldName field with an 64 bit unsigned int as a value.
void  FieldWriteArraySBytes (int n, const kByte *pValue, int pSize=1, int pStride=0)
  Write array to file.
void  FieldWriteArrayShort (int n, const kShort *pValue, int pSize=1, int pStride=0)
  Write array to file.
void  FieldWriteArrayUShort (int n, const kUShort *pValue, int pSize=1, int pStride=0)
  Write array to file.
void  FieldWriteArrayUI (int n, const unsigned int *pValue, int pSize=1, int pStride=0)
  Write array to file.
void  FieldWriteArrayULL (int n, const kULongLong *pValue, int pSize=1, int pStride=0)
  Write array to file.
Write related functions used to write information of a field or a group of fields.

Can be used to write the field content data or to navigate from field to field.

void  FieldWriteBegin (const char *pFieldName)
  Start to write a field called pFieldName.
void  FieldWriteEnd ()
  Stop to write the current field.
void  FieldWriteBlockBegin ()
  Start to write a field block.
void  FieldWriteObjectBegin (const char *pObjectType, const char *pName, const char *pSubType=NULL)
  Start to write an object reference field.
void  FieldWriteObjectEnd ()
  Stop to write an object reference field.
void  FieldWriteBlockBegin (const char *pFileName)
  Start to write a field block in file pFileName.
void  FieldWriteBlockEnd ()
  Stop to write a block of field.
void  FieldWriteCH (char pValue)
  Write field value as a char.
void  FieldWriteCH (const char *pFieldName, char pValue)
  Write field pFieldName field with a char as a value.
void  FieldWriteC (const char *pValue)
  Write field value as char pointer pValue.
void  FieldWriteC (const char *pFieldName, const char *pValue)
  Write field pFieldName with a char pointer as a value.
void  FieldWriteS (const char *pValue)
  Write field value as KString pValue.
void  FieldWriteS (const KString &pValue)
  Write field value as KString pValue.
void  FieldWriteS (const char *pFieldName, const char *pValue)
  Write field pFieldName field with a KString as a value.
void  FieldWriteS (const char *pFieldName, const KString &pValue)
  Write field pFieldName field with a KString as a value.
void  FieldWriteB (bool pValue)
  Write field value as bool.
void  FieldWriteB (const char *pFieldName, bool pValue)
  Write field pFieldName field with a bool value.
void  FieldWriteI (int pValue)
  Write field value as integer.
void  FieldWriteI (const char *pFieldName, int pValue)
  Write field pFieldName field with an int as a value.
void  FieldWriteLL (kLongLong pValue)
  Write field value as 64 bit integer.
void  FieldWriteLL (const char *pFieldName, kLongLong pValue)
  Write field pFieldName field with an 64 bit int as a value.
void  FieldWriteF (float pValue)
  Write field value as float.
void  FieldWriteF (const char *pFieldName, float pValue)
  Write field pFieldName field with a float as a value.
void  FieldWriteD (double pValue)
  Write field value as double.
void  FieldWriteD (const char *pFieldName, double pValue)
  Write field pFieldName field with a double as a value.
void  FieldWriteT (KTime pTime)
  Write field value as time value.
void  FieldWriteT (const char *pFieldName, KTime pValue)
  Write field pFieldName field with a time as a value.
void  FieldWriteTS (KTimeSpan pTimeSpan)
  Write field value as timespan value.
void  FieldWriteTS (const char *pFieldName, KTimeSpan pValue)
  Write field pFieldName field with a timespan as a value.
void  FieldWriteFn (const float *pValue, kUInt pn)
  Write field value as an array of n floats (nF vector).
void  FieldWriteFn (const char *pFieldName, const float *pValue, kUInt pn)
  Write field pFieldName field with a array of n floats as a value.
void  FieldWrite3F (const float *pValue)
  Write field value as an array of 3 floats (3F vector).
void  FieldWrite3F (const char *pFieldName, const float *pValue)
  Write field pFieldName field with a array of 3 floats as a value.
void  FieldWrite4F (const float *pValue)
  Write field value as an array of 4 floats (4F vector).
void  FieldWrite4F (const char *pFieldName, const float *pValue)
  Write field pFieldName field with a array of 4 floats as a value.
void  FieldWriteDn (const double *pValue, kUInt pn)
  Write field value as an array of n doubles (nD vector).
void  FieldWriteDn (const char *pFieldName, const double *pValue, kUInt pn)
  Write field pFieldName field with a array of n doubles as a value.
void  FieldWrite3D (const double *pValue)
  Write field value as an array of 3 doubles (3D vector).
void  FieldWrite3D (const char *pFieldName, const double *pValue)
  Write field pFieldName field with a array of 3 doubles as a value.
void  FieldWrite4D (const double *pValue)
  Write field value as an array of 4 doubles (4D vector).
void  FieldWrite4D (const char *pFieldName, const double *pValue)
  Write field pFieldName field with a array of 4 doubles as a value.
void  FieldWriteArrayD (int n, const double *pValue, int pSize=1, int pStride=0)
  Write array to file.
void  FieldWriteArrayF (int n, const float *pValue, int pSize=1, int pStride=0)
  Write array to file.
void  FieldWriteArrayI (int n, const int *pValue, int pSize=1, int pStride=0)
  Write array to file.
void  FieldWriteArrayLL (int n, const kLongLong *pValue, int pSize=1, int pStride=0)
  Write array to file.
void  FieldWriteArrayB (int n, const bool *pValue, int pSize=1, int pStride=0)
  Write array to file.
void  FieldWriteArrayBytes (int n, const kUByte *pValue, int pSize=1, int pStride=0)
  Write array to file.
void  FieldWriteR (const void *pRawData, int pByteSize)
  Write field value as a raw data.
void  FieldWriteR (const char *pFieldName, const void *pRawData, int pByteSize)
  Write field pFieldName field with raw data as a value.

Static Public Member Functions

static KFbx KFbxObjectCreate ()
  Creation function for this KFbx class.

Project related functions used to navigate on particular

sections.
static void  ProjectConvertVersionNumber (int pVersion, int &pMajor, int &pMinor, int &pRevision)
  Split a version number into major, minor and revision numbers.
bool  ProjectOpenMainSection ()
  Open the main section of a project.
int  ProjectGetExtensionSectionCount () const
  Get the number of extension sections of a project.
bool  ProjectOpenExtensionSection (int pExtensionSectionIndex)
  Open an extension section of a project.
bool  ProjectCreateExtensionSection (bool pOverwriteLastExtensionSection=false)
  Create an extension section in a project, not allowed in ASCII and encrypted modes.
void  ProjectCloseSection ()
  Close current section.
int  ProjectGetCurrentSection () const
  Get current section.
int  ProjectGetCurrentSectionMode () const
  Get current section mode.
int  ProjectGetCurrentSectionVersion () const
  Get current section version.
int  ProjectGetSectionVersion (int pSection) const
  Get the version number of a section.
bool  IsPasswordProtected () const
  Check the password protection flag.
bool  CheckPassword (const char *pPassword)
  Set password protection flag to false if the argument matches the password stored in the section.
bool  WritePassword (const char *pPassword)
  Encrypt and store password in a section.

Error related functions to get some information when an error occur

following a read or write operation.
enum   EError {
  eFileCorrupted, eFileVersionNotSupportedYet, eFileVersionNotSupportedAnymore, eFileNotOpened,
  eFileNotCreated, eDirectoryNotCreated, eCrcCheckFailed, eNonExistingSection,
  eOperationCanceled, eCountError, eInvalidData, eWriteError,
  eReadError, eErrorCount
}
 

Error code.

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

Member Enumeration Documentation

enum EError

Error code.

Enumerator:
eFileCorrupted 

A file don't have a valid format of data.

eFileVersionNotSupportedYet 

A file version is over the latest file version supported.

eFileVersionNotSupportedAnymore 

A file version is obsolete.

ex: 4.0

eFileNotOpened 

A file fail to open.

eFileNotCreated 

A file can't be created.

eDirectoryNotCreated 

A directory can't be created.

eCrcCheckFailed 

A check of the CRC fail.

eNonExistingSection 

The section was not found.

eOperationCanceled 

The current operation is canceled.

eCountError 

Wrong number of data found.

eInvalidData 

An invalid data found.

eWriteError 

A write error.

eReadError 

A read error.

eErrorCount 

Number of error enum values.

Definition at line 1577 of file kfbx.h.


Constructor & Destructor Documentation

KFbx ( )

Default constructor.

virtual ~KFbx ( ) [virtual]

Destructor.


Member Function Documentation

static KFbx* KFbxObjectCreate ( ) [inline, static]

Creation function for this KFbx class.

Returns:
a new KFbx object pointer

Definition at line 329 of file kfbx.h.

{ return FbxSdkNew< KFbx >(); }
bool ProjectOpen ( void *  pAddress,
kULong  pMaxLength,
KFbxReader pReader,
bool  pCheckCRC = false,
bool  pOpenMainSection = true,
KFbxFileHeaderInfo pFileHeaderInfo = NULL 
)

Open a project already in Memory.

Parameters:
pAddress
pMaxLength
pReader
pCheckCRC
pOpenMainSection
pFileHeaderInfo
Returns:
true on success, false otherwise.
bool ProjectOpen ( const char *  pName,
KFbxReader pReader,
bool  pCheckCRC = false,
bool  pOpenMainSection = true,
KFbxFileHeaderInfo pFileHeaderInfo = NULL 
)

Open a project.

Parameters:
pName
pReader
pCheckCRC
pOpenMainSection
pFileHeaderInfo
Returns:
true on success, false otherwise.
bool ProjectOpen ( KFile *  pFile,
KFbxReader pReader,
bool  pCheckCRC = false,
bool  pOpenMainSection = true,
KFbxFileHeaderInfo pFileHeaderInfo = NULL 
)

Open a project on the specified KFile.

The KFile object must exists until closed.

Parameters:
pFile
pReader
pCheckCRC
pOpenMainSection
pFileHeaderInfo
Returns:
true on success, false otherwise.
bool ProjectOpenDirect ( const char *  pName,
KFbxReader pReader,
bool  pCheckCRC = false,
bool  pOpenMainSection = true,
KFbxFileHeaderInfo pFileHeaderInfo = NULL 
)

Open project file without necessarily an .fbx extension.

Parameters:
pName
pReader
pCheckCRC
pOpenMainSection
pFileHeaderInfo
Returns:
true on success, false otherwise.
bool ProjectCreate ( void *  pAddress,
kUInt  pSize,
KFbxWriter pWriter,
bool  pBinary,
bool  pEncrypted,
KFbxFileHeaderInfo pFileHeaderInfo = NULL 
)

Create a project in Memory.

Parameters:
pAddress
pSize
pWriter
pBinary
pEncrypted
pFileHeaderInfo
Returns:
true on success, false otherwise.
bool ProjectCreate ( const char *  pName,
KFbxWriter pWriter,
bool  pBinary,
bool  pEncrypted,
KFbxFileHeaderInfo pFileHeaderInfo = NULL 
)

Create a project.

Parameters:
pName
pWriter
pBinary
pEncrypted
pFileHeaderInfo
Returns:
true on success, false otherwise.
bool ProjectCreateDirect ( const char *  pName,
KFbxWriter pWriter,
bool  pBinary,
bool  pEncrypted,
KFbxFileHeaderInfo pFileHeaderInfo = NULL 
)

Create a project without necessary an .fbx extension.

Parameters:
pName
pWriter
pBinary
pEncrypted
pFileHeaderInfo
Returns:
true on success, false otherwise.
bool ProjectCreateEmpty ( const char *  pName,
KFbxWriter pWriter,
int  pVersion,
bool  pBinary,
bool  pEncrypted 
)

Create a project, without writing out the header (yet)

Parameters:
pName
pWriter
pVersion
pBinary
pEncrypted
Returns:
true on success, false otherwise.
bool ProjectWrite_BeginFileHeader ( )

Write FBX signature at the top of the file, prepare file for writing header information.

Returns:
true on success, false otherwise.
bool ProjectWrite_BeginExtendedHeader ( )

Open up the 'extended header'.

Returns:
true on success, false otherwise.
bool ProjectWrite_WriteExtendedHeader ( const KFbxFileHeaderInfo pExtendedHeader )

Write the contents of the extended header.

Parameters:
pExtendedHeader
Returns:
true on success, false otherwise.
bool ProjectWrite_EndExtendedHeader ( )

Close the extended header.

Returns:
true on success, false otherwise.
bool ProjectWrite_EndFileHeader ( )

Close up the header, prepare file for payload write.

Returns:
true on success, false otherwise.
bool ProjectClose ( void **  pData = 0,
kULong pSize = 0 
)

Close the project.

Parameters:
pData
pSize
Returns:
true on success, false otherwise.
void ProjectSetXRefManager ( const KFbxXRefManager )

Provide the XRef Manager to use to create the .fbm folder.

Remarks:
If NULL is used, the old behavior (using the .fbx's folder) is used instead.
const KFbxXRefManager* ProjectGetXRefManager ( ) const

Get the XRef Manager to use.

Returns:
NULL if no XRef manager has been set.
bool ProjectCreateEmbeddedFolder ( const KFbxXRefManager pXRefManager,
KString pCreatedFolder,
const char *  pUserDefinedFolder = NULL 
)

Select (and create) a folder to store embedded files (the .fbm file folder).

Takes into account the settings from the XRef Manager.

Parameters:
pXRefManager
pCreatedFolder
pUserDefinedFolder User defined "working folder"
Returns:
true on success, false otherwise.
Remarks:
If this already been called successfully, uses the path previously created.

Client application is responsible for cleaning up this folder.

This will be automatically called if ProjectSetXRefManager() has been called before the .fbm folder needs to be created.

void SetEmbedded ( bool  pValue )

On store event, use this function to tell if we are embedding.

Parameters:
pValue
void SetEmbeddingExtractionFolder ( const char *  pExtractionFolder )

Explicitly set the embedding extraction folder.

If this is never called, the FBX SDK will determine the best folder to extract embedded files.

Parameters:
pExtractionFolder The file path name where the embedded files should be extracted.
const char* GetEmbeddingExtractionFolder ( )

Retrieve the current folder destination where the embedded files will be extracted.

This might not be initialized until file I/O is performed.

bool IsEmbedded ( ) const

Check if file is embedded or not.

Returns:
true if file is embedded, false otherwise.
bool IsBinary ( ) const

Check if file is binary or ASCII.

Returns:
true if file is binary, false otherwise.
bool IsEncrypted ( ) const

Return if binary file is encrypted.

Returns:
true if file is encrypted, false otherwise.
bool CheckCRC ( )

Check CRC code.

File must be open, binary and encrypted.

Returns:
true if CRC code is valid or file is not open, binary and encrypted.
kUInt32 GetFileVersionNumber ( ) const

Return the file version number.

Returns:
the file version number
bool Fbx7Support ( ) const
Returns:
Current state of the flag.
void Fbx7Support ( bool  pSupport )

Set the flag state to tell the parser to handle FBX7 files.

Parameters:
pSupport New flag state.
bool CompressArrays ( ) const
Returns:
Current State of the flag.
void CompressArrays ( bool  pCompress )

Set the flag state.

Parameters:
pCompress New flag state.
int CompressMinimumSize ( ) const
Returns:
Current compression minimum size.
void CompressMinimumSize ( int  pSize )

Set the compression minimum size.

Parameters:
pSize Threshold at which compression may embark.
int CompressLevel ( ) const
Returns:
Current compression level.
void CompressLevel ( int  pLevel )

Set the compression level.

Parameters:
pLevel Value of the desired compression.
Remarks:
The allowed range for pLevel is [0-9] where 0 equals no compression and 9 is as-much-as-we-can.
bool ProjectOpenMainSection ( )

Open the main section of a project.

Returns:
true on success, false otherwise.
int ProjectGetExtensionSectionCount ( ) const

Get the number of extension sections of a project.

Returns:
the number of extension sections of a project.
bool ProjectOpenExtensionSection ( int  pExtensionSectionIndex )

Open an extension section of a project.

Parameters:
pExtensionSectionIndex
Returns:
true on success, false otherwise.
bool ProjectCreateExtensionSection ( bool  pOverwriteLastExtensionSection = false )

Create an extension section in a project, not allowed in ASCII and encrypted modes.

Parameters:
pOverwriteLastExtensionSection
Returns:
true on success, false otherwise.
void ProjectCloseSection ( )

Close current section.

int ProjectGetCurrentSection ( ) const

Get current section.

Returns:
the current section.
int ProjectGetCurrentSectionMode ( ) const

Get current section mode.

Returns:
the current section mode.
int ProjectGetCurrentSectionVersion ( ) const

Get current section version.

Returns:
the current section version.
int ProjectGetSectionVersion ( int  pSection ) const

Get the version number of a section.

Parameters:
pSection
Returns:
the version number of a section.
Remarks:
For main section it can be either 1000, 2000, 2001, 3000, 3001, 4000, 4001 or 4050. For the extension section it can be either 4000, 4001 or 4050. Returns 0 if section number does not exist.
static void ProjectConvertVersionNumber ( int  pVersion,
int &  pMajor,
int &  pMinor,
int &  pRevision 
) [static]

Split a version number into major, minor and revision numbers.

Parameters:
pVersion Version number to split.
pMajor Integer to receive major version number.
pMinor Integer to receive minor version number.
pRevision Integer to receive revision version number.
bool IsPasswordProtected ( ) const

Check the password protection flag.

Returns:
true if the current section has a password, false otherwise.
bool CheckPassword ( const char *  pPassword )

Set password protection flag to false if the argument matches the password stored in the section.

Parameters:
pPassword
Returns:
true if the argument matches the password stored in the section, false otherwise.
Remarks:
This function only works in read mode.
bool WritePassword ( const char *  pPassword )

Encrypt and store password in a section.

Parameters:
pPassword
Returns:
true on success, false otherwise.
Remarks:
This function only works in write mode and out of any enclosing block.
This function must not be called more than once per section.
const char* GetFilename ( ) const

Get project file name.

Returns:
project file name.
KString GetDataDirectory ( bool  pAutoCreate = true )

Get project data directory name.

Parameters:
pAutoCreate
Returns:
project data directory name.
KString GetMediaDirectory ( bool  pCreate = false,
const char *  pUserDefinedFolder = NULL 
)

Get the current embedded folder used by this object.

Parameters:
pCreate Whether create the media or not if no such folder is found
pUserDefinedFolder User define working folder
Returns:
the current embedded folder used by this object.
Remarks:
If ProjectCreateEmbeddedFolder has never been called this will return an empty string, unless we're explicitly asked to create it.
KString GetContainerTemplateDirectory ( const char *  pTemplateName,
bool  pCreate 
)

Get the full path of the directory to extract the template file.

Parameters:
pTemplateName
pCreate
Returns:
the full path of the directory to extract the template file.
char* GetRelativePath ( const char *  pPath )

Get the path relative to project directory.

Parameters:
pPath
Returns:
the path relative to project directory.
char* GetRelativeFilePath ( const char *  pFilePath )

Get the file path relative to project directory.

Parameters:
pFilePath
Returns:
the file path relative to project directory.
char* GetFullPath ( const char *  pRelativePath )

Get the full path of path relative to project directory.

Parameters:
pRelativePath
Returns:
the full path of path relative to project directory.
char* GetFullFilePath ( const char *  pRelativeFilePath )

Get the full file path of path relative to project directory.

Parameters:
pRelativeFilePath
Returns:
the full file path of path relative to project directory.
char* GetTmpProjectName ( const char *  pName ) const

Get the temporary project name.

Parameters:
pName
Returns:
the temporary project name.
bool SwapFromTmpProject ( const char *  pName,
char *  pError = NULL 
)

Swap from temporary project.

Parameters:
pName
pError
Returns:
true on success, false otherwise.
void FieldReadResetPosition ( )

Reset the field read position.

int FieldGetCount ( ) const

Get the number of fields.

Returns:
the number of fields.
const char* FieldGetName ( int  pFieldIndex ) const

Get the name of field indexed pFieldIndex.

Parameters:
pFieldIndex
Returns:
the name of field indexed pFieldIndex.
int FieldGetInstanceCount ( const char *  pFieldName ) const

Get number of instance field pFieldName has.

Parameters:
pFieldName
Returns:
the number of instance field pFieldName has.
bool FieldReadBegin ( int  pFieldIndex,
int  pInstance 
)

Start to read field instance referred by field indexed pFieldIndex, instance indexed pInstance.

Parameters:
pFieldIndex
pInstance
Returns:
true on success, false otherwise.
bool FieldReadBegin ( const char *  pFieldName )

Start to read field pFieldName.

Parameters:
pFieldName
Returns:
true on success, false otherwise.
bool FieldReadBegin ( const char *  pFieldName,
int  pInstance 
)

Start to read field instance referred field pFieldName, instance indexed pInstance.

Parameters:
pFieldName
pInstance
Returns:
true on success, false otherwise.
void FieldReadEnd ( )

Stop to read the current field.

bool FieldReadIsBlock ( )

Return if current field is a block.

bool FieldReadBlockBegin ( )

Start to read a field block.

void FieldReadBlockEnd ( )

Stop to read a field block.

int FieldReadGetCount ( ) const

Return the number of read field.

int FieldReadGetRemain ( ) const

Return the number of field remaining to be read.

char FieldReadGetType ( ) const

Return current field value type.

char FieldReadCH ( )

Return current field value as a char.

char FieldReadCH ( const char *  pFieldName,
char  pDefault = 0 
)

Return field pFieldName's value as a char.

Parameters:
pFieldName
pDefault
const char* FieldReadC ( )

Return current field value as a char pointer.

const char* FieldReadC ( const char *  pFieldName,
const char *  pDefault = "" 
)

Return field pFieldName's value as a char pointer.

Parameters:
pFieldName
pDefault
const char* FieldReadS ( )

Return current field value as a string (a char pointer).

const char* FieldReadS ( const char *  pFieldName,
const char *  pDefault = "" 
)

Return field pFieldName's value as a char pointer.

Parameters:
pFieldName
pDefault
bool FieldReadB ( )

Return current field value as an bool.

bool FieldReadB ( const char *  pFieldName,
bool  pDefault = false 
)

Return field pFieldName's value as an integer.

Parameters:
pFieldName
pDefault
int FieldReadI ( )

Return current field value as an integer.

int FieldReadI ( const char *  pFieldName,
int  pDefault = 0 
)

Return field pFieldName's value as an integer.

Parameters:
pFieldName
pDefault
kLongLong FieldReadLL ( )

Return current field value as an integer.

kLongLong FieldReadLL ( const char *  pFieldName,
kLongLong  pDefault = 0 
)

Return field pFieldName's value as an integer.

Parameters:
pFieldName
pDefault
float FieldReadF ( )

Return current field value as a float.

float FieldReadF ( const char *  pFieldName,
float  pDefault = 0 
)

Return field pFieldName's value as a float.

Parameters:
pFieldName
pDefault
double FieldReadD ( )

Return current field value as a double.

double FieldReadD ( const char *  pFieldName,
double  pDefault = 0 
)

Return field pFieldName's value as a double.

Parameters:
pFieldName
pDefault
KTime FieldReadT ( const char *  pFieldName )

Return field pFieldName's value as a time value.

Parameters:
pFieldName
KTime FieldReadT ( )

Return field pFieldName's value as a time value.

KTimeSpan FieldReadTS ( const char *  pFieldName )

Return field pFieldName's value as a timespan value.

Parameters:
pFieldName
KTimeSpan FieldReadTS ( )

Return field pFieldName's value as a timespan value.

void FieldReadFn ( float *  pValue,
kUInt  pn 
)

Return current field value as a n floats array.

Parameters:
pValue
pn
void FieldRead3F ( float *  pValue )

Return current field value as a 3 floats array.

Parameters:
pValue
void FieldRead4F ( float *  pValue )

Return current field value as a 4 floats array.

Parameters:
pValue
void FieldReadFn ( const char *  pFieldName,
float *  pValue,
const float *  pDefault,
kUInt  pn 
)

Return field pFieldName's value as n floats array.

Parameters:
pFieldName
pValue
pDefault
pn
void FieldRead3F ( const char *  pFieldName,
float *  pValue,
const float *  pDefault = NULL 
)

Return field pFieldName's value as 4 floats array.

Parameters:
pFieldName
pValue
pDefault
void FieldRead4F ( const char *  pFieldName,
float *  pValue,
const float *  pDefault = NULL 
)

Return field pFieldName's value as 3 floats array.

Parameters:
pFieldName
pValue
pDefault
void FieldReadDn ( double *  pValue,
kUInt  pn 
)

Return current field value as a n doubles array.

Parameters:
pValue
pn
void FieldRead3D ( double *  pValue )

Return current field value as a 3 doubles array.

Parameters:
pValue
void FieldRead4D ( double *  pValue )

Return current field value as a 4 doubles array.

Parameters:
pValue
void FieldReadDn ( const char *  pFieldName,
double *  pValue,
const double *  pDefault,
kUInt  pn 
)

Return field pFieldName's value as n doubles array.

Parameters:
pFieldName
pValue
pDefault
pn
void FieldRead3D ( const char *  pFieldName,
double *  pValue,
const double *  pDefault = NULL 
)

Return field pFieldName's value as 4 doubles array.

Parameters:
pFieldName
pValue
pDefault
void FieldRead4D ( const char *  pFieldName,
double *  pValue,
const double *  pDefault = NULL 
)

Return field pFieldName's value as 3 doubles array.

Parameters:
pFieldName
pValue
pDefault
void* FieldReadR ( int *  pByteSize )

Return current field value as raw data.

Parameters:
pByteSize
void* FieldReadR ( const char *  pFieldName,
int *  pByteSize 
)

Return field pFieldName's value as raw data.

Parameters:
pFieldName
pByteSize
kByte FieldReadByte ( )

Return field pFieldName's value as byte.

kByte FieldReadByte ( const char *  pFieldName,
kByte  pDefault = 0 
)

Return field pFieldName's value as a byte value.

Parameters:
pFieldName
pDefault
kUByte FieldReadUByte ( )

Return field pFieldName's value as unsigned byte.

kUByte FieldReadUByte ( const char *  pFieldName,
kUByte  pDefault = 0 
)

Return field pFieldName's value as an unsigned byte value.

Parameters:
pFieldName
pDefault
kShort FieldReadShort ( )

Return field pFieldName's value as short.

kShort FieldReadShort ( const char *  pFieldName,
kShort  pDefault = 0 
)

Return field pFieldName's value as a short value.

Parameters:
pFieldName
pDefault
kUShort FieldReadUShort ( )

Return field pFieldName's value as unsigned short.

kUShort FieldReadUShort ( const char *  pFieldName,
kUShort  pDefault = 0 
)

Return field pFieldName's value as an unsigned short value.

Parameters:
pFieldName
pDefault
unsigned int FieldReadUI ( )

Return field pFieldName's value as unsigned integer.

unsigned int FieldReadUI ( const char *  pFieldName,
unsigned int  pDefault = 0 
)

Return field pFieldName's value as an unsigned int as a value.

Parameters:
pFieldName
pDefault
kULongLong FieldReadULL ( )

Return field pFieldName's value as 64 bit unsigned integer.

kULongLong FieldReadULL ( const char *  pFieldName,
kULongLong  pDefault = 0 
)

Return field pFieldName's value as an 64 bit unsigned int as a value.

Parameters:
pFieldName
pDefault
const kByte* FieldReadArraySBytes ( int &  pCount )

Read the whole array and return the pointer to it.

Parameters:
pCount Nb of items in the array.
const kShort* FieldReadArrayShort ( int &  pCount )

Read the whole array and return the pointer to it.

Parameters:
pCount Nb of items in the array.
const kUShort* FieldReadArrayUShort ( int &  pCount )

Read the whole array and return the pointer to it.

Parameters:
pCount Nb of items in the array.
const unsigned int* FieldReadArrayUI ( int &  pCount )

Read the whole array and return the pointer to it.

Parameters:
pCount Nb of items in the array.
const kULongLong* FieldReadArrayULL ( int &  pCount )

Read the whole array and return the pointer to it.

Parameters:
pCount Nb of items in the array.
const kByte* FieldReadArray ( int &  pCount,
const kByte  
)

Read the whole array and return the pointer to it.

Parameters:
pCount Nb of items in the array.
const kShort* FieldReadArray ( int &  pCount,
const kShort  
)

Read the whole array and return the pointer to it.

Parameters:
pCount Nb of items in the array. Read the whole array and return the pointer to it.
pCount Nb of items in the array.
const kUShort* FieldReadArray ( int &  pCount,
const kUShort  
)

Read the whole array and return the pointer to it.

Parameters:
pCount Nb of items in the array.
const unsigned int* FieldReadArray ( int &  pCount,
const unsigned int *   
)

Read the whole array and return the pointer to it.

Parameters:
pCount Nb of items in the array.
const kULongLong* FieldReadArray ( int &  pCount,
const kULongLong  
)

Read the whole array and return the pointer to it.

Parameters:
pCount Nb of items in the array.
virtual bool FieldReadEmbeddedFile ( KString pFileName,
KString pRelativeFileName,
const char *  pEmbeddedMediaDirectory = "",
bool *  pIsFileCreated = NULL 
) [virtual]

Read field and copy it into a file.

Parameters:
pFileName Embedded file full path+name.
pRelativeFileName Relative path+name of the embedded file.
pEmbeddedMediaDirectory Directory of the embedded media.
pIsFileCreated Status of the extraction of the embedded data. Set to true if the embedded media is correctly extracted in the media directory.
Remarks:
Only works when file is binary. This function is not related to flag mEmbedded.
Returns:
false if operation failed.
const double* FieldReadArrayD ( int &  pCount )

Read the whole array and return the pointer to it.

Parameters:
pCount Nb of items in the array.
const float* FieldReadArrayF ( int &  pCount )

Read the whole array and return the pointer to it.

Parameters:
pCount Nb of items in the array.
const int* FieldReadArrayI ( int &  pCount )

Read the whole array and return the pointer to it.

Parameters:
pCount Nb of items in the array.
const kLongLong* FieldReadArrayLL ( int &  pCount )

Read the whole array and return the pointer to it.

Parameters:
pCount Nb of items in the array.
const bool* FieldReadArrayB ( int &  pCount )

Read the whole array and return the pointer to it.

Parameters:
pCount Nb of items in the array.
const kUByte* FieldReadArrayBytes ( int &  pCount )

Read the whole array and return the pointer to it.

Parameters:
pCount Nb of items in the array.
const int* FieldReadArray ( int &  pCount,
const int *   
)

Read the whole array and return the pointer to it.

Parameters:
pCount Nb of items in the array.
const float* FieldReadArray ( int &  pCount,
const float *   
)

Read the whole array and return the pointer to it.

Parameters:
pCount Nb of items in the array.
const double* FieldReadArray ( int &  pCount,
const double *   
)

Read the whole array and return the pointer to it.

Parameters:
pCount Nb of items in the array.
const kLongLong* FieldReadArray ( int &  pCount,
const kLongLong  
)

Read the whole array and return the pointer to it.

Parameters:
pCount Nb of items in the array.
const bool* FieldReadArray ( int &  pCount,
const bool *   
)

Read the whole array and return the pointer to it.

Parameters:
pCount Nb of items in the array.
const kUByte* FieldReadArray ( int &  pCount,
const kUByte  
)

Read the whole array and return the pointer to it.

Parameters:
pCount Nb of items in the array.
void FieldWriteBegin ( const char *  pFieldName )

Start to write a field called pFieldName.

Parameters:
pFieldName
void FieldWriteEnd ( )

Stop to write the current field.

void FieldWriteBlockBegin ( )

Start to write a field block.

void FieldWriteObjectBegin ( const char *  pObjectType,
const char *  pName,
const char *  pSubType = NULL 
)

Start to write an object reference field.

Parameters:
pObjectType
pName
pSubType
void FieldWriteObjectEnd ( )

Stop to write an object reference field.

void FieldWriteBlockBegin ( const char *  pFileName )

Start to write a field block in file pFileName.

Parameters:
pFileName
Remarks:
This function is disabled but kept accessible for the FBX SDK.
void FieldWriteBlockEnd ( )

Stop to write a block of field.

void FieldWriteCH ( char  pValue )

Write field value as a char.

Parameters:
pValue
void FieldWriteCH ( const char *  pFieldName,
char  pValue 
)

Write field pFieldName field with a char as a value.

Parameters:
pFieldName
pValue
void FieldWriteC ( const char *  pValue )

Write field value as char pointer pValue.

Parameters:
pValue
void FieldWriteC ( const char *  pFieldName,
const char *  pValue 
)

Write field pFieldName with a char pointer as a value.

Parameters:
pFieldName
pValue
void FieldWriteS ( const char *  pValue )

Write field value as KString pValue.

Parameters:
pValue
void FieldWriteS ( const KString pValue )

Write field value as KString pValue.

Parameters:
pValue
void FieldWriteS ( const char *  pFieldName,
const char *  pValue 
)

Write field pFieldName field with a KString as a value.

Parameters:
pFieldName
pValue
void FieldWriteS ( const char *  pFieldName,
const KString pValue 
)

Write field pFieldName field with a KString as a value.

Parameters:
pFieldName
pValue
void FieldWriteB ( bool  pValue )

Write field value as bool.

Parameters:
pValue
void FieldWriteB ( const char *  pFieldName,
bool  pValue 
)

Write field pFieldName field with a bool value.

Parameters:
pFieldName
pValue
void FieldWriteI ( int  pValue )

Write field value as integer.

Parameters:
pValue
void FieldWriteI ( const char *  pFieldName,
int  pValue 
)

Write field pFieldName field with an int as a value.

Parameters:
pFieldName
pValue
void FieldWriteLL ( kLongLong  pValue )

Write field value as 64 bit integer.

Parameters:
pValue
void FieldWriteLL ( const char *  pFieldName,
kLongLong  pValue 
)

Write field pFieldName field with an 64 bit int as a value.

Parameters:
pFieldName
pValue
void FieldWriteF ( float  pValue )

Write field value as float.

Parameters:
pValue
Remarks:
Only compatible with 1) MotionBuilder 4.0 and later 2) FBX SDK 3.6.1 and later.
void FieldWriteF ( const char *  pFieldName,
float  pValue 
)

Write field pFieldName field with a float as a value.

Parameters:
pFieldName
pValue
Remarks:
Only compatible with 1) MotionBuilder 4.0 and later 2) FBX SDK 3.6.1 and later.
void FieldWriteD ( double  pValue )

Write field value as double.

Parameters:
pValue
void FieldWriteD ( const char *  pFieldName,
double  pValue 
)

Write field pFieldName field with a double as a value.

Parameters:
pFieldName
pValue
void FieldWriteT ( KTime  pTime )

Write field value as time value.

Parameters:
pTime
void FieldWriteT ( const char *  pFieldName,
KTime  pValue 
)

Write field pFieldName field with a time as a value.

Parameters:
pFieldName
pValue
void FieldWriteTS ( KTimeSpan  pTimeSpan )

Write field value as timespan value.

Parameters:
pTimeSpan
void FieldWriteTS ( const char *  pFieldName,
KTimeSpan  pValue 
)

Write field pFieldName field with a timespan as a value.

Parameters:
pFieldName
pValue
void FieldWriteFn ( const float *  pValue,
kUInt  pn 
)

Write field value as an array of n floats (nF vector).

Parameters:
pValue
pn
void FieldWriteFn ( const char *  pFieldName,
const float *  pValue,
kUInt  pn 
)

Write field pFieldName field with a array of n floats as a value.

Parameters:
pFieldName
pValue
pn
void FieldWrite3F ( const float *  pValue )

Write field value as an array of 3 floats (3F vector).

Parameters:
pValue
void FieldWrite3F ( const char *  pFieldName,
const float *  pValue 
)

Write field pFieldName field with a array of 3 floats as a value.

Parameters:
pFieldName
pValue
void FieldWrite4F ( const float *  pValue )

Write field value as an array of 4 floats (4F vector).

Parameters:
pValue
void FieldWrite4F ( const char *  pFieldName,
const float *  pValue 
)

Write field pFieldName field with a array of 4 floats as a value.

Parameters:
pFieldName
pValue
void FieldWriteDn ( const double *  pValue,
kUInt  pn 
)

Write field value as an array of n doubles (nD vector).

Parameters:
pValue
pn
void FieldWriteDn ( const char *  pFieldName,
const double *  pValue,
kUInt  pn 
)

Write field pFieldName field with a array of n doubles as a value.

Parameters:
pFieldName
pValue
pn
void FieldWrite3D ( const double *  pValue )

Write field value as an array of 3 doubles (3D vector).

Parameters:
pValue
void FieldWrite3D ( const char *  pFieldName,
const double *  pValue 
)

Write field pFieldName field with a array of 3 doubles as a value.

Parameters:
pFieldName
pValue
void FieldWrite4D ( const double *  pValue )

Write field value as an array of 4 doubles (4D vector).

Parameters:
pValue
void FieldWrite4D ( const char *  pFieldName,
const double *  pValue 
)

Write field pFieldName field with a array of 4 doubles as a value.

Parameters:
pFieldName
pValue
void FieldWriteArrayD ( int  n,
const double *  pValue,
int  pSize = 1,
int  pStride = 0 
)

Write array to file.

Parameters:
n Nb of items in the array.
pValue Pointer to the data.
pSize Size of each item in the array.
pStride Array stride.
void FieldWriteArrayF ( int  n,
const float *  pValue,
int  pSize = 1,
int  pStride = 0 
)

Write array to file.

Parameters:
n Nb of items in the array.
pValue Pointer to the data.
pSize Size of each item in the array.
pStride Array stride.
void FieldWriteArrayI ( int  n,
const int *  pValue,
int  pSize = 1,
int  pStride = 0 
)

Write array to file.

Parameters:
n Nb of items in the array.
pValue Pointer to the data.
pSize Size of each item in the array.
pStride Array stride.
void FieldWriteArrayLL ( int  n,
const kLongLong pValue,
int  pSize = 1,
int  pStride = 0 
)

Write array to file.

Parameters:
n Nb of items in the array.
pValue Pointer to the data.
pSize Size of each item in the array.
pStride Array stride.
void FieldWriteArrayB ( int  n,
const bool *  pValue,
int  pSize = 1,
int  pStride = 0 
)

Write array to file.

Parameters:
n Nb of items in the array.
pValue Pointer to the data.
pSize Size of each item in the array.
pStride Array stride.
void FieldWriteArrayBytes ( int  n,
const kUByte pValue,
int  pSize = 1,
int  pStride = 0 
)

Write array to file.

Parameters:
n Nb of items in the array.
pValue Pointer to the data.
pSize Size of each item in the array.
pStride Array stride.
void FieldWriteR ( const void *  pRawData,
int  pByteSize 
)

Write field value as a raw data.

Parameters:
pRawData
pByteSize
void FieldWriteR ( const char *  pFieldName,
const void *  pRawData,
int  pByteSize 
)

Write field pFieldName field with raw data as a value.

Parameters:
pFieldName
pRawData
pByteSize
void FieldWriteByte ( kByte  pValue )

Write field value as byte.

Parameters:
pValue
void FieldWriteByte ( const char *  pFieldName,
kByte  pValue 
)

Write field pFieldName field with a byte value.

Parameters:
pFieldName
pValue
void FieldWriteUByte ( kUByte  pValue )

Write field value as unsigned byte.

Parameters:
pValue
void FieldWriteUByte ( const char *  pFieldName,
kUByte  pValue 
)

Write field pFieldName field with an unsigned byte value.

Parameters:
pFieldName
pValue
void FieldWriteShort ( kShort  pValue )

Write field value as short.

Parameters:
pValue
void FieldWriteShort ( const char *  pFieldName,
kShort  pValue 
)

Write field pFieldName field with a short value.

Parameters:
pFieldName
pValue
void FieldWriteUShort ( kUShort  pValue )

Write field value as unsigned short.

Parameters:
pValue
void FieldWriteUShort ( const char *  pFieldName,
kUShort  pValue 
)

Write field pFieldName field with an unsigned short value.

Parameters:
pFieldName
pValue
void FieldWriteUI ( unsigned int  pValue )

Write field value as an unsigned integer.

Parameters:
pValue
void FieldWriteUI ( const char *  pFieldName,
unsigned int  pValue 
)

Write field pFieldName field with an unsigned int as a value.

Parameters:
pFieldName
pValue
void FieldWriteULL ( kULongLong  pValue )

Write field value as 64 bit unsigned integer.

Parameters:
pValue
void FieldWriteULL ( const char *  pFieldName,
kULongLong  pValue 
)

Write field pFieldName field with an 64 bit unsigned int as a value.

Parameters:
pFieldName
pValue
Returns:
void
void FieldWriteArraySBytes ( int  n,
const kByte pValue,
int  pSize = 1,
int  pStride = 0 
)

Write array to file.

Parameters:
n Nb of items in the array.
pValue Pointer to the data.
pSize Size of each item in the array.
pStride Array stride.
void FieldWriteArrayShort ( int  n,
const kShort pValue,
int  pSize = 1,
int  pStride = 0 
)

Write array to file.

Parameters:
n Nb of items in the array.
pValue Pointer to the data.
pSize Size of each item in the array.
pStride Array stride.
void FieldWriteArrayUShort ( int  n,
const kUShort pValue,
int  pSize = 1,
int  pStride = 0 
)

Write array to file.

Parameters:
n Nb of items in the array.
pValue Pointer to the data.
pSize Size of each item in the array.
pStride Array stride.
void FieldWriteArrayUI ( int  n,
const unsigned int *  pValue,
int  pSize = 1,
int  pStride = 0 
)

Write array to file.

Parameters:
n Nb of items in the array.
pValue Pointer to the data.
pSize Size of each item in the array.
pStride Array stride.
void FieldWriteArrayULL ( int  n,
const kULongLong pValue,
int  pSize = 1,
int  pStride = 0 
)

Write array to file.

Parameters:
n Nb of items in the array.
pValue Pointer to the data.
pSize Size of each item in the array.
pStride Array stride.
int GetFieldRMaxChunkSize ( ) const

ASCII files may limit how big you can write your raw data, forcing you to break it down into chunks.

Returns:
int
void FieldWriteObjectReference ( const char *  pName )

Write object reference pName in the current field.

Parameters:
pName
void FieldWriteObjectReference ( const char *  pFieldName,
const char *  pName 
)

Write object reference pName in field pFieldName.

Parameters:
pFieldName
pName
bool FieldWriteEmbeddedFile ( KString  pFileName,
KString  pRelativeFileName 
)

Write field with file content as a value.

Parameters:
pFileName
pRelativeFileName
Remarks:
Only works when file is binary. This function is not related to flag mEmbedded.
Returns:
false if operation failed.
void WriteComments ( const char *  pFieldName )

Write comments, only effective in ASCII mode.

Parameters:
pFieldName
KError& GetError ( )

Retrieve error object.

Returns:
error object.
EError GetLastErrorID ( ) const

Get last error code.

Returns:
last error code.
const char* GetLastErrorString ( ) const

Get last error code.

Returns:
last error code.
bool GetHaveLoadedEmbededFile ( ) const

Get if the embedded file is currently loaded.

Returns:
true if loaded, false otherwise
Remarks:
An embedded file is a file like a JPEG image used for texture or an AVI file for video. When files are embedded, the size of the FBX file can be very large since other files are embedded in it. FBX Version 6 and lower cannot embed files when saved in ASCII. FBX Version 7 and over can embed files even when saved in ASCII mode.
void* GetMemoryFileInfo ( kULong pSize ) const

Get the maximum byte count written.

Parameters:
pSize handler of the maximum byte count written
Returns:
the address of the memory file
bool IsBeforeVersion6 ( ) const

Get a internal flag to manage pre FBX version 6 data format Used for backwards compatibility.

void SetIsBeforeVersion6 ( bool  pIsBeforeVersion6 )

Set a internal flag to manage pre FBX version 6 data format Used for backwards compatibility.


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

KFbx KFbx KFbx KFbx KFbx KFbx KFbx KFbx KFbx KFbx
KFbx KFbx KFbx KFbx KFbx KFbx KFbx KFbx KFbx KFbx