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