Common.h 929 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. // Copyright (C) 2009-present, Panagiotis Christopoulos Charitos and contributors.
  2. // All rights reserved.
  3. // Code licensed under the BSD License.
  4. // http://www.anki3d.org/LICENSE
  5. #pragma once
  6. #include <AnKi/Collision/Forward.h>
  7. #include <AnKi/Math.h>
  8. #include <AnKi/Util/Enum.h>
  9. namespace anki {
  10. /// @addtogroup collision
  11. /// @{
  12. /// The 6 frustum planes.
  13. enum class FrustumPlaneType : U8
  14. {
  15. kNear,
  16. kFar,
  17. kLeft,
  18. kRight,
  19. kTop,
  20. kBottom,
  21. kCount,
  22. kFirst = 0
  23. };
  24. ANKI_ENUM_ALLOW_NUMERIC_OPERATIONS(FrustumPlaneType)
  25. /// Collision shape type.
  26. enum class CollisionShapeType : U8
  27. {
  28. kPlane,
  29. kLineSegment,
  30. kRay,
  31. kAabb,
  32. kSphere,
  33. kObb,
  34. kConvexHull,
  35. kCone,
  36. kCount,
  37. kFirst = 0
  38. };
  39. ANKI_ENUM_ALLOW_NUMERIC_OPERATIONS(CollisionShapeType)
  40. /// Frustum type
  41. enum class FrustumType : U8
  42. {
  43. kPerspective,
  44. kOrthographic,
  45. kCount,
  46. kFirst = 0
  47. };
  48. ANKI_ENUM_ALLOW_NUMERIC_OPERATIONS(FrustumType)
  49. /// @}
  50. } // end namespace anki