Super4PCS Library  V1.1.2(719f5c0)
GlobalRegistration::Utils Namespace Reference

Namespaces

 internal
 

Classes

class  Logger
 
class  Timer
 

Enumerations

enum  LogLevel { NoLog = 0, ErrorReport = 1, Verbose = 2 }
 

Functions

template<typename baseT , typename expoT >
constexpr baseT POW (baseT base, expoT expo)
 Compile time pow. More...
 
template<bool validate, class ndIndexT , class IndexT , class SizeT >
constexpr IndexT UnrollIndexLoop (const ndIndexT &coord, IndexT cdim, SizeT gsize)
 Convert a normalized n-d vector to a linear index in a uniform regular grid This function is recursive, and unrolled at compile time (loop over n). More...
 
template<bool validate, class ndIndexT , class IndexT , class SizeT >
constexpr IndexT UnrollIndexLoop (const ndIndexT &coord, const ndIndexT &offset, IndexT cdim, SizeT gsize)
 Convert a normalized n-d vector to a linear index in a uniform regular grid, moved by moved by an offset defined as a integer move in the n-d grid. More...
 

Enumeration Type Documentation

◆ LogLevel

Enumerator
NoLog 
ErrorReport 
Verbose 

Function Documentation

◆ POW()

template<typename baseT , typename expoT >
constexpr baseT GlobalRegistration::Utils::POW ( baseT  base,
expoT  expo 
)

Compile time pow.

◆ UnrollIndexLoop() [1/2]

template<bool validate, class ndIndexT , class IndexT , class SizeT >
constexpr IndexT GlobalRegistration::Utils::UnrollIndexLoop ( const ndIndexT &  coord,
IndexT  cdim,
SizeT  gsize 
)
inline

Convert a normalized n-d vector to a linear index in a uniform regular grid This function is recursive, and unrolled at compile time (loop over n).

Parameters
coordInput coordinates defined in the normalized n-hypercube.
cdimWorking dimension, must be called with n.
gsizeDimension of the grid, must be consistent in all dimensions
Template Parameters
validateEnable or disable the range validation
PointTType of the input points (deduced)
IndexTIndex type (deduced)
IndexTSize type (deduced)
See also
internal::IndexValidator for the validation procedure
+ Here is the call graph for this function:

◆ UnrollIndexLoop() [2/2]

template<bool validate, class ndIndexT , class IndexT , class SizeT >
constexpr IndexT GlobalRegistration::Utils::UnrollIndexLoop ( const ndIndexT &  coord,
const ndIndexT &  offset,
IndexT  cdim,
SizeT  gsize 
)
inline

Convert a normalized n-d vector to a linear index in a uniform regular grid, moved by moved by an offset defined as a integer move in the n-d grid.

This function is recursive, and unrolled at compile time (loop over n). In addition, it allows to offset the input coordinates.

Parameters
coordInput coordinates defined in the normalized n-hypercube.
cdimWorking dimension, must be called with n.
gsizeDimension of the grid, must be consistent in all dimensions
See also
UnrollIndexLoop<class PointT>
+ Here is the call graph for this function: