Lumino.Math
|
00001 00002 #ifndef LUMINO_MATH_COMMON_H 00003 #define LUMINO_MATH_COMMON_H 00004 00005 #if defined(LUMINO_DLL) && defined(LUMINO_BUILD_DLL) 00006 /* LUMINO_DLL と LUMINO_BUILD_DLL の同時定義は禁止。 00007 * LUMINO_DLL はライブラリをDLLとして使うとき、 00008 * LUMINO_BUILD_DLL はライブラリ本体をビルドするときにのみ使用する。 00009 */ 00010 #error "You must not have both LUMINO_DLL and LUMINO_BUILD_DLL defined" 00011 #endif 00012 00013 #if defined(_WIN32) && defined(LUMINO_BUILD_DLL) 00014 #define LUMINO_EXPORT __declspec(dllexport) 00015 00016 #elif defined(_WIN32) && defined(LUMINO_DLL) 00017 #define LUMINO_EXPORT __declspec(dllimport) 00018 00019 #elif defined(__GNUC__) && defined(LUMINO_BUILD_DLL) 00020 #define LUMINO_EXPORT __attribute__((visibility("default"))) 00021 00022 #else 00023 #define LUMINO_EXPORT 00024 00025 #endif 00026 00027 namespace Lumino 00028 { 00029 00031 enum RotationOrder 00032 { 00033 RotationOrder_XYZ = 0, 00034 //RotationOrder_XZY, ///< X → Z → Y 00035 //RotationOrder_YXZ, ///< Y → X → Z 00036 RotationOrder_YZX, 00037 RotationOrder_ZXY, 00038 //RotationOrder_ZYX, ///< Z → Y → X 00039 }; 00040 00042 enum FrustumPlane 00043 { 00044 FrustumPlane_Near = 0, 00045 FrustumPlane_Far, 00046 FrustumPlane_Left, 00047 FrustumPlane_Right, 00048 FrustumPlane_Top, 00049 FrustumPlane_Bottom, 00050 00051 FrustumPlane_Max, 00052 }; 00053 00054 } // namespace Lumino 00055 00056 #endif // __LUMINO_MATH_COMMON_H__