Lagrange
AABBIGL< _VertexArray, _ElementArray > Class Template Reference

Inherits 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 AABB = igl::AABB< VertexArray, 3 >
 
- Public Types inherited from BVH< _VertexArray, lagrange::Triangles >
using VertexArray = _VertexArray
 
using ElementArray = lagrange::Triangles
 
using Scalar = typename VertexArray::Scalar
 
using Index = typename ElementArray::Scalar
 
using PointType = Eigen::Matrix< Scalar, 1, VertexArray::ColsAtCompileTime >
 

Public Member Functions

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

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()

BVHType get_bvh_type ( ) const
inlineoverridevirtual

Get the enum type.

Implements BVH< _VertexArray, lagrange::Triangles >.

◆ does_support_pointcloud()

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()

bool does_support_triangles ( ) const
inlineoverridevirtual

◆ does_support_lines()

bool does_support_lines ( ) const
inlineoverridevirtual

◆ build()

void build ( const VertexArray &  )
inlineoverridevirtual

◆ does_support_query_closest_point()

bool does_support_query_closest_point ( ) const
inlineoverridevirtual

Query for the closest point.

Implements BVH< _VertexArray, lagrange::Triangles >.

◆ query_closest_point()

ClosestPoint query_closest_point ( const PointType &  p) const
inlineoverridevirtual

◆ does_support_query_k_nearest_neighbours()

bool does_support_query_k_nearest_neighbours ( ) const
inlineoverridevirtual

Query for the k nearest neighbours.

Implements BVH< _VertexArray, lagrange::Triangles >.

◆ query_k_nearest_neighbours()

std::vector< ClosestPoint > query_k_nearest_neighbours ( const PointType &  p,
int  k 
) const
inlineoverridevirtual

◆ does_support_query_in_sphere_neighbours()

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()

std::vector< ClosestPoint > query_in_sphere_neighbours ( const PointType &  ,
const  Scalar 
) const
inlineoverridevirtual

◆ batch_query_closest_point()

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: