Common.h 906 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. // Copyright (C) 2009-2021, 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. {
  11. /// @addtogroup collision
  12. /// @{
  13. /// The 6 frustum planes.
  14. enum class FrustumPlaneType : U8
  15. {
  16. NEAR,
  17. FAR,
  18. LEFT,
  19. RIGHT,
  20. TOP,
  21. BOTTOM,
  22. COUNT,
  23. FIRST = 0
  24. };
  25. ANKI_ENUM_ALLOW_NUMERIC_OPERATIONS(FrustumPlaneType)
  26. /// Collision shape type.
  27. enum class CollisionShapeType : U8
  28. {
  29. PLANE,
  30. LINE_SEGMENT,
  31. RAY,
  32. AABB,
  33. SPHERE,
  34. OBB,
  35. CONVEX_HULL,
  36. CONE,
  37. COUNT,
  38. FIRST = 0
  39. };
  40. ANKI_ENUM_ALLOW_NUMERIC_OPERATIONS(CollisionShapeType)
  41. /// Frustum type
  42. enum class FrustumType : U8
  43. {
  44. PERSPECTIVE,
  45. ORTHOGRAPHIC,
  46. COUNT,
  47. FIRST = 0
  48. };
  49. ANKI_ENUM_ALLOW_NUMERIC_OPERATIONS(FrustumType)
  50. /// @}
  51. } // end namespace anki