[vtkusers] QVTKWidget + vtkRectilinearWipeWidget
clinton@elemtech.com
clinton at elemtech.com
Sat Jun 18 16:14:17 EDT 2011
You should use the Qt based vtkRenderWindowInteractor, QVTKInteractor. QVTKWidget makes one for you already, or you can specify one yourself.
Clint
----- Reply message -----
From: "florian" <florian at tricksoft.de>
Date: Thu, Jun 16, 2011 5:39 am
Subject: [vtkusers] QVTKWidget + vtkRectilinearWipeWidget
To: <vtkusers at vtk.org>
Hallo,
Im trying to use a vtkRectilinearWipeWidget in my Qt Application.
When I create a new vtkRenderWindowInteractor everything works fine and
i get a completely working widget in a seperate window. But I want the
widget to be within my Application, where i created a qvtkwidget.
The problem is, when i run my application the vtkRectilinearWipe
appears, but all the widget features are missing (like the sliders to
move the split).
Instead i'm able to rotate the 2D Image with the mouse.
Below I pasted my code (Pastebin alternatively)
I would be really thankful if somebody could take a look at it and maybe
figure out what I'm doing wrong.
http://pastebin.com/ufaiyPzv
vtkWidgetFixed1 = new QVTKWidget();
m_pMainWindow->setCentralWidget(vtkWidgetFixed1);
vtkImageConstantPad* pad1 =
vtkImageConstantPad::New();
pad1->SetInput(volume1->getData());
pad1->SetConstant(0.0);
pad1->SetOutputWholeExtent(0, 511, 0, 511, 0, 0);
vtkImageConstantPad* pad2 = vtkImageConstantPad::New();
pad2->SetInput(volume2->getData());
pad2->SetConstant(0.0);
pad2->SetOutputWholeExtent(0, 511, 0, 511, 0, 0);
wipe = vtkSmartPointer<vtkImageRectilinearWipe>::New();
wipe->SetInput(0,pad1->GetOutput());
wipe->SetInput(1,pad2->GetOutput());
wipe->SetPosition(10,256);
wipe->SetWipe(0);
vtkSmartPointer<vtkRenderer> ren1 =
vtkSmartPointer<vtkRenderer>::New();
vtkSmartPointer<vtkRenderWindow> renWin =
vtkWidgetFixed1->GetRenderWindow();
vtkSmartPointer<vtkRenderWindowInteractor> iren =
vtkWidgetFixed1->GetInteractor();
renWin->AddRenderer(ren1);
renWin->SetInteractor(iren);
vtkImageMapToWindowLevelColors *m_WLFilter =
vtkImageMapToWindowLevelColors::New();
m_WLFilter->SetOutputFormatToLuminance();
m_WLFilter->SetInput( wipe->GetOutput() );
m_WLFilter->SetWindow(1000.0);
m_WLFilter->SetWindow(400.0);
m_WLFilter->UpdateWholeExtent();
vtkSmartPointer<vtkImageActor> wipeActor =
vtkSmartPointer<vtkImageActor>::New();
wipeActor->SetInput(m_WLFilter->GetOutput());
vtkSmartPointer<vtkRectilinearWipeWidget> wipeWidget =
vtkSmartPointer<vtkRectilinearWipeWidget>::New();
wipeWidget->SetInteractor(iren);
vtkRectilinearWipeRepresentation *wipeWidgetRep=
static_cast<vtkRectilinearWipeRepresentation
*>(wipeWidget->GetRepresentation());
wipeWidgetRep->SetImageActor(wipeActor);
wipeWidgetRep->SetRectilinearWipe(wipe);
wipeWidgetRep->GetProperty()->SetLineWidth(2.0);
wipeWidgetRep->GetProperty()->SetOpacity(0.75);
ren1->AddActor(wipeActor);
ren1->SetBackground(0.1, 0.2, 0.4);
iren->Initialize();
renWin->Render();
wipeWidget->On();
_______________________________________________
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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.vtk.org/pipermail/vtkusers/attachments/20110618/78056358/attachment.htm>
More information about the vtkusers
mailing list