Lagrange
BVH< _VertexArray, _ElementArray > Class Template Referenceabstract

Classes

struct  ClosestPoint
 

Public Types

using VertexArray = _VertexArray
 
using ElementArray = _ElementArray
 
using Scalar = typename VertexArray::Scalar
 
using Index = typename ElementArray::Scalar
 
using PointType = Eigen::Matrix< Scalar, 1, VertexArray::ColsAtCompileTime >
 

Public Member Functions

virtual BVHType get_bvh_type () const =0
 Get the enum type. More...
 
virtual bool does_support_pointcloud () const =0
 Does it support supplying elements or just points? More...
 
virtual bool does_support_triangles () const =0
 
virtual bool does_support_lines () const =0
 
virtual void build (const VertexArray &vertices, const ElementArray &elements)=0
 Construct bvh based on vertices and elements.
 
virtual void build (const VertexArray &vertices)=0
 
virtual bool does_support_query_closest_point () const =0
 Query for the closest point. More...
 
virtual ClosestPoint query_closest_point (const PointType &p) const =0
 
virtual bool does_support_query_k_nearest_neighbours () const =0
 Query for the k nearest neighbours. More...
 
virtual std::vector< ClosestPointquery_k_nearest_neighbours (const PointType &p, int k) const =0
 
virtual bool does_support_query_in_sphere_neighbours () const =0
 Query for the closest point with in radius. More...
 
virtual std::vector< ClosestPointquery_in_sphere_neighbours (const PointType &p, const Scalar radius) const =0
 
virtual std::vector< ClosestPointbatch_query_closest_point (const VertexArray &query_pts) const =0
 Batch query closest points. More...
 

Protected Member Functions

std::vector< ClosestPointdefault_batch_query_closest_point (const VertexArray &query_pts) const
 

Member Function Documentation

◆ get_bvh_type()

virtual BVHType get_bvh_type ( ) const
pure virtual

◆ does_support_pointcloud()

virtual bool does_support_pointcloud ( ) const
pure virtual

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.

Implemented in AABBIGL< _VertexArray, _ElementArray >, and BVHNanoflann< _VertexArray, _ElementArray >.

◆ does_support_query_closest_point()

virtual bool does_support_query_closest_point ( ) const
pure virtual

◆ does_support_query_k_nearest_neighbours()

virtual bool does_support_query_k_nearest_neighbours ( ) const
pure virtual

Query for the k nearest neighbours.

Implemented in AABBIGL< _VertexArray, _ElementArray >, and BVHNanoflann< _VertexArray, _ElementArray >.

◆ does_support_query_in_sphere_neighbours()

virtual bool does_support_query_in_sphere_neighbours ( ) const
pure virtual

Query for the closest point with in radius.

Implemented in AABBIGL< _VertexArray, _ElementArray >, and BVHNanoflann< _VertexArray, _ElementArray >.

◆ batch_query_closest_point()

virtual std::vector< ClosestPoint > batch_query_closest_point ( const VertexArray &  query_pts) const
pure virtual

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