Go to the documentation of this file.
7 #ifndef INCLUDE_JET_LIST_QUERY_ENGINE2_H_
8 #define INCLUDE_JET_LIST_QUERY_ENGINE2_H_
22 void add(
const T& item);
25 void add(
const std::vector<T>& items);
57 std::vector<T> _items;
62 #include "detail/list_query_engine2-inl.h"
64 #endif // INCLUDE_JET_LIST_QUERY_ENGINE2_H_
Abstract base class for 2-D intersection test query engine.
Definition: intersection_query_engine2.h:48
Ad-hoc list-based 2-D intersection/nearest-neighbor query engine.
Definition: list_query_engine2.h:19
bool intersects(const Ray2D &ray, const RayIntersectionTestFunc2< T > &testFunc) const override
Returns true if given ray intersects with any of the stored items.
Class for 2-D ray.
Definition: ray2.h:21
Nearest neighbor query result.
Definition: nearest_neighbor_query_engine2.h:19
Definition: advection_solver2.h:18
std::function< bool(const T &, const BoundingBox2D &)> BoxIntersectionTestFunc2
Box-item intersection test function.
Definition: intersection_query_engine2.h:32
ClosestIntersectionQueryResult2< T > closestIntersection(const Ray2D &ray, const GetRayIntersectionFunc2< T > &testFunc) const override
Returns the closest intersection for given ray.
2-D vector class.
Definition: vector2.h:24
Abstract base class for 2-D nearest neigbor query engine.
Definition: nearest_neighbor_query_engine2.h:31
bool intersects(const BoundingBox2D &box, const BoxIntersectionTestFunc2< T > &testFunc) const override
Returns true if given box intersects with any of the stored items.
std::function< double(const T &, const Ray2D &)> GetRayIntersectionFunc2
Ray-item closest intersection evaluation function.
Definition: intersection_query_engine2.h:40
std::function< double(const T &, const Vector2D &)> NearestNeighborDistanceFunc2
Nearest neighbor distance measure function.
Definition: nearest_neighbor_query_engine2.h:27
std::function< void(const T &)> IntersectionVisitorFunc2
Visitor function which is invoked for each intersecting item.
Definition: intersection_query_engine2.h:44
2-D axis-aligned bounding box class.
Definition: bounding_box2.h:41
void forEachIntersectingItem(const Ray2D &ray, const RayIntersectionTestFunc2< T > &testFunc, const IntersectionVisitorFunc2< T > &visitorFunc) const override
Invokes visitorFunc for every intersecting items.
void add(const std::vector< T > &items)
Adds items to the container.
void forEachIntersectingItem(const BoundingBox2D &box, const BoxIntersectionTestFunc2< T > &testFunc, const IntersectionVisitorFunc2< T > &visitorFunc) const override
Invokes visitorFunc for every intersecting items.
NearestNeighborQueryResult2< T > nearest(const Vector2D &pt, const NearestNeighborDistanceFunc2< T > &distanceFunc) const override
void add(const T &item)
Adds an item to the container.
Closest intersection query result.
Definition: intersection_query_engine2.h:19
std::function< bool(const T &, const Ray2D &)> RayIntersectionTestFunc2
Ray-item intersection test function.
Definition: intersection_query_engine2.h:36