GEOS  3.3.3
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 
59 {
60 private:
61  // Declare type as noncopyable
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 
PreparedPolygonPredicate(const PreparedPolygon *const prepPoly)
Definition: PreparedPolygonPredicate.h:132
std::vector< const Coordinate * > ConstVect
A vector of const Coordinate pointers.
Definition: Coordinate.h:72
bool isAnyTargetComponentInAreaTest(const geom::Geometry *testGeom, const geom::Coordinate::ConstVect *targetRepPts) const
Basic implementation of Geometry, constructed and destructed by GeometryFactory.
Definition: Geometry.h:168
bool isAllTestComponentsInTargetInterior(const geom::Geometry *testGeom) const
Tests whether all components of the test Geometry are contained in the interior of the target geometr...
A base class for predicate operations on PreparedPolygons.
Definition: PreparedPolygonPredicate.h:58
bool isAnyTestComponentInTarget(const geom::Geometry *testGeom) const
Tests whether any component of the test Geometry intersects the area of the target geometry...
bool isAllTestComponentsInTarget(const geom::Geometry *testGeom) const
Tests whether all components of the test Geometry are contained in the target geometry.
A prepared version of Polygon or MultiPolygon geometries.
Definition: PreparedPolygon.h:49
bool isAnyTestComponentInTargetInterior(const geom::Geometry *testGeom) const
Tests whether any component of the test Geometry intersects the interior of the target geometry...