16#ifndef GEOS_GEOM_PREP_SEGMENTINTERSECTIONDETECTOR_H
17#define GEOS_GEOM_PREP_SEGMENTINTERSECTIONDETECTOR_H
19#include <geos/noding/SegmentIntersector.h>
20#include <geos/algorithm/LineIntersector.h>
21#include <geos/geom/Coordinate.h>
22#include <geos/geom/CoordinateSequence.h>
23#include <geos/noding/SegmentString.h>
43class SegmentIntersectionDetector :
public SegmentIntersector
51 bool _hasIntersection;
52 bool _hasProperIntersection;
53 bool _hasNonProperIntersection;
65 _hasIntersection(
false),
66 _hasProperIntersection(
false),
67 _hasNonProperIntersection(
false),
72 ~SegmentIntersectionDetector()
79 void setFindProper(
bool findProper)
81 this->findProper = findProper;
84 void setFindAllIntersectionTypes(
bool findAllTypes)
86 this->findAllTypes = findAllTypes;
96 return _hasIntersection;
106 return _hasProperIntersection;
116 return _hasNonProperIntersection;
146 return _hasProperIntersection && _hasNonProperIntersection;
150 return _hasProperIntersection;
152 return _hasIntersection;
A LineIntersector is an algorithm that can both test whether two line segments intersect and compute ...
Definition LineIntersector.h:49
The internal representation of a list of coordinates inside a Geometry.
Definition CoordinateSequence.h:59
Coordinate is the lightweight class used to store coordinates.
Definition Coordinate.h:60
bool hasIntersection() const
Definition SegmentIntersectionDetector.h:94
void processIntersections(noding::SegmentString *e0, int segIndex0, noding::SegmentString *e1, int segIndex1)
const geom::CoordinateSequence * getIntersectionSegments() const
Definition SegmentIntersectionDetector.h:136
bool hasNonProperIntersection() const
Definition SegmentIntersectionDetector.h:114
bool hasProperIntersection() const
Definition SegmentIntersectionDetector.h:104
bool isDone() const
Reports whether the client of this class needs to continue testing all intersections in an arrangemen...
Definition SegmentIntersectionDetector.h:141
const geom::Coordinate *const getIntersection() const
Definition SegmentIntersectionDetector.h:125
An interface for classes which represent a sequence of contiguous line segments.
Definition SegmentString.h:46
Contains classes and interfaces implementing fundamental computational geometry algorithms.
Definition Angle.h:33
Classes to compute nodings for arrangements of line segments and line segment sequences.
Definition PreparedLineString.h:27
Basic namespace for all GEOS functionalities.
Definition IndexedNestedRingTester.h:25