fbxsdk/core/fbxdatatypes.h Source File
 
 
 
fbxsdk/core/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_ */