Go to
the documentation of this file.
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00013 #ifndef _FBXSDK_COMPATIBILITY_H_
00014 #define _FBXSDK_COMPATIBILITY_H_
00015
00016 #include <fbxsdk/fbxsdk_def.h>
00017
00018 #include <fbxsdk/fbxsdk_nsbegin.h>
00019
00020 #pragma message("IMPORTANT NOTE: The FBX SDK API changed substantially. Please define FBXSDK_NEW_API in your project and fix compilation errors as instructed in fbxsdk_compatibility.h.")
00021
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039
00040
00041
00042
00043
00044
00045
00046
00047
00048
00049
00050
00051
00052
00053
00054
00055
00056
00057
00058
00059
00060
00061
00063
00064 #if defined(FBXSDK_ENV_WIN)
00065 #define KARCH_ENV_WIN 1
00066 #define KARCH_ENV_WIN32 1
00067 #elif defined(FBXSDK_ENV_MAC)
00068 #define KARCH_ENV_MACOSX 1
00069 #define KARCH_ENV_POSIX 1
00070 #elif defined(FBXSDK_ENV_LINUX)
00071 #define KARCH_ENV_LINUX 1
00072 #define KARCH_ENV_POSIX 1
00073 #endif
00074
00075 #if defined(FBXSDK_ARCH_32)
00076 #define KARCH_ARCH_IA32 1
00077 #elif defined(FBXSDK_ARCH_64)
00078 #define KARCH_ARCH_64 1
00079 #endif
00080
00081 #if defined(FBXSDK_COMPILER_MSC)
00082 #define KARCH_DEV_MSC _MSC_VER
00083 #elif defined(FBXSDK_COMPILER_GNU)
00084 #define KARCH_DEV_GNUC __GNUC__
00085 #endif
00086
00087 #define KFBX_DLL FBXSDK_DLL
00088 #define KFBX_DLLEXPORT FBXSDK_DLLEXPORT
00089 #define KFBX_DLLIMPORT FBXSDK_DLLIMPORT
00090
00091 #define KFBX_SAFE_DELETE(p) FBX_SAFE_DELETE(p)
00092 #define KFBX_SAFE_DELETE_ARRAY(p) FBX_SAFE_DELETE_ARRAY(p)
00093 #define KFBX_SAFE_DESTROY_OBJECT(p) FBX_SAFE_DESTROY(p)
00094
00095 #define K_ASSERT(c) FBX_ASSERT(c)
00096 #define K_ASSERT_MSG(c,m) FBX_ASSERT_MSG(c,m)
00097 #define K_ASSERT_MSG_NOW(m) FBX_ASSERT_NOW(m)
00098 #define K_CHECKRTN(c) FBX_ASSERT_RETURN(c)
00099 #define K_CHECKRTNV(c,v) FBX_ASSERT_RETURN_VALUE(c,v)
00100 #define K_STATIC_ASSERT(c) FBX_ASSERT_STATIC(c)
00101
00102 #define K_FLOAT_EPSILON FBXSDK_FLOAT_EPSILON
00103 #define K_DOUBLE_EPSILON FBXSDK_DOUBLE_EPSILON
00104
00105 #define KFBXOBJECT_DECLARE(c,p) FBXSDK_OBJECT_DECLARE(c,p)
00106 #define KFBXOBJECT_IMPLEMENT(c) FBXSDK_OBJECT_IMPLEMENT(c)
00107
00109
00110 typedef void* kPtr;
00111 typedef FbxBool kBool;
00112 typedef FbxChar kByte;
00113 typedef FbxUChar kUByte;
00114 typedef FbxShort kShort;
00115 typedef FbxUShort kUShort;
00116 typedef FbxInt kInt;
00117 typedef FbxUInt kUInt;
00118 typedef FbxLong kLong;
00119 typedef FbxULong kULong;
00120 typedef FbxLongLong kLongLong;
00121 typedef FbxULongLong kULongLong;
00122 typedef FbxFloat kFloat;
00123 typedef FbxDouble kDouble;
00124 typedef FbxHandle kReference;
00125 typedef FbxDouble3 fbxDouble3;
00126 typedef FbxInt16 kInt16;
00127 typedef FbxUInt16 kUInt16;
00128 typedef FbxInt32 kInt32;
00129 typedef FbxUInt32 kUInt32;
00130 typedef FbxInt64 kInt64;
00131 typedef FbxUInt64 kUInt64;
00132 typedef FbxCharPtr kTCharPtr;
00133
00134 typedef FbxModule kLibHandle;
00135
00136 typedef FbxPointerFreeGuard KFbxPointerFreeGuard;
00137 typedef FbxError KError;
00138 typedef FbxString KString;
00139 typedef FbxStringList KStringList;
00140 typedef FbxStringCompare KStringCompare;
00141 typedef FbxCharCompare KCharCompare;
00142 typedef FbxCharPtrSet KCharPtrSet;
00143 typedef FbxArray<FbxHandle> KArrayUL;
00144 typedef FbxFolder KDir;
00145 typedef FbxFile KFile;
00146 typedef FbxTime KTime;
00147 typedef FbxTimeSpan KTimeSpan;
00148 typedef FbxSet KSet;
00149 typedef FbxNameHandler KName;
00150 typedef FbxColor KFbxColor;
00151 typedef FbxVector2 KFbxVector2;
00152 typedef FbxVector4 KFbxVector4;
00153 typedef FbxMatrix KFbxMatrix;
00154 typedef FbxAMatrix KFbxXMatrix;
00155
00156 typedef FbxBlob fbxBlob;
00157 typedef FbxString fbxString;
00158 typedef FbxDateTime fbxDateTime;
00159
00160 typedef FbxClassId kFbxClassId;
00161 typedef FbxObject KFbxObject;
00162 typedef FbxCollection KFbxCollection;
00163 typedef FbxCollectionExclusive KFbxCollectionExclusive;
00164 typedef FbxDataType KFbxDataType;
00165 typedef FbxProperty KFbxProperty;
00166 typedef FbxManager KFbxSdkManager;
00167 typedef FbxNode KFbxNode;
00168 typedef FbxNodeAttribute KFbxNodeAttribute;
00169 typedef FbxCamera KFbxCamera;
00170 typedef FbxCameraSwitcher KFbxCameraSwitcher;
00171 typedef FbxCameraStereo KFbxCameraStereo;
00172 typedef FbxGeometry KFbxGeometry;
00173 typedef FbxGeometryBase KFbxGeometryBase;
00174 typedef FbxLayer KFbxLayer;
00175 typedef FbxLayerElement KFbxLayerElement;
00176 typedef FbxLayerElementArray KFbxLayerElementArray;
00177 typedef FbxLayerElementNormal KFbxLayerElementNormal;
00178 typedef FbxLayerElementMaterial KFbxLayerElementMaterial;
00179 typedef FbxLayerElementVisibility KFbxLayerElementVisibility;
00180 typedef FbxLayerElementVertexColor KFbxLayerElementVertexColor;
00181 typedef FbxLayerElementSmoothing KFbxLayerElementSmoothing;
00182 typedef FbxLayerElementUV KFbxLayerElementUV;
00183 typedef FbxLayerElementPolygonGroup KFbxLayerElementPolygonGroup;
00184 typedef FbxLayerElementTexture KFbxLayerElementTexture;
00185 typedef FbxMesh KFbxMesh;
00186 typedef FbxMarker KFbxMarker;
00187 typedef FbxSkeleton KFbxSkeleton;
00188 typedef FbxNull KFbxNull;
00189 typedef FbxOpticalReference KFbxOpticalReference;
00190 typedef FbxLight KFbxLight;
00191 typedef FbxLine KFbxLine;
00192 typedef FbxNurbs KFbxNurb;
00193 typedef FbxNurbsSurface KFbxNurbsSurface;
00194 typedef FbxNurbsCurve KFbxNurbsCurve;
00195 typedef FbxTrimNurbsSurface KFbxTrimNurbSurface;
00196 typedef FbxPatch KFbxPatch;
00197 typedef FbxTexture KFbxTexture;
00198 typedef FbxFileTexture KFbxFileTexture;
00199 typedef FbxLayeredTexture KFbxLayeredTexture;
00200 typedef FbxProceduralTexture KFbxProceduralTexture;
00201 typedef FbxSurfaceMaterial KFbxSurfaceMaterial;
00202 typedef FbxSurfaceLambert KFbxSurfaceLambert;
00203 typedef FbxSurfacePhong KFbxSurfacePhong;
00204 typedef FbxVideo KFbxVideo;
00205 typedef FbxCache KFbxCache;
00206 typedef FbxVertexCacheDeformer KFbxVertexCacheDeformer;
00207 typedef FbxDeformer KFbxDeformer;
00208 typedef FbxCluster KFbxCluster;
00209 typedef FbxSkin KFbxSkin;
00210 typedef FbxScene KFbxScene;
00211 typedef FbxDocument KFbxDocument;
00212 typedef FbxDocumentInfo KFbxDocumentInfo;
00213 typedef FbxAnimCurve KFbxAnimCurve;
00214 typedef FbxAnimCurveBase KFbxAnimCurveBase;
00215 typedef FbxAnimCurveKey KFbxAnimCurveKey;
00216 typedef FbxAnimCurveNode KFbxAnimCurveNode;
00217 typedef FbxAnimCurveDef KFbxAnimCurveDef;
00218 typedef FbxAnimStack KFbxAnimStack;
00219 typedef FbxAnimLayer KFbxAnimLayer;
00220 typedef FbxAnimEvaluator KFbxAnimEvaluator;
00221 typedef FbxSurfaceMaterial KFbxSurfaceMaterial;
00222 typedef FbxConstraint KFbxConstraint;
00223 typedef FbxConstraintAim KFbxConstraintAim;
00224 typedef FbxConstraintCustom KFbxConstraintCustom;
00225 typedef FbxConstraintParent KFbxConstraintParent;
00226 typedef FbxConstraintPosition KFbxConstraintPosition;
00227 typedef FbxConstraintRotation KFbxConstraintRotation;
00228 typedef FbxConstraintScale KFbxConstraintScale;
00229 typedef FbxConstraintSingleChainIK KFbxConstraintSingleChainIK;
00230 typedef FbxCharacter KFbxCharacter;
00231 typedef FbxCharacterLink KFbxCharacterLink;
00232 typedef FbxCharacterPose KFbxCharacterPose;
00233 typedef FbxControlSet KFbxControlSet;
00234 typedef FbxControlSetPlug KFbxControlSetPlug;
00235 typedef FbxControlSetLink KFbxControlSetLink;
00236 typedef FbxEffector KFbxEffector;
00237 typedef FbxPose KFbxPose;
00238 typedef FbxShape KFbxShape;
00239 typedef FbxBlendShape KFbxBlendShape;
00240 typedef FbxBlendShapeChannel KFbxBlendShapeChannel;
00241 typedef FbxImporter KFbxImporter;
00242 typedef FbxExporter KFbxExporter;
00243 typedef FbxIOSettings KFbxIOSettings;
00244 typedef FbxGlobalSettings KFbxGlobalSettings;
00245 typedef FbxGlobalCameraSettings KFbxGlobalCameraSettings;
00246 typedef FbxGlobalLightSettings KFbxGlobalLightSettings;
00247 typedef FbxGlobalTimeSettings KFbxGlobalTimeSettings;
00248 typedef FbxTakeInfo KFbxTakeInfo;
00249 typedef FbxTakeLayerInfo KLayerInfo;
00250 typedef FbxThumbnail KFbxThumbnail;
00251 typedef FbxPlugin KFbxPlugin;
00252 typedef FbxAxisSystem KFbxAxisSystem;
00253 typedef FbxSystemUnit KFbxSystemUnit;
00254 typedef FbxStatistics KFbxStatistics;
00255 typedef FbxStatisticsFbx KFbxStatisticsFbx;
00256
00257 typedef EFbxRotationOrder ERotationOrder;
00258 typedef EFbxQuatInterpMode EQuaternionInterpolation;
00259
00260 typedef FbxIOFileHeaderInfo KFbxFileHeaderInfo;
00261
00262
00263 #define eBYTE1 eFbxChar
00264 #define eUBYTE1 eFbxUChar
00265 #define eSHORT1 eFbxShort
00266 #define eUSHORT1 eFbxUShort
00267 #define eUINTEGER1 eFbxUInt
00268 #define eLONGLONG1 eFbxLongLong
00269 #define eULONGLONG1 eFbxULongLong
00270 #define eHALFFLOAT eFbxHalfFloat
00271 #define eBOOL1 eFbxBool
00272 #define eINTEGER1 eFbxInt
00273 #define eFLOAT1 eFbxFloat
00274 #define eDOUBLE1 eFbxDouble
00275 #define eDOUBLE2 eFbxDouble2
00276 #define eDOUBLE3 eFbxDouble3
00277 #define eDOUBLE4 eFbxDouble4
00278 #define eDOUBLE44 eFbxDouble4x4
00279 #define eENUM eFbxEnum
00280 #define eSTRING eFbxString
00281 #define eTIME eFbxTime
00282 #define eREFERENCE eFbxReference
00283 #define eBLOB eFbxBlob
00284 #define eDISTANCE eFbxDistance
00285 #define eDATETIME eFbxDateTime
00286 #define eMAX_TYPES eFbxTypeCount
00287
00288 #define eEULER_XYZ eEulerXYZ
00289 #define eEULER_XZY eEulerXZY
00290 #define eEULER_YZX eEulerYZX
00291 #define eEULER_YXZ eEulerYXZ
00292 #define eEULER_ZXY eEulerZXY
00293 #define eEULER_ZYX eEulerZYX
00294 #define eSPHERIC_XYZ eSphericXYZ
00295
00296 #define eINHERIT_RrSs FbxTransform::eInheritRrSs
00297 #define eINHERIT_RSrs FbxTransform::eInheritRSrs
00298 #define eINHERIT_Rrs FbxTransform::eInheritRrs
00299
00300 #define eQUATINTERP_OFF eQuatInterpOff
00301 #define eQUATINTERP_CLASSIC eQuatInterpClassic
00302 #define eQUATINTERP_SLERP eQuatInterpSlerp
00303 #define eQUATINTERP_CUBIC eQuatInterpCubic
00304 #define eQUATINTERP_TANGENTDEPENDENT eQuatInterpTangentDependent
00305 #define eQUATINTERP_NBMODES eQuatInterpCount
00306
00307 #define DTNone FbxUndefinedDT
00308 #define DTBool FbxBoolDT
00309 #define DTInteger FbxIntDT
00310 #define DTLongLong FbxLongLongDT
00311 #define DTULongLong FbxULongLongDT
00312 #define DTFloat FbxFloatDT
00313 #define DTDouble FbxDoubleDT
00314 #define DTEnum FbxEnumDT
00315 #define DTString FbxStringDT
00316 #define DTStringList FbxStringListDT
00317 #define DTCharPtr FbxCharPtrDT
00318 #define DTTime FbxTimeDT
00319 #define DTTimeCode FbxTimeCodeDT
00320 #define DTCompound FbxCompoundDT
00321 #define DTAction FbxActionDT
00322 #define DTEvent FbxEventDT
00323 #define DTReferenceObject FbxReferenceObjectDT
00324 #define DTReferenceProperty FbxReferencePropertyDT
00325 #define DTColor3 FbxColor3DT
00326 #define DTColor4 FbxColor4DT
00327 #define DTReal FbxRealDT
00328 #define DTDouble2 FbxDouble2DT
00329 #define DTLocalTranslation FbxLocalTranslationDT
00330 #define DTLocalRotation FbxLocalRotationDT
00331 #define DTLocalScaling FbxLocalScalingDT
00332 #define DTTranslation FbxTranslationDT
00333 #define DTRotation FbxRotationDT
00334 #define DTScaling FbxScalingDT
00335 #define DTVector3D FbxDouble3DT
00336 #define DTDouble3 FbxDouble3DT
00337 #define DTQuaternion FbxQuaternionDT
00338 #define DTLocalQuaternion FbxLocalQuaternionDT
00339 #define DTVisibility FbxVisibilityDT
00340 #define DTVector4D FbxDouble4DT
00341 #define DTDouble4 FbxDouble4DT
00342 #define DTIntensity FbxIntensityDT
00343 #define DTConeAngle FbxConeAngleDT
00344 #define DTFog FbxFogDT
00345 #define DTShape FbxShapeDT
00346 #define DTFieldOfView FbxFieldOfViewDT
00347 #define DTFieldOfViewX FbxFieldOfViewXDT
00348 #define DTFieldOfViewY FbxFieldOfViewYDT
00349 #define DTOpticalCenterX FbxOpticalCenterXDT
00350 #define DTOpticalCenterY FbxOpticalCenterYDT
00351 #define DTRoll FbxRollDT
00352 #define DTCameraIndex FbxCameraIndexDT
00353 #define DTTimeWarp FbxTimeWarpDT
00354 #define DTTranslationUV FbxTranslationUVDT
00355 #define DTScalingUV FbxScalingUVDT
00356 #define DTOrientation FbxOrientationDT
00357 #define DTLookAt FbxLookAtDT
00358 #define DTOcclusion FbxOcclusionDT
00359 #define DTWeight FbxWeightDT
00360 #define DTIKReachTranslation FbxIKReachTranslationDT
00361 #define DTIKReachRotation FbxIKReachRotationDT
00362 #define DTTextureRotation FbxTextureRotationDT
00363 #define DTHSB FbxHSBDT
00364 #define DTTranslationMatrix FbxTranslationMatrixDT
00365 #define DTScalingMatrix FbxScalingMatrixDT
00366 #define DTRotationMatrix FbxRotationMatrixDT
00367 #define DTTransformMatrix FbxTransformMatrixDT
00368 #define DTBlob FbxBlobDT
00369
00370 FBX_DEPRECATED inline void KFbxUTF8ToWidechar(const char* pInUTF8, wchar_t*& pOutWideChar) { FbxUTF8ToWC(pInUTF8, pOutWideChar); }
00371 FBX_DEPRECATED inline void KFbxWideCharToUTF8(const wchar_t* pInWideChar, char*& pOutUTF8) { FbxWCToUTF8(pInWideChar, pOutUTF8); }
00372 FBX_DEPRECATED inline void RemoveChar(FbxString& pString, char pToRemove){ FbxRemoveChar(pString, pToRemove); }
00373 #if defined(FBXSDK_ENV_WIN)
00374 FBX_DEPRECATED inline void KFbxWideCharToAnsi(const wchar_t* pInWideChar, char*& pOutANSI){ FbxWCToAnsi(pInWideChar, pOutANSI); }
00375 FBX_DEPRECATED inline void KFbxAnsiToWideChar(const char* pInANSI, wchar_t*& pOutWideChar){ FbxAnsiToWC(pInANSI, pOutWideChar); }
00376 FBX_DEPRECATED inline void KFbxAnsiToUTF8(const char* pInANSI, char*& pOutUTF8){ FbxAnsiToUTF8(pInANSI, pOutUTF8); }
00377 FBX_DEPRECATED inline void KFbxUTF8ToAnsi(const char* pInUTF8, char*& pOutANSI){ FbxUTF8ToAnsi(pInUTF8, pOutANSI); }
00378 #endif
00379
00380 FBX_DEPRECATED inline void KRegisterAssertStubFct(FbxAssertProc pAssertProc){ FbxAssertSetProc(pAssertProc); }
00381 FBX_DEPRECATED inline KString kGetTempPath(){ return FbxGetSystemTempPath(); }
00382 FBX_DEPRECATED inline KString KFbxExtractFileName(const char* pFileName, bool pWithExtension){ return FbxPathUtils::GetFileName(pFileName, pWithExtension); }
00383 FBX_DEPRECATED inline KString KFbxCleanPath(const char* pFilePath){ return FbxPathUtils::Clean(pFilePath); }
00384 FBX_DEPRECATED inline KString KFbxExtractFileExtension(const char* pFilePath){ return FbxPathUtils::GetExtensionName(pFilePath); }
00385 FBX_DEPRECATED inline KString KFbxExtractDirectory(const char* pFilePath){ return FbxPathUtils::GetFolderName(pFilePath); }
00386 FBX_DEPRECATED inline void KTime_SetGlobalTimeMode(KTime::EMode pTimeMode, double pFrameRate=0.0){ FbxSetGlobalTimeMode(pTimeMode, pFrameRate); }
00387 FBX_DEPRECATED inline double KTime_GetFrameRate(KTime::EMode pTimeMode){ return FbxGetFrameRate(pTimeMode); }
00388 FBX_DEPRECATED inline kLibHandle KLibraryGetProc(kLibHandle pLibHandle, const char* pProcName){ return FbxModuleGetProc(pLibHandle, pProcName); }
00389
00390 #include <fbxsdk/fbxsdk_nsend.h>
00391
00392 #endif