comparison Framework/Deprecated/dev.h @ 1298:8a0a62189f46

replacing std::auto_ptr by std::unique_ptr
author Sebastien Jodogne <s.jodogne@gmail.com>
date Mon, 02 Mar 2020 16:31:30 +0100
parents 2d8ab34c8c91
children 30deba7bc8e2
comparison
equal deleted inserted replaced
1296:86400fa16091 1298:8a0a62189f46
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