[vtk-developers] interesting problem with vtkObject Update()

Charl P. Botha c.p.botha at its.tudelft.nl
Wed Feb 19 17:45:53 EST 2003


Hello there Lisa,

On Wed, Feb 19, 2003 at 05:27:42PM -0500, Lisa Avila wrote:
> This problem is not limited to the Update method - any "loop" (entering the 
> same method twice in the call stack) would likely cause the same problem. 
> Recursive rendering is a common problem - and is usually the root cause of 
> your problem. We've run into this frequently in our GUI + VTK applications 
> and we handle it by having an application-level render method (and we are 
> sure that all paths to the lower renderwindow render method lead through 
> this one) and we protect that method from recursive processing. We also 
> take care with our observer relationships to ensure that no loops occur.

I'm usually very careful with this type of thing.  What got me here were the
Render calls in the expose/paint event handlers of the
wxVTKRenderWindowInteractor python module.

> Locking the Update method of an object would not really solve your problem 
> since you would still have a recursive render (which is BAD!)

Although it does seem that VTK has a bug with regards to this.  The
UpdateInformation() and UpdateData() methods in vtkSource are protected
(locked) with an "Updating" variable, but this is reset too early.

I agree with your philosophy although I do feel strongly that VTK should
have some rudimentary level of loop protection.  It seems that more
developers agree, at least judging by the code already present.  Now onto
your next mail... :)

Thanks,
Charl

-- 
charl p. botha http://cpbotha.net/ http://visualisation.tudelft.nl/



More information about the vtk-developers mailing list