43 #ifndef _TREEPOSEGRAPH_HXX_ 44 #define _TREEPOSEGRAPH_HXX_ 93 typedef typename Ops::PoseType
Pose;
122 typedef typename std::map< Edge*, Edge* >
EdgeMap;
123 typedef typename std::multiset< Edge*, EVComparator<Edge*> >
EdgeSet;
151 const Vertex* vertex (
int id)
const;
154 Edge* edge(
int id1,
int id2);
157 const Edge* edge(
int id1,
int id2)
const;
160 Vertex* addVertex(
int id,
const Pose& pose);
162 Vertex* removeVertex (
int id);
165 Edge* addEdge(
Vertex* v1,
Vertex* v2,
const Transformation& t,
const Information& i);
189 EdgeSet* affectedEdges(
Vertex* v);
191 EdgeSet* affectedEdges(VertexSet& vl);
194 template <
class Action>
195 void treeBreadthVisit(Action& act);
198 template <
class Action>
199 void treeDepthVisit(Action& act,
Vertex *v);
202 bool buildMST(
int id);
205 bool buildSimpleTree();
208 void revertEdge(
Edge*
e);
211 virtual void revertEdgeInfo(
Edge*
e) = 0;
214 virtual void initializeFromParentEdge(
Vertex* v) = 0;
229 EdgeSet* sortEdges();
235 int totalPathLength();
238 void compressIndices();
263 void fillEdgeInfo(Edge*
e);
264 void fillEdgesInfo();
270 #include "posegraph.hxx" Edge * addIncrementalEdge(int id1, int id2, const Transformation &t, const Information &i)
Definition of a vertex in the graph based on the template input from Ops.
Ops::CovarianceType Covariance
EdgeCompareMode edgeCompareMode
Ops::RotationType Rotation
Ops::TransformationType Transformation
GLM_FUNC_DECL genType e()
A comparator class (struct) that compares the level of two vertices if edges.
Information informationMatrix
bool operator()(const E &e1, const E &e2)
Definition of an edge in the graph based on the template input from Ops.
Transformation transformation
std::map< int, Vertex * > VertexMap
Ops::ParametersType Parameters
std::list< Edge * > EdgeList
std::map< Edge *, Edge * > EdgeMap
EVComparator< Edge * >::CompareMode EdgeCompareMode
std::set< Vertex * > VertexSet
Ops::TranslationType Translation
Transformation transformation
The template class for representing an abstract tree without specifing the dimensionality of the exac...
Ops::InformationType Information
std::multiset< Edge *, EVComparator< Edge * > > EdgeSet