Salome HOME
IPAL 19788 4.x: REGRESSION - groups are lost after import UNV file.
authordmv <dmv@opencascade.com>
Wed, 21 May 2008 09:34:01 +0000 (09:34 +0000)
committerdmv <dmv@opencascade.com>
Wed, 21 May 2008 09:34:01 +0000 (09:34 +0000)
src/DriverUNV/DriverUNV_R_SMDS_Mesh.cxx
src/DriverUNV/UNV2417_Structure.cxx

index 77a439a7d194bc237384b831601ea8270ddf715e..b8c5d5c5cfb33e75a76d7bad651351ce37b968d6 100644 (file)
@@ -281,6 +281,9 @@ Driver_Mesh::Status DriverUNV_R_SMDS_Mesh::Perform()
          if (aNodesNb > 0) {
            SMDS_MeshGroup* aNodesGroup = (SMDS_MeshGroup*) myGroup->AddSubGroup(SMDSAbs_Node);
            std::string aGrName = (useSuffix) ? aRec.GroupName + "_Nodes" : aRec.GroupName;
          if (aNodesNb > 0) {
            SMDS_MeshGroup* aNodesGroup = (SMDS_MeshGroup*) myGroup->AddSubGroup(SMDSAbs_Node);
            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));
            myGroupId.insert(TGroupIdMap::value_type(aNodesGroup, aLabel));
 
            myGroupNames.insert(TGroupNamesMap::value_type(aNodesGroup, aGrName));
            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);
                    if (!useSuffix && createdGroup) useSuffix = true;
                    std::string aEdgesGrName = (useSuffix) ? aRec.GroupName + "_Edges" : aRec.GroupName;
                    aEdgesGroup = (SMDS_MeshGroup*) myGroup->AddSubGroup(SMDSAbs_Edge);
                    if (!useSuffix && createdGroup) useSuffix = true;
                    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));
                    myGroupId.insert(TGroupIdMap::value_type(aEdgesGroup, aLabel));
                    createdGroup = true;
                    myGroupNames.insert(TGroupNamesMap::value_type(aEdgesGroup, aEdgesGrName));
                    myGroupId.insert(TGroupIdMap::value_type(aEdgesGroup, aLabel));
                    createdGroup = true;
@@ -316,6 +322,9 @@ Driver_Mesh::Status DriverUNV_R_SMDS_Mesh::Perform()
                    aFacesGroup = (SMDS_MeshGroup*) myGroup->AddSubGroup(SMDSAbs_Face);
                    if (!useSuffix && createdGroup) useSuffix = true;
                    std::string aFacesGrName = (useSuffix) ? aRec.GroupName + "_Faces" : aRec.GroupName;
                    aFacesGroup = (SMDS_MeshGroup*) myGroup->AddSubGroup(SMDSAbs_Face);
                    if (!useSuffix && createdGroup) useSuffix = true;
                    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));
                    myGroupId.insert(TGroupIdMap::value_type(aFacesGroup, aLabel));
                    createdGroup = true;
                    myGroupNames.insert(TGroupNamesMap::value_type(aFacesGroup, aFacesGrName));
                    myGroupId.insert(TGroupIdMap::value_type(aFacesGroup, aLabel));
                    createdGroup = true;
@@ -327,6 +336,9 @@ Driver_Mesh::Status DriverUNV_R_SMDS_Mesh::Perform()
                    aVolumeGroup = (SMDS_MeshGroup*) myGroup->AddSubGroup(SMDSAbs_Volume);
                    if (!useSuffix && createdGroup) useSuffix = true;
                    std::string aVolumeGrName = (useSuffix) ? aRec.GroupName + "_Volumes" : aRec.GroupName;
                    aVolumeGroup = (SMDS_MeshGroup*) myGroup->AddSubGroup(SMDSAbs_Volume);
                    if (!useSuffix && createdGroup) useSuffix = true;
                    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));
                    myGroupId.insert(TGroupIdMap::value_type(aVolumeGroup, aLabel));
                    createdGroup = true;
                    myGroupNames.insert(TGroupNamesMap::value_type(aVolumeGroup, aVolumeGrName));
                    myGroupId.insert(TGroupIdMap::value_type(aVolumeGroup, aLabel));
                    createdGroup = true;
index 90c4e45146f4657fed39411f2fd8c8e239b05308..abc2a140ea7199adc8d269af6ba3b04dbedc5f49 100644 (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');
 
     std::getline(in_stream, aRec.GroupName, '\n'); // Finalise previous reading
     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 aElId;
     int aNum;
     int aElType;
     int aElId;
     int aNum;