Salome HOME
Fix MEDReader to be able to read big meshes with connectivity ids length > 2**31... cbr/fix_loading_med_file_int64_connectivity
authorChristophe Bourcier <christophe.bourcier@cea.fr>
Mon, 7 Dec 2020 06:46:27 +0000 (07:46 +0100)
committerChristophe Bourcier <christophe.bourcier@cea.fr>
Mon, 7 Dec 2020 06:46:27 +0000 (07:46 +0100)
src/Plugins/MEDReader/plugin/MEDLoaderForPV/MEDFileFieldRepresentationTree.cxx

index 87404a49b1edd16e034c034c1ac63268e54473de..a8396b31292d35b43680329a20f0477e0d08bad3 100644 (file)
@@ -270,7 +270,7 @@ void AssignDataPointerToVTK(typename MEDFileVTKTraits<T>::VtkType *vtkTab, typen
 
 // here copy is always assumed.
 template<class VTKT, class MCT>
-void AssignDataPointerOther(VTKT *vtkTab, MCT *mcTab, int nbElems)
+void AssignDataPointerOther(VTKT *vtkTab, MCT *mcTab, vtkIdType nbElems)
 {
   typedef typename VTKT::ValueType VTKType;
   if ( sizeof( VTKType ) == sizeof( typename MCT::Type ))
@@ -732,7 +732,7 @@ vtkUnstructuredGrid *MEDFileFieldRepresentationLeaves::buildVTKInstanceNoTimeInt
   MCAuto<DataArrayByte> typesSafe(typesMC);
   MCAuto<DataArrayIdType> cellLocationsSafe(cellLocationsMC),cellsSafe(cellsMC),faceLocationsSafe(faceLocationsMC),facesSafe(facesMC);
   //
-  int nbOfCells(typesSafe->getNbOfElems());
+  vtkIdType nbOfCells(typesSafe->getNbOfElems());
   vtkUnstructuredGrid *ret(vtkUnstructuredGrid::New());
   vtkUnsignedCharArray *cellTypes(vtkUnsignedCharArray::New());
   AssignDataPointerOther<vtkUnsignedCharArray,DataArrayByte>(cellTypes,typesSafe,nbOfCells);