00001 // -*- C++ -*- 00002 00008 #if !defined(__HDSVertex_h__) 00009 #define __HDSVertex_h__ 00010 00011 #include "HDSNode.h" 00012 00013 BEGIN_NAMESPACE_ADS 00014 00016 00021 template <class HDS> 00022 class HDSVertex : 00023 public HDSNode<HDS> 00024 { 00025 private: 00026 00027 typedef HDSNode<HDS> base_type; 00028 00029 public: 00030 00031 // 00032 // Types 00033 // 00034 00036 typedef typename base_type::Halfedge_handle Halfedge_handle; 00037 00039 typedef typename base_type::Halfedge_const_handle Halfedge_const_handle; 00040 00041 public: 00042 00043 // 00044 // Constructors and Destructor 00045 // 00046 00048 HDSVertex() : 00049 base_type() 00050 {} 00051 00053 HDSVertex( Halfedge_handle h ) : 00054 base_type( h ) 00055 {} 00056 00058 HDSVertex( const HDSVertex& x ) : 00059 base_type( x ) 00060 {} 00061 00063 ~HDSVertex() 00064 {} 00065 00066 // 00067 // Assignment operators. 00068 // 00069 00071 HDSVertex& 00072 operator=( const HDSVertex& x ) 00073 { 00074 base_type::operator=( x ); 00075 return *this; 00076 } 00077 00078 }; 00079 00080 END_NAMESPACE_ADS 00081 00082 #endif