fbxdatatypes.h

Go to the documentation of this file.
00001 /****************************************************************************************
00002  
00003    Copyright (C) 2012 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/base/fbxstring.h>
00019 #include <fbxsdk/core/math/fbxvector4.h>
00020 #include <fbxsdk/core/fbxpropertytypes.h>
00021 #include <fbxsdk/core/fbxpropertyhandle.h>
00022 
00023 #include <fbxsdk/fbxsdk_nsbegin.h>
00024 
00025 class FbxManager;
00026 
00030 class FBXSDK_DLL FbxDataType
00031 {
00032 public:
00033     static FbxDataType Create(const char* pName, const EFbxType pType);
00034     static FbxDataType Create(const char* pName, const FbxDataType& pDataType);
00035 
00040 
00041         FbxDataType();
00042 
00046         FbxDataType(const FbxDataType& pDataType);
00047 
00049         void Destroy();
00050 
00054         FbxDataType(const FbxTypeInfoHandle& pTypeInfoHandle);
00055 
00057         ~FbxDataType();
00059 
00064     inline FbxDataType& operator=(const FbxDataType& pDataType){ mTypeInfoHandle=pDataType.mTypeInfoHandle; return *this; }
00065 
00074         inline bool operator==(const FbxDataType& pDataType) const { return mTypeInfoHandle==pDataType.mTypeInfoHandle; }
00075 
00080         inline bool operator!=(const FbxDataType& pDataType) const { return mTypeInfoHandle!=pDataType.mTypeInfoHandle; }
00082 
00086     inline bool Valid() const { return mTypeInfoHandle.Valid(); }
00087 
00092     inline bool Is(const FbxDataType& pDataType) const { return mTypeInfoHandle.Is(pDataType.mTypeInfoHandle); }
00093 
00097     EFbxType GetType() const;
00098 
00102     const char* GetName() const;
00103 
00107     inline const FbxTypeInfoHandle& GetTypeInfoHandle() const { return mTypeInfoHandle; }
00108 
00109 private:
00110     FbxTypeInfoHandle mTypeInfoHandle;
00111     friend class FbxManager;
00112 };
00113 
00118 FBXSDK_DLL const FbxDataType& FbxGetDataTypeFromEnum(const EFbxType pType);
00119 
00126 FBXSDK_DLL const char* FbxGetDataTypeNameForIO(const FbxDataType& pDataType);
00127 
00129 
00130     extern FBXSDK_DLL FbxDataType FbxUndefinedDT;
00131     extern FBXSDK_DLL FbxDataType FbxBoolDT;
00132     extern FBXSDK_DLL FbxDataType FbxCharDT;
00133     extern FBXSDK_DLL FbxDataType FbxUCharDT;
00134     extern FBXSDK_DLL FbxDataType FbxShortDT;
00135     extern FBXSDK_DLL FbxDataType FbxUShortDT;
00136     extern FBXSDK_DLL FbxDataType FbxIntDT;
00137     extern FBXSDK_DLL FbxDataType FbxUIntDT;
00138     extern FBXSDK_DLL FbxDataType FbxLongLongDT;
00139     extern FBXSDK_DLL FbxDataType FbxULongLongDT;
00140     extern FBXSDK_DLL FbxDataType FbxFloatDT;
00141     extern FBXSDK_DLL FbxDataType FbxHalfFloatDT;
00142     extern FBXSDK_DLL FbxDataType FbxDoubleDT;
00143     extern FBXSDK_DLL FbxDataType FbxDouble2DT;
00144     extern FBXSDK_DLL FbxDataType FbxDouble3DT;
00145     extern FBXSDK_DLL FbxDataType FbxDouble4DT;
00146     extern FBXSDK_DLL FbxDataType FbxDouble4x4DT;
00147     extern FBXSDK_DLL FbxDataType FbxEnumDT;
00148     extern FBXSDK_DLL FbxDataType FbxStringDT;
00149     extern FBXSDK_DLL FbxDataType FbxTimeDT;
00150     extern FBXSDK_DLL FbxDataType FbxReferenceDT;
00151     extern FBXSDK_DLL FbxDataType FbxBlobDT;
00152     extern FBXSDK_DLL FbxDataType FbxDistanceDT;
00153     extern FBXSDK_DLL FbxDataType FbxDateTimeDT;
00155 
00157 
00158     extern FBXSDK_DLL FbxDataType FbxColor3DT;
00159     extern FBXSDK_DLL FbxDataType FbxColor4DT;
00160     extern FBXSDK_DLL FbxDataType FbxCompoundDT;
00161     extern FBXSDK_DLL FbxDataType FbxReferenceObjectDT;
00162     extern FBXSDK_DLL FbxDataType FbxReferencePropertyDT;
00163     extern FBXSDK_DLL FbxDataType FbxVisibilityDT;
00164     extern FBXSDK_DLL FbxDataType FbxVisibilityInheritanceDT;
00165     extern FBXSDK_DLL FbxDataType FbxUrlDT;
00166     extern FBXSDK_DLL FbxDataType FbxXRefUrlDT;
00168 
00170 
00171     extern FBXSDK_DLL FbxDataType FbxTranslationDT;
00172     extern FBXSDK_DLL FbxDataType FbxRotationDT;
00173     extern FBXSDK_DLL FbxDataType FbxScalingDT;
00174     extern FBXSDK_DLL FbxDataType FbxQuaternionDT;
00175     extern FBXSDK_DLL FbxDataType FbxLocalTranslationDT;
00176     extern FBXSDK_DLL FbxDataType FbxLocalRotationDT;
00177     extern FBXSDK_DLL FbxDataType FbxLocalScalingDT;
00178     extern FBXSDK_DLL FbxDataType FbxLocalQuaternionDT;
00179     extern FBXSDK_DLL FbxDataType FbxTransformMatrixDT;
00180     extern FBXSDK_DLL FbxDataType FbxTranslationMatrixDT;
00181     extern FBXSDK_DLL FbxDataType FbxRotationMatrixDT;
00182     extern FBXSDK_DLL FbxDataType FbxScalingMatrixDT;
00184 
00186 
00187     extern FBXSDK_DLL FbxDataType FbxMaterialEmissiveDT;
00188     extern FBXSDK_DLL FbxDataType FbxMaterialEmissiveFactorDT;
00189     extern FBXSDK_DLL FbxDataType FbxMaterialAmbientDT;
00190     extern FBXSDK_DLL FbxDataType FbxMaterialAmbientFactorDT;
00191     extern FBXSDK_DLL FbxDataType FbxMaterialDiffuseDT;
00192     extern FBXSDK_DLL FbxDataType FbxMaterialDiffuseFactorDT;
00193     extern FBXSDK_DLL FbxDataType FbxMaterialBumpDT;
00194     extern FBXSDK_DLL FbxDataType FbxMaterialNormalMapDT;
00195     extern FBXSDK_DLL FbxDataType FbxMaterialTransparentColorDT;
00196     extern FBXSDK_DLL FbxDataType FbxMaterialTransparencyFactorDT;
00197     extern FBXSDK_DLL FbxDataType FbxMaterialSpecularDT;
00198     extern FBXSDK_DLL FbxDataType FbxMaterialSpecularFactorDT;
00199     extern FBXSDK_DLL FbxDataType FbxMaterialShininessDT;
00200     extern FBXSDK_DLL FbxDataType FbxMaterialReflectionDT;
00201     extern FBXSDK_DLL FbxDataType FbxMaterialReflectionFactorDT;
00202     extern FBXSDK_DLL FbxDataType FbxMaterialDisplacementDT;
00203     extern FBXSDK_DLL FbxDataType FbxMaterialVectorDisplacementDT;
00204     extern FBXSDK_DLL FbxDataType FbxMaterialCommonFactorDT;
00205     extern FBXSDK_DLL FbxDataType FbxMaterialCommonTextureDT;
00207 
00209 
00210     extern FBXSDK_DLL FbxDataType FbxLayerElementUndefinedDT;
00211     extern FBXSDK_DLL FbxDataType FbxLayerElementNormalDT;
00212     extern FBXSDK_DLL FbxDataType FbxLayerElementBinormalDT;
00213     extern FBXSDK_DLL FbxDataType FbxLayerElementTangentDT;
00214     extern FBXSDK_DLL FbxDataType FbxLayerElementMaterialDT;
00215     extern FBXSDK_DLL FbxDataType FbxLayerElementTextureDT;
00216     extern FBXSDK_DLL FbxDataType FbxLayerElementPolygonGroupDT;
00217     extern FBXSDK_DLL FbxDataType FbxLayerElementUVDT;
00218     extern FBXSDK_DLL FbxDataType FbxLayerElementVertexColorDT;
00219     extern FBXSDK_DLL FbxDataType FbxLayerElementSmoothingDT;
00220     extern FBXSDK_DLL FbxDataType FbxLayerElementCreaseDT;
00221     extern FBXSDK_DLL FbxDataType FbxLayerElementHoleDT;
00222     extern FBXSDK_DLL FbxDataType FbxLayerElementUserDataDT;
00223     extern FBXSDK_DLL FbxDataType FbxLayerElementVisibilityDT;
00225 
00227 
00228     extern FBXSDK_DLL FbxDataType FbxAliasDT;
00229     extern FBXSDK_DLL FbxDataType FbxPresetsDT;
00230     extern FBXSDK_DLL FbxDataType FbxStatisticsDT;
00231     extern FBXSDK_DLL FbxDataType FbxTextLineDT;
00232     extern FBXSDK_DLL FbxDataType FbxUnitsDT;
00233     extern FBXSDK_DLL FbxDataType FbxWarningDT;
00234     extern FBXSDK_DLL FbxDataType FbxWebDT;
00236 
00238 
00239     extern FBXSDK_DLL FbxDataType FbxActionDT;
00240     extern FBXSDK_DLL FbxDataType FbxCameraIndexDT;
00241     extern FBXSDK_DLL FbxDataType FbxCharPtrDT;
00242     extern FBXSDK_DLL FbxDataType FbxConeAngleDT;
00243     extern FBXSDK_DLL FbxDataType FbxEventDT;
00244     extern FBXSDK_DLL FbxDataType FbxFieldOfViewDT;
00245     extern FBXSDK_DLL FbxDataType FbxFieldOfViewXDT;
00246     extern FBXSDK_DLL FbxDataType FbxFieldOfViewYDT;
00247     extern FBXSDK_DLL FbxDataType FbxFogDT;
00248     extern FBXSDK_DLL FbxDataType FbxHSBDT;
00249     extern FBXSDK_DLL FbxDataType FbxIKReachTranslationDT;
00250     extern FBXSDK_DLL FbxDataType FbxIKReachRotationDT;
00251     extern FBXSDK_DLL FbxDataType FbxIntensityDT;
00252     extern FBXSDK_DLL FbxDataType FbxLookAtDT;
00253     extern FBXSDK_DLL FbxDataType FbxOcclusionDT;
00254     extern FBXSDK_DLL FbxDataType FbxOpticalCenterXDT;
00255     extern FBXSDK_DLL FbxDataType FbxOpticalCenterYDT;
00256     extern FBXSDK_DLL FbxDataType FbxOrientationDT;
00257     extern FBXSDK_DLL FbxDataType FbxRealDT;
00258     extern FBXSDK_DLL FbxDataType FbxRollDT;
00259     extern FBXSDK_DLL FbxDataType FbxScalingUVDT;
00260     extern FBXSDK_DLL FbxDataType FbxShapeDT;
00261     extern FBXSDK_DLL FbxDataType FbxStringListDT;
00262     extern FBXSDK_DLL FbxDataType FbxTextureRotationDT;
00263     extern FBXSDK_DLL FbxDataType FbxTimeCodeDT;
00264     extern FBXSDK_DLL FbxDataType FbxTimeWarpDT;
00265     extern FBXSDK_DLL FbxDataType FbxTranslationUVDT;
00266     extern FBXSDK_DLL FbxDataType FbxWeightDT;
00268 
00269 #include <fbxsdk/fbxsdk_nsend.h>
00270 
00271 #endif /* _FBXSDK_CORE_DATA_TYPES_H_ */