Mercurial > hg > orthanc-stone
comparison Samples/Sdl/FusionMprSdl.h @ 938:eaaa9b574e05 toa2019073101
Fixed the Stone samples wrt the recent API changes (SdlOpenGLViewport, ICompositor...)
author | Benjamin Golinvaux <bgo@osimis.io> |
---|---|
date | Wed, 31 Jul 2019 10:58:16 +0200 |
parents | e3c56d4f863f |
children | 2d8ab34c8c91 |
comparison
equal
deleted
inserted
replaced
937:86ac61a040c9 | 938:eaaa9b574e05 |
---|---|
16 * | 16 * |
17 * You should have received a copy of the GNU Affero General Public License | 17 * You should have received a copy of the GNU Affero General Public License |
18 * along with this program. If not, see <http://www.gnu.org/licenses/>. | 18 * along with this program. If not, see <http://www.gnu.org/licenses/>. |
19 **/ | 19 **/ |
20 | 20 |
21 #include "../../Framework/Viewport/SdlViewport.h" | |
22 | |
21 #include "../../Framework/Messages/IObserver.h" | 23 #include "../../Framework/Messages/IObserver.h" |
22 #include "../../Framework/Messages/IMessageEmitter.h" | 24 #include "../../Framework/Messages/IMessageEmitter.h" |
23 #include "../../Framework/Oracle/OracleCommandExceptionMessage.h" | 25 #include "../../Framework/Oracle/OracleCommandExceptionMessage.h" |
24 #include "../../Framework/Scene2DViewport/ViewportController.h" | 26 #include "../../Framework/Scene2DViewport/ViewportController.h" |
25 #include "../../Framework/Volumes/DicomVolumeImage.h" | 27 #include "../../Framework/Volumes/DicomVolumeImage.h" |
39 class DicomStructureSetLoader; | 41 class DicomStructureSetLoader; |
40 class IOracle; | 42 class IOracle; |
41 class ThreadedOracle; | 43 class ThreadedOracle; |
42 class VolumeSceneLayerSource; | 44 class VolumeSceneLayerSource; |
43 class NativeFusionMprApplicationContext; | 45 class NativeFusionMprApplicationContext; |
44 | 46 class SdlOpenGLViewport; |
45 | 47 |
46 enum FusionMprGuiTool | 48 enum FusionMprGuiTool |
47 { | 49 { |
48 FusionMprGuiTool_Rotate = 0, | 50 FusionMprGuiTool_Rotate = 0, |
49 FusionMprGuiTool_Pan, | 51 FusionMprGuiTool_Pan, |
78 void PrepareScene(); | 80 void PrepareScene(); |
79 void Run(); | 81 void Run(); |
80 void SetInfoDisplayMessage(std::string key, std::string value); | 82 void SetInfoDisplayMessage(std::string key, std::string value); |
81 void DisableTracker(); | 83 void DisableTracker(); |
82 | 84 |
83 boost::shared_ptr<Scene2D> GetScene(); | 85 Scene2D& GetScene(); |
84 boost::shared_ptr<const Scene2D> GetScene() const; | 86 const Scene2D& GetScene() const; |
85 | 87 |
86 void HandleApplicationEvent(const SDL_Event& event); | 88 void HandleApplicationEvent(const SDL_Event& event); |
87 | 89 |
88 /** | 90 /** |
89 This method is called when the scene transform changes. It allows to | 91 This method is called when the scene transform changes. It allows to |
172 private: | 174 private: |
173 CoordinateSystem3D plane_; | 175 CoordinateSystem3D plane_; |
174 | 176 |
175 boost::shared_ptr<VolumeSceneLayerSource> source1_, source2_, source3_; | 177 boost::shared_ptr<VolumeSceneLayerSource> source1_, source2_, source3_; |
176 | 178 |
177 std::auto_ptr<OpenGLCompositor> compositor_; | |
178 /** | 179 /** |
179 WARNING: the measuring tools do store a reference to the scene, and it | 180 WARNING: the measuring tools do store a reference to the scene, and it |
180 paramount that the scene gets destroyed AFTER the measurement tools. | 181 paramount that the scene gets destroyed AFTER the measurement tools. |
181 */ | 182 */ |
182 boost::shared_ptr<ViewportController> controller_; | 183 boost::shared_ptr<ViewportController> controller_; |
194 int FLOATING_INFOTEXT_LAYER_ZINDEX; | 195 int FLOATING_INFOTEXT_LAYER_ZINDEX; |
195 int FIXED_INFOTEXT_LAYER_ZINDEX; | 196 int FIXED_INFOTEXT_LAYER_ZINDEX; |
196 | 197 |
197 FusionMprGuiTool currentTool_; | 198 FusionMprGuiTool currentTool_; |
198 boost::shared_ptr<UndoStack> undoStack_; | 199 boost::shared_ptr<UndoStack> undoStack_; |
199 | 200 SdlOpenGLViewport viewport_; |
200 }; | 201 }; |
201 | 202 |
202 } | 203 } |
203 | 204 |
204 | 205 |