GEOS
3.3.3
Main Page
Related Pages
Namespaces
Classes
Files
File List
include
geos
planargraph
planargraph/Edge.h
1
/**********************************************************************
2
* $Id: Edge.h 3255 2011-03-01 17:56:10Z mloskot $
3
*
4
* GEOS - Geometry Engine Open Source
5
* http://geos.refractions.net
6
*
7
* Copyright (C) 2001-2002 Vivid Solutions Inc.
8
* Copyright (C) 2005-2006 Refractions Research Inc.
9
*
10
* This is free software; you can redistribute and/or modify it under
11
* the terms of the GNU Lesser General Public Licence as published
12
* by the Free Software Foundation.
13
* See the COPYING file for more information.
14
*
15
**********************************************************************/
16
17
#ifndef GEOS_PLANARGRAPH_EDGE_H
18
#define GEOS_PLANARGRAPH_EDGE_H
19
20
#include <geos/export.h>
21
22
#include <geos/planargraph/GraphComponent.h>
// for inheritance
23
24
#include <vector>
// for typedefs
25
#include <set>
// for typedefs
26
#include <iosfwd>
// ostream
27
28
#ifdef _MSC_VER
29
#pragma warning(push)
30
#pragma warning(disable: 4251) // warning C4251: needs to have dll-interface to be used by clients of class
31
#endif
32
33
// Forward declarations
34
namespace
geos {
35
namespace
planargraph {
36
class
DirectedEdgeStar;
37
class
DirectedEdge;
38
class
Edge;
39
class
Node;
40
}
41
}
42
43
namespace
geos {
44
namespace
planargraph {
// geos.planargraph
45
55
class
GEOS_DLL
Edge
:
public
GraphComponent
{
56
57
public
:
58
59
friend
std::ostream&
operator<<
(std::ostream& os,
const
Node
&);
60
62
typedef
std::set<const Edge *>
ConstSet
;
63
65
typedef
std::set<Edge *>
NonConstSet
;
66
68
typedef
std::vector<Edge *>
NonConstVect
;
69
71
typedef
std::vector<const Edge *>
ConstVect
;
72
73
protected
:
74
76
std::vector<DirectedEdge*>
dirEdge
;
77
84
public
:
85
93
Edge
(): dirEdge() {}
94
101
Edge
(
DirectedEdge
*de0,
DirectedEdge
*de1)
102
:
103
dirEdge()
104
{
105
setDirectedEdges(de0, de1);
106
}
107
115
void
setDirectedEdges(
DirectedEdge
*de0,
DirectedEdge
*de1);
116
121
DirectedEdge
* getDirEdge(
int
i);
122
128
DirectedEdge
* getDirEdge(
Node
*fromNode);
129
134
Node
* getOppositeNode(
Node
*node);
135
};
136
138
std::ostream&
operator<<
(std::ostream& os,
const
Edge& n);
139
141
//typedef Edge planarEdge;
142
143
}
// namespace geos::planargraph
144
}
// namespace geos
145
146
#ifdef _MSC_VER
147
#pragma warning(pop)
148
#endif
149
150
#endif // GEOS_PLANARGRAPH_EDGE_H
151
152
/**********************************************************************
153
* $Log$
154
* Revision 1.1 2006/03/21 21:42:54 strk
155
* planargraph.h header split, planargraph:: classes renamed to match JTS symbols
156
*
157
**********************************************************************/
158
Generated on Thu Mar 13 2014 09:55:43 for GEOS by
1.8.1.2