BALL
1.5.0
include
BALL
STRUCTURE
solventAccessibleSurface.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_SOLVENTACCESSIBLESURFACE_H
6
#define BALL_STRUCTURE_SOLVENTACCESSIBLESURFACE_H
7
8
#ifndef BALL_STRUCTURE_SASEDGE_H
9
# include <
BALL/STRUCTURE/SASEdge.h
>
10
#endif
11
12
#ifndef BALL_STRUCTURE_SASFACE_H
13
# include <
BALL/STRUCTURE/SASFace.h
>
14
#endif
15
16
#ifndef BALL_STRUCTURE_SASVERTEX_H
17
# include <
BALL/STRUCTURE/SASVertex.h
>
18
#endif
19
20
#ifndef BALL_STRUCTURE_REDUCEDSURFACE_H
21
# include <
BALL/STRUCTURE/reducedSurface.h
>
22
#endif
23
24
#ifndef BALL_MATHS_SPHERE3_H
25
# include <
BALL/MATHS/sphere3.h
>
26
#endif
27
28
#include <vector>
29
30
namespace
BALL
31
{
32
class
TriangulatedSAS;
33
class
SASTriangulator;
34
38
class
BALL_EXPORT
SolventAccessibleSurface
39
{
40
public
:
41
48
friend
class
TriangulatedSAS
;
49
friend
class
SASTriangulator
;
50
51
BALL_CREATE
(
SolventAccessibleSurface
)
52
53
56
57
60
SolventAccessibleSurface
();
61
67
SolventAccessibleSurface
(const
SolventAccessibleSurface
& sas,
bool
= false);
68
71
SolventAccessibleSurface
(
ReducedSurface
* reduced_surface);
72
76
virtual ~
SolventAccessibleSurface
();
77
79
82
86
void
setVertex(
SASVertex
* vertex,
Position
i);
87
91
SASVertex
* getVertex(
Position
i) const;
92
95
Size
numberOfVertices() const;
96
100
void
setEdge(
SASEdge
* edge,
Position
i);
101
105
SASEdge
* getEdge(
Position
i) const;
106
109
Size
numberOfEdges() const;
110
114
void
setFace(
SASFace
* face,
Position
i);
115
119
SASFace
* getFace(
Position
i) const;
120
123
Size
numberOfFaces() const;
124
127
void
setRS(
ReducedSurface
* rs);
128
131
ReducedSurface
* getRS() const;
132
135
void
clear();
136
139
void
compute();
140
142
143
private:
144
145
/*_ @name SAS computation (private)
146
*/
148
149
void
preProcessing();
150
151
void
get();
152
153
void
createFace(
Position
j);
154
void
createVertex(
Position
j);
155
void
createEdge(
Position
j);
156
158
159
160
protected:
161
162
Position
number_of_vertices_;
163
164
::
std
::vector<
SASVertex
*> vertices_;
165
166
Position
number_of_edges_;
167
168
::
std
::vector<
SASEdge
*> edges_;
169
170
Position
number_of_faces_;
171
172
::
std
::vector<
SASFace
*> faces_;
173
174
ReducedSurface
* reduced_surface_;
175
};
176
180
183
BALL_EXPORT
std
::ostream& operator << (
std
::ostream& s, const
SolventAccessibleSurface
& sas);
184
186
187
}
// namespace BALL
188
189
#endif
// BALL_STRUCTURE_SOLVENTACCESSIBLESURFACE_H
190
reducedSurface.h
SASVertex.h
SASFace.h
SASEdge.h
sphere3.h
BALL_CREATE
#define BALL_CREATE(name)
Definition:
create.h:62
std
STL namespace.
BALL
Definition:
constants.h:13
BALL::ReducedSurface
Definition:
reducedSurface.h:196
BALL::SASEdge
Definition:
SASEdge.h:34
BALL::SASFace
Definition:
SASFace.h:31
BALL::SASVertex
Definition:
SASVertex.h:29
BALL::SolventAccessibleSurface
Definition:
solventAccessibleSurface.h:39
BALL::TriangulatedSAS
Definition:
triangulatedSAS.h:63
BALL::SASTriangulator
Definition:
triangulatedSAS.h:161
BALL_SIZE_TYPE
BALL_EXPORT
#define BALL_EXPORT
Definition:
COMMON/global.h:50
Generated by
1.9.4