From: Anthony Geay Date: Fri, 26 Apr 2024 08:20:24 +0000 (+0200) Subject: [EDF30038] : Fix problem of FieldsStatus forwarding in spatial series context X-Git-Tag: V9_13_0a1~2 X-Git-Url: http://git.salome-platform.org/gitweb/?a=commitdiff_plain;h=20ef99c05b22db8d7c0d545f2093d665a00ba9cd;p=modules%2Fparavis.git [EDF30038] : Fix problem of FieldsStatus forwarding in spatial series context --- diff --git a/src/Plugins/MEDReader/plugin/MEDReaderIO/vtkFileSeriesGroupReader.cxx b/src/Plugins/MEDReader/plugin/MEDReaderIO/vtkFileSeriesGroupReader.cxx index 722aef9a..5adfb5b0 100644 --- a/src/Plugins/MEDReader/plugin/MEDReaderIO/vtkFileSeriesGroupReader.cxx +++ b/src/Plugins/MEDReader/plugin/MEDReaderIO/vtkFileSeriesGroupReader.cxx @@ -195,12 +195,12 @@ int vtkFileSeriesGroupReader::RequestData(vtkInformation* vtkNotUsed(request), for (int iField = 0; iField < exposedReader->GetNumberOfFieldsTreeArrays(); iField++) { - const char* name = exposedReader->GetFieldsTreeArrayName(iField); + const char* name = exposedReader->GetFieldsTreeArrayName(iField); localReader->SetFieldsStatus(name, exposedReader->GetFieldsTreeArrayStatus(name)); } for (int iTimes = 0; iTimes < exposedReader->GetNumberOfTimesFlagsArrays(); iTimes++) { - const char* name = exposedReader->GetTimesFlagsArrayName(iTimes); + const char* name = exposedReader->GetTimesFlagsArrayName(iTimes); localReader->SetTimesFlagsStatus(name, exposedReader->GetTimesFlagsArrayStatus(name)); } localReader->GenerateVectors(exposedReader->GetGenerateVect()); diff --git a/src/Plugins/MEDReader/plugin/MEDReaderIO/vtkMEDReader.cxx b/src/Plugins/MEDReader/plugin/MEDReaderIO/vtkMEDReader.cxx index b15de13c..5fbe1221 100755 --- a/src/Plugins/MEDReader/plugin/MEDReaderIO/vtkMEDReader.cxx +++ b/src/Plugins/MEDReader/plugin/MEDReaderIO/vtkMEDReader.cxx @@ -407,13 +407,20 @@ const char* vtkMEDReader::GetFieldsTreeArrayName(int index) //------------------------------------------------------------------------------ int vtkMEDReader::GetFieldsTreeArrayStatus(const char* name) -{ +{// EDF30038 : This method can alterate this->FieldSelection ! return this->FieldSelection->ArrayIsEnabled(name); } //------------------------------------------------------------------------------ void vtkMEDReader::SetFieldsStatus(const char* name, int status) { + // EDF30038 : GetFieldsTreeArrayStatus does not inform if the name entry already exists. So start to deal with this + if( ! this->FieldSelection->ArrayExists( name ) ) + { + this->FieldSelection->SetArraySetting( name, status ); + this->Modified(); + return ; + } if (this->GetFieldsTreeArrayStatus(name) != status) { if (status)