BVH3.h
Go to the documentation of this file.
Abstract base class for 3-D nearest neighbor query engine.
Definition: NearestNeighborQueryEngine3.h:30
void ForEachIntersectingItem(const BoundingBox3D &box, const BoxIntersectionTestFunc3< T > &testFunc, const IntersectionVisitorFunc3< T > &visitorFunc) const override
Invokes visitorFunc for every intersecting items.
Definition: BVH3-Impl.h:335
typename ContainerType::iterator Iterator
Definition: BVH3.h:30
size_t GetNumberOfItems() const
Returns the number of items.
Definition: BVH3-Impl.h:589
Iterator begin()
Returns the begin iterator of the item.
Definition: BVH3-Impl.h:565
std::function< bool(const T &, const BoundingBox3D &)> BoxIntersectionTestFunc3
Box-item intersection test function.
Definition: IntersectionQueryEngine3.h:31
ClosestIntersectionQueryResult3< T > GetClosestIntersection(const Ray3D &ray, const GetRayIntersectionFunc3< T > &testFunc) const override
Returns the closest intersection for given ray.
Definition: BVH3-Impl.h:476
BoundingBox3< double > BoundingBox3D
Double-type 3-D BoundingBox.
Definition: BoundingBox3.h:129
std::function< double(const T &, const Ray3D &)> GetRayIntersectionFunc3
Ray-item closest intersection evaluation function.
Definition: IntersectionQueryEngine3.h:39
Definition: pybind11Utils.h:24
Closest intersection query result.
Definition: IntersectionQueryEngine3.h:19
std::vector< ImplicitSurface3Ptr > ContainerType
Definition: BVH3.h:29
bool IsIntersects(const BoundingBox3D &box, const BoxIntersectionTestFunc3< T > &testFunc) const override
Returns true if given box intersects with any of the stored items.
Definition: BVH3-Impl.h:192
void Clear()
Clears all the contents of this instance.
Definition: BVH3-Impl.h:76
const T & GetItem(size_t i) const
Returns the item at i.
Definition: BVH3-Impl.h:595
std::function< void(const T &)> IntersectionVisitorFunc3
Visitor function which is invoked for each intersecting item.
Definition: IntersectionQueryEngine3.h:43
std::function< bool(const T &, const Ray3D &)> RayIntersectionTestFunc3
Ray-item intersection test function.
Definition: IntersectionQueryEngine3.h:35
void Build(const std::vector< T > &items, const std::vector< BoundingBox3D > &itemsBounds)
Builds bounding volume hierarchy.
Definition: BVH3-Impl.h:51
typename ContainerType::const_iterator ConstIterator
Definition: BVH3.h:31
Nearest neighbor query result.
Definition: NearestNeighborQueryEngine3.h:18
const BoundingBox3D & GetBoundingBox() const
Returns bounding box of every items.
Definition: BVH3-Impl.h:559
NearestNeighborQueryResult3< T > GetNearestNeighbor(const Vector3D &pt, const NearestNeighborDistanceFunc3< T > &distanceFunc) const override
Definition: BVH3-Impl.h:85
Abstract base class for 3-D intersection test query engine.
Definition: IntersectionQueryEngine3.h:47
std::function< double(const T &, const Vector3D &)> NearestNeighborDistanceFunc3
Nearest neighbor distance measure function.
Definition: NearestNeighborQueryEngine3.h:26