GEOS
3.4.2
Main Page
Related Pages
Namespaces
Classes
Files
File List
include
geos
operation
relate
EdgeEndBundle.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
* Last port: operation/relate/EdgeEndBundle.java rev. 1.17 (JTS-1.10)
16
*
17
**********************************************************************/
18
19
#ifndef GEOS_OP_RELATE_EDGEENDBUNDLE_H
20
#define GEOS_OP_RELATE_EDGEENDBUNDLE_H
21
22
#include <geos/export.h>
23
24
#include <geos/geomgraph/EdgeEnd.h>
// for EdgeEndBundle inheritance
25
26
#include <string>
27
28
// Forward declarations
29
namespace
geos {
30
namespace
algorithm {
31
class
BoundaryNodeRule;
32
}
33
namespace
geom {
34
class
IntersectionMatrix;
35
}
36
}
37
38
39
namespace
geos {
40
namespace
operation {
// geos::operation
41
namespace
relate {
// geos::operation::relate
42
47
class
GEOS_DLL
EdgeEndBundle
:
public
geomgraph::EdgeEnd
48
{
49
public
:
50
EdgeEndBundle
(
geomgraph::EdgeEnd
*e);
51
virtual
~
EdgeEndBundle
();
52
std::vector<geomgraph::EdgeEnd*>* getEdgeEnds();
53
void
insert(
geomgraph::EdgeEnd
*e);
54
55
void
computeLabel(
const
algorithm::BoundaryNodeRule
& bnr);
56
62
void
updateIM(
geom::IntersectionMatrix
& im);
63
64
std::string print();
65
protected
:
66
std::vector<geomgraph::EdgeEnd*> *edgeEnds;
67
97
void
computeLabelOn(
int
geomIndex,
98
const
algorithm::BoundaryNodeRule
& boundaryNodeRule);
99
100
void
computeLabelSides(
int
geomIndex);
101
void
computeLabelSide(
int
geomIndex,
int
side);
102
};
103
104
}
// namespace geos:operation:relate
105
}
// namespace geos:operation
106
}
// namespace geos
107
108
#endif // GEOS_OP_RELATE_EDGEENDBUNDLE_H
Generated on Sun Mar 15 2015 10:36:43 for GEOS by
1.8.2