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 // Compilation messages 25 #if defined(OPCODE_EXPORTS) 26 #pragma message("Compiling OPCODE") 27 #elif !defined(OPCODE_EXPORTS) 28 #pragma message("Using OPCODE") 29 /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 30 // Automatic linking 31 #if defined(_WIN32) && !defined(BAN_OPCODE_AUTOLINK) 32 #ifdef _DEBUG 33 #pragma comment(lib, "Opcode_D.lib") 34 #else 35 #pragma comment(lib, "Opcode.lib") 36 #endif 37 #endif 38 #endif 39 40 /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 41 // Preprocessor 42 #ifndef ICE_NO_DLL 43 #ifdef OPCODE_EXPORTS 44 #ifdef __GNUC__ 45 #define OPCODE_API __attribute__((visibility("default"))) 46 #else 47 #define OPCODE_API __declspec(dllexport) 48 #endif 49 #else 50 #ifdef __GNUC__ 51 #define OPCODE_API __attribute__((visibility("hidden"))) 52 #else 53 #define OPCODE_API __declspec(dllimport) 54 #endif 55 #endif 56 #else 57 #define OPCODE_API 58 #endif 59 60 #include "OPC_IceHook.h" 61 62 namespace Opcode 63 { 64 // Bulk-of-the-work 65 #include "OPC_Settings.h" 66 #include "OPC_Common.h" 67 #include "OPC_MeshInterface.h" 68 // Builders 69 #include "OPC_TreeBuilders.h" 70 // Trees 71 #include "OPC_AABBTree.h" 72 #include "OPC_OptimizedTree.h" 73 // Models 74 #include "OPC_BaseModel.h" 75 #include "OPC_Model.h" 76 #include "OPC_HybridModel.h" 77 // Colliders 78 #include "OPC_Collider.h" 79 #include "OPC_VolumeCollider.h" 80 #include "OPC_TreeCollider.h" 81 #include "OPC_RayCollider.h" 82 #include "OPC_SphereCollider.h" 83 #include "OPC_OBBCollider.h" 84 #include "OPC_AABBCollider.h" 85 #include "OPC_LSSCollider.h" 86 #include "OPC_PlanesCollider.h" 87 // Usages 88 #include "OPC_Picking.h" 89 // Sweep-and-prune 90 #include "OPC_BoxPruning.h" 91 #include "OPC_SweepAndPrune.h" 92 93 FUNCTION OPCODE_API bool InitOpcode(); 94 FUNCTION OPCODE_API bool CloseOpcode(); 95 } 96 97 #endif // __OPCODE_H__ 98