- Main Page
- Classes
- Files
- Directories

- File List
- File Members

# fbxclassid.h

Go to the documentation of this file.

    00001 /****************************************************************************************
    00002
    00003    Copyright (C) 2013 Autodesk, Inc.
    00004    All rights reserved.
    00005
    00006    Use of this software is subject to the terms of the Autodesk license agreement
    00007    provided at the time of installation or download, or which otherwise accompanies
    00008    this software in either electronic or hard copy form.
    00009
    00010 ****************************************************************************************/
    00011
    00013 #ifndef _FBXSDK_CORE_CLASSID_H_
    00014 #define _FBXSDK_CORE_CLASSID_H_
    00015
    00016 #include <fbxsdk/fbxsdk_def.h>
    00017
    00018 #include <fbxsdk/fbxsdk_nsbegin.h>
    00019
    00020 class FbxClassIdInfo;
    00021 class FbxObject;
    00022 class FbxPropertyHandle;
    00023 class FbxManager;
    00024
    00026 typedef FbxObject* (*FbxObjectCreateProc)(FbxManager& pManager, const char* pName, const FbxObject* pFrom);
    00027
    00039 class FBXSDK_DLL FbxClassId
    00040 {
    00041 public:
    00043     FbxClassId();
    00044
    00051     FbxClassId(const char* pClassName, const FbxClassId& pParentClassId, FbxObjectCreateProc pConstructor=0, const char* pFBXType=NULL, const char* pFBXSubType=NULL);
    00052
    00054     void Destroy();
    00055
    00058     const char* GetName() const;
    00059
    00062     FbxClassId GetParent() const;
    00063
    00069     FbxObject* Create(FbxManager& pManager, const char* pName, const FbxObject* pFrom);
    00070
    00074     bool Override(FbxObjectCreateProc pConstructor);
    00075
    00080     bool Is(const FbxClassId& pId) const;
    00081
    00086     bool operator==(const FbxClassId& pClassId) const;
    00087
    00092     bool operator!=(const FbxClassId& pClassId) const;
    00093
    00097     const char* GetFbxFileTypeName(bool pAskParent=false) const;
    00098
    00102     const char* GetFbxFileSubTypeName() const;
    00103
    00106     inline bool IsValid() const { return mClassInfo ? true : false; }
    00107
    00112     void SetObjectTypePrefix(const char* pObjectTypePrefix);
    00113
    00116     const char* GetObjectTypePrefix();
    00117
    00121     FbxPropertyHandle* GetRootClassDefaultPropertyHandle();
    00122
    00125     int ClassInstanceIncRef();
    00126
    00129     int ClassInstanceDecRef();
    00130
    00133     int GetInstanceRef();
    00134
    00135 /*****************************************************************************************************************************
    00136 ** WARNING! Anything beyond these lines is for internal use, may not be documented and is subject to change without notice! **
    00137 *****************************************************************************************************************************/
    00138 #ifndef DOXYGEN_SHOULD_SKIP_THIS
    00139     inline FbxClassIdInfo* GetClassIdInfo() { return mClassInfo; }
    00140     inline const FbxClassIdInfo* GetClassIdInfo() const { return mClassInfo; }
    00141
    00142 private:
    00143     FbxClassId(FbxClassIdInfo* mClassInfo);
    00144
    00145     bool SetFbxFileTypeName(const char* pName);
    00146     bool SetFbxFileSubTypeName(const char* pName);
    00147
    00148     FbxClassIdInfo* mClassInfo;
    00149
    00150     friend class FbxManager;
    00151 #endif /* !DOXYGEN_SHOULD_SKIP_THIS *****************************************************************************************/
    00152 };
    00153
    00154 #include <fbxsdk/fbxsdk_nsend.h>
    00155
    00156 #endif /* _FBXSDK_CORE_CLASSID_H_ */