15 #ifndef GEOS_GEOM_COORDINATEARRAYSEQUENCE_H
16 #define GEOS_GEOM_COORDINATEARRAYSEQUENCE_H
18 #include <geos/export.h>
21 #include <geos/geom/CoordinateSequence.h>
23 #include <geos/inline.h>
47 const Coordinate& getAt(std::size_t pos)
const;
50 virtual void getAt(std::size_t i,
Coordinate& c)
const;
53 size_t getSize()
const;
56 const std::vector<Coordinate>* toVector()
const;
59 void toVector(std::vector<Coordinate>&)
const;
66 std::size_t dimension = 0);
75 bool empty()
const {
return vect->empty(); }
82 virtual void add(
const Coordinate& c,
bool allowRepeated);
95 virtual void add(std::size_t i,
const Coordinate& coord,
bool allowRepeated);
97 void setAt(
const Coordinate& c, std::size_t pos);
99 void deleteAt(std::size_t pos);
101 std::string toString()
const;
103 void setPoints(
const std::vector<Coordinate> &v);
105 double getOrdinate(std::size_t index,
106 size_t ordinateIndex)
const;
108 void setOrdinate(std::size_t index, std::size_t ordinateIndex,
111 void expandEnvelope(
Envelope &env)
const;
113 std::size_t getDimension()
const;
122 std::vector<Coordinate> *vect;
123 mutable std::size_t dimension;
132 #endif // ndef GEOS_GEOM_COORDINATEARRAYSEQUENCE_H