22#include <geos/export.h>
25#include <geos/geom/LineString.h>
62 static const unsigned int MINIMUM_VALID_SIZE = 3;
81 LinearRing(
const std::shared_ptr<const CoordinateSequence>& points,
84 std::unique_ptr<LinearRing> clone()
const
86 return std::unique_ptr<LinearRing>(cloneImpl());
99 bool isClosed()
const override;
107 std::unique_ptr<LinearRing> reverse()
const {
return std::unique_ptr<LinearRing>(reverseImpl()); }
109 void orient(
bool isCW);
114 getSortIndex()
const override
116 return SORTINDEX_LINEARRING;
125 void validateConstruction();
The internal representation of a list of coordinates inside a Geometry.
Definition CoordinateSequence.h:56
Supplies a set of utility methods for building Geometry objects from CoordinateSequence or other Geom...
Definition GeometryFactory.h:71
Definition LineString.h:66
Models an OGC SFS LinearRing. A LinearRing is a LineString which is both closed and simple.
Definition LinearRing.h:54
LinearRing * cloneImpl() const override
Make a deep-copy of this Geometry.
Definition LinearRing.h:119
int getBoundaryDimension() const override
Returns Dimension.FALSE, since by definition LinearRings do not have a boundary.
LinearRing(CoordinateSequence::Ptr &&points, const GeometryFactory &newFactory)
Constructs a LinearRing with the given points.
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.
GeometryTypeId
Geometry types.
Definition Geometry.h:73
Basic namespace for all GEOS functionalities.
Definition geos.h:38