GEOS  3.3.3
PreparedLineString.h
1 /**********************************************************************
2  * $Id: PreparedLineString.h 2811 2009-12-08 17:42:02Z 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  *
17  * Last port: geom/prep/PreparedLineString.java rev 1.3 (JTS-1.10)
18  *
19  **********************************************************************/
20 
21 #ifndef GEOS_GEOM_PREP_PREPAREDLINESTRING_H
22 #define GEOS_GEOM_PREP_PREPAREDLINESTRING_H
23 
24 #include <geos/geom/prep/BasicPreparedGeometry.h> // for inheritance
25 #include <geos/noding/SegmentString.h>
26 
27 namespace geos {
28  namespace noding {
30  }
31 }
32 
33 namespace geos {
34 namespace geom { // geos::geom
35 namespace prep { // geos::geom::prep
36 
45 {
46 private:
48  mutable noding::SegmentString::ConstVect segStrings;
49 
50 protected:
51 public:
52  PreparedLineString(const Geometry * geom)
53  :
54  BasicPreparedGeometry( geom),
55  segIntFinder( NULL)
56  { }
57 
59 
60  noding::FastSegmentSetIntersectionFinder * getIntersectionFinder();
61 
62  bool intersects(const geom::Geometry * g) const;
63 
64 };
65 
66 } // namespace geos::geom::prep
67 } // namespace geos::geom
68 } // namespace geos
69 
70 #endif // GEOS_GEOM_PREP_PREPAREDLINESTRING_H
71 /**********************************************************************
72  * $Log$
73  **********************************************************************/
74 
75