44 #ifndef _TREEOPTIMIZER3_HH_ 45 #define _TREEOPTIMIZER3_HH_ 111 double error(
const Edge*
e)
const;
double angularError() const
Defines the graph of 3D poses, with specific functionalities such as loading, saving, merging constraints, and etc.
std::vector< double > maxTranslationalErrors
virtual void onIterationFinished(int iteration)
void initializeOnlineOptimization(EdgeCompareMode mode=EVComparator< Edge * >::CompareLevel)
void computePreconditioner()
double getRotGain() const
Rotation getRotation(Vertex *v, Vertex *top)
GLM_FUNC_DECL genType e()
double translationalError() const
A comparator class (struct) that compares the level of two vertices if edges.
Class that contains the core optimization algorithm.
Transformation getPose(Vertex *v, Vertex *top)
double traslationalError(const Edge *e) const
std::vector< double > maxRotationalErrors
double & operator[](int i)
The class (struct) that contains 2D graph related functions such as loading, saving, merging, etc.
double error(double *mre=0, double *mte=0, double *are=0, double *ate=0, TreePoseGraph3::EdgeSet *eset=0) const
virtual void onRestartBegin()
void propagateErrors(bool usePreconditioner=false)
void recomputeParameters(Vertex *v, Vertex *top)
virtual void onStepFinished(Edge *e)
virtual void onStepStart(Edge *e)
double loopError(const Edge *e) const
void initializeOnlineIterations()
EVComparator< Edge * >::CompareMode EdgeCompareMode
virtual ~TreeOptimizer3()
void initializeTreeParameters()
virtual void onRestartDone()
virtual void onIterationStart(int i)
void recomputeTransformations(Vertex *v, Vertex *top)
double rotationalError(const Edge *e) const
std::vector< PM_t > PMVector
std::vector< Pose > PoseVector
void iterate(TreePoseGraph3::EdgeSet *eset=0, bool noPreconditioner=false)
void initializeOptimization(EdgeCompareMode mode=EVComparator< Edge * >::CompareLevel)
std::multiset< Edge *, EVComparator< Edge * > > EdgeSet
double loopRotationalError(const Edge *e) const