geos::operation::overlay::LineBuilder Class Reference

Forms JTS LineStrings out of a the graph of geomgraph::DirectedEdge created by an OverlayOp. More...

#include <LineBuilder.h>

List of all members.

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)


Detailed Description

Forms JTS LineStrings out of a the graph of geomgraph::DirectedEdge created by an OverlayOp.

Member Function Documentation

std::vector<geom::LineString*>* geos::operation::overlay::LineBuilder::build ( OverlayOp::OpCode  opCode  ) 

Returns:
a list of the LineStrings in the result of the specified overlay operation

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:


The documentation for this class was generated from the following file:
Generated on Fri Mar 27 04:53:53 2009 for GEOS by  doxygen 1.5.4