GEOS 3.3.4

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

- File List

PreparedPolygonPredicate.h
1 /**********************************************************************
2 * $Id: PreparedPolygonPredicate.h 2771 2009-12-03 19:29:54Z mloskot $
3 *
4 * GEOS - Geometry Engine Open Source
5 * http://geos.refractions.net
6 *
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 *
17 * Last port: geom/prep/PreparedPolygonPredicate.java rev. 1.4 (JTS-1.10)
18 * (2007-12-12)
19 *
20 **********************************************************************/
21
22 #ifndef GEOS_GEOM_PREP_PREPAREDPOLYGONPREDICATE_H
23 #define GEOS_GEOM_PREP_PREPAREDPOLYGONPREDICATE_H
24
25 #include <geos/geom/Coordinate.h>
26
27 // forward declarations
28 namespace geos {
29 namespace algorithm {
30 namespace locate {
31 class PointOnGeometryLocator;
32 }
33 }
34 namespace geom {
35 class Geometry;
36
37 namespace prep {
38 class PreparedPolygon;
39 }
40 }
41 namespace noding {
42 class FastSegmentSetIntersectionFinder;
43 }
44 }
45
46
47 namespace geos {
48 namespace geom { // geos::geom
49 namespace prep { // geos::geom::prep
50
58 class PreparedPolygonPredicate
59 {
60 private:
61 // Declare type as noncopyable
62 PreparedPolygonPredicate(const PreparedPolygonPredicate& other);
63 PreparedPolygonPredicate& operator=(const PreparedPolygonPredicate& rhs);
64
65 protected:
66 const PreparedPolygon * const prepPoly;
67
78 bool isAllTestComponentsInTarget(const geom::Geometry * testGeom) const;
79
90 bool isAllTestComponentsInTargetInterior( const geom::Geometry * testGeom) const;
91
102 bool isAnyTestComponentInTarget( const geom::Geometry * testGeom) const;
103
114 bool isAnyTestComponentInTargetInterior( const geom::Geometry * testGeom) const;
115
124 bool isAnyTargetComponentInAreaTest( const geom::Geometry * testGeom, const geom::Coordinate::ConstVect * targetRepPts) const;
125
126 public:
132 PreparedPolygonPredicate( const PreparedPolygon * const prepPoly)
133 : prepPoly( prepPoly)
134 { }
135
136 virtual ~PreparedPolygonPredicate()
137 { }
138
139 };
140
141 } // namespace geos::geom::prep
142 } // namespace geos::geom
143 } // namespace geos
144
145 #endif // GEOS_GEOM_PREP_PREPAREDPOLYGONPREDICATE_H
146 /**********************************************************************
147 * $Log$
148 **********************************************************************/
149