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