 |
raylib-cpp
C++ object-oriented wrapper library for raylib.
|
1 #ifndef RAYLIB_CPP_INCLUDE_RAY_HPP_
2 #define RAYLIB_CPP_INCLUDE_RAY_HPP_
4 #include "./raylib.hpp"
5 #include "./raylib-cpp-utils.hpp"
6 #include "./RayCollision.hpp"
14 Ray(const ::Ray& ray) {
23 set(::GetMouseRay(mousePosition, camera));
26 Ray& operator=(const ::Ray& ray) {
31 GETTERSETTER(::
Vector3, Position, position)
32 GETTERSETTER(::
Vector3, Direction, direction)
38 DrawRay(*
this, color);
46 return GetRayCollisionSphere(*
this, center, radius).hit;
53 return GetRayCollisionSphere(*
this, center, radius);
60 return GetRayCollisionBox(*
this, box).hit;
67 return GetRayCollisionModel(*
this, model);
74 return GetRayCollisionMesh(*
this, mesh, transform);
81 return GetRayCollisionTriangle(*
this, p1, p2, p3);
88 return GetRayCollisionQuad(*
this, p1, p2, p3, p4);
92 inline void set(const ::Ray& ray) {
93 position = ray.position;
94 direction = ray.direction;
99 #endif // RAYLIB_CPP_INCLUDE_RAY_HPP_
Ray & Draw(::Color color)
Draw a ray line.
All raylib-cpp classes and functions appear in the raylib namespace.
bool CheckCollision(const ::BoundingBox &box) const
Detect collision between ray and box.
Ray type (useful for raycast)
bool CheckCollisionSphere(::Vector3 center, float radius) const
Detect collision between ray and sphere.
RayCollision GetCollision(Vector3 p1, Vector3 p2, Vector3 p3, Vector3 p4) const
Get collision info between ray and quad.
RayCollision GetCollision(::Vector3 p1, ::Vector3 p2, ::Vector3 p3) const
Get collision info between ray and triangle.
RayCollision GetCollision(const ::Mesh &mesh, const ::Matrix &transform) const
Get collision information between ray and mesh.
RayCollision GetCollision(::Vector3 center, float radius) const
Get collision information between ray and sphere.
Camera type, defines a camera position/orientation in 3d space.
RayCollision GetCollision(const ::Model &model) const
Get collision info between ray and model.