#ifndef OSRM_GEOJSON_DEBUG_POLICIES #define OSRM_GEOJSON_DEBUG_POLICIES #include #include "extractor/query_node.hpp" #include "util/coordinate.hpp" #include "util/json_container.hpp" #include "util/node_based_graph.hpp" #include "util/typedefs.hpp" #include namespace osrm { namespace util { struct NodeIdVectorToLineString { NodeIdVectorToLineString(const std::vector &node_coordinates); // converts a vector of node ids into a linestring geojson feature util::json::Object operator()(const std::vector &node_ids, const boost::optional &properties = {}) const; const std::vector &node_coordinates; }; struct CoordinateVectorToLineString { // converts a vector of node ids into a linestring geojson feature util::json::Object operator()(const std::vector &coordinates, const boost::optional &properties = {}) const; }; struct NodeIdVectorToMultiPoint { NodeIdVectorToMultiPoint(const std::vector &node_coordinates); // converts a vector of node ids into a linestring geojson feature util::json::Object operator()(const std::vector &node_ids, const boost::optional &properties = {}) const; const std::vector &node_coordinates; }; struct CoordinateVectorToMultiPoint { // converts a vector of node ids into a linestring geojson feature util::json::Object operator()(const std::vector &coordinates, const boost::optional &properties = {}) const; }; } /* namespace util */ } /* namespace osrm */ #endif /* OSRM_GEOJSON_DEBUG_POLICIES */