comparison Framework/Toolbox/ParallelSlices.cpp @ 110:53025eecbc95 wasm

renamed SliceGeometry as CoordinateSystem3D
author Sebastien Jodogne <s.jodogne@gmail.com>
date Wed, 14 Jun 2017 15:50:38 +0200
parents 28956ed68280
children 2eca030792aa
comparison
equal deleted inserted replaced
109:53bd9277b025 110:53025eecbc95
39 slices_.resize(other.slices_.size()); 39 slices_.resize(other.slices_.size());
40 40
41 for (size_t i = 0; i < slices_.size(); i++) 41 for (size_t i = 0; i < slices_.size(); i++)
42 { 42 {
43 assert(other.slices_[i] != NULL); 43 assert(other.slices_[i] != NULL);
44 slices_[i] = new SliceGeometry(*other.slices_[i]); 44 slices_[i] = new CoordinateSystem3D(*other.slices_[i]);
45 } 45 }
46 } 46 }
47 47
48 48
49 ParallelSlices::~ParallelSlices() 49 ParallelSlices::~ParallelSlices()
57 } 57 }
58 } 58 }
59 } 59 }
60 60
61 61
62 void ParallelSlices::AddSlice(const SliceGeometry& slice) 62 void ParallelSlices::AddSlice(const CoordinateSystem3D& slice)
63 { 63 {
64 if (slices_.empty()) 64 if (slices_.empty())
65 { 65 {
66 normal_ = slice.GetNormal(); 66 normal_ = slice.GetNormal();
67 slices_.push_back(new SliceGeometry(slice)); 67 slices_.push_back(new CoordinateSystem3D(slice));
68 } 68 }
69 else if (GeometryToolbox::IsParallel(slice.GetNormal(), normal_)) 69 else if (GeometryToolbox::IsParallel(slice.GetNormal(), normal_))
70 { 70 {
71 slices_.push_back(new SliceGeometry(slice)); 71 slices_.push_back(new CoordinateSystem3D(slice));
72 } 72 }
73 else 73 else
74 { 74 {
75 LOG(ERROR) << "Trying to add a slice that is not parallel to the previous ones"; 75 LOG(ERROR) << "Trying to add a slice that is not parallel to the previous ones";
76 throw Orthanc::OrthancException(Orthanc::ErrorCode_BadSequenceOfCalls); 76 throw Orthanc::OrthancException(Orthanc::ErrorCode_BadSequenceOfCalls);
80 80
81 void ParallelSlices::AddSlice(const Vector& origin, 81 void ParallelSlices::AddSlice(const Vector& origin,
82 const Vector& axisX, 82 const Vector& axisX,
83 const Vector& axisY) 83 const Vector& axisY)
84 { 84 {
85 SliceGeometry slice(origin, axisX, axisY); 85 CoordinateSystem3D slice(origin, axisX, axisY);
86 AddSlice(slice); 86 AddSlice(slice);
87 } 87 }
88 88
89 89
90 const SliceGeometry& ParallelSlices::GetSlice(size_t index) const 90 const CoordinateSystem3D& ParallelSlices::GetSlice(size_t index) const
91 { 91 {
92 if (index >= slices_.size()) 92 if (index >= slices_.size())
93 { 93 {
94 throw Orthanc::OrthancException(Orthanc::ErrorCode_ParameterOutOfRange); 94 throw Orthanc::OrthancException(Orthanc::ErrorCode_ParameterOutOfRange);
95 } 95 }
133 { 133 {
134 std::auto_ptr<ParallelSlices> reversed(new ParallelSlices); 134 std::auto_ptr<ParallelSlices> reversed(new ParallelSlices);
135 135
136 for (size_t i = slices_.size(); i > 0; i--) 136 for (size_t i = slices_.size(); i > 0; i--)
137 { 137 {
138 const SliceGeometry& slice = *slices_[i - 1]; 138 const CoordinateSystem3D& slice = *slices_[i - 1];
139 139
140 reversed->AddSlice(slice.GetOrigin(), 140 reversed->AddSlice(slice.GetOrigin(),
141 -slice.GetAxisX(), 141 -slice.GetAxisX(),
142 slice.GetAxisY()); 142 slice.GetAxisY());
143 } 143 }