[vtkusers] updating vtkImageData ?
Anders Wallin
anders.e.e.wallin at gmail.com
Mon Feb 13 07:12:03 EST 2012
I'm not sure exactly what modification you suggest.
This slightly modified code shows exactly the same behavior as before:
http://pastebin.com/8BVZViQ3
Anders
> Can you remove
> ren.AddActor( self.ia )
> from the class and add it after adding the renderer?
> Jothy
>
>
> On Sat, Feb 11, 2012 at 9:07 AM, Anders Wallin <anders.e.e.wallin at gmail.com>
> wrote:
>>
>> Here is a more realistic example of what I want to do:
>> http://pastebin.com/3Wz8C8yC
>>
>> Now I see different behavior between:
>>
>> myim = MyImage(ren) # create vtkImageActor, add it to ren
>> renWin.Render() # when Render() is called here, we don't see
>> the results of modify()
>> myim.modify() # this modifies the vtkCharArray of the image
>> renWin.Render()
>>
>> and
>>
>> myim = MyImage(ren) # create vtkImageActor, add it to ren
>> # without Render() here , the results of modify() are visible
>> myim.modify() # this modifies the vtkCharArray of the image
>> renWin.Render() # now we see a modified image!
>>
>>
>> Confused.
>> Anders
>>
>> On Fri, Feb 10, 2012 at 11:01 PM, David Doria <daviddoria at gmail.com>
>> wrote:
>> >>
>> >> It turns out there is some subtle difference between
>> >> vtkRenderer.Render() and vtkRenderWindow.Render()
>> >>
>> >> This example shows the behavior:
>> >> http://pastebin.com/KPFpkCKU
>> >> On my machine I see an unmodified image with "renWin.Render()" and a
>> >> modified image with "ren.Render()"
>> >> I had previously used renWin.Render() in all my vtk code, but I have
>> >> always worked with polydata only.
>> >
>> >
>> > Quoting David Gobbi from an old mailing list post that I've used ever
>> > since:
>> >
>> > "You should never, ever call renderer->Render(). That method is only
>> > meant to be called by the vtkRenderWindow. The documentation says
>> > so quite clearly. By calling it you are probably causing some
>> > timestamps
>> > to be set (indicating that all actors in the renderer have rendered),
>> > but
>> > you
>> > aren't actually doing any rendering. Then, when you call
>> > renderWindow->Render() it sees that those timestamps have been updated
>> > and thinks that there is nothing to be done."
>> >
>> > I'm not sure why renderWindow->Render() is not working for you in this
>> > case.
>> > Any Python VTK experts out there?
>> _______________________________________________
>> 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
>
>
>
>
> --
> Jothy
>
More information about the vtkusers
mailing list