BALL  1.4.2
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
SASVertex.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_SASVERTEX_H
6 #define BALL_STRUCTURE_SASVERTEX_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 
16 namespace BALL
17 {
18 
19  class SASEdge;
20  class SASFace;
21  class SolventAccessibleSurface;
22  class TriangulatedSAS;
23  class SASTriangulator;
24 
28  class BALL_EXPORT SASVertex : public GraphVertex< SASVertex,SASEdge,SASFace >
29  {
30  public:
31 
41  friend class SASEdge;
42  friend class SASFace;
44  friend class TriangulatedSAS;
45  friend class SASTriangulator;
46 
48 
49 
52 
56  SASVertex()
57  ;
58 
66  SASVertex(const SASVertex& sasvertex, bool deep = false)
67  ;
68 
74  SASVertex(const TVector3<double>& point,
75  Index index)
76  ;
77 
81  virtual ~SASVertex()
82  ;
83 
85 
88 
96  void set(const SASVertex& sasvertex, bool deep = false)
97  ;
98 
104  SASVertex& operator = (const SASVertex& sasvertex)
105  ;
106 
111  void set(const TVector3<double> point,
112  Index index)
113  ;
114 
118  void setPoint(const TVector3<double>& point)
119  ;
120 
124  TVector3<double> getPoint() const
125  ;
126 
128 
131 
135  virtual bool operator == (const SASVertex&) const
136  ;
137 
141  virtual bool operator != (const SASVertex&) const
142  ;
143 
148  virtual bool operator *= (const SASVertex&) const
149  ;
150 
152 
153  protected:
154 
155  /*_ @name Attributes
156  */
158 
159  /*_ The coordinates of the vertex.
160  */
161  TVector3<double> point_;
162 
164  };
165 
169 
172  BALL_EXPORT std::ostream& operator << (std::ostream& s, const SASVertex& sasvertex);
173 
175 
176 
177 
178 } // namespace BALL
179 
180 #endif // BALL_STRUCTURE_SASVERTEX_H