[vtkusers] Animation of multiple input files in VTK

Robert Maynard robert.maynard at kitware.com
Thu Jul 7 10:50:53 EDT 2011


That is correct we have cache keepers (
http://www.paraview.org/ParaView3/Doc/Nightly/html/classvtkPVCacheKeeper.html
) that are placed at the end of the data pipeline to store the final
results of each time step.

On Thu, Jul 7, 2011 at 7:04 AM, Dominik Szczerba <dominik at itis.ethz.ch> wrote:
>> When I load this sequence in Paraview, it is able to run very smoothly
>> (after the first run, which takes some time) while still allowing the user
>> to interact. Does anyone know how Paraview does this?
>
> Probably by caching. Why not precompute marching cubes prior to rendering?
>
> Dominik
>
>>
>> Tijmen
>>
>> On Wed, Jul 6, 2011 at 5:46 PM, Shashwath T.R. <trshash at gmail.com> wrote:
>>>
>>> Why not have multiple vtkMarchingCubes instances - one for each input, and
>>> then multiple mapper/actor sets? You could select which one you want to work
>>> on, and make the rest invisible...
>>> Shash
>>>
>>> On Wed, Jul 6, 2011 at 4:37 PM, Tijmen Klein <T.R.Klein at student.rug.nl>
>>> wrote:
>>>>
>>>> This is what I do. I set up the whole scene, load in all the different
>>>> readers, and connect the first reader to the vtkMarchingCubes. Then I use a
>>>> timer that calls an update function every second. This update function sets
>>>> the inputconnection of the vtkMarchingCubes to the current reader
>>>> (contours->setInputConnection(reader[current]->getOutputPort()). This is
>>>> working, but results in small (but very noticable) hickups in the
>>>> interaction. I think this is because the isosurfaces have to be
>>>> re-calculated every time. That's why I think that I will need an array of
>>>> vtkMarchingCubes too.
>>>>
>>>> Tijmen
>>>>
>>>> On Wed, Jul 6, 2011 at 11:02 AM, Dominik Szczerba <dominik at itis.ethz.ch>
>>>> wrote:
>>>>>
>>>>> You should update your reader only from a callback function once you
>>>>> have your scene/camera/etc set up...
>>>>>
>>>>> Dominik
>>>>>
>>>>> On Wed, Jul 6, 2011 at 10:51 AM, Tijmen Klein <T.R.Klein at student.rug.nl>
>>>>> wrote:
>>>>> > Thank you for the reply. First of all, I'm not trying to export a
>>>>> > animation;
>>>>> > it should be realtime and allowing the user to navigate the scene.
>>>>> >
>>>>> > I'm currently applying the fist technique (update the reader in a
>>>>> > loop).
>>>>> > Technically this works fine, but it is really slow and also blocks the
>>>>> > mean
>>>>> > thread of the program (the program simply freezes when switching
>>>>> > between 2
>>>>> > frames). A possible solution that I came up with is the following:
>>>>> > create N
>>>>> > pipelines (up to the mapper), where N is the number of frames. This
>>>>> > mean I
>>>>> > can load the data first, create the isosurfaces and then based on the
>>>>> > current time let the actor point to the corresponding mapper. This
>>>>> > would
>>>>> > mean that all the calculations are already completed.
>>>>> >
>>>>> > Is this a viable solution? It feels a bit hack-ish to do it like this.
>>>>> >
>>>>> > Tijmen
>>>>> >
>>>>> > On Tue, Jul 5, 2011 at 4:00 PM, Dominik Szczerba
>>>>> > <dominik at itis.ethz.ch>
>>>>> > wrote:
>>>>> >>
>>>>> >> There are a few possibilities. The simplest would be to update the
>>>>> >> reader in a loop and dumping screen renderings. More sophisticated
>>>>> >> would be to import them first into a temporal dataset and then
>>>>> >> request
>>>>> >> a specific time value.
>>>>> >>
>>>>> >> Dominik
>>>>> >>
>>>>> >> On Tue, Jul 5, 2011 at 2:57 PM, Tijmen Klein
>>>>> >> <T.R.Klein at student.rug.nl>
>>>>> >> wrote:
>>>>> >> > I'm trying to animate multiple input files. These files are in the
>>>>> >> > legacy
>>>>> >> > VTK format (.vtk), and named filename[x].vtk, where [x] is an
>>>>> >> > integer. A
>>>>> >> > contourfilter is used to generate isosurfaces, and these
>>>>> >> > isosurfaces
>>>>> >> > should
>>>>> >> > be animated.
>>>>> >> >
>>>>> >> > This is behaviour that is quite easy to achieve in Paraview (open
>>>>> >> > the
>>>>> >> > files,
>>>>> >> > apply contour filter, choose a frame or click play). How can
>>>>> >> > something
>>>>> >> > similar be achieved in VTK? It should be possible to create a
>>>>> >> > time-dependent
>>>>> >> > animation, but also manually set the current frame. I thought of
>>>>> >> > creating
>>>>> >> > multiple InputReaders, and have the 'current' reader's outputport
>>>>> >> > connected
>>>>> >> > to the input port of the contour filter. But I think this would not
>>>>> >> > be
>>>>> >> > very
>>>>> >> > efficient, since it's not possible to cache the results in this
>>>>> >> > way.
>>>>> >> > This
>>>>> >> > would mean that all the calculations happen again when the
>>>>> >> > animations
>>>>> >> > restarts from frame 1. What would be a better solution?
>>>>> >> >
>>>>> >> > Cheers,
>>>>> >> > Tijmen
>>>>> >> >
>>>>> >> > _______________________________________________
>>>>> >> > Powered by www.kitware.com
>>>>> >> >
>>>>> >> > Visit other Kitware open-source projects at
>>>>> >> > http://www.kitware.com/opensource/opensource.html
>>>>> >> >
>>>>> >> > Please keep messages on-topic and check the VTK FAQ at:
>>>>> >> > http://www.vtk.org/Wiki/VTK_FAQ
>>>>> >> >
>>>>> >> > Follow this link to subscribe/unsubscribe:
>>>>> >> > http://www.vtk.org/mailman/listinfo/vtkusers
>>>>> >> >
>>>>> >> >
>>>>> >
>>>>> >
>>>>
>>>>
>>>> _______________________________________________
>>>> Powered by www.kitware.com
>>>>
>>>> Visit other Kitware open-source projects at
>>>> http://www.kitware.com/opensource/opensource.html
>>>>
>>>> Please keep messages on-topic and check the VTK FAQ at:
>>>> http://www.vtk.org/Wiki/VTK_FAQ
>>>>
>>>> Follow this link to subscribe/unsubscribe:
>>>> http://www.vtk.org/mailman/listinfo/vtkusers
>>>>
>>>
>>
>>
>> _______________________________________________
>> Powered by www.kitware.com
>>
>> Visit other Kitware open-source projects at
>> http://www.kitware.com/opensource/opensource.html
>>
>> Please keep messages on-topic and check the VTK FAQ at:
>> http://www.vtk.org/Wiki/VTK_FAQ
>>
>> Follow this link to subscribe/unsubscribe:
>> http://www.vtk.org/mailman/listinfo/vtkusers
>>
>>
> _______________________________________________
> Powered by www.kitware.com
>
> Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html
>
> Please keep messages on-topic and check the VTK FAQ at: http://www.vtk.org/Wiki/VTK_FAQ
>
> Follow this link to subscribe/unsubscribe:
> http://www.vtk.org/mailman/listinfo/vtkusers
>



-- 
Robert Maynard



More information about the vtkusers mailing list