/home/martin/workspace/OpenStreetNav/src/elements/Node.h
Go to the documentation of this file.
00001 /*
00002  * Node.h
00003  *
00004  *  Created on: Nov 5, 2011
00005  *      Author: martin
00006  */
00007 
00008 #ifndef NODE_H_
00009 #define NODE_H_
00010 
00011 #include <stdint.h>
00012 #include <set>
00013 #include "Element.h"
00014 #include "../geoelements/geoelements.h"
00015 
00016 namespace osm
00017 {
00018 
00023 class Node : public Element
00024 {
00025 public:
00026     Node();
00033     Node(int64_t id, double lat = 0, double lon = 0);
00034     virtual ~Node();
00035     int64_t id;
00039     geo::Point position;
00043     std::set<osm::Tag> tags;
00044     boost::property_tree::ptree get_description();
00045     osm::ObjectType get_type() const;
00046     void fill(osmdb::PropertiesSelection& db);
00047     void add_to_relation(osmdb::ElementImporter& db, int64_t relation, std::string const& role);
00048     bool operator==(Node const& other) const;
00049     bool operator!=(Node const& other) const;
00050     virtual int64_t get_id() const;
00051 };
00052 
00053 }
00054 #endif /* NODE_H_ */
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines