Abstract base class for N-D intersection test query engine. More...
#include <Core/QueryEngine/IntersectionQueryEngine.hpp>
Public Member Functions | |
IntersectionQueryEngine ()=default | |
Default constructor. More... | |
virtual | ~IntersectionQueryEngine ()=default |
Default virtual destructor. More... | |
IntersectionQueryEngine (const IntersectionQueryEngine &other)=default | |
Default copy constructor. More... | |
IntersectionQueryEngine (IntersectionQueryEngine &&other) noexcept=default | |
Default move constructor. More... | |
IntersectionQueryEngine & | operator= (const IntersectionQueryEngine &other)=default |
Default copy assignment operator. More... | |
IntersectionQueryEngine & | operator= (IntersectionQueryEngine &&other) noexcept=default |
Default move assignment operator. More... | |
virtual bool | Intersects (const BoundingBox< double, N > &box, const BoxIntersectionTestFunc< T, N > &testFunc) const =0 |
Returns true if given box intersects with any of the stored items. More... | |
virtual bool | Intersects (const Ray< double, N > &ray, const RayIntersectionTestFunc< T, N > &testFunc) const =0 |
Returns true if given ray intersects with any of the stored items. More... | |
virtual void | ForEachIntersectingItem (const BoundingBox< double, N > &box, const BoxIntersectionTestFunc< T, N > &testFunc, const IntersectionVisitorFunc< T > &visitorFunc) const =0 |
Invokes visitorFunc for every intersecting items. More... | |
virtual void | ForEachIntersectingItem (const Ray< double, N > &ray, const RayIntersectionTestFunc< T, N > &testFunc, const IntersectionVisitorFunc< T > &visitorFunc) const =0 |
Invokes visitorFunc for every intersecting items. More... | |
virtual ClosestIntersectionQueryResult< T, N > | ClosestIntersection (const Ray< double, N > &ray, const GetRayIntersectionFunc< T, N > &testFunc) const =0 |
Returns the closest intersection for given ray . More... | |
Detailed Description
template<typename T, size_t N>
class CubbyFlow::IntersectionQueryEngine< T, N >
Abstract base class for N-D intersection test query engine.
Constructor & Destructor Documentation
◆ IntersectionQueryEngine() [1/3]
|
default |
Default constructor.
◆ ~IntersectionQueryEngine()
|
virtualdefault |
Default virtual destructor.
◆ IntersectionQueryEngine() [2/3]
|
default |
Default copy constructor.
◆ IntersectionQueryEngine() [3/3]
|
defaultnoexcept |
Default move constructor.
Member Function Documentation
◆ ClosestIntersection()
|
pure virtual |
Returns the closest intersection for given ray
.
Implemented in CubbyFlow::BVH< T, N >, CubbyFlow::BVH< std::shared_ptr< CubbyFlow::Surface< N > >, N >, CubbyFlow::BVH< std::shared_ptr< CubbyFlow::ImplicitSurface< N > >, N >, CubbyFlow::BVH< size_t >, and CubbyFlow::ListQueryEngine< T, N >.
◆ ForEachIntersectingItem() [1/2]
|
pure virtual |
Invokes visitorFunc
for every intersecting items.
Implemented in CubbyFlow::BVH< T, N >, CubbyFlow::BVH< std::shared_ptr< CubbyFlow::Surface< N > >, N >, CubbyFlow::BVH< std::shared_ptr< CubbyFlow::ImplicitSurface< N > >, N >, CubbyFlow::BVH< size_t >, and CubbyFlow::ListQueryEngine< T, N >.
◆ ForEachIntersectingItem() [2/2]
|
pure virtual |
Invokes visitorFunc
for every intersecting items.
Implemented in CubbyFlow::BVH< T, N >, CubbyFlow::BVH< std::shared_ptr< CubbyFlow::Surface< N > >, N >, CubbyFlow::BVH< std::shared_ptr< CubbyFlow::ImplicitSurface< N > >, N >, CubbyFlow::BVH< size_t >, and CubbyFlow::ListQueryEngine< T, N >.
◆ Intersects() [1/2]
|
pure virtual |
Returns true if given box
intersects with any of the stored items.
Implemented in CubbyFlow::BVH< T, N >, CubbyFlow::BVH< std::shared_ptr< CubbyFlow::Surface< N > >, N >, CubbyFlow::BVH< std::shared_ptr< CubbyFlow::ImplicitSurface< N > >, N >, CubbyFlow::BVH< size_t >, and CubbyFlow::ListQueryEngine< T, N >.
◆ Intersects() [2/2]
|
pure virtual |
Returns true if given ray
intersects with any of the stored items.
Implemented in CubbyFlow::BVH< T, N >, CubbyFlow::BVH< std::shared_ptr< CubbyFlow::Surface< N > >, N >, CubbyFlow::BVH< std::shared_ptr< CubbyFlow::ImplicitSurface< N > >, N >, CubbyFlow::BVH< size_t >, and CubbyFlow::ListQueryEngine< T, N >.
◆ operator=() [1/2]
|
default |
Default copy assignment operator.
◆ operator=() [2/2]
|
defaultnoexcept |
Default move assignment operator.
The documentation for this class was generated from the following file:
- Core/QueryEngine/IntersectionQueryEngine.hpp