From: Anthony Geay Date: Thu, 16 Mar 2017 15:32:03 +0000 (+0100) Subject: Correct bug introduced during factorization on dc37538815b277664df3d9 X-Git-Tag: V8_3_0a2^0 X-Git-Url: http://git.salome-platform.org/gitweb/?a=commitdiff_plain;h=d63ef22fefb207ec6d12f4d1f4b65848971cbc89;p=tools%2Fmedcoupling.git Correct bug introduced during factorization on dc37538815b277664df3d9 --- diff --git a/src/MEDLoader/MEDFileBlowStrEltUp.cxx b/src/MEDLoader/MEDFileBlowStrEltUp.cxx index 8fa0d2d52..adb9ce7ad 100644 --- a/src/MEDLoader/MEDFileBlowStrEltUp.cxx +++ b/src/MEDLoader/MEDFileBlowStrEltUp.cxx @@ -388,6 +388,12 @@ MCAuto LocInfo::BuildMeshCommon(INTERP_KERNEL::NormalizedCellT geoMesh=umesh->buildUnstructured(); } // + if(!pfl.empty()) + { + const DataArrayInt *pflArr(globs->getProfile(pfl)); + geoMesh=geoMesh->buildPartOfMySelf(pflArr->begin(),pflArr->end(),true); + } + // MCAuto fakeF(MEDCouplingFieldDouble::New(ON_GAUSS_PT)); fakeF->setMesh(geoMesh); fakeF->setGaussLocalizationOnType(gt,loc.getRefCoords(),loc.getGaussCoords(),loc.getGaussWeights()); @@ -405,12 +411,13 @@ MCAuto LocInfo::BuildMeshFromAngleVrille(INTERP_KERNEL::Normali if(!pfl.empty()) { const DataArrayInt *pflArr(globs->getProfile(pfl)); - geoMesh=geoMesh->buildPartOfMySelf(pflArr->begin(),pflArr->end(),true); angleVrille=angleDeVrille->selectByTupleIdSafe(pflArr->begin(),pflArr->end()); } else angleVrille.takeRef(angleDeVrille); // + MCAuto dir(geoMesh->buildDirectionVectorField()); + MCAuto rot(dir->getArray()->fromCartToSpher()); int nbCompo(ptsForLoc->getNumberOfComponents()); MCAuto secPts(section->getCoords()->changeNbOfComponents(nbCompo,0.)); int nbSecPts(secPts->getNumberOfTuples()),nbCells(geoMesh->getNumberOfCells()),nbg(loc.getGaussWeights().size()); @@ -419,9 +426,6 @@ MCAuto LocInfo::BuildMeshFromAngleVrille(INTERP_KERNEL::Normali std::vector v(TAB,TAB+3); secPts=secPts->keepSelectedComponents(v); } - MCAuto dir(geoMesh->buildDirectionVectorField()); - MCAuto rot(dir->getArray()->fromCartToSpher()); - // const double CENTER[3]={0.,0.,0.},AX0[3]={0.,0.,1.}; double AX1[3]; AX1[2]=0.; std::vector< MCAuto > arrs(nbCells*nbg);