From 572ca07c09b332ddadd2d60da5176ec6d07430c0 Mon Sep 17 00:00:00 2001 From: nkv Date: Tue, 25 Apr 2006 08:03:12 +0000 Subject: [PATCH] Fix for IPAL12172 - import volume group from UNV --- src/DriverUNV/DriverUNV_R_SMDS_Mesh.cxx | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/src/DriverUNV/DriverUNV_R_SMDS_Mesh.cxx b/src/DriverUNV/DriverUNV_R_SMDS_Mesh.cxx index 8cfbb55f0..173339ac3 100644 --- a/src/DriverUNV/DriverUNV_R_SMDS_Mesh.cxx +++ b/src/DriverUNV/DriverUNV_R_SMDS_Mesh.cxx @@ -293,6 +293,8 @@ Driver_Mesh::Status DriverUNV_R_SMDS_Mesh::Perform() if (aElementsNb > 0){ SMDS_MeshGroup* aEdgesGroup = 0; SMDS_MeshGroup* aFacesGroup = 0; + SMDS_MeshGroup* aVolumeGroup = 0; + bool createdGroup = false; for (i = 0; i < aElementsNb; i++) { const SMDS_MeshElement* aElement = myMesh->FindElement(aRec.ElementList[i]); @@ -301,21 +303,36 @@ Driver_Mesh::Status DriverUNV_R_SMDS_Mesh::Perform() case SMDSAbs_Edge: if (!aEdgesGroup) { aEdgesGroup = (SMDS_MeshGroup*) myGroup->AddSubGroup(SMDSAbs_Edge); + if (!useSuffix && createdGroup) useSuffix = true; std::string aEdgesGrName = (useSuffix) ? aRec.GroupName + "_Edges" : aRec.GroupName; myGroupNames.insert(TGroupNamesMap::value_type(aEdgesGroup, aEdgesGrName)); myGroupId.insert(TGroupIdMap::value_type(aEdgesGroup, aLabel)); + createdGroup = true; } aEdgesGroup->Add(aElement); break; case SMDSAbs_Face: if (!aFacesGroup) { aFacesGroup = (SMDS_MeshGroup*) myGroup->AddSubGroup(SMDSAbs_Face); + if (!useSuffix && createdGroup) useSuffix = true; std::string aFacesGrName = (useSuffix) ? aRec.GroupName + "_Faces" : aRec.GroupName; myGroupNames.insert(TGroupNamesMap::value_type(aFacesGroup, aFacesGrName)); myGroupId.insert(TGroupIdMap::value_type(aFacesGroup, aLabel)); + createdGroup = true; } aFacesGroup->Add(aElement); break; + case SMDSAbs_Volume: + if (!aVolumeGroup) { + aVolumeGroup = (SMDS_MeshGroup*) myGroup->AddSubGroup(SMDSAbs_Volume); + if (!useSuffix && createdGroup) useSuffix = true; + std::string aVolumeGrName = (useSuffix) ? aRec.GroupName + "_Volumes" : aRec.GroupName; + myGroupNames.insert(TGroupNamesMap::value_type(aVolumeGroup, aVolumeGrName)); + myGroupId.insert(TGroupIdMap::value_type(aVolumeGroup, aLabel)); + createdGroup = true; + } + aVolumeGroup->Add(aElement); + break; } } } -- 2.39.2