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:38