GEOS  3.13.0dev
Public Member Functions | Friends | List of all members
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: