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-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 TNODEANNOTATIONS_H
10 #define TNODEANNOTATIONS_H
11 
14 #include <mrpt/graphs/TNodeID.h>
15 #include <cstdint>
16 #include <mrpt/core/exceptions.h>
17 #include <iostream>
18 #include <string>
19 
20 namespace mrpt
21 {
22 namespace graphs
23 {
24 namespace detail
25 {
26 /**\brief Abstract class from which NodeAnnotations related classes can be
27  * implemented
28  *
29  * \ingroup mrpt_graphs_grp
30  */
32 {
34 
35  /**\brief Constructor */
37  /**\brief Destructor */
38  virtual ~TNodeAnnotations() {}
39  /**\brief Generic copy constructor */
41  virtual void getAnnotsAsString(std::string* s) const { ASSERT_(s); }
43  {
44  std::string s;
45  this->getAnnotsAsString(&s);
46  return s;
47  }
48 
49  virtual bool operator==(const TNodeAnnotations& other) const
50  {
51  return true;
52  }
53  virtual bool operator!=(const TNodeAnnotations& other) const
54  {
55  return (!(*this == other));
56  }
57 
58  /**\brief Create and return a copy of the TNodeAnnotations object at hand.
59  *
60  * \warning Caller is responsible of afterwards deleting the object which is
61  * allocaed in heap
62  */
64  /**\brief Set the properties of the current TNodeAnnotations object
65  *
66  * \return True if setting the annotations part is successful.
67  */
68  bool setAnnots(const self_t& other) { return true; }
69  /**\brief Indicates if this is a dummy TNodeAnnotations struct or if it does
70  * contain meaningful data
71  */
73 };
74 
75 /////////////////////////////////////////////////////////////////////////////
76 
77 /**\brief Struct to be used as the NODE_ANNOTATIONS template argument in
78  * CNetworkOfPoses class instances for use in multiple-robot SLAM applications
79  *
80  * \ingroup mrpt_graphs_grp
81  */
83 {
86 };
87 }
88 }
89 } // end of namespaces
90 #endif /* end of include guard: TNODEANNOTATIONS_H */
Abstract class from which NodeAnnotations related classes can be implemented.
GLdouble s
Definition: glext.h:3676
#define ASSERT_(f)
Defines an assertion mechanism.
Definition: exceptions.h:113
#define DECLARE_TTYPENAME_CLASSNAME(_CLASSNAME)
Like DECLARE_CUSTOM_TTYPENAME(), but for use within the class declaration body.
Definition: TTypeName.h:100
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
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...



Page generated by Doxygen 1.8.14 for MRPT 1.9.9 Git: ad3a9d8ae Tue May 1 23:10:22 2018 -0700 at lun oct 28 00:14:14 CET 2019