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_ */