BALL 1.5.0
Loading...
Searching...
No Matches
SESVertex.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_SESVERTEX_H
6#define BALL_STRUCTURE_SESVERTEX_H
7
8#ifndef BALL_STRUCTURE_GRAPHVERTEX_H
10#endif
11
12#ifndef BALL_MATHS_VECTOR3_H
13# include <BALL/MATHS/vector3.h>
14#endif
15
16namespace BALL
17{
18 class SESEdge;
19 class SESFace;
20 class SolventExcludedSurface;
21 class SESComputer;
22 class SESSingularityCleaner;
23 class TriangulatedSES;
24 class SESTriangulator;
25
29 class BALL_EXPORT SESVertex : public GraphVertex< SESVertex,SESEdge,SESFace >
30 {
31 public:
32
44 friend class SESEdge;
45 friend class SESFace;
47 friend class SESComputer;
49 friend class TriangulatedSES;
50 friend class SESTriangulator;
51
53
54
57
58
62 ;
63
71 SESVertex(const SESVertex& sesvertex, bool deep = false)
72 ;
73
82 (const TVector3<double>& point,
83 const TVector3<double>& normal,
84 Index atom,
85 Index index)
86 ;
87
91 virtual ~SESVertex()
92 ;
93
95
98
106 void set(const SESVertex& sesvertex, bool deep = false)
107 ;
108
114 SESVertex& operator = (const SESVertex& sesvertex)
115 ;
116
123 void set(const TVector3<double> point,
124 const TVector3<double>& normal,
125 Index atom,
126 Index index)
127 ;
128
132 void setPoint(const TVector3<double>& point)
133 ;
134
138 TVector3<double> getPoint() const
139 ;
140
145 void setNormal(const TVector3<double>& normal);
146
150 TVector3<double> getNormal() const
151 ;
152
156 void setAtom(Index atom)
157 ;
158
162 Index getAtom() const
163 ;
164
166
170
174 virtual bool operator == (const SESVertex&) const
175 ;
176
180 virtual bool operator != (const SESVertex&) const
181 ;
182
186 virtual bool operator *= (const SESVertex&) const
187 ;
188
190
191 protected:
192
196
197 /*_ The coordinates of the vertex.
198 */
199 TVector3<double> point_;
200 /*_ The normal vector of the vertex.
201 */
202 TVector3<double> normal_;
203 /*_ The index of the closest atom.
204 */
205 Index atom_;
206
208 };
209
213
216 BALL_EXPORT std::ostream& operator << (std::ostream& s, const SESVertex& sesvertex);
217
219
220
221} // namespace BALL
222
223#endif // BALL_SES_SESVERTEX_H
#define BALL_CREATE(name)
Definition create.h:62
STL namespace.
#define BALL_EXPORT