#include <kfbximporter.h>

Normally this class is used as is. But for very special needs a user can override Initialize() for special purpose.
An importer will select the appropriate reader to a particular file. Ex: When an importer must import an FBX 7 file, the importer will ask for all registered readers if an FBX 7 file reader is available, then if a reader is found, the importer will create the specialized FBX 7 reader and read the file. This way, an importer can "read" many different type of files like FBX 5/6/7, 3DS, Obj, Dxf, Collada, etc.
ex: // create a SdkManager KFbxSdkManager *lSdkManager = KFbxSdkManager::Create(); // create an IOSettings object KFbxIOSettings * ios = KFbxIOSettings::Create(lSdkManager, IOSROOT ); // set some IOSettings options ios->SetBoolProp(IMP_FBX_MATERIAL, true); ios->SetBoolProp(IMP_FBX_TEXTURE, true); // create an empty scene KFbxScene* lScene = KFbxScene::Create(lSdkManager,""); // Create an importer. KFbxImporter* lImporter = KFbxImporter::Create(lSdkManager, ""); // Initialize the importer by providing a filename and the IOSettings to use lImporter->Initialize("C:\\myfile.fbx", -1, ios); // Import the scene. lImporter->Import(lScene); // Destroy the importer. lImporter->Destroy();
Definition at line 139 of file kfbximporter.h.
Import Functions |
|
| enum | EStreamOptionsGeneration
{ eSTREAMOPTIONS_PARSE_FILE, eSTREAMOPTIONS_FAST, eSTREAMOPTIONS_COUNT } |
| Stream options identifiers. More... |
|
| virtual bool | Initialize (const char *pFileName, const int pFileFormat=-1, KFbxIOSettings *pIOSettings=NULL) |
| Initialize object. |
|
| virtual bool | Initialize (KFile *pFile, const int pFileFormat=-1, KFbxIOSettings *pIOSettings=NULL) |
| Initialize object. |
|
| virtual KFile * | GetFile () |
| Get the file, if any. |
|
| void | GetFileVersion (int &pMajor, int &pMinor, int &pRevision) |
| Get the FBX version number of the FBX file.
|
|
| bool | GetDefaultRenderResolution (KString &pCamName, KString &pResolutionMode, double &pW, double &pH) |
| Get the default rendering resolution if
present in the file header. |
|
| KFbxFileHeaderInfo * | GetFileHeaderInfo () |
| Get the complete file header information.
|
|
| bool | GetImportOptions (EStreamOptionsGeneration pStreamOptionsGeneration=eSTREAMOPTIONS_PARSE_FILE) |
| Read the currently opened file header to
retrieve information related to takes. |
|
| bool | GetImportOptions (KFbx *pFbxObject) |
| Read the currently opened file header to
retrieve information related to takes. |
|
| bool | Import (KFbxDocument *pDocument, bool pNonBlocking=false) |
| Import the currently opened file into a
scene. |
|
| bool | IsImporting (bool &pImportResult) |
| Check if the importer is currently
importing. |
|
| float | GetProgress (KString &pStatus) |
| Get the progress status in non-blocking
mode. |
|
| void | SetProgressCallback (KFbxProgressCallback pHandler) |
| Register a callback function for progress
reporting in single thread mode. |
|
| KFbxIOSettings * | GetIOSettings () |
| Access to a IOSettings object. |
|
| void | SetIOSettings (KFbxIOSettings *pIOSettings) |
| Set the IOSettings pointer. |
|
| void | SetPassword (char *pPassword) |
| Set the password. |
|
Animation Stack Description Access |
|
|
|
| K_DEPRECATED int | GetTakeCount () |
| Get the number of available takes in the
file. |
|
| int | GetAnimStackCount () |
| Get the number of available animation stacks
in the file. |
|
| KFbxTakeInfo * | GetTakeInfo (int pIndex) |
| Get the take information about an available
take. |
|
| K_DEPRECATED char * | GetCurrentTakeName () |
| Return the current take name. |
|
| KString | GetActiveAnimStackName () |
| Return the active animation stack name.
|
|
Scene Description Access |
|
| KFbxDocumentInfo * | GetSceneInfo () |
| Get the scene info. |
|
File Format |
|
| int | GetFileFormat () |
| Returns the index of the reader (FbxReader)
associated with the file format. |
|
| bool | IsFBX () |
Public Member Functions |
|
| void | ParseForGlobalSettings (bool pState) |
| Set a flag to parse or not the
GlobalSettings data section when the importer is initialized.
|
|
| void | ParseForStatistics (bool pState) |
| Set a flag to parse or not in a FBX file the
Summary data section or the Definition data section when the
importer is initialized. |
|
| bool | GetAxisInfo (KFbxAxisSystem *pAxisSystem, KFbxSystemUnit *pSystemUnits) |
| Get FBX file Axis information and FBX file
System units. |
|
| bool | GetStatistics (KFbxStatistics *pStatistics) |
| Get FBX file Statistics informations.
|
|
Stream options identifiers.
Definition at line 204 of file kfbximporter.h.
| virtual bool Initialize | ( | const char * | pFileName, | |
| const int | pFileFormat = -1, |
|||
| KFbxIOSettings * | pIOSettings = NULL |
|||
| ) | [virtual] |
Initialize object.
| pFileName | Name of file to access. | |
| pFileFormat | file format identifier User does not need to specify it by default. if not specified, plugin will detect the file format according to file suffix automatically. | |
| pIOSettings | client IOSettings, if not specified, a default IOSettings will be created |
true on success, false
otherwise.You do not need to give the pFileFormat if the suffix of pFileName is recognized
| virtual bool Initialize | ( | KFile * | pFile, | |
| const int | pFileFormat = -1, |
|||
| KFbxIOSettings * | pIOSettings = NULL |
|||
| ) | [virtual] |
Initialize object.
| pFile | file to access. Ownership is transfered to this object. | |
| pFileFormat | file format identifier User does not need to specify it by default. if not specified, plugin will detect the file format according to file suffix automatically. | |
| pIOSettings | client IOSettings, if not specified, a default IOSettings will be created |
true on success, false
otherwise.You do not need to give the pFileFormat if the suffix of pFileName is recognized
| virtual KFile* GetFile | ( | ) | [virtual] |
Get the file, if any.
Get the FBX version number of the FBX file.
FBX version numbers start at 5.0.0.
| pMajor | Version major number. | |
| pMinor | Version minor number. | |
| pRevision | Version revision number. |
| bool GetDefaultRenderResolution | ( | KString & | pCamName, | |
| KString & | pResolutionMode, | |||
| double & | pW, | |||
| double & | pH | |||
| ) |
Get the default rendering resolution if present in the file header.
| pCamName | Returned name of the camera. | |
| pResolutionMode | Returned resolution mode. | |
| pW | Returned width. | |
| pH | Returned height. |
true if the default rendering settings are defined
in the file, otherwise returns false with empty
parameters.| KFbxFileHeaderInfo* GetFileHeaderInfo | ( | ) |
Get the complete file header information.
| bool GetImportOptions | ( | EStreamOptionsGeneration | pStreamOptionsGeneration =
eSTREAMOPTIONS_PARSE_FILE |
) |
Read the currently opened file header to retrieve information related to takes.
| pStreamOptionsGeneration | Stream options identifier. |
true on success, false
otherwise.| bool GetImportOptions | ( | KFbx * | pFbxObject | ) |
Read the currently opened file header to retrieve information related to takes.
| pFbxObject | Target FBX file. |
true on success, false
otherwise.| bool Import | ( | KFbxDocument * | pDocument, | |
| bool | pNonBlocking =
false |
|||
| ) |
Import the currently opened file into a scene.
| pDocument | Document to fill with file content. | |
| pNonBlocking | If true, the import process will be executed in a new thread, allowing it to be non-blocking. To determine if the import finished, refer to the function IsImporting(). |
true on success, false
otherwise.| bool IsImporting | ( | bool & | pImportResult | ) |
Check if the importer is currently importing.
| pImportResult | This parameter, after the import finished, will contain the result of the import success or failure. |
| float GetProgress | ( | KString & | pStatus | ) |
Get the progress status in non-blocking mode.
| pStatus | KString reference to retrieve current status |
| void SetProgressCallback | ( | KFbxProgressCallback | pHandler | ) |
Register a callback function for progress reporting in single thread mode.
| pHandler | Pointer of the callback function |
| KFbxIOSettings* GetIOSettings | ( | ) |
Access to a IOSettings object.
NULL if
the object has not been allocated.| void SetIOSettings | ( | KFbxIOSettings * | pIOSettings | ) |
Set the IOSettings pointer.
| pIOSettings | Point to a KFbxIOSettings object. |
| void SetPassword | ( | char * | pPassword | ) |
Set the password.
All subsequently imported files are opened with the given password.
| pPassword | Password string. |
| K_DEPRECATED int GetTakeCount | ( | ) |
Get the number of available takes in the file.
This method is deprecated an should be replaced with calls to GetAnimStackCount().
| int GetAnimStackCount | ( | ) |
Get the number of available animation stacks in the file.
| KFbxTakeInfo* GetTakeInfo | ( | int | pIndex | ) |
Get the take information about an available take.
Use the returned reference to a KFbxTakeInfo object to set whether the indexed take is imported.
| pIndex | Index of the requested take. |
NULL if function failed.| K_DEPRECATED char* GetCurrentTakeName | ( | ) |
Return the current take name.
This method is deprecated an should be replaced with calls to GetActiveAnimStackName().
| KString GetActiveAnimStackName | ( | ) |
Return the active animation stack name.
| KFbxDocumentInfo* GetSceneInfo | ( | ) |
Get the scene info.
NULL if no scene
information is available in the file.| int GetFileFormat | ( | ) |
Returns the index of the reader (FbxReader) associated with the file format.
This index is considered the identifier of the file format. The array of registered readers can't be retrieved.
| bool IsFBX | ( | ) |
true if the file format is a recognized FBX
format.| void ParseForGlobalSettings | ( | bool | pState | ) |
Set a flag to parse or not the GlobalSettings data section when the importer is initialized.
| pState | true or false |
| void ParseForStatistics | ( | bool | pState | ) |
Set a flag to parse or not in a FBX file the Summary data section or the Definition data section when the importer is initialized.
| pState | true or false |
| bool GetAxisInfo | ( | KFbxAxisSystem * | pAxisSystem, | |
| KFbxSystemUnit * | pSystemUnits | |||
| ) |
Get FBX file Axis information and FBX file System units.
| pAxisSystem | pointer to a KFbxAxisSystem object | |
| pSystemUnits | pointer to a KFbxSystemUnit object |
true on success, false
otherwise.| bool GetStatistics | ( | KFbxStatistics * | pStatistics | ) |
Get FBX file Statistics informations.
Ex: Number of Models, Characters, Textures, Materials, etc.
| pStatistics | pointer to a KFbxStatistics object |
true on success, false
otherwise.