Go to the
documentation of this file.
00001
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038 #ifndef FBXFILESDK_FBXFILESDK_DEF_H
00039 #define FBXFILESDK_FBXFILESDK_DEF_H
00040
00041 #include <stdlib.h>
00042 #include <stdio.h>
00043 #include <string.h>
00044 #include <ctype.h>
00045
00047
00048 #include <fbxfilesdk/fbxfilesdk_version.h>
00049
00050 #define FBXFILESDK_NAMESPACE_USE
00051
00052 #ifndef FBXFILESDK_NAMESPACE
00053 #ifdef FBXFILESDK_NAMESPACE_USE
00054 #define FBXFILESDK_NAMESPACE FBXSDK_NAMESPACE
00055 #else
00056 #define FBXFILESDK_NAMESPACE
00057 #endif
00058 #endif
00059
00061
00062 #include <fbxfilesdk/components/kbaselib/karch/arch.h>
00063 #include <fbxfilesdk/components/kbaselib/karch/types.h>
00064
00066
00067 #if defined(FBXSDK_SHARED) && defined(KARCH_ENV_WIN)
00068 #define KFBX_DLLIMPORT __declspec(dllimport)
00069 #define KFBX_DLLEXPORT __declspec(dllexport)
00070 #else
00071 #define KFBX_DLLIMPORT
00072 #define KFBX_DLLEXPORT
00073 #endif
00074
00075 #ifndef NULL
00076 #if defined __GNUG__ && (__GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 8))
00077 #define NULL (__null)
00078 #else
00079 #ifdef __cplusplus
00080 #define NULL 0
00081 #else
00082 #define NULL ((void *)0)
00083 #endif
00084 #endif
00085 #endif
00086
00087 #if !defined(_MAX_PATH)
00088 #define _MAX_PATH 1024
00089 #endif
00090
00091 #define KFBX_FORWARD( ClassName ) class ClassName; typedef ClassName *H##ClassName;
00092 #define KFBX_FORWARD_HI( ClassName ) class ClassName; typedef ClassName *H##ClassName; typedef H##ClassName HI##ClassName;
00093
00094 #define KFBX_SAFE_DELETE_PTR(p) { FbxSdkDelete(p); (p)=NULL; }
00095 #define KFBX_SAFE_DELETE_ARRAY_PTR(a) { FbxSdkDeleteArray(a); (a)=NULL; }
00096 #define KFBX_SAFE_DESTROY_OBJECT(p) if(p){ (p)->Destroy(); (p)=NULL; }
00097
00098 #ifdef KARCH_ENV_WIN
00099 #define snprintf _snprintf // for stdio.h platform compatibility
00100 #ifndef WIN32_LEAN_AND_MEAN
00101 #define WIN32_LEAN_AND_MEAN // Defined to speed up compilation
00102 #endif
00103 #endif
00104
00105 #if !defined(KARCH_DEV_MSC)
00106 #ifndef strcmpi
00107 #define strcmpi strcasecmp
00108 #endif
00109 #ifndef stricmp
00110 #define stricmp strcasecmp
00111 #endif
00112 #ifndef strncmpi
00113 #define strncmpi strncasecmp
00114 #endif
00115 #ifndef strnicmp
00116 #define strnicmp strncasecmp
00117 #endif
00118 #endif
00119
00120 #if defined(KARCH_ENV_LINUX)
00121 #include <malloc.h>
00122 #define _msize ((size_t(*)(void*))malloc_usable_size)
00123 #endif
00124
00125 #if defined(KARCH_ENV_MACOSX)
00126 #include <malloc/malloc.h>
00127 #define _msize ((size_t(*)(void*))malloc_size)
00128 #endif
00129
00131
00132 #ifdef KARCH_DEV_MSC
00133 #pragma warning(disable : 4251) //'identifier' : class 'type' needs to have dll-interface to be used by clients of class 'type2'
00134 #endif
00135
00136 #if defined(KARCH_DEV_GNUC) || defined(KARCH_DEV_GNUC_MACOSX) || defined(KARCH_DEV_GNUC_EE) // GNU compiler
00137 #define K_DEPRECATED __attribute__((deprecated))
00138 #elif defined(KARCH_DEV_INTEL) // Intel compiler
00139 #if (__INTEL_COMPILER >= 810) // Maybe we could use an earlier version, we should check this some day
00140 #define K_DEPRECATED __declspec(deprecated)
00141 #else
00142 #define K_DEPRECATED
00143 #endif
00144 #elif defined(KARCH_DEV_MSC) // Microsoft compiler
00145 #if (_MSC_VER >= 1300) // 7.1
00146 #define K_DEPRECATED __declspec(deprecated)
00147 #else
00148 #define K_DEPRECATED
00149 #endif
00150 #elif defined(KARCH_DEV_MACOSX) // Metrowerks compiler
00151 #define K_DEPRECATED
00152 #else // Unknown compiler
00153 #error Unknown compiler, can't define K_DECRECATED
00154 #endif
00155
00156 #include <fbxfilesdk/fbxfilesdk_memory.h>
00157
00158 #endif // FBXFILESDK_FBXFILESDK_DEF_H
00159