GEOS 3.13.1
geos::triangulate::polygon::PolygonNoder Class Reference

#include <PolygonNoder.h>

Public Member Functions

 PolygonNoder (std::unique_ptr< CoordinateSequence > &shellRing, std::vector< std::unique_ptr< CoordinateSequence > > &holeRings)
void node ()
bool isShellNoded ()
bool isHoleNoded (std::size_t i)
std::unique_ptr< CoordinateSequencegetNodedShell ()
std::unique_ptr< CoordinateSequencegetNodedHole (std::size_t i)
std::vector< bool > & getHolesTouching ()

Friends

class PolygonNoder::NodeAdder

Detailed Description

Adds node vertices to the rings of a polygon where holes touch the shell or each other. The structure of the polygon is preserved.

This does not fix invalid polygon topology (such as self-touching or crossing rings). Invalid input remains invalid after noding, and does not trigger an error.


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