BALL  1.4.1
SASVertex.h
Go to the documentation of this file.
00001 // -*- Mode: C++; tab-width: 2; -*-
00002 // vi: set ts=2:
00003 //
00004 
00005 #ifndef BALL_STRUCTURE_SASVERTEX_H
00006 #define BALL_STRUCTURE_SASVERTEX_H
00007 
00008 #ifndef BALL_STRUCTURE_GRAPHVERTEX_H
00009 # include <BALL/STRUCTURE/graphVertex.h>
00010 #endif
00011 
00012 #ifndef BALL_MATHS_VECTOR3_H
00013 # include <BALL/MATHS/vector3.h>
00014 #endif
00015 
00016 namespace BALL
00017 {
00018 
00019   class SASEdge;
00020   class SASFace;
00021   class SolventAccessibleSurface;
00022   class TriangulatedSAS;
00023   class SASTriangulator;
00024 
00028   class BALL_EXPORT SASVertex : public GraphVertex< SASVertex,SASEdge,SASFace >
00029   {
00030     public:
00031 
00041     friend class SASEdge;
00042     friend class SASFace;
00043     friend class SolventAccessibleSurface;
00044     friend class TriangulatedSAS;
00045     friend class SASTriangulator;
00046 
00047     BALL_CREATE(SASVertex)
00048 
00049     
00052 
00056     SASVertex()
00057       ;
00058 
00066     SASVertex(const SASVertex& sasvertex, bool deep = false)
00067       ;
00068 
00074     SASVertex(const TVector3<double>& point,
00075         Index index)
00076       ;
00077 
00081     virtual ~SASVertex()
00082       ;
00083 
00085 
00088 
00096     void set(const SASVertex& sasvertex, bool deep = false)
00097       ;
00098 
00104     SASVertex& operator = (const SASVertex& sasvertex)
00105       ;
00106 
00111     void set(const TVector3<double> point,
00112         Index index)
00113       ;
00114 
00118     void setPoint(const TVector3<double>& point)
00119       ;
00120 
00124     TVector3<double> getPoint() const
00125       ;
00126 
00128 
00131 
00135     virtual bool operator == (const SASVertex&) const
00136       ;
00137 
00141     virtual bool operator != (const SASVertex&) const
00142       ;
00143 
00148     virtual bool operator *= (const SASVertex&) const
00149       ;
00150 
00152 
00153     protected:
00154 
00155     /*_ @name Attributes
00156     */
00158 
00159     /*_ The coordinates of the vertex.
00160     */
00161     TVector3<double> point_;
00162 
00164   };
00165 
00169 
00172   BALL_EXPORT std::ostream& operator << (std::ostream& s, const SASVertex& sasvertex);
00173 
00175 
00176 
00177 
00178 } // namespace BALL
00179 
00180 #endif // BALL_STRUCTURE_SASVERTEX_H
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines