00001 00002 00003 00004 00005 00006 00007 00008 00009 00010 #ifndef __ScaffoldEdge_AMOS_HH 00011 #define __ScaffoldEdge_AMOS_HH 1 00012 00013 #include "Edge_AMOS.hh" 00014 #include "ScaffoldLink_AMOS.hh" 00015 #include <vector> 00016 00017 00018 00019 00020 namespace AMOS { 00021 00022 //================================================ ScaffoldEdge_t ============== 00028 //============================================================================== 00029 class ScaffoldEdge_t : public ScaffoldLink_t, public IEdge_t 00030 { 00031 00032 private: 00033 00034 void setNodeType (NCode_t nodtype); 00035 00036 00037 protected: 00038 00039 //--------------------------------------------------- readRecord ------------- 00040 virtual void readRecord (std::istream & fix, std::istream & var); 00041 00042 00043 //--------------------------------------------------- readRecordFix ---------- 00044 virtual void readRecordFix (std::istream & fix); 00045 00046 00047 //--------------------------------------------------- writeRecord ------------ 00048 virtual void writeRecord (std::ostream & fix, std::ostream & var) const; 00049 00050 00051 public: 00052 00053 static const NCode_t NCODE; 00055 00056 00057 //--------------------------------------------------- ScaffoldEdge_t --------- 00060 ScaffoldEdge_t ( ) 00061 { 00062 // ScaffoldLink_t sets NodeType 00063 } 00064 00065 00066 //--------------------------------------------------- ScaffoldEdge_t --------- 00069 ScaffoldEdge_t (const ScaffoldEdge_t & source) 00070 { 00071 *this = source; 00072 } 00073 00074 00075 //--------------------------------------------------- ~ScaffoldEdge_t -------- 00078 ~ScaffoldEdge_t ( ) 00079 { 00080 00081 } 00082 00083 00084 //--------------------------------------------------- clear ------------------ 00085 virtual void clear ( ) 00086 { 00087 // ScaffoldLink_t preserves NodeType 00088 ScaffoldLink_t::clear( ); 00089 IEdge_t::clear( ); 00090 } 00091 00092 00093 //--------------------------------------------------- getScaffoldLinks ------- 00098 const std::vector<ID_t> & getScaffoldLinks ( ) const 00099 { 00100 return IEdge_t::getLinks( ); 00101 } 00102 00103 00104 //--------------------------------------------------- getScaffoldLinks ------- 00109 std::vector<ID_t> & getScaffoldLinks ( ) 00110 { 00111 return IEdge_t::getLinks( ); 00112 } 00113 00114 00115 //--------------------------------------------------- getNCode --------------- 00116 virtual NCode_t getNCode ( ) const 00117 { 00118 return ScaffoldEdge_t::NCODE; 00119 } 00120 00121 00122 //--------------------------------------------------- readMessage ------------ 00123 virtual void readMessage (const Message_t & msg); 00124 00125 00126 //--------------------------------------------------- setScaffoldLinks ------- 00132 void setScaffoldLinks (const std::vector<ID_t> & links) 00133 { 00134 IEdge_t::setLinks (links); 00135 } 00136 00137 00138 //--------------------------------------------------- writeMessage ----------- 00139 virtual void writeMessage (Message_t & msg) const; 00140 00141 }; 00142 00143 } // namespace AMOS 00144 00145 #endif // #ifndef __ScaffoldEdge_AMOS_HH
1.4.7