Super4PCS Library  V1.1.2(719f5c0)
GlobalRegistration::Accelerators::PairExtraction::HyperSphere< Point, _dim, Scalar > Class Template Reference
+ Collaboration diagram for GlobalRegistration::Accelerators::PairExtraction::HyperSphere< Point, _dim, Scalar >:

Public Types

enum  { Dim = _dim }
 

Public Member Functions

 HyperSphere (const Point &center, Scalar radius)
 
 HyperSphere (const HyperSphere< Point, _dim, Scalar > &other)
 
HyperSphere< Point, _dim, Scalar > quantified (Scalar eps) const
 Construct a copy of the instance with a quantified radius and pos. More...
 
bool operator< (const HyperSphere< Point, _dim, Scalar > &other) const
 Comparison operator comparing first the radius then the position. More...
 
 operator Point () const
 Implicit conversion operator to Eigen vectors. More...
 
bool intersect (const Point &nodeCenter, Scalar halfEdgeLength) const
 
bool intersectFast (const Point &nodeCenter, Scalar halfEdgeLength) const
 intersectFast Fast but inacurate intersection test More...
 
bool intersectPoint (const Point &pos, Scalar epsilon) const
 
const Point & center () const
 
const Scalar & radius () const
 
Scalar & radius ()
 

Static Public Member Functions

static bool intersectPoint (const Point &pos, Scalar epsilon, const Point &center, const Scalar &radius)
 

Member Enumeration Documentation

◆ anonymous enum

template<class Point, int _dim, typename Scalar>
anonymous enum
Enumerator
Dim 

Constructor & Destructor Documentation

◆ HyperSphere() [1/2]

template<class Point, int _dim, typename Scalar>
GlobalRegistration::Accelerators::PairExtraction::HyperSphere< Point, _dim, Scalar >::HyperSphere ( const Point &  center,
Scalar  radius 
)
inline

◆ HyperSphere() [2/2]

template<class Point, int _dim, typename Scalar>
GlobalRegistration::Accelerators::PairExtraction::HyperSphere< Point, _dim, Scalar >::HyperSphere ( const HyperSphere< Point, _dim, Scalar > &  other)
inline

Member Function Documentation

◆ center()

template<class Point, int _dim, typename Scalar>
const Point& GlobalRegistration::Accelerators::PairExtraction::HyperSphere< Point, _dim, Scalar >::center ( ) const
inline

◆ intersect()

template<class Point, int _dim, typename Scalar>
bool GlobalRegistration::Accelerators::PairExtraction::HyperSphere< Point, _dim, Scalar >::intersect ( const Point &  nodeCenter,
Scalar  halfEdgeLength 
) const
inline

, James, A Simple Method for Box-Sphere Intersection Testing, Graphics Gems, p. 335-339, code: p. 730-732, BoxSphere.c.

◆ intersectFast()

template<class Point, int _dim, typename Scalar>
bool GlobalRegistration::Accelerators::PairExtraction::HyperSphere< Point, _dim, Scalar >::intersectFast ( const Point &  nodeCenter,
Scalar  halfEdgeLength 
) const
inline

intersectFast Fast but inacurate intersection test

Parameters
nodeCenter
halfEdgeLength
Returns

Check if the node center is inside the Hypersphere (radius grown by halfEdgeLength.

◆ intersectPoint() [1/2]

template<class Point, int _dim, typename Scalar>
bool GlobalRegistration::Accelerators::PairExtraction::HyperSphere< Point, _dim, Scalar >::intersectPoint ( const Point &  pos,
Scalar  epsilon 
) const
inline

◆ intersectPoint() [2/2]

template<class Point, int _dim, typename Scalar>
static bool GlobalRegistration::Accelerators::PairExtraction::HyperSphere< Point, _dim, Scalar >::intersectPoint ( const Point &  pos,
Scalar  epsilon,
const Point &  center,
const Scalar &  radius 
)
inlinestatic

◆ operator Point()

template<class Point, int _dim, typename Scalar>
GlobalRegistration::Accelerators::PairExtraction::HyperSphere< Point, _dim, Scalar >::operator Point ( ) const
inline

Implicit conversion operator to Eigen vectors.

◆ operator<()

template<class Point, int _dim, typename Scalar>
bool GlobalRegistration::Accelerators::PairExtraction::HyperSphere< Point, _dim, Scalar >::operator< ( const HyperSphere< Point, _dim, Scalar > &  other) const
inline

Comparison operator comparing first the radius then the position.

◆ quantified()

template<class Point, int _dim, typename Scalar>
HyperSphere<Point, _dim, Scalar> GlobalRegistration::Accelerators::PairExtraction::HyperSphere< Point, _dim, Scalar >::quantified ( Scalar  eps) const
inline

Construct a copy of the instance with a quantified radius and pos.

◆ radius() [1/2]

template<class Point, int _dim, typename Scalar>
const Scalar& GlobalRegistration::Accelerators::PairExtraction::HyperSphere< Point, _dim, Scalar >::radius ( ) const
inline

◆ radius() [2/2]

template<class Point, int _dim, typename Scalar>
Scalar& GlobalRegistration::Accelerators::PairExtraction::HyperSphere< Point, _dim, Scalar >::radius ( )
inline