BALL
1.4.1
|
00001 // -*- Mode: C++; tab-width: 2; -*- 00002 // vi: set ts=2: 00003 // 00004 00005 #ifndef BALL_STRUCTURE_RSVERTEX_H 00006 #define BALL_STRUCTURE_RSVERTEX_H 00007 00008 #ifndef BALL_STRUCTURE_GRAPHVERTEX_H 00009 # include <BALL/STRUCTURE/graphVertex.h> 00010 #endif 00011 00012 00013 namespace BALL 00014 { 00015 class RSEdge; 00016 class RSFace; 00017 class ReducedSurface; 00018 class RSComputer; 00019 class SESEdge; 00020 class SESFace; 00021 class SESVertex; 00022 class SolventExcludedSurface; 00023 class SESComputer; 00024 class SESSingularityCleaner; 00025 class TriangulatedSES; 00026 class SESTriangulator; 00027 class SASEdge; 00028 class SASFace; 00029 class SASVertex; 00030 class SolventAccessibleSurface; 00031 class TriangulatedSAS; 00032 class SASTriangulator; 00033 00037 class BALL_EXPORT RSVertex : public GraphVertex< RSVertex,RSEdge,RSFace > 00038 { 00039 public: 00040 00063 friend class RSEdge; 00064 friend class RSFace; 00065 friend class ReducedSurface; 00066 friend class RSComputer; 00067 friend class SESEdge; 00068 friend class SESFace; 00069 friend class SESVertex; 00070 friend class SolventExcludedSurface; 00071 friend class SESComputer; 00072 friend class SESSingularityCleaner; 00073 friend class TriangulatedSES; 00074 friend class SESTriangulator; 00075 friend class SASEdge; 00076 friend class SASFace; 00077 friend class SASVertex; 00078 friend class SolventAccessibleSurface; 00079 friend class TriangulatedSAS; 00080 friend class SASTriangulator; 00081 00082 BALL_CREATE(RSVertex) 00083 00084 00087 00091 RSVertex(); 00092 00100 RSVertex(const RSVertex& rsvertex, bool deep = false); 00101 00106 RSVertex(Index atom); 00107 00111 virtual ~RSVertex(); 00113 00117 00125 void set(const RSVertex& rsvertex, bool deep = false); 00126 00132 RSVertex& operator = (const RSVertex& rsvertex); 00133 00135 00138 00142 void setAtom(Index atom); 00143 00147 Index getAtom() const; 00148 00150 00153 00158 virtual bool operator == (const RSVertex& rsvertex) const; 00159 00164 virtual bool operator != (const RSVertex& rsvertex) const; 00165 00169 virtual bool operator *= (const RSVertex& rsvertex) const; 00170 00172 00173 protected: 00174 00175 /*_ @name Attributes 00176 */ 00178 00179 /*_ The index of the atom represented by the RSVertex 00180 */ 00181 Index atom_; 00182 00184 00185 }; 00186 00190 00194 BALL_EXPORT std::ostream& operator << (std::ostream& s, const RSVertex& rsvertex); 00195 00197 00198 00199 } // namespace BALL 00200 00201 #endif // BALL_STRUCTURE_RSVERTEX_H