/home/martin/workspace/OpenStreetNav/src/wayreduction/WayNodeFilter.h
Go to the documentation of this file.
00001 /*
00002  * WayNodeFiltering.h
00003  *
00004  *  Created on: Jan 13, 2012
00005  *      Author: martin
00006  */
00007 
00008 #ifndef WAYNODEFILTER_H_
00009 #define WAYNODEFILTER_H_
00010 
00011 #include <vector>
00012 #include "../elements/osmelements.h"
00013 #include <map>
00014 
00015 namespace wayred
00016 {
00017 
00022 class WayNodeFilter
00023 {
00024 public:
00025     WayNodeFilter();
00026     virtual ~WayNodeFilter();
00033     std::vector<osm::Way> reduce_ways(std::map<osm::Way, std::multimap<osm::Node, osm::Way, osm::LtByID>, osm::LtByID> const& old_ways);
00040     osm::Way process_way(osm::Way const& w, std::multimap<osm::Node, osm::Way, osm::LtByID> const& ndmap);
00046     void add_important(std::string const& key, std::string const& val);
00047 private:
00048     std::set<std::pair<std::string, std::string> > important;
00049     bool has_important_ways(osm::Node const& n, std::multimap<osm::Node, osm::Way, osm::LtByID> const& ndmap);
00050 };
00051 
00052 } /* namespace wayred */
00053 #endif /* WAYNODEFILTER_H_ */
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines