#include <OverlayOp.h>
Public Types | |
enum | OpCode { opINTERSECTION = 1, opUNION, opDIFFERENCE, opSYMDIFFERENCE } |
The spatial functions supported by this class. More... | |
Public Member Functions | |
OverlayOp (const geom::Geometry *g0, const geom::Geometry *g1) | |
Construct an OverlayOp with the given Geometry args. | |
geom::Geometry * | getResultGeometry (OpCode funcCode) |
geomgraph::PlanarGraph & | getGraph () |
bool | isCoveredByLA (const geom::Coordinate &coord) |
This method is used to decide if a point node should be included in the result or not. | |
bool | isCoveredByA (const geom::Coordinate &coord) |
This method is used to decide if an L edge should be included in the result or not. | |
Static Public Member Functions | |
static geom::Geometry * | overlayOp (const geom::Geometry *geom0, const geom::Geometry *geom1, OpCode opCode) |
static bool | isResultOfOp (geomgraph::Label *label, OpCode opCode) |
static bool | isResultOfOp (int loc0, int loc1, OpCode opCode) |
This method will handle arguments of Location.NULL correctly. | |
Protected Member Functions | |
void | insertUniqueEdge (geomgraph::Edge *e) |
Insert an edge from one of the noded input graphs. |
The overlay can be used to determine any boolean combination of the geometries.
The spatial functions supported by this class.
These operations implement various boolean combinations of the resultants of the overlay.
geos::operation::overlay::OverlayOp::OverlayOp | ( | const geom::Geometry * | g0, | |
const geom::Geometry * | g1 | |||
) |
static bool geos::operation::overlay::OverlayOp::isResultOfOp | ( | int | loc0, | |
int | loc1, | |||
OpCode | opCode | |||
) | [static] |
This method will handle arguments of Location.NULL correctly.
bool geos::operation::overlay::OverlayOp::isCoveredByLA | ( | const geom::Coordinate & | coord | ) |
This method is used to decide if a point node should be included in the result or not.
bool geos::operation::overlay::OverlayOp::isCoveredByA | ( | const geom::Coordinate & | coord | ) |
This method is used to decide if an L edge should be included in the result or not.
void geos::operation::overlay::OverlayOp::insertUniqueEdge | ( | geomgraph::Edge * | e | ) | [protected] |
Insert an edge from one of the noded input graphs.
Checks edges that are inserted to see if an identical edge already exists. If so, the edge is not inserted, but its label is merged with the existing edge.