Main MRPT website > C++ reference for MRPT 1.9.9
CMRVisualizer.h
Go to the documentation of this file.
1 /* +------------------------------------------------------------------------+
2  | Mobile Robot Programming Toolkit (MRPT) |
3  | http://www.mrpt.org/ |
4  | |
5  | Copyright (c) 2005-2018, Individual contributors, see AUTHORS file |
6  | See: http://www.mrpt.org/Authors - All rights reserved. |
7  | Released under BSD License. See details in http://www.mrpt.org/License |
8  +------------------------------------------------------------------------+ */
9 #ifndef CMRVISUALIZER_H
10 #define CMRVISUALIZER_H
11 
12 #include <iostream>
13 
16 #include <utility>
17 
18 namespace mrpt
19 {
20 namespace graphs
21 {
22 namespace detail
23 {
24 // (Dummy) standard version
25 //////////////////////////////////////////////////////////
26 
27 /**\brief Wrapper class that provides visualization of a network of poses that
28  * have been registered by many graphSLAM agents/robots
29  *
30  * \note This is a dummy 4 template arguments version of the CMRVisualizer
31  * class just to silence GCC warnings on conversions.
32  * For implementation details users should see its specialized version that
33  * runs specifically for TMRSlamNodeAnnotations as the 3rd template argument.
34  *
35  */
36 template <
37  class CPOSE, // Type of edges
38  class MAPS_IMPLEMENTATION, // Use std::map<> vs. std::vector<>
39  class NODE_ANNOTATIONS = mrpt::graphs::detail::TMRSlamNodeAnnotations,
40  class EDGE_ANNOTATIONS = mrpt::graphs::detail::edge_annotations_empty>
42  : public CVisualizer<
43  CPOSE, MAPS_IMPLEMENTATION, NODE_ANNOTATIONS, EDGE_ANNOTATIONS>
44 {
45  public:
46  using parent = CVisualizer<
47  CPOSE, MAPS_IMPLEMENTATION, NODE_ANNOTATIONS, EDGE_ANNOTATIONS>;
49  CPOSE, MAPS_IMPLEMENTATION, NODE_ANNOTATIONS, EDGE_ANNOTATIONS>;
50 
51  CMRVisualizer(const GRAPH_T& graph_in);
52 
54  void drawNodePoints(
56  const mrpt::system::TParametersDouble* viz_params = NULL) const;
57  void drawEdges(
59  const mrpt::system::TParametersDouble* viz_params = NULL) const;
60 
61  private:
62 };
63 
64 // Specialized version
65 //////////////////////////////////////////////////////////
66 
67 template <
68  class CPOSE, // Type of edges
69  class MAPS_IMPLEMENTATION, // Use std::map<> vs. std::vector<>
70  class EDGE_ANNOTATIONS>
72  CPOSE, MAPS_IMPLEMENTATION, TMRSlamNodeAnnotations, EDGE_ANNOTATIONS>
73  : public CVisualizer<
74  CPOSE, MAPS_IMPLEMENTATION, TMRSlamNodeAnnotations, EDGE_ANNOTATIONS>
75 {
76  public:
77  using parent = CVisualizer<
78  CPOSE, MAPS_IMPLEMENTATION, TMRSlamNodeAnnotations, EDGE_ANNOTATIONS>;
80  CPOSE, MAPS_IMPLEMENTATION, TMRSlamNodeAnnotations, EDGE_ANNOTATIONS>;
81 
82  CMRVisualizer(const GRAPH_T& graph_in);
83 
85  void drawNodePoints(
87  const mrpt::system::TParametersDouble* viz_params = NULL) const;
88  void drawEdges(
90  const mrpt::system::TParametersDouble* viz_params = NULL) const;
91 
92  private:
93 };
94 } // namespace detail
95 } // namespace graphs
96 } // namespace mrpt
97 
99 
100 #endif /* end of include guard: CMRVISUALIZER_H */
mrpt::graphs::detail::edge_annotations_empty
An empty structure.
Definition: CDirectedGraph.h:48
TMRSlamNodeAnnotations.h
mrpt::graphs::detail::CMRVisualizer::CMRVisualizer
CMRVisualizer(const GRAPH_T &graph_in)
Definition: CMRVisualizer_impl.h:27
mrpt::graphs::detail::CVisualizer
Base class for C*Visualizer classes.
Definition: CNetworkOfPoses.h:55
mrpt
This is the global namespace for all Mobile Robot Programming Toolkit (MRPT) libraries.
Definition: CKalmanFilterCapable.h:30
mrpt::graphs::detail::TMRSlamNodeAnnotations
Struct to be used as the NODE_ANNOTATIONS template argument in CNetworkOfPoses class instances for us...
Definition: TMRSlamNodeAnnotations.h:28
CMRVisualizer_impl.h
mrpt::graphs::detail::CMRVisualizer::drawNodePoints
void drawNodePoints(mrpt::opengl::CSetOfObjects::Ptr &object, const mrpt::system::TParametersDouble *viz_params=NULL) const
Definition: CMRVisualizer_impl.h:48
mrpt::system::TParameters< double >
CVisualizer.h
mrpt::opengl::CSetOfObjects::Ptr
std::shared_ptr< CSetOfObjects > Ptr
Definition: CSetOfObjects.h:30
mrpt::graphs::detail::CMRVisualizer::drawEdges
void drawEdges(mrpt::opengl::CSetOfObjects::Ptr &object, const mrpt::system::TParametersDouble *viz_params=NULL) const
Definition: CMRVisualizer_impl.h:58
mrpt::graphs::CNetworkOfPoses
A directed graph of pose constraints, with edges being the relative poses between pairs of nodes iden...
Definition: CNetworkOfPoses.h:122
mrpt::graphs::detail::CMRVisualizer::~CMRVisualizer
~CMRVisualizer()
Definition: CMRVisualizer_impl.h:40
mrpt::graphs::detail::CMRVisualizer
Wrapper class that provides visualization of a network of poses that have been registered by many gra...
Definition: CMRVisualizer.h:41



Page generated by Doxygen 1.8.17 for MRPT 1.9.9 Git: ad3a9d8ae Tue May 1 23:10:22 2018 -0700 at miƩ 12 jul 2023 10:03:34 CEST