Super4PCS Library  V1.1.2(719f5c0)
GlobalRegistration::Accelerators::PairExtraction::IntersectionFunctor< _Primitive, _Point, _dim, _Scalar > Struct Template Reference

Extract pairs of points by rasterizing primitives and collect points. More...

+ Collaboration diagram for GlobalRegistration::Accelerators::PairExtraction::IntersectionFunctor< _Primitive, _Point, _dim, _Scalar >:

Public Types

enum  { dim = _dim }
 
typedef _Point Point
 
typedef _Primitive Primitive
 
typedef _Scalar Scalar
 

Public Member Functions

template<class PrimitiveContainer , class PointContainer , class ProcessingFunctor >
void process (const PrimitiveContainer &M, const PointContainer &Q, Scalar &epsilon, unsigned int minNodeSize, ProcessingFunctor &functor)
 < Process the extracted pairs More...
 

Detailed Description

template<class _Primitive, class _Point, int _dim, typename _Scalar>
struct GlobalRegistration::Accelerators::PairExtraction::IntersectionFunctor< _Primitive, _Point, _dim, _Scalar >

Extract pairs of points by rasterizing primitives and collect points.

Acceleration technique used in Super4PCS

See also
BruteForceFunctor

Member Typedef Documentation

◆ Point

template<class _Primitive , class _Point , int _dim, typename _Scalar >
typedef _Point GlobalRegistration::Accelerators::PairExtraction::IntersectionFunctor< _Primitive, _Point, _dim, _Scalar >::Point

◆ Primitive

template<class _Primitive , class _Point , int _dim, typename _Scalar >
typedef _Primitive GlobalRegistration::Accelerators::PairExtraction::IntersectionFunctor< _Primitive, _Point, _dim, _Scalar >::Primitive

◆ Scalar

template<class _Primitive , class _Point , int _dim, typename _Scalar >
typedef _Scalar GlobalRegistration::Accelerators::PairExtraction::IntersectionFunctor< _Primitive, _Point, _dim, _Scalar >::Scalar

Member Enumeration Documentation

◆ anonymous enum

template<class _Primitive , class _Point , int _dim, typename _Scalar >
anonymous enum
Enumerator
dim 

Member Function Documentation

◆ process()

template<class Primitive , class Point , int dim, typename Scalar >
template<class PrimitiveContainer , class PointContainer , class ProcessingFunctor >
void GlobalRegistration::Accelerators::PairExtraction::IntersectionFunctor< Primitive, Point, dim, Scalar >::process ( const PrimitiveContainer &  M,
const PointContainer &  Q,
Scalar epsilon,
unsigned int  minNodeSize,
ProcessingFunctor &  functor 
)

< Process the extracted pairs

Returns
Pairs< PointId, PrimitiveId>
Parameters
MInput primitives to intersect with Q
QNormalized innput point set [0:1]^d
epsilonIntersection accuracy, refined
minNodeSizeMin number of points in nodes