예제 #1
0
void RendererImplementationBase3D::activate(t_QVTKWidget & qvtkWidget)
{
    RendererImplementation::activate(qvtkWidget);

    initialize();

    // make sure to reuse the existing render window interactor
    m_renderWindow->SetInteractor(qvtkWidget.GetInteractorBase());
    // pass my render window to the qvtkWidget
    qvtkWidget.SetRenderWindow(m_renderWindow);

    qvtkWidget.GetInteractorBase()->SetInteractorStyle(m_interactorStyle);

    assignInteractor();

    m_cursorCallback->setQWidget(&qvtkWidget);

    renderView().setInfoTextCallback([this] () -> QString
    {
        m_pickerHighlighter->requestPickedInfoUpdate();
        return m_pickerHighlighter->pickedInfo();
    });

    updateAxisLabelFormat(renderView().currentCoordinateSystem());
}
예제 #2
0
void RendererImplementationPlot::activate(t_QVTKWidget & qvtkWidget)
{
    initialize();

    // see also: vtkRenderViewBase documentation
    m_contextView->SetInteractor(qvtkWidget.GetInteractorBase());
    qvtkWidget.SetRenderWindow(m_renderWindow);
}
예제 #3
0
void RendererImplementationPlot::deactivate(t_QVTKWidget & qvtkWidget)
{
    // the render window belongs to the context view
    qvtkWidget.SetRenderWindow(nullptr);
    // the interactor is provided by the qvtkWidget
    m_contextView->SetInteractor(nullptr);
}
예제 #4
0
void RendererImplementationBase3D::deactivate(t_QVTKWidget & qvtkWidget)
{
    RendererImplementation::deactivate(qvtkWidget);

    m_cursorCallback->setQWidget(nullptr);

    // this is our render window, so remove it from the widget
    qvtkWidget.SetRenderWindow(nullptr);
    // remove out interactor style from the widget's interactor
    m_renderWindow->GetInteractor()->SetInteractorStyle(nullptr);
    // the interactor belongs to the widget, we should reference it anymore
    m_renderWindow->SetInteractor(nullptr);
}