gr::IndexedNormalSet< Point, dim, _ngSize, _Scalar > Struct Template Reference
Normal set indexed by a position in euclidean space. More...
#include <normalset.h>
Collaboration diagram for gr::IndexedNormalSet< Point, dim, _ngSize, _Scalar >:
Public Types | |
typedef std::array< std::vector< unsigned int >, Utils::POW(_ngSize, dim)> | AngularGrid |
enum | MOVE_DIR { POSITIVE, NEGATIVE } |
using | NeiIdsBox = typename gr::Utils::OneRingNeighborhood::NeighborhoodType< dim >::type |
using | Scalar = _Scalar |
Public Member Functions | |
bool | addElement (const Point &pos, const Point &normal, unsigned int id) |
Add a new couple pos/normal, and its associated id. More... | |
AngularGrid * | angularGrid (const Point &p) |
std::vector< AngularGrid * > | angularGrids (const Point &p) |
void | getNeighbors (const Point &p, std::vector< unsigned int > &nei) |
Get closest points in euclidean space. More... | |
void | getNeighbors (const Point &p, const Point &n, std::vector< unsigned int > &nei) |
Get closest points in euclidean an normal space. More... | |
void | getNeighbors (const Point &p, const Point &n, Scalar alpha, std::vector< unsigned int > &nei, bool tryReverse=false) |
Get closest poitns in euclidean an normal space with angular deviation. More... | |
IndexedNormalSet (const Scalar epsilon) | |
virtual | ~IndexedNormalSet () |
Detailed Description
template<class Point, int dim, int _ngSize, typename _Scalar>
struct gr::IndexedNormalSet< Point, dim, _ngSize, _Scalar >
Normal set indexed by a position in euclidean space.
The size used to hash euclidean coordinates is defined at runtime. The size used to hash the normals in an euclidean cell is defined at compile time
Loops over dimensions used to compute index values are unrolled at compile time.
Member Typedef Documentation
template<class Point , int dim, int _ngSize, typename _Scalar >
typedef std::array< std::vector<unsigned int>, Utils::POW(_ngSize, dim)> gr::IndexedNormalSet< Point, dim, _ngSize, _Scalar >::AngularGrid |
template<class Point , int dim, int _ngSize, typename _Scalar >
using gr::IndexedNormalSet< Point, dim, _ngSize, _Scalar >::NeiIdsBox = typename gr::Utils::OneRingNeighborhood::NeighborhoodType<dim>::type |
template<class Point , int dim, int _ngSize, typename _Scalar >
using gr::IndexedNormalSet< Point, dim, _ngSize, _Scalar >::Scalar = _Scalar |
Member Enumeration Documentation
template<class Point , int dim, int _ngSize, typename _Scalar >
enum gr::IndexedNormalSet::MOVE_DIR |
Constructor & Destructor Documentation
template<class Point , int dim, int _ngSize, typename _Scalar >
|
inline |
template<class Point , int dim, int _ngSize, typename Scalar >
|
inlinevirtual |
Here is the call graph for this function:
Member Function Documentation
template<class Point , int dim, int _ngSize, typename Scalar >
|
inline |
Add a new couple pos/normal, and its associated id.
Here is the call graph for this function:
template<class Point , int dim, int _ngSize, typename _Scalar >
|
inline |
- Returns
- NULL if the grid does not exist or p is out of bound
template<class Point , int dim, int _ngSize, typename _Scalar >
|
inline |
- Returns
- the Angular Grid contained in p cell + its n*n neighb
template<class Point , int dim, int _ngSize, typename Scalar >
|
inline |
Get closest points in euclidean space.
Here is the call graph for this function:
template<class Point , int dim, int _ngSize, typename Scalar >
|
inline |
Get closest points in euclidean an normal space.
Here is the call graph for this function:
template<class Point , int dim, int _ngSize, typename Scalar >
|
inline |
Get closest poitns in euclidean an normal space with angular deviation.
Here is the call graph for this function:
The documentation for this struct was generated from the following files:
- /home/travis/build/STORM-IRIT/OpenGR/src/gr/accelerators/normalset.h
- /home/travis/build/STORM-IRIT/OpenGR/src/gr/accelerators/normalset.hpp