Abstract base class for 3-D intersection test query engine. More...
#include <Core/QueryEngine/IntersectionQueryEngine3.h>
Public Member Functions | |
virtual bool | IsIntersects (const BoundingBox3D &box, const BoxIntersectionTestFunc3< T > &testFunc) const =0 |
Returns true if given box intersects with any of the stored items. More... | |
virtual bool | IsIntersects (const Ray3D &ray, const RayIntersectionTestFunc3< T > &testFunc) const =0 |
Returns true if given ray intersects with any of the stored items. More... | |
virtual void | ForEachIntersectingItem (const BoundingBox3D &box, const BoxIntersectionTestFunc3< T > &testFunc, const IntersectionVisitorFunc3< T > &visitorFunc) const =0 |
Invokes visitorFunc for every intersecting items. More... | |
virtual void | ForEachIntersectingItem (const Ray3D &ray, const RayIntersectionTestFunc3< T > &testFunc, const IntersectionVisitorFunc3< T > &visitorFunc) const =0 |
Invokes visitorFunc for every intersecting items. More... | |
virtual ClosestIntersectionQueryResult3< T > | GetClosestIntersection (const Ray3D &ray, const GetRayIntersectionFunc3< T > &testFunc) const =0 |
Returns the closest intersection for given ray . More... | |
Detailed Description
template<typename T>
class CubbyFlow::IntersectionQueryEngine3< T >
Abstract base class for 3-D intersection test query engine.
Member Function Documentation
◆ ForEachIntersectingItem() [1/2]
|
pure virtual |
Invokes visitorFunc
for every intersecting items.
Implemented in CubbyFlow::Octree< T >, CubbyFlow::BVH3< T >, CubbyFlow::BVH3< Surface3Ptr >, CubbyFlow::BVH3< size_t >, CubbyFlow::BVH3< ImplicitSurface3Ptr >, and CubbyFlow::ListQueryEngine3< T >.
◆ ForEachIntersectingItem() [2/2]
|
pure virtual |
Invokes visitorFunc
for every intersecting items.
Implemented in CubbyFlow::Octree< T >, CubbyFlow::BVH3< T >, CubbyFlow::BVH3< Surface3Ptr >, CubbyFlow::BVH3< size_t >, CubbyFlow::BVH3< ImplicitSurface3Ptr >, and CubbyFlow::ListQueryEngine3< T >.
◆ GetClosestIntersection()
|
pure virtual |
Returns the closest intersection for given ray
.
Implemented in CubbyFlow::Octree< T >, CubbyFlow::BVH3< T >, CubbyFlow::BVH3< Surface3Ptr >, CubbyFlow::BVH3< size_t >, CubbyFlow::BVH3< ImplicitSurface3Ptr >, and CubbyFlow::ListQueryEngine3< T >.
◆ IsIntersects() [1/2]
|
pure virtual |
Returns true if given box
intersects with any of the stored items.
Implemented in CubbyFlow::Octree< T >, CubbyFlow::BVH3< T >, CubbyFlow::BVH3< Surface3Ptr >, CubbyFlow::BVH3< size_t >, CubbyFlow::BVH3< ImplicitSurface3Ptr >, and CubbyFlow::ListQueryEngine3< T >.
◆ IsIntersects() [2/2]
|
pure virtual |
Returns true if given ray
intersects with any of the stored items.
Implemented in CubbyFlow::Octree< T >, CubbyFlow::BVH3< T >, CubbyFlow::BVH3< Surface3Ptr >, CubbyFlow::BVH3< size_t >, CubbyFlow::BVH3< ImplicitSurface3Ptr >, and CubbyFlow::ListQueryEngine3< T >.
The documentation for this class was generated from the following file:
- Core/QueryEngine/IntersectionQueryEngine3.h