* better and faster trip clustering: trip tries * add --write-colors to extract line colors from OSM data * refactor config parameter names, update default pfaedle.cfg * add --stats for writing a stats.json file * add --no-fast-hops, --no-a-star, --no-trie for debugging * general refactoring
41 lines
815 B
C++
41 lines
815 B
C++
// Copyright 2016, University of Freiburg,
|
|
// Chair of Algorithms and Data Structures.
|
|
// Authors: Patrick Brosi <brosi@informatik.uni-freiburg.de>
|
|
|
|
#ifndef UTIL_GEO_CIRCULARSEGMENT_H_
|
|
#define UTIL_GEO_CIRCULARSEGMENT_H_
|
|
|
|
#include <vector>
|
|
#include "util/geo/Geo.h"
|
|
#include "util/geo/PolyLine.h"
|
|
|
|
namespace util {
|
|
namespace geo {
|
|
|
|
/**
|
|
* Circular segment
|
|
*/
|
|
template <typename T>
|
|
class CircularSegment {
|
|
public:
|
|
CircularSegment(const Point<T>& a, double ang, const Point<T>& c);
|
|
|
|
const PolyLine<T>& render(double d);
|
|
|
|
private:
|
|
// store the rendered polyline for quicker access
|
|
PolyLine<T> _rendered;
|
|
|
|
const Point<T>& _a, _c;
|
|
double _renderD;
|
|
|
|
double _ang, _rad, _s, _initAng;
|
|
|
|
Point<T> valueAt(double t) const;
|
|
};
|
|
|
|
#include "util/geo/CircularSegment.tpp"
|
|
}
|
|
}
|
|
|
|
#endif // UTIL_GEO_BEZIERCURVE_H_
|