diff --git a/src/paraview-plugins/PV3Readers/PV3FoamReader/vtkPV3Foam/vtkPV3FoamUpdateInfo.C b/src/paraview-plugins/PV3Readers/PV3FoamReader/vtkPV3Foam/vtkPV3FoamUpdateInfo.C index 001db69e205b25c2208bb9e0a509db420b47fe5a..36086551ccf115d05eb309121e90a612279c5fbc 100644 --- a/src/paraview-plugins/PV3Readers/PV3FoamReader/vtkPV3Foam/vtkPV3FoamUpdateInfo.C +++ b/src/paraview-plugins/PV3Readers/PV3FoamReader/vtkPV3Foam/vtkPV3FoamUpdateInfo.C @@ -400,25 +400,30 @@ void Foam::vtkPV3Foam::updateInfoSets Info<< "<beg> Foam::vtkPV3Foam::updateInfoSets" << endl; } - // Add names of sets - IOobjectList objects + // Add names of sets. Search for last time directory with a sets + // subdirectory. Take care not to search beyond the last mesh. + + word facesInstance = dbPtr_().findInstance ( - dbPtr_(), - dbPtr_().findInstance(meshDir_, "faces", IOobject::READ_IF_PRESENT), - meshDir_/"sets" + meshDir_, + "faces", + IOobject::READ_IF_PRESENT ); + word setsInstance = dbPtr_().findInstance + ( + meshDir_/"sets", + word::null, + IOobject::READ_IF_PRESENT, + facesInstance + ); + + IOobjectList objects(dbPtr_(), setsInstance, meshDir_/"sets"); + if (debug) { Info<< " Foam::vtkPV3Foam::updateInfoSets read " - << objects.names() << " from " - << dbPtr_().findInstance - ( - meshDir_, - "faces", - IOobject::READ_IF_PRESENT - ) - << endl; + << objects.names() << " from " << setsInstance << endl; }