ALBA
albaInteractor2DMeasure_Distance.h
Go to the documentation of this file.
1/*=========================================================================
2Program: ALBA (Agile Library for Biomedical Applications)
3Module: albaInteractor2DMeasure_Distance.h
4Language: C++
5Date: $Date: 2021-01-01 12:00:00 $
6Version: $Revision: 1.0.0.0 $
7Authors: Nicola Vanella
8==========================================================================
9Copyright (c) BIC-IOR 2021 (https://github.com/IOR-BIC)
10
11This software is distributed WITHOUT ANY WARRANTY; without even
12the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
13PURPOSE. See the above copyright notice for more information.
14=========================================================================*/
15
16#ifndef __albaInteractor2DMeasure_Distance_h
17#define __albaInteractor2DMeasure_Distance_h
18
19//----------------------------------------------------------------------------
20// Include :
21//----------------------------------------------------------------------------
23
24//----------------------------------------------------------------------------
25// Forward references :
26//----------------------------------------------------------------------------
27class vtkLineSource;
28class vtkPolyDataMapper2D;
29class vtkActor2D;
30
31// Class Name: albaInteractor2DMeasure_Distance
33{
34public:
36 {
37 NO_CONSTRAINT = 0,
40 };
41
43
44 // MEASURE
46 virtual void AddMeasure(double *point1, double *point2);
48 virtual void EditMeasure(int index, double *point);
50 virtual void RemoveMeasure(int index);
52 virtual void SelectMeasure(int index);
53
54 virtual void SetMinDistance(double minDistance);
55
56 virtual void SetLineWidth(double width);
57 virtual void SetLineTickWidth(double width);
58 virtual void SetLineTickLenght(double lenght);
59
60 virtual void Show(bool show);
61
63 void GetMeasureLinePoints(int index, double *point1, double *point2);
64
66 double GetDistance(int index);
67
68 bool Load(albaVME *input, wxString tag);
69 bool Save(albaVME *input, wxString tag);
70
72 int GetConstraint() const { return m_Constraint; }
73
75 void SetConstraint(int val) { m_Constraint = val; }
76protected:
77
80
81 // Draw Measure
82 void MoveMeasure(int index, double * point);
83 void DrawNewMeasure(double * wp);
84
85 // RENDERING
86 virtual void UpdateLineActors(double * point1, double * point2);
87 virtual void UpdateLineTickActor(double * point1, double * point2);
88 void UpdateTextActor(double * point1, double * point2);
89
90 //UTILS
91 virtual void FindAndHighlight(double * point);
92
93 // Persistent line
94 std::vector<albaActor2dStackHelper *> m_LineStackVector;
95 std::vector<albaActor2dStackHelper *> m_TickStackVectorL;
96 std::vector<albaActor2dStackHelper *> m_TickStackVectorR;
97
101
103
104private:
106 void operator=(const albaInteractor2DMeasure_Distance&); // Not implemented.
107 friend class albaInteractor2DMeasure_DistanceTest;
108};
109#endif
virtual void Show(bool show)
bool Load(albaVME *input, wxString tag)
LOAD/SAVE.
double GetDistance(int index)
Get the i-th Distance.
virtual void UpdateLineActors(double *point1, double *point2)
void MoveMeasure(int index, double *point)
Move Measure.
std::vector< albaActor2dStackHelper * > m_TickStackVectorR
virtual void SetLineWidth(double width)
std::vector< albaActor2dStackHelper * > m_TickStackVectorL
std::vector< albaActor2dStackHelper * > m_LineStackVector
virtual void UpdateLineTickActor(double *point1, double *point2)
virtual void FindAndHighlight(double *point)
Find Measure Point and Set Action.
void SetConstraint(int val)
Setter for SetConstraint.
void GetMeasureLinePoints(int index, double *point1, double *point2)
Get measure line extremity points.
bool Save(albaVME *input, wxString tag)
virtual void AddMeasure(double *point1, double *point2)
Add Measure.
void UpdateTextActor(double *point1, double *point2)
virtual void EditMeasure(int index, double *point)
Edit Measure.
int GetConstraint() const
Getter for GetConstraint.
virtual void SetMinDistance(double minDistance)
virtual void SetLineTickWidth(double width)
virtual void SelectMeasure(int index)
Select a Measure.
albaTypeMacro(albaInteractor2DMeasure_Distance, albaInteractor2DMeasure)
virtual void SetLineTickLenght(double lenght)
void DrawNewMeasure(double *wp)
Draw New Measure.
virtual void RemoveMeasure(int index)
Delete the Measure.
albaVME -
Definition: albaVME.h:150