20 #ifndef GEOS_GEOS_LINEARRING_H
21 #define GEOS_GEOS_LINEARRING_H
23 #include <geos/export.h>
26 #include <geos/geom/LineString.h>
28 #include <geos/inline.h>
34 class CoordinateArraySequence;
65 static const unsigned int MINIMUM_VALID_SIZE = 3;
88 std::unique_ptr<LinearRing> clone()
const
90 return std::unique_ptr<LinearRing>(cloneImpl());
103 bool isClosed()
const override;
111 std::unique_ptr<LinearRing> reverse()
const {
return std::unique_ptr<LinearRing>(reverseImpl()); }
116 getSortIndex()
const override
118 return SORTINDEX_LINEARRING;
127 void validateConstruction();
The internal representation of a list of coordinates inside a Geometry.
Definition: CoordinateSequence.h:58
Supplies a set of utility methods for building Geometry objects from CoordinateSequence or other Geom...
Definition: GeometryFactory.h:68
Definition: LineString.h:68
Models an OGC SFS LinearRing. A LinearRing is a LineString which is both closed and simple.
Definition: LinearRing.h:57
int getBoundaryDimension() const override
Returns Dimension.FALSE, since by definition LinearRings do not have a boundary.
LinearRing * reverseImpl() const override
Make a geometry with coordinates in reverse order.
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.
LinearRing * cloneImpl() const override
Make a deep-copy of this Geometry.
Definition: LinearRing.h:121
GeometryTypeId getGeometryTypeId() const override
Return an integer representation of this Geometry type.
LinearRing(CoordinateSequence *points, const GeometryFactory *newFactory)
Constructs a LinearRing with the given points.
GeometryTypeId
Geometry types.
Definition: Geometry.h:75
Basic namespace for all GEOS functionalities.
Definition: Angle.h:26