30class GEOS_DLL ArcString :
public PathString {
32 explicit ArcString(std::vector<geom::CircularArc> arcs) : m_arcs(std::move(arcs)) {
35 ArcString(std::vector<geom::CircularArc> arcs,
const std::shared_ptr<const geom::CoordinateSequence>& seq,
const void* p_context)
36 : PathString(p_context),
37 m_arcs(std::move(arcs)),
41 std::size_t getSize()
const override {
45 double getLength()
const override {
47 for (
const auto &arc: m_arcs) {
48 tot += arc.getLength();
58 return m_arcs.begin();
65 const std::shared_ptr<const geom::CoordinateSequence>&
getCoordinates()
const override;
68 std::vector<geom::CircularArc> m_arcs;
69 std::shared_ptr<const geom::CoordinateSequence> m_seq;