Isis 3 Programmer Reference
|
Tool for measuring shadow heights. More...
#include <SunShadowTool.h>
Public Slots | |
void | activate (bool) |
Activates the tool. More... | |
void | setCubeViewport (MdiCubeViewport *cvp) |
Sets the current viewport to the given cvp. More... | |
Signals | |
void | clearWarningSignal () |
void | toolActivated () |
void | viewportChanged () |
Public Member Functions | |
SunShadowTool (QWidget *parent) | |
Construct a sun shadow tool. More... | |
void | addTo (QMenu *menu) |
Adds the measure action to the given menu. More... | |
void | paintViewport (MdiCubeViewport *vp, QPainter *painter) |
Paint anything we need to on the viewport. More... | |
void | addTo (ViewportMainWindow *mw) |
Adds the tool to the application. More... | |
void | addTo (ToolPad *toolpad) |
Adds the tool to the toolpad. More... | |
virtual void | addTo (Workspace *ws) |
Adds the given workspace to the cubeviewport list. More... | |
virtual QString | menuName () const |
Anytime a tool is created, you must give it a name for the menu. More... | |
virtual void | addToPermanent (QToolBar *toolbar) |
void | addToActive (QToolBar *toolbar) |
QString | toolIconDir () const |
returns the path to the icon directory. More... | |
RubberBandTool * | rubberBandTool () |
void | setList (ToolList *currentList) |
Protected Types | |
typedef QVector< MdiCubeViewport *> | CubeViewportList |
A list of cubeviewports. More... | |
Protected Slots | |
virtual void | mouseMove (QPoint p) |
When the mouse moves, if we're tracking then we go ahead and update all of our calculated values for the shadow measurement. More... | |
virtual void | mouseButtonPress (QPoint p, Qt::MouseButton s) |
When the mouse left button is pressed we start tracking. More... | |
virtual void | mouseButtonRelease (QPoint p, Qt::MouseButton s) |
When the mouse left button is released we finish tracking. More... | |
virtual void | rubberBandComplete () |
virtual void | screenPixelsChanged () |
This is called when actions change which pixels from the cube are displayed. More... | |
virtual void | mouseEnter () |
virtual void | mouseMove (QPoint p, Qt::MouseButton) |
virtual void | mouseLeave () |
Protected Member Functions | |
QWidget * | createToolBarWidget (QStackedWidget *parent) |
Creates the widget (button) that goes on the tool bar. More... | |
QAction * | toolPadAction (ToolPad *pad) |
Create an action for activating this tool. More... | |
void | updateTool () |
This enables/disables this tool's functionality based on the active viewport's compatibility. More... | |
virtual void | mouseDoubleClick (QPoint p) |
virtual void | updateMeasure () |
virtual void | scaleChanged () |
virtual void | stretchRequested (MdiCubeViewport *, int) |
void | registerTool (MdiCubeViewport *viewport) |
Registers the tool to the viewport. More... | |
MdiCubeViewport * | cubeViewport () const |
Return the current cubeviewport. More... | |
CubeViewportList * | cubeViewportList () const |
Return the list of cubeviewports. More... | |
virtual void | addConnections (MdiCubeViewport *cvp) |
Anytime a tool is created, you must add the connections for it. More... | |
virtual void | removeConnections (MdiCubeViewport *cvp) |
Anytime a tool is created, you must be able to remove it's connections. More... | |
virtual void | enableRubberBandTool () |
Anytime a tool is created, you may use the rubber band tool. More... | |
Workspace * | workspace () |
Private Types | |
enum | TableColumnIndex { StartLatIndex = 2, StartLonIndex, EndLatIndex, EndLonIndex, StartSampIndex, StartLineIndex, EndSampIndex, EndLineIndex, ShadowLengthKmIndex, ShadowLengthMIndex, ShadowHeightKmIndex, ShadowHeightMIndex, IncidenceAngleDegreesIndex, IncidenceAngleRadiansIndex, PathIndex, FileNameIndex } |
Enum for storing all the indexes. More... | |
Private Slots | |
void | updateShadowHeightEdit () |
Change the value in the distance edit to match the units. More... | |
void | reinitialize () |
Clear all calculated values and then re-calculate them. More... | |
Private Member Functions | |
void | addRow () |
Add a results row to the table. More... | |
void | recalculateShadowHeight () |
Try to calculate the shadow height. More... | |
void | updateRow (int row) |
This method updates the row in the table window with the current measure information. More... | |
Private Attributes | |
QLineEdit * | m_shadowHeightLineEdit |
This displays the currently calculated height of the measured shadow. More... | |
QComboBox * | m_unitsComboBox |
User can choose the height line edit's units (M or KM) More... | |
QCheckBox * | m_drawInSunDirection |
Check box to enable/disable confining tracking to sun direction. More... | |
double | m_startSamp |
Start sample of the measurement. More... | |
double | m_startLine |
Start line of the measurement. More... | |
SurfacePoint * | m_startSurfacePoint |
Start ground coordinate of the measurement. More... | |
double | m_endSamp |
End sample of the measurement. More... | |
double | m_endLine |
End line of the measurement. More... | |
SurfacePoint * | m_endSurfacePoint |
End ground coordinate of the measurement. More... | |
Angle * | m_incidenceAngle |
Incidence angle from the normal at the end point. More... | |
Distance * | m_shadowHeight |
Calculated shadow height. More... | |
Distance * | m_shadowLength |
Calculated shadow length. More... | |
QString | m_path |
Current cube file path. More... | |
QString | m_fileName |
Current cube file name. More... | |
TableMainWindow * | m_tableWin |
Table window for displaying all of the table information. More... | |
bool | m_enabled |
True if this tool is enabled (capable of working). Requires a camera. More... | |
bool | m_tracking |
True if currently tracking the user's mouse position and calculating values on every mouse move. More... | |
Angle * | m_trackingAngle |
The angle that we want mouse tracking to be in. More... | |
Tool for measuring shadow heights.
2012-07-06 Debbie A. Cook - Updated Spice members to be more compliant with Isis coding standards. References #972.
2014-01-16 Kimberly Oyama - Corrected the equation, in the recalculateShadowHeight() method, that finds the height of the object casting the shadow. It now uses the tangent of the angle multiplied by the length of the shadow instead of the sine of the angle. Fixes #1933.
Definition at line 39 of file SunShadowTool.h.
|
protectedinherited |
|
private |
Enum for storing all the indexes.
Enumerator | |
---|---|
StartLatIndex | Start lat table column index. |
StartLonIndex | Start lon table column index. |
EndLatIndex | End lat table column index. |
EndLonIndex | End lon table column index. |
StartSampIndex | Start cube sample table column index. |
StartLineIndex | Start cube line table column index. |
EndSampIndex | End cube sample table column index. |
EndLineIndex | End cube line table column index. |
ShadowLengthKmIndex | Shadow length in kilometers table column index. |
ShadowLengthMIndex | Shadow length in meters table column index. |
ShadowHeightKmIndex | Shadow height in kilometers table column index. |
ShadowHeightMIndex | Shadow height in meters table column index. |
IncidenceAngleDegreesIndex | Incidence angle in degrees table column index. |
IncidenceAngleRadiansIndex | Incidence angle in radians table column index. |
PathIndex | Cube file path table column index. |
FileNameIndex | Cube file name table column index. |
Definition at line 79 of file SunShadowTool.h.
Isis::SunShadowTool::SunShadowTool | ( | QWidget * | parent | ) |
Construct a sun shadow tool.
parent | The qt-parent relationship parent. |
Definition at line 35 of file SunShadowTool.cpp.
References Isis::TableMainWindow::addToTable(), m_drawInSunDirection, m_enabled, m_endSurfacePoint, m_incidenceAngle, m_shadowHeight, m_shadowLength, m_startSurfacePoint, m_tableWin, m_tracking, m_trackingAngle, reinitialize(), Isis::TableMainWindow::setStatusMessage(), and Isis::TableMainWindow::setTrackListItems().
|
slotinherited |
Activates the tool.
on |
Definition at line 131 of file Tool.cpp.
References Isis::Tool::addViewportConnections(), Isis::Tool::disableToolBar(), Isis::Tool::enableToolBar(), Isis::Tool::m_active, Isis::Tool::m_toolPadAction, and Isis::Tool::removeViewportConnections().
Referenced by Isis::Tool::addTo(), Isis::AdvancedTrackTool::AdvancedTrackTool(), Isis::RubberBandTool::disable(), Isis::RubberBandTool::enable(), Isis::AdvancedTrackTool::eventFilter(), Isis::FileTool::FileTool(), Isis::RubberBandTool::RubberBandTool(), Isis::TrackTool::TrackTool(), Isis::WindowTool::WindowTool(), and Isis::Workspace::Workspace().
|
inlineprotectedvirtualinherited |
Anytime a tool is created, you must add the connections for it.
cvp |
Reimplemented in Isis::TrackTool, and Isis::WindowTool.
Definition at line 253 of file Tool.h.
Referenced by Isis::Tool::addViewportConnections().
|
private |
Add a results row to the table.
Definition at line 436 of file SunShadowTool.cpp.
References m_tableWin, and Isis::TableMainWindow::table().
Referenced by mouseButtonPress().
|
virtual |
Adds the measure action to the given menu.
menu |
Reimplemented from Isis::Tool.
Definition at line 174 of file SunShadowTool.cpp.
|
inherited |
Adds the tool to the application.
pViewPortMnWin |
Definition at line 78 of file Tool.cpp.
References Isis::ViewportMainWindow::activeToolBar(), Isis::Tool::addToActive(), Isis::Tool::addToPermanent(), Isis::ViewportMainWindow::getMenu(), Isis::Tool::menuName(), Isis::ViewportMainWindow::permanentToolBar(), Isis::ViewportMainWindow::toolPad(), and Isis::ViewportMainWindow::workspace().
Referenced by Isis::WindowTool::addTo(), Isis::SpecialPixelTool::addTo(), Isis::FileTool::addTo(), Isis::EditTool::addTo(), Isis::ViewportMainWindow::ViewportMainWindow(), and Isis::Workspace::Workspace().
|
inherited |
Adds the tool to the toolpad.
toolpad |
Definition at line 98 of file Tool.cpp.
References Isis::Tool::activate(), Isis::ToolPad::addAction(), Isis::Tool::m_toolPadAction, and Isis::Tool::toolPadAction().
|
virtualinherited |
Adds the given workspace to the cubeviewport list.
ws |
Reimplemented in Isis::EditTool, Isis::FileTool, Isis::SpecialPixelTool, and Isis::WindowTool.
Definition at line 45 of file Tool.cpp.
References Isis::Tool::registerTool(), and Isis::Tool::setCubeViewport().
|
inherited |
toolbar |
Definition at line 112 of file Tool.cpp.
References Isis::Tool::createToolBarWidget(), Isis::Tool::disableToolBar(), and Isis::Tool::m_toolBarWidget.
Referenced by Isis::Tool::addTo(), and Isis::Workspace::Workspace().
|
inlinevirtualinherited |
toolbar |
Reimplemented in Isis::AdvancedTrackTool, Isis::FileTool, Isis::HelpTool, Isis::SpecialPixelTool, Isis::BlinkTool, and Isis::WindowTool.
Definition at line 111 of file Tool.h.
Referenced by Isis::Tool::addTo(), and Isis::Workspace::Workspace().
|
protectedvirtual |
Creates the widget (button) that goes on the tool bar.
parent |
Reimplemented from Isis::Tool.
Definition at line 118 of file SunShadowTool.cpp.
References Isis::Distance::Kilometers, m_drawInSunDirection, m_shadowHeightLineEdit, m_tableWin, m_unitsComboBox, Isis::Distance::Meters, and updateShadowHeightEdit().
|
inlineprotectedinherited |
Return the current cubeviewport.
Definition at line 211 of file Tool.h.
References Isis::Tool::m_cvp.
Referenced by Isis::WindowTool::addConnections(), Isis::TrackTool::addConnections(), Isis::StretchTool::advancedStretchChanged(), Isis::FindTool::centerLinkedViewports(), Isis::StretchTool::changeStretch(), Isis::BandTool::changeView(), Isis::BandTool::copyLinkedViewports(), Isis::FileTool::discard(), Isis::Tool::enableToolBar(), Isis::FileTool::exportToList(), Isis::FileTool::exportView(), Isis::StatisticsTool::getStatistics(), Isis::FindTool::handleRecordClicked(), Isis::EditTool::LineToPoints(), Isis::TrackTool::locateCursor(), mouseButtonPress(), Isis::ControlNetTool::mouseButtonRelease(), Isis::RubberBandTool::mouseButtonRelease(), Isis::EditTool::mouseButtonRelease(), Isis::FeatureNomenclatureTool::mouseButtonRelease(), Isis::FindTool::mouseButtonRelease(), Isis::StretchTool::mouseButtonRelease(), Isis::MatchTool::mouseButtonRelease(), Isis::QnetTool::mouseButtonRelease(), Isis::AdvancedTrackTool::mouseLeave(), Isis::ScatterPlotTool::mouseMove(), mouseMove(), Isis::TrackTool::mouseMove(), Isis::RubberBandTool::mouseMove(), paintViewport(), Isis::RubberBandTool::paintViewport(), Isis::FindTool::paintViewport(), Isis::FileTool::print(), recalculateShadowHeight(), Isis::EditTool::redoEdit(), Isis::FindTool::refresh(), Isis::HistogramTool::refreshPlot(), Isis::SpatialPlotTool::refreshPlot(), Isis::SpectralPlotTool::refreshPlot(), Isis::WindowTool::removeConnections(), Isis::TrackTool::removeConnections(), Isis::RubberBandTool::repaint(), Isis::WindowTool::resizeWindows(), Isis::HistogramTool::rubberBandComplete(), Isis::MeasureTool::rubberBandComplete(), Isis::ZoomTool::rubberBandComplete(), Isis::EditTool::rubberBandComplete(), Isis::StretchTool::rubberBandComplete(), Isis::FileTool::save(), Isis::FileTool::saveAs(), Isis::FileTool::saveAsCubeByOption(), Isis::FileTool::saveAsReducedCube(), Isis::FileTool::saveInfo(), Isis::BandTool::setBandBin(), Isis::BandTool::setList(), Isis::StretchTool::setStretchAcrossBands(), Isis::StretchTool::setStretchAllViewports(), Isis::StretchTool::showAdvancedDialog(), Isis::ScatterPlotTool::showNewScatterPlotConfig(), Isis::StretchTool::stretchChanged(), Isis::StretchTool::stretchGlobal(), Isis::StretchTool::stretchGlobalAllBands(), Isis::StretchTool::stretchRegional(), Isis::EditTool::undoEdit(), Isis::StretchTool::updateAdvStretchDialogforAll(), Isis::StretchTool::updateHistograms(), Isis::TrackTool::updateLabels(), Isis::MeasureTool::updateMeasure(), Isis::AdvancedTrackTool::updateRow(), Isis::WindowTool::updateTool(), Isis::BlinkTool::updateTool(), Isis::SpecialPixelTool::updateTool(), Isis::BandTool::updateTool(), updateTool(), Isis::AbstractPlotTool::updateTool(), Isis::ZoomTool::updateTool(), Isis::FileTool::updateTool(), Isis::EditTool::updateTool(), Isis::FindTool::updateTool(), Isis::StretchTool::updateTool(), Isis::AbstractPlotTool::viewportsToPlot(), Isis::EditTool::writeToCube(), Isis::ZoomTool::zoomBy(), Isis::ZoomTool::zoomFit(), Isis::ZoomTool::zoomFitHeight(), Isis::ZoomTool::zoomFitWidth(), and Isis::ZoomTool::zoomManual().
|
protectedinherited |
Return the list of cubeviewports.
Definition at line 390 of file Tool.cpp.
References Isis::Workspace::cubeViewportList().
Referenced by Isis::BlinkTool::advance(), Isis::SpecialPixelTool::apply(), Isis::FindTool::centerLinkedViewports(), Isis::WindowTool::changeCursor(), Isis::FileTool::closeAll(), Isis::BandTool::copyAllViewports(), Isis::BandTool::copyLinkedViewports(), Isis::MatchTool::createPoint(), Isis::BlinkTool::eventFilter(), Isis::FeatureNomenclatureTool::featuresIdentified(), Isis::FeatureNomenclatureTool::findMissingNomenclature(), Isis::FeatureNomenclatureTool::findNomenclatureStateChanged(), Isis::FindTool::handleLinkClicked(), Isis::WindowTool::linkWindows(), Isis::RubberBandTool::mouseButtonRelease(), Isis::RubberBandTool::mouseMove(), Isis::QnetTool::openGround(), Isis::StereoTool::paintAllViewports(), Isis::ControlNetTool::paintAllViewports(), Isis::MatchTool::paintAllViewports(), Isis::QnetTool::paintAllViewports(), Isis::FindTool::refresh(), Isis::ScatterPlotTool::repaintViewports(), Isis::AbstractPlotTool::repaintViewports(), Isis::WindowTool::resizeWindows(), Isis::BlinkTool::reverse(), Isis::ZoomTool::rubberBandComplete(), Isis::MatchTool::serialNumberList(), Isis::ControlNetTool::setControlNet(), Isis::FeatureNomenclatureTool::setFontColor(), Isis::FeatureNomenclatureTool::setFontSize(), Isis::FeatureNomenclatureTool::setShowApprovedOnly(), Isis::StretchTool::setStretchAllViewports(), Isis::FeatureNomenclatureTool::setVectorType(), Isis::StretchTool::stretchGlobalAllViewports(), Isis::BlinkTool::toggleLink(), Isis::WindowTool::unlinkWindows(), Isis::MeasureTool::updateMeasure(), Isis::AdvancedTrackTool::updateRow(), Isis::WindowTool::updateTool(), Isis::BlinkTool::updateTool(), Isis::FindTool::updateTool(), Isis::AbstractPlotTool::viewportsToPlot(), Isis::ZoomTool::zoomBy(), Isis::ZoomTool::zoomFit(), Isis::ZoomTool::zoomFitHeight(), Isis::ZoomTool::zoomFitWidth(), and Isis::ZoomTool::zoomManual().
|
protectedvirtualinherited |
Anytime a tool is created, you may use the rubber band tool.
Enable the use of the rubberband tool.
Reimplemented in Isis::RubberBandTool, Isis::ZoomTool, Isis::MeasureTool, Isis::StereoTool, Isis::SpatialPlotTool, Isis::SpectralPlotTool, and Isis::HistogramTool.
Definition at line 339 of file Tool.cpp.
References Isis::RubberBandTool::disable().
Referenced by Isis::Tool::addViewportConnections().
|
inlinevirtualinherited |
Anytime a tool is created, you must give it a name for the menu.
Reimplemented in Isis::FindTool, Isis::StretchTool, Isis::FeatureNomenclatureTool, Isis::AdvancedTrackTool, Isis::FileTool, Isis::ZoomTool, Isis::MeasureTool, Isis::BandTool, Isis::HelpTool, Isis::SpecialPixelTool, Isis::BlinkTool, Isis::WindowTool, and Isis::PanTool.
Definition at line 97 of file Tool.h.
Referenced by Isis::Tool::addTo(), and Isis::Workspace::Workspace().
|
protectedvirtualslot |
When the mouse left button is pressed we start tracking.
p | The current mouse position in viewport screen pixel coordinates |
s | The mouse button that was pressed. |
Definition at line 269 of file SunShadowTool.cpp.
References addRow(), Isis::Cube::camera(), Isis::CubeViewport::cube(), Isis::Tool::cubeViewport(), Isis::Angle::Degrees, m_enabled, m_startLine, m_startSamp, m_tableWin, m_tracking, m_trackingAngle, Isis::Null, reinitialize(), Isis::Camera::SetImage(), Isis::Camera::SunAzimuth(), and Isis::CubeViewport::viewportToCube().
|
protectedvirtualslot |
When the mouse left button is released we finish tracking.
p | The current mouse position in viewport screen pixel coordinates |
s | The mouse button that was pressed. |
Definition at line 301 of file SunShadowTool.cpp.
References m_tracking, and mouseMove().
|
protectedvirtualinherited |
p |
Definition at line 358 of file Tool.cpp.
Referenced by Isis::Tool::addViewportConnections(), and Isis::Tool::removeViewportConnections().
|
protectedvirtualslot |
When the mouse moves, if we're tracking then we go ahead and update all of our calculated values for the shadow measurement.
p | The current mouse position in viewport screen pixel coordinates |
Definition at line 212 of file SunShadowTool.cpp.
References Isis::Tool::cubeViewport(), Isis::Angle::Degrees, Isis::Angle::isValid(), m_drawInSunDirection, m_endLine, m_endSamp, m_startLine, m_startSamp, m_tableWin, m_tracking, m_trackingAngle, Isis::Angle::radians(), recalculateShadowHeight(), Isis::TableMainWindow::table(), updateRow(), and Isis::CubeViewport::viewportToCube().
Referenced by mouseButtonRelease().
|
virtual |
Paint anything we need to on the viewport.
Currently, we draw a line along where the user is measuring a shadow.
vp | Viewport to paint |
painter | The painter to use for painting |
Reimplemented from Isis::Tool.
Definition at line 185 of file SunShadowTool.cpp.
References Isis::CubeViewport::cubeToViewport(), Isis::Tool::cubeViewport(), m_endLine, m_endSamp, m_startLine, m_startSamp, and Isis::Null.
|
private |
Try to calculate the shadow height.
Initialize as many member data variables as possible along the way for reporting to the user.
Definition at line 452 of file SunShadowTool.cpp.
References Isis::Cube::camera(), Isis::CubeViewport::cube(), Isis::Tool::cubeViewport(), Isis::Angle::Degrees, Isis::Sensor::GetSurfacePoint(), Isis::Sensor::IncidenceAngle(), m_endLine, m_endSamp, m_endSurfacePoint, m_fileName, m_incidenceAngle, m_path, m_shadowHeight, m_shadowLength, m_startLine, m_startSamp, m_startSurfacePoint, Isis::Distance::Meters, Isis::Displacement::meters(), Isis::Distance::meters(), Isis::FileName::name(), Isis::Null, Isis::FileName::path(), Isis::Spice::radii(), reinitialize(), Isis::Camera::SetImage(), Isis::Spice::sunPosition(), and updateShadowHeightEdit().
Referenced by mouseMove(), and reinitialize().
|
protectedinherited |
Registers the tool to the viewport.
viewport |
Definition at line 327 of file Tool.cpp.
References Isis::Tool::m_cvp, and Isis::MdiCubeViewport::registerTool().
Referenced by Isis::Tool::addTo().
|
privateslot |
Clear all calculated values and then re-calculate them.
Definition at line 417 of file SunShadowTool.cpp.
References m_endLine, m_endSamp, m_endSurfacePoint, m_incidenceAngle, m_shadowHeight, m_shadowLength, m_startLine, m_startSamp, m_startSurfacePoint, Isis::Null, and recalculateShadowHeight().
Referenced by mouseButtonPress(), recalculateShadowHeight(), and SunShadowTool().
|
inlineprotectedvirtualinherited |
Anytime a tool is created, you must be able to remove it's connections.
cvp |
Reimplemented in Isis::MeasureTool, Isis::TrackTool, and Isis::WindowTool.
Definition at line 261 of file Tool.h.
Referenced by Isis::Tool::removeViewportConnections().
|
inlineprotectedvirtualslotinherited |
This is called when actions change which pixels from the cube are displayed.
Definition at line 162 of file Tool.h.
Referenced by Isis::Tool::addViewportConnections(), Isis::Tool::removeViewportConnections(), and Isis::FeatureNomenclatureTool::viewportDone().
|
slotinherited |
Sets the current viewport to the given cvp.
cvp |
Definition at line 160 of file Tool.cpp.
References Isis::Tool::addViewportConnections(), Isis::Tool::enableToolBar(), Isis::Tool::m_active, Isis::Tool::m_cvp, Isis::Tool::removeViewportConnections(), and Isis::Tool::updateTool().
Referenced by Isis::Tool::addTo(), and Isis::FileTool::closeAll().
|
inlineinherited |
returns the path to the icon directory.
Definition at line 127 of file Tool.h.
References Isis::Tool::m_toolIconDir.
Referenced by Isis::AdvancedTrackTool::AdvancedTrackTool(), Isis::BlinkTool::BlinkTool(), Isis::MatchTool::createActions(), Isis::QnetTool::createActions(), Isis::StereoTool::createMenus(), Isis::PanTool::createToolBarWidget(), Isis::BandTool::createToolBarWidget(), Isis::StereoTool::createToolBarWidget(), Isis::ZoomTool::createToolBarWidget(), Isis::EditTool::createToolBarWidget(), Isis::FindTool::createToolBarWidget(), Isis::StretchTool::createToolBarWidget(), Isis::FileTool::FileTool(), Isis::FindTool::FindTool(), Isis::HistogramTool::HistogramTool(), Isis::SpecialPixelTool::SpecialPixelTool(), Isis::RubberBandComboBox::toolIconDir(), Isis::PanTool::toolPadAction(), Isis::ScatterPlotTool::toolPadAction(), Isis::HistogramTool::toolPadAction(), Isis::BandTool::toolPadAction(), toolPadAction(), Isis::SpectralPlotTool::toolPadAction(), Isis::SpatialPlotTool::toolPadAction(), Isis::MeasureTool::toolPadAction(), Isis::StereoTool::toolPadAction(), Isis::ControlNetTool::toolPadAction(), Isis::ZoomTool::toolPadAction(), Isis::EditTool::toolPadAction(), Isis::FeatureNomenclatureTool::toolPadAction(), Isis::StatisticsTool::toolPadAction(), Isis::FindTool::toolPadAction(), Isis::StretchTool::toolPadAction(), Isis::MatchTool::toolPadAction(), Isis::QnetTool::toolPadAction(), Isis::WindowTool::WindowTool(), and Isis::ZoomTool::ZoomTool().
Create an action for activating this tool.
toolpad | The tool pad that will contain the given action |
Reimplemented from Isis::Tool.
Definition at line 92 of file SunShadowTool.cpp.
References Isis::Tool::toolIconDir().
|
private |
This method updates the row in the table window with the current measure information.
row |
Definition at line 318 of file SunShadowTool.cpp.
References Isis::Angle::degrees(), EndLatIndex, EndLineIndex, EndLonIndex, EndSampIndex, FileNameIndex, Isis::SurfacePoint::GetLatitude(), Isis::SurfacePoint::GetLongitude(), IncidenceAngleDegreesIndex, IncidenceAngleRadiansIndex, Isis::Angle::isValid(), Isis::Distance::isValid(), Isis::Distance::kilometers(), m_endLine, m_endSamp, m_endSurfacePoint, m_fileName, m_incidenceAngle, m_path, m_shadowHeight, m_shadowLength, m_startLine, m_startSamp, m_startSurfacePoint, m_tableWin, Isis::Distance::meters(), Isis::Null, PathIndex, Isis::Angle::radians(), ShadowHeightKmIndex, ShadowHeightMIndex, ShadowLengthKmIndex, ShadowLengthMIndex, StartLatIndex, StartLineIndex, StartLonIndex, StartSampIndex, and Isis::TableMainWindow::table().
Referenced by mouseMove().
|
privateslot |
Change the value in the distance edit to match the units.
Definition at line 556 of file SunShadowTool.cpp.
References Isis::Distance::isValid(), Isis::Distance::Kilometers, Isis::Distance::kilometers(), m_shadowHeight, m_shadowHeightLineEdit, m_unitsComboBox, Isis::Distance::Meters, Isis::Distance::meters(), Isis::Distance::Pixels, Isis::Distance::SolarRadii, Isis::toInt(), and Isis::toString().
Referenced by createToolBarWidget(), recalculateShadowHeight(), and updateTool().
|
protectedvirtual |
This enables/disables this tool's functionality based on the active viewport's compatibility.
Reimplemented from Isis::Tool.
Definition at line 588 of file SunShadowTool.cpp.
References Isis::Cube::camera(), Isis::CubeViewport::cube(), Isis::Tool::cubeViewport(), m_enabled, m_shadowHeightLineEdit, m_unitsComboBox, and updateShadowHeightEdit().
|
private |
Check box to enable/disable confining tracking to sun direction.
Definition at line 74 of file SunShadowTool.h.
Referenced by createToolBarWidget(), mouseMove(), and SunShadowTool().
|
private |
True if this tool is enabled (capable of working). Requires a camera.
Definition at line 144 of file SunShadowTool.h.
Referenced by mouseButtonPress(), SunShadowTool(), and updateTool().
|
private |
End line of the measurement.
Definition at line 124 of file SunShadowTool.h.
Referenced by mouseMove(), paintViewport(), recalculateShadowHeight(), reinitialize(), and updateRow().
|
private |
End sample of the measurement.
Definition at line 122 of file SunShadowTool.h.
Referenced by mouseMove(), paintViewport(), recalculateShadowHeight(), reinitialize(), and updateRow().
|
private |
End ground coordinate of the measurement.
Definition at line 126 of file SunShadowTool.h.
Referenced by recalculateShadowHeight(), reinitialize(), SunShadowTool(), and updateRow().
|
private |
Current cube file name.
Definition at line 139 of file SunShadowTool.h.
Referenced by recalculateShadowHeight(), and updateRow().
|
private |
Incidence angle from the normal at the end point.
Definition at line 129 of file SunShadowTool.h.
Referenced by recalculateShadowHeight(), reinitialize(), SunShadowTool(), and updateRow().
|
private |
Current cube file path.
Definition at line 137 of file SunShadowTool.h.
Referenced by recalculateShadowHeight(), and updateRow().
|
private |
Calculated shadow height.
Definition at line 132 of file SunShadowTool.h.
Referenced by recalculateShadowHeight(), reinitialize(), SunShadowTool(), updateRow(), and updateShadowHeightEdit().
|
private |
This displays the currently calculated height of the measured shadow.
Definition at line 70 of file SunShadowTool.h.
Referenced by createToolBarWidget(), updateShadowHeightEdit(), and updateTool().
|
private |
Calculated shadow length.
Definition at line 134 of file SunShadowTool.h.
Referenced by recalculateShadowHeight(), reinitialize(), SunShadowTool(), and updateRow().
|
private |
Start line of the measurement.
Definition at line 117 of file SunShadowTool.h.
Referenced by mouseButtonPress(), mouseMove(), paintViewport(), recalculateShadowHeight(), reinitialize(), and updateRow().
|
private |
Start sample of the measurement.
Definition at line 115 of file SunShadowTool.h.
Referenced by mouseButtonPress(), mouseMove(), paintViewport(), recalculateShadowHeight(), reinitialize(), and updateRow().
|
private |
Start ground coordinate of the measurement.
Definition at line 119 of file SunShadowTool.h.
Referenced by recalculateShadowHeight(), reinitialize(), SunShadowTool(), and updateRow().
|
private |
Table window for displaying all of the table information.
Definition at line 142 of file SunShadowTool.h.
Referenced by addRow(), createToolBarWidget(), mouseButtonPress(), mouseMove(), SunShadowTool(), and updateRow().
|
private |
True if currently tracking the user's mouse position and calculating values on every mouse move.
Definition at line 149 of file SunShadowTool.h.
Referenced by mouseButtonPress(), mouseButtonRelease(), mouseMove(), and SunShadowTool().
|
private |
The angle that we want mouse tracking to be in.
Definition at line 151 of file SunShadowTool.h.
Referenced by mouseButtonPress(), mouseMove(), and SunShadowTool().
|
private |
User can choose the height line edit's units (M or KM)
Definition at line 72 of file SunShadowTool.h.
Referenced by createToolBarWidget(), updateShadowHeightEdit(), and updateTool().