# HG changeset patch # User Alain Mazy # Date 1578999901 -3600 # Node ID 6af941a68472880f8c8f5085255c305e80ee4822 # Parent 7719132587288cf10b46114cd0383af25986b08a RadiographyScene: virtual methods to use in derived class diff -r 771913258728 -r 6af941a68472 Framework/Radiography/RadiographyScene.cpp --- a/Framework/Radiography/RadiographyScene.cpp Thu Jan 09 15:24:43 2020 +0100 +++ b/Framework/Radiography/RadiographyScene.cpp Tue Jan 14 12:05:01 2020 +0100 @@ -125,6 +125,17 @@ } } + void RadiographyScene::_RegisterLayer(RadiographyLayer* layer) + { + std::auto_ptr raii(layer); + + // LOG(INFO) << "Registering layer: " << countLayers_; + + size_t index = nextLayerIndex_++; + raii->SetIndex(index); + layers_[index] = raii.release(); + } + RadiographyLayer& RadiographyScene::RegisterLayer(RadiographyLayer* layer) { if (layer == NULL) @@ -132,13 +143,7 @@ throw Orthanc::OrthancException(Orthanc::ErrorCode_NullPointer); } - std::auto_ptr raii(layer); - - // LOG(INFO) << "Registering layer: " << countLayers_; - - size_t index = nextLayerIndex_++; - raii->SetIndex(index); - layers_[index] = raii.release(); + _RegisterLayer(layer); BroadcastMessage(GeometryChangedMessage(*this, *layer)); BroadcastMessage(ContentChangedMessage(*this, *layer)); diff -r 771913258728 -r 6af941a68472 Framework/Radiography/RadiographyScene.h --- a/Framework/Radiography/RadiographyScene.h Thu Jan 09 15:24:43 2020 +0100 +++ b/Framework/Radiography/RadiographyScene.h Tue Jan 14 12:05:01 2020 +0100 @@ -170,6 +170,13 @@ protected: RadiographyLayer& RegisterLayer(RadiographyLayer* layer); + virtual void _RegisterLayer(RadiographyLayer* layer); + + void SetLayerIndex(RadiographyLayer* layer, size_t index) + { + layer->SetIndex(index); + } + virtual void OnTagsReceived(const Deprecated::OrthancApiClient::BinaryResponseReadyMessage& message); virtual void OnFrameReceived(const Deprecated::OrthancApiClient::BinaryResponseReadyMessage& message);