raylib-cpp
C++ object-oriented wrapper library for raylib.
Loading...
Searching...
No Matches
RayCollision.hpp
1#ifndef RAYLIB_CPP_INCLUDE_RAYCOLLISION_HPP_
2#define RAYLIB_CPP_INCLUDE_RAYCOLLISION_HPP_
3
4#include "./raylib-cpp-utils.hpp"
5#include "./raylib.hpp"
6
7namespace raylib {
11class RayCollision : public ::RayCollision {
12public:
13 RayCollision(const ::RayCollision& ray) : ::RayCollision(ray) { }
14
15 RayCollision(bool hit, float distance, ::Vector3 point, ::Vector3 normal)
16 : ::RayCollision{hit, distance, point, normal} {
17 // Nothing.
18 }
19
23 RayCollision(const ::Ray& ray, const ::BoundingBox& box)
24 : ::RayCollision(::GetRayCollisionBox(ray, box)) {
25 // Nothing.
26 }
27
31 RayCollision(const ::Ray& ray, const ::Mesh& mesh, const ::Matrix& transform)
32 : ::RayCollision(::GetRayCollisionMesh(ray, mesh, transform)) {
33 // Nothing.
34 }
35
39 RayCollision(const ::Ray& ray, ::Vector3 p1, ::Vector3 p2, ::Vector3 p3, ::Vector3 p4)
40 : ::RayCollision(::GetRayCollisionQuad(ray, p1, p2, p3, p4)) {
41 // Nothing.
42 }
43
47 RayCollision(const ::Ray& ray, ::Vector3 center, float radius)
48 : ::RayCollision(::GetRayCollisionSphere(ray, center, radius)) {
49 // Nothing.
50 }
51
55 RayCollision(const ::Ray& ray, ::Vector3 p1, ::Vector3 p2, ::Vector3 p3)
56 : ::RayCollision(::GetRayCollisionTriangle(ray, p1, p2, p3)) {
57 // Nothing.
58 }
59
60 RayCollision& operator=(const ::RayCollision& ray) {
61 set(ray);
62 return *this;
63 }
64
65 GETTERSETTER(bool, Hit, hit)
66 GETTERSETTER(float, Distance, distance)
67 GETTERSETTER(::Vector3, Position, point)
68 GETTERSETTER(::Vector3, Normal, normal)
69protected:
70 void set(const ::RayCollision& ray) {
71 hit = ray.hit;
72 distance = ray.distance;
73 point = ray.point;
74 normal = ray.normal;
75 }
76};
77} // namespace raylib
78
80
81#endif // RAYLIB_CPP_INCLUDE_RAYCOLLISION_HPP_
Raycast hit information.
RayCollision(const ::Ray &ray, const ::Mesh &mesh, const ::Matrix &transform)
Get collision info between ray and mesh.
RayCollision(const ::Ray &ray, ::Vector3 p1, ::Vector3 p2, ::Vector3 p3)
Get collision info between ray and triangle.
RayCollision(const ::Ray &ray, const ::BoundingBox &box)
Get collision info between ray and bounding box.
RayCollision(const ::Ray &ray, ::Vector3 p1, ::Vector3 p2, ::Vector3 p3, ::Vector3 p4)
Get collision info between ray and quad.
RayCollision(const ::Ray &ray, ::Vector3 center, float radius)
Get collision info between ray and sphere.
Vector3 type.
Definition: Vector3.hpp:20
All raylib-cpp classes and functions appear in the raylib namespace.
Definition: AudioDevice.hpp:8