X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FRENUMBER%2Frenumbering.cxx;h=ce86bde6e44e2c638b89ce2e8a4959c6ae8caeee;hb=b79f750df5fc807078f4efbf89d88587a88f7548;hp=d429b2cffd310e030c4234fa1b2967c01bbcd330;hpb=aaa6cbecf0dc3e3f8858cd6e2be59844a2037417;p=tools%2Fmedcoupling.git diff --git a/src/RENUMBER/renumbering.cxx b/src/RENUMBER/renumbering.cxx index d429b2cff..ce86bde6e 100644 --- a/src/RENUMBER/renumbering.cxx +++ b/src/RENUMBER/renumbering.cxx @@ -81,6 +81,7 @@ int main(int argc, char** argv) Renumbering *renumb=RenumberingFactory(type_renum); renumb->renumber(graph,graph_index,workMesh->getNumberOfCells(),iperm,perm); delete renumb; + iperm.clear();//erase new2old, we are using only old 2 new t_compute_graph=clock(); cout << " : " << (t_compute_graph-t_read_st)/(double) CLOCKS_PER_SEC << "s" << endl; cout.flush(); @@ -100,10 +101,26 @@ int main(int argc, char** argv) // Fields cout << "Reordering fields and writing : " << flush; MEDFileFields *fs=fd->getFields(); - MEDCouplingAutoRefCountObjectPtr o2n=DataArrayInt::New(); - o2n->useArray(&perm[0],false,CPP_DEALLOC,perm.size(),1); - fs->renumberEntitiesLyingOnMesh(meshname.c_str(),code,code,o2n); - fs->write(filename_out.c_str(),0); + if(fs) + { + for(int i=0;igetNumberOfFields();i++) + { + MEDFileFieldMultiTS *fmts=dynamic_cast(fs->getFieldAtPos(i)); + if(!fmts) continue; + if(fmts->getMeshName()==meshname) + { + for(int j=0;jgetNumberOfTS();j++) + { + MEDFileField1TS *f1ts=dynamic_cast(fmts->getTimeStepAtPos(j)); + if(!f1ts) continue; + DataArrayDouble *arr=f1ts->getUndergroundDataArray(); + arr->renumberInPlace(&perm[0]); + } + } + } + fs->write(filename_out.c_str(),0); + //fs->renumberEntitiesLyingOnMesh(meshname.c_str(),code,code,o2n); bugged + } t_field=clock(); cout << " : " << (t_field-t_family)/(double) CLOCKS_PER_SEC << "s" << endl << flush; return 0;