GEOS 3.3.4

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

- File List

FastSegmentSetIntersectionFinder.h
1 /**********************************************************************
2 *
3 * GEOS - Geometry Engine Open Source
4 * http://geos.refractions.net
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: noding/FastSegmentSetIntersectionFinder.java r388 (JTS-1.12)
17 *
18 **********************************************************************/
19
20 #ifndef GEOS_NODING_FASTSEGMENTSETINTERSECTIONFINDER_H
21 #define GEOS_NODING_FASTSEGMENTSETINTERSECTIONFINDER_H
22
23 #include <geos/noding/SegmentString.h>
24 #include <geos/noding/MCIndexSegmentSetMutualIntersector.h>
25
26
27 //forward declarations
28 namespace geos {
29 namespace noding {
30 class SegmentIntersectionDetector;
31 class SegmentSetMutualIntersector;
32 //class MCIndexSegmentSetMutualIntersector : public SegmentSetMutualIntersector;
33 }
34 }
35
36
37 namespace geos {
38 namespace noding { // geos::noding
39
49 class FastSegmentSetIntersectionFinder
50 {
51 private:
52 MCIndexSegmentSetMutualIntersector * segSetMutInt;
53 geos::algorithm::LineIntersector * lineIntersector;
54
55 protected:
56 public:
57 FastSegmentSetIntersectionFinder( SegmentString::ConstVect * baseSegStrings);
58
59 ~FastSegmentSetIntersectionFinder();
60
67 SegmentSetMutualIntersector * getSegmentSetIntersector()
68 {
69 return segSetMutInt;
70 }
71
72 bool intersects( SegmentString::ConstVect * segStrings);
73 bool intersects( SegmentString::ConstVect * segStrings, SegmentIntersectionDetector * intDetector);
74
75 };
76
77 } // geos::noding
78 } // geos
79
80 #endif // GEOS_NODING_FASTSEGMENTSETINTERSECTIONFINDER_H
81