GemaCoreLib
The GeMA Core library
Loading...
Searching...
No Matches
GmBVHAcceleration Class Reference

Public Types

using Scalar = double
 
using Vec3 = bvh::Vec<Scalar, 3>
 
using BBox = bvh::BBox<Scalar, 3>
 
using Tri = bvh::Tri<Scalar, 3>
 
using Node = bvh::Node<Scalar, 3>
 
using Bvh = bvh::Bvh<Node>
 
using Ray = bvh::Ray<Scalar, 3>
 
using PrecomputedTri = bvh::PrecomputedTri<Scalar>
 

Public Member Functions

 GmBVHAcceleration (const double *triCoords, const int *triIndex, int numPoints, int numTriangles, int numValidTriangles, bvh::ThreadPool threadPool=bvh::ThreadPool())
 
std::tuple< size_t, size_t, bool, bool, bool > segIntersection (const double *start, const double *end, RayIntersection &ri, double repelTol=0, double repelDistance=0, double eps=1e-5)
 
void zeroIntersection (const int zeroId, const size_t triId, const QVector< int > &nodeIds, const GmValueAccessor *coordAc, QVector< std::tuple< RayIntersection, int, bool > > &outIntersect, double repelTol=0, double repelDistance=0, double eps=1e-5)
 

Private Member Functions

void computeLinePoint (Vec3 p0, Vec3 dir, double t, double *out)
 

Private Attributes

Bvh bvh
 
int validTriIdEnd
 
std::vector< PrecomputedTri > preTri
 

The documentation for this class was generated from the following files: