FBX C++ API Reference
|
#include <fbxclassid.h>
Internal class used to differentiate objects during run-time.
Essentially, each class has an unique ClassId, that the system can request in order to test if the class match the description. This class implement the necessary tools to be able to perform hierarchic class testing. This means that a class B that inherits from the class A will answer yes to a "Is A" query of type A or B, but will answer no to a class C that can still inherit from A. All class must inherit from FbxObject before they can have their own ClassId. When using the standard macros to create new types of objects in the FBX SDK, a static ClassId will automatically be generated for that new class.
When objects are exported to an FBX file, their class type is maintained using 3 sort of strings. They are the Object Type string, the Object Sub Type string and the Object Type Prefix. There is no good or bad way to choose the value of these identifiers, but it is preferable to use meaningful values to keep the ASCII version of FBX readable and easy to understand.
Definition at line 39 of file fbxclassid.h.
Public Member Functions | |
FbxClassId () | |
Constructor. More... | |
FbxClassId (const char *pClassName, const FbxClassId &pParentClassId, FbxObjectCreateProc pConstructor=0, const char *pFBXType=((void *) 0), const char *pFBXSubType=((void *) 0)) | |
Advanced constructor were we can specify the general parameters for this ClassId. More... | |
void | Destroy () |
Destructor. More... | |
const char * | GetName () const |
Retrieve the class name. More... | |
FbxClassId | GetParent () const |
Retrieve the parent ClassId. More... | |
FbxObject * | Create (FbxManager &pManager, const char *pName, const FbxObject *pFrom) |
Create an instance of this class. More... | |
bool | Override (FbxObjectCreateProc pConstructor) |
Override the function pointer method to construct this object. More... | |
bool | Is (const FbxClassId &pId) const |
Test if this class is a hierarchical children of the specified class type. More... | |
bool | operator== (const FbxClassId &pClassId) const |
Equivalence operator. More... | |
bool | operator!= (const FbxClassId &pClassId) const |
Inequivalence operator. More... | |
const char * | GetFbxFileTypeName (bool pAskParent=false) const |
Retrieve the FBX file Object Type string associated to this class. More... | |
const char * | GetFbxFileSubTypeName () const |
Retrieve the FBX file Object Sub Type string associated to this class. More... | |
bool | IsValid () const |
Find out if self ClassId is valid or not. More... | |
void | SetObjectTypePrefix (const char *pObjectTypePrefix) |
Set the Object Type Prefix string associated to this class. More... | |
const char * | GetObjectTypePrefix () |
Retrieve the Object Type Prefix string associated to this class. More... | |
FbxPropertyHandle * | GetRootClassDefaultPropertyHandle () |
Retrieve the root property handle of this class. More... | |
int | ClassInstanceIncRef () |
Increase the instance reference count for this class type. More... | |
int | ClassInstanceDecRef () |
Decrease the instance reference count for this class type. More... | |
int | GetInstanceRef () |
Retrieve the instance reference count for this class type. More... | |
FbxClassId | ( | ) |
Constructor.
FbxClassId | ( | const char * | pClassName, |
const FbxClassId & | pParentClassId, | ||
FbxObjectCreateProc | pConstructor = 0 , |
||
const char * | pFBXType = ((void *) 0) , |
||
const char * | pFBXSubType = ((void *) 0) |
||
) |
Advanced constructor were we can specify the general parameters for this ClassId.
pClassName | The name of the class represented. |
pParentClassId | The parent ClassId of this class. |
pConstructor | A function pointer to a construction method for this ClassId. |
pFBXType | The FBX file Object Type string associated to this class. |
pFBXSubType | The FBX file Object Sub Type string associated to this class. |
void Destroy | ( | ) |
Destructor.
const char* GetName | ( | ) | const |
Retrieve the class name.
FbxClassId GetParent | ( | ) | const |
Retrieve the parent ClassId.
FbxObject* Create | ( | FbxManager & | pManager, |
const char * | pName, | ||
const FbxObject * | pFrom | ||
) |
Create an instance of this class.
pManager | The FBX SDK Manager to be used to instantiate this object. This allow the object to use the same memory manager as the provided manager. |
pName | The name to assign to this new object instance. |
pFrom | An object to clone if it matches the same ClassId. This is an optional parameter. |
bool Override | ( | FbxObjectCreateProc | pConstructor | ) |
Override the function pointer method to construct this object.
pConstructor | A newly defined function pointer to a construction method to replace the existing one. |
bool Is | ( | const FbxClassId & | pId | ) | const |
Test if this class is a hierarchical children of the specified class type.
This is the standard method to differentiate object classes.
pId | The class type to test against self. |
bool operator== | ( | const FbxClassId & | pClassId | ) | const |
Equivalence operator.
pClassId | The class type to test against self. |
true
if the ClassId is exactly the same, false
otherwise. bool operator!= | ( | const FbxClassId & | pClassId | ) | const |
Inequivalence operator.
pClassId | The class type to test against self. |
true
if the ClassId is not the same, false
otherwise. const char* GetFbxFileTypeName | ( | bool | pAskParent = false | ) | const |
Retrieve the FBX file Object Type string associated to this class.
pAskParent | If true , retrieve the parent ClassId, but only if self ClassId is not valid. |
const char* GetFbxFileSubTypeName | ( | ) | const |
Retrieve the FBX file Object Sub Type string associated to this class.
|
inline |
Find out if self ClassId is valid or not.
true
if self ClassId is valid, false
otherwise. Definition at line 105 of file fbxclassid.h.
void SetObjectTypePrefix | ( | const char * | pObjectTypePrefix | ) |
Set the Object Type Prefix string associated to this class.
This will change the "ObjectTypePrefix::" found in front of object name in the FBX file. This is useful to differentiate objects by their name without using the Object Type or Sub Type strings in the file.
pObjectTypePrefix | The Object Type prefix string. |
const char* GetObjectTypePrefix | ( | ) |
Retrieve the Object Type Prefix string associated to this class.
FbxPropertyHandle* GetRootClassDefaultPropertyHandle | ( | ) |
Retrieve the root property handle of this class.
This is useful to access the default property hierarchy for this class. This allow users to retrieve information such as the default value for all properties of this class.
int ClassInstanceIncRef | ( | ) |
Increase the instance reference count for this class type.
int ClassInstanceDecRef | ( | ) |
Decrease the instance reference count for this class type.
int GetInstanceRef | ( | ) |
Retrieve the instance reference count for this class type.