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

Method SetSmartPointer

Modules/Core/src/DataManagement/mitkSmartPointerProperty.cpp:95–116  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

93}
94
95void mitk::SmartPointerProperty::SetSmartPointer(itk::Object *pointer)
96{
97 if (m_SmartPointer.GetPointer() != pointer)
98 {
99 // keep track of referenced objects
100 if (m_SmartPointer.GetPointer() &&
101 --m_ReferenceCount[m_SmartPointer.GetPointer()] == 0) // if there is no reference left, delete entry
102 {
103 m_ReferenceCount.erase(m_SmartPointer.GetPointer());
104 m_ReferencesUID.erase(m_SmartPointer.GetPointer());
105 }
106
107 if (pointer && ++m_ReferenceCount[pointer] == 1) // first reference --> generate UID
108 {
109 m_ReferencesUID[pointer] = m_UIDGenerator.GetUID();
110 }
111
112 // change pointer
113 m_SmartPointer = pointer;
114 Modified();
115 }
116}
117
118void mitk::SmartPointerProperty::SetValue(const ValueType &value)
119{

Callers 2

SetValueMethod · 0.95
PostProcessXMLReadingMethod · 0.80

Calls 4

ModifiedFunction · 0.85
GetPointerMethod · 0.80
eraseMethod · 0.45
GetUIDMethod · 0.45

Tested by

no test coverage detected