Changeset 3221 in Sophya for trunk/SophyaPI/PIext/nomtmatvecadapter.cc
- Timestamp:
- Apr 12, 2007, 10:00:53 PM (18 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/SophyaPI/PIext/nomtmatvecadapter.cc
r3039 r3221 15 15 #include "pitvmaad.h" 16 16 17 #include "cimage.h" // Pour la prise en charge des Image<T> (Avr 2007) 18 #include "pimgadapter.h" // Adaptateur de tableaux PIImage pour Image<T> 19 17 20 #include "fioarr.h" 18 21 … … 55 58 TVector<T>* v = dynamic_cast<TVector<T> *>(mMtx); 56 59 if (v != NULL) type = "TVector< "; 57 60 else { 61 Image<T>* img = dynamic_cast<Image<T> *>(mMtx); 62 if (img != NULL) type = "Image< "; 63 } 58 64 // type += DecodeTypeIdName(typeid(T).name()); 59 65 type += DataTypeInfo<T>::getTypeName(); … … 69 75 TVector<T>* v = dynamic_cast<TVector<T> *>(mMtx); 70 76 if (v != NULL) return( new TVector<T>(*v, share) ); 71 else return ( new TMatrix<T>(*mMtx, share) ); 77 else { 78 Image<T>* img = dynamic_cast<Image<T> *>(mMtx); 79 if (img != NULL) return ( new Image<T>(*img, share) ); 80 else return ( new TMatrix<T>(*mMtx, share) ); 81 } 82 72 83 } 73 84 … … 106 117 return mtv.Convert(s); 107 118 } 108 else return "TMatrix.Att: rank size/nelts nrow/nrows ncol/ncols sum"; 119 else if (opts[0] == "info") { // Acces aux valeurs stockes ds le DVList Info() 120 if (opts.size() < 2) return string(""); 121 else if (mMtx->Info().HasKey(opts[1]) == false) return string(""); 122 else return mMtx->Info().GetS(opts[1]); 123 } 124 else return "TMatrix.Att: rank size/nelts nrow/nrows ncol/ncols sum info.varname"; 109 125 } 110 126 } … … 155 171 FIO_TArray<T> fio(v); 156 172 fio.Write(pos, nom); 157 173 } 158 174 else { 159 FIO_TArray<T> fio(mMtx); 160 fio.Write(pos, nom); 161 } 175 Image<T>* img = dynamic_cast<Image<T> *>(mMtx); 176 if (img != NULL) { 177 FIO_Image<T> fio(img); 178 fio.Write(pos, nom); 179 } 180 else { 181 FIO_TArray<T> fio(mMtx); 182 fio.Write(pos, nom); 183 } 184 } 185 return; 162 186 } 163 187 … … 187 211 P2DArrayAdapter* NOMAdapter_TMatrix<T>::Get2DArray(string &) 188 212 { 189 return ( new POTMatrixAdapter<T>(mMtx, false) ); 190 } 213 Image<T>* img = dynamic_cast<Image<T> *>(mMtx); 214 if (img != NULL) return ( new ImageAdapter<T>(img, false) ); 215 else return ( new POTMatrixAdapter<T>(mMtx, false) ); 216 } 217 218 // ---- Specialisation pour complexes ----- 219 DECL_TEMP_SPEC /* equivalent a template <> , pour SGI-CC en particulier */ 220 P2DArrayAdapter* NOMAdapter_TMatrix< complex<r_4> >::Get2DArray(string &) 221 { 222 return ( new POTMatrixAdapter< complex<r_4> >(mMtx, false) ); 223 } 224 DECL_TEMP_SPEC /* equivalent a template <> , pour SGI-CC en particulier */ 225 P2DArrayAdapter* NOMAdapter_TMatrix< complex<r_8> >::Get2DArray(string &) 226 { 227 return ( new POTMatrixAdapter< complex<r_8> >(mMtx, false) ); 228 } 229 // ------------------------------------------------------------- 191 230 192 231 /* --Methode-- */
Note:
See TracChangeset
for help on using the changeset viewer.