Work only in 3D, based on healpix. More...
Public Types | |
enum | { INDEX_VALIDATION_ENABLED = VALIDATE_INDICES } |
State of the index validation, disabled when compiled in release mode. More... | |
using | Scalar = double |
typedef Eigen::Vector3d | Point |
typedef Eigen::Vector3i | Index3D |
typedef std::vector< std::vector< unsigned int > > | ChealMap |
Public Member Functions | |
IndexedNormalHealSet (double epsilon, int resolution=4) | |
virtual | ~IndexedNormalHealSet () |
template<typename PointT > | |
bool | addElement (const PointT &pos, const PointT &normal, unsigned int id) |
Add a new couple pos/normal, and its associated id. More... | |
ChealMap * | getMap (const Point &p) |
std::vector< ChealMap * > | getEpsilonMaps (const Point &p) |
template<typename PointT > | |
void | getNeighbors (const PointT &p, std::vector< unsigned int > &nei) |
Get closest points in euclidean space. More... | |
template<typename PointT > | |
void | getNeighbors (const PointT &p, const PointT &n, std::vector< unsigned int > &nei) |
Get closest points in euclidean an normal space. More... | |
template<typename PointT > | |
void | getNeighbors (const PointT &p, const PointT &n, double alpha, std::vector< unsigned int > &nei) |
Get closest poitns in euclidean an normal space with angular deviation. More... | |
bool | isValid () const |
Work only in 3D, based on healpix.
Scalar are constrained to be double Points are constrained to be Eigen vec3d
typedef std::vector<std::vector<unsigned int> > GlobalRegistration::IndexedNormalHealSet::ChealMap |
typedef Eigen::Vector3i GlobalRegistration::IndexedNormalHealSet::Index3D |
typedef Eigen::Vector3d GlobalRegistration::IndexedNormalHealSet::Point |
using GlobalRegistration::IndexedNormalHealSet::Scalar = double |
anonymous enum |
|
inline |
|
inlinevirtual |
bool GlobalRegistration::IndexedNormalHealSet::addElement | ( | const PointT & | pos, |
const PointT & | normal, | ||
unsigned int | id | ||
) |
Add a new couple pos/normal, and its associated id.
Template functions.
|
inline |
void GlobalRegistration::IndexedNormalHealSet::getNeighbors | ( | const PointT & | p, |
std::vector< unsigned int > & | nei | ||
) |
Get closest points in euclidean space.
void GlobalRegistration::IndexedNormalHealSet::getNeighbors | ( | const PointT & | p, |
const PointT & | n, | ||
std::vector< unsigned int > & | nei | ||
) |
Get closest points in euclidean an normal space.
void GlobalRegistration::IndexedNormalHealSet::getNeighbors | ( | const PointT & | p, |
const PointT & | n, | ||
double | alpha, | ||
std::vector< unsigned int > & | nei | ||
) |
Get closest poitns in euclidean an normal space with angular deviation.
|
inline |