Salome HOME
updated copyright message
[tools/medcoupling.git] / src / MEDLoader / MEDFileFieldOverView.cxx
index c2b54d60bfd34305e660301202b0f801bac93bf6..e9709a9203e0f25342a92cb2e3369120e7f523bb 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2007-2020  CEA/DEN, EDF R&D
+// Copyright (C) 2007-2023  CEA, EDF
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
@@ -398,14 +398,19 @@ DataArrayIdType *MEDMeshMultiLev::retrieveGlobalNodeIdsIfAny() const
 {
   const MEDFileUMesh *umesh(dynamic_cast<const MEDFileUMesh *>(_mesh));
   if(!umesh)
-    return 0;
+    return nullptr;
   const PartDefinition *pd(umesh->getPartDefAtLevel(1));
   if(!pd)
-    return 0;
+  {
+    MCAuto<DataArrayIdType> gni = umesh->getGlobalNumFieldAtLevel(1);
+    if(gni.isNull())
+      return nullptr;
+    return gni->deepCopy();
+  }
   MCAuto<DataArrayIdType> tmp(pd->toDAI());
   const DataArrayIdType *tmpCpp(tmp);
   if(!tmpCpp)
-    return 0;
+    return nullptr;
   //
   const DataArrayIdType *nr(_node_reduction);
   if(nr)
@@ -1400,7 +1405,7 @@ MEDMeshMultiLev *MEDCMeshMultiLev::prepare() const
   MCAuto<DataArrayIdType> nnr;
   std::vector<mcIdType> cgs,ngs(getNodeGridStructure());
   cgs.resize(ngs.size());
-  std::transform(ngs.begin(),ngs.end(),cgs.begin(),std::bind2nd(std::plus<mcIdType>(),-1));
+  std::transform(ngs.begin(),ngs.end(),cgs.begin(),std::bind(std::plus<mcIdType>(),std::placeholders::_1,-1));
   if(pfl)
     {
       std::vector< std::pair<mcIdType,mcIdType> > cellParts;
@@ -1536,7 +1541,7 @@ MEDMeshMultiLev *MEDCurveLinearMeshMultiLev::prepare() const
   MCAuto<DataArrayIdType> nnr;
   std::vector<mcIdType> cgs,ngs(getNodeGridStructure());
   cgs.resize(ngs.size());
-  std::transform(ngs.begin(),ngs.end(),cgs.begin(),std::bind2nd(std::plus<mcIdType>(),-1));
+  std::transform(ngs.begin(),ngs.end(),cgs.begin(),std::bind(std::plus<mcIdType>(),std::placeholders::_1,-1));
   if(pfl)
     {
       std::vector< std::pair<mcIdType,mcIdType> > cellParts,nodeParts;