GEOS
3.3.3
Main Page
Related Pages
Namespaces
Classes
Files
File List
include
geos
operation
relate
EdgeEndBundle.h
1
/**********************************************************************
2
* $Id: EdgeEndBundle.h 2557 2009-06-08 09:30:55Z 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
* Last port: operation/relate/EdgeEndBundle.java rev. 1.17 (JTS-1.10)
17
*
18
**********************************************************************/
19
20
#ifndef GEOS_OP_RELATE_EDGEENDBUNDLE_H
21
#define GEOS_OP_RELATE_EDGEENDBUNDLE_H
22
23
#include <geos/export.h>
24
25
#include <geos/geomgraph/EdgeEnd.h>
// for EdgeEndBundle inheritance
26
27
#include <string>
28
29
// Forward declarations
30
namespace
geos {
31
namespace
algorithm {
32
class
BoundaryNodeRule;
33
}
34
namespace
geom {
35
class
IntersectionMatrix;
36
}
37
}
38
39
40
namespace
geos {
41
namespace
operation {
// geos::operation
42
namespace
relate {
// geos::operation::relate
43
48
class
GEOS_DLL
EdgeEndBundle
:
public
geomgraph::EdgeEnd
49
{
50
public
:
51
EdgeEndBundle
(
geomgraph::EdgeEnd
*e);
52
virtual
~
EdgeEndBundle
();
53
geomgraph::Label
*getLabel();
54
std::vector<geomgraph::EdgeEnd*>* getEdgeEnds();
55
void
insert(
geomgraph::EdgeEnd
*e);
56
57
void
computeLabel(
const
algorithm::BoundaryNodeRule
& bnr);
58
59
void
updateIM(
geom::IntersectionMatrix
*im);
60
std::string print();
61
protected
:
62
std::vector<geomgraph::EdgeEnd*> *edgeEnds;
63
93
void
computeLabelOn(
int
geomIndex,
94
const
algorithm::BoundaryNodeRule
& boundaryNodeRule);
95
96
void
computeLabelSides(
int
geomIndex);
97
void
computeLabelSide(
int
geomIndex,
int
side);
98
};
99
100
}
// namespace geos:operation:relate
101
}
// namespace geos:operation
102
}
// namespace geos
103
104
#endif // GEOS_OP_RELATE_EDGEENDBUNDLE_H
105
106
/**********************************************************************
107
* $Log$
108
* Revision 1.1 2006/03/21 13:11:29 strk
109
* opRelate.h header split
110
*
111
**********************************************************************/
112
Generated on Thu Mar 13 2014 09:55:43 for GEOS by
1.8.1.2