22#include <geos/export.h>
25#include <geos/geom/LineString.h>
32class CoordinateArraySequence;
63 static const unsigned int MINIMUM_VALID_SIZE = 3;
89 std::unique_ptr<LinearRing> clone()
const
91 return std::unique_ptr<LinearRing>(cloneImpl());
104 bool isClosed()
const override;
112 std::unique_ptr<LinearRing> reverse()
const {
return std::unique_ptr<LinearRing>(reverseImpl()); }
117 getSortIndex()
const override
119 return SORTINDEX_LINEARRING;
128 void validateConstruction();
The internal representation of a list of coordinates inside a Geometry.
Definition: CoordinateSequence.h:44
Supplies a set of utility methods for building Geometry objects from CoordinateSequence or other Geom...
Definition: GeometryFactory.h:66
Definition: LineString.h:66
Models an OGC SFS LinearRing. A LinearRing is a LineString which is both closed and simple.
Definition: LinearRing.h:55
LinearRing * cloneImpl() const override
Make a deep-copy of this Geometry.
Definition: LinearRing.h:122
int getBoundaryDimension() const override
Returns Dimension.FALSE, since by definition LinearRings do not have a boundary.
LinearRing(CoordinateSequence::Ptr &&points, const GeometryFactory &newFactory)
Hopefully cleaner version of the above.
std::string getGeometryType() const override
Return a string representation of this Geometry type.
GeometryTypeId getGeometryTypeId() const override
Return an integer representation of this Geometry type.
LinearRing * reverseImpl() const override
Make a geometry with coordinates in reverse order.
LinearRing(CoordinateSequence *points, const GeometryFactory *newFactory)
Constructs a LinearRing with the given points.
GeometryTypeId
Geometry types.
Definition: Geometry.h:73
Basic namespace for all GEOS functionalities.
Definition: geos.h:39