libpointmatcher  1.3.1
Public Member Functions | Protected Types | Static Protected Member Functions | Protected Attributes | List of all members
PointMatcher< T >::TransformationChecker Struct Referenceabstract

A transformation checker can stop the iteration depending on some conditions. More...

#include <PointMatcher.h>

Inheritance diagram for PointMatcher< T >::TransformationChecker:
PointMatcherSupport::Parametrizable

Public Member Functions

 TransformationChecker ()
 Construct without parameter.
 
 TransformationChecker (const std::string &className, const ParametersDoc paramsDoc, const Parameters &params)
 Construct with parameters.
 
virtual ~TransformationChecker ()
 Destructor.
 
virtual void init (const TransformationParameters &parameters, bool &iterate)=0
 Init, set iterate to false if iteration should stop.
 
virtual void check (const TransformationParameters &parameters, bool &iterate)=0
 Set iterate to false if iteration should stop.
 
const VectorgetLimits () const
 Return the value of limits involved in conditions to stop ICP loop.
 
const VectorgetConditionVariables () const
 Return the values of variables involved in conditions to stop ICP loop.
 
const StringVectorgetLimitNames () const
 Return the names of limits involved in conditions to stop ICP loop.
 
const StringVectorgetConditionVariableNames () const
 Return the names of variables involved in conditions to stop ICP loop.
 
- Public Member Functions inherited from PointMatcherSupport::Parametrizable
 Parametrizable ()
 Construct a documentation of parameters from a description in the source. More...
 
 Parametrizable (const std::string &className, const ParametersDoc paramsDoc, const Parameters &params)
 Construct with documented parameters.
 
virtual ~Parametrizable ()
 Virtual destructor, do nothing.
 
std::string getParamValueString (const std::string &paramName)
 Get the value of a parameter, as a string.
 
template<typename S >
get (const std::string &paramName)
 Return the value of paramName, lexically-casted to S.
 

Protected Types

typedef std::vector< std::string > StringVector
 a vector of strings
 

Static Protected Member Functions

static Vector matrixToAngles (const TransformationParameters &parameters)
 Extract the Euler angles from a rigid-transformation matrix.
 

Protected Attributes

Vector limits
 values of limits involved in conditions to stop ICP loop
 
Vector conditionVariables
 values of variables involved in conditions to stop ICP loop
 
StringVector limitNames
 names of limits involved in conditions to stop ICP loop
 
StringVector conditionVariableNames
 names of variables involved in conditions to stop ICP loop
 

Additional Inherited Members

- Public Types inherited from PointMatcherSupport::Parametrizable
typedef bool(* LexicalComparison) (std::string a, std::string b)
 A function that returns whether a is smaller than b.
 
typedef std::vector< ParameterDocParametersDoc
 The documentation of all parameters.
 
typedef std::string Parameter
 alias
 
typedef std::map< std::string, ParameterParameters
 Parameters stored as a map of string->string.
 
typedef std::set< std::string > ParametersUsed
 Parameters whose value has been read.
 
- Static Public Member Functions inherited from PointMatcherSupport::Parametrizable
template<typename S >
static bool Comp (std::string a, std::string b)
 Return whether a < b, lexically casted to S.
 
- Public Attributes inherited from PointMatcherSupport::Parametrizable
const std::string className
 name of the class
 
const ParametersDoc parametersDoc
 documentation of parameters
 
Parameters parameters
 parameters with their values encoded in string
 
ParametersUsed parametersUsed
 parameters whose value has actually been read
 

Detailed Description

template<typename T>
struct PointMatcher< T >::TransformationChecker

A transformation checker can stop the iteration depending on some conditions.

For example, a condition can be the number of times the loop was executed, or it can be related to the matching error. Because the modules can be chained, we defined that the relation between modules must agree through an OR-condition, while all AND-conditions are defined within a single module.


The documentation for this struct was generated from the following files: