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

Method AddRenderWindow

Modules/Core/src/Controllers/mitkRenderingManager.cpp:120–159  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

118 }
119
120 void RenderingManager::AddRenderWindow(vtkRenderWindow *renderWindow)
121 {
122 if (renderWindow && (m_RenderWindowList.find(renderWindow) == m_RenderWindowList.end()))
123 {
124 m_RenderWindowList[renderWindow] = RENDERING_INACTIVE;
125 m_AllRenderWindows.push_back(renderWindow);
126
127 if (m_DataStorage.IsNotNull())
128 BaseRenderer::GetInstance(renderWindow)->SetDataStorage(m_DataStorage.GetPointer());
129
130 // Register vtkRenderWindow instance
131 renderWindow->Register(nullptr);
132
133 // Add callbacks for rendering abort mechanism
134 // BaseRenderer *renderer = BaseRenderer::GetInstance( renderWindow );
135 vtkCallbackCommand *startCallbackCommand = vtkCallbackCommand::New();
136 startCallbackCommand->SetCallback(RenderingManager::RenderingStartCallback);
137 renderWindow->AddObserver(vtkCommand::StartEvent, startCallbackCommand);
138
139 vtkCallbackCommand *progressCallbackCommand = vtkCallbackCommand::New();
140 progressCallbackCommand->SetCallback(RenderingManager::RenderingProgressCallback);
141 renderWindow->AddObserver(vtkCommand::AbortCheckEvent, progressCallbackCommand);
142
143 vtkCallbackCommand *endCallbackCommand = vtkCallbackCommand::New();
144 endCallbackCommand->SetCallback(RenderingManager::RenderingEndCallback);
145 renderWindow->AddObserver(vtkCommand::EndEvent, endCallbackCommand);
146
147 RenderWindowCallbacks callbacks;
148
149 callbacks.commands[0u] = startCallbackCommand;
150 callbacks.commands[1u] = progressCallbackCommand;
151 callbacks.commands[2u] = endCallbackCommand;
152 this->m_RenderWindowCallbacksList[renderWindow] = callbacks;
153
154 // Delete vtk variables correctly
155 startCallbackCommand->Delete();
156 progressCallbackCommand->Delete();
157 endCallbackCommand->Delete();
158 }
159 }
160
161 void RenderingManager::RemoveRenderWindow(vtkRenderWindow *renderWindow)
162 {

Callers 3

mitkRenderingManagerTestFunction · 0.45
InitializeMethod · 0.45

Calls 9

IsNotNullMethod · 0.80
GetPointerMethod · 0.80
AddObserverMethod · 0.80
NewFunction · 0.50
findMethod · 0.45
endMethod · 0.45
SetDataStorageMethod · 0.45
RegisterMethod · 0.45
DeleteMethod · 0.45

Tested by 2

mitkRenderingManagerTestFunction · 0.36