GEOS 3.14.0dev
|
#include <CoverageEdge.h>
Public Member Functions | |
CoverageEdge (std::unique_ptr< CoordinateSequence > &&pts, bool isFreeRing) | |
std::unique_ptr< LineString > | toLineString (const GeometryFactory *geomFactory) |
void | incRingCount () |
std::size_t | getRingCount () const |
bool | isFreeRing () const |
void | setCoordinates (const CoordinateSequence *pts) |
const CoordinateSequence * | getCoordinates () const |
const Coordinate & | getEndCoordinate () const |
const Coordinate & | getStartCoordinate () 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< CoverageEdge > | createEdge (const CoordinateSequence &ring) |
static std::unique_ptr< CoverageEdge > | createEdge (const CoordinateSequence &ring, std::size_t start, std::size_t end) |
static std::unique_ptr< MultiLineString > | createLines (const std::vector< CoverageEdge * > &edges, const GeometryFactory *geomFactory) |
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).
|
inline |
Returns whether this edge is a free ring; i.e. one with no constrained nodes.
|
static |
Computes a key segment for a ring. The key is the segment starting at the lowest vertex, towards the lowest adjacent distinct vertex.
ring | a linear ring |
|
static |
Computes a distinct key for a section of a linear ring.
ring | the linear ring |
start | index of the start of the section |
end | end index of the end of the section |