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

Method SetReferenceData

Modules/Segmentation/src/Controllers/mitkToolManager.cpp:257–287  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

255}
256
257void mitk::ToolManager::SetReferenceData(DataVectorType data)
258{
259 if (data != m_ReferenceData)
260 {
261 // remove observers from old nodes
262 for (auto dataIter = m_ReferenceData.begin(); dataIter != m_ReferenceData.end(); ++dataIter)
263 {
264 auto searchIter = m_ReferenceDataObserverTags.find(*dataIter);
265 if (searchIter != m_ReferenceDataObserverTags.end())
266 {
267 (*dataIter)->RemoveObserver(searchIter->second);
268 }
269 }
270
271 m_ReferenceData = data;
272 // TODO tell active tool?
273
274 // attach new observers
275 m_ReferenceDataObserverTags.clear();
276 for (auto dataIter = m_ReferenceData.begin(); dataIter != m_ReferenceData.end(); ++dataIter)
277 {
278 itk::MemberCommand<ToolManager>::Pointer command = itk::MemberCommand<ToolManager>::New();
279 command->SetCallbackFunction(this, &ToolManager::OnOneOfTheReferenceDataDeleted);
280 command->SetCallbackFunction(this, &ToolManager::OnOneOfTheReferenceDataDeletedConst);
281 m_ReferenceDataObserverTags.insert(
282 std::pair<DataNode *, unsigned long>((*dataIter), (*dataIter)->AddObserver(itk::DeleteEvent(), command)));
283 }
284
285 ReferenceDataChanged.Send();
286 }
287}
288
289void mitk::ToolManager::OnOneOfTheReferenceDataDeletedConst(const itk::Object *caller, const itk::EventObject &e)
290{

Callers 6

RunTestWithParametersMethod · 0.80
TestSetterMethodsMethod · 0.80
OnAnySelectionChangedMethod · 0.80

Calls 7

AddObserverMethod · 0.80
NewFunction · 0.50
beginMethod · 0.45
endMethod · 0.45
findMethod · 0.45
clearMethod · 0.45
SendMethod · 0.45

Tested by 2

RunTestWithParametersMethod · 0.64
TestSetterMethodsMethod · 0.64