BALL
1.5.0
include
BALL
STRUCTURE
RSFace.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_RSFACE_H
6
#define BALL_STRUCTURE_RSFACE_H
7
8
#ifndef BALL_STRUCTURE_GRAPHFACE_H
9
# include <
BALL/STRUCTURE/graphFace.h
>
10
#endif
11
12
#ifndef BALL_MATHS_VECTOR3_H
13
# include <
BALL/MATHS/vector3.h
>
14
#endif
15
16
namespace
BALL
17
{
18
class
RSVertex;
19
class
RSEdge;
20
class
ReducedSurface;
21
class
RSComputer;
22
class
SolventExcludedSurface;
23
class
SESComputer;
24
class
SESSingularityCleaner;
25
class
SESEdge;
26
class
SESFace;
27
class
SESVertex;
28
class
TriangulatedSES;
29
class
SASTriangulator;
30
class
SolventAccessibleSurface;
31
class
SASEdge;
32
class
SASFace;
33
class
SASVertex;
34
class
TriangulatedSAS;
35
class
SESTriangulator;
36
40
class
BALL_EXPORT
RSFace
:
public
GraphTriangle
< RSVertex,RSEdge,RSFace >
41
{
42
public
:
43
66
friend
class
RSEdge
;
67
friend
class
RSVertex
;
68
friend
class
ReducedSurface
;
69
friend
class
RSComputer
;
70
friend
class
SESEdge
;
71
friend
class
SESFace
;
72
friend
class
SESVertex
;
73
friend
class
SolventExcludedSurface
;
74
friend
class
SESComputer
;
75
friend
class
SESSingularityCleaner
;
76
friend
class
TriangulatedSES
;
77
friend
class
SESTriangulator
;
78
friend
class
SASEdge
;
79
friend
class
SASFace
;
80
friend
class
SASVertex
;
81
friend
class
SolventAccessibleSurface
;
82
friend
class
TriangulatedSAS
;
83
friend
class
SASTriangulator
;
84
85
BALL_CREATE
(
RSFace
)
86
87
90
94
RSFace
()
95
;
96
104
RSFace
(
const
RSFace
& rsface,
bool
deep =
false
)
105
;
106
121
RSFace
(
RSVertex
* vertex1,
122
RSVertex
* vertex2,
123
RSVertex
* vertex3,
124
RSEdge
* edge1,
125
RSEdge
* edge2,
126
RSEdge
* edge3,
127
const
TVector3<double>
& center,
128
const
TVector3<double>
& normal,
129
bool
singular,
130
Index
index);
131
135
virtual
~
RSFace
()
136
;
137
139
142
149
void
set(
const
RSFace
& rsface,
bool
deep =
false
)
150
;
151
157
RSFace
& operator = (
const
RSFace
& rsface)
158
;
159
173
void
set(
RSVertex
* vertex1,
174
RSVertex
* vertex2,
175
RSVertex
* vertex3,
176
RSEdge
* edge1,
177
RSEdge
* edge2,
178
RSEdge
* edge3,
179
const
TVector3<double>
& center,
180
const
TVector3<double>
& normal,
181
bool
singular,
182
Index
index);
183
185
188
193
virtual
bool
operator ==
(
const
RSFace
& rsface)
const
194
;
195
200
virtual
bool
operator !=
(
const
RSFace
& rsface)
const
201
;
202
207
virtual
bool
operator *=(
const
RSFace
& rsface)
const
208
;
209
214
bool
isSingular()
const
215
;
216
218
221
225
void
setCenter(
const
TVector3<double>
& center)
226
;
227
231
TVector3<double>
getCenter()
const
232
;
233
238
void
setNormal(
const
TVector3<double>
& normal);
239
243
TVector3<double>
getNormal
()
const
244
;
245
248
void
setSingular(
bool
singular)
249
;
250
259
void
remove
260
(
HashSet<RSEdge*>
& edges,
261
HashSet<RSVertex*>
& vertices,
262
HashSet<RSFace*>
& faces)
263
;
264
266
267
protected
:
268
269
/*_ @name Attributes
270
*/
272
273
/*_ The center of the probe sphere defining the RSFace
274
*/
275
TVector3<double>
center_
;
276
/*_ The vector orthogonal to the RSFace
277
*/
278
TVector3<double>
normal_
;
279
/*_ singular
280
*/
281
bool
singular_
;
282
284
285
};
286
290
293
BALL_EXPORT
std::ostream&
operator <<
(std::ostream& s,
const
RSFace
& rsface);
294
296
297
}
// namespace BALL
298
299
#endif // BALL_STRUCTURE_RSFACE_H
BALL::SolventAccessibleSurface
Definition:
solventAccessibleSurface.h:38
BALL::RSEdge
Definition:
RSEdge.h:48
BALL_INDEX_TYPE
BALL_EXPORT
#define BALL_EXPORT
Definition:
COMMON/global.h:50
BALL::RSComputer
Definition:
reducedSurface.h:475
BALL::SESFace
Definition:
SESFace.h:37
BALL::HashSet< RSEdge * >
BALL::operator!=
BALL_EXPORT bool operator!=(const String &s1, const String &s2)
vector3.h
BALL::SASTriangulator
Definition:
triangulatedSAS.h:160
graphFace.h
BALL::TVector3< double >
BALL::GraphTriangle
Definition:
graphEdge.h:24
BALL::RSFace::singular_
bool singular_
Definition:
RSFace.h:281
BALL::SESSingularityCleaner
Definition:
solventExcludedSurface.h:456
BALL
Definition:
constants.h:12
BALL::VIEW::getNormal
BALL_VIEW_EXPORT Vector3 getNormal(const Vector3 &v)
BALL::SolventExcludedSurface
Definition:
solventExcludedSurface.h:66
BALL::RSFace::center_
TVector3< double > center_
Definition:
RSFace.h:275
BALL::SASFace
Definition:
SASFace.h:30
BALL::TriangulatedSES
Definition:
triangulatedSES.h:54
BALL::SESVertex
Definition:
SESVertex.h:29
BALL::RSVertex
Definition:
RSVertex.h:37
BALL::SESEdge
Definition:
SESEdge.h:33
BALL::ReducedSurface
Definition:
reducedSurface.h:195
BALL::operator==
BALL_EXPORT bool operator==(const String &s1, const String &s2)
BALL::operator<<
BALL_EXPORT std::ostream & operator<<(std::ostream &os, const Exception::GeneralException &e)
BALL::TriangulatedSAS
Definition:
triangulatedSAS.h:62
BALL::RSFace::normal_
TVector3< double > normal_
Definition:
RSFace.h:278
BALL_CREATE
#define BALL_CREATE(name)
Definition:
create.h:62
BALL::RSFace
Definition:
RSFace.h:40
BALL::SASVertex
Definition:
SASVertex.h:28
BALL::SESTriangulator
Definition:
triangulatedSES.h:163
BALL::SESComputer
Definition:
solventExcludedSurface.h:317
BALL::SASEdge
Definition:
SASEdge.h:33
Generated by
1.8.16