[vtkusers] QVTKWidget + volume misbehavior
Dominik Szczerba
dominik at itis.ethz.ch
Wed Nov 12 13:58:36 EST 2008
I traced the problem down to vtkOpenGLRenderer (being called by
Render()). It is calling this->UpdateGeometry() which in turn sets my
image's spacing (to the old one!).
1) Why should rendering change the rendered object?
2) Am I not missing something more than image->Modified() here? I tried
UpdateInformation() etc. manually with the same result: resetting the
spacing to an old (wrong) one.
I believe this is a bug, am just wondering how to pose it for a most
efficient fix.
Dominik
Dominik Szczerba wrote:
> I am doing something as trivial as:
>
> // record existing spacing
> image->GetSpacing(old_spacing);
>
> // modify it
> image->SetSpacing(new_spacing);
> image->Modified();
>
> // refresh display
> vtkWidget->GetRenderWindow()->Render();
>
> // debug
> image->GetSpacing(current_spacing);
>
>
> which behaves correctly, with current_spacing = new_spacing and my
> outline actor responding to the changes.
>
> The moment I call:
>
> ren1->AddVolume(volume); // volume is representation of image
>
> I can properly see my volume only before calling Render():
> current_spacing gets reset back to old_spacing right after.
>
> 1) Am I doing something obviously wrong (like I am not allowed to modify
> a registered volume)
> 2) What is caching the original image properties and why?
>
> Thanks for any hints,
> Dominik
>
--
Dominik Szczerba, PhD
Computational Physics Group
IT'IS Foundation
http://www.itis.ethz.ch
More information about the vtkusers
mailing list