GEOS
3.13.0dev

Models an OGC SFS LinearRing. A LinearRing is a LineString which is both closed and simple. More...
#include <LinearRing.h>
Public Member Functions  
LinearRing (const LinearRing &lr)  
LinearRing (CoordinateSequence::Ptr &&points, const GeometryFactory &newFactory)  
Constructs a LinearRing with the given points. More...  
std::unique_ptr< LinearRing >  clone () const 
int  getBoundaryDimension () const override 
Returns Dimension.FALSE , since by definition LinearRings do not have a boundary. More...  
bool  isClosed () const override 
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.  
void  setPoints (const CoordinateSequence *cl) 
std::unique_ptr< LinearRing >  reverse () const 
void  orient (bool isCW) 
Public Member Functions inherited from geos::geom::LineString  
std::unique_ptr< LineString >  clone () const 
Creates and returns a full copy of this LineString object (including all coordinates contained by it) More...  
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.  
double  getLength () const override 
Returns the length of this Geometry.  
std::unique_ptr< LineString >  reverse () const 
Static Public Attributes  
static const unsigned int  MINIMUM_VALID_SIZE = 3 
The minimum number of vertices allowed in a valid nonempty ring. Empty rings with 0 vertices are also valid.  
Protected Member Functions  
int  getSortIndex () const override 
LinearRing *  cloneImpl () const override 
Make a deepcopy of this Geometry.  
LinearRing *  reverseImpl () const override 
Make a geometry with coordinates in reverse order.  
Protected Member Functions inherited from geos::geom::LineString  
LineString (const LineString &ls)  
LineString (CoordinateSequence::Ptr &&pts, const GeometryFactory &newFactory)  
Constructs a LineString taking ownership the given CoordinateSequence.  
LineString *  cloneImpl () const override 
Make a deepcopy of this Geometry.  
LineString *  reverseImpl () const override 
Make a geometry with coordinates in reverse order.  
int  getSortIndex () const override 
void  geometryChangedAction () override 
Notifies this Geometry that its Coordinates have been changed by an external party.  
Additional Inherited Members  
Public Types inherited from geos::geom::LineString  
typedef std::vector< const LineString * >  ConstVect 
A vector of const LineString pointers.  
Models an OGC SFS LinearRing. A LinearRing is a LineString which is both closed and simple.
In other words, the first and last coordinate in the ring must be equal, and the ring must not selfintersect. Either orientation of the ring is allowed.
A ring must have either 0 or 3 or more points. The first and last points must be equal (in 2D). If these conditions are not met, the constructors throw an geos::util::IllegalArgumentException A ring with 3 points is invalid, because it is collapsed and thus has a selfintersection. It is allowed to be constructed so that it can be represented, and repaired if needed.
geos::geom::LinearRing::LinearRing  (  CoordinateSequence::Ptr &&  points, 
const GeometryFactory &  newFactory  
) 
Constructs a LinearRing with the given points.
points  points forming a closed and simple linestring, or null or an empty array to create the empty geometry. This array must not contain null elements. If not null LinearRing will take ownership of points. 
newFactory  the GeometryFactory used to create this geometry 

overridevirtual 
Returns Dimension.FALSE
, since by definition LinearRings do not have a boundary.
Implements geos::geom::Geometry.