Salome HOME
Copyright update 2020
[modules/smesh.git] / src / DriverMED / DriverMED_Family.cxx
index a11ba4860bc88e09e8ef0f58ee1213ca38189fca..c62787c724cbe0fde383ad6164bfeaa0774018a3 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2007-2016  CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-2020  CEA/DEN, EDF R&D, OPEN CASCADE
 //
 // Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
 // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
@@ -383,11 +383,7 @@ DriverMED_Family::GetFamilyInfo(const MED::PWrapper& theWrapper,
   }
   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 maxSize = MED::GetNOMLength();
   int lastCharPos = min( maxSize, (int) aValue.size() ) - 1;
   while ( isspace( aValue[ lastCharPos ] ))
     aValue.resize( lastCharPos-- );
@@ -574,3 +570,21 @@ void DriverMED_Family::Split (DriverMED_FamilyPtr by,
     common->myType = myType;
   }
 }
+
+//================================================================================
+/*!
+ * \brief Return a number of elements of a given type
+ */
+//================================================================================
+
+size_t DriverMED_Family::NbElements( SMDSAbs_ElementType theType ) const
+{
+  if ( myTypes.size() < 2 )
+    return myElements.size();
+
+  int nb = 0;
+  for ( ElementsSet::iterator e = myElements.begin(); e != myElements.end(); ++e )
+    nb += ( theType == (*e)->GetType() );
+
+  return nb;
+}