gr::IndexedNormalHealSet Class Reference

Work only in 3D, based on healpix. More...

#include <normalHealSet.h>

+ Collaboration diagram for gr::IndexedNormalHealSet:

Public Types

enum  { INDEX_VALIDATION_ENABLED = VALIDATE_INDICES }
 State of the index validation, disabled when compiled in release mode. More...
 
typedef std::vector< std::vector< unsigned int > > ChealMap
 
typedef Eigen::Vector3i Index3D
 
typedef Eigen::Vector3d Point
 
using Scalar = double
 

Public Member Functions

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...
 
std::vector< ChealMap * > getEpsilonMaps (const Point &p)
 
ChealMapgetMap (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...
 
 IndexedNormalHealSet (double epsilon, int resolution=4)
 
bool isValid () const
 
virtual ~IndexedNormalHealSet ()
 

Detailed Description

Work only in 3D, based on healpix.

Scalar are constrained to be double Points are constrained to be Eigen vec3d

Member Typedef Documentation

typedef std::vector<std::vector<unsigned int> > gr::IndexedNormalHealSet::ChealMap
typedef Eigen::Vector3i gr::IndexedNormalHealSet::Index3D
typedef Eigen::Vector3d gr::IndexedNormalHealSet::Point

Member Enumeration Documentation

anonymous enum

State of the index validation, disabled when compiled in release mode.

Enumerator
INDEX_VALIDATION_ENABLED 

Constructor & Destructor Documentation

gr::IndexedNormalHealSet::IndexedNormalHealSet ( double  epsilon,
int  resolution = 4 
)
inline
virtual gr::IndexedNormalHealSet::~IndexedNormalHealSet ( )
inlinevirtual

Member Function Documentation

template<typename PointT >
bool gr::IndexedNormalHealSet::addElement ( const PointT &  pos,
const PointT &  normal,
unsigned int  id 
)

Add a new couple pos/normal, and its associated id.

Template functions.

std::vector<ChealMap*> gr::IndexedNormalHealSet::getEpsilonMaps ( const Point p)
inline
Returns
a vector of maps containing points that can be close to p (according to input epsilon)
ChealMap* gr::IndexedNormalHealSet::getMap ( const Point p)
inline
Returns
NULL if the grid does not exist or p is out of bound
template<typename PointT >
void gr::IndexedNormalHealSet::getNeighbors ( const PointT &  p,
std::vector< unsigned int > &  nei 
)

Get closest points in euclidean space.

+ Here is the call graph for this function:

template<typename PointT >
void gr::IndexedNormalHealSet::getNeighbors ( const PointT &  p,
const PointT &  n,
std::vector< unsigned int > &  nei 
)

Get closest points in euclidean an normal space.

+ Here is the call graph for this function:

template<typename PointT >
void gr::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.

+ Here is the call graph for this function:

bool gr::IndexedNormalHealSet::isValid ( ) const
inline

The documentation for this class was generated from the following file: