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

Public Types

using Scalar = double
 
using Vec2 = bvh::Vec<Scalar, 2>
 
using BBox = bvh::BBox<Scalar, 2>
 
using Seg = bvh::Seg<Scalar, 2>
 
using Node = bvh::Node<Scalar,2>
 
using Bvh = bvh::Bvh<Node>
 
using Ray = bvh::Ray<Scalar, 2>
 
using PrecomputedSeg = bvh::PrecomputedSeg<Scalar>
 
using Gm2DSegmentCellIntersection = QVarLengthArray<GmCompact2DSegmentCellIntersection*, 1>
 

Public Member Functions

 GmBVHVisibility2D (const QMap< int, Gm2DSegmentCellIntersection > &cellMap, bvh::ThreadPool threadPool=bvh::ThreadPool())
 
 GmBVHVisibility2D (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< PrecomputedSeg > preSeg
 

Member Function Documentation

◆ isVisibleExclusive()

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

Implements GmBVHVisibility.

◆ isVisibleInclusive()

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

Implements GmBVHVisibility.


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