[vtkusers] QVTKWidget2 and vtkImageViewer2
Jonathan Morra
jonmorra at gmail.com
Wed Feb 8 16:12:30 EST 2012
When I try this I get
'vtkImageViewer2::SetRenderWindow' : cannot convert parameter 1 from
'vtkGenericOpenGLRenderWindow *' to 'vtkRenderWindow *'
Types pointed to are unrelated; conversion requires reinterpret_cast,
C-style cast or function-style cast
Can I just do a static cast?
On Wed, Feb 8, 2012 at 12:21 PM, Clinton Stimpson <clinton at elemtech.com>wrote:
> On Wednesday, February 08, 2012 12:05:35 pm Jonathan Morra wrote:
> > I am trying to paint on top of a QVTKWidget and am having trouble doing
> so.
> > I have tried to follow the instructions at
> > http://vtk.1045678.n5.nabble.com/QVTKWidget-paintEvent-td2852642.html.
> But
> > have since had no luck with QVTKWidget. I tried to swap QVTKWidget with
> > QVTKWidget2, but was also unsuccessful there. I was hoping
> > 1. If someone could provide a very small example of using QPainter with
> > QVTKWidget and vtkImageViewer2.
> > 2. A small example of using QVTKWidget2 with vtkImageViewer2.
> > 3. A description of what's different between QVTKWidget and QVTKWidget2?
>
> The main difference is that QVTKWidget2 derives from QGLWidget and comes
> with
> the functionality of QGLWidget. For general usage, there probably isn't
> much
> different between the two.
>
> Here's a way to use QPainter with QVTKWidget2:
>
> class MyQVTKWidget2 : public QVTKWidget2
> {
> public:
> MyQVTKWidget2(QWidget* p = NULL) : QVTKWidget2(p)
> {
> // don't clear the scene when QPainter is constructed, since it will be
> used to add
> // to the scene
> setAutoFillBackground(false);
> }
>
> // overload Frame() to add our painting on top of VTK's completed
> rendering
> void Frame()
> {
> QPainter p(this);
> p.drawLine(0,0,100,100);
> p.end();
>
> QVTKWidget2::Frame();
> }
> };
>
>
> To use that with vtkImageViewer2:
>
> int main(int argc, char** argv)
> {
> QApplication app(argc, argv);
>
> MyQVTKWidget2 widget;
> widget.resize(256,256);
>
> vtkPNGReader* reader = vtkPNGReader::New();
> char* fname = vtkTestUtilities::ExpandDataFileName(argc, argv,
> "Data/vtk.png");
> reader->SetFileName(fname);
> delete [] fname;
>
> vtkImageViewer2* image_view = vtkImageViewer2::New();
> image_view->SetInputConnection(reader->GetOutputPort());
>
> image_view->SetupInteractor(widget.GetRenderWindow()->GetInteractor());
> image_view->SetRenderWindow(widget.GetRenderWindow());
>
> image_view->SetColorLevel(138.5);
> image_view->SetColorWindow(233);
>
> widget.show();
>
> app.exec();
>
> image_view->Delete();
> reader->Delete();
>
> return 0;
> }
>
>
> --
> Clinton Stimpson
> Elemental Technologies, Inc
> Computational Simulation Software, LLC
> www.csimsoft.com
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.vtk.org/pipermail/vtkusers/attachments/20120208/c958f2e4/attachment.htm>
More information about the vtkusers
mailing list