BALL 1.5.0
Loading...
Searching...
No Matches
SASFace.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_SASFACE_H
6#define BALL_STRUCTURE_SASFACE_H
7
8#ifndef BALL_STRUCTURE_GRAPHFACE_H
10#endif
11
12#ifndef BALL_STRUCTURE_SPHERE3_H
13# include <BALL/MATHS/sphere3.h>
14#endif
15
16#include <list>
17
18namespace BALL
19{
20
21 class SolventAccessibleSurface;
22 class SASEdge;
23 class SASVertex;
24 class TriangulatedSAS;
25 class SASTriangulator;
26
30 class BALL_EXPORT SASFace : public GraphFace< SASVertex,SASEdge,SASFace >
31 {
32 public:
33
43 friend class SASEdge;
44 friend class SASVertex;
46 friend class TriangulatedSAS;
47 friend class SASTriangulator;
48
50
51
54
55 typedef std::list<bool>::iterator OrientationIterator;
56 typedef std::list<bool>::const_iterator ConstOrientationIterator;
57
59
62
67 ;
68
76 SASFace(const SASFace& sasface, bool deep = false)
77 ;
78
82 virtual ~SASFace()
83 ;
84
86
89
96 void set(const SASFace& sasface, bool deep = false)
97 ;
98
104 SASFace& operator = (const SASFace& sasface)
105 ;
106
108
111
115 void setSphere(const TSphere3<double>& sphere)
116 ;
117
121 TSphere3<double> getSphere() const
122 ;
123
125
128
132 virtual bool operator == (const SASFace&) const
133 ;
134
138 virtual bool operator != (const SASFace&) const
139 ;
140
144 virtual bool operator *= (const SASFace&) const
145 ;
146
148
151
152 OrientationIterator beginOrientation()
153 ;
154 ConstOrientationIterator beginOrientation() const
155 ;
156 OrientationIterator endOrientation()
157 ;
158 ConstOrientationIterator endOrientation() const
159 ;
160
162
163 protected:
164
168
169 /*_ A list of booleans to indicate the orientation of each sasedge.
170 */
171 std::list<bool> orientation_;
172 /*_ The sphere on which the face lies.
173 */
174 TSphere3<double> sphere_;
175
177 };
178
182
185 BALL_EXPORT std::ostream& operator << (std::ostream& s, const SASFace& sasface);
186
188
189} // namespace BALL
190
191#endif // BALL_STRUCTURE_SASFACE_H
#define BALL_CREATE(name)
Definition create.h:62
STL namespace.
std::list< bool >::const_iterator ConstOrientationIterator
Definition SASFace.h:56
std::list< bool >::iterator OrientationIterator
Definition SASFace.h:55
#define BALL_EXPORT