00001 00002 /* 00003 * OPCODE - Optimized Collision Detection 00004 * Copyright (C) 2001 Pierre Terdiman 00005 * Homepage: http://www.codercorner.com/Opcode.htm 00006 */ 00008 00010 00016 00017 00019 // Include Guard 00020 #ifndef __OPCODE_H__ 00021 #define __OPCODE_H__ 00022 00024 // Things to help us compile on non-windows platforms 00025 00026 #if defined(__APPLE__) || defined(__MACOSX__) 00027 #if __APPLE_CC__ < 1495 00028 #define sqrtf sqrt 00029 #define sinf sin 00030 #define cosf cos 00031 #define acosf acos 00032 #define asinf sinf 00033 #endif 00034 #endif 00035 00036 #ifndef _MSC_VER 00037 00038 #define __int64 long long int 00039 #define __stdcall /* */ 00040 00041 #endif 00042 00044 // Compilation messages 00045 #ifdef _MSC_VER 00046 #if defined(OPCODE_EXPORTS) 00047 // #pragma message("Compiling OPCODE") 00048 #elif !defined(OPCODE_EXPORTS) 00049 // #pragma message("Using OPCODE") 00051 // Automatic linking 00052 #ifndef BAN_OPCODE_AUTOLINK 00053 #ifdef _DEBUG 00054 //#pragma comment(lib, "Opcode_D.lib") 00055 #else 00056 //#pragma comment(lib, "Opcode.lib") 00057 #endif 00058 #endif 00059 #endif 00060 #endif 00061 00063 // Preprocessor 00064 #ifndef ICE_NO_DLL 00065 #ifdef OPCODE_EXPORTS 00066 #define OPCODE_API// __declspec(dllexport) 00067 #else 00068 #define OPCODE_API// __declspec(dllimport) 00069 #endif 00070 #else 00071 #define OPCODE_API 00072 #endif 00073 00074 #include "OPC_IceHook.h" 00075 //#include<iostream> 00076 00077 namespace hrp { 00078 class CollisionPairInserterBase; 00079 } 00080 00081 namespace Opcode 00082 { 00083 // Bulk-of-the-work 00084 #include "OPC_Settings.h" 00085 #include "OPC_Common.h" 00086 #include "OPC_MeshInterface.h" 00087 // Builders 00088 #include "OPC_TreeBuilders.h" 00089 // Trees 00090 #include "OPC_AABBTree.h" 00091 #include "OPC_OptimizedTree.h" 00092 // Models 00093 #include "OPC_BaseModel.h" 00094 #include "OPC_Model.h" 00095 #include "OPC_HybridModel.h" 00096 // Colliders 00097 #include "OPC_Collider.h" 00098 #include "OPC_VolumeCollider.h" 00099 #include "OPC_TreeCollider.h" 00100 #include "OPC_RayCollider.h" 00101 #include "OPC_SphereCollider.h" 00102 //#include "OPC_OBBCollider.h" 00103 //#include "OPC_AABBCollider.h" 00104 //#include "OPC_LSSCollider.h" 00105 #include "OPC_PlanesCollider.h" 00106 // Usages 00107 #include "OPC_Picking.h" 00108 // Sweep-and-prune 00109 //#include "OPC_BoxPruning.h" 00110 //#include "OPC_SweepAndPrune.h" 00111 00112 FUNCTION OPCODE_API bool InitOpcode(); 00113 FUNCTION OPCODE_API bool CloseOpcode(); 00114 } 00115 00116 #endif // __OPCODE_H__