19#include <geos/geom/Coordinate.h>
20#include <geos/geom/CoordinateSequence.h>
21#include <geos/constants.h>
35 const CoordinateSequence& m_coord;
37 std::vector<std::size_t> m_next;
38 std::vector<std::size_t> m_prev;
40 static std::vector<std::size_t> createNextLinks(std::size_t size);
41 static std::vector<std::size_t> createPrevLinks(std::size_t size);
46 LinkedRing(
const CoordinateSequence& cs)
49 , m_next(createNextLinks(m_size))
50 , m_prev(createPrevLinks(m_size))
53 std::size_t size()
const;
54 std::size_t next(std::size_t i)
const;
55 std::size_t prev(std::size_t i)
const;
56 const Coordinate& getCoordinate(std::size_t index)
const;
57 const Coordinate& prevCoordinate(std::size_t index)
const;
58 const Coordinate& nextCoordinate(std::size_t index)
const;
59 bool hasCoordinate(std::size_t index)
const;
60 void remove(std::size_t index);
61 std::unique_ptr<CoordinateSequence> getCoordinates()
const;
The internal representation of a list of coordinates inside a Geometry.
Definition CoordinateSequence.h:56
Coordinate is the lightweight class used to store coordinates.
Definition Coordinate.h:217
Basic namespace for all GEOS functionalities.
Definition geos.h:39