MCPcopy Create free account
hub / github.com/RobLoach/raylib-cpp / RayCollision

Class RayCollision

include/RayCollision.hpp:11–88  ·  view source on GitHub ↗

* Raycast hit information */

Source from the content-addressed store, hash-verified

9 * Raycast hit information
10 */
11class RayCollision : public ::RayCollision {
12public:
13 RayCollision(const ::RayCollision& ray) : ::RayCollision(ray) { }
14
15 constexpr RayCollision(bool hit, float distance, ::Vector3 point, ::Vector3 normal)
16 : ::RayCollision{hit, distance, point, normal} {
17 // Nothing.
18 }
19
20 /**
21 * Get collision info between ray and bounding box
22 */
23 RayCollision(const ::Ray& ray, const ::BoundingBox& box)
24 : ::RayCollision(::GetRayCollisionBox(ray, box)) {
25 // Nothing.
26 }
27
28 /**
29 * Get collision info between ray and mesh
30 */
31 RayCollision(const ::Ray& ray, const ::Mesh& mesh, const ::Matrix& transform)
32 : ::RayCollision(::GetRayCollisionMesh(ray, mesh, transform)) {
33 // Nothing.
34 }
35
36 /**
37 * Get collision info between ray and quad
38 */
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
44 /**
45 * Get collision info between ray and sphere
46 */
47 RayCollision(const ::Ray& ray, ::Vector3 center, float radius)
48 : ::RayCollision(::GetRayCollisionSphere(ray, center, radius)) {
49 // Nothing.
50 }
51
52 /**
53 * Get collision info between ray and triangle
54 */
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 [[nodiscard]] std::string ToString() const {
66 return TextFormat(
67 "RayCollision(hit=%s, distance=%f, point=(%f, %f, %f), normal=(%f, %f, %f))",
68 hit ? "true" : "false",

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected