mirror of
https://git.salome-platform.org/gitpub/modules/smesh.git
synced 2025-01-14 10:40:34 +05:00
Fix for IPAL12172 - import volume group from UNV
This commit is contained in:
parent
79f7e4e5d5
commit
572ca07c09
@ -293,6 +293,8 @@ Driver_Mesh::Status DriverUNV_R_SMDS_Mesh::Perform()
|
|||||||
if (aElementsNb > 0){
|
if (aElementsNb > 0){
|
||||||
SMDS_MeshGroup* aEdgesGroup = 0;
|
SMDS_MeshGroup* aEdgesGroup = 0;
|
||||||
SMDS_MeshGroup* aFacesGroup = 0;
|
SMDS_MeshGroup* aFacesGroup = 0;
|
||||||
|
SMDS_MeshGroup* aVolumeGroup = 0;
|
||||||
|
bool createdGroup = false;
|
||||||
|
|
||||||
for (i = 0; i < aElementsNb; i++) {
|
for (i = 0; i < aElementsNb; i++) {
|
||||||
const SMDS_MeshElement* aElement = myMesh->FindElement(aRec.ElementList[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:
|
case SMDSAbs_Edge:
|
||||||
if (!aEdgesGroup) {
|
if (!aEdgesGroup) {
|
||||||
aEdgesGroup = (SMDS_MeshGroup*) myGroup->AddSubGroup(SMDSAbs_Edge);
|
aEdgesGroup = (SMDS_MeshGroup*) myGroup->AddSubGroup(SMDSAbs_Edge);
|
||||||
|
if (!useSuffix && createdGroup) useSuffix = true;
|
||||||
std::string aEdgesGrName = (useSuffix) ? aRec.GroupName + "_Edges" : aRec.GroupName;
|
std::string aEdgesGrName = (useSuffix) ? aRec.GroupName + "_Edges" : aRec.GroupName;
|
||||||
myGroupNames.insert(TGroupNamesMap::value_type(aEdgesGroup, aEdgesGrName));
|
myGroupNames.insert(TGroupNamesMap::value_type(aEdgesGroup, aEdgesGrName));
|
||||||
myGroupId.insert(TGroupIdMap::value_type(aEdgesGroup, aLabel));
|
myGroupId.insert(TGroupIdMap::value_type(aEdgesGroup, aLabel));
|
||||||
|
createdGroup = true;
|
||||||
}
|
}
|
||||||
aEdgesGroup->Add(aElement);
|
aEdgesGroup->Add(aElement);
|
||||||
break;
|
break;
|
||||||
case SMDSAbs_Face:
|
case SMDSAbs_Face:
|
||||||
if (!aFacesGroup) {
|
if (!aFacesGroup) {
|
||||||
aFacesGroup = (SMDS_MeshGroup*) myGroup->AddSubGroup(SMDSAbs_Face);
|
aFacesGroup = (SMDS_MeshGroup*) myGroup->AddSubGroup(SMDSAbs_Face);
|
||||||
|
if (!useSuffix && createdGroup) useSuffix = true;
|
||||||
std::string aFacesGrName = (useSuffix) ? aRec.GroupName + "_Faces" : aRec.GroupName;
|
std::string aFacesGrName = (useSuffix) ? aRec.GroupName + "_Faces" : aRec.GroupName;
|
||||||
myGroupNames.insert(TGroupNamesMap::value_type(aFacesGroup, aFacesGrName));
|
myGroupNames.insert(TGroupNamesMap::value_type(aFacesGroup, aFacesGrName));
|
||||||
myGroupId.insert(TGroupIdMap::value_type(aFacesGroup, aLabel));
|
myGroupId.insert(TGroupIdMap::value_type(aFacesGroup, aLabel));
|
||||||
|
createdGroup = true;
|
||||||
}
|
}
|
||||||
aFacesGroup->Add(aElement);
|
aFacesGroup->Add(aElement);
|
||||||
break;
|
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;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user