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