Fawkes API  Fawkes Development Version
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
rcsoft_map_node.h
1 
2 /***************************************************************************
3  * rcsoft_map_node.h - Node used in RCSoftMapGraph
4  *
5  * Created: Tue Jun 30 09:27:08 2009 (RoboCup 2009, Graz)
6  * Copyright 2009 Tim Niemueller [www.niemueller.de]
7  *
8  * $Id: rcsoft_map_node.h 2826 2009-07-06 08:59:01Z tim $
9  *
10  ****************************************************************************/
11 
12 /* This program is free software; you can redistribute it and/or modify
13  * it under the terms of the GNU General Public License as published by
14  * the Free Software Foundation; either version 2 of the License, or
15  * (at your option) any later version. A runtime exception applies to
16  * this software (see LICENSE.GPL_WRE file mentioned below for details).
17  *
18  * This program is distributed in the hope that it will be useful,
19  * but WITHOUT ANY WARRANTY; without even the implied warranty of
20  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21  * GNU Library General Public License for more details.
22  *
23  * Read the full text in the LICENSE.GPL_WRE file in the doc directory.
24  */
25 
26 #ifndef __UTILS_GRAPH_RCSOFT_MAP_NODE_H_
27 #define __UTILS_GRAPH_RCSOFT_MAP_NODE_H_
28 
29 #include <string>
30 #include <vector>
31 
32 namespace fawkes {
33 #if 0 /* just to make Emacs auto-indent happy */
34 }
35 #endif
36 
38 {
39  public:
40  RCSoftMapNode();
41  RCSoftMapNode(std::string name, float x, float y,
42  std::vector<std::string> children,
43  std::vector<std::string> properties,
44  std::vector<std::string> aliases);
45 
46 
47  const std::string & name() const;
48  float x() const;
49  float y() const;
50 
51  std::vector<std::string> & properties();
52  std::vector<std::string> & aliases();
53  std::vector<std::string> & children();
54 
55  bool has_property(std::string property);
56  bool has_alias(std::string property);
57  bool is_valid() const;
58 
59  private:
60  std::string __name;
61  float __x;
62  float __y;
63  std::vector<std::string> __children;
64  std::vector<std::string> __properties;
65  std::vector<std::string> __aliases;
66 };
67 
68 } // end of namespace fawkes
69 
70 #endif
RCSoft map node representation.