raylib-cpp
C++ object-oriented wrapper library for raylib.
RayCollision.hpp
1 #ifndef RAYLIB_CPP_INCLUDE_RAYCOLLISION_HPP_
2 #define RAYLIB_CPP_INCLUDE_RAYCOLLISION_HPP_
3 
4 #include "./raylib.hpp"
5 #include "./raylib-cpp-utils.hpp"
6 
7 namespace raylib {
11 class RayCollision : public ::RayCollision {
12  public:
13  RayCollision(const ::RayCollision& ray) {
14  set(ray);
15  }
16 
17  RayCollision(bool hit, float distance,
18  ::Vector3 point, ::Vector3 normal) : ::RayCollision{hit, distance, point, normal} {
19  // Nothing.
20  }
21 
25  RayCollision(const ::Ray& ray, const ::Mesh& mesh, const ::Matrix& transform) {
26  set(::GetRayCollisionMesh(ray, mesh, transform));
27  }
28 
32  RayCollision(const ::Ray& ray, const ::Model& model) {
33  set(::GetRayCollisionModel(ray, model));
34  }
35 
39  RayCollision(const ::Ray& ray, ::Vector3 p1, ::Vector3 p2, ::Vector3 p3) {
40  set(::GetRayCollisionTriangle(ray, p1, p2, p3));
41  }
42 
43  RayCollision& operator=(const ::RayCollision& ray) {
44  set(ray);
45  return *this;
46  }
47 
48  GETTERSETTER(bool, Hit, hit)
49  GETTERSETTER(float, Distance, distance)
50  GETTERSETTER(::Vector3, Position, point)
51  GETTERSETTER(::Vector3, Normal, normal)
52 
53  private:
54  inline void set(const ::RayCollision& ray) {
55  hit = ray.hit;
56  distance = ray.distance;
57  point = ray.point;
58  normal = ray.normal;
59  }
60 };
61 } // namespace raylib
62 
63 #endif // RAYLIB_CPP_INCLUDE_RAYCOLLISION_HPP_
raylib
All raylib-cpp classes and functions appear in the raylib namespace.
Definition: AudioDevice.hpp:8
raylib::RayCollision
Raycast hit information.
Definition: RayCollision.hpp:11
raylib::Vector3
Vector3 type.
Definition: Vector3.hpp:16
raylib::RayCollision::RayCollision
RayCollision(const ::Ray &ray, ::Vector3 p1, ::Vector3 p2, ::Vector3 p3)
Get collision info between ray and triangle.
Definition: RayCollision.hpp:39
raylib::RayCollision::RayCollision
RayCollision(const ::Ray &ray, const ::Model &model)
Get collision info between ray and model.
Definition: RayCollision.hpp:32
raylib::RayCollision::RayCollision
RayCollision(const ::Ray &ray, const ::Mesh &mesh, const ::Matrix &transform)
Get collision info between ray and mesh.
Definition: RayCollision.hpp:25