GEOS
3.3.3
Main Page
Related Pages
Namespaces
Classes
Files
File List
include
geos
noding
IntersectionFinderAdder.h
1
/**********************************************************************
2
* $Id: IntersectionFinderAdder.h 2778 2009-12-03 19:44:00Z mloskot $
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: noding/IntersectionFinderAdder.java rev. 1.5 (JTS-1.9)
17
*
18
**********************************************************************/
19
20
#ifndef GEOS_NODING_INTERSECTIONFINDERADDER_H
21
#define GEOS_NODING_INTERSECTIONFINDERADDER_H
22
23
#include <geos/export.h>
24
25
#include <vector>
26
#include <iostream>
27
28
#include <geos/inline.h>
29
30
#include <geos/geom/Coordinate.h>
// for use in vector
31
#include <geos/noding/SegmentIntersector.h>
// for inheritance
32
33
// Forward declarations
34
namespace
geos {
35
namespace
geom {
36
class
Coordinate;
37
}
38
namespace
noding {
39
class
SegmentString;
40
}
41
namespace
algorithm {
42
class
LineIntersector;
43
}
44
}
45
46
namespace
geos {
47
namespace
noding {
// geos.noding
48
54
class
GEOS_DLL
IntersectionFinderAdder
:
public
SegmentIntersector
{
55
56
public
:
57
65
IntersectionFinderAdder
(
algorithm::LineIntersector
& newLi,
66
std::vector<geom::Coordinate>& v)
67
:
68
li(newLi),
69
interiorIntersections(v)
70
{}
71
82
void
processIntersections(
83
SegmentString
* e0,
int
segIndex0,
84
SegmentString
* e1,
int
segIndex1);
85
86
std::vector<geom::Coordinate>& getInteriorIntersections() {
87
return
interiorIntersections;
88
}
89
95
virtual
bool
isDone
()
const
{
96
return
false
;
97
}
98
99
private
:
100
algorithm::LineIntersector
& li;
101
std::vector<geom::Coordinate>& interiorIntersections;
102
103
// Declare type as noncopyable
104
IntersectionFinderAdder
(
const
IntersectionFinderAdder
& other);
105
IntersectionFinderAdder
& operator=(
const
IntersectionFinderAdder
& rhs);
106
};
107
108
}
// namespace geos.noding
109
}
// namespace geos
110
111
//#ifdef GEOS_INLINE
112
//# include "geos/noding/IntersectionFinderAdder.inl"
113
//#endif
114
115
#endif // GEOS_NODING_INTERSECTIONFINDERADDER_H
116
117
/**********************************************************************
118
* $Log$
119
* Revision 1.4 2006/05/03 15:06:30 strk
120
* Better doxygen comment
121
*
122
* Revision 1.3 2006/03/24 09:52:41 strk
123
* USE_INLINE => GEOS_INLINE
124
*
125
* Revision 1.2 2006/03/14 12:55:56 strk
126
* Headers split: geomgraphindex.h, nodingSnapround.h
127
*
128
* Revision 1.1 2006/03/09 16:46:49 strk
129
* geos::geom namespace definition, first pass at headers split
130
*
131
**********************************************************************/
132
Generated on Thu Mar 13 2014 09:55:44 for GEOS by
1.8.1.2