fbxdatatypes.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_DATA_TYPES_H_
00014 #define _FBXSDK_CORE_DATA_TYPES_H_
00015 
00016 #include <fbxsdk/fbxsdk_def.h>
00017 
00018 #include <fbxsdk/core/fbxpropertytypes.h>
00019 #include <fbxsdk/core/fbxpropertyhandle.h>
00020 
00021 #include <fbxsdk/fbxsdk_nsbegin.h>
00022 
00026 class FBXSDK_DLL FbxDataType
00027 {
00028 public:
00029     static FbxDataType Create(const char* pName, const EFbxType pType);
00030     static FbxDataType Create(const char* pName, const FbxDataType& pDataType);
00031 
00036 
00037         FbxDataType();
00038 
00042         FbxDataType(const FbxDataType& pDataType);
00043 
00045         void Destroy();
00046 
00050         FbxDataType(const FbxPropertyHandle& pTypeInfoHandle);
00051 
00053         ~FbxDataType();
00055 
00060     inline FbxDataType& operator=(const FbxDataType& pDataType){ mTypeInfoHandle=pDataType.mTypeInfoHandle; return *this; }
00061 
00070         inline bool operator==(const FbxDataType& pDataType) const { return mTypeInfoHandle==pDataType.mTypeInfoHandle; }
00071 
00076         inline bool operator!=(const FbxDataType& pDataType) const { return mTypeInfoHandle!=pDataType.mTypeInfoHandle; }
00078 
00082     inline bool Valid() const { return mTypeInfoHandle.Valid(); }
00083 
00088     inline bool Is(const FbxDataType& pDataType) const { return mTypeInfoHandle.Is(pDataType.mTypeInfoHandle); }
00089 
00093     EFbxType GetType() const;
00094 
00098     const char* GetName() const;
00099 
00103     inline const FbxPropertyHandle& GetTypeInfoHandle() const { return mTypeInfoHandle; }
00104 
00105 private:
00106     FbxPropertyHandle mTypeInfoHandle;
00107     friend class FbxManager;
00108 };
00109 
00114 FBXSDK_DLL const FbxDataType& FbxGetDataTypeFromEnum(const EFbxType pType);
00115 
00122 FBXSDK_DLL const char* FbxGetDataTypeNameForIO(const FbxDataType& pDataType);
00123 
00125 
00126     extern FBXSDK_DLL FbxDataType FbxUndefinedDT;
00127     extern FBXSDK_DLL FbxDataType FbxBoolDT;
00128     extern FBXSDK_DLL FbxDataType FbxCharDT;
00129     extern FBXSDK_DLL FbxDataType FbxUCharDT;
00130     extern FBXSDK_DLL FbxDataType FbxShortDT;
00131     extern FBXSDK_DLL FbxDataType FbxUShortDT;
00132     extern FBXSDK_DLL FbxDataType FbxIntDT;
00133     extern FBXSDK_DLL FbxDataType FbxUIntDT;
00134     extern FBXSDK_DLL FbxDataType FbxLongLongDT;
00135     extern FBXSDK_DLL FbxDataType FbxULongLongDT;
00136     extern FBXSDK_DLL FbxDataType FbxFloatDT;
00137     extern FBXSDK_DLL FbxDataType FbxHalfFloatDT;
00138     extern FBXSDK_DLL FbxDataType FbxDoubleDT;
00139     extern FBXSDK_DLL FbxDataType FbxDouble2DT;
00140     extern FBXSDK_DLL FbxDataType FbxDouble3DT;
00141     extern FBXSDK_DLL FbxDataType FbxDouble4DT;
00142     extern FBXSDK_DLL FbxDataType FbxDouble4x4DT;
00143     extern FBXSDK_DLL FbxDataType FbxEnumDT;
00144     extern FBXSDK_DLL FbxDataType FbxStringDT;
00145     extern FBXSDK_DLL FbxDataType FbxTimeDT;
00146     extern FBXSDK_DLL FbxDataType FbxReferenceDT;
00147     extern FBXSDK_DLL FbxDataType FbxBlobDT;
00148     extern FBXSDK_DLL FbxDataType FbxDistanceDT;
00149     extern FBXSDK_DLL FbxDataType FbxDateTimeDT;
00151 
00153 
00154     extern FBXSDK_DLL FbxDataType FbxColor3DT;
00155     extern FBXSDK_DLL FbxDataType FbxColor4DT;
00156     extern FBXSDK_DLL FbxDataType FbxCompoundDT;
00157     extern FBXSDK_DLL FbxDataType FbxReferenceObjectDT;
00158     extern FBXSDK_DLL FbxDataType FbxReferencePropertyDT;
00159     extern FBXSDK_DLL FbxDataType FbxVisibilityDT;
00160     extern FBXSDK_DLL FbxDataType FbxVisibilityInheritanceDT;
00161     extern FBXSDK_DLL FbxDataType FbxUrlDT;
00162     extern FBXSDK_DLL FbxDataType FbxXRefUrlDT;
00164 
00166 
00167     extern FBXSDK_DLL FbxDataType FbxTranslationDT;
00168     extern FBXSDK_DLL FbxDataType FbxRotationDT;
00169     extern FBXSDK_DLL FbxDataType FbxScalingDT;
00170     extern FBXSDK_DLL FbxDataType FbxQuaternionDT;
00171     extern FBXSDK_DLL FbxDataType FbxLocalTranslationDT;
00172     extern FBXSDK_DLL FbxDataType FbxLocalRotationDT;
00173     extern FBXSDK_DLL FbxDataType FbxLocalScalingDT;
00174     extern FBXSDK_DLL FbxDataType FbxLocalQuaternionDT;
00175     extern FBXSDK_DLL FbxDataType FbxTransformMatrixDT;
00176     extern FBXSDK_DLL FbxDataType FbxTranslationMatrixDT;
00177     extern FBXSDK_DLL FbxDataType FbxRotationMatrixDT;
00178     extern FBXSDK_DLL FbxDataType FbxScalingMatrixDT;
00180 
00182 
00183     extern FBXSDK_DLL FbxDataType FbxMaterialEmissiveDT;
00184     extern FBXSDK_DLL FbxDataType FbxMaterialEmissiveFactorDT;
00185     extern FBXSDK_DLL FbxDataType FbxMaterialAmbientDT;
00186     extern FBXSDK_DLL FbxDataType FbxMaterialAmbientFactorDT;
00187     extern FBXSDK_DLL FbxDataType FbxMaterialDiffuseDT;
00188     extern FBXSDK_DLL FbxDataType FbxMaterialDiffuseFactorDT;
00189     extern FBXSDK_DLL FbxDataType FbxMaterialBumpDT;
00190     extern FBXSDK_DLL FbxDataType FbxMaterialNormalMapDT;
00191     extern FBXSDK_DLL FbxDataType FbxMaterialTransparentColorDT;
00192     extern FBXSDK_DLL FbxDataType FbxMaterialTransparencyFactorDT;
00193     extern FBXSDK_DLL FbxDataType FbxMaterialSpecularDT;
00194     extern FBXSDK_DLL FbxDataType FbxMaterialSpecularFactorDT;
00195     extern FBXSDK_DLL FbxDataType FbxMaterialShininessDT;
00196     extern FBXSDK_DLL FbxDataType FbxMaterialReflectionDT;
00197     extern FBXSDK_DLL FbxDataType FbxMaterialReflectionFactorDT;
00198     extern FBXSDK_DLL FbxDataType FbxMaterialDisplacementDT;
00199     extern FBXSDK_DLL FbxDataType FbxMaterialVectorDisplacementDT;
00200     extern FBXSDK_DLL FbxDataType FbxMaterialCommonFactorDT;
00201     extern FBXSDK_DLL FbxDataType FbxMaterialCommonTextureDT;
00203 
00205 
00206     extern FBXSDK_DLL FbxDataType FbxLayerElementUndefinedDT;
00207     extern FBXSDK_DLL FbxDataType FbxLayerElementNormalDT;
00208     extern FBXSDK_DLL FbxDataType FbxLayerElementBinormalDT;
00209     extern FBXSDK_DLL FbxDataType FbxLayerElementTangentDT;
00210     extern FBXSDK_DLL FbxDataType FbxLayerElementMaterialDT;
00211     extern FBXSDK_DLL FbxDataType FbxLayerElementTextureDT;
00212     extern FBXSDK_DLL FbxDataType FbxLayerElementPolygonGroupDT;
00213     extern FBXSDK_DLL FbxDataType FbxLayerElementUVDT;
00214     extern FBXSDK_DLL FbxDataType FbxLayerElementVertexColorDT;
00215     extern FBXSDK_DLL FbxDataType FbxLayerElementSmoothingDT;
00216     extern FBXSDK_DLL FbxDataType FbxLayerElementCreaseDT;
00217     extern FBXSDK_DLL FbxDataType FbxLayerElementHoleDT;
00218     extern FBXSDK_DLL FbxDataType FbxLayerElementUserDataDT;
00219     extern FBXSDK_DLL FbxDataType FbxLayerElementVisibilityDT;
00221 
00223 
00224     extern FBXSDK_DLL FbxDataType FbxAliasDT;
00225     extern FBXSDK_DLL FbxDataType FbxPresetsDT;
00226     extern FBXSDK_DLL FbxDataType FbxStatisticsDT;
00227     extern FBXSDK_DLL FbxDataType FbxTextLineDT;
00228     extern FBXSDK_DLL FbxDataType FbxUnitsDT;
00229     extern FBXSDK_DLL FbxDataType FbxWarningDT;
00230     extern FBXSDK_DLL FbxDataType FbxWebDT;
00232 
00234 
00235     extern FBXSDK_DLL FbxDataType FbxActionDT;
00236     extern FBXSDK_DLL FbxDataType FbxCameraIndexDT;
00237     extern FBXSDK_DLL FbxDataType FbxCharPtrDT;
00238     extern FBXSDK_DLL FbxDataType FbxConeAngleDT;
00239     extern FBXSDK_DLL FbxDataType FbxEventDT;
00240     extern FBXSDK_DLL FbxDataType FbxFieldOfViewDT;
00241     extern FBXSDK_DLL FbxDataType FbxFieldOfViewXDT;
00242     extern FBXSDK_DLL FbxDataType FbxFieldOfViewYDT;
00243     extern FBXSDK_DLL FbxDataType FbxFogDT;
00244     extern FBXSDK_DLL FbxDataType FbxHSBDT;
00245     extern FBXSDK_DLL FbxDataType FbxIKReachTranslationDT;
00246     extern FBXSDK_DLL FbxDataType FbxIKReachRotationDT;
00247     extern FBXSDK_DLL FbxDataType FbxIntensityDT;
00248     extern FBXSDK_DLL FbxDataType FbxLookAtDT;
00249     extern FBXSDK_DLL FbxDataType FbxOcclusionDT;
00250     extern FBXSDK_DLL FbxDataType FbxOpticalCenterXDT;
00251     extern FBXSDK_DLL FbxDataType FbxOpticalCenterYDT;
00252     extern FBXSDK_DLL FbxDataType FbxOrientationDT;
00253     extern FBXSDK_DLL FbxDataType FbxRealDT;
00254     extern FBXSDK_DLL FbxDataType FbxRollDT;
00255     extern FBXSDK_DLL FbxDataType FbxScalingUVDT;
00256     extern FBXSDK_DLL FbxDataType FbxShapeDT;
00257     extern FBXSDK_DLL FbxDataType FbxStringListDT;
00258     extern FBXSDK_DLL FbxDataType FbxTextureRotationDT;
00259     extern FBXSDK_DLL FbxDataType FbxTimeCodeDT;
00260     extern FBXSDK_DLL FbxDataType FbxTimeWarpDT;
00261     extern FBXSDK_DLL FbxDataType FbxTranslationUVDT;
00262     extern FBXSDK_DLL FbxDataType FbxWeightDT;
00264 
00265 #include <fbxsdk/fbxsdk_nsend.h>
00266 
00267 #endif /* _FBXSDK_CORE_DATA_TYPES_H_ */