Salome HOME
[SALOME platform 0019316]: Need to have a better interface with GHS3D diagnostics
[modules/smesh.git] / src / DriverMED / DriverMED_Family.cxx
index b95f4b1cba46cc3cc06554bb29a7c04acea7e61d..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,14 +394,14 @@ void DriverMED_Family::Init (SMESHDS_GroupBase* theGroup)
   double aRed = aColor.Red();
   double aGreen = aColor.Green();
   double aBlue = aColor.Blue();
-  int aR = aRed*255;
-  int aG = aGreen*255;
-  int aB = aBlue*255;
-  cout << "aRed = " << aR << endl;
-  cout << "aGreen = " << aG << endl;
-  cout << "aBlue = " << aB << endl;
+  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;
   myGroupAttributVal = (int)(aR*1000000 + aG*1000 + aB);
-  cout << "myGroupAttributVal = " << myGroupAttributVal << endl;
+  //cout << "myGroupAttributVal = " << myGroupAttributVal << endl;
 }
 
 //=============================================================================