Salome HOME
Generalization of MEDCouplingUMesh::fillCellIdsToKeepFromNodeIds and MEDFileUMesh...
authorAnthony GEAY <anthony.geay@edf.fr>
Tue, 13 Oct 2020 19:25:43 +0000 (21:25 +0200)
committerAnthony GEAY <anthony.geay@edf.fr>
Tue, 13 Oct 2020 19:25:43 +0000 (21:25 +0200)
src/MEDCoupling/MEDCouplingUMesh_internal.cxx
src/MEDLoader/MEDFileMeshLL.cxx

index 031a6d5eacf92102d189543f4ae45fe72c7f2c97..c1a954a630c1f873b64e86176a2d6280c0e41baa 100755 (executable)
@@ -510,6 +510,11 @@ void MEDCouplingUMesh::fillCellIdsToKeepFromNodeIds(const mcIdType *begin, const
   MCAuto<DataArrayIdType> cellIdsKept=DataArrayIdType::New(); cellIdsKept->alloc(0,1);
   checkConnectivityFullyDefined();
   mcIdType tmp=-1;
+  if(getNodalConnectivity()->empty())
+  {
+    cellIdsKeptArr=cellIdsKept.retn();
+    return;
+  }
   mcIdType sz=getNodalConnectivity()->getMaxValue(tmp); sz=std::max(sz,ToIdType(0))+1;
   std::vector<bool> fastFinder(sz,false);
   for(const mcIdType *work=begin;work!=end;work++)
index 733d7e2b376368b52dc5de881e52de1f57280ab0..5809f35957bd23105ace385fdcecc0ed59fdb42a 100644 (file)
@@ -1496,8 +1496,17 @@ void MEDFileUMeshSplitL1::TraduceFamilyNumber(const std::vector< std::vector<mcI
 void MEDFileUMeshSplitL1::computeRevNum() const
 {
   mcIdType pos;
-  mcIdType maxValue=_num->getMaxValue(pos);
-  _rev_num=_num->invertArrayN2O2O2N(maxValue+1);
+  if(!_num->empty())
+  {
+    mcIdType maxValue=_num->getMaxValue(pos);
+    _rev_num=_num->invertArrayN2O2O2N(maxValue+1);
+  }
+  else
+  {
+    _rev_num = DataArrayIdType::New();
+    _rev_num->alloc(0,1);
+  }
+  
 }
 
 //=