17#include <geos/export.h>
18#include <geos/geom/CircularArc.h>
19#include <geos/noding/PathString.h>
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,
void* context)
36 : 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;
Definition CircularArc.h:29
An interface for classes which represent a sequence of contiguous circular arcs, analogous to the Seg...
Definition ArcString.h:30
const std::shared_ptr< const geom::CoordinateSequence > & getCoordinates() const override
Return a pointer to the CoordinateSequence associated with this PathString.
Definition PathString.h:31
Classes to compute nodings for arrangements of line segments and line segment sequences.
Definition CoverageCleaner.h:42