GEOS 3.14.0dev
Public Member Functions | Static Public Member Functions | List of all members
geos::coverage::CoverageEdge Class Reference

#include <CoverageEdge.h>

Public Member Functions

 CoverageEdge (std::unique_ptr< CoordinateSequence > &&pts, bool isFreeRing)
 
std::unique_ptr< LineStringtoLineString (const GeometryFactory *geomFactory)
 
void incRingCount ()
 
std::size_t getRingCount () const
 
bool isFreeRing () const
 
void setCoordinates (const CoordinateSequence *pts)
 
const CoordinateSequencegetCoordinates () const
 
const CoordinategetEndCoordinate () const
 
const CoordinategetStartCoordinate () const
 

Static Public Member Functions

static LineSegment key (const CoordinateSequence &ring)
 
static LineSegment key (const CoordinateSequence &ring, std::size_t start, std::size_t end)
 
static std::unique_ptr< CoverageEdgecreateEdge (const CoordinateSequence &ring)
 
static std::unique_ptr< CoverageEdgecreateEdge (const CoordinateSequence &ring, std::size_t start, std::size_t end)
 
static std::unique_ptr< MultiLineStringcreateLines (const std::vector< CoverageEdge * > &edges, const GeometryFactory *geomFactory)
 

Detailed Description

An edge of a polygonal coverage formed from all or a section of a polygon ring. An edge may be a free ring, which is a ring which has not node points (i.e. does not touch any other rings in the parent coverage).

Author
mdavis

Member Function Documentation

◆ isFreeRing()

bool geos::coverage::CoverageEdge::isFreeRing ( ) const
inline

Returns whether this edge is a free ring; i.e. one with no constrained nodes.

Returns
true if this is a free ring

◆ key() [1/2]

static LineSegment geos::coverage::CoverageEdge::key ( const CoordinateSequence ring)
static

Computes a key segment for a ring. The key is the segment starting at the lowest vertex, towards the lowest adjacent distinct vertex.

Parameters
ringa linear ring
Returns
a LineSegment representing the key

◆ key() [2/2]

static LineSegment geos::coverage::CoverageEdge::key ( const CoordinateSequence ring,
std::size_t  start,
std::size_t  end 
)
static

Computes a distinct key for a section of a linear ring.

Parameters
ringthe linear ring
startindex of the start of the section
endend index of the end of the section
Returns
a LineSegment representing the key

The documentation for this class was generated from the following file: