GEOS 3.3.4

- Main Page
- Related Pages
- Namespaces
- Classes
- Files

- File List

PreparedLineStringIntersects.h
1 /**********************************************************************
2 *
3 * GEOS - Geometry Engine Open Source
4 * http://geos.refractions.net
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 #ifndef GEOS_GEOM_PREP_PREPAREDLINESTRINGINTERSECTS_H
21 #define GEOS_GEOM_PREP_PREPAREDLINESTRINGINTERSECTS_H
22
23 #include <geos/geom/prep/PreparedLineString.h>
24 #include <geos/algorithm/PointLocator.h>
25 #include <geos/geom/util/ComponentCoordinateExtracter.h>
26 #include <geos/geom/Coordinate.h>
27 #include <geos/noding/SegmentStringUtil.h>
28
29 namespace geos {
30 namespace geom { // geos::geom
31 namespace prep { // geos::geom::prep
32
44 class PreparedLineStringIntersects
45 {
46 public:
47
56 static bool intersects( PreparedLineString & prep, const geom::Geometry * geom )
57 {
58 PreparedLineStringIntersects op( prep);
59 return op.intersects( geom);
60 }
61
65 PreparedLineStringIntersects(PreparedLineString & prep)
66 : prepLine( prep)
67 { }
68
75 bool intersects(const geom::Geometry * g) const;
76
77 protected:
78 PreparedLineString & prepLine;
79
88 bool isAnyTestPointInTarget(const geom::Geometry * testGeom) const;
89
90 // Declare type as noncopyable
91 PreparedLineStringIntersects(const PreparedLineStringIntersects& other);
92 PreparedLineStringIntersects& operator=(const PreparedLineStringIntersects& rhs);
93 };
94
95 } // namespace geos::geom::prep
96 } // namespace geos::geom
97 } // namespace geos
98
99 #endif // GEOS_GEOM_PREP_PREPAREDLINESTRINGINTERSECTS_H
100