#include <OverlayEdgeRing.h>
Definition at line 51 of file OverlayEdgeRing.h.
void geos::operation::overlayng::OverlayEdgeRing::addHole |
( |
OverlayEdgeRing * |
ring | ) |
|
Finds the innermost enclosing shell OverlayEdgeRing containing this OverlayEdgeRing, if any. The innermost enclosing ring is the smallest enclosing ring. The algorithm used depends on the fact that: ring A contains ring B iff envelope(ring A) contains envelope(ring B)
This routine is only safe to use if the chosen point of the hole is known to be properly contained in a shell (which is guaranteed to be the case if the hole does not touch its shell)
To improve performance of this function the caller should make the passed shellList as small as possible (e.g. by using a spatial index filter beforehand).
- Returns
- containing EdgeRing, if there is one or null if no containing EdgeRing is found
const Coordinate& geos::operation::overlayng::OverlayEdgeRing::getCoordinate |
( |
| ) |
|
Computes the list of coordinates which are contained in this ring. The coordinates are computed once only and cached.
- Returns
- an array of the Coordinates in this ring
OverlayEdge* geos::operation::overlayng::OverlayEdgeRing::getEdge |
( |
| ) |
|
std::unique_ptr<LinearRing> geos::operation::overlayng::OverlayEdgeRing::getRing |
( |
| ) |
|
const LinearRing* geos::operation::overlayng::OverlayEdgeRing::getRingPtr |
( |
| ) |
const |
const OverlayEdgeRing* geos::operation::overlayng::OverlayEdgeRing::getShell |
( |
| ) |
const |
Gets the shell for this ring. The shell is the ring itself if it is not a hole, otherwise its parent shell.
- Returns
- the shell for this ring
bool geos::operation::overlayng::OverlayEdgeRing::hasShell |
( |
| ) |
const |
Tests whether this ring has a shell assigned to it.
- Returns
- true if the ring has a shell
bool geos::operation::overlayng::OverlayEdgeRing::isHole |
( |
| ) |
const |
Tests whether this ring is a hole.
- Returns
true
if this ring is a hole
bool geos::operation::overlayng::OverlayEdgeRing::isInRing |
( |
const Coordinate & |
pt | ) |
|
void geos::operation::overlayng::OverlayEdgeRing::setShell |
( |
OverlayEdgeRing * |
p_shell | ) |
|
Sets the containing shell ring of a ring that has been determined to be a hole.
- Parameters
-
std::unique_ptr<Polygon> geos::operation::overlayng::OverlayEdgeRing::toPolygon |
( |
const GeometryFactory * |
factory | ) |
|
Computes the Polygon formed by this ring and any contained holes.
- Returns
- the Polygon formed by this ring and its holes.
std::vector<OverlayEdgeRing*> geos::operation::overlayng::OverlayEdgeRing::holes |
|
private |
bool geos::operation::overlayng::OverlayEdgeRing::m_isHole |
|
private |
std::unique_ptr<LinearRing> geos::operation::overlayng::OverlayEdgeRing::ring |
|
private |
OverlayEdge* geos::operation::overlayng::OverlayEdgeRing::startEdge |
|
private |
The documentation for this class was generated from the following file: