From f6cca2e729cf25b5cb0ba6c503ded5a2ead3ab44 Mon Sep 17 00:00:00 2001 From: Anthony Geay Date: Fri, 9 Dec 2022 13:23:36 +0100 Subject: [PATCH] [EDF26573] : Fix bug in 9.10.0. Reactivate static mesh cache usage, involuntary desactivated on file series implementation. --- .../MEDReaderIO/vtkFileSeriesGroupReader.cxx | 1 - .../vtkStaticDataSetSurfaceFilter.cxx | 14 ++++++-------- 2 files changed, 6 insertions(+), 9 deletions(-) diff --git a/src/Plugins/MEDReader/plugin/MEDReaderIO/vtkFileSeriesGroupReader.cxx b/src/Plugins/MEDReader/plugin/MEDReaderIO/vtkFileSeriesGroupReader.cxx index 28f64fcd..d666796d 100644 --- a/src/Plugins/MEDReader/plugin/MEDReaderIO/vtkFileSeriesGroupReader.cxx +++ b/src/Plugins/MEDReader/plugin/MEDReaderIO/vtkFileSeriesGroupReader.cxx @@ -136,7 +136,6 @@ int vtkFileSeriesGroupReader::RequestData(vtkInformation* vtkNotUsed(request), { // Make sure the information is up to date this->ReaderSetFileName(this->GetFileName(0)); - vtkMEDReader::SafeDownCast(this->Reader)->ReloadInternals(); this->Reader->UpdateInformation(); this->Reader->UpdateTimeStep(time); diff --git a/src/Plugins/StaticMesh/plugin/StaticMeshModule/vtkStaticDataSetSurfaceFilter.cxx b/src/Plugins/StaticMesh/plugin/StaticMeshModule/vtkStaticDataSetSurfaceFilter.cxx index 43b701f8..5d923488 100644 --- a/src/Plugins/StaticMesh/plugin/StaticMeshModule/vtkStaticDataSetSurfaceFilter.cxx +++ b/src/Plugins/StaticMesh/plugin/StaticMeshModule/vtkStaticDataSetSurfaceFilter.cxx @@ -113,21 +113,19 @@ int vtkStaticDataSetSurfaceFilter::UnstructuredGridExecute(vtkDataSet* input, vt cellIds->SetId(i, origCellArray->GetTuple1(i)); } - // Remove array that have disappeared from input + // EDF26573 : Initially At the begining Remove array that have disappeared from input + // But after investigation ShallowCopy of Cache leads to a same array on input/output and leads to conflicts + // on inArr->GetTuples(cellIds.Get(), outArr); operation. So here a deepCopy of arrays is done inconditionnaly for (int iArr = outCD->GetNumberOfArrays() - 1; iArr >= 0; iArr--) { - vtkAbstractArray* inArr = inCD->GetAbstractArray(outCD->GetArrayName(iArr)); - if (!inArr) - { - outCD->RemoveArray(iArr); - } + outCD->RemoveArray(iArr); } for (int iArr = 0; iArr < inCD->GetNumberOfArrays(); iArr++) { vtkAbstractArray* outArr = outCD->GetAbstractArray(inCD->GetArrayName(iArr)); - if (outArr) - { + if(outArr) + {// EDF26573 : normally this condition is never fetched inCD->GetAbstractArray(iArr)->GetTuples(cellIds.Get(), outArr); } else -- 2.39.2