1 ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
3 * OPCODE - Optimized Collision Detection
4 * Copyright (C) 2001 Pierre Terdiman
5 * Homepage: http://www.codercorner.com/Opcode.htm
7 ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
9 ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
11 * Main file for Opcode.dll.
13 * \author Pierre Terdiman
14 * \date March, 20, 2001
16 ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
18 ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
23 // stddef.h and stdarg.h must be included before Opcode headers
24 // as they latermay not compile being not able to find types in std::
28 ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
29 // Things to help us compile on non-windows platforms
31 #if defined(__APPLE__) || defined(__MACOSX__)
32 #if __APPLE_CC__ < 1495
43 #define __int64 long long int
45 #ifndef __stdcall /* this is defined in MinGW and CygWin, so avoid the warning */
46 #define __stdcall /* */
51 #define OPCODE_NORETURN __attribute__((noreturn))
52 #elif defined(_MSC_VER)
53 #define OPCODE_NORETURN __declspec(noreturn)
54 #else // #if !defined(_MSC_VER)
55 #define OPCODE_NORETURN
56 #endif // #if !defined(__GNUC__)
59 ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
60 // Compilation messages
62 #if defined(OPCODE_EXPORTS)
63 // #pragma message("Compiling OPCODE")
64 #elif !defined(OPCODE_EXPORTS)
65 // #pragma message("Using OPCODE")
66 ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
68 #ifndef BAN_OPCODE_AUTOLINK
70 //#pragma comment(lib, "Opcode_D.lib")
72 //#pragma comment(lib, "Opcode.lib")
78 ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
82 #define OPCODE_API// __declspec(dllexport)
84 #define OPCODE_API// __declspec(dllimport)
90 #include "OPC_Settings.h"
91 #include "OPC_IceHook.h"
96 #include "OPC_Common.h"
97 #include "OPC_MeshInterface.h"
99 #include "OPC_TreeBuilders.h"
101 #include "OPC_AABBTree.h"
102 #include "OPC_OptimizedTree.h"
104 #include "OPC_BaseModel.h"
105 #include "OPC_Model.h"
106 #include "OPC_HybridModel.h"
108 #include "OPC_Collider.h"
109 #include "OPC_VolumeCollider.h"
110 #include "OPC_TreeCollider.h"
111 #include "OPC_RayCollider.h"
112 #include "OPC_SphereCollider.h"
113 #include "OPC_OBBCollider.h"
114 #include "OPC_AABBCollider.h"
115 #include "OPC_LSSCollider.h"
116 #include "OPC_PlanesCollider.h"
118 #include "OPC_Picking.h"
121 typedef void (*OPCODE_AbortHandler
)();
122 FUNCTION OPCODE_API
bool InitOpcode(OPCODE_AbortHandler fnAbortHandler
=NULL
);
123 FUNCTION OPCODE_API
bool CloseOpcode();
126 #endif // __OPCODE_H__