The class (struct) that contains 2D graph related functions such as loading, saving, merging, etc. More...
#include <posegraph2.h>
Public Types | |
typedef Operations2D< double >::CovarianceType | CovarianceMatrix |
typedef Operations2D< double >::InformationType | InformationMatrix |
typedef Operations2D< double >::PoseType | Pose |
typedef Operations2D< double >::RotationType | Rotation |
typedef Operations2D< double >::TransformationType | Transformation |
typedef Operations2D< double >::TranslationType | Translation |
![]() | |
typedef Operations2D< double > ::BaseType | BaseType |
typedef Operations2D< double > ::CovarianceType | Covariance |
typedef EVComparator< Edge * >::CompareMode | EdgeCompareMode |
typedef std::list< Edge * > | EdgeList |
typedef std::map< Edge *, Edge * > | EdgeMap |
typedef std::multiset< Edge *, EVComparator< Edge * > > | EdgeSet |
typedef Operations2D< double > ::InformationType | Information |
typedef Operations2D< double > ::ParametersType | Parameters |
typedef Operations2D< double > ::PoseType | Pose |
typedef Operations2D< double > ::RotationType | Rotation |
typedef Operations2D< double > ::TransformationType | Transformation |
typedef Operations2D< double > ::TranslationType | Translation |
typedef std::map< int, Vertex * > | VertexMap |
typedef std::set< Vertex * > | VertexSet |
Public Member Functions | |
virtual void | collapseEdge (Edge *e) |
virtual void | initializeFromParentEdge (Vertex *v) |
void | initializeOnTree () |
bool | load (const char *filename, bool overrideCovariances=false) |
bool | loadEquivalences (const char *filename) |
void | printDepth (std::ostream &os) |
void | printEdgesStat (std::ostream &os) |
void | printWidth (std::ostream &os) |
virtual void | revertEdgeInfo (Edge *e) |
bool | save (const char *filename) |
bool | saveGnuplot (const char *filename) |
![]() | |
Edge * | addEdge (Vertex *v1, Vertex *v2, const Transformation &t, const Information &i) |
Edge * | addIncrementalEdge (int id1, int id2, const Transformation &t, const Information &i) |
Vertex * | addVertex (int id, const Pose &pose) |
EdgeSet * | affectedEdges (Vertex *v) |
EdgeSet * | affectedEdges (VertexSet &vl) |
bool | buildMST (int id) |
bool | buildSimpleTree () |
void | clear () |
void | compressIndices () |
Edge * | edge (int id1, int id2) |
const Edge * | edge (int id1, int id2) const |
int | maxIndex () |
int | maxPathLength () |
Edge * | removeEdge (Edge *eq) |
Vertex * | removeVertex (int id) |
void | revertEdge (Edge *e) |
bool | sanityCheck () |
EdgeSet * | sortEdges () |
int | totalPathLength () |
void | treeBreadthVisit (Action &act) |
void | treeDepthVisit (Action &act, Vertex *v) |
TreePoseGraph () | |
Vertex * | vertex (int id) |
const Vertex * | vertex (int id) const |
virtual | ~TreePoseGraph () |
Public Attributes | |
int | verboseLevel |
![]() | |
EdgeMap | edges |
Vertex * | root |
EdgeSet * | sortedEdges |
VertexMap | vertices |
Additional Inherited Members | |
![]() | |
void | fillEdgeInfo (Edge *e) |
void | fillEdgesInfo () |
![]() | |
EdgeCompareMode | edgeCompareMode |
The class (struct) that contains 2D graph related functions such as loading, saving, merging, etc.
Definition at line 57 of file posegraph2.h.
typedef Operations2D<double>::CovarianceType AISNavigation::TreePoseGraph2::CovarianceMatrix |
Definition at line 63 of file posegraph2.h.
typedef Operations2D<double>::InformationType AISNavigation::TreePoseGraph2::InformationMatrix |
Definition at line 64 of file posegraph2.h.
typedef Operations2D<double>::PoseType AISNavigation::TreePoseGraph2::Pose |
Definition at line 59 of file posegraph2.h.
typedef Operations2D<double>::RotationType AISNavigation::TreePoseGraph2::Rotation |
Definition at line 60 of file posegraph2.h.
typedef Operations2D<double>::TransformationType AISNavigation::TreePoseGraph2::Transformation |
Definition at line 62 of file posegraph2.h.
typedef Operations2D<double>::TranslationType AISNavigation::TreePoseGraph2::Translation |
Definition at line 61 of file posegraph2.h.
|
virtual |
Function to compress a graph. Needed if, for example, equivalence constraints are used to build a graoh structure with indices without gaps.
Definition at line 302 of file posegraph2.cpp.
|
virtual |
Revert edge info. This function needs to be implemented by a subclass
Implements AISNavigation::TreePoseGraph< Operations2D< double > >.
Definition at line 291 of file posegraph2.cpp.
void AISNavigation::TreePoseGraph2::initializeOnTree | ( | ) |
Definition at line 240 of file posegraph2.cpp.
bool AISNavigation::TreePoseGraph2::load | ( | const char * | filename, |
bool | overrideCovariances = false |
||
) |
Load a graph from a file ignoring the equivalence constraints
filename | the graph file |
overrideCovariances | ignore the covariances from the file, and use identities instead |
Definition at line 61 of file posegraph2.cpp.
bool AISNavigation::TreePoseGraph2::loadEquivalences | ( | const char * | filename | ) |
Load only the equivalence constraints from a graph file (call load before)
Definition at line 108 of file posegraph2.cpp.
void AISNavigation::TreePoseGraph2::printDepth | ( | std::ostream & | os | ) |
Debug function
Definition at line 206 of file posegraph2.cpp.
void AISNavigation::TreePoseGraph2::printEdgesStat | ( | std::ostream & | os | ) |
Debug function
Definition at line 246 of file posegraph2.cpp.
void AISNavigation::TreePoseGraph2::printWidth | ( | std::ostream & | os | ) |
Debug function
Definition at line 211 of file posegraph2.cpp.
|
virtual |
Turn around the edge (<i,j> => <j,i>)
Implements AISNavigation::TreePoseGraph< Operations2D< double > >.
Definition at line 262 of file posegraph2.cpp.
bool AISNavigation::TreePoseGraph2::save | ( | const char * | filename | ) |
Saves the graph in the graph-format
Definition at line 168 of file posegraph2.cpp.
bool AISNavigation::TreePoseGraph2::saveGnuplot | ( | const char * | filename | ) |
Saved the graph for visualizing it using gnuplot
Definition at line 150 of file posegraph2.cpp.
int AISNavigation::TreePoseGraph2::verboseLevel |
Specifies the verbose level for debugging
Definition at line 103 of file posegraph2.h.