Isis Developer Reference
AdvancedTrackTool.h
Go to the documentation of this file.
1 #ifndef Qisis_AdvancedTrackTool_h
2 #define Qisis_AdvancedTrackTool_h
3 
10 /* SPDX-License-Identifier: CC0-1.0 */
11 
12 // The only includes allowed in this file are the direct parents of this class!
13 #include "Tool.h"
14 #include <QList>
15 #include <QString>
16 
17 class QAction;
18 
19 namespace Isis {
20 
21  class TableMainWindow;
22  class MdiCubeViewport;
23 
91  class AdvancedTrackTool : public Tool {
92  Q_OBJECT
93 
94  public:
95  AdvancedTrackTool(QWidget *parent);
96  void addTo(QMenu *menu);
97  void addToPermanent(QToolBar *perm);
98  bool eventFilter(QObject *o, QEvent *e);
99 
100  public slots:
101  virtual void mouseMove(QPoint p);
102  virtual void mouseLeave();
103  void record(QPoint p);
104 
105  protected:
112  QString menuName() const {
113  return "&Options";
114  };
115 
116  private slots:
117  void updateRow(QPoint p);
118  void updateRow(MdiCubeViewport *cvp, QPoint p, int row);
119  void record();
120  void updateID();
121  void TrackMosaicOrigin(MdiCubeViewport *cvp, int piLine, int piSample,
122  int &piOrigin, QString &psSrcFileName,
123  QString &psSrcSerialNum);
124  void helpDialog();
125 
126  private:
127  void readSettings();
128  void writeSettings();
129  QString settingsFilePath() const;
130  int getIndex(QString keyword);
131 
132  // Used to store information about each check box to later add to the table
133  // New entries can be added anywhere in the QList.
134  // Format: QList<QString>({<Header>, <onByDefault>, <menuText>, <toolTip>}) <<
135  // If a toolTip is not needed, use "".
136  QList<QList<QString> > checkBoxItems = QList< QList<QString> >() <<
137  QList<QString>({"Id", "false", "Id", ""}) <<
138  QList<QString>({"Sample:Line", "true", "Sample:Line", ""}) <<
139  QList<QString>({"Band", "false", "Band", ""}) <<
140  QList<QString>({"Pixel", "true", "Pixel", ""}) <<
141  QList<QString>({"Planetocentric Latitude", "true", "Planetocentric Lat", ""}) <<
142  QList<QString>({"Planetographic Latitude", "false", "Planetographic Lat", ""}) <<
143  QList<QString>({"360 Positive East Longitude", "true", "360 East Longitude", ""}) <<
144  QList<QString>({"360 Positive West Longitude", "false", "360 West Longitude", ""}) <<
145  QList<QString>({"180 Positive East Longitude", "true", "180 East Longitude", ""}) <<
146  QList<QString>({"180 Positive West Longitude", "false", "180 West Longitude", ""}) <<
147  QList<QString>({"Projected X:Projected Y", "false", "Projected X:Projected Y",
148  "X and Y values for a projected image"}) <<
149  QList<QString>({"Local Radius", "false", "Radius", ""}) <<
150  QList<QString>({"Point X:Point Y:Point Z", "false", "XYZ",
151  "The X, Y, and Z of surface intersection in body-fixed coordinates"}) <<
152  QList<QString>({"Right Ascension:Declination", "false", "Ra:Dec",
153  "Right Ascension and Declination"}) <<
154  QList<QString>({"Resolution", "false", "Resolution", ""}) <<
155  QList<QString>({"Oblique Pixel Resolution", "false", "Oblique Pixel Res", ""}) <<
156  QList<QString>({"Phase", "false", "Phase", ""}) <<
157  QList<QString>({"Incidence", "false", "Incidence", ""}) <<
158  QList<QString>({"Emission", "false", "Emission", ""}) <<
159  QList<QString>({"LocalIncidence", "false", "LocalIncidence", ""}) <<
160  QList<QString>({"LocalEmission", "false", "LocalEmission", ""}) <<
161  QList<QString>({"North Azimuth", "false", "North Azimuth", ""}) <<
162  QList<QString>({"Sun Azimuth", "false", "Sun Azimuth", ""}) <<
163  QList<QString>({"Solar Longitude", "false", "Solar Longitude", ""}) <<
164  QList<QString>({"Spacecraft X:Spacecraft Y:Spacecraft Z", "false", "Spacecraft Position",
165  "The X, Y, and Z of the spacecraft position"}) <<
166  QList<QString>({"Spacecraft Azimuth", "false", "Spacecraft Azimuth", ""}) <<
167  QList<QString>({"Slant Distance", "false", "Slant Distance", ""}) <<
168  QList<QString>({"Focal Plane X:Focal Plane Y", "false", "Focal Plane X:Y", ""}) <<
169  QList<QString>({"Undistorted Focal X:Undistorted Focal Y:Undistorted Focal Z",
170  "false", "Undistorted Focal Plane X:Y:Z", ""}) <<
171  QList<QString>({"Ephemeris Time", "false", "Ephemeris iTime", ""}) <<
172  QList<QString>({"Local Solar Time", "false", "Local Solar iTime", ""}) <<
173  QList<QString>({"UTC", "false", "UTC", "Internal time in UTC format"}) <<
174  QList<QString>({"Path", "false", "Path", ""}) <<
175  QList<QString>({"FileName", "false", "FileName", ""}) <<
176  QList<QString>({"Serial Number", "false", "Serial Number", ""}) <<
177  QList<QString>({"Track Mosaic Index", "false", "Track Mosaic Index", ""}) <<
178  QList<QString>({"Track Mosaic FileName", "false", "Track Mosaic FileName", ""}) <<
179  QList<QString>({"Track Mosaic Serial Number", "false", "Track Mosaic Serial Number", ""}) <<
180  QList<QString>({"Notes", "false", "Notes", ""});
181 
182  QAction *p_action;
183  int p_numRows;
184  int p_id;
185  TableMainWindow *p_tableWin;
186  bool m_showHelpOnStart;
187  };
188 };
189 
190 #endif
Isis::PixelToString
QString PixelToString(double d)
Takes a double pixel value and returns the name of the pixel type as a string.
Definition: SpecialPixel.h:371
Isis::SizeOf
int SizeOf(Isis::PixelType pixelType)
Returns the number of bytes of the specified PixelType.
Definition: PixelType.h:46
Isis::MdiCubeViewport
Cube display widget for certain Isis MDI applications.
Definition: MdiCubeViewport.h:39
QWidget
Isis::AdvancedTrackTool::mouseMove
virtual void mouseMove(QPoint p)
This method is called when the mouse has moved across the viewport and updates the row accordingly.
Definition: AdvancedTrackTool.cpp:185
Isis::IException::Io
@ Io
A type of error that occurred when performing an actual I/O operation.
Definition: IException.h:155
Isis::TableMainWindow::setCurrentIndex
void setCurrentIndex(int currentIndex)
Sets the current index to currentIndex.
Definition: TableMainWindow.cpp:906
MdiCubeViewport.h
Isis::TableMainWindow::table
QTableWidget * table() const
Returns the table.
Definition: TableMainWindow.h:70
Isis::trackingTableName
const QString trackingTableName
Definition: TrackingTable.h:19
QList
This is free and unencumbered software released into the public domain.
Definition: BoxcarCachingAlgorithm.h:13
Isis::Tool::cubeViewportList
CubeViewportList * cubeViewportList() const
Return the list of cubeviewports.
Definition: Tool.cpp:390
Isis::Tool
Base class for the Qisis tools.
Definition: Tool.h:67
SpecialPixel.h
QMenu
Target.h
Isis::Tool::toolIconDir
QString toolIconDir() const
returns the path to the icon directory.
Definition: Tool.h:113
Isis::VALID_MIN1
const unsigned char VALID_MIN1
Definition: SpecialPixel.h:181
Isis::SerialNumber::Compose
static QString Compose(Pvl &label, bool def2filename=false)
Compose a SerialNumber from a PVL.
Definition: SerialNumber.cpp:38
Longitude.h
Tool.h
Isis::AdvancedTrackTool::addToPermanent
void addToPermanent(QToolBar *perm)
This method adds the action to bring up the track tool to the permanent tool bar.
Definition: AdvancedTrackTool.cpp:175
Isis::AdvancedTrackTool::record
void record(QPoint p)
This slot updates the row with data from the point given and records data to the current row.
Definition: AdvancedTrackTool.cpp:821
QToolBar
Isis::TableMainWindow::addToTable
void addToTable(bool setOn, const QString &heading, const QString &menuText="", int insertAt=-1, Qt::Orientation o=Qt::Horizontal, QString toolTip="")
Adds a new column to the table when a new curve is added to the plot.
Definition: TableMainWindow.cpp:208
TrackingTable.h
Isis::TableMainWindow::setTrackListItems
void setTrackListItems(bool track=false)
If this property is true, the class will keep track of the checked/unchecked items in the dock area w...
Definition: TableMainWindow.cpp:875
Isis::TableMainWindow::showTable
void showTable()
This method checks to see if the table has been created.
Definition: TableMainWindow.cpp:383
FLOAT_MIN
#define FLOAT_MIN
Definition: AdvancedTrackTool.cpp:46
Isis::AdvancedTrackTool::addTo
void addTo(QMenu *menu)
This method adds the action to bring up the track tool to the menu.
Definition: AdvancedTrackTool.cpp:165
Isis::TableMainWindow::clearRow
void clearRow(int row)
This method clears the text of the given row.
Definition: TableMainWindow.cpp:452
Isis::TableMainWindow::currentIndex
int currentIndex() const
Returns the current index.
Definition: TableMainWindow.h:104
Isis::VALID_MIN2
const short VALID_MIN2
Definition: SpecialPixel.h:153
_FILEINFO_
#define _FILEINFO_
Macro for the filename and line number.
Definition: IException.h:24
AdvancedTrackTool.h
Isis::AdvancedTrackTool::AdvancedTrackTool
AdvancedTrackTool(QWidget *parent)
Constructs an AdvancedTrackTool object.
Definition: AdvancedTrackTool.cpp:53
CameraDistortionMap.h
Isis::TableMainWindow::setCurrentRow
void setCurrentRow(int row)
Sets the current row to row.
Definition: TableMainWindow.cpp:896
CameraFocalPlaneMap.h
Isis::TableMainWindow
a subclass of the qisis mainwindow, tablemainwindow handles all of the table tasks.
Definition: TableMainWindow.h:57
Isis::RingPlaneProjection::To180Domain
static double To180Domain(const double lon)
This method converts a ring longitude into the -180 to 180 domain.
Definition: RingPlaneProjection.cpp:352
TableMainWindow.h
Isis::TProjection::To180Domain
static double To180Domain(const double lon)
This method converts a longitude into the -180 to 180 domain.
Definition: TProjection.cpp:657
TProjection.h
Camera.h
Isis::Null
const double Null
Value for an Isis Null pixel.
Definition: SpecialPixel.h:95
Isis::AdvancedTrackTool::mouseLeave
virtual void mouseLeave()
This method is called when the mouse leaves the viewport and clears any rows accordingly.
Definition: AdvancedTrackTool.cpp:194
Isis::IException::Programmer
@ Programmer
This error is for when a programmer made an API call that was illegal.
Definition: IException.h:146
Isis::IsValidPixel
bool IsValidPixel(const double d)
Returns if the input pixel is valid.
Definition: SpecialPixel.h:223
Isis::Tool::activate
void activate(bool)
Activates the tool.
Definition: Tool.cpp:131
Isis::TableMainWindow::setStatusMessage
void setStatusMessage(QString message)
sets the status message in the lower lefthand corner of the window.
Definition: TableMainWindow.cpp:191
RingPlaneProjection.h
Angle.h
Isis::TProjection::ToPlanetographic
double ToPlanetographic(const double lat) const
This method converts a planetocentric latitude to a planetographic latitude.
Definition: TProjection.cpp:463
Projection.h
Isis::TableMainWindow::currentRow
int currentRow() const
Returns the current row.
Definition: TableMainWindow.h:114
Isis::Projection::Triaxial
@ Triaxial
These projections are used to map triaxial and irregular-shaped bodies.
Definition: Projection.h:166
QDialog
Isis::AdvancedTrackTool
Tool to display info for a point on a cube.
Definition: AdvancedTrackTool.h:91
iTime.h
QObject
Distance.h
SerialNumber.h
QAction
Isis::NULLUI4
const unsigned int NULLUI4
Definition: SpecialPixel.h:172
Isis::AdvancedTrackTool::menuName
QString menuName() const
This method returns the menu name associated with this tool.
Definition: AdvancedTrackTool.h:112
Isis::Projection::ProjectionType
ProjectionType
This enum defines the subclasses of Projection supported in Isis.
Definition: Projection.h:166
Isis::Tool::cubeViewport
MdiCubeViewport * cubeViewport() const
Return the current cubeviewport.
Definition: Tool.h:197
Isis::AdvancedTrackTool::eventFilter
bool eventFilter(QObject *o, QEvent *e)
An event filter that calls methods on certain events.
Definition: AdvancedTrackTool.cpp:144
Isis
This is free and unencumbered software released into the public domain.
Definition: Apollo.h:16