Updated raylib-cpp header files

This commit is contained in:
2025-09-08 22:06:21 -04:00
parent a0a658ca8a
commit fff611cc72
45 changed files with 2533 additions and 2382 deletions

View File

@@ -1,57 +1,60 @@
#ifndef RAYLIB_CPP_INCLUDE_RAYCOLLISION_HPP_
#define RAYLIB_CPP_INCLUDE_RAYCOLLISION_HPP_
#include "./raylib.hpp"
#include "./raylib-cpp-utils.hpp"
#include "./raylib.hpp"
namespace raylib {
/**
* Raycast hit information
*/
class RayCollision : public ::RayCollision {
public:
RayCollision(const ::RayCollision& ray) {
set(ray);
}
public:
RayCollision(const ::RayCollision& ray) : ::RayCollision(ray) { }
RayCollision(bool hit, float distance,
::Vector3 point, ::Vector3 normal) : ::RayCollision{hit, distance, point, normal} {
RayCollision(bool hit, float distance, ::Vector3 point, ::Vector3 normal)
: ::RayCollision{hit, distance, point, normal} {
// Nothing.
}
/**
* Get collision info between ray and bounding box
*/
RayCollision(const ::Ray& ray, const ::BoundingBox& box) {
set(::GetRayCollisionBox(ray, box));
RayCollision(const ::Ray& ray, const ::BoundingBox& box)
: ::RayCollision(::GetRayCollisionBox(ray, box)) {
// Nothing.
}
/**
* Get collision info between ray and mesh
*/
RayCollision(const ::Ray& ray, const ::Mesh& mesh, const ::Matrix& transform) {
set(::GetRayCollisionMesh(ray, mesh, transform));
RayCollision(const ::Ray& ray, const ::Mesh& mesh, const ::Matrix& transform)
: ::RayCollision(::GetRayCollisionMesh(ray, mesh, transform)) {
// Nothing.
}
/**
* Get collision info between ray and quad
*/
RayCollision(const ::Ray& ray, ::Vector3 p1, ::Vector3 p2, ::Vector3 p3, ::Vector3 p4) {
set(::GetRayCollisionQuad(ray, p1, p2, p3, p4));
RayCollision(const ::Ray& ray, ::Vector3 p1, ::Vector3 p2, ::Vector3 p3, ::Vector3 p4)
: ::RayCollision(::GetRayCollisionQuad(ray, p1, p2, p3, p4)) {
// Nothing.
}
/**
* Get collision info between ray and sphere
*/
RayCollision(const ::Ray& ray, ::Vector3 center, float radius) {
set(::GetRayCollisionSphere(ray, center, radius));
RayCollision(const ::Ray& ray, ::Vector3 center, float radius)
: ::RayCollision(::GetRayCollisionSphere(ray, center, radius)) {
// Nothing.
}
/**
* Get collision info between ray and triangle
*/
RayCollision(const ::Ray& ray, ::Vector3 p1, ::Vector3 p2, ::Vector3 p3) {
set(::GetRayCollisionTriangle(ray, p1, p2, p3));
RayCollision(const ::Ray& ray, ::Vector3 p1, ::Vector3 p2, ::Vector3 p3)
: ::RayCollision(::GetRayCollisionTriangle(ray, p1, p2, p3)) {
// Nothing.
}
RayCollision& operator=(const ::RayCollision& ray) {
@@ -63,8 +66,7 @@ class RayCollision : public ::RayCollision {
GETTERSETTER(float, Distance, distance)
GETTERSETTER(::Vector3, Position, point)
GETTERSETTER(::Vector3, Normal, normal)
protected:
protected:
void set(const ::RayCollision& ray) {
hit = ray.hit;
distance = ray.distance;
@@ -72,8 +74,8 @@ class RayCollision : public ::RayCollision {
normal = ray.normal;
}
};
} // namespace raylib
} // namespace raylib
using RRayCollision = raylib::RayCollision;
#endif // RAYLIB_CPP_INCLUDE_RAYCOLLISION_HPP_
#endif // RAYLIB_CPP_INCLUDE_RAYCOLLISION_HPP_