

Definition at line 90 of file posegraph.hh.
Public Types | |
| typedef Ops::BaseType | BaseType |
| typedef Ops::PoseType | Pose |
| typedef Ops::RotationType | Rotation |
| typedef Ops::TranslationType | Translation |
| typedef Ops::TransformationType | Transformation |
| typedef Ops::CovarianceType | Covariance |
| typedef Ops::InformationType | Information |
| typedef Ops::ParametersType | Parameters |
|
typedef EVComparator< Edge * >::CompareMode | EdgeCompareMode |
| typedef std::list< Edge * > | EdgeList |
| typedef std::map< int, Vertex * > | VertexMap |
| typedef std::set< Vertex * > | VertexSet |
|
typedef std::map< Edge *, Edge * > | EdgeMap |
|
typedef std::multiset< Edge *, EVComparator< Edge * > > | EdgeSet |
Public Member Functions | |
| Vertex * | vertex (int id) |
| const Vertex * | vertex (int id) const |
| Edge * | edge (int id1, int id2) |
| const Edge * | edge (int id1, int id2) const |
| Vertex * | addVertex (int id, const Pose &pose) |
| Vertex * | removeVertex (int id) |
| Edge * | addEdge (Vertex *v1, Vertex *v2, const Transformation &t, const Information &i) |
| Edge * | removeEdge (Edge *eq) |
| Edge * | addIncrementalEdge (int id1, int id2, const Transformation &t, const Information &i) |
| EdgeSet * | affectedEdges (Vertex *v) |
| EdgeSet * | affectedEdges (VertexSet &vl) |
| template<class Action> | |
| void | treeBreadthVisit (Action &act) |
| template<class Action> | |
| void | treeDepthVisit (Action &act, Vertex *v) |
| int | markNodesToCompress (BaseType distance) |
| bool | buildMST (int id) |
| bool | buildSimpleTree () |
| void | revertEdge (Edge *e) |
| virtual void | revertEdgeInfo (Edge *e)=0 |
| virtual void | initializeFromParentEdge (Vertex *v)=0 |
| void | clear () |
| TreePoseGraph () | |
| virtual | ~TreePoseGraph () |
| EdgeSet * | sortEdges () |
| int | maxPathLength () |
| int | totalPathLength () |
| void | compressIndices () |
| int | maxIndex () |
Public Attributes | |
| Vertex * | root |
| VertexMap | vertices |
| EdgeMap | edges |
| EdgeSet * | sortedEdges |
Protected Member Functions | |
| void | fillEdgeInfo (Edge *e) |
| void | fillEdgesInfo () |
Protected Attributes | |
| EdgeCompareMode | edgeCompareMode |
Classes | |
| struct | Edge |
| Definition of an edge in the graph based on the template input from Ops. More... | |
| struct | Vertex |
| Definition of a vertex in the graph based on the template input from Ops. More... | |
| TreePoseGraph< Ops >::TreePoseGraph | ( | ) | [inline] |
constructor
Definition at line 222 of file posegraph.hh.
| TreePoseGraph< Ops >::~TreePoseGraph | ( | ) | [virtual] |
Destructor
Definition at line 404 of file posegraph.hxx.
| TreePoseGraph< Ops >::Vertex * TreePoseGraph< Ops >::vertex | ( | int | id | ) |
Returns the vertex with the given id
Definition at line 47 of file posegraph.hxx.
| const TreePoseGraph< Ops >::Vertex * TreePoseGraph< Ops >::vertex | ( | int | id | ) | const |
Returns a const pointer to the vertex with the given id
Definition at line 55 of file posegraph.hxx.
| TreePoseGraph< Ops >::Edge * TreePoseGraph< Ops >::edge | ( | int | id1, | |
| int | id2 | |||
| ) |
Returns the edge between the two vertices
Definition at line 63 of file posegraph.hxx.
| const TreePoseGraph< Ops >::Edge * TreePoseGraph< Ops >::edge | ( | int | id1, | |
| int | id2 | |||
| ) | const |
Returns a const pointer tothe edge between the two vertices
Definition at line 77 of file posegraph.hxx.
| Vertex* TreePoseGraph< Ops >::addVertex | ( | int | id, | |
| const Pose & | pose | |||
| ) |
Add a vertex to the graph
| TreePoseGraph< Ops >::Vertex * TreePoseGraph< Ops >::removeVertex | ( | int | id | ) |
Remove a vertex from the graph
Definition at line 113 of file posegraph.hxx.
| Edge* TreePoseGraph< Ops >::addEdge | ( | Vertex * | v1, | |
| Vertex * | v2, | |||
| const Transformation & | t, | |||
| const Information & | i | |||
| ) |
Add an edge/constraint to the graph
| Edge* TreePoseGraph< Ops >::removeEdge | ( | Edge * | eq | ) |
Remove an edge/constraint from the graph
| Edge* TreePoseGraph< Ops >::addIncrementalEdge | ( | int | id1, | |
| int | id2, | |||
| const Transformation & | t, | |||
| const Information & | i | |||
| ) |
Adds en edge incrementally to the tree. It builds a simple tree and initializes the structures for the optimization.
This function is for online processing. It requires that at least one vertex is already present in the graph. The vertices are represented by their ids.
Once the edge is introduced in the structure:
| TreePoseGraph< Ops >::EdgeSet * TreePoseGraph< Ops >::affectedEdges | ( | Vertex * | v | ) |
Returns a set of edges which are accected by the mofification of the vertex v. The set is ordered according to the level of their top node.
Definition at line 470 of file posegraph.hxx.
| void TreePoseGraph< Ops >::treeBreadthVisit | ( | Action & | act | ) |
Function to perform a breadth-first visit of the nodes in the tree to carry out a specific action act
Definition at line 247 of file posegraph.hxx.
| void TreePoseGraph< Ops >::treeDepthVisit | ( | Action & | act, | |
| Vertex * | v | |||
| ) |
Function to perform a depth-first visit of the nodes in the tree to carry out a specific action act
Definition at line 272 of file posegraph.hxx.
| int TreePoseGraph< Ops >::markNodesToCompress | ( | BaseType | distance | ) |
marks the nodes to compress on the tree, given a distance criterion
| bool TreePoseGraph< Ops >::buildMST | ( | int | id | ) |
Constructs the tree be computing a minimal spanning tree
Definition at line 282 of file posegraph.hxx.
| bool TreePoseGraph< Ops >::buildSimpleTree | ( | ) |
Constructs the incremental tree according to the input trajectory
Definition at line 346 of file posegraph.hxx.
| void TreePoseGraph< Ops >::revertEdge | ( | Edge * | e | ) |
Trun around an edge (used to ensure a certain oder on the vertexes)
| virtual void TreePoseGraph< Ops >::revertEdgeInfo | ( | Edge * | e | ) | [pure virtual] |
Revert edge info. This function needs to be implemented by a subclass
Implemented in TreePoseGraph2.
| virtual void TreePoseGraph< Ops >::initializeFromParentEdge | ( | Vertex * | v | ) | [pure virtual] |
Revert edge info. This function needs to be implemented by a subclass
Implemented in TreePoseGraph2.
| void TreePoseGraph< Ops >::clear | ( | ) |
Delete all edges and vertices
Definition at line 409 of file posegraph.hxx.
| TreePoseGraph< Ops >::EdgeSet * TreePoseGraph< Ops >::sortEdges | ( | ) |
Sort constraints for correct processing order
Definition at line 457 of file posegraph.hxx.
| int TreePoseGraph< Ops >::maxPathLength | ( | ) |
Determines the length of the longest path in the tree
Definition at line 590 of file posegraph.hxx.
| int TreePoseGraph< Ops >::totalPathLength | ( | ) |
Determines the path length of all pathes in the tree
Definition at line 602 of file posegraph.hxx.
| void TreePoseGraph< Ops >::compressIndices | ( | ) |
remove gaps in the indices of the vertex ids
Definition at line 614 of file posegraph.hxx.
| int TreePoseGraph< Ops >::maxIndex | ( | ) |
compute the highest index of an vertex
Definition at line 627 of file posegraph.hxx.
| Vertex* TreePoseGraph< Ops >::root |
The root node of the tree
Definition at line 246 of file posegraph.hh.
| VertexMap TreePoseGraph< Ops >::vertices |
All vertices
Definition at line 249 of file posegraph.hh.
| EdgeMap TreePoseGraph< Ops >::edges |
All edges
Definition at line 252 of file posegraph.hh.
| EdgeSet* TreePoseGraph< Ops >::sortedEdges |
The constraints/edges sorted according to the level in the tree in order to allow us the efficient update (pose computation) of the nodes in the tree (see the RSS07 paper for further details)
Definition at line 258 of file posegraph.hh.
1.5.0