Mercurial > hg > orthanc-stone
comparison Framework/Deprecated/dev.h @ 1299:c38c89684d83 broker
replacing std::auto_ptr by std::unique_ptr
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Mon, 02 Mar 2020 17:21:24 +0100 |
parents | 2d8ab34c8c91 |
children | 30deba7bc8e2 |
comparison
equal
deleted
inserted
replaced
1297:6ab03e429f06 | 1299:c38c89684d83 |
---|---|
45 public ISlicedVolume, | 45 public ISlicedVolume, |
46 public OrthancStone::IObserver | 46 public OrthancStone::IObserver |
47 { | 47 { |
48 private: | 48 private: |
49 OrthancSlicesLoader loader_; | 49 OrthancSlicesLoader loader_; |
50 std::auto_ptr<OrthancStone::ImageBuffer3D> image_; | 50 std::unique_ptr<OrthancStone::ImageBuffer3D> image_; |
51 std::auto_ptr<DownloadStack> downloadStack_; | 51 std::unique_ptr<DownloadStack> downloadStack_; |
52 bool computeRange_; | 52 bool computeRange_; |
53 size_t pendingSlices_; | 53 size_t pendingSlices_; |
54 | 54 |
55 void ScheduleSliceDownload() | 55 void ScheduleSliceDownload() |
56 { | 56 { |
519 } | 519 } |
520 }; | 520 }; |
521 | 521 |
522 | 522 |
523 OrthancVolumeImage& volume_; | 523 OrthancVolumeImage& volume_; |
524 std::auto_ptr<VolumeImageGeometry> axialGeometry_; | 524 std::unique_ptr<VolumeImageGeometry> axialGeometry_; |
525 std::auto_ptr<VolumeImageGeometry> coronalGeometry_; | 525 std::unique_ptr<VolumeImageGeometry> coronalGeometry_; |
526 std::auto_ptr<VolumeImageGeometry> sagittalGeometry_; | 526 std::unique_ptr<VolumeImageGeometry> sagittalGeometry_; |
527 | 527 |
528 | 528 |
529 bool IsGeometryReady() const | 529 bool IsGeometryReady() const |
530 { | 530 { |
531 return axialGeometry_.get() != NULL; | 531 return axialGeometry_.get() != NULL; |
660 } | 660 } |
661 else | 661 else |
662 { | 662 { |
663 // As the slices of the volumic image are arranged in a box, | 663 // As the slices of the volumic image are arranged in a box, |
664 // we only consider one single reference slice (the one with index 0). | 664 // we only consider one single reference slice (the one with index 0). |
665 std::auto_ptr<Slice> slice(GetProjectionGeometry(projection).GetSlice(0)); | 665 std::unique_ptr<Slice> slice(GetProjectionGeometry(projection).GetSlice(0)); |
666 slice->GetExtent(points); | 666 slice->GetExtent(points); |
667 | 667 |
668 return true; | 668 return true; |
669 } | 669 } |
670 } | 670 } |
682 | 682 |
683 if (geometry.LookupSlice(closest, viewportSlice)) | 683 if (geometry.LookupSlice(closest, viewportSlice)) |
684 { | 684 { |
685 bool isFullQuality = true; // TODO | 685 bool isFullQuality = true; // TODO |
686 | 686 |
687 std::auto_ptr<Orthanc::Image> frame; | 687 std::unique_ptr<Orthanc::Image> frame; |
688 | 688 |
689 { | 689 { |
690 OrthancStone::ImageBuffer3D::SliceReader reader(volume_.GetImage(), projection, static_cast<unsigned int>(closest)); | 690 OrthancStone::ImageBuffer3D::SliceReader reader(volume_.GetImage(), projection, static_cast<unsigned int>(closest)); |
691 | 691 |
692 // TODO Transfer ownership if non-axial, to avoid memcpy | 692 // TODO Transfer ownership if non-axial, to avoid memcpy |
693 frame.reset(Orthanc::Image::Clone(reader.GetAccessor())); | 693 frame.reset(Orthanc::Image::Clone(reader.GetAccessor())); |
694 } | 694 } |
695 | 695 |
696 std::auto_ptr<Slice> slice(geometry.GetSlice(closest)); | 696 std::unique_ptr<Slice> slice(geometry.GetSlice(closest)); |
697 | 697 |
698 RendererFactory factory(*frame, *slice, isFullQuality); | 698 RendererFactory factory(*frame, *slice, isFullQuality); |
699 | 699 |
700 BroadcastMessage(IVolumeSlicer::LayerReadyMessage(*this, factory, slice->GetGeometry())); | 700 BroadcastMessage(IVolumeSlicer::LayerReadyMessage(*this, factory, slice->GetGeometry())); |
701 return; | 701 return; |
714 public OrthancStone::IObserver | 714 public OrthancStone::IObserver |
715 { | 715 { |
716 private: | 716 private: |
717 SliceViewerWidget& widget_; | 717 SliceViewerWidget& widget_; |
718 OrthancStone::VolumeProjection projection_; | 718 OrthancStone::VolumeProjection projection_; |
719 std::auto_ptr<VolumeImageGeometry> slices_; | 719 std::unique_ptr<VolumeImageGeometry> slices_; |
720 size_t slice_; | 720 size_t slice_; |
721 | 721 |
722 protected: | 722 protected: |
723 void OnGeometryReady(const ISlicedVolume::GeometryReadyMessage& message) | 723 void OnGeometryReady(const ISlicedVolume::GeometryReadyMessage& message) |
724 { | 724 { |
856 { | 856 { |
857 if (slices_.get() != NULL) | 857 if (slices_.get() != NULL) |
858 { | 858 { |
859 slice_ = slice; | 859 slice_ = slice; |
860 | 860 |
861 std::auto_ptr<Slice> tmp(slices_->GetSlice(slice_)); | 861 std::unique_ptr<Slice> tmp(slices_->GetSlice(slice_)); |
862 widget_.SetSlice(tmp->GetGeometry()); | 862 widget_.SetSlice(tmp->GetGeometry()); |
863 } | 863 } |
864 } | 864 } |
865 }; | 865 }; |
866 | 866 |