GEOS  3.3.3
ConnectedElementLocationFilter.h
1 /**********************************************************************
2  * $Id: ConnectedElementLocationFilter.h 2557 2009-06-08 09:30:55Z strk $
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  * Last port: operation/distance/ConnectedElementLocationFilter.java rev. 1.4 (JTS-1.10)
17  *
18  **********************************************************************/
19 
20 #ifndef GEOS_OP_DISTANCE_CONNECTEDELEMENTLOCATIONFILTER_H
21 #define GEOS_OP_DISTANCE_CONNECTEDELEMENTLOCATIONFILTER_H
22 
23 #include <geos/export.h>
24 
25 #include <geos/geom/GeometryFilter.h> // for inheritance
26 
27 #include <vector>
28 
29 // Forward declarations
30 namespace geos {
31  namespace geom {
32  class Geometry;
33  }
34  namespace operation {
35  namespace distance {
36  class GeometryLocation;
37  }
38  }
39 }
40 
41 
42 namespace geos {
43 namespace operation { // geos::operation
44 namespace distance { // geos::operation::distance
45 
54 private:
55 
56  std::vector<GeometryLocation*> *locations;
57 
58 public:
65  static std::vector<GeometryLocation*>* getLocations(const geom::Geometry *geom);
66 
67  ConnectedElementLocationFilter(std::vector<GeometryLocation*> *newLocations)
68  :
69  locations(newLocations)
70  {}
71 
72  void filter_ro(const geom::Geometry *geom);
73  void filter_rw(geom::Geometry *geom);
74 };
75 
76 
77 } // namespace geos::operation::distance
78 } // namespace geos::operation
79 } // namespace geos
80 
81 #endif // GEOS_OP_DISTANCE_CONNECTEDELEMENTLOCATIONFILTER_H
82 
83 /**********************************************************************
84  * $Log$
85  * Revision 1.1 2006/03/21 17:55:01 strk
86  * opDistance.h header split
87  *
88  **********************************************************************/
89