BALL
1.5.0
Loading...
Searching...
No Matches
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
91
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
vector3.h
BALL_CREATE
#define BALL_CREATE(name)
Definition
create.h:62
graphFace.h
std
STL namespace.
BALL
Definition
constants.h:13
BALL::HashSet
Definition
residueRotamerSet.h:24
BALL::TVector3
Definition
vector3.h:71
BALL::GraphTriangle
Definition
graphVertex.h:26
BALL::ReducedSurface
Definition
reducedSurface.h:196
BALL::RSComputer
Definition
reducedSurface.h:476
BALL::RSEdge
Definition
RSEdge.h:49
BALL::RSFace
Definition
RSFace.h:41
BALL::RSVertex
Definition
RSVertex.h:38
BALL::SASEdge
Definition
SASEdge.h:34
BALL::SASFace
Definition
SASFace.h:31
BALL::SASVertex
Definition
SASVertex.h:29
BALL::SESEdge
Definition
SESEdge.h:34
BALL::SESFace
Definition
SESFace.h:38
BALL::SESVertex
Definition
SESVertex.h:30
BALL::SolventAccessibleSurface
Definition
solventAccessibleSurface.h:39
BALL::SolventExcludedSurface
Definition
solventExcludedSurface.h:67
BALL::SESComputer
Definition
solventExcludedSurface.h:318
BALL::SESSingularityCleaner
Definition
solventExcludedSurface.h:457
BALL::TriangulatedSAS
Definition
triangulatedSAS.h:63
BALL::SASTriangulator
Definition
triangulatedSAS.h:161
BALL::TriangulatedSES
Definition
triangulatedSES.h:55
BALL::SESTriangulator
Definition
triangulatedSES.h:164
BALL_INDEX_TYPE
BALL_EXPORT
#define BALL_EXPORT
Definition
COMMON/global.h:50
Generated by
1.12.0