GEOS 3.14.0dev
|
#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< CoordinateSequence > | getNodedShell () |
std::unique_ptr< CoordinateSequence > | getNodedHole (std::size_t i) |
std::vector< bool > & | getHolesTouching () |
Friends | |
class | PolygonNoder::NodeAdder |
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.