From 621f26055ecc20aa9c81784b71aae10c2ab4a9b7 Mon Sep 17 00:00:00 2001 From: prascle Date: Mon, 9 May 2011 14:48:31 +0000 Subject: [PATCH] PR: missing groups in CreateFlatElementsOnFacesGroups and names too long for groups in doubleNodesOnGroupBoundaries --- src/SMESH/SMESH_MeshEditor.cxx | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/src/SMESH/SMESH_MeshEditor.cxx b/src/SMESH/SMESH_MeshEditor.cxx index 7bb9b26dd..db8f8a36d 100644 --- a/src/SMESH/SMESH_MeshEditor.cxx +++ b/src/SMESH/SMESH_MeshEditor.cxx @@ -11159,7 +11159,7 @@ bool SMESH_MeshEditor::DoubleNodesOnGroupBoundaries( const std::vectorextrudeVolumeFromFace(vtkVolId, dom1, dom2, oldNodes, nodeDomains, nodeQuadDomains); stringstream grpname; - grpname << "junction_"; + grpname << "j_"; if (dom1 < dom2) grpname << dom1 << "_" << dom2; else @@ -11198,7 +11198,7 @@ bool SMESH_MeshEditor::DoubleNodesOnGroupBoundaries( const std::vectorGetMeshDS()->AddVolumeFromVtkIds(orderedNodes); stringstream grpname; - grpname << "junction_"; + grpname << "mj_"; grpname << 0 << "_" << 0; int idg; string namegrp = grpname.str(); @@ -11330,6 +11330,8 @@ bool SMESH_MeshEditor::CreateFlatElementsOnFacesGroups(const std::vector intermediateNodes; clonedNodes.clear(); intermediateNodes.clear(); + std::map mapOfJunctionGroups; + mapOfJunctionGroups.clear(); for (int idom = 0; idom < theElems.size(); idom++) { @@ -11441,6 +11443,20 @@ bool SMESH_MeshEditor::CreateFlatElementsOnFacesGroups(const std::vectormyMesh->AddGroup(SMDSAbs_Volume, namegrp.c_str(), idg); + SMESHDS_Group *sgrp = dynamic_cast(mapOfJunctionGroups[namegrp]->GetGroupDS()); + if (sgrp) + sgrp->Add(vol->GetID()); + } + // --- modify the face aFace->ChangeNodes(&ln[0], ln.size()); -- 2.39.2