GEOS 3.4.2

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

- File List

PreparedLineString.h
1 /**********************************************************************
2 *
3 * GEOS - Geometry Engine Open Source
4 * http://geos.osgeo.org
5 *
6 * Copyright (C) 2006 Refractions Research Inc.
7 *
8 * This is free software; you can redistribute and/or modify it under
9 * the terms of the GNU Lesser General Public Licence as published
10 * by the Free Software Foundation.
11 * See the COPYING file for more information.
12 *
13 *
14 **********************************************************************
15 *
16 * Last port: geom/prep/PreparedLineString.java rev 1.3 (JTS-1.10)
17 *
18 **********************************************************************/
19
20 #ifndef GEOS_GEOM_PREP_PREPAREDLINESTRING_H
21 #define GEOS_GEOM_PREP_PREPAREDLINESTRING_H
22
23 #include <geos/geom/prep/BasicPreparedGeometry.h> // for inheritance
24 #include <geos/noding/SegmentString.h>
25
26 namespace geos {
27 namespace noding {
28 class FastSegmentSetIntersectionFinder;
29 }
30 }
31
32 namespace geos {
33 namespace geom { // geos::geom
34 namespace prep { // geos::geom::prep
35
43 class PreparedLineString : public BasicPreparedGeometry
44 {
45 private:
46 noding::FastSegmentSetIntersectionFinder * segIntFinder;
47 mutable noding::SegmentString::ConstVect segStrings;
48
49 protected:
50 public:
51 PreparedLineString(const Geometry * geom)
52 :
53 BasicPreparedGeometry( geom),
54 segIntFinder( NULL)
55 { }
56
57 ~PreparedLineString();
58
59 noding::FastSegmentSetIntersectionFinder * getIntersectionFinder();
60
61 bool intersects(const geom::Geometry * g) const;
62
63 };
64
65 } // namespace geos::geom::prep
66 } // namespace geos::geom
67 } // namespace geos
68
69 #endif // GEOS_GEOM_PREP_PREPAREDLINESTRING_H