raylib-cpp
C++ object-oriented wrapper library for raylib.
RayHitInfo.hpp
1 #ifndef RAYLIB_CPP_INCLUDE_RAYHITINFO_HPP_
2 #define RAYLIB_CPP_INCLUDE_RAYHITINFO_HPP_
3 
4 #include "./raylib.hpp"
5 #include "./raylib-cpp-utils.hpp"
6 
7 namespace raylib {
11 class RayHitInfo : public ::RayHitInfo {
12  public:
13  RayHitInfo(const ::RayHitInfo& ray) {
14  set(ray);
15  }
16 
17  RayHitInfo(bool Hit, float Distance, ::Vector3 Position, ::Vector3 Normal) {
18  hit = Hit;
19  distance = Distance;
20  position = Position;
21  normal = Normal;
22  }
23 
27  RayHitInfo(const ::Ray& ray, const ::Mesh& mesh, const ::Matrix& transform) {
28  set(::GetCollisionRayMesh(ray, mesh, transform));
29  }
30 
34  RayHitInfo(const ::Ray& ray, const ::Model& model) {
35  set(::GetCollisionRayModel(ray, model));
36  }
37 
41  RayHitInfo(const ::Ray& ray, ::Vector3 p1, ::Vector3 p2, ::Vector3 p3) {
42  set(::GetCollisionRayTriangle(ray, p1, p2, p3));
43  }
44 
48  RayHitInfo(const ::Ray& ray, float groundHeight) {
49  set(::GetCollisionRayGround(ray, groundHeight));
50  }
51 
52  RayHitInfo& operator=(const ::RayHitInfo& ray) {
53  set(ray);
54  return *this;
55  }
56 
57  GETTERSETTER(bool, Hit, hit)
58  GETTERSETTER(float, Distance, distance)
59  GETTERSETTER(::Vector3, Position, position)
60  GETTERSETTER(::Vector3, Normal, normal)
61 
62  private:
63  inline void set(const ::RayHitInfo& ray) {
64  hit = ray.hit;
65  distance = ray.distance;
66  position = ray.position;
67  normal = ray.normal;
68  }
69 };
70 } // namespace raylib
71 
72 #endif // RAYLIB_CPP_INCLUDE_RAYHITINFO_HPP_
raylib
All raylib-cpp classes and functions appear in the raylib namespace.
Definition: AudioDevice.hpp:7
raylib::RayHitInfo::RayHitInfo
RayHitInfo(const ::Ray &ray, ::Vector3 p1, ::Vector3 p2, ::Vector3 p3)
Get collision info between ray and triangle.
Definition: RayHitInfo.hpp:41
raylib::Vector3
Vector3 type.
Definition: Vector3.hpp:16
raylib::RayHitInfo::RayHitInfo
RayHitInfo(const ::Ray &ray, float groundHeight)
Get collision info between ray and ground plane (Y-normal plane)
Definition: RayHitInfo.hpp:48
raylib::RayHitInfo::RayHitInfo
RayHitInfo(const ::Ray &ray, const ::Mesh &mesh, const ::Matrix &transform)
Get collision info between ray and mesh.
Definition: RayHitInfo.hpp:27
raylib::RayHitInfo
Raycast hit information.
Definition: RayHitInfo.hpp:11
raylib::RayHitInfo::RayHitInfo
RayHitInfo(const ::Ray &ray, const ::Model &model)
Get collision info between ray and model.
Definition: RayHitInfo.hpp:34