initial commit, 4.5 stable
Some checks failed
🔗 GHA / 📊 Static checks (push) Has been cancelled
🔗 GHA / 🤖 Android (push) Has been cancelled
🔗 GHA / 🍏 iOS (push) Has been cancelled
🔗 GHA / 🐧 Linux (push) Has been cancelled
🔗 GHA / 🍎 macOS (push) Has been cancelled
🔗 GHA / 🏁 Windows (push) Has been cancelled
🔗 GHA / 🌐 Web (push) Has been cancelled
Some checks failed
🔗 GHA / 📊 Static checks (push) Has been cancelled
🔗 GHA / 🤖 Android (push) Has been cancelled
🔗 GHA / 🍏 iOS (push) Has been cancelled
🔗 GHA / 🐧 Linux (push) Has been cancelled
🔗 GHA / 🍎 macOS (push) Has been cancelled
🔗 GHA / 🏁 Windows (push) Has been cancelled
🔗 GHA / 🌐 Web (push) Has been cancelled
This commit is contained in:
39
thirdparty/vhacd/inc/vhacdRaycastMesh.h
vendored
Normal file
39
thirdparty/vhacd/inc/vhacdRaycastMesh.h
vendored
Normal file
@@ -0,0 +1,39 @@
|
||||
#ifndef RAYCAST_MESH_H
|
||||
|
||||
#define RAYCAST_MESH_H
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
namespace VHACD
|
||||
{
|
||||
|
||||
// Very simple brute force raycast against a triangle mesh. Tests every triangle; no hierachy.
|
||||
// Does a deep copy, always does calculations with full double float precision
|
||||
class RaycastMesh
|
||||
{
|
||||
public:
|
||||
static RaycastMesh * createRaycastMesh(uint32_t vcount, // The number of vertices in the source triangle mesh
|
||||
const double *vertices, // The array of vertex positions in the format x1,y1,z1..x2,y2,z2.. etc.
|
||||
uint32_t tcount, // The number of triangles in the source triangle mesh
|
||||
const uint32_t *indices); // The triangle indices in the format of i1,i2,i3 ... i4,i5,i6, ...
|
||||
|
||||
static RaycastMesh * createRaycastMesh(uint32_t vcount, // The number of vertices in the source triangle mesh
|
||||
const float *vertices, // The array of vertex positions in the format x1,y1,z1..x2,y2,z2.. etc.
|
||||
uint32_t tcount, // The number of triangles in the source triangle mesh
|
||||
const uint32_t *indices); // The triangle indices in the format of i1,i2,i3 ... i4,i5,i6, ...
|
||||
|
||||
|
||||
virtual bool raycast(const double *from, // The starting point of the raycast
|
||||
const double *to, // The ending point of the raycast
|
||||
const double *closestToPoint, // The point to match the nearest hit location (can just be the 'from' location of no specific point)
|
||||
double *hitLocation, // The point where the ray hit nearest to the 'closestToPoint' location
|
||||
double *hitDistance) = 0; // The distance the ray traveled to the hit location
|
||||
|
||||
virtual void release(void) = 0;
|
||||
protected:
|
||||
virtual ~RaycastMesh(void) { };
|
||||
};
|
||||
|
||||
} // end of VHACD namespace
|
||||
|
||||
#endif
|
Reference in New Issue
Block a user