Jet  v1.3.3
Public Member Functions | List of all members
jet::ListQueryEngine3< T > Class Template Referencefinal

Ad-hoc list-based 3-D intersection/nearest-neighbor query engine. More...

#include <jet/list_query_engine3.h>

Inheritance diagram for jet::ListQueryEngine3< T >:
jet::IntersectionQueryEngine3< T > jet::NearestNeighborQueryEngine3< T >

Public Member Functions

void add (const T &item)
 Adds an item to the container. More...
 
void add (const std::vector< T > &items)
 Adds items to the container. More...
 
bool intersects (const BoundingBox3D &box, const BoxIntersectionTestFunc3< T > &testFunc) const override
 Returns true if given box intersects with any of the stored items. More...
 
bool intersects (const Ray3D &ray, const RayIntersectionTestFunc3< T > &testFunc) const override
 Returns true if given ray intersects with any of the stored items. More...
 
void forEachIntersectingItem (const BoundingBox3D &box, const BoxIntersectionTestFunc3< T > &testFunc, const IntersectionVisitorFunc3< T > &visitorFunc) const override
 Invokes visitorFunc for every intersecting items. More...
 
void forEachIntersectingItem (const Ray3D &ray, const RayIntersectionTestFunc3< T > &testFunc, const IntersectionVisitorFunc3< T > &visitorFunc) const override
 Invokes visitorFunc for every intersecting items. More...
 
ClosestIntersectionQueryResult3< T > closestIntersection (const Ray3D &ray, const GetRayIntersectionFunc3< T > &testFunc) const override
 Returns the closest intersection for given ray. More...
 
NearestNeighborQueryResult3< T > nearest (const Vector3D &pt, const NearestNeighborDistanceFunc3< T > &distanceFunc) const override
 

Detailed Description

template<typename T>
class jet::ListQueryEngine3< T >

Ad-hoc list-based 3-D intersection/nearest-neighbor query engine.

Member Function Documentation

◆ add() [1/2]

template<typename T >
void jet::ListQueryEngine3< T >::add ( const std::vector< T > &  items)

Adds items to the container.

◆ add() [2/2]

template<typename T >
void jet::ListQueryEngine3< T >::add ( const T &  item)

Adds an item to the container.

◆ closestIntersection()

template<typename T >
ClosestIntersectionQueryResult3<T> jet::ListQueryEngine3< T >::closestIntersection ( const Ray3D ray,
const GetRayIntersectionFunc3< T > &  testFunc 
) const
overridevirtual

Returns the closest intersection for given ray.

Implements jet::IntersectionQueryEngine3< T >.

◆ forEachIntersectingItem() [1/2]

template<typename T >
void jet::ListQueryEngine3< T >::forEachIntersectingItem ( const BoundingBox3D box,
const BoxIntersectionTestFunc3< T > &  testFunc,
const IntersectionVisitorFunc3< T > &  visitorFunc 
) const
overridevirtual

Invokes visitorFunc for every intersecting items.

Implements jet::IntersectionQueryEngine3< T >.

◆ forEachIntersectingItem() [2/2]

template<typename T >
void jet::ListQueryEngine3< T >::forEachIntersectingItem ( const Ray3D ray,
const RayIntersectionTestFunc3< T > &  testFunc,
const IntersectionVisitorFunc3< T > &  visitorFunc 
) const
overridevirtual

Invokes visitorFunc for every intersecting items.

Implements jet::IntersectionQueryEngine3< T >.

◆ intersects() [1/2]

template<typename T >
bool jet::ListQueryEngine3< T >::intersects ( const BoundingBox3D box,
const BoxIntersectionTestFunc3< T > &  testFunc 
) const
overridevirtual

Returns true if given box intersects with any of the stored items.

Implements jet::IntersectionQueryEngine3< T >.

◆ intersects() [2/2]

template<typename T >
bool jet::ListQueryEngine3< T >::intersects ( const Ray3D ray,
const RayIntersectionTestFunc3< T > &  testFunc 
) const
overridevirtual

Returns true if given ray intersects with any of the stored items.

Implements jet::IntersectionQueryEngine3< T >.

◆ nearest()

template<typename T >
NearestNeighborQueryResult3<T> jet::ListQueryEngine3< T >::nearest ( const Vector3D pt,
const NearestNeighborDistanceFunc3< T > &  distanceFunc 
) const
overridevirtual

Returns the nearest neighbor for given point and distance measure function.

Implements jet::NearestNeighborQueryEngine3< T >.


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