Mercurial > hg > orthanc-stone
comparison Framework/Widgets/LayerWidget.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 | 53bd9277b025 |
children | 7665ccbf33db |
comparison
equal
deleted
inserted
replaced
109:53bd9277b025 | 110:53025eecbc95 |
---|---|
29 namespace OrthancStone | 29 namespace OrthancStone |
30 { | 30 { |
31 class LayerWidget::Scene : public boost::noncopyable | 31 class LayerWidget::Scene : public boost::noncopyable |
32 { | 32 { |
33 private: | 33 private: |
34 SliceGeometry slice_; | 34 CoordinateSystem3D slice_; |
35 size_t countMissing_; | 35 size_t countMissing_; |
36 std::vector<ILayerRenderer*> renderers_; | 36 std::vector<ILayerRenderer*> renderers_; |
37 | 37 |
38 void DeleteLayer(size_t index) | 38 void DeleteLayer(size_t index) |
39 { | 39 { |
52 countMissing_++; | 52 countMissing_++; |
53 } | 53 } |
54 } | 54 } |
55 | 55 |
56 public: | 56 public: |
57 Scene(const SliceGeometry& slice, | 57 Scene(const CoordinateSystem3D& slice, |
58 size_t countLayers) : | 58 size_t countLayers) : |
59 slice_(slice), | 59 slice_(slice), |
60 countMissing_(countLayers), | 60 countMissing_(countLayers), |
61 renderers_(countLayers, NULL) | 61 renderers_(countLayers, NULL) |
62 { | 62 { |
82 | 82 |
83 renderers_[index] = renderer; | 83 renderers_[index] = renderer; |
84 countMissing_--; | 84 countMissing_--; |
85 } | 85 } |
86 | 86 |
87 const SliceGeometry& GetSlice() const | 87 const CoordinateSystem3D& GetSlice() const |
88 { | 88 { |
89 return slice_; | 89 return slice_; |
90 } | 90 } |
91 | 91 |
92 bool HasRenderer(size_t index) | 92 bool HasRenderer(size_t index) |
104 return countMissing_; | 104 return countMissing_; |
105 } | 105 } |
106 | 106 |
107 bool RenderScene(CairoContext& context, | 107 bool RenderScene(CairoContext& context, |
108 const ViewportGeometry& view, | 108 const ViewportGeometry& view, |
109 const SliceGeometry& viewportSlice) | 109 const CoordinateSystem3D& viewportSlice) |
110 { | 110 { |
111 bool fullQuality = true; | 111 bool fullQuality = true; |
112 cairo_t *cr = context.GetObject(); | 112 cairo_t *cr = context.GetObject(); |
113 | 113 |
114 for (size_t i = 0; i < renderers_.size(); i++) | 114 for (size_t i = 0; i < renderers_.size(); i++) |
115 { | 115 { |
116 if (renderers_[i] != NULL) | 116 if (renderers_[i] != NULL) |
117 { | 117 { |
118 const SliceGeometry& frameSlice = renderers_[i]->GetLayerSlice(); | 118 const CoordinateSystem3D& frameSlice = renderers_[i]->GetLayerSlice(); |
119 | 119 |
120 double x0, y0, x1, y1, x2, y2; | 120 double x0, y0, x1, y1, x2, y2; |
121 viewportSlice.ProjectPoint(x0, y0, frameSlice.GetOrigin()); | 121 viewportSlice.ProjectPoint(x0, y0, frameSlice.GetOrigin()); |
122 viewportSlice.ProjectPoint(x1, y1, frameSlice.GetOrigin() + frameSlice.GetAxisX()); | 122 viewportSlice.ProjectPoint(x1, y1, frameSlice.GetOrigin() + frameSlice.GetAxisX()); |
123 viewportSlice.ProjectPoint(x2, y2, frameSlice.GetOrigin() + frameSlice.GetAxisY()); | 123 viewportSlice.ProjectPoint(x2, y2, frameSlice.GetOrigin() + frameSlice.GetAxisY()); |
372 | 372 |
373 NotifyChange(); | 373 NotifyChange(); |
374 } | 374 } |
375 | 375 |
376 | 376 |
377 void LayerWidget::SetSlice(const SliceGeometry& slice) | 377 void LayerWidget::SetSlice(const CoordinateSystem3D& slice) |
378 { | 378 { |
379 LOG(INFO) << "Setting slice origin: (" << slice.GetOrigin()[0] | 379 LOG(INFO) << "Setting slice origin: (" << slice.GetOrigin()[0] |
380 << "," << slice.GetOrigin()[1] | 380 << "," << slice.GetOrigin()[1] |
381 << "," << slice.GetOrigin()[2] << ")"; | 381 << "," << slice.GetOrigin()[2] << ")"; |
382 | 382 |