Super4PCS Library  V1.1.2(719f5c0)
GlobalRegistration::PairCreationFunctor< _Scalar > Struct Template Reference
+ Inheritance diagram for GlobalRegistration::PairCreationFunctor< _Scalar >:
+ Collaboration diagram for GlobalRegistration::PairCreationFunctor< _Scalar >:

Public Types

using Scalar = _Scalar
 
using PairsVector = std::vector< std::pair< int, int > >
 
using VectorType = typename Point3D::VectorType
 
typedef Eigen::Matrix< Scalar, 3, 1 > Point
 
typedef Accelerators::PairExtraction::HyperSphere< typename PairCreationFunctor::Point, 3, ScalarPrimitive
 

Public Member Functions

 PairCreationFunctor (Match4PCSOptions options, const std::vector< Point3D > &Q)
 
Point unitToWorld (const Eigen::MatrixBase< typename PairCreationFunctor::Point > &p) const
 
Scalar unitToWorld (Scalar d) const
 
Point getPointInWorldCoord (int i) const
 
void synch3DContent ()
 
void setRadius (Scalar radius)
 
Scalar getNormalizedEpsilon (Scalar eps)
 
void setBase (int base_point1, int base_point2, const std::vector< Point3D > &base_3D)
 
void beginPrimitiveCollect (int)
 
void endPrimitiveCollect (int)
 
void process (int i, int j)
 FIXME Pair filtering is the same than 4pcs. Need refactoring. More...
 

Public Attributes

Scalar norm_threshold
 
double pair_normals_angle
 
double pair_distance
 
double pair_distance_epsilon
 
Match4PCSOptions options_
 
const std::vector< Point3D > & Q_
 
PairsVectorpairs
 
std::vector< unsigned int > ids
 
std::vector< typename PairCreationFunctor::Pointpoints
 
std::vector< Primitiveprimitives
 

Member Typedef Documentation

◆ PairsVector

template<typename _Scalar>
using GlobalRegistration::PairCreationFunctor< _Scalar >::PairsVector = std::vector<std::pair<int, int> >

◆ Point

template<typename _Scalar>
typedef Eigen::Matrix<Scalar, 3, 1> GlobalRegistration::PairCreationFunctor< _Scalar >::Point

◆ Primitive

◆ Scalar

template<typename _Scalar>
using GlobalRegistration::PairCreationFunctor< _Scalar >::Scalar = _Scalar

◆ VectorType

template<typename _Scalar>
using GlobalRegistration::PairCreationFunctor< _Scalar >::VectorType = typename Point3D::VectorType

Constructor & Destructor Documentation

◆ PairCreationFunctor()

template<typename _Scalar>
GlobalRegistration::PairCreationFunctor< _Scalar >::PairCreationFunctor ( Match4PCSOptions  options,
const std::vector< Point3D > &  Q 
)
inline

Member Function Documentation

◆ beginPrimitiveCollect()

template<typename _Scalar>
void GlobalRegistration::PairCreationFunctor< _Scalar >::beginPrimitiveCollect ( int  )
inline

◆ endPrimitiveCollect()

template<typename _Scalar>
void GlobalRegistration::PairCreationFunctor< _Scalar >::endPrimitiveCollect ( int  )
inline

◆ getNormalizedEpsilon()

template<typename _Scalar>
Scalar GlobalRegistration::PairCreationFunctor< _Scalar >::getNormalizedEpsilon ( Scalar  eps)
inline

◆ getPointInWorldCoord()

template<typename _Scalar>
Point GlobalRegistration::PairCreationFunctor< _Scalar >::getPointInWorldCoord ( int  i) const
inline

◆ process()

template<typename _Scalar>
void GlobalRegistration::PairCreationFunctor< _Scalar >::process ( int  i,
int  j 
)
inline

FIXME Pair filtering is the same than 4pcs. Need refactoring.

◆ setBase()

template<typename _Scalar>
void GlobalRegistration::PairCreationFunctor< _Scalar >::setBase ( int  base_point1,
int  base_point2,
const std::vector< Point3D > &  base_3D 
)
inline

◆ setRadius()

template<typename _Scalar>
void GlobalRegistration::PairCreationFunctor< _Scalar >::setRadius ( Scalar  radius)
inline

◆ synch3DContent()

template<typename _Scalar>
void GlobalRegistration::PairCreationFunctor< _Scalar >::synch3DContent ( )
inline

◆ unitToWorld() [1/2]

template<typename _Scalar>
Point GlobalRegistration::PairCreationFunctor< _Scalar >::unitToWorld ( const Eigen::MatrixBase< typename PairCreationFunctor< _Scalar >::Point > &  p) const
inline

◆ unitToWorld() [2/2]

template<typename _Scalar>
Scalar GlobalRegistration::PairCreationFunctor< _Scalar >::unitToWorld ( Scalar  d) const
inline

Member Data Documentation

◆ ids

template<typename _Scalar>
std::vector<unsigned int> GlobalRegistration::PairCreationFunctor< _Scalar >::ids

◆ norm_threshold

template<typename _Scalar>
Scalar GlobalRegistration::PairCreationFunctor< _Scalar >::norm_threshold

◆ options_

template<typename _Scalar>
Match4PCSOptions GlobalRegistration::PairCreationFunctor< _Scalar >::options_

◆ pair_distance

template<typename _Scalar>
double GlobalRegistration::PairCreationFunctor< _Scalar >::pair_distance

◆ pair_distance_epsilon

template<typename _Scalar>
double GlobalRegistration::PairCreationFunctor< _Scalar >::pair_distance_epsilon

◆ pair_normals_angle

template<typename _Scalar>
double GlobalRegistration::PairCreationFunctor< _Scalar >::pair_normals_angle

◆ pairs

template<typename _Scalar>
PairsVector* GlobalRegistration::PairCreationFunctor< _Scalar >::pairs

◆ points

template<typename _Scalar>
std::vector< typename PairCreationFunctor::Point > GlobalRegistration::PairCreationFunctor< _Scalar >::points

◆ primitives

template<typename _Scalar>
std::vector< Primitive > GlobalRegistration::PairCreationFunctor< _Scalar >::primitives

◆ Q_

template<typename _Scalar>
const std::vector<Point3D>& GlobalRegistration::PairCreationFunctor< _Scalar >::Q_