BALL 1.5.0
SASEdge.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_SASEDGE_H
6#define BALL_STRUCTURE_SASEDGE_H
7
8#ifndef BALL_STRUCTURE_GRAPHEDGE_H
10#endif
11
12#ifndef BALL_MATHS_ANGLE_H
13# include <BALL/MATHS/angle.h>
14#endif
15
16#ifndef BALL_MATHS_CIRCLE3_H
17# include <BALL/MATHS/circle3.h>
18#endif
19
20namespace BALL
21{
22
23 class SolventAccessibleSurface;
24 class SASFace;
25 class SASVertex;
26 class RSEdge;
27 class TriangulatedSAS;
28 class SASTriangulator;
29
33 class BALL_EXPORT SASEdge : public GraphEdge< SASVertex,SASEdge,SASFace >
34 {
35 public:
36
46 friend class SASVertex;
47 friend class SASFace;
49 friend class TriangulatedSAS;
50 friend class SASTriangulator;
51
53
54
57
58
62 ;
63
71 SASEdge(const SASEdge& sasedge, bool deep = false)
72 ;
73
85 SASVertex* vertex1,
86 SASFace* face0,
87 SASFace* face1,
88 const TCircle3<double>& circle,
89 const TAngle<double>& angle,
90 Index index)
91 ;
92
96 virtual ~SASEdge()
97 ;
98
100
103
110 void set(const SASEdge& sasedge, bool deep = false)
111 ;
112
118 SASEdge& operator = (const SASEdge& sasedge)
119 ;
120
130 void set(SASVertex* vertex0,
131 SASVertex* vertex1,
132 SASFace* face0,
133 SASFace* face1,
134 const TCircle3<double>& circle,
135 const TAngle<double>& angle,
136 Index index)
137 ;
138
140
143
147 void setCircle(const TCircle3<double>& center)
148 ;
149
153 TCircle3<double> getCircle() const
154 ;
155
159 void setAngle(const TAngle<double>& angle)
160 ;
161
165 TAngle<double> getAngle() const
166 ;
167
169
172
176 virtual bool operator == (const SASEdge&) const
177 ;
178
182 virtual bool operator != (const SASEdge&) const
183 ;
184
188 virtual bool operator *= (const SASEdge&) const
189 ;
190
195 bool isFree() const
196 ;
197
199
200 protected:
201
202 /*_ @name Attributes
203 */
205
206 /*_ The circle on which the SASEdge lies.
207 */
208 TCircle3<double> circle_;
209 /*_ The angle of the SASEdge.
210 */
211 TAngle<double> angle_;
212
214 };
215
219
222 BALL_EXPORT std::ostream& operator << (std::ostream& s, const SASEdge& sasedge);
223
225
226
227} // namespace BALL
228
229#endif // BALL_STRUCTURE_SASEDGE_H
#define BALL_CREATE(name)
Definition: create.h:62
STL namespace.
Definition: constants.h:13
#define BALL_EXPORT
Definition: COMMON/global.h:50