BALL
1.4.2
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Groups
Pages
include
BALL
STRUCTURE
SESEdge.h
Go to the documentation of this file.
1
// -*- Mode: C++; tab-width: 2; -*-
2
// vi: set ts=2:
3
//
4
5
#ifndef BALL_STRUCTURE_SESEDGE_H
6
#define BALL_STRUCTURE_SESEDGE_H
7
8
#ifndef BALL_STRUCTURE_GRAPHEDGE_H
9
# include <
BALL/STRUCTURE/graphEdge.h
>
10
#endif
11
12
#ifndef BALL_STRUCTURE_RSEDGE_H
13
# include <
BALL/STRUCTURE/RSEdge.h
>
14
#endif
15
16
#ifndef BALL_MATHS_CIRCLE3_H
17
# include <
BALL/MATHS/circle3.h
>
18
#endif
19
20
namespace
BALL
21
{
22
class
SESFace;
23
class
SESVertex;
24
class
SolventExcludedSurface;
25
class
TriangulatedSES;
26
class
SESComputer;
27
class
SESSingularityCleaner;
28
class
SESTriangulator;
29
33
class
BALL_EXPORT
SESEdge
:
public
GraphEdge
< SESVertex,SESEdge,SESFace >
34
{
35
public
:
36
48
friend
class
SESFace
;
49
friend
class
SESVertex
;
50
friend
class
SolventExcludedSurface
;
51
friend
class
SESComputer
;
52
friend
class
SESSingularityCleaner
;
53
friend
class
TriangulatedSES
;
54
friend
class
SESTriangulator
;
55
56
BALL_CREATE
(
SESEdge
)
57
58
61
67
enum
Type
68
{
69
TYPE_CONCAVE = 0,
70
TYPE_CONVEX = 1,
71
TYPE_SINGULAR = 2
72
};
73
74
76
79
83
SESEdge
()
84
;
85
93
SESEdge
(
const
SESEdge
& sesedge,
bool
deep =
false
)
94
;
95
107
SESEdge
108
(
SESVertex
* vertex0,
109
SESVertex
* vertex1,
110
SESFace
* face0,
111
SESFace
* face1,
112
const
TCircle3<double>
& circle,
113
RSEdge
* rsedge,
114
Type type,
115
Index
index)
116
;
117
121
virtual
~
SESEdge
()
122
;
123
125
128
135
void
set
(
const
SESEdge
& sesedge,
bool
deep =
false
)
136
;
137
143
SESEdge
& operator = (
const
SESEdge
& sesedge)
144
;
145
156
void
set
(
SESVertex
* vertex0,
157
SESVertex
* vertex1,
158
SESFace
* face0,
159
SESFace
* face1,
160
const
TCircle3<double>
& circle,
161
RSEdge
* rsedge,
162
Type type,
163
Index
index)
164
;
165
167
170
174
void
setCircle(
const
TCircle3<double>
& center)
175
;
176
180
TCircle3<double>
getCircle()
const
181
;
182
186
void
setRSEdge(
RSEdge
* rsedge)
187
;
188
192
RSEdge
* getRSEdge()
const
193
;
194
198
void
setType(Type type)
199
;
200
204
Type getType()
const
205
;
206
208
211
216
virtual
bool
operator == (
const
SESEdge
& sesedge)
const
217
;
218
223
virtual
bool
operator != (
const
SESEdge
& sesedge)
const
224
;
225
229
virtual
bool
operator *= (
const
SESEdge
&)
const
230
;
231
236
bool
isFree()
const
237
;
238
240
241
protected
:
242
243
/*_ @name Attributes
244
*/
246
247
/*_ The circle on which the SESEdge lies.
248
*/
249
TCircle3<double>
circle_
;
250
/*_ A pointer to the corresponding RSEdge.
251
*/
252
RSEdge
*
rsedge_
;
253
/*_ The type of the SESEdge.
254
*/
255
//int type;
256
Type
type_
;
257
259
};
260
264
267
BALL_EXPORT
std::ostream&
operator <<
(std::ostream& s,
const
SESEdge
& sesedge);
268
270
271
272
}
// namespace BALL
273
274
#endif // BALL_STRUCTURE_SESEDGE_H
Generated by
1.8.3.1