comparison Framework/Scene2DViewport/AngleMeasureTool.h @ 865:a29c13497557

Added operators to ScenePoint2D + highlight support on MouseOver for measuring tools
author Benjamin Golinvaux <bgo@osimis.io>
date Tue, 25 Jun 2019 15:24:13 +0200
parents e42b491f1fb2
children c71ef52602a0
comparison
equal deleted inserted replaced
864:ae3eccd0f545 865:a29c13497557
45 45
46 void SetSide1End(ScenePoint2D start); 46 void SetSide1End(ScenePoint2D start);
47 void SetCenter(ScenePoint2D start); 47 void SetCenter(ScenePoint2D start);
48 void SetSide2End(ScenePoint2D start); 48 void SetSide2End(ScenePoint2D start);
49 49
50 virtual bool HitTest(ScenePoint2D p) const ORTHANC_OVERRIDE;
51 virtual void Highlight(ScenePoint2D p) ORTHANC_OVERRIDE;
52 virtual void ResetHighlightState() ORTHANC_OVERRIDE;
50 53
51 virtual bool HitTest(ScenePoint2D p) const ORTHANC_OVERRIDE; 54 enum AngleHighlightArea
55 {
56 AngleHighlightArea_None,
57 AngleHighlightArea_Side1End,
58 AngleHighlightArea_Side1,
59 AngleHighlightArea_Side2End,
60 AngleHighlightArea_Side2,
61 AngleHighlightArea_Center
62 };
63
64
65 AngleHighlightArea AngleHitTest(ScenePoint2D p) const;
52 66
53 private: 67 private:
54 virtual void RefreshScene() ORTHANC_OVERRIDE; 68 virtual void RefreshScene() ORTHANC_OVERRIDE;
55 void RemoveFromScene(); 69 void RemoveFromScene();
70 void SetAngleHighlightArea(AngleHighlightArea area);
56 71
57 private: 72 private:
58 ScenePoint2D side1End_; 73 ScenePoint2D side1End_;
59 ScenePoint2D side2End_; 74 ScenePoint2D side2End_;
60 ScenePoint2D center_; 75 ScenePoint2D center_;
61 boost::shared_ptr<LayerHolder> layerHolder_; 76 boost::shared_ptr<LayerHolder> layerHolder_;
77 AngleHighlightArea angleHighlightArea_;
62 }; 78 };
63 } 79 }
64 80
65 81