GEOS
3.8.0
include
geos
operation
predicate
SegmentIntersectionTester.h
1
/**********************************************************************
2
*
3
* GEOS - Geometry Engine Open Source
4
* http://geos.osgeo.org
5
*
6
* Copyright (C) 2011 Sandro Santilli <strk@kbt.io>
7
* Copyright (C) 2006 Refractions Research Inc.
8
*
9
* This is free software; you can redistribute and/or modify it under
10
* the terms of the GNU Lesser General Public Licence as published
11
* by the Free Software Foundation.
12
* See the COPYING file for more information.
13
*
14
**********************************************************************
15
*
16
* Last port: operation/predicate/SegmentIntersectionTester.java r378 (JTS-1.12)
17
*
18
**********************************************************************/
19
20
#ifndef GEOS_OP_PREDICATE_SEGMENTINTERSECTIONTESTER_H
21
#define GEOS_OP_PREDICATE_SEGMENTINTERSECTIONTESTER_H
22
23
#include <geos/export.h>
24
25
#include <geos/algorithm/LineIntersector.h>
// for composition
26
#include <geos/geom/Coordinate.h>
// for composition
27
28
// Forward declarations
29
namespace
geos
{
30
namespace
geom {
31
class
LineString;
32
class
CoordinateSequence;
33
}
34
}
35
36
namespace
geos
{
37
namespace
operation {
// geos::operation
38
namespace
predicate {
// geos::operation::predicate
39
48
class
GEOS_DLL
SegmentIntersectionTester
{
49
50
private
:
51
56
algorithm::LineIntersector
li;
// Robust
57
58
bool
hasIntersectionVar;
59
60
public
:
61
62
SegmentIntersectionTester
(): hasIntersectionVar(
false
) {}
63
64
bool
hasIntersectionWithLineStrings(
const
geom::LineString
& line,
65
const
std::vector<const geom::LineString*>& lines);
66
67
bool
hasIntersection(
const
geom::LineString
& line,
68
const
geom::LineString
& testLine);
69
84
bool
hasIntersectionWithEnvelopeFilter(
const
geom::LineString
& line,
85
const
geom::LineString
& testLine);
86
87
88
};
89
90
}
// namespace geos::operation::predicate
91
}
// namespace geos::operation
92
}
// namespace geos
93
94
#endif // ifndef GEOS_OP_PREDICATE_SEGMENTINTERSECTIONTESTER_H
geos
Basic namespace for all GEOS functionalities.
Definition:
IndexedNestedRingTester.h:25
geos::algorithm::LineIntersector
A LineIntersector is an algorithm that can both test whether two line segments intersect and compute ...
Definition:
LineIntersector.h:49
geos::geom::LineString
Definition:
LineString.h:68
geos::operation::predicate::SegmentIntersectionTester
Tests if any line segments in two sets of CoordinateSequences intersect.
Definition:
SegmentIntersectionTester.h:48
Generated by
1.8.17