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