comparison Framework/Radiography/RadiographyScene.cpp @ 1257:6af941a68472

RadiographyScene: virtual methods to use in derived class
author Alain Mazy <alain@mazy.be>
date Tue, 14 Jan 2020 12:05:01 +0100
parents 9ee6b28f53e8
children 9c20ae049669
comparison
equal deleted inserted replaced
1256:771913258728 1257:6af941a68472
123 { 123 {
124 throw Orthanc::OrthancException(Orthanc::ErrorCode_BadSequenceOfCalls); 124 throw Orthanc::OrthancException(Orthanc::ErrorCode_BadSequenceOfCalls);
125 } 125 }
126 } 126 }
127 127
128 RadiographyLayer& RadiographyScene::RegisterLayer(RadiographyLayer* layer) 128 void RadiographyScene::_RegisterLayer(RadiographyLayer* layer)
129 { 129 {
130 if (layer == NULL)
131 {
132 throw Orthanc::OrthancException(Orthanc::ErrorCode_NullPointer);
133 }
134
135 std::auto_ptr<RadiographyLayer> raii(layer); 130 std::auto_ptr<RadiographyLayer> raii(layer);
136 131
137 // LOG(INFO) << "Registering layer: " << countLayers_; 132 // LOG(INFO) << "Registering layer: " << countLayers_;
138 133
139 size_t index = nextLayerIndex_++; 134 size_t index = nextLayerIndex_++;
140 raii->SetIndex(index); 135 raii->SetIndex(index);
141 layers_[index] = raii.release(); 136 layers_[index] = raii.release();
137 }
138
139 RadiographyLayer& RadiographyScene::RegisterLayer(RadiographyLayer* layer)
140 {
141 if (layer == NULL)
142 {
143 throw Orthanc::OrthancException(Orthanc::ErrorCode_NullPointer);
144 }
145
146 _RegisterLayer(layer);
142 147
143 BroadcastMessage(GeometryChangedMessage(*this, *layer)); 148 BroadcastMessage(GeometryChangedMessage(*this, *layer));
144 BroadcastMessage(ContentChangedMessage(*this, *layer)); 149 BroadcastMessage(ContentChangedMessage(*this, *layer));
145 layer->RegisterObserverCallback(new Callable<RadiographyScene, RadiographyLayer::LayerEditedMessage>(*this, &RadiographyScene::OnLayerEdited)); 150 layer->RegisterObserverCallback(new Callable<RadiographyScene, RadiographyLayer::LayerEditedMessage>(*this, &RadiographyScene::OnLayerEdited));
146 151