GEOS  3.9.1dev
Public Member Functions | Private Member Functions | Private Attributes | List of all members
geos::noding::IntersectionFinderAdder Class Reference

Finds proper and interior intersections in a set of SegmentStrings, and adds them as nodes. More...

#include <IntersectionFinderAdder.h>

Inheritance diagram for geos::noding::IntersectionFinderAdder:
[legend]
Collaboration diagram for geos::noding::IntersectionFinderAdder:
[legend]

Public Member Functions

 IntersectionFinderAdder (algorithm::LineIntersector &newLi, std::vector< geom::Coordinate > &v)
 Creates an intersection finder which finds all proper intersections and stores them in the provided Coordinate array. More...
 
void processIntersections (SegmentString *e0, size_t segIndex0, SegmentString *e1, size_t segIndex1) override
 This method is called by clients of the SegmentIntersector class to process intersections for two segments of the SegmentStrings being intersected. More...
 
std::vector< geom::Coordinate > & getInteriorIntersections ()
 
bool isDone () const override
 
- Public Member Functions inherited from geos::noding::SegmentIntersector
virtual ~SegmentIntersector ()
 

Private Member Functions

 IntersectionFinderAdder (const IntersectionFinderAdder &other)=delete
 
IntersectionFinderAdderoperator= (const IntersectionFinderAdder &rhs)=delete
 

Private Attributes

algorithm::LineIntersectorli
 
std::vector< geom::Coordinate > & interiorIntersections
 

Additional Inherited Members

- Protected Member Functions inherited from geos::noding::SegmentIntersector
 SegmentIntersector ()
 

Detailed Description

Finds proper and interior intersections in a set of SegmentStrings, and adds them as nodes.

Definition at line 53 of file IntersectionFinderAdder.h.

Constructor & Destructor Documentation

geos::noding::IntersectionFinderAdder::IntersectionFinderAdder ( algorithm::LineIntersector newLi,
std::vector< geom::Coordinate > &  v 
)
inline

Creates an intersection finder which finds all proper intersections and stores them in the provided Coordinate array.

Parameters
newLithe LineIntersector to use
vthe Vector to push interior intersections to

Definition at line 64 of file IntersectionFinderAdder.h.

geos::noding::IntersectionFinderAdder::IntersectionFinderAdder ( const IntersectionFinderAdder other)
privatedelete

Member Function Documentation

std::vector<geom::Coordinate>& geos::noding::IntersectionFinderAdder::getInteriorIntersections ( )
inline

Definition at line 86 of file IntersectionFinderAdder.h.

bool geos::noding::IntersectionFinderAdder::isDone ( ) const
inlineoverridevirtual

Always process all intersections

Returns
false always

Reimplemented from geos::noding::SegmentIntersector.

Definition at line 97 of file IntersectionFinderAdder.h.

IntersectionFinderAdder& geos::noding::IntersectionFinderAdder::operator= ( const IntersectionFinderAdder rhs)
privatedelete
void geos::noding::IntersectionFinderAdder::processIntersections ( SegmentString e0,
size_t  segIndex0,
SegmentString e1,
size_t  segIndex1 
)
overridevirtual

This method is called by clients of the SegmentIntersector class to process intersections for two segments of the SegmentStrings being intersected.

Note that some clients (such as MonotoneChains) may optimize away this call for segment pairs which they have determined do not intersect (e.g. by an disjoint envelope test).

Implements geos::noding::SegmentIntersector.

Member Data Documentation

std::vector<geom::Coordinate>& geos::noding::IntersectionFinderAdder::interiorIntersections
private

Definition at line 104 of file IntersectionFinderAdder.h.

algorithm::LineIntersector& geos::noding::IntersectionFinderAdder::li
private

Definition at line 103 of file IntersectionFinderAdder.h.


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