Main MRPT website > C++ reference for MRPT 1.9.9
TNodeAnnotations.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-2017, 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 TNODEANNOTATIONS_H
10 #define TNODEANNOTATIONS_H
11 
15 #include <mrpt/utils/mrpt_macros.h>
16 #include <iostream>
17 #include <string>
18 
19 namespace mrpt
20 {
21 namespace graphs
22 {
23 namespace detail
24 {
25 /**\brief Abstract class from which NodeAnnotations related classes can be
26  * implemented
27  *
28  * \ingroup mrpt_graphs_grp
29  */
31 {
33 
34  /**\brief Constructor */
36  /**\brief Destructor */
37  virtual ~TNodeAnnotations() {}
38  /**\brief Generic copy constructor */
40  virtual void getAnnotsAsString(std::string* s) const { ASSERT_(s); }
42  {
43  std::string s;
44  this->getAnnotsAsString(&s);
45  return s;
46  }
47 
48  virtual bool operator==(const TNodeAnnotations& other) const
49  {
50  return true;
51  }
52  virtual bool operator!=(const TNodeAnnotations& other) const
53  {
54  return (!(*this == other));
55  }
56 
57  /**\brief Create and return a copy of the TNodeAnnotations object at hand.
58  *
59  * \warning Caller is responsible of afterwards deleting the object which is
60  * allocaed in heap
61  */
63  /**\brief Set the properties of the current TNodeAnnotations object
64  *
65  * \return True if setting the annotations part is successful.
66  */
67  bool setAnnots(const self_t& other) { return true; }
68  /**\brief Indicates if this is a dummy TNodeAnnotations struct or if it does
69  * contain meaningful data
70  */
72 };
73 
74 /////////////////////////////////////////////////////////////////////////////
75 
76 /**\brief Struct to be used as the NODE_ANNOTATIONS template argument in
77  * CNetworkOfPoses class instances for use in multiple-robot SLAM applications
78  *
79  * \ingroup mrpt_graphs_grp
80  */
82 {
84 };
85 }
86 }
87 } // end of namespaces
88 
89 // declare as ttypename - in mrpt::utils namespace
90 namespace mrpt
91 {
92 namespace utils
93 {
95 }
96 } // end of namespaces
97 
98 #endif /* end of include guard: TNODEANNOTATIONS_H */
Abstract class from which NodeAnnotations related classes can be implemented.
GLdouble s
Definition: glext.h:3676
GLsizei const GLchar ** string
Definition: glext.h:4101
bool setAnnots(const self_t &other)
Set the properties of the current TNodeAnnotations object.
virtual bool operator==(const TNodeAnnotations &other) const
This is the global namespace for all Mobile Robot Programming Toolkit (MRPT) libraries.
bool is_node_annots_empty
Indicates if this is a dummy TNodeAnnotations struct or if it does contain meaningful data...
TNodeAnnotations * getCopyOfAnnots() const
Create and return a copy of the TNodeAnnotations object at hand.
virtual bool operator!=(const TNodeAnnotations &other) const
#define ASSERT_(f)
virtual void getAnnotsAsString(std::string *s) const
TNodeAnnotations(const TNodeAnnotations &other)
Generic copy constructor.
Struct to be used as the NODE_ANNOTATIONS template argument in CNetworkOfPoses class instances for us...
#define MRPT_DECLARE_TTYPENAME(_TYPE)
Definition: TTypeName.h:72



Page generated by Doxygen 1.8.14 for MRPT 1.9.9 Git: ae4571287 Thu Nov 23 00:06:53 2017 +0100 at dom oct 27 23:51:55 CET 2019