|
GEOS
3.5.0
|
#include <EdgeRing.h>
Public Member Functions | |
| EdgeRing (DirectedEdge *newStart, const geom::GeometryFactory *newGeometryFactory) | |
| bool | isIsolated () |
| bool | isHole () |
| geom::LinearRing * | getLinearRing () |
| Label & | getLabel () |
| bool | isShell () |
| EdgeRing * | getShell () |
| void | setShell (EdgeRing *newShell) |
| void | addHole (EdgeRing *edgeRing) |
| geom::Polygon * | toPolygon (const geom::GeometryFactory *geometryFactory) |
| void | computeRing () |
| virtual DirectedEdge * | getNext (DirectedEdge *de)=0 |
| virtual void | setEdgeRing (DirectedEdge *de, EdgeRing *er)=0 |
| std::vector< DirectedEdge * > & | getEdges () |
| int | getMaxNodeDegree () |
| void | setInResult () |
| bool | containsPoint (const geom::Coordinate &p) |
| void | testInvariant () |
Protected Member Functions | |
| void | computePoints (DirectedEdge *newStart) |
| throw(const TopologyException &) | |
| void | mergeLabel (const Label &deLabel) |
| void | mergeLabel (const Label &deLabel, int geomIndex) |
| Merge the RHS label from a DirectedEdge into the label for this EdgeRing. More... | |
| void | addPoints (Edge *edge, bool isForward, bool isFirstEdge) |
Protected Attributes | |
| DirectedEdge * | startDe |
| const geom::GeometryFactory * | geometryFactory |
| std::vector< EdgeRing * > | holes |
| a list of EdgeRings which are holes in this EdgeRing | |
Friends | |
| std::ostream & | operator<< (std::ostream &os, const EdgeRing &er) |
| void geos::geomgraph::EdgeRing::computeRing | ( | ) |
Compute a LinearRing from the point list previously collected. Test if the ring is a hole (i.e. if it is CCW) and set the hole flag accordingly.
| bool geos::geomgraph::EdgeRing::containsPoint | ( | const geom::Coordinate & | p | ) |
This method will use the computed ring. It will also check any holes, if they have been assigned.
| std::vector<DirectedEdge*>& geos::geomgraph::EdgeRing::getEdges | ( | ) |
Returns the list of DirectedEdges that make up this EdgeRing
|
protected |
Merge the RHS label from a DirectedEdge into the label for this EdgeRing.
The DirectedEdge label may be null. This is acceptable - it results from a node which is NOT an intersection node between the Geometries (e.g. the end node of a LinearRing). In this case the DirectedEdge label does not contribute any information to the overall labelling, and is simply skipped.
| geom::Polygon* geos::geomgraph::EdgeRing::toPolygon | ( | const geom::GeometryFactory * | geometryFactory | ) |
Return a Polygon copying coordinates from this EdgeRing and its holes. Caller must remember to delete the result
1.8.11