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