// Copyright 2016, University of Freiburg, // Chair of Algorithms and Data Structures. // Authors: Patrick Brosi #ifndef UTIL_GEO_CIRCULARSEGMENT_H_ #define UTIL_GEO_CIRCULARSEGMENT_H_ #include #include "util/geo/Geo.h" #include "util/geo/PolyLine.h" namespace util { namespace geo { /** * Circular segment */ template class CircularSegment { public: CircularSegment(const Point& a, double ang, const Point& c); const PolyLine& render(double d); private: // store the rendered polyline for quicker access PolyLine _rendered; const Point& _a, _c; double _renderD; double _ang, _rad, _s, _initAng; Point valueAt(double t) const; }; #include "util/geo/CircularSegment.tpp" } } #endif // UTIL_GEO_BEZIERCURVE_H_