1 /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 2 /* 3 * OPCODE - Optimized Collision Detection 4 * Copyright (C) 2001 Pierre Terdiman 5 * Homepage: http://www.codercorner.com/Opcode.htm 6 */ 7 /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 8 9 /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 10 /** 11 * Main file for Opcode.dll. 12 * \file Opcode.h 13 * \author Pierre Terdiman 14 * \date March, 20, 2001 15 */ 16 /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 17 18 /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 19 // Include Guard 20 #ifndef __OPCODE_H__ 21 #define __OPCODE_H__ 22 23 /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 24 // Things to help us compile on non-windows platforms 25 26 #if defined(__APPLE__) || defined(__MACOSX__) 27 #if __APPLE_CC__ < 1495 28 #define sqrtf sqrt 29 #define sinf sin 30 #define cosf cos 31 #define acosf acos 32 #define asinf asin 33 #endif 34 #endif 35 36 #ifndef _MSC_VER 37 #ifndef __int64 38 #define __int64 long long int 39 #endif 40 #ifndef __stdcall /* this is defined in MinGW and CygWin, so avoid the warning */ 41 #define __stdcall /* */ 42 #endif 43 #endif 44 45 /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 46 // Compilation messages 47 #ifdef _MSC_VER 48 #if defined(OPCODE_EXPORTS) 49 // #pragma message("Compiling OPCODE") 50 #elif !defined(OPCODE_EXPORTS) 51 // #pragma message("Using OPCODE") 52 /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 53 // Automatic linking 54 #ifndef BAN_OPCODE_AUTOLINK 55 #ifdef _DEBUG 56 //#pragma comment(lib, "Opcode_D.lib") 57 #else 58 //#pragma comment(lib, "Opcode.lib") 59 #endif 60 #endif 61 #endif 62 #endif 63 64 /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 65 // Preprocessor 66 #ifndef ICE_NO_DLL 67 #ifdef OPCODE_EXPORTS 68 #define OPCODE_API// __declspec(dllexport) 69 #else 70 #define OPCODE_API// __declspec(dllimport) 71 #endif 72 #else 73 #define OPCODE_API 74 #endif 75 76 #include "OPC_Settings.h" 77 #include "OPC_IceHook.h" 78 79 namespace Opcode 80 { 81 // Bulk-of-the-work 82 #include "OPC_Common.h" 83 #include "OPC_MeshInterface.h" 84 // Builders 85 #include "OPC_TreeBuilders.h" 86 // Trees 87 #include "OPC_AABBTree.h" 88 #include "OPC_OptimizedTree.h" 89 // Models 90 #include "OPC_BaseModel.h" 91 #include "OPC_Model.h" 92 #include "OPC_HybridModel.h" 93 // Colliders 94 #include "OPC_Collider.h" 95 #include "OPC_VolumeCollider.h" 96 #include "OPC_TreeCollider.h" 97 #include "OPC_RayCollider.h" 98 #include "OPC_SphereCollider.h" 99 #include "OPC_OBBCollider.h" 100 #include "OPC_AABBCollider.h" 101 #include "OPC_LSSCollider.h" 102 #include "OPC_PlanesCollider.h" 103 // Usages 104 #include "OPC_Picking.h" 105 106 107 FUNCTION OPCODE_API bool InitOpcode(); 108 FUNCTION OPCODE_API bool CloseOpcode(); 109 } 110 111 #endif // __OPCODE_H__ 112