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

Joshua Murphy Joshua.Murphy at lasp.colorado.edu
Tue Jul 24 11:59:30 EDT 2012


Hi Utkarsh,

Thank you for the help!  This indeed explains a lot. I will implement my own file series logic and let you know if I have questions/problems.


Thanks again,
Josh
________________________________________
From: Utkarsh Ayachit [utkarsh.ayachit at kitware.com]
Sent: Tuesday, July 24, 2012 9:55 AM
To: Peter Schmitt
Cc: Joshua Murphy; paraview at paraview.org
Subject: Re: [Paraview] Question on Multiple Ports in Custom Reader (repost from developer list)

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