GEOS 3.3.4

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

- File List

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 {
29 class FastSegmentSetIntersectionFinder;
30 }
31 }
32
33 namespace geos {
34 namespace geom { // geos::geom
35 namespace prep { // geos::geom::prep
36
44 class PreparedLineString : public BasicPreparedGeometry
45 {
46 private:
47 noding::FastSegmentSetIntersectionFinder * segIntFinder;
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
58 ~PreparedLineString();
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