Mercurial > hg > orthanc-stone
comparison Framework/Scene2D/Scene2D.h @ 700:059e1fd05fd6 refactor-viewport-controller
Introduced the ViewportController that sits between the application and the
Scene2D to handle the trackers and measuring tools. This is a work in progress.
The Scene2D is no longer an observable. Message sending is managed by the
ViewportController.
Move some refs to shared and weak to prevent lifetime issues.
author | Benjamin Golinvaux <bgo@osimis.io> |
---|---|
date | Sun, 19 May 2019 16:26:17 +0200 |
parents | 5c551f078c18 |
children | c0fcb2757b0a |
comparison
equal
deleted
inserted
replaced
699:5c551f078c18 | 700:059e1fd05fd6 |
---|---|
28 | 28 |
29 #include <map> | 29 #include <map> |
30 | 30 |
31 namespace OrthancStone | 31 namespace OrthancStone |
32 { | 32 { |
33 class Scene2D : public IObservable | 33 class Scene2D : public boost::noncopyable |
34 { | 34 { |
35 public: | 35 public: |
36 ORTHANC_STONE_DEFINE_ORIGIN_MESSAGE(__FILE__, __LINE__, SceneTransformChanged, Scene2D); | |
37 | |
38 class IVisitor : public boost::noncopyable | 36 class IVisitor : public boost::noncopyable |
39 { | 37 { |
40 public: | 38 public: |
41 virtual ~IVisitor() | 39 virtual ~IVisitor() |
42 { | 40 { |
58 uint64_t layerCounter_; | 56 uint64_t layerCounter_; |
59 | 57 |
60 Scene2D(const Scene2D& other); | 58 Scene2D(const Scene2D& other); |
61 | 59 |
62 public: | 60 public: |
63 Scene2D(MessageBroker& broker) | 61 Scene2D() : layerCounter_(0) |
64 : IObservable(broker) | |
65 , layerCounter_(0) | |
66 { | 62 { |
67 } | 63 } |
68 | 64 |
69 ~Scene2D(); | 65 ~Scene2D(); |
70 | 66 |