Lagrange
Loading...
Searching...
No Matches
BVHNanoflann< _VertexArray, _ElementArray > Class Template Reference
Inheritance diagram for BVHNanoflann< _VertexArray, _ElementArray >:
BVH< _VertexArray, lagrange::Triangles >

Public Types

using Parent = BVH<_VertexArray, _ElementArray>
 
using VertexArray = typename Parent::VertexArray
 
using ElementArray = typename Parent::ElementArray
 
using Scalar = typename Parent::Scalar
 
using Index = typename Parent::Index
 
using PointType = typename Parent::PointType
 
using ClosestPoint = typename Parent::ClosestPoint
 
using KDTree = nanoflann::KDTreeEigenMatrixAdaptor<VertexArray>
 
- Public Types inherited from BVH< _VertexArray, lagrange::Triangles >
using VertexArray
 
using ElementArray
 
using Scalar
 
using Index
 
using PointType
 

Public Member Functions

BVHType get_bvh_type () const override
 Get the enum type.
 
bool does_support_pointcloud () const override
 Does it support supplying elements or just points?
 
bool does_support_triangles () const override
 
bool does_support_lines () const override
 
void build (const VertexArray &, const ElementArray &) override
 
void build (const VertexArray &vertices) override
 
bool does_support_query_closest_point () const override
 Query for the closest point.
 
ClosestPoint query_closest_point (const PointType &p) const override
 
bool does_support_query_k_nearest_neighbours () const override
 Query for the k nearest neighbours.
 
std::vector< ClosestPoint > query_k_nearest_neighbours (const PointType &p, int k) const override
 
bool does_support_query_in_sphere_neighbours () const override
 Query for the closest point with in radius.
 
std::vector< ClosestPoint > query_in_sphere_neighbours (const PointType &p, const Scalar radius) const override
 
std::vector< ClosestPoint > batch_query_closest_point (const VertexArray &query_pts) const override
 Batch query closest points.
 
- Public Member Functions inherited from BVH< _VertexArray, lagrange::Triangles >
virtual void build (const VertexArray &vertices, const ElementArray &elements)=0
 Construct bvh based on vertices and elements.
 

Additional Inherited Members

- Protected Member Functions inherited from BVH< _VertexArray, lagrange::Triangles >
std::vector< ClosestPoint > default_batch_query_closest_point (const VertexArray &query_pts) const
 

Member Function Documentation

◆ get_bvh_type()

template<typename _VertexArray, typename _ElementArray = lagrange::Triangles>
BVHType get_bvh_type ( ) const
inlineoverridevirtual

Get the enum type.

Implements BVH< _VertexArray, lagrange::Triangles >.

◆ does_support_pointcloud()

template<typename _VertexArray, typename _ElementArray = lagrange::Triangles>
bool does_support_pointcloud ( ) const
inlineoverridevirtual

Does it support supplying elements or just points?

By using this function the user can prevent accidentally calling build on a type that does not support elements, and face an exception.

Implements BVH< _VertexArray, lagrange::Triangles >.

◆ does_support_triangles()

template<typename _VertexArray, typename _ElementArray = lagrange::Triangles>
bool does_support_triangles ( ) const
inlineoverridevirtual

◆ does_support_lines()

template<typename _VertexArray, typename _ElementArray = lagrange::Triangles>
bool does_support_lines ( ) const
inlineoverridevirtual

◆ build()

template<typename _VertexArray, typename _ElementArray = lagrange::Triangles>
void build ( const VertexArray & vertices)
inlineoverridevirtual

◆ does_support_query_closest_point()

template<typename _VertexArray, typename _ElementArray = lagrange::Triangles>
bool does_support_query_closest_point ( ) const
inlineoverridevirtual

Query for the closest point.

Implements BVH< _VertexArray, lagrange::Triangles >.

◆ query_closest_point()

template<typename _VertexArray, typename _ElementArray = lagrange::Triangles>
ClosestPoint query_closest_point ( const PointType & p) const
inlineoverridevirtual

◆ does_support_query_k_nearest_neighbours()

template<typename _VertexArray, typename _ElementArray = lagrange::Triangles>
bool does_support_query_k_nearest_neighbours ( ) const
inlineoverridevirtual

Query for the k nearest neighbours.

Implements BVH< _VertexArray, lagrange::Triangles >.

◆ query_k_nearest_neighbours()

template<typename _VertexArray, typename _ElementArray = lagrange::Triangles>
std::vector< ClosestPoint > query_k_nearest_neighbours ( const PointType & p,
int k ) const
inlineoverridevirtual

◆ does_support_query_in_sphere_neighbours()

template<typename _VertexArray, typename _ElementArray = lagrange::Triangles>
bool does_support_query_in_sphere_neighbours ( ) const
inlineoverridevirtual

Query for the closest point with in radius.

Implements BVH< _VertexArray, lagrange::Triangles >.

◆ query_in_sphere_neighbours()

template<typename _VertexArray, typename _ElementArray = lagrange::Triangles>
std::vector< ClosestPoint > query_in_sphere_neighbours ( const PointType & p,
const Scalar radius ) const
inlineoverridevirtual

◆ batch_query_closest_point()

template<typename _VertexArray, typename _ElementArray = lagrange::Triangles>
std::vector< ClosestPoint > batch_query_closest_point ( const VertexArray & query_pts) const
inlineoverridevirtual

Batch query closest points.

Implements BVH< _VertexArray, lagrange::Triangles >.


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