GEOS 3.14.0dev
PreparedLineStringIntersects.h
1/**********************************************************************
2 *
3 * GEOS - Geometry Engine Open Source
4 * http://geos.osgeo.org
5 *
6 * Copyright (C) 2006 Refractions Research Inc.
7 *
8 * This is free software; you can redistribute and/or modify it under
9 * the terms of the GNU Lesser General Public Licence as published
10 * by the Free Software Foundation.
11 * See the COPYING file for more information.
12 *
13 *
14 **********************************************************************
15 *
16 * Last port: geom/prep/PreparedLineStringIntersects.java r338 (JTS-1.12)
17 *
18 **********************************************************************/
19
20#pragma once
21
22#include <geos/geom/prep/PreparedLineString.h>
23#include <geos/algorithm/PointLocator.h>
24#include <geos/geom/util/ComponentCoordinateExtracter.h>
25#include <geos/geom/Coordinate.h>
26#include <geos/noding/SegmentStringUtil.h>
27
28namespace geos {
29namespace geom { // geos::geom
30namespace prep { // geos::geom::prep
31
44public:
45
54 static bool
56 {
58 return op.intersects(geom);
59 }
60
65 : prepLine(prep)
66 { }
67
74 bool intersects(const geom::Geometry* g) const;
75
76protected:
77 PreparedLineString& prepLine;
78
87 bool isAnyTestPointInTarget(const geom::Geometry* testGeom) const;
88
89 // Declare type as noncopyable
91 PreparedLineStringIntersects& operator=(const PreparedLineStringIntersects& rhs) = delete;
92};
93
94} // namespace geos::geom::prep
95} // namespace geos::geom
96} // namespace geos
97
Basic implementation of Geometry, constructed and destructed by GeometryFactory.
Definition Geometry.h:197
Computes the intersects spatial relationship predicate for a target PreparedLineString relative to al...
Definition PreparedLineStringIntersects.h:43
static bool intersects(PreparedLineString &prep, const geom::Geometry *geom)
Definition PreparedLineStringIntersects.h:55
PreparedLineStringIntersects(PreparedLineString &prep)
Definition PreparedLineStringIntersects.h:64
bool intersects(const geom::Geometry *g) const
bool isAnyTestPointInTarget(const geom::Geometry *testGeom) const
A prepared version of LinearRing, LineString or MultiLineString geometries.
Definition PreparedLineString.h:41
Basic namespace for all GEOS functionalities.
Definition geos.h:39