X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FPlugins%2FMEDReader%2FIO%2FvtkELNOFilter.cxx;h=aee584bc112ec507943b05513336e6813234ab81;hb=f50743d07c99b985dd078aad0fb4bbf7337851cc;hp=02241be23cae167a8d48b04b90ef8d1aef9e9901;hpb=4b015556d5938cc157ae97bdc018d08367c0729a;p=modules%2Fparavis.git diff --git a/src/Plugins/MEDReader/IO/vtkELNOFilter.cxx b/src/Plugins/MEDReader/IO/vtkELNOFilter.cxx index 02241be2..aee584bc 100644 --- a/src/Plugins/MEDReader/IO/vtkELNOFilter.cxx +++ b/src/Plugins/MEDReader/IO/vtkELNOFilter.cxx @@ -24,10 +24,15 @@ #include "vtkPolyDataAlgorithm.h" #include "vtkPolyData.h" #include "vtkIdTypeArray.h" +#include "vtkFieldData.h" +#include "vtkCellData.h" +#include "vtkPointData.h" #include "vtkInformationQuadratureSchemeDefinitionVectorKey.h" #include "vtkQuadratureSchemeDefinition.h" #include "vtkUnstructuredGrid.h" +#include "MEDUtilities.hxx" + //vtkCxxRevisionMacro(vtkELNOFilter, "$Revision: 1.2.2.2 $"); vtkStandardNewMacro(vtkELNOFilter); @@ -116,7 +121,25 @@ int vtkELNOFilter::RequestData(vtkInformation *request, } start += np; } - + //// bug EDF 8407 PARAVIS - mantis 22610 + vtkFieldData *fielddata(usgIn->GetFieldData()); + for(int index = 0; index < fielddata->GetNumberOfArrays(); index++) + { + vtkDataArray *data(fielddata->GetArray(index)); + vtkInformation *info(data->GetInformation()); + const char *arrayOffsetName(info->Get(vtkQuadratureSchemeDefinition::QUADRATURE_OFFSET_ARRAY_NAME())); + bool isELNO(false); + if(arrayOffsetName) + { + vtkCellData *cellData(usgIn->GetCellData()); + vtkDataArray *offData(cellData->GetArray(arrayOffsetName)); + isELNO=offData->GetInformation()->Get(MEDUtilities::ELNO())==1; + } + if(isELNO) + { + pdOut->GetPointData()->AddArray(data); + } + } return 1; }