GEOS  3.9.1dev
Public Member Functions | Private Member Functions | Private Attributes | List of all members
geos::operation::overlayng::IntersectionPointBuilder Class Reference

#include <IntersectionPointBuilder.h>

Collaboration diagram for geos::operation::overlayng::IntersectionPointBuilder:
[legend]

Public Member Functions

 IntersectionPointBuilder (OverlayGraph *p_graph, const geom::GeometryFactory *geomFact)
 
std::vector< std::unique_ptr< geom::Point > > getPoints ()
 
 IntersectionPointBuilder (const IntersectionPointBuilder &)=delete
 
IntersectionPointBuilderoperator= (const IntersectionPointBuilder &)=delete
 
void setStrictMode (bool p_isStrictMode)
 

Private Member Functions

void addResultPoints ()
 
bool isResultPoint (OverlayEdge *nodeEdge) const
 
bool isEdgeOf (const OverlayLabel *label, int i) const
 

Private Attributes

OverlayGraphgraph
 
const geom::GeometryFactorygeometryFactory
 
std::vector< std::unique_ptr< geom::Point > > points
 
bool isAllowCollapseLines
 

Detailed Description

Extracts Point resultants from an overlay graph created by an Intersection operation between non-Point inputs. Points may be created during intersection if lines or areas touch one another at single points. Intersection is the only overlay operation which can result in Points from non-Point inputs.

Overlay operations where one or more inputs are Points are handled via a different code path.

Author
Martin Davis
See also
OverlayPoints

Definition at line 60 of file IntersectionPointBuilder.h.

Constructor & Destructor Documentation

geos::operation::overlayng::IntersectionPointBuilder::IntersectionPointBuilder ( OverlayGraph p_graph,
const geom::GeometryFactory geomFact 
)
inline

Definition at line 90 of file IntersectionPointBuilder.h.

geos::operation::overlayng::IntersectionPointBuilder::IntersectionPointBuilder ( const IntersectionPointBuilder )
delete

Member Function Documentation

void geos::operation::overlayng::IntersectionPointBuilder::addResultPoints ( )
private
std::vector<std::unique_ptr<geom::Point> > geos::operation::overlayng::IntersectionPointBuilder::getPoints ( )
bool geos::operation::overlayng::IntersectionPointBuilder::isEdgeOf ( const OverlayLabel label,
int  i 
) const
private
bool geos::operation::overlayng::IntersectionPointBuilder::isResultPoint ( OverlayEdge nodeEdge) const
private

Tests if a node is a result point. This is the case if the node is incident on edges from both inputs, and none of the edges are themselves in the result.

IntersectionPointBuilder& geos::operation::overlayng::IntersectionPointBuilder::operator= ( const IntersectionPointBuilder )
delete
void geos::operation::overlayng::IntersectionPointBuilder::setStrictMode ( bool  p_isStrictMode)
inline

Definition at line 101 of file IntersectionPointBuilder.h.

Member Data Documentation

const geom::GeometryFactory* geos::operation::overlayng::IntersectionPointBuilder::geometryFactory
private

Definition at line 66 of file IntersectionPointBuilder.h.

OverlayGraph* geos::operation::overlayng::IntersectionPointBuilder::graph
private

Definition at line 65 of file IntersectionPointBuilder.h.

bool geos::operation::overlayng::IntersectionPointBuilder::isAllowCollapseLines
private

Controls whether lines created by area topology collapses to participate in the result computation. True provides the original JTS semantics.

Definition at line 73 of file IntersectionPointBuilder.h.

std::vector<std::unique_ptr<geom::Point> > geos::operation::overlayng::IntersectionPointBuilder::points
private

Definition at line 67 of file IntersectionPointBuilder.h.


The documentation for this class was generated from the following file: