CubbyFlow::IntersectionQueryEngine3< T > Class Template Referenceabstract

Abstract base class for 3-D intersection test query engine. More...

#include <Core/QueryEngine/IntersectionQueryEngine3.h>

Inheritance diagram for CubbyFlow::IntersectionQueryEngine3< T >:
CubbyFlow::BVH3< T > CubbyFlow::ListQueryEngine3< T > CubbyFlow::Octree< T >

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]

template<typename T>
virtual void CubbyFlow::IntersectionQueryEngine3< T >::ForEachIntersectingItem ( const BoundingBox3D box,
const BoxIntersectionTestFunc3< T > &  testFunc,
const IntersectionVisitorFunc3< T > &  visitorFunc 
) const
pure virtual

◆ ForEachIntersectingItem() [2/2]

template<typename T>
virtual void CubbyFlow::IntersectionQueryEngine3< T >::ForEachIntersectingItem ( const Ray3D ray,
const RayIntersectionTestFunc3< T > &  testFunc,
const IntersectionVisitorFunc3< T > &  visitorFunc 
) const
pure virtual

◆ GetClosestIntersection()

template<typename T>
virtual ClosestIntersectionQueryResult3<T> CubbyFlow::IntersectionQueryEngine3< T >::GetClosestIntersection ( const Ray3D ray,
const GetRayIntersectionFunc3< T > &  testFunc 
) const
pure virtual

◆ IsIntersects() [1/2]

template<typename T>
virtual bool CubbyFlow::IntersectionQueryEngine3< T >::IsIntersects ( const BoundingBox3D box,
const BoxIntersectionTestFunc3< T > &  testFunc 
) const
pure virtual

◆ IsIntersects() [2/2]

template<typename T>
virtual bool CubbyFlow::IntersectionQueryEngine3< T >::IsIntersects ( const Ray3D ray,
const RayIntersectionTestFunc3< T > &  testFunc 
) const
pure virtual

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