#include #include #include #include #include #include #include #include #include #include #include #include "cone_rot.h" Widget::Widget(QWidget *parent) : QWidget(parent) { // Push button push_button = new QPushButton; push_button->setText("Rotate"); // QVTK qvtk = new QVTKOpenGLWidget; // Layout layout = new QVBoxLayout; layout->addWidget(push_button); layout->addWidget(qvtk); setLayout(layout); resize(400, 300); // Signal & slot connect(push_button, SIGNAL(clicked()), this, SLOT(rotate_cone())); cone = vtkSmartPointer::New(); actor = vtkSmartPointer::New(); ren = vtkSmartPointer::New(); auto mapper = vtkSmartPointer::New(); auto renwin = vtkSmartPointer::New(); mapper->SetInputConnection(cone->GetOutputPort()); actor->SetMapper(mapper); ren->AddActor(actor); renwin->AddRenderer(ren); #if VTK_MINOR_VERSION < 90 qvtk->SetRenderWindow(renwin); #else qvtk->setRenderWindow(renwin); #endif } Widget::~Widget() { delete push_button; delete qvtk; delete layout; } void Widget::rotate_cone() const { for (auto i = 0; i < 180; ++i) { #if VTK_MINOR_VERSION < 90 qvtk->GetRenderWindow()->Render(); #else qvtk->renderWindow()->Render(); #endif ren->GetActiveCamera()->Azimuth(1); } }