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

Method RemoveRenderWindow

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

Source from the content-addressed store, hash-verified

159 }
160
161 void RenderingManager::RemoveRenderWindow(vtkRenderWindow *renderWindow)
162 {
163 if (m_RenderWindowList.erase(renderWindow))
164 {
165 auto callbacks_it = this->m_RenderWindowCallbacksList.find(renderWindow);
166 if (callbacks_it != this->m_RenderWindowCallbacksList.end())
167 {
168 renderWindow->RemoveObserver(callbacks_it->second.commands[0u]);
169 renderWindow->RemoveObserver(callbacks_it->second.commands[1u]);
170 renderWindow->RemoveObserver(callbacks_it->second.commands[2u]);
171 this->m_RenderWindowCallbacksList.erase(callbacks_it);
172 }
173
174 auto rw_it =
175 std::find(m_AllRenderWindows.begin(), m_AllRenderWindows.end(), renderWindow);
176
177 if (rw_it != m_AllRenderWindows.cend())
178 {
179 // Decrease reference count for proper destruction
180 (*rw_it)->UnRegister(nullptr);
181 m_AllRenderWindows.erase(rw_it);
182 }
183 }
184 }
185
186 const RenderingManager::RenderWindowVector &RenderingManager::GetAllRegisteredRenderWindows()
187 {

Callers 3

mitkRenderingManagerTestFunction · 0.45
DestroyMethod · 0.45

Calls 5

eraseMethod · 0.45
findMethod · 0.45
endMethod · 0.45
beginMethod · 0.45
UnRegisterMethod · 0.45

Tested by 2

mitkRenderingManagerTestFunction · 0.36