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

Method ObserveNewPointSet

Modules/QtWidgetsExt/src/QmitkPointListModel.cpp:69–114  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

67}
68
69void QmitkPointListModel::ObserveNewPointSet(mitk::DataNode *pointSetNode)
70{
71 // remove old observers
72 if (m_PointSetNode != nullptr)
73 {
74 try // here sometimes an exception is thrown which leads to a crash. So catch this exception but give an error
75 // message. See bug 18316 for details.
76 {
77 mitk::PointSet::Pointer oldPointSet = dynamic_cast<mitk::PointSet *>(m_PointSetNode->GetData());
78 if (oldPointSet.IsNotNull())
79 {
80 oldPointSet->RemoveObserver(m_PointSetModifiedObserverTag);
81 oldPointSet->RemoveObserver(m_PointSetDeletedObserverTag);
82 }
83 }
84 catch (std::exception &e)
85 {
86 MITK_ERROR << "Exception while removing observer from old point set node: " << e.what();
87 }
88 }
89
90 // get the new pointset
91 mitk::PointSet::Pointer pointSet = this->CheckForPointSetInNode(pointSetNode);
92
93 m_PointSetNode = pointSetNode;
94
95 if (pointSet.IsNotNull())
96 {
97 // add new observer for modified if necessary
98 itk::ReceptorMemberCommand<QmitkPointListModel>::Pointer modCommand =
99 itk::ReceptorMemberCommand<QmitkPointListModel>::New();
100 modCommand->SetCallbackFunction(this, &QmitkPointListModel::OnPointSetChanged);
101 m_PointSetModifiedObserverTag = pointSet->AddObserver(itk::ModifiedEvent(), modCommand);
102
103 // add new observer for detele if necessary
104 itk::ReceptorMemberCommand<QmitkPointListModel>::Pointer delCommand =
105 itk::ReceptorMemberCommand<QmitkPointListModel>::New();
106 delCommand->SetCallbackFunction(this, &QmitkPointListModel::OnPointSetDeleted);
107 m_PointSetDeletedObserverTag = pointSet->AddObserver(itk::DeleteEvent(), delCommand);
108 }
109 else
110 {
111 m_PointSetModifiedObserverTag = 0;
112 m_PointSetDeletedObserverTag = 0;
113 }
114}
115
116void QmitkPointListModel::OnPointSetChanged(const itk::EventObject &)
117{

Callers 2

~QmitkPointListModelMethod · 0.95
SetPointSetNodeMethod · 0.95

Calls 6

IsNotNullMethod · 0.80
whatMethod · 0.80
AddObserverMethod · 0.80
NewFunction · 0.50
GetDataMethod · 0.45

Tested by

no test coverage detected