[Paraview] Question on Multiple Ports in Custom Reader (repost from developer list)

Utkarsh Ayachit utkarsh.ayachit at kitware.com
Tue Jul 24 11:55:52 EDT 2012


Josh,

Pete's observation is indeed correct. FileSeriesReader does not
support multiple ports. You can very easily add support to your reader
to take in a list of files, instead of a single file and then
implement the logic for the file-series with the reader itself. All
you need is :
*  AddFileName/RemoveAllFileNames methods on the reader
* "FileNames",  "TimestepValues" properties on the reader proxy
(similar to the one on the file series reader proxy)
* RequestInformation() should then announce the number of timesteps
(look at vtkFileSeriesReader.cxx)
* RequestData() should then respect the requested time ((look at
vtkFileSeriesReader.cxx)

Utkarsh

On Fri, Jul 20, 2012 at 1:41 PM, Peter Schmitt <pschmittml at gmail.com> wrote:
> Hi Josh,
>
> On Thu, Jul 12, 2012 at 10:51 AM, Joshua Murphy
> <Joshua.Murphy at lasp.colorado.edu> wrote:
>
>> Here is a version of my generic reader that will build a non-time series
>> version and a time series version. This way you can observe the behavior.
>> A file is not read in the reader, but it generates sample data on its own...
>> just select any txt file to test. (as noted in previous emails, the
>> information objects are not provided properly to requestInformation and
>> requestData when using the time series version)...
>
> It seems that vtkFileSeriesReader does not support multiple output
> ports.  Quoting Utkarsh from
> http://www.paraview.org/pipermail/paraview/2011-December/023494.html
>
>> vtkFileSeriesReader cannot support multiple output ports. Number of
>> output ports has to be defined in the constructor of a class. Since
>> the internal reader to use is not set until much later,
>> vtkFileSeriesReader cannot report but 1 output port in the construtor
>> and that cannot be changed afterwords.
>>
>> Maybe you can try supclassing the vtkFileSeriesReader to add support
>> for that, but I'm not sure how much effort would it be to support
>> requests from multiple output ports. Alternatively, you may just want
>> to implemented file-series support in your reader.
>
> Does anyone have a good example of file-series support in a reader
> other than vtkFileSeriesReader documented here
> http://www.paraview.org/Wiki/Animating_legacy_VTK_file_series#Making_custom_readers_work_with_file_series
> ?
>
> Cheers,
> Pete


More information about the ParaView mailing list