Base.h 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. #ifndef BASE_H_
  2. #define BASE_H_
  3. // C++ includes
  4. #include <cmath>
  5. #include <cstdio>
  6. #include <cstdlib>
  7. #include <cstdarg>
  8. #include <cassert>
  9. #include <cmath>
  10. #include <cfloat>
  11. #include <ctime>
  12. #include <iostream>
  13. #include <fstream>
  14. #include <string>
  15. #include <vector>
  16. #include <list>
  17. #include <map>
  18. #include <algorithm>
  19. #include <sys/stat.h>
  20. // PNG
  21. #include <png.h>
  22. // Collada includes
  23. #include <dae.h>
  24. #include <dae/daeSIDResolver.h>
  25. #include <dae/domAny.h>
  26. #include <dom/domCOLLADA.h>
  27. #include <dom/domConstants.h>
  28. #include <dom/domElements.h>
  29. #include <dom/domCamera.h>
  30. #include <dom/domProfile_COMMON.h>
  31. // Defines
  32. #ifndef M_1_PI
  33. #define M_1_PI 0.31830988618379067154
  34. #endif
  35. #define MATH_FLOAT_SMALL 1.0e-37f
  36. #define MATH_TOLERANCE 2e-37f
  37. #define MATH_E 2.71828182845904523536f
  38. #define MATH_LOG10E 0.4342944819032518f
  39. #define MATH_LOG2E 1.442695040888963387f
  40. #define MATH_PI 3.14159265358979323846f
  41. #define MATH_PIOOVER2 1.57079632679489661923f
  42. #define MATH_PIOOVER4 M_PI_4
  43. #define MATH_PIX2 6.28318530717958647693f
  44. #define MATH_EPSILON 0.000001f
  45. #define MATH_DEG_TO_RAD(x) ((x) * 0.0174532925f)
  46. #define MATH_RAD_TO_DEG(x) ((x)* 57.29577951f)
  47. #define MATH_RANDOM_MINUS1_1() ((2.0f*((float)rand()/RAND_MAX))-1.0f) // Returns a random float between -1 and 1.
  48. #define MATH_RANDOM_0_1() ((float)rand()/RAND_MAX) // Returns a random float between 0 and 1.
  49. namespace gameplay
  50. {
  51. enum VertexUsage
  52. {
  53. UNKNOWN = 0,
  54. POSITION = 1,
  55. NORMAL = 2,
  56. COLOR = 3,
  57. TANGENT = 4,
  58. BINORMAL = 5,
  59. BLENDWEIGHTS = 6,
  60. BLENDINDICES = 7,
  61. TEXCOORD0 = 8,
  62. TEXCOORD1 = 9,
  63. TEXCOORD2 = 10,
  64. TEXCOORD3 = 11,
  65. TEXCOORD4 = 12,
  66. TEXCOORD5 = 13,
  67. TEXCOORD6 = 14,
  68. TEXCOORD7 = 15
  69. };
  70. void fillArray(float values[], float value, size_t length);
  71. #define ISZERO(x) (fabs(x) < 0.000001f)
  72. #ifdef NDEBUG
  73. #define DEBUGPRINT(x)
  74. #define DEBUGPRINT_VARG(x, ...)
  75. #else
  76. #define DEBUGPRINT(x) printf(x)
  77. #define DEBUGPRINT_VARG(x, ...) printf(x, __VA_ARGS__)
  78. #endif
  79. }
  80. #endif