diff --git a/Descriptors/BaseDescriptor.h b/Descriptors/BaseDescriptor.h index 6a49bd81b..2ead8bdae 100644 --- a/Descriptors/BaseDescriptor.h +++ b/Descriptors/BaseDescriptor.h @@ -28,8 +28,9 @@ or see http://www.gnu.org/licenses/agpl.txt. #include #include "../typedefs.h" -#include "../DataStructures/PhantomNodes.h" #include "../DataStructures/HashTable.h" +#include "../DataStructures/PhantomNodes.h" +#include "../DataStructures/SearchEngine.h" #include "../Util/StringUtil.h" #include "../Plugins/RawRouteData.h" @@ -42,13 +43,12 @@ struct _DescriptorConfig { unsigned short z; }; -template class BaseDescriptor { public: BaseDescriptor() { } //Maybe someone can explain the pure virtual destructor thing to me (dennis) virtual ~BaseDescriptor() { } - virtual void Run(http::Reply & reply, const RawRouteData &rawRoute, PhantomNodes &phantomNodes, SearchEngineT &sEngine) = 0; + virtual void Run(http::Reply & reply, const RawRouteData &rawRoute, PhantomNodes &phantomNodes, SearchEngine &sEngine) = 0; virtual void SetConfig(const _DescriptorConfig & config) = 0; }; diff --git a/Descriptors/DescriptionFactory.cpp b/Descriptors/DescriptionFactory.cpp index 46a1d5b82..b1f2f8538 100644 --- a/Descriptors/DescriptionFactory.cpp +++ b/Descriptors/DescriptionFactory.cpp @@ -82,7 +82,7 @@ void DescriptionFactory::AppendUnencodedPolylineString(std::string &output) { pc.printUnencodedString(pathDescription, output); } -void DescriptionFactory::Run(const SearchEngineT &sEngine, const unsigned zoomLevel) { +void DescriptionFactory::Run(const SearchEngine &sEngine, const unsigned zoomLevel) { if(0 == pathDescription.size()) return; diff --git a/Descriptors/DescriptionFactory.h b/Descriptors/DescriptionFactory.h index 52adc2713..911aae7de 100644 --- a/Descriptors/DescriptionFactory.h +++ b/Descriptors/DescriptionFactory.h @@ -27,7 +27,6 @@ #include "../Algorithms/DouglasPeucker.h" #include "../Algorithms/PolylineCompressor.h" #include "../DataStructures/Coordinate.h" -#include "../DataStructures/QueryEdge.h" #include "../DataStructures/SearchEngine.h" #include "../DataStructures/SegmentInformation.h" #include "../DataStructures/TurnInstructions.h" @@ -40,8 +39,6 @@ class DescriptionFactory { PolylineCompressor pc; PhantomNode startPhantom, targetPhantom; - typedef SearchEngine > SearchEngineT; - double DegreeToRadian(const double degree) const; double RadianToDegree(const double degree) const; public: @@ -73,7 +70,7 @@ public: void SetStartSegment(const PhantomNode & startPhantom); void SetEndSegment(const PhantomNode & startPhantom); void AppendEncodedPolylineString(std::string & output, bool isEncoded); - void Run(const SearchEngineT &sEngine, const unsigned zoomLevel); + void Run(const SearchEngine &sEngine, const unsigned zoomLevel); }; #endif /* DESCRIPTIONFACTORY_H_ */ diff --git a/Descriptors/GPXDescriptor.h b/Descriptors/GPXDescriptor.h index 5096468fb..1d3389ade 100644 --- a/Descriptors/GPXDescriptor.h +++ b/Descriptors/GPXDescriptor.h @@ -24,8 +24,7 @@ or see http://www.gnu.org/licenses/agpl.txt. #include #include "BaseDescriptor.h" -template -class GPXDescriptor : public BaseDescriptor{ +class GPXDescriptor : public BaseDescriptor{ private: _DescriptorConfig config; _Coordinate current; @@ -33,7 +32,7 @@ private: std::string tmp; public: void SetConfig(const _DescriptorConfig& c) { config = c; } - void Run(http::Reply & reply, const RawRouteData &rawRoute, PhantomNodes &phantomNodes, SearchEngineT &sEngine) { + void Run(http::Reply & reply, const RawRouteData &rawRoute, PhantomNodes &phantomNodes, SearchEngine &sEngine) { reply.content += (""); reply.content += " -class JSONDescriptor : public BaseDescriptor{ +class JSONDescriptor : public BaseDescriptor{ private: _DescriptorConfig config; DescriptionFactory descriptionFactory; @@ -68,7 +67,7 @@ public: JSONDescriptor() : numberOfEnteredRestrictedAreas(0) {} void SetConfig(const _DescriptorConfig & c) { config = c; } - void Run(http::Reply & reply, const RawRouteData &rawRoute, PhantomNodes &phantomNodes, SearchEngineT &sEngine) { + void Run(http::Reply & reply, const RawRouteData &rawRoute, PhantomNodes &phantomNodes, SearchEngine &sEngine) { WriteHeaderToOutput(reply.content); @@ -246,7 +245,7 @@ public: reply.content += "}"; } - void GetRouteNames(std::vector & shortestSegments, std::vector & alternativeSegments, const SearchEngineT &sEngine, RouteNames & routeNames) { + void GetRouteNames(std::vector & shortestSegments, std::vector & alternativeSegments, const SearchEngine &sEngine, RouteNames & routeNames) { /*** extract names for both alternatives ***/ Segment shortestSegment1, shortestSegment2; @@ -304,7 +303,7 @@ public: "\"status\":"; } - inline void BuildTextualDescription(DescriptionFactory & descriptionFactory, http::Reply & reply, const int lengthOfRoute, const SearchEngineT &sEngine, std::vector & segmentVector) { + inline void BuildTextualDescription(DescriptionFactory & descriptionFactory, http::Reply & reply, const int lengthOfRoute, const SearchEngine &sEngine, std::vector & segmentVector) { //Segment information has following format: //["instruction","streetname",length,position,time,"length","earth_direction",azimuth] //Example: ["Turn left","High Street",200,4,10,"200m","NE",22.5]