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