summaryrefslogtreecommitdiff
path: root/libs/ode-0.16.1/OPCODE/Opcode.h
diff options
context:
space:
mode:
authorsanine <sanine.not@pm.me>2022-10-01 20:59:36 -0500
committersanine <sanine.not@pm.me>2022-10-01 20:59:36 -0500
commitc5fc66ee58f2c60f2d226868bb1cf5b91badaf53 (patch)
tree277dd280daf10bf77013236b8edfa5f88708c7e0 /libs/ode-0.16.1/OPCODE/Opcode.h
parent1cf9cc3408af7008451f9133fb95af66a9697d15 (diff)
add ode
Diffstat (limited to 'libs/ode-0.16.1/OPCODE/Opcode.h')
-rw-r--r--libs/ode-0.16.1/OPCODE/Opcode.h126
1 files changed, 126 insertions, 0 deletions
diff --git a/libs/ode-0.16.1/OPCODE/Opcode.h b/libs/ode-0.16.1/OPCODE/Opcode.h
new file mode 100644
index 0000000..4a98e36
--- /dev/null
+++ b/libs/ode-0.16.1/OPCODE/Opcode.h
@@ -0,0 +1,126 @@
+///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+/*
+ * OPCODE - Optimized Collision Detection
+ * Copyright (C) 2001 Pierre Terdiman
+ * Homepage: http://www.codercorner.com/Opcode.htm
+ */
+///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+
+///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+/**
+ * Main file for Opcode.dll.
+ * \file Opcode.h
+ * \author Pierre Terdiman
+ * \date March, 20, 2001
+ */
+///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+
+///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+// Include Guard
+#ifndef __OPCODE_H__
+#define __OPCODE_H__
+
+// stddef.h and stdarg.h must be included before Opcode headers
+// as they latermay not compile being not able to find types in std::
+#include <stddef.h>
+#include <stdarg.h>
+
+///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+// Things to help us compile on non-windows platforms
+
+#if defined(__APPLE__) || defined(__MACOSX__)
+#if __APPLE_CC__ < 1495
+#define sqrtf sqrt
+#define sinf sin
+#define cosf cos
+#define acosf acos
+#define asinf asin
+#endif
+#endif
+
+#ifndef _MSC_VER
+#ifndef __int64
+#define __int64 long long int
+#endif
+#ifndef __stdcall /* this is defined in MinGW and CygWin, so avoid the warning */
+#define __stdcall /* */
+#endif
+#endif
+
+#if defined(__GNUC__)
+#define OPCODE_NORETURN __attribute__((noreturn))
+#elif defined(_MSC_VER)
+#define OPCODE_NORETURN __declspec(noreturn)
+#else // #if !defined(_MSC_VER)
+#define OPCODE_NORETURN
+#endif // #if !defined(__GNUC__)
+
+
+///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+// Compilation messages
+#ifdef _MSC_VER
+ #if defined(OPCODE_EXPORTS)
+ // #pragma message("Compiling OPCODE")
+ #elif !defined(OPCODE_EXPORTS)
+ // #pragma message("Using OPCODE")
+ ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+ // Automatic linking
+ #ifndef BAN_OPCODE_AUTOLINK
+ #ifdef _DEBUG
+ //#pragma comment(lib, "Opcode_D.lib")
+ #else
+ //#pragma comment(lib, "Opcode.lib")
+ #endif
+ #endif
+ #endif
+#endif
+
+///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+// Preprocessor
+#ifndef ICE_NO_DLL
+ #ifdef OPCODE_EXPORTS
+ #define OPCODE_API// __declspec(dllexport)
+ #else
+ #define OPCODE_API// __declspec(dllimport)
+ #endif
+#else
+ #define OPCODE_API
+#endif
+
+ #include "OPC_Settings.h"
+ #include "OPC_IceHook.h"
+
+ namespace Opcode
+ {
+ // Bulk-of-the-work
+ #include "OPC_Common.h"
+ #include "OPC_MeshInterface.h"
+ // Builders
+ #include "OPC_TreeBuilders.h"
+ // Trees
+ #include "OPC_AABBTree.h"
+ #include "OPC_OptimizedTree.h"
+ // Models
+ #include "OPC_BaseModel.h"
+ #include "OPC_Model.h"
+ #include "OPC_HybridModel.h"
+ // Colliders
+ #include "OPC_Collider.h"
+ #include "OPC_VolumeCollider.h"
+ #include "OPC_TreeCollider.h"
+ #include "OPC_RayCollider.h"
+ #include "OPC_SphereCollider.h"
+ #include "OPC_OBBCollider.h"
+ #include "OPC_AABBCollider.h"
+ #include "OPC_LSSCollider.h"
+ #include "OPC_PlanesCollider.h"
+ // Usages
+ #include "OPC_Picking.h"
+
+
+ typedef void (*OPCODE_AbortHandler)();
+ FUNCTION OPCODE_API bool InitOpcode(OPCODE_AbortHandler fnAbortHandler=NULL);
+ FUNCTION OPCODE_API bool CloseOpcode();
+ }
+
+#endif // __OPCODE_H__