GemaCoreLib
The GeMA Core library
Loading...
Searching...
No Matches
GmBVHVisibility3D Class Reference
Inheritance diagram for GmBVHVisibility3D:
Collaboration diagram for GmBVHVisibility3D:

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

 GmBVHVisibility3D (const QMap< int, Gm3DSurfaceCellIntersection > &cellMap, const QVector< GmVector3 > &points, bvh::ThreadPool threadPool=bvh::ThreadPool())
 
 GmBVHVisibility3D (const QVector< GmDiscontinuity * > &data, bvh::ThreadPool threadPool=bvh::ThreadPool())
 
bool isVisibleInclusive (const double *src, const double *dst, double eps) const final
 
bool isVisibleExclusive (const double *src, const double *dst, double eps) const final
 
- Public Member Functions inherited from GmBVHVisibility

Private Member Functions

template<bool inclusive>
bool isVisible (const double *src, const double *dst, double eps) const
 

Private Attributes

Bvh bvh
 
std::vector< PrecomputedTri > preTri
 

Member Function Documentation

◆ isVisibleExclusive()

bool GmBVHVisibility3D::isVisibleExclusive ( const double * src,
const double * dst,
double eps ) const
inlinefinalvirtual

Implements GmBVHVisibility.

◆ isVisibleInclusive()

bool GmBVHVisibility3D::isVisibleInclusive ( const double * src,
const double * dst,
double eps ) const
inlinefinalvirtual

Implements GmBVHVisibility.


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