Mercurial > hg > orthanc-stone
comparison Samples/Common/MeasureTools.h @ 645:1e9ed656318e
Merge + ongoing measure work
author | Benjamin Golinvaux <bgo@osimis.io> |
---|---|
date | Mon, 13 May 2019 15:12:56 +0200 |
parents | f939f449482c |
children | 462a5074f914 |
comparison
equal
deleted
inserted
replaced
644:f939f449482c | 645:1e9ed656318e |
---|---|
15 * Affero General Public License for more details. | 15 * Affero General Public License for more details. |
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 #pragma once | 21 #pragma once |
21 | 22 |
22 #include <Framework/Scene2D/Scene2D.h> | 23 #include <Framework/Scene2D/Scene2D.h> |
23 #include <Framework/Scene2D/ScenePoint2D.h> | 24 #include <Framework/Scene2D/ScenePoint2D.h> |
24 #include <Framework/Scene2D/PolylineSceneLayer.h> | 25 #include <Framework/Scene2D/PolylineSceneLayer.h> |
84 Scene2D& scene_; | 85 Scene2D& scene_; |
85 bool enabled_; | 86 bool enabled_; |
86 }; | 87 }; |
87 | 88 |
88 typedef boost::shared_ptr<MeasureTool> MeasureToolPtr; | 89 typedef boost::shared_ptr<MeasureTool> MeasureToolPtr; |
89 | |
90 class LineMeasureTool : public MeasureTool | |
91 { | |
92 public: | |
93 LineMeasureTool(Scene2D& scene) | |
94 : MeasureTool(scene) | |
95 , layersCreated(false) | |
96 , polylineZIndex_(-1) | |
97 , textZIndex_(-1) | |
98 { | |
99 | |
100 } | |
101 | |
102 ~LineMeasureTool(); | |
103 | |
104 void SetStart(ScenePoint2D start); | |
105 void SetEnd(ScenePoint2D end); | |
106 void Set(ScenePoint2D start, ScenePoint2D end); | |
107 | |
108 private: | |
109 PolylineSceneLayer* GetPolylineLayer(); | |
110 TextSceneLayer* GetTextLayer(); | |
111 virtual void RefreshScene() ORTHANC_OVERRIDE; | |
112 void RemoveFromScene(); | |
113 | |
114 private: | |
115 ScenePoint2D start_; | |
116 ScenePoint2D end_; | |
117 bool layersCreated; | |
118 int polylineZIndex_; | |
119 int textZIndex_; | |
120 }; | |
121 | |
122 typedef boost::shared_ptr<LineMeasureTool> LineMeasureToolPtr; | |
123 typedef std::vector<MeasureToolPtr> MeasureToolList; | 90 typedef std::vector<MeasureToolPtr> MeasureToolList; |
124 } | 91 } |
125 | 92 |
126 | 93 |