comparison Framework/Toolbox/ParallelSlices.h @ 735:c3bbb130abc4

removing dependencies in ImageBuffer3D
author Sebastien Jodogne <s.jodogne@gmail.com>
date Tue, 21 May 2019 16:15:06 +0200
parents b70e9be013e4
children fa5febe0f0c2
comparison
equal deleted inserted replaced
734:be3671662eec 735:c3bbb130abc4
20 20
21 21
22 #pragma once 22 #pragma once
23 23
24 #include "CoordinateSystem3D.h" 24 #include "CoordinateSystem3D.h"
25 #include "VolumeImageGeometry.h"
25 26
26 namespace OrthancStone 27 namespace OrthancStone
27 { 28 {
28 class ParallelSlices : public boost::noncopyable 29 class ParallelSlices : public boost::noncopyable
29 { 30 {
30 private: 31 private:
31 Vector normal_; 32 Vector normal_;
32 std::vector<CoordinateSystem3D*> slices_; 33 std::vector<CoordinateSystem3D*> slices_;
33 34
34 ParallelSlices& operator= (const ParallelSlices& other); // Forbidden 35 ParallelSlices& operator= (const ParallelSlices& other); // Forbidden
36
37 void Clear();
35 38
36 public: 39 public:
37 ParallelSlices(); 40 ParallelSlices();
38 41
39 ParallelSlices(const ParallelSlices& other); 42 ParallelSlices(const ParallelSlices& other);
61 bool ComputeClosestSlice(size_t& closestSlice, 64 bool ComputeClosestSlice(size_t& closestSlice,
62 double& closestDistance, 65 double& closestDistance,
63 const Vector& origin) const; 66 const Vector& origin) const;
64 67
65 ParallelSlices* Reverse() const; 68 ParallelSlices* Reverse() const;
69
70 static ParallelSlices* FromVolumeImage(const VolumeImageGeometry& geometry,
71 VolumeProjection projection);
66 }; 72 };
67 } 73 }