[vtkusers] Help updating a QVTKWidget
Garrett Larson
garrett at unc.edu
Mon Nov 23 08:04:23 EST 2009
I've created an application that contains a QVTKWidget linked to a
vtkImageViewer2. Alterations to the vtkImageData before initializing the
vtkImageViewer2 are visible as soon as I call viewer->Render(), but any
changes I make later do not appear until I click inside the widget. In fact,
this happens even if I run the exact same sequence of methods to make a new
vtkImageViewer2 (as below). Is this a result of the QVTKWidget caching the
image data, and if so, how can I make it update? Thanks!
==================
gridData = vtkImageData::New();
// etc.
gridData->
SetScalarTypeToFloat();
gridData->AllocateScalars();
gridData->GetPointData()->GetScalars()->FillComponent(0,0);
// The vtkImageData *gridData is modified via calls to SetScalarComponent...
gridData->SetScalarComponentFromDouble((int)pos[0],(int)pos[1],0,0,intensity);
viewer = vtkImageViewer2::New();
viewer->SetInput(gridData);
viewer->SetupInteractor(this->ui->qvtkWidget->GetInteractor());
viewer->SetRenderWindow(this->ui->qvtkWidget->GetRenderWindow());
viewer->Render();
// ... and the modified image is displayed correctly.
// But if the vtkImageData *gridData is further modified via calls to
SetScalarComponent...
gridData->SetScalarComponentFromDouble((int)pos[0],(int)pos[1],0,0,intensity);
viewer = vtkImageViewer2::New();
viewer->SetInput(gridData);
viewer->SetupInteractor(this->ui->qvtkWidget->GetInteractor());
viewer->SetRenderWindow(this->ui->qvtkWidget->GetRenderWindow());
viewer->Render();
// ...the new changes are still not visible until I click the image.
===================
-Garrett Larson
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.vtk.org/pipermail/vtkusers/attachments/20091123/10648a1a/attachment.htm>
More information about the vtkusers
mailing list