IPAL 19788 4.x: REGRESSION - groups are lost after import UNV file.

This commit is contained in:
dmv 2008-05-21 09:34:01 +00:00
parent 38beeccb16
commit b9d1ac1de2
2 changed files with 12 additions and 8 deletions

View File

@ -281,6 +281,9 @@ Driver_Mesh::Status DriverUNV_R_SMDS_Mesh::Perform()
if (aNodesNb > 0) { if (aNodesNb > 0) {
SMDS_MeshGroup* aNodesGroup = (SMDS_MeshGroup*) myGroup->AddSubGroup(SMDSAbs_Node); SMDS_MeshGroup* aNodesGroup = (SMDS_MeshGroup*) myGroup->AddSubGroup(SMDSAbs_Node);
std::string aGrName = (useSuffix) ? aRec.GroupName + "_Nodes" : aRec.GroupName; std::string aGrName = (useSuffix) ? aRec.GroupName + "_Nodes" : aRec.GroupName;
int i = aGrName.find( "\r" );
if (i)
aGrName.erase (i, 2);
myGroupNames.insert(TGroupNamesMap::value_type(aNodesGroup, aGrName)); myGroupNames.insert(TGroupNamesMap::value_type(aNodesGroup, aGrName));
myGroupId.insert(TGroupIdMap::value_type(aNodesGroup, aLabel)); myGroupId.insert(TGroupIdMap::value_type(aNodesGroup, aLabel));
@ -305,6 +308,9 @@ Driver_Mesh::Status DriverUNV_R_SMDS_Mesh::Perform()
aEdgesGroup = (SMDS_MeshGroup*) myGroup->AddSubGroup(SMDSAbs_Edge); aEdgesGroup = (SMDS_MeshGroup*) myGroup->AddSubGroup(SMDSAbs_Edge);
if (!useSuffix && createdGroup) useSuffix = true; if (!useSuffix && createdGroup) useSuffix = true;
std::string aEdgesGrName = (useSuffix) ? aRec.GroupName + "_Edges" : aRec.GroupName; std::string aEdgesGrName = (useSuffix) ? aRec.GroupName + "_Edges" : aRec.GroupName;
int i = aEdgesGrName.find( "\r" );
if (i)
aEdgesGrName.erase (i, 2);
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; createdGroup = true;
@ -316,6 +322,9 @@ Driver_Mesh::Status DriverUNV_R_SMDS_Mesh::Perform()
aFacesGroup = (SMDS_MeshGroup*) myGroup->AddSubGroup(SMDSAbs_Face); aFacesGroup = (SMDS_MeshGroup*) myGroup->AddSubGroup(SMDSAbs_Face);
if (!useSuffix && createdGroup) useSuffix = true; if (!useSuffix && createdGroup) useSuffix = true;
std::string aFacesGrName = (useSuffix) ? aRec.GroupName + "_Faces" : aRec.GroupName; std::string aFacesGrName = (useSuffix) ? aRec.GroupName + "_Faces" : aRec.GroupName;
int i = aFacesGrName.find( "\r" );
if (i)
aFacesGrName.erase (i, 2);
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; createdGroup = true;
@ -327,6 +336,9 @@ Driver_Mesh::Status DriverUNV_R_SMDS_Mesh::Perform()
aVolumeGroup = (SMDS_MeshGroup*) myGroup->AddSubGroup(SMDSAbs_Volume); aVolumeGroup = (SMDS_MeshGroup*) myGroup->AddSubGroup(SMDSAbs_Volume);
if (!useSuffix && createdGroup) useSuffix = true; if (!useSuffix && createdGroup) useSuffix = true;
std::string aVolumeGrName = (useSuffix) ? aRec.GroupName + "_Volumes" : aRec.GroupName; std::string aVolumeGrName = (useSuffix) ? aRec.GroupName + "_Volumes" : aRec.GroupName;
int i = aVolumeGrName.find( "\r" );
if (i)
aVolumeGrName.erase (i, 2);
myGroupNames.insert(TGroupNamesMap::value_type(aVolumeGroup, aVolumeGrName)); myGroupNames.insert(TGroupNamesMap::value_type(aVolumeGroup, aVolumeGrName));
myGroupId.insert(TGroupIdMap::value_type(aVolumeGroup, aLabel)); myGroupId.insert(TGroupIdMap::value_type(aVolumeGroup, aLabel));
createdGroup = true; createdGroup = true;

View File

@ -93,14 +93,6 @@ void UNV2417::ReadGroup(const std::string& myGroupLabel, std::ifstream& in_strea
std::getline(in_stream, aRec.GroupName, '\n'); // Finalise previous reading std::getline(in_stream, aRec.GroupName, '\n'); // Finalise previous reading
std::getline(in_stream, aRec.GroupName, '\n'); std::getline(in_stream, aRec.GroupName, '\n');
//Erase special char '\r' if needs
std::string aName = aRec.GroupName;
int i = aName.find( "\r" );
if (i) {
aName.erase (i, 2);
aRec.GroupName = aName;
}
int aElType; int aElType;
int aElId; int aElId;
int aNum; int aNum;