CubbyFlow::ListQueryEngine3< T > Class Template Referencefinal

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

#include <Core/QueryEngine/ListQueryEngine3.h>

Inheritance diagram for CubbyFlow::ListQueryEngine3< T >:
CubbyFlow::IntersectionQueryEngine3< T > CubbyFlow::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 IsIntersects (const BoundingBox3D &box, const BoxIntersectionTestFunc3< T > &testFunc) const override
 Returns true if given box intersects with any of the stored items. More...
 
bool IsIntersects (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 > GetClosestIntersection (const Ray3D &ray, const GetRayIntersectionFunc3< T > &testFunc) const override
 Returns the closest intersection for given ray. More...
 
NearestNeighborQueryResult3< T > GetNearestNeighbor (const Vector3D &pt, const NearestNeighborDistanceFunc3< T > &distanceFunc) const override
 Returns the nearest neighbor for given point and distance measure function. More...
 

Detailed Description

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

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

Member Function Documentation

◆ Add() [1/2]

template<typename T >
void CubbyFlow::ListQueryEngine3< T >::Add ( const T &  item)

Adds an item to the container.

◆ Add() [2/2]

template<typename T >
void CubbyFlow::ListQueryEngine3< T >::Add ( const std::vector< T > &  items)

Adds items to the container.

◆ ForEachIntersectingItem() [1/2]

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

Invokes visitorFunc for every intersecting items.

Implements CubbyFlow::IntersectionQueryEngine3< T >.

◆ ForEachIntersectingItem() [2/2]

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

Invokes visitorFunc for every intersecting items.

Implements CubbyFlow::IntersectionQueryEngine3< T >.

◆ GetClosestIntersection()

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

Returns the closest intersection for given ray.

Implements CubbyFlow::IntersectionQueryEngine3< T >.

◆ GetNearestNeighbor()

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

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

Implements CubbyFlow::NearestNeighborQueryEngine3< T >.

◆ IsIntersects() [1/2]

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

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

Implements CubbyFlow::IntersectionQueryEngine3< T >.

◆ IsIntersects() [2/2]

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

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

Implements CubbyFlow::IntersectionQueryEngine3< T >.


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