Loading...
Searching...
No Matches
IntersectionQueryEngine.hpp
Go to the documentation of this file.
Abstract base class for N-D intersection test query engine.
Definition IntersectionQueryEngine.hpp:98
IntersectionQueryEngine()=default
Default constructor.
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.
IntersectionQueryEngine & operator=(const IntersectionQueryEngine &other)=default
Default copy assignment operator.
virtual ~IntersectionQueryEngine()=default
Default virtual destructor.
virtual ClosestIntersectionQueryResult< T, N > ClosestIntersection(const Ray< double, N > &ray, const GetRayIntersectionFunc< T, N > &testFunc) const =0
Returns the closest intersection for given ray.
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.
IntersectionQueryEngine & operator=(IntersectionQueryEngine &&other) noexcept=default
Default move assignment operator.
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.
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.
IntersectionQueryEngine(const IntersectionQueryEngine &other)=default
Default copy constructor.
IntersectionQueryEngine(IntersectionQueryEngine &&other) noexcept=default
Default move constructor.
Definition Matrix.hpp:30
Definition pybind11Utils.hpp:21
std::function< bool(const T &, const BoundingBox< double, N > &)> BoxIntersectionTestFunc
N-D box-item intersection test function.
Definition IntersectionQueryEngine.hpp:55
std::function< bool(const T &, const Ray< double, N > &)> RayIntersectionTestFunc
N-D ray-item intersection test function.
Definition IntersectionQueryEngine.hpp:68
std::function< double(const T &, const Ray< double, N > &)> GetRayIntersectionFunc
N-D ray-item closest intersection evaluation function.
Definition IntersectionQueryEngine.hpp:81
std::function< double(const T &, const Vector< double, N > &)> ClosestIntersectionDistanceFunc
N-D closest intersection distance measure function.
Definition IntersectionQueryEngine.hpp:42
std::function< void(const T &)> IntersectionVisitorFunc
Visitor function which is invoked for each intersecting item.
Definition IntersectionQueryEngine.hpp:93
N-D closest intersection query result.
Definition IntersectionQueryEngine.hpp:26
double distance
Definition IntersectionQueryEngine.hpp:28
const T * item
Definition IntersectionQueryEngine.hpp:27
1.9.8