Main MRPT website > C++ reference for MRPT 1.5.7
CMRVisualizer.h
Go to the documentation of this file.
1 #ifndef CMRVISUALIZER_H
2 #define CMRVISUALIZER_H
3 
4 #include <iostream>
5 
8 #include <utility>
9 
10 namespace mrpt { namespace graphs { namespace detail {
11 
12 // (Dummy) standard version
13 //////////////////////////////////////////////////////////
14 
15 /**\brief Wrapper class that provides visualization of a network of poses that
16  * have been registered by many graphSLAM agents/robots
17  *
18  * \note This is a dummy 4 template arguments version of the CMRVisualizer
19  * class just to silence GCC warnings on conversions.
20  * For implementation details users should see its specialized version that
21  * runs specifically for TMRSlamNodeAnnotations as the 3rd template argument.
22  *
23  */
24 template<
25  class CPOSE, // Type of edges
26  class MAPS_IMPLEMENTATION, // Use std::map<> vs. std::vector<>
27  class NODE_ANNOTATIONS=mrpt::graphs::detail::TMRSlamNodeAnnotations,
29  >
31  public CVisualizer<CPOSE, MAPS_IMPLEMENTATION, NODE_ANNOTATIONS, EDGE_ANNOTATIONS>
32 {
33 public:
37  CPOSE,
38  MAPS_IMPLEMENTATION,
39  NODE_ANNOTATIONS,
40  EDGE_ANNOTATIONS> GRAPH_T;
41 
42  CMRVisualizer(const GRAPH_T& graph_in);
43 
45  void drawNodePoints(mrpt::opengl::CSetOfObjectsPtr& object,
46  const mrpt::utils::TParametersDouble* viz_params=NULL) const;
47  void drawEdges(mrpt::opengl::CSetOfObjectsPtr& object,
48  const mrpt::utils::TParametersDouble* viz_params=NULL) const;
49 
50 private:
51 };
52 
53 // Specialized version
54 //////////////////////////////////////////////////////////
55 
56 template<
57  class CPOSE, // Type of edges
58  class MAPS_IMPLEMENTATION, // Use std::map<> vs. std::vector<>
59  class EDGE_ANNOTATIONS
60  >
61 class CMRVisualizer<CPOSE, MAPS_IMPLEMENTATION, TMRSlamNodeAnnotations, EDGE_ANNOTATIONS>:
62  public CVisualizer<CPOSE, MAPS_IMPLEMENTATION, TMRSlamNodeAnnotations, EDGE_ANNOTATIONS>
63 {
64 public:
68  CPOSE,
69  MAPS_IMPLEMENTATION,
71  EDGE_ANNOTATIONS> GRAPH_T;
72 
73  CMRVisualizer(const GRAPH_T& graph_in);
74 
76  void drawNodePoints(mrpt::opengl::CSetOfObjectsPtr& object,
77  const mrpt::utils::TParametersDouble* viz_params=NULL) const;
78  void drawEdges(mrpt::opengl::CSetOfObjectsPtr& object,
79  const mrpt::utils::TParametersDouble* viz_params=NULL) const;
80 
81 private:
82 };
83 
84 
85 
86 } } } // end of namespaces
87 
89 
90 #endif /* end of include guard: CMRVISUALIZER_H */
CVisualizer< CPOSE, MAPS_IMPLEMENTATION, NODE_ANNOTATIONS, EDGE_ANNOTATIONS > parent
Definition: CMRVisualizer.h:35
void drawEdges(mrpt::opengl::CSetOfObjectsPtr &object, const mrpt::utils::TParametersDouble *viz_params=NULL) const
Base class for C*Visualizer classes.
A directed graph of pose constraints, with edges being the relative poses between pairs of nodes iden...
CMRVisualizer(const GRAPH_T &graph_in)
CVisualizer< CPOSE, MAPS_IMPLEMENTATION, TMRSlamNodeAnnotations, EDGE_ANNOTATIONS > parent
Definition: CMRVisualizer.h:66
mrpt::graphs::CNetworkOfPoses< CPOSE, MAPS_IMPLEMENTATION, TMRSlamNodeAnnotations, EDGE_ANNOTATIONS > GRAPH_T
Definition: CMRVisualizer.h:71
void drawNodePoints(mrpt::opengl::CSetOfObjectsPtr &object, const mrpt::utils::TParametersDouble *viz_params=NULL) const
This is the global namespace for all Mobile Robot Programming Toolkit (MRPT) libraries.
Struct to be used as the NODE_ANNOTATIONS template argument in CNetworkOfPoses class instances for us...
mrpt::graphs::CNetworkOfPoses< CPOSE, MAPS_IMPLEMENTATION, NODE_ANNOTATIONS, EDGE_ANNOTATIONS > GRAPH_T
Definition: CMRVisualizer.h:40
Wrapper class that provides visualization of a network of poses that have been registered by many gra...
Definition: CMRVisualizer.h:30



Page generated by Doxygen 1.8.14 for MRPT 1.5.7 Git: 5902e14cc Wed Apr 24 15:04:01 2019 +0200 at lun oct 28 01:39:17 CET 2019