#include <Polygonizer.h>
Public Member Functions | |
Polygonizer () | |
Create a polygonizer with the same GeometryFactory as the input Geometry. | |
void | add (std::vector< geom::Geometry * > *geomList) |
Add a collection of geometries to be polygonized. May be called multiple times. Any dimension of Geometry may be added; the constituent linework will be extracted and used. | |
void | add (std::vector< const geom::Geometry * > *geomList) |
Add a collection of geometries to be polygonized. May be called multiple times. Any dimension of Geometry may be added; the constituent linework will be extracted and used. | |
void | add (geom::Geometry *g) |
void | add (const geom::Geometry *g) |
std::vector< geom::Polygon * > * | getPolygons () |
Gets the list of polygons formed by the polygonization. | |
std::vector< const geom::LineString * > * | getDangles () |
Get the list of dangling lines found during polygonization. | |
std::vector< const geom::LineString * > * | getCutEdges () |
Get the list of cut edges found during polygonization. | |
std::vector< geom::LineString * > * | getInvalidRingLines () |
Get the list of lines forming invalid rings found during polygonization. | |
Protected Attributes | |
PolygonizeGraph * | graph |
std::vector< const geom::LineString * > * | dangles |
std::vector< const geom::LineString * > * | cutEdges |
std::vector< geom::LineString * > * | invalidRingLines |
std::vector< EdgeRing * > * | holeList |
std::vector< EdgeRing * > * | shellList |
std::vector< geom::Polygon * > * | polyList |
Friends | |
class | Polygonizer::LineStringAdder |
Any dimension of Geometry is handled - the constituent linework is extracted to form the edges. The edges must be correctly noded; that is, they must only meet at their endpoints. The Polygonizer will still run on incorrectly noded input but will not form polygons from incorrected noded edges.
The Polygonizer reports the follow kinds of errors:
void geos::operation::polygonize::Polygonizer::add | ( | std::vector< geom::Geometry * > * | geomList | ) |
Add a collection of geometries to be polygonized. May be called multiple times. Any dimension of Geometry may be added; the constituent linework will be extracted and used.
geomList | a list of Geometry with linework to be polygonized |
void geos::operation::polygonize::Polygonizer::add | ( | std::vector< const geom::Geometry * > * | geomList | ) |
Add a collection of geometries to be polygonized. May be called multiple times. Any dimension of Geometry may be added; the constituent linework will be extracted and used.
geomList | a list of Geometry with linework to be polygonized |
void geos::operation::polygonize::Polygonizer::add | ( | geom::Geometry * | g | ) |
Add a geometry to the linework to be polygonized. May be called multiple times. Any dimension of Geometry may be added; the constituent linework will be extracted and used
g | a Geometry with linework to be polygonized |
void geos::operation::polygonize::Polygonizer::add | ( | const geom::Geometry * | g | ) |
Add a geometry to the linework to be polygonized. May be called multiple times. Any dimension of Geometry may be added; the constituent linework will be extracted and used
g | a Geometry with linework to be polygonized |
std::vector<geom::Polygon*>* geos::operation::polygonize::Polygonizer::getPolygons | ( | ) |
Gets the list of polygons formed by the polygonization.
Ownership of vector is transferred to caller, subsequent calls will return NULL.
std::vector<const geom::LineString*>* geos::operation::polygonize::Polygonizer::getDangles | ( | ) |
Get the list of dangling lines found during polygonization.
std::vector<const geom::LineString*>* geos::operation::polygonize::Polygonizer::getCutEdges | ( | ) |
Get the list of cut edges found during polygonization.
std::vector<geom::LineString*>* geos::operation::polygonize::Polygonizer::getInvalidRingLines | ( | ) |
Get the list of lines forming invalid rings found during polygonization.
Ownership is tranferred to caller, second call will return NULL (unless polygonize is called again).