Changeset 122 for XMLIO_V2/dev/dev_rv/src/XMLIO/domain.hpp
- Timestamp:
- 09/20/10 17:30:34 (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
XMLIO_V2/dev/dev_rv/src/XMLIO/domain.hpp
r120 r122 31 31 32 32 // domaine global 33 if (!ni_glo.hasValue() || ni_glo<=0 ) ERROR("domaine global mal defini") ;34 if (!nj_glo.hasValue() || nj_glo<=0 ) ERROR("domaine global mal defini") ;33 if (!ni_glo.hasValue() || ni_glo<=0 ) throw XMLIOSERVER::XMLIOUndefinedValueException("domaine global mal defini") ; 34 if (!nj_glo.hasValue() || nj_glo<=0 ) throw XMLIOSERVER::XMLIOUndefinedValueException("domaine global mal defini") ; 35 35 36 36 //domaine local en i 37 37 if ( ni.hasValue() && ibegin.hasValue()) 38 38 { 39 if (iend.hasValue() && iend!=ibegin+ni-1) ERROR("domain local mal défini 1") ;40 iend =ibegin+ni-1 ;39 if (iend.hasValue() && iend!=ibegin+ni-1) throw XMLIOSERVER::XMLIOUndefinedValueException("domain local mal défini 1") ; 40 iend = ibegin + ni - 1 ; 41 41 } 42 42 else if (ni.hasValue() && iend.hasValue()) 43 43 { 44 if (ibegin !=ni-iend+1) ERROR("domain local mal défini 2") ;45 ibegin =ni-iend+1 ;44 if (ibegin != ni-iend+1) throw XMLIOSERVER::XMLIOUndefinedValueException("domain local mal défini 2") ; 45 ibegin = ni - iend + 1 ; 46 46 } 47 47 else if (ibegin.hasValue() && iend.hasValue()) 48 48 { 49 if (ni!=iend-ibegin-1) ERROR("domain local mal défini 3") ;50 ni =iend-ibegin-1 ;49 if (ni!=iend-ibegin-1) throw XMLIOSERVER::XMLIOUndefinedValueException("domain local mal défini 3") ; 50 ni = iend - ibegin - 1 ; 51 51 } 52 else ERROR("domain local non défini 4") ;52 else throw XMLIOSERVER::XMLIOUndefinedValueException("domain local non défini 4") ; 53 53 54 if (ni<0 || ibegin>iend || ibegin<1 || iend>ni_glo) ERROR("domain local mal défini 5") ;54 if (ni<0 || ibegin>iend || ibegin<1 || iend>ni_glo) throw XMLIOSERVER::XMLIOUndefinedValueException("domain local mal défini 5") ; 55 55 56 56 //domaine local en j 57 57 if ( nj.hasValue() && jbegin.hasValue()) 58 58 { 59 if (jend.hasValue() && jend!=jbegin+nj-1) ERROR("domain local mal défini 6") ;60 jend =jbegin+nj-1 ;59 if (jend.hasValue() && jend!=jbegin+nj-1) throw XMLIOSERVER::XMLIOUndefinedValueException("domain local mal défini 6") ; 60 jend = jbegin + nj - 1 ; 61 61 } 62 62 else if (nj.hasValue() && jend.hasValue()) 63 63 { 64 if (jbegin!=nj-jend+1) ERROR("domain local mal défini 7") ;65 jbegin =nj-jend+1 ;64 if (jbegin!=nj-jend+1) throw XMLIOSERVER::XMLIOUndefinedValueException("domain local mal défini 7") ; 65 jbegin = nj - jend + 1 ; 66 66 } 67 67 else if (jbegin.hasValue() && jend.hasValue()) 68 68 { 69 if (nj!=jend-jbegin-1) ERROR("domain local mal défini 8") ;70 nj =jend-jbegin-1 ;69 if (nj!=jend-jbegin-1) throw XMLIOSERVER::XMLIOUndefinedValueException("domain local mal défini 8") ; 70 nj = jend - jbegin - 1 ; 71 71 } 72 else ERROR("domain local non défini 9") ;72 else throw XMLIOSERVER::XMLIOUndefinedValueException("domain local non défini 9") ; 73 73 74 if (nj<0 || jbegin>jend || jbegin<1 || jend>nj_glo) ERROR("domain local mal défini 10") ;74 if (nj<0 || jbegin>jend || jbegin<1 || jend>nj_glo) throw XMLIOSERVER::XMLIOUndefinedValueException("domain local mal défini 10") ; 75 75 76 cout<<"mask ni "<<mask->extent(0)<<" nj "<<mask->extent(1)<<" "<<mask<<endl ;76 //cout<<"mask ni "<<mask->extent(0)<<" nj "<<mask->extent(1)<<" "<<mask<<endl ; 77 77 if (mask.hasValue()) 78 if (mask->extent(0) != ni || mask->extent(1) != nj) ERROR("le champ mask n'a pas la même taille que le domaine local") ; 78 if (mask->extent(0) != ni || mask->extent(1) != nj) 79 throw XMLIOSERVER::XMLIOUndefinedValueException("le champ mask n'a pas la même taille que le domaine local") ; 79 80 80 81 if (data_dim.hasValue()) 81 82 { 82 if (!(data_dim==1 || data_dim==2)) ERROR("dimension non comptatible (doit être 1 ou 2)") ;83 if (!(data_dim==1 || data_dim==2)) throw XMLIOSERVER::XMLIOUndefinedValueException("dimension non comptatible (doit être 1 ou 2)") ; 83 84 } 84 else ERROR("Dimension des donnée non définie") ;85 else throw XMLIOSERVER::XMLIOUndefinedValueException("Dimension des donnée non définie") ; 85 86 86 87 if (data_ni.hasValue()) 87 88 { 88 if (data_ni<=0) ERROR("Dimension des données négative") ;89 if (data_ni<=0) throw XMLIOSERVER::XMLIOUndefinedValueException("Dimension des données négative") ; 89 90 } 90 91 else … … 98 99 if (data_nj.hasValue()) 99 100 { 100 if (data_nj<=0) ERROR("Dimension des données négative") ;101 if (data_nj<=0) throw XMLIOSERVER::XMLIOUndefinedValueException("Dimension des données négative") ; 101 102 } 102 103 else data_nj=(int) nj ; … … 105 106 106 107 if (!mask.hasValue()) 107 { 108 { // Si aucun masque n'est défini, on en crée un nouveau qui valide l'intégralité du domaine. 108 109 mask->resize(shape(ni,nj)) ; 109 110 *mask=true ; … … 116 117 if (data_n_index.hasValue()) 117 118 { 118 if (data_n_index!=data_i_index->extent(0)) ERROR("Dimension data_i_index incompatible avec data_n_index") ; 119 if (data_n_index!=data_i_index->extent(0)) 120 throw XMLIOSERVER::XMLIOUndefinedValueException("Dimension data_i_index incompatible avec data_n_index") ; 119 121 } 120 122 else data_n_index=data_i_index->extent(0) ; … … 125 127 { 126 128 if (data_j_index->extent(0)!=data_i_index->extent(0)) 127 ERROR("Dimension data_j_index incompatible avec data_i_index") ;129 throw XMLIOSERVER::XMLIOUndefinedValueException("Dimension data_j_index incompatible avec data_i_index") ; 128 130 } 129 else ERROR("data_j_index non défini") ;131 else throw XMLIOSERVER::XMLIOUndefinedValueException("data_j_index non défini") ; 130 132 } 131 133 } 132 134 else 133 135 { 134 if (data_n_index.hasValue() || (data_dim==2 && data_j_index.hasValue())) ERROR("data_i_index non défini") ; 136 if (data_n_index.hasValue() || (data_dim==2 && data_j_index.hasValue())) 137 throw XMLIOSERVER::XMLIOUndefinedValueException("data_i_index non défini") ; 135 138 } 136 cout<<"data_n_index.hasValue() "<<data_n_index.hasValue()<<endl ;139 //cout<<"data_n_index.hasValue() "<<data_n_index.hasValue()<<endl ; 137 140 if (!data_n_index.hasValue()) 138 141 { … … 141 144 int i ; 142 145 data_n_index=*data_ni ; 143 cout <<"data_n_index "<<data_n_index<<" "<<data_ni<<" "<<data_nj<<endl ;146 //cout <<"data_n_index "<<data_n_index<<" "<<data_ni<<" "<<data_nj<<endl ; 144 147 145 148 data_i_index->resize(data_n_index) ; 146 149 147 150 for (i=0;i<data_ni;i++) (*data_i_index)(i)=i ; 148 cout <<"data_i_index "<<*data_i_index<<endl ;151 //cout <<"data_i_index "<<*data_i_index<<endl ; 149 152 } 150 153 else // data_dim=2 … … 154 157 int count ; 155 158 156 data_n_index =data_ni*data_nj ;157 data_i_index -> resize(data_n_index) ;158 data_j_index -> resize(data_n_index) ;159 for(count=0,i=0; i<data_ni;i++)160 for(j=0; j<data_nj;j++)159 data_n_index = data_ni * data_nj ; 160 data_i_index -> resize(data_n_index) ; 161 data_j_index -> resize(data_n_index) ; 162 for(count=0,i=0; i<data_ni;i++) 163 for(j=0; j<data_nj;j++) 161 164 { 162 165 (*data_i_index)(count)=i ; 163 cout<<count<<" "<<(*data_i_index)(count)<<endl ;166 // cout<<count<<" "<<(*data_i_index)(count)<<endl ; 164 167 (*data_j_index)(count)=j ; 165 cout<<count<<" "<<(*data_j_index)(count)<<endl ;168 //cout<<count<<" "<<(*data_j_index)(count)<<endl ; 166 169 count++ ; 167 170 } 168 cout<<data_ni<<" "<<data_nj<<" "<<data_n_index<<" "<<*data_i_index<<" "<<*data_j_index<<endl ;171 //cout<<data_ni<<" "<<data_nj<<" "<<data_n_index<<" "<<*data_i_index<<" "<<*data_j_index<<endl ; 169 172 } 170 173 }
Note: See TracChangeset
for help on using the changeset viewer.