16 #ifndef GEOS_GEOM_COORDINATEARRAYSEQUENCE_H
17 #define GEOS_GEOM_COORDINATEARRAYSEQUENCE_H
19 #include <geos/export.h>
22 #include <geos/geom/CoordinateSequence.h>
24 #include <geos/inline.h>
46 const Coordinate& getAt(std::size_t pos)
const;
49 virtual void getAt(std::size_t i,
Coordinate& c)
const;
52 size_t getSize()
const;
55 const std::vector<Coordinate>* toVector()
const;
58 void toVector(std::vector<Coordinate>&)
const;
65 std::size_t dimension = 0);
74 bool empty()
const {
return vect->empty(); }
81 virtual void add(
const Coordinate& c,
bool allowRepeated);
94 virtual void add(std::size_t i,
const Coordinate& coord,
bool allowRepeated);
96 void setAt(
const Coordinate& c, std::size_t pos);
98 void deleteAt(std::size_t pos);
100 std::string toString()
const;
102 void setPoints(
const std::vector<Coordinate> &v);
104 double getOrdinate(std::size_t index,
105 size_t ordinateIndex)
const;
107 void setOrdinate(std::size_t index, std::size_t ordinateIndex,
110 void expandEnvelope(
Envelope &env)
const;
112 std::size_t getDimension()
const;
121 std::vector<Coordinate> *vect;
122 mutable std::size_t dimension;
135 #endif // ndef GEOS_GEOM_COORDINATEARRAYSEQUENCE_H