MCPcopy Create free account
hub / github.com/MITK/MITK / AddRenderWindow

Method AddRenderWindow

Modules/QtWidgetsExt/src/QmitkVideoBackground.cpp:64–104  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

62}
63
64void QmitkVideoBackground::AddRenderWindow(vtkRenderWindow *renderWindow)
65{
66 if (!renderWindow || !m_VideoSource)
67 {
68 MITK_WARN << "No Renderwindow or VideoSource set!";
69 return;
70 }
71
72 this->RemoveRenderWindow(renderWindow);
73
74 vtkRenderer *videoRenderer = vtkRenderer::New();
75 vtkImageActor *videoActor = vtkImageActor::New();
76 vtkImageImport *videoImport = vtkImageImport::New();
77
78 videoImport->SetDataScalarTypeToUnsignedChar();
79 videoImport->SetNumberOfScalarComponents(3);
80
81 if (m_VideoSource->GetImageWidth() == 0)
82 m_VideoSource->FetchFrame();
83
84 videoImport->SetWholeExtent(0, m_VideoSource->GetImageWidth() - 1, 0, m_VideoSource->GetImageHeight() - 1, 0, 1 - 1);
85 videoImport->SetDataExtentToWholeExtent();
86
87 VideoBackgroundVectorInfo v;
88 v.renWin = renderWindow;
89 v.videoRenderer = videoRenderer;
90 v.videoActor = videoActor;
91 v.videoImport = videoImport;
92
93 // callback for the deletion of the renderwindow
94 vtkSmartPointer<vtkCallbackCommand> deleteCallback = vtkSmartPointer<vtkCallbackCommand>::New();
95 deleteCallback->SetCallback(QmitkVideoBackground::OnRenderWindowDelete);
96 deleteCallback->SetClientData(this);
97
98 v.renderWindowObserverTag = renderWindow->AddObserver(vtkCommand::DeleteEvent, deleteCallback);
99
100 m_renderWindowVectorInfo.push_back(v);
101
102 // completes the initialization
103 this->Modified();
104}
105
106void QmitkVideoBackground::RemoveRenderWindow(vtkRenderWindow *renderWindow)
107{

Callers

nothing calls this directly

Calls 7

RemoveRenderWindowMethod · 0.95
ModifiedMethod · 0.95
GetImageWidthMethod · 0.80
FetchFrameMethod · 0.80
GetImageHeightMethod · 0.80
AddObserverMethod · 0.80
NewFunction · 0.50

Tested by

no test coverage detected