BALL 1.5.0
Loading...
Searching...
No Matches
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
10#endif
11
12#ifndef BALL_STRUCTURE_SASFACE_H
14#endif
15
16#ifndef BALL_STRUCTURE_SASVERTEX_H
18#endif
19
20#ifndef 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
30namespace BALL
31{
32 class TriangulatedSAS;
33 class SASTriangulator;
34
39 {
40 public:
41
48 friend class TriangulatedSAS;
49 friend class SASTriangulator;
50
52
53
56
57
61
68
72
77
79
82
86 void setVertex(SASVertex* vertex, Position i);
87
92
96
100 void setEdge(SASEdge* edge, Position i);
101
106
110
114 void setFace(SASFace* face, Position i);
115
120
124
128
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
163
165
167
168 ::std::vector<SASEdge*> edges_;
169
171
172 ::std::vector<SASFace*> faces_;
173
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
#define BALL_EXPORT
SASEdge * getEdge(Position i) const
void setRS(ReducedSurface *rs)
SASVertex * getVertex(Position i) const
SASFace * getFace(Position i) const
void setEdge(SASEdge *edge, Position i)
ReducedSurface * getRS() const
void setFace(SASFace *face, Position i)
::std::vector< SASVertex * > vertices_
void setVertex(SASVertex *vertex, Position i)
#define BALL_CREATE(name)
Definition create.h:62
BALL_SIZE_TYPE Size
BALL_SIZE_TYPE Position
STL namespace.