]> SALOME platform Git repositories - modules/smesh.git/blobdiff - src/DriverMED/DriverMED_Family.cxx
Salome HOME
[SALOME platform 0019316]: Need to have a better interface with GHS3D diagnostics
[modules/smesh.git] / src / DriverMED / DriverMED_Family.cxx
index 81bfed53462567a13d76cafd977853d62abdb83f..4b34b35d1369bee95c1a34d74e5318e8b0df9f88 100644 (file)
@@ -318,9 +318,18 @@ DriverMED_Family::GetFamilyInfo(const MED::PWrapper& theWrapper,
   for(; aGrIter != myGroupNames.end(); aGrIter++){
     aStr << "_" << *aGrIter;
   }
+  string aValue = aStr.str();
+  // PAL19785,0019867 - med forbids whitespace to be the last char in the name
+  int maxSize;
+  if ( theWrapper->GetVersion() == MED::eV2_1 )
+    maxSize = MED::GetNOMLength<MED::eV2_1>();
+  else
+    maxSize = MED::GetNOMLength<MED::eV2_2>();
+  int lastCharPos = min( maxSize, (int) aValue.size() ) - 1;
+  while ( isspace( aValue[ lastCharPos ] ))
+    aValue.resize( lastCharPos-- );
 
   MED::PFamilyInfo anInfo;
-  string aValue = aStr.str();
   if(myId == 0 || myGroupAttributVal == 0){
     anInfo = theWrapper->CrFamilyInfo(theMeshInfo,
                                      aValue,
@@ -385,9 +394,9 @@ void DriverMED_Family::Init (SMESHDS_GroupBase* theGroup)
   double aRed = aColor.Red();
   double aGreen = aColor.Green();
   double aBlue = aColor.Blue();
-  int aR = (int) aRed*255;
-  int aG = (int) aGreen*255;
-  int aB = (int) aBlue*255;
+  int aR = int( aRed*255   );
+  int aG = int( aGreen*255 );
+  int aB = int( aBlue*255  );
 //   cout << "aRed = " << aR << endl;
 //   cout << "aGreen = " << aG << endl;
 //   cout << "aBlue = " << aB << endl;