File failed to load: https://isis.astrogeology.usgs.gov/6.0.0/Object/assets/jax/output/NativeMML/config.js
Isis 3 Programmer Reference
MeasureTool.h
1 #ifndef Qisis_MeasureTool_h
2 #define Qisis_MeasureTool_h
3 
4 #include "Tool.h"
5 
6 // FIXME: remove these includes
7 #include <QAction>
8 #include "RubberBandComboBox.h"
9 #include "TableMainWindow.h"
10 #include "IString.h"
11 
12 
13 class QCheckBox;
14 class QComboBox;
15 class QDialog;
16 class QMenu;
17 class QLineEdit;
18 class QString;
19 
20 namespace Isis {
21  class MdiCubeViewport;
22 
58  class MeasureTool : public Tool {
59  Q_OBJECT
60 
61  public:
62  MeasureTool(QWidget *parent);
63  void addTo(QMenu *menu);
64 
66  QString menuName() const {
67  return "&Options";
68  }
69 
70  protected slots:
71  virtual void rubberBandComplete();
72  virtual void updateMeasure();
73  virtual void mouseLeave();
74 
75  protected:
76  QWidget *createToolBarWidget(QStackedWidget *parent);
78  void updateTool();
80  void enableRubberBandTool();
81 
82  private slots:
83 
84  void updateUnitsCombo();
85  void updateDistEdit();
86 
87  private:
89  QLineEdit *m_distLineEdit;
91  int miComboUnit; // Store the previous unit chosen
92 
93  void addRow();
94  void updateDist(MdiCubeViewport *cvp, int row);
95  void setDistances(MdiCubeViewport *cvp, QPoint lineStart, QPoint lineEnd);
96  void updateRow(int row);
97  void updateRows(int row);
98  void initData(void);
99 
119  Notes
120  };
121 
147  };
148 
149  double m_startSamp;
150  double m_endSamp;
151  double m_startLine;
152  double m_endLine;
153  double m_startLat;
154  double m_endLat;
155  double m_startLon;
156  double m_endLon;
157  double m_kmDist;
158  double m_mDist;
159  double m_pixDist;
160  double m_radAngle;
161  double m_degAngle;
162  double m_kmArea;
163  double m_mArea;
164  double m_pixArea;
165  double m_kmPlanarDist;
166 
167 
168  QList<double> m_distanceSegments;
169  QList<double> m_pixDistSegments;
170  QList<double> m_startSampSegments;
171  QList<double> m_endSampSegments;
172  QList<double> m_startLineSegments;
173  QList<double> m_endLineSegments;
174  QList<double> m_startLatSegments;
175  QList<double> m_endLatSegments;
176  QList<double> m_startLonSegments;
177  QList<double> m_endLonSegments;
178 
179 
181  QString m_path;
182  QString m_fname;
183 
186  QCheckBox *m_showAllSegments;
187  };
188 
189 };
190 
191 #endif
Isis::MeasureTool::StartLatIndex
@ StartLatIndex
Starting latitude index.
Definition: MeasureTool.h:126
Isis::MeasureTool::m_pixDist
double m_pixDist
distance in pixels
Definition: MeasureTool.h:159
Isis::MeasureTool::m_degAngle
double m_degAngle
angle in degrees
Definition: MeasureTool.h:161
Isis::MeasureTool::m_startLat
double m_startLat
starting latitude
Definition: MeasureTool.h:153
Isis::MdiCubeViewport
Cube display widget for certain Isis MDI applications.
Definition: MdiCubeViewport.h:39
Isis::MeasureTool::DistanceKm
@ DistanceKm
Distance in kilometers.
Definition: MeasureTool.h:108
QWidget
Isis::MeasureTool::AreaMIndex
@ AreaMIndex
Area in meters index.
Definition: MeasureTool.h:140
Isis::RubberBandComboBox
Combo box for choosing a rubber band type.
Definition: RubberBandComboBox.h:26
Isis::MeasureTool::removeConnections
void removeConnections(MdiCubeViewport *cvp)
Removes the connection on the given cube viewport.
Definition: MeasureTool.cpp:923
Isis::MeasureTool::m_startLine
double m_startLine
starting line
Definition: MeasureTool.h:151
Isis::MeasureTool::StartLineIndex
@ StartLineIndex
Starting line index.
Definition: MeasureTool.h:131
Isis::MeasureTool::m_mArea
double m_mArea
area in meters
Definition: MeasureTool.h:163
Isis::MeasureTool::updateRows
void updateRows(int row)
This method is called instead of updateRows if the 'Show All Segment' checkbox is checked.
Definition: MeasureTool.cpp:446
QList< double >
Isis::MeasureTool::enableRubberBandTool
void enableRubberBandTool()
Enables/resets the rubberband tool.
Definition: MeasureTool.cpp:326
Isis::MeasureTool::StartSampIndex
@ StartSampIndex
Starting sample index.
Definition: MeasureTool.h:130
Isis::MeasureTool::m_distLineEdit
QLineEdit * m_distLineEdit
Distance line edit.
Definition: MeasureTool.h:89
Isis::MeasureTool
Tool for measuring distances.
Definition: MeasureTool.h:58
Isis::Tool
Base class for the Qisis tools.
Definition: Tool.h:67
Isis::MeasureTool::SampleLine
@ SampleLine
Sample Line.
Definition: MeasureTool.h:107
Isis::MeasureTool::TableColumnsMap
TableColumnsMap
Enum for all possible table columns.
Definition: MeasureTool.h:103
Isis::MeasureTool::Notes
@ Notes
User input.
Definition: MeasureTool.h:119
QMenu
Isis::MeasureTool::initData
void initData(void)
Initialize Class data.
Definition: MeasureTool.cpp:537
Isis::MeasureTool::m_kmPlanarDist
double m_kmPlanarDist
distance estimate used when at least one point is on the body (km)
Definition: MeasureTool.h:165
Isis::MeasureTool::AreaPixIndex
@ AreaPixIndex
Area in pixels index.
Definition: MeasureTool.h:141
Isis::MeasureTool::AreaKmIndex
@ AreaKmIndex
Area in kilometers index.
Definition: MeasureTool.h:139
Isis::MeasureTool::FileName
@ FileName
FileName.
Definition: MeasureTool.h:118
Isis::MeasureTool::m_numLinked
int m_numLinked
number of linked viewports
Definition: MeasureTool.h:180
Isis::MeasureTool::m_rubberBand
RubberBandComboBox * m_rubberBand
rubberband combo box
Definition: MeasureTool.h:185
Isis::MeasureTool::Path
@ Path
FileName path.
Definition: MeasureTool.h:117
Isis::MeasureTool::m_kmArea
double m_kmArea
area in kilometers
Definition: MeasureTool.h:162
Isis::MeasureTool::AngleRadIndex
@ AngleRadIndex
Angle in radians index.
Definition: MeasureTool.h:138
Isis::MeasureTool::m_endLon
double m_endLon
ending longitude
Definition: MeasureTool.h:156
Isis::MeasureTool::m_startLon
double m_startLon
starting longitude
Definition: MeasureTool.h:155
Isis::MeasureTool::DistanceKmIndex
@ DistanceKmIndex
Distance in kilometers index.
Definition: MeasureTool.h:134
QComboBox
Isis::MeasureTool::AreaPix
@ AreaPix
Area in pixels.
Definition: MeasureTool.h:115
Isis::MeasureTool::m_startSamp
double m_startSamp
starting sample
Definition: MeasureTool.h:149
Isis::MeasureTool::m_action
QAction * m_action
Measure tool's action.
Definition: MeasureTool.h:88
Isis::MeasureTool::m_endLat
double m_endLat
ending latitude
Definition: MeasureTool.h:154
Isis::MeasureTool::rubberBandComplete
virtual void rubberBandComplete()
Called when the rubberBanding by the user is finished.
Definition: MeasureTool.cpp:290
Isis::MeasureTool::m_path
QString m_path
filename path
Definition: MeasureTool.h:181
Isis::MeasureTool::addTo
void addTo(QMenu *menu)
Adds the measure action to the given menu.
Definition: MeasureTool.cpp:240
Isis::MeasureTool::AngleDegIndex
@ AngleDegIndex
Angle in degrees index.
Definition: MeasureTool.h:137
Isis::MeasureTool::MeasureTool
MeasureTool(QWidget *parent)
MeasureTool constructor.
Definition: MeasureTool.cpp:40
Isis::MeasureTool::DistanceMIndex
@ DistanceMIndex
Distance in meters index.
Definition: MeasureTool.h:135
Isis::MeasureTool::updateUnitsCombo
void updateUnitsCombo()
Updates the units combo box.
Definition: MeasureTool.cpp:182
Isis::MeasureTool::createToolBarWidget
QWidget * createToolBarWidget(QStackedWidget *parent)
Creates the widget (button) that goes on the tool bar.
Definition: MeasureTool.cpp:113
Isis::MeasureTool::PathIndex
@ PathIndex
FileName path index.
Definition: MeasureTool.h:145
Isis::MeasureTool::updateDistEdit
void updateDistEdit()
Change the value in the distance edit to match the units.
Definition: MeasureTool.cpp:849
Isis::MeasureTool::menuName
QString menuName() const
Returns the menu name.
Definition: MeasureTool.h:66
Isis::MeasureTool::updateTool
void updateTool()
Updates the measure tool.
Definition: MeasureTool.cpp:933
Isis::MeasureTool::m_fname
QString m_fname
filename
Definition: MeasureTool.h:182
Isis::MeasureTool::EndLineIndex
@ EndLineIndex
Ending line index.
Definition: MeasureTool.h:133
Isis::MeasureTool::EndLatIndex
@ EndLatIndex
Ending latitude index.
Definition: MeasureTool.h:128
Isis::MeasureTool::EndSampIndex
@ EndSampIndex
Ending sample index.
Definition: MeasureTool.h:132
Isis::MeasureTool::DistancePix
@ DistancePix
Distance in pixels.
Definition: MeasureTool.h:110
Isis::TableMainWindow
a subclass of the qisis mainwindow, tablemainwindow handles all of the table tasks.
Definition: TableMainWindow.h:57
Isis::MeasureTool::updateDist
void updateDist(MdiCubeViewport *cvp, int row)
This method updates the distance variables.
Definition: MeasureTool.cpp:580
Isis::MeasureTool::m_endLine
double m_endLine
ending line
Definition: MeasureTool.h:152
Isis::MeasureTool::m_kmDist
double m_kmDist
distance in kilometers
Definition: MeasureTool.h:157
Isis::MeasureTool::m_unitsComboBox
QComboBox * m_unitsComboBox
Units selection.
Definition: MeasureTool.h:90
Isis::MeasureTool::FileNameIndex
@ FileNameIndex
FileName index.
Definition: MeasureTool.h:146
Isis::ToolPad
Definition: ToolPad.h:14
Isis::MeasureTool::toolPadAction
QAction * toolPadAction(ToolPad *pad)
Add the measure tool action to the toolpad.
Definition: MeasureTool.cpp:90
Isis::MeasureTool::AngleRad
@ AngleRad
Angle in radians.
Definition: MeasureTool.h:112
Isis::MeasureTool::FeatureName
@ FeatureName
Feature name.
Definition: MeasureTool.h:104
Isis::MeasureTool::SegmentNumberIndex
@ SegmentNumberIndex
Segment number.
Definition: MeasureTool.h:144
Isis::MeasureTool::StartLonIndex
@ StartLonIndex
Starting longitude index.
Definition: MeasureTool.h:127
Isis::MeasureTool::LatitudeLongitude
@ LatitudeLongitude
Latitude Longitude.
Definition: MeasureTool.h:106
Isis::MeasureTool::SegmentsSumIndex
@ SegmentsSumIndex
Segment lengths in kilometers.
Definition: MeasureTool.h:143
Isis::MeasureTool::m_tableWin
TableMainWindow * m_tableWin
table window
Definition: MeasureTool.h:184
Isis::MeasureTool::EndLonIndex
@ EndLonIndex
Ending longitude index.
Definition: MeasureTool.h:129
Isis::MeasureTool::Segments
@ Segments
Segment lengths in kilometers.
Definition: MeasureTool.h:116
QDialog
Isis::MeasureTool::AngleDeg
@ AngleDeg
Angle in degrees.
Definition: MeasureTool.h:111
Isis::MeasureTool::m_pixArea
double m_pixArea
area in pixels
Definition: MeasureTool.h:164
Isis::MeasureTool::mouseLeave
virtual void mouseLeave()
Mouse leave event.
Definition: MeasureTool.cpp:317
Isis::MeasureTool::DistancePixIndex
@ DistancePixIndex
Distance in pixels index.
Definition: MeasureTool.h:136
Isis::MeasureTool::AreaM
@ AreaM
Area in meters.
Definition: MeasureTool.h:114
Isis::MeasureTool::AreaKm
@ AreaKm
Area in kilometers.
Definition: MeasureTool.h:113
Isis::MeasureTool::m_mDist
double m_mDist
distance in meters
Definition: MeasureTool.h:158
Isis::MeasureTool::m_radAngle
double m_radAngle
angle in radians
Definition: MeasureTool.h:160
QAction
Isis::MeasureTool::updateMeasure
virtual void updateMeasure()
Updates the Measure specifications.
Definition: MeasureTool.cpp:249
Isis::MeasureTool::DistanceM
@ DistanceM
Distance in meters.
Definition: MeasureTool.h:109
Isis::MeasureTool::updateRow
void updateRow(int row)
This method updates the row in the table window with the current measure information.
Definition: MeasureTool.cpp:341
Isis::MeasureTool::FeatureType
@ FeatureType
Feature type.
Definition: MeasureTool.h:105
Isis::MeasureTool::PlanarDistanceIndex
@ PlanarDistanceIndex
Planar distance in kilometers.
Definition: MeasureTool.h:142
Isis
This is free and unencumbered software released into the public domain.
Definition: Apollo.h:16
Isis::MeasureTool::m_endSamp
double m_endSamp
ending sample
Definition: MeasureTool.h:150
Isis::MeasureTool::TableColumnIndex
TableColumnIndex
Enum for storing all the indexes.
Definition: MeasureTool.h:125

U.S. Department of the Interior | U.S. Geological Survey
ISIS | Privacy & Disclaimers | Astrogeology Research Program
To contact us, please post comments and questions on the USGS Astrogeology Discussion Board
To report a bug, or suggest a feature go to: ISIS Github
File Modified: 07/13/2023 15:16:51