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