#include <LineBuilder.h>
Public Member Functions | |
LineBuilder (OverlayOp *newOp, const geom::GeometryFactory *newGeometryFactory, algorithm::PointLocator *newPtLocator) | |
std::vector< geom::LineString * > * | build (OverlayOp::OpCode opCode) |
void | collectLineEdge (geomgraph::DirectedEdge *de, OverlayOp::OpCode opCode, std::vector< geomgraph::Edge * > *edges) |
void | collectBoundaryTouchEdge (geomgraph::DirectedEdge *de, OverlayOp::OpCode opCode, std::vector< geomgraph::Edge * > *edges) |
std::vector<geom::LineString*>* geos::operation::overlay::LineBuilder::build | ( | OverlayOp::OpCode | opCode | ) |
void geos::operation::overlay::LineBuilder::collectLineEdge | ( | geomgraph::DirectedEdge * | de, | |
OverlayOp::OpCode | opCode, | |||
std::vector< geomgraph::Edge * > * | edges | |||
) |
Find and mark L edges which are "covered" by the result area (if any). L edges at nodes which also have A edges can be checked by checking their depth at that node. L edges at nodes which do not have A edges can be checked by doing a point-in-polygon test with the previously computed result areas.
void geos::operation::overlay::LineBuilder::collectBoundaryTouchEdge | ( | geomgraph::DirectedEdge * | de, | |
OverlayOp::OpCode | opCode, | |||
std::vector< geomgraph::Edge * > * | edges | |||
) |
Collect edges from Area inputs which should be in the result but which have not been included in a result area. This happens ONLY: