[mrpt-graphs]
Graphs data structures (directed graphs, trees, graphs of pose constraints), graphs algorithms
Library mrpt-graphs
This C++ library is part of MRPT and can be installed in Debian-based systems with:
sudo apt install libmrpt-graphs-dev
Read also how to import MRPT into your CMake scripts.
Graph-related stuff: generic directed graphs (mrpt::graphs::CDirectedGraph) and trees (mrpt::graphs::CDirectedTree).
Graphs of pose constraints are also defined in this library, via a generic template mrpt::graphs::CNetworkOfPoses, capable of reading and writing to both binary and text pose-graph file formats.
Predefined typedefs exist for:
mrpt::graphs::CNetworkOfPoses2D -> Edges are 2D graphs (x,y,phi), without uncertainty.
mrpt::graphs::CNetworkOfPoses3D -> Edges are 3D graphs (x,y,z,yaw,pitch,roll), without uncertainty.
mrpt::graphs::CNetworkOfPoses2DInf -> Edges are 2D graphs (x,y,phi), with an inverse covariance (information) matrix.
mrpt::graphs::CNetworkOfPoses3DInf -> Edges are 3D graphs (x,y,z,yaw,pitch,roll), with an inverse covariance (information) matrix.
Library contents
// namespaces namespace mrpt::graphs::detail; namespace mrpt::graphs; namespace mrpt::graphs::detail; // structs struct mrpt::graphs::TGraphvizExportParams; template <class GRAPH_T> struct mrpt::graphs::detail::THypothesis; struct mrpt::graphs::detail::TMRSlamEdgeAnnotations; struct mrpt::graphs::detail::TMRSlamNodeAnnotations; struct mrpt::graphs::detail::TNodeAnnotations; struct mrpt::graphs::detail::TNodeAnnotationsEmpty; // classes template <typename T> class mrpt::graphs::CAStarAlgorithm; template < class TYPE_GRAPH, class MAPS_IMPLEMENTATION = mrpt::containers::map_traits_stdmap > class mrpt::graphs::CDijkstra; template < class TYPE_EDGES, class EDGE_ANNOTATIONS = detail::edge_annotations_empty > class mrpt::graphs::CDirectedGraph; template <class TYPE_EDGES = uint8_t> class mrpt::graphs::CDirectedTree; template < class CPOSE, class MAPS_IMPLEMENTATION = mrpt::containers::map_traits_stdmap, class NODE_ANNOTATIONS = mrpt::graphs::detail::TNodeAnnotationsEmpty, class EDGE_ANNOTATIONS = mrpt::graphs::detail::edge_annotations_empty > class mrpt::graphs::CNetworkOfPoses; // global functions void mrpt::graphs::registerAllClasses_mrpt_graphs();
Global Functions
void mrpt::graphs::registerAllClasses_mrpt_graphs()
Forces manual RTTI registration of all serializable classes in this namespace.
Should never be required to be explicitly called by users, except if building MRPT as a static library.