From 47e62a030ce1fc5890a731d0a32c88d4e5408837 Mon Sep 17 00:00:00 2001 From: eap Date: Thu, 18 Jun 2009 12:40:22 +0000 Subject: [PATCH] 0020128: EDF SMESH 926 : Quadratic conversion of BLSURF mesh in ConvertToQuadratic() + if ( !theForce3d ) { + aHelper.SetSubShape(0); // apply to the whole mesh + aHelper.FixQuadraticElements(); + } --- src/SMESH/SMESH_MeshEditor.cxx | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/src/SMESH/SMESH_MeshEditor.cxx b/src/SMESH/SMESH_MeshEditor.cxx index 81d71320c..d7a64c1cd 100644 --- a/src/SMESH/SMESH_MeshEditor.cxx +++ b/src/SMESH/SMESH_MeshEditor.cxx @@ -3856,7 +3856,8 @@ SMESH_MeshEditor::Extrusion_Error double aT = pEPos->GetUParameter(); aPrms.push_back( aT ); } - Extrusion_Error err = MakeEdgePathPoints(aPrms, aTrackEdge, (aN1==theN1), fullList); + //Extrusion_Error err = + MakeEdgePathPoints(aPrms, aTrackEdge, (aN1==theN1), fullList); } else if( aS.ShapeType() == TopAbs_WIRE ) { list< SMESH_subMesh* > LSM; @@ -3900,8 +3901,8 @@ SMESH_MeshEditor::Extrusion_Error aPrms.push_back( aT ); } list LPP; - Extrusion_Error err = MakeEdgePathPoints(aPrms, aTrackEdge, - (aN1->GetID()==startNid), LPP); + //Extrusion_Error err = + MakeEdgePathPoints(aPrms, aTrackEdge,(aN1->GetID()==startNid), LPP); LLPPs.push_back(LPP); UsedNums.Add(k); // update startN for search following egde @@ -4027,7 +4028,8 @@ SMESH_MeshEditor::Extrusion_Error double aT = pEPos->GetUParameter(); aPrms.push_back( aT ); } - Extrusion_Error err = MakeEdgePathPoints(aPrms, aTrackEdge, (aN1==theN1), fullList); + //Extrusion_Error err = + MakeEdgePathPoints(aPrms, aTrackEdge, (aN1==theN1), fullList); } else if( aS.ShapeType() == TopAbs_WIRE ) { list< SMESH_subMesh* > LSM; @@ -4074,8 +4076,8 @@ SMESH_MeshEditor::Extrusion_Error aPrms.push_back( aT ); } list LPP; - Extrusion_Error err = MakeEdgePathPoints(aPrms, aTrackEdge, - (aN1->GetID()==startNid), LPP); + //Extrusion_Error err = + MakeEdgePathPoints(aPrms, aTrackEdge,(aN1->GetID()==startNid), LPP); LLPPs.push_back(LPP); UsedNums.Add(k); // update startN for search following egde @@ -4177,6 +4179,7 @@ SMESH_MeshEditor::MakeEdgePathPoints(std::list& aPrms, aPP.SetParameter( aT ); LPP.push_back(aPP); } + return EXTR_OK; } @@ -7075,6 +7078,7 @@ void SMESH_MeshEditor::ConvertToQuadratic(const bool theForce3d) SMESH_subMesh* sm = smIt->next(); if ( SMESHDS_SubMesh *smDS = sm->GetSubMeshDS() ) { aHelper.SetSubShape( sm->GetSubShape() ); + if ( !theForce3d) aHelper.SetCheckNodePosition(true); nbCheckedElems += convertElemToQuadratic(smDS, aHelper, theForce3d); } } @@ -7169,6 +7173,10 @@ void SMESH_MeshEditor::ConvertToQuadratic(const bool theForce3d) ReplaceElemInGroups(volume, NewVolume, meshDS); } } + if ( !theForce3d ) { + aHelper.SetSubShape(0); // apply to the whole mesh + aHelper.FixQuadraticElements(); + } } //======================================================================= -- 2.39.2