[vtkusers] vtkSeedWidget: strange behavior when used in Qt
    Miguel Sotaquirá 
    msotaquira at gmail.com
       
    Sat Mar 10 12:23:39 EST 2012
    
    
  
Hi all,
I'm implementing a Qt-VTK application for visualizing a 3-D volume and
its corresponding x, y, z slice planes. This application is based on
QtVTKRenderWindows.cxx (Examples/GUI/Qt) of VTK's devel version.
In this application I have 4 QVTKWidget panels for visualizing the
three 2-D slices ("viewerX", "viewerY", "viewerZ") and the 3-D volume
("viewer3D"). What I'm trying to do now is to use vtkSeedWidget in
order to select a set of fiducial points from any of the 2-D
cut-planes. I've implemented a callback (based on
http://www.vtk.org/Wiki/VTK/Examples/Cxx/Widgets/vtkSeedWidget
example) and here's the snippet I'm using for placing widgets within
the "viewer3D" panel:
1	this->seedWidget = vtkSmartPointer<vtkSeedWidget>::New();
2	this->seedWidget->SetInteractor(this->ui->viewer3D->GetInteractor());
3	this->seedWidget->SetRepresentation(this->seedWidgetRepresentation);
4	this->seedWidgetCallback = vtkSmartPointer<vtkSeedCallback>::New();
5	this->seedWidgetCallback->SetWidget(this->seedWidget);
6	this->seedWidget->AddObserver(vtkCommand::PlacePointEvent,
		this->seedWidgetCallback);
7	this->seedWidget->AddObserver(vtkCommand::InteractionEvent,
		this->seedWidgetCallback);
8	this->seedWidget->On();
The problem I'm having is that seed placement worksonly when I set the
interactor (line 2 in previous snippet) to "viewer3D". Thus, I'm able
to place seed points only in the 3-D volume, but not in individual 2-D
slices. When changing this interactor to any of the other QVTKWidgets
(for example by setting
this->seedWidget->SetInteractor(this->ui->viewerX->GetInteractor()) I
get nothing,  is simply as if vtkSeedWidget wouln't be there.
How can I use vtkSeedWidget for placing seed points ONLY in the 2-D slices?
Thanks for any suggestions,
Miguel
    
    
More information about the vtkusers
mailing list