Opcode.h 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111
  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. * Main file for Opcode.dll.
  11. * \file Opcode.h
  12. * \author Pierre Terdiman
  13. * \date March, 20, 2001
  14. */
  15. ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  16. ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  17. // Include Guard
  18. #ifndef __OPCODE_H__
  19. #define __OPCODE_H__
  20. ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  21. // Things to help us compile on non-windows platforms
  22. #if defined(__APPLE__) || defined(__MACOSX__)
  23. #if __APPLE_CC__ < 1495
  24. #define sqrtf sqrt
  25. #define sinf sin
  26. #define cosf cos
  27. #define acosf acos
  28. #define asinf asin
  29. #endif
  30. #endif
  31. #ifndef _MSC_VER
  32. #ifndef __int64
  33. #define __int64 long long int
  34. #endif
  35. #ifndef __stdcall /* this is defined in MinGW and CygWin, so avoid the warning */
  36. #define __stdcall /* */
  37. #endif
  38. #endif
  39. ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  40. // Compilation messages
  41. #ifdef _MSC_VER
  42. #if defined(OPCODE_EXPORTS)
  43. // #pragma message("Compiling OPCODE")
  44. #elif !defined(OPCODE_EXPORTS)
  45. // #pragma message("Using OPCODE")
  46. ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  47. // Automatic linking
  48. #ifndef BAN_OPCODE_AUTOLINK
  49. #ifdef _DEBUG
  50. //#pragma comment(lib, "Opcode_D.lib")
  51. #else
  52. //#pragma comment(lib, "Opcode.lib")
  53. #endif
  54. #endif
  55. #endif
  56. #endif
  57. ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  58. // Preprocessor
  59. #ifndef ICE_NO_DLL
  60. #ifdef OPCODE_EXPORTS
  61. #define OPCODE_API// __declspec(dllexport)
  62. #else
  63. #define OPCODE_API// __declspec(dllimport)
  64. #endif
  65. #else
  66. #define OPCODE_API
  67. #endif
  68. #include "OPC_Settings.h"
  69. #include "OPC_IceHook.h"
  70. namespace Opcode
  71. {
  72. // Bulk-of-the-work
  73. #include "OPC_Common.h"
  74. #include "OPC_MeshInterface.h"
  75. // Builders
  76. #include "OPC_TreeBuilders.h"
  77. // Trees
  78. #include "OPC_AABBTree.h"
  79. #include "OPC_OptimizedTree.h"
  80. // Models
  81. #include "OPC_BaseModel.h"
  82. #include "OPC_Model.h"
  83. #include "OPC_HybridModel.h"
  84. // Colliders
  85. #include "OPC_Collider.h"
  86. #include "OPC_VolumeCollider.h"
  87. #include "OPC_TreeCollider.h"
  88. #include "OPC_RayCollider.h"
  89. #include "OPC_SphereCollider.h"
  90. #include "OPC_OBBCollider.h"
  91. #include "OPC_AABBCollider.h"
  92. #include "OPC_LSSCollider.h"
  93. #include "OPC_PlanesCollider.h"
  94. // Usages
  95. #include "OPC_Picking.h"
  96. FUNCTION OPCODE_API bool InitOpcode();
  97. FUNCTION OPCODE_API bool CloseOpcode();
  98. }
  99. #endif // __OPCODE_H__