This reference page is linked to from the following overview topics: Customizing File Formats with FBX SDK I/O Plug-ins, Customizing the FBX SDK, List of Python FBX classes, Customizing File Formats.
Base class of other readers used internally.
This class provides the interfaces for reading files.
The role of the reader is to effectively "read" specific file data vs the role of the importer is to select a specific reader and launch the reading of a file through that reader.
ex:
A SDK user should - normally - not use this class, except if a custom reader must be created for plug-in extension, then KFbxReader must be the base class for the new custom reader in that particular situation.
MyOwnWriterReader/MyOwnReader.cxx, MyOwnWriterReader/MyOwnReader.h, MyOwnWriterReader/MyOwnWriterReader.cxx, and MyOwnWriterReader/MyOwnWriterReader.h.
Definition at line 64 of file kfbxreader.h.
#include <kfbxreader.h>
Public Types |
|
enum | EError
{ eFILE_CORRUPTED, eFILE_VERSION_NOT_SUPPORTED_YET, eFILE_VERSION_NOT_SUPPORTED_ANYMORE, eFILE_NOT_OPENED, eFILE_NOT_CREATED, eWRONG_PASSWORD, eINVALID_DOCUMENT_HANDLE, eDOCUMENT_NOT_SUPPORTED, eUNRESOLVED_EXTERNAL_REFERENCES, eUNIDENTIFIED_ERROR, eERROR_COUNT } |
Error identifiers. More... |
|
enum | KInfoRequest { eInfoExtension, eInfoDescriptions, eReserved1 = 0xFBFB } |
Information type to request. More... |
|
enum | EFileOpenSpecialFlags { ParseForGlobalSettings = 1, ParseForStatistics = 2 } |
Flags for reading parts of file. More... |
|
typedef KFbxReader *(* | CreateFuncType )(KFbxSdkManager &pManager, KFbxImporter &pImporter, int pSubID, int pPluginID) |
typedef void(* | IOSettingsFillerFuncType )(KFbxIOSettings &pIOS) |
typedef void *(* | GetInfoFuncType )(KInfoRequest pRequest, int pReaderTypeId) |
Public Member Functions |
|
KFbxReader (KFbxSdkManager &pManager, int pID) | |
Constructor. |
|
virtual | ~KFbxReader () |
Destructor. |
|
virtual void | GetVersion (int &pMajor, int &pMinor, int &pRevision) |
Returns the file version. |
|
virtual bool | FileOpen (char *pFileName)=0 |
Opens the file with default flag. |
|
virtual bool | FileOpen (KFile *pFile) |
Opens the file with KFile handle. |
|
virtual bool | FileClose ()=0 |
Closes the file stream. |
|
virtual bool | IsFileOpen ()=0 |
Checks if the file stream is open. |
|
virtual bool | GetReadOptions (bool pParseFileAsNeeded=true)=0 |
Returns file stream options. |
|
virtual bool | Read (KFbxDocument *pDocument)=0 |
Reads file with stream options. |
|
virtual void | PluginReadParameters (KFbxObject &pParams) |
Reads extension plug-ins name, version and
parameters, so that we can remember if a plug-in was used during
export. |
|
virtual bool | FileOpen (char *pFileName, EFileOpenSpecialFlags pFlags) |
Opens the file with specific
EFileOpenSpecialFlags. |
|
virtual bool | GetAxisInfo (KFbxAxisSystem *pAxisSystem, KFbxSystemUnit *pSystemUnits) |
Returns the system axis information and file
system units from the file. |
|
virtual bool | GetStatistics (KFbxStatistics *pStats) |
Returns statistics from the file. |
|
virtual bool | GetFrameRate (KTime::ETimeMode &pTimeMode) |
Get FBX file time mode read from
GlobalSettings in FBX 6.n and FBX 7.n. |
|
virtual KFbxDocumentInfo * | GetSceneInfo () |
Returns the scene info from the file.
|
|
virtual
KArrayTemplate < KFbxTakeInfo * > * |
GetTakeInfo () |
Returns the list of take infos from the
file. |
|
virtual bool | GetDefaultRenderResolution (KString &pCamName, KString &pResolutionMode, double &pW, double &pH) |
If default camera resolution is OK, returns
information about the resolution of the render. |
|
bool | IsGenuine () |
Judges if the format of the file is was
created by an Autodesk plug-in. |
|
KError & | GetError () |
Retrieves error objects. |
|
EError | GetLastErrorID () const |
Returns the ID of the last error that
occurred when the file was read. |
|
const char * | GetLastErrorString () const |
Returns the error string that describes the
last error that occurred when the file was read. |
|
void | GetMessage (KString &pMessage) const |
Returns a warning message that describes
what occurred when the file was read. |
|
KString & | GetMessage () |
Returns a warning message that describes
what occurred when the file was read. |
|
void | ClearMessage () |
Clears the warning message string. |
|
virtual KFbxIOSettings * | GetIOSettings () |
Access to a IOSettings object. |
|
virtual void | SetIOSettings (KFbxIOSettings *pIOSettings) |
Set the IOSettings pointer to be used for
this reader instance. |
|
virtual void | SetProgressHandler (KFbxProgress *pProgress) |
Pass a progress handler to the reader.
|
|
virtual void | SetEmbeddingExtractionFolder (const char *pExtractFolder) |
Protected Member Functions |
|
void | SetDefaultRenderResolution (const char *pCamName, const char *pResolutionMode, double pW, double pH) |
Set resolution information for default
camera. |
|
void | PluginsReadBegin (KFbxScene &pScene) |
A callback function called by FBX before the
FBX scene is read. |
|
void | PluginsRead (const char *pName, const char *pVersion) |
A callback function before read any FBX
object. |
|
void | PluginsReadEnd (KFbxScene &pScene) |
A callback function called by FBX after read
the FBX scene. |
|
KFbxReader & | operator= (KFbxReader const &) |
virtual bool | CheckDuplicateNodeNames (KFbxNode *pRootNode, KString &pDuplicateNodeNameList) |
Check if there is any node under pRootNode
that have the same name in pDuplicateNodeNameList. |
|
Protected Attributes |
|
KFbxSdkManager & | mManager |
FBX SDK manager. |
|
KDefaultRenderResolution * | mData |
Resolution data for the active camera.
|
|
Friends |
|
struct | KFbxReaderFbx7Impl |
typedef KFbxReader*(* CreateFuncType)(KFbxSdkManager &pManager, KFbxImporter &pImporter, int pSubID, int pPluginID) |
Helper typedef for passing KFbxReader creator function as argument (used internally)
Definition at line 112 of file kfbxreader.h.
typedef void(* IOSettingsFillerFuncType)(KFbxIOSettings &pIOS) |
Helper typedef for passing KFbxIOSettings creator function as argument (used internally)
Definition at line 115 of file kfbxreader.h.
typedef void*(* GetInfoFuncType)(KInfoRequest pRequest, int pReaderTypeId) |
Helper typedef for passing KInfoRequest function as argument (used internally)
Definition at line 118 of file kfbxreader.h.
enum EError |
Error identifiers.
Definition at line 79 of file kfbxreader.h.
enum KInfoRequest |
Information type to request.
eInfoExtension |
To get the file ext for a reader ex: "FBX". |
eInfoDescriptions |
To get the file description for a reader ex: "Autodesk FBX (*.fbx)". |
eReserved1 |
Definition at line 97 of file kfbxreader.h.
{ eInfoExtension, eInfoDescriptions, eReserved1 = 0xFBFB, };
Flags for reading parts of file.
ParseForGlobalSettings |
Used for reading the Global settings section when an importer is initialized. |
ParseForStatistics |
Used for reading a group of statistics when an importer is initialized. |
Definition at line 106 of file kfbxreader.h.
{ ParseForGlobalSettings = 1, ParseForStatistics = 2 };
KFbxReader | ( | KFbxSdkManager & | pManager, |
int | pID | ||
) |
Constructor.
pManager | The KFbxSdkManager Object. |
pID | Id for current reader. |
virtual ~KFbxReader | ( | ) | [virtual] |
Destructor.
virtual void GetVersion | ( | int & | pMajor, |
int & | pMinor, | ||
int & | pRevision | ||
) | [inline, virtual] |
Returns the file version.
pMajor | Major version. |
pMinor | Minor version. |
pRevision | Revision version. |
Definition at line 125 of file kfbxreader.h.
{ pMajor = pMinor = pRevision = 0; }
virtual bool FileOpen | ( | char * | pFileName | ) | [pure virtual] |
Opens the file with default flag.
pFileName | Name of the File to open |
true
,
otherwise return false
.virtual bool FileOpen | ( | KFile * | pFile | ) | [virtual] |
Opens the file with KFile handle.
pFile | The KFile handle |
true
,
otherwise return false
.virtual bool FileClose | ( | ) | [pure virtual] |
virtual bool IsFileOpen | ( | ) | [pure virtual] |
virtual bool GetReadOptions | ( | bool | pParseFileAsNeeded =
true |
) | [pure virtual] |
Returns file stream options.
pParseFileAsNeeded | Sets whether to parse file as read options |
virtual bool Read | ( | KFbxDocument * | pDocument | ) | [pure virtual] |
Reads file with stream options.
pDocument | KFbxDocument to store the file data |
false
.virtual void PluginReadParameters | ( | KFbxObject & | pParams | ) | [virtual] |
Reads extension plug-ins name, version and parameters, so that we can remember if a plug-in was used during export.
This is especially useful for extension plug-ins that modify the scene and also to warn users during import if an extension plug-in was used that could be missing.
pParams | The parameters of the extension plug-in. The properties of the objects are used as the parameters of the extension plug-in. |
virtual bool FileOpen | ( | char * | pFileName, |
EFileOpenSpecialFlags | pFlags | ||
) | [inline, virtual] |
Opens the file with specific EFileOpenSpecialFlags.
pFileName | Name of the File to open. |
pFlags | The EFileOpenSpecialFlags to open with |
Definition at line 178 of file kfbxreader.h.
{ return FileOpen(pFileName); }
virtual bool GetAxisInfo | ( | KFbxAxisSystem * | pAxisSystem, |
KFbxSystemUnit * | pSystemUnits | ||
) | [inline, virtual] |
Returns the system axis information and file system units from the file.
pAxisSystem | Axis system in file |
pSystemUnits | System unit in file |
false
.Definition at line 185 of file kfbxreader.h.
{ return false; }
virtual bool GetStatistics | ( | KFbxStatistics * | pStats | ) | [inline, virtual] |
Returns statistics from the file.
pStats | Statistics in the file. |
false
.Definition at line 191 of file kfbxreader.h.
{ return false; }
virtual bool GetFrameRate | ( | KTime::ETimeMode & | pTimeMode | ) | [inline, virtual] |
Get FBX file time mode read from GlobalSettings in FBX 6.n and FBX 7.n.
pTimeMode | ref to a KTime::ETimeMode enum |
true
on success, false
otherwise.Definition at line 199 of file kfbxreader.h.
{ pTimeMode = KTime::eDEFAULT_MODE; return false; }
virtual KFbxDocumentInfo* GetSceneInfo | ( | ) | [inline, virtual] |
Returns the scene info from the file.
Definition at line 205 of file kfbxreader.h.
{return NULL;}
virtual KArrayTemplate<KFbxTakeInfo*>* GetTakeInfo | ( | ) | [inline, virtual] |
Returns the list of take infos from the file.
Definition at line 210 of file kfbxreader.h.
{return NULL;}
virtual bool GetDefaultRenderResolution | ( | KString & | pCamName, |
KString & | pResolutionMode, | ||
double & | pW, | ||
double & | pH | ||
) | [virtual] |
If default camera resolution is OK, returns information about the resolution of the render.
pCamName | Default camera name. |
pResolutionMode | Default resolution mode. |
pW | Default resolution width. |
pH | Default resolution height. |
true
If default camera resolution is OK,
false
Otherwise.bool IsGenuine | ( | ) |
Judges if the format of the file is was created by an Autodesk plug-in.
An internal (genuine) plug-in is one created by the Autodesk FBX product team.
true
If the file format is internal plug-in ,
false
Otherwise.KError& GetError | ( | ) |
EError GetLastErrorID | ( | ) | const |
Returns the ID of the last error that occurred when the file was read.
const char* GetLastErrorString | ( | ) | const |
Returns the error string that describes the last error that occurred when the file was read.
void GetMessage | ( | KString & | pMessage | ) | const |
Returns a warning message that describes what occurred when the file was read.
pMessage | The returned warning message. |
KString& GetMessage | ( | ) |
Returns a warning message that describes what occurred when the file was read.
void ClearMessage | ( | ) |
Clears the warning message string.
virtual KFbxIOSettings* GetIOSettings | ( | ) | [virtual] |
Access to a IOSettings object.
virtual void SetIOSettings | ( | KFbxIOSettings * | pIOSettings | ) | [virtual] |
Set the IOSettings pointer to be used for this reader instance.
pIOSettings |
virtual void SetProgressHandler | ( | KFbxProgress * | pProgress | ) | [inline, virtual] |
Pass a progress handler to the reader.
pProgress | KFbxProgress to store the progress information. |
Definition at line 269 of file kfbxreader.h.
{}
virtual void SetEmbeddingExtractionFolder | ( | const char * | pExtractFolder | ) | [inline, virtual] |
void SetDefaultRenderResolution | ( | const char * | pCamName, |
const char * | pResolutionMode, | ||
double | pW, | ||
double | pH | ||
) | [protected] |
Set resolution information for default camera.
pCamName | The default camera name. |
pResolutionMode | Resolution mode. ex: "Fixed Resolution","Fixed Ratio","Fixed Width","Fixed Height","Window Size". |
pW | Resolution width. |
pH | Resolution height. |
void PluginsReadBegin | ( | KFbxScene & | pScene | ) | [protected] |
A callback function called by FBX before the FBX scene is read.
void PluginsRead | ( | const char * | pName, |
const char * | pVersion | ||
) | [protected] |
A callback function before read any FBX object.
pName | Object name. |
pVersion | Version of object. |
void PluginsReadEnd | ( | KFbxScene & | pScene | ) | [protected] |
A callback function called by FBX after read the FBX scene.
KFbxReader& operator= | ( | KFbxReader const & | ) | [inline, protected] |
Definition at line 294 of file kfbxreader.h.
{ return *this; }
virtual bool CheckDuplicateNodeNames | ( | KFbxNode * | pRootNode, |
KString & | pDuplicateNodeNameList | ||
) | [protected, virtual] |
Check if there is any node under pRootNode that have the same name in pDuplicateNodeNameList.
pRootNode | Root node. The node and its children will be checked recursively. |
pDuplicatedNodeNameList | Name list. |
friend struct KFbxReaderFbx7Impl
[friend] |
Definition at line 313 of file kfbxreader.h.
KFbxSdkManager& mManager
[protected] |
FBX SDK manager.
Definition at line 303 of file kfbxreader.h.
KDefaultRenderResolution*
mData
[protected] |
Resolution data for the active camera.
Definition at line 305 of file kfbxreader.h.