00001 #ifndef SOMData_H 00002 #define SOMData_H 00003 00004 #include "defs.h" 00005 #include "util.h" 00006 #include <iostream> 00007 00008 using std::cout; 00016 class SOMData { 00017 private: 00018 TMatrix _entries; 00019 int _data_size; 00020 int _dimension; 00021 TvecLabel _label; 00022 TvecLabel _id; 00023 00024 public: 00026 ~SOMData(); 00027 00029 TMatrix getEntries() const; 00030 00032 void setEntries( TMatrix entries ); 00033 00035 int getDimension() const; 00036 00038 void setDimension( int d ); 00039 00041 TvecLabel getLabel(); 00042 00044 void setLabel( TvecLabel l ); 00045 00047 int getDataSize() const; 00048 00050 void setDataSize( int s ); 00051 00053 void createId(); 00054 00056 TvecLabel getId(); 00057 00059 void setId (TvecLabel id); 00060 }; 00061 00062 00063 00064 SOMData::~SOMData() { 00065 free_matrix( _entries, 1, _data_size, 1, _dimension ); 00066 }; 00067 00068 TMatrix 00069 SOMData::getEntries() const { 00070 return _entries; 00071 }; 00072 00073 void 00074 SOMData::setEntries( TMatrix entries ) { 00075 _entries = entries; 00076 }; 00077 00078 int 00079 SOMData::getDimension() const { 00080 return _dimension; 00081 }; 00082 00083 void 00084 SOMData::setDimension( int d ) { 00085 _dimension = d; 00086 }; 00087 00088 00089 TvecLabel 00090 SOMData::getLabel() { 00091 return _label; 00092 }; 00093 00094 void 00095 SOMData::setLabel( TvecLabel l ) { 00096 _label = l; 00097 }; 00098 00099 00100 int 00101 SOMData::getDataSize() const { 00102 return _data_size; 00103 }; 00104 00105 void 00106 SOMData::setDataSize( int s ) { 00107 _data_size = s; 00108 createId(); 00109 }; 00110 00111 TvecLabel 00112 SOMData::getId() { 00113 return _id; 00114 }; 00115 00116 void 00117 SOMData::setId(TvecLabel id) { 00118 _id = id; 00119 } 00120 00121 void 00122 SOMData::createId() { 00123 if (_id.empty()) 00124 { 00125 for (int i = 1; i <= _data_size; i++) 00126 { 00127 _id.push_back("id" + inttostr(i)); 00128 } 00129 } 00130 else 00131 { 00132 _id.erase(_label.begin(),_label.end()); 00133 00134 for (int i = 1; i <= _data_size; i++) 00135 { 00136 _id.push_back("id" + inttostr(i)); 00137 } 00138 } 00139 }; 00140 00141 00142 00143 #endif 00144