Isis 3 Programmer Reference
|
Tool for measuring shadow heights. More...
#include <SunShadowTool.h>
Public Slots | |
void | activate (bool) |
Activates the tool. | |
void | setCubeViewport (MdiCubeViewport *cvp) |
Sets the current viewport to the given cvp. | |
Signals | |
void | clearWarningSignal () |
void | toolActivated () |
void | viewportChanged () |
Public Member Functions | |
SunShadowTool (QWidget *parent) | |
Construct a sun shadow tool. | |
void | addTo (QMenu *menu) |
Adds the measure action to the given menu. | |
void | paintViewport (MdiCubeViewport *vp, QPainter *painter) |
Paint anything we need to on the viewport. | |
void | addTo (ViewportMainWindow *mw) |
Adds the tool to the application. | |
void | addTo (ToolPad *toolpad) |
Adds the tool to the toolpad. | |
virtual void | addTo (Workspace *ws) |
Adds the given workspace to the cubeviewport list. | |
virtual QString | menuName () const |
Anytime a tool is created, you must give it a name for the menu. | |
virtual void | addToPermanent (QToolBar *toolbar) |
void | addToActive (QToolBar *toolbar) |
QString | toolIconDir () const |
returns the path to the icon directory. | |
RubberBandTool * | rubberBandTool () |
void | setList (ToolList *currentList) |
Protected Types | |
typedef QVector< MdiCubeViewport * > | CubeViewportList |
A list of cubeviewports. | |
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. | |
virtual void | mouseButtonPress (QPoint p, Qt::MouseButton s) |
When the mouse left button is pressed we start tracking. | |
virtual void | mouseButtonRelease (QPoint p, Qt::MouseButton s) |
When the mouse left button is released we finish tracking. | |
virtual void | rubberBandComplete () |
virtual void | screenPixelsChanged () |
This is called when actions change which pixels from the cube are displayed. | |
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. | |
QAction * | toolPadAction (ToolPad *pad) |
Create an action for activating this tool. | |
void | updateTool () |
This enables/disables this tool's functionality based on the active viewport's compatibility. | |
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. | |
MdiCubeViewport * | cubeViewport () const |
Return the current cubeviewport. | |
CubeViewportList * | cubeViewportList () const |
Return the list of cubeviewports. | |
virtual void | addConnections (MdiCubeViewport *cvp) |
Anytime a tool is created, you must add the connections for it. | |
virtual void | removeConnections (MdiCubeViewport *cvp) |
Anytime a tool is created, you must be able to remove it's connections. | |
virtual void | enableRubberBandTool () |
Anytime a tool is created, you may use the rubber band tool. | |
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. | |
void | reinitialize () |
Clear all calculated values and then re-calculate them. | |
Private Member Functions | |
void | addRow () |
Add a results row to the table. | |
void | recalculateShadowHeight () |
Try to calculate the shadow height. | |
void | updateRow (int row) |
This method updates the row in the table window with the current measure information. | |
void | addViewportConnections () |
Makes all the connections for the tool. | |
void | removeViewportConnections () |
Removes all the connections from the tool. | |
void | enableToolBar () |
Enables entire tool bar. | |
void | disableToolBar () |
Disables entire tool bar. | |
Private Attributes | |
QLineEdit * | m_shadowHeightLineEdit |
This displays the currently calculated height of the measured shadow. | |
QComboBox * | m_unitsComboBox |
User can choose the height line edit's units (M or KM) | |
QCheckBox * | m_drawInSunDirection |
Check box to enable/disable confining tracking to sun direction. | |
double | m_startSamp |
Start sample of the measurement. | |
double | m_startLine |
Start line of the measurement. | |
SurfacePoint * | m_startSurfacePoint |
Start ground coordinate of the measurement. | |
double | m_endSamp |
End sample of the measurement. | |
double | m_endLine |
End line of the measurement. | |
SurfacePoint * | m_endSurfacePoint |
End ground coordinate of the measurement. | |
Angle * | m_incidenceAngle |
Incidence angle from the normal at the end point. | |
Distance * | m_shadowHeight |
Calculated shadow height. | |
Distance * | m_shadowLength |
Calculated shadow length. | |
QString | m_path |
Current cube file path. | |
QString | m_fileName |
Current cube file name. | |
TableMainWindow * | m_tableWin |
Table window for displaying all of the table information. | |
bool | m_enabled |
True if this tool is enabled (capable of working). Requires a camera. | |
bool | m_tracking |
True if currently tracking the user's mouse position and calculating values on every mouse move. | |
Angle * | m_trackingAngle |
The angle that we want mouse tracking to be in. | |
MdiCubeViewport * | m_cvp |
current cubeviewport | |
Workspace * | m_workspace |
bool | m_active |
Is the tool acitve? | |
QWidget * | m_toolBarWidget |
The tool bar on which this tool resides. | |
QAction * | m_toolPadAction |
The tool pad on which this tool resides. | |
QString | m_toolIconDir |
The pathway to the icon directory. | |
ToolList * | m_toolList |
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 34 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(), and Isis::WindowTool::WindowTool().
|
inlineprotectedvirtualinherited |
Anytime a tool is created, you must add the connections for it.
cvp |
Reimplemented in Isis::TrackTool, and Isis::WindowTool.
Definition at line 239 of file Tool.h.
Referenced by Isis::Tool::addViewportConnections().
|
private |
Add a results row to the table.
Definition at line 434 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 173 of file SunShadowTool.cpp.
|
inherited |
Adds the tool to the toolpad.
toolpad |
Definition at line 98 of file Tool.cpp.
References Isis::Tool::activate(), Isis::Tool::m_toolPadAction, and Isis::Tool::toolPadAction().
|
inherited |
Adds the tool to the application.
pViewPortMnWin |
Definition at line 78 of file Tool.cpp.
References Isis::Tool::addTo(), Isis::Tool::addToActive(), Isis::Tool::addToPermanent(), and Isis::Tool::menuName().
Referenced by Isis::Tool::addTo(), Isis::EditTool::addTo(), Isis::FileTool::addTo(), Isis::SpecialPixelTool::addTo(), Isis::WindowTool::addTo(), Isis::ViewportMainWindow::ViewportMainWindow(), and Isis::Workspace::Workspace().
|
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().
|
inlinevirtualinherited |
toolbar |
Reimplemented in Isis::AdvancedTrackTool, Isis::BlinkTool, Isis::FileTool, Isis::HelpTool, Isis::SpecialPixelTool, and Isis::WindowTool.
Definition at line 97 of file Tool.h.
Referenced by Isis::Tool::addTo().
|
privateinherited |
Makes all the connections for the tool.
Definition at line 187 of file Tool.cpp.
References Isis::Tool::addConnections(), Isis::Tool::enableRubberBandTool(), Isis::Tool::m_cvp, Isis::Tool::m_toolPadAction, Isis::Tool::mouseButtonPress(), Isis::Tool::mouseButtonRelease(), Isis::Tool::mouseDoubleClick(), Isis::Tool::mouseMove(), and Isis::Tool::screenPixelsChanged().
Referenced by Isis::Tool::activate(), and Isis::Tool::setCubeViewport().
|
protectedvirtual |
Creates the widget (button) that goes on the tool bar.
parent |
Reimplemented from Isis::Tool.
Definition at line 117 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 197 of file Tool.h.
References Isis::Tool::m_cvp.
Referenced by Isis::TrackTool::addConnections(), Isis::WindowTool::addConnections(), Isis::StretchTool::advancedStretchChanged(), Isis::FindTool::centerLinkedViewports(), Isis::StretchTool::changeStretch(), Isis::BandTool::changeView(), Isis::BandTool::copyLinkedViewports(), Isis::StretchTool::deleteFromCube(), Isis::FileTool::discard(), Isis::Tool::enableToolBar(), Isis::FileTool::exportToList(), Isis::FileTool::exportView(), Isis::StatisticsTool::getStatistics(), Isis::FindTool::handleRecordClicked(), Isis::EditTool::LineToPoints(), Isis::StretchTool::loadStretchFromCube(), Isis::TrackTool::locateCursor(), mouseButtonPress(), Isis::EditTool::mouseButtonRelease(), Isis::ControlNetTool::mouseButtonRelease(), Isis::FeatureNomenclatureTool::mouseButtonRelease(), Isis::FindTool::mouseButtonRelease(), Isis::MatchTool::mouseButtonRelease(), Isis::QnetTool::mouseButtonRelease(), Isis::RubberBandTool::mouseButtonRelease(), Isis::StretchTool::mouseButtonRelease(), Isis::AdvancedTrackTool::mouseLeave(), mouseMove(), Isis::TrackTool::mouseMove(), Isis::RubberBandTool::mouseMove(), Isis::ScatterPlotTool::mouseMove(), Isis::LatLonGridTool::paintViewport(), Isis::FindTool::paintViewport(), Isis::RubberBandTool::paintViewport(), paintViewport(), Isis::FileTool::print(), recalculateShadowHeight(), Isis::EditTool::redoEdit(), Isis::FindTool::refresh(), Isis::HistogramTool::refreshPlot(), Isis::SpatialPlotTool::refreshPlot(), Isis::SpectralPlotTool::refreshPlot(), Isis::TrackTool::removeConnections(), Isis::WindowTool::removeConnections(), Isis::RubberBandTool::repaint(), Isis::WindowTool::resizeWindows(), Isis::EditTool::rubberBandComplete(), Isis::HistogramTool::rubberBandComplete(), Isis::MeasureTool::rubberBandComplete(), Isis::StretchTool::rubberBandComplete(), Isis::ZoomTool::rubberBandComplete(), Isis::FileTool::save(), Isis::FileTool::saveAs(), Isis::FileTool::saveAsCubeByOption(), Isis::FileTool::saveAsReducedCube(), Isis::FileTool::saveInfo(), Isis::StretchTool::saveStretchToCube(), 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::AdvancedTrackTool::updateRow(), Isis::AbstractPlotTool::updateTool(), Isis::BandTool::updateTool(), Isis::BlinkTool::updateTool(), Isis::EditTool::updateTool(), Isis::FileTool::updateTool(), Isis::FindTool::updateTool(), Isis::LatLonGridTool::updateTool(), Isis::SpecialPixelTool::updateTool(), Isis::StretchTool::updateTool(), updateTool(), Isis::WindowTool::updateTool(), Isis::ZoomTool::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::ControlNetTool::paintAllViewports(), Isis::MatchTool::paintAllViewports(), Isis::StereoTool::paintAllViewports(), Isis::QnetTool::paintAllViewports(), Isis::FindTool::refresh(), Isis::AbstractPlotTool::repaintViewports(), 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::BlinkTool::updateTool(), Isis::FindTool::updateTool(), Isis::WindowTool::updateTool(), Isis::AbstractPlotTool::viewportsToPlot(), Isis::ZoomTool::zoomBy(), Isis::ZoomTool::zoomFit(), Isis::ZoomTool::zoomFitHeight(), Isis::ZoomTool::zoomFitWidth(), and Isis::ZoomTool::zoomManual().
|
privateinherited |
Disables entire tool bar.
Definition at line 285 of file Tool.cpp.
References Isis::Tool::m_toolBarWidget.
Referenced by Isis::Tool::activate(), and Isis::Tool::addToActive().
|
protectedvirtualinherited |
Anytime a tool is created, you may use the rubber band tool.
Enable the use of the rubberband tool.
Reimplemented in Isis::HistogramTool, Isis::MeasureTool, Isis::RubberBandTool, Isis::SpatialPlotTool, Isis::SpectralPlotTool, Isis::StereoTool, and Isis::ZoomTool.
Definition at line 339 of file Tool.cpp.
References Isis::RubberBandTool::disable().
Referenced by Isis::Tool::addViewportConnections().
|
privateinherited |
Enables entire tool bar.
Definition at line 297 of file Tool.cpp.
References Isis::Tool::cubeViewport(), Isis::Tool::m_toolBarWidget, and Isis::Tool::updateTool().
Referenced by Isis::Tool::activate(), and Isis::Tool::setCubeViewport().
|
inlinevirtualinherited |
Anytime a tool is created, you must give it a name for the menu.
Reimplemented in Isis::AdvancedTrackTool, Isis::BandTool, Isis::BlinkTool, Isis::FeatureNomenclatureTool, Isis::FileTool, Isis::FindTool, Isis::HelpTool, Isis::MeasureTool, Isis::PanTool, Isis::SpecialPixelTool, Isis::StretchTool, Isis::WindowTool, and Isis::ZoomTool.
Definition at line 83 of file Tool.h.
Referenced by Isis::Tool::addTo().
|
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 268 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(), 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 300 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().
|
inlineprotectedvirtualslotinherited |
|
inlineprotectedvirtualslotinherited |
|
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 211 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().
|
inlineprotectedvirtualslotinherited |
|
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 184 of file SunShadowTool.cpp.
References 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 450 of file SunShadowTool.cpp.
References Isis::Cube::camera(), Isis::CubeViewport::cube(), Isis::Tool::cubeViewport(), Isis::Angle::Degrees, 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::Distance::meters(), Isis::FileName::name(), Isis::Null, Isis::FileName::path(), reinitialize(), 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 415 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 247 of file Tool.h.
Referenced by Isis::Tool::removeViewportConnections().
|
privateinherited |
Removes all the connections from the tool.
Definition at line 238 of file Tool.cpp.
References Isis::Tool::m_cvp, Isis::Tool::mouseButtonPress(), Isis::Tool::mouseButtonRelease(), Isis::Tool::mouseDoubleClick(), Isis::Tool::mouseMove(), Isis::Tool::removeConnections(), and Isis::Tool::screenPixelsChanged().
Referenced by Isis::Tool::activate(), and Isis::Tool::setCubeViewport().
|
inlineprotectedvirtualslotinherited |
|
inherited |
|
inlineprotectedvirtualinherited |
|
inlineprotectedvirtualslotinherited |
This is called when actions change which pixels from the cube are displayed.
Definition at line 148 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().
|
inherited |
|
inlineprotectedvirtualinherited |
Reimplemented in Isis::StretchTool.
|
inlineinherited |
returns the path to the icon directory.
Definition at line 113 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::BandTool::createToolBarWidget(), Isis::EditTool::createToolBarWidget(), Isis::FindTool::createToolBarWidget(), Isis::StereoTool::createToolBarWidget(), Isis::StretchTool::createToolBarWidget(), Isis::ZoomTool::createToolBarWidget(), Isis::FileTool::FileTool(), Isis::FindTool::FindTool(), Isis::HistogramTool::HistogramTool(), Isis::SpecialPixelTool::SpecialPixelTool(), Isis::RubberBandComboBox::toolIconDir(), Isis::BandTool::toolPadAction(), Isis::ControlNetTool::toolPadAction(), Isis::EditTool::toolPadAction(), Isis::FeatureNomenclatureTool::toolPadAction(), Isis::HistogramTool::toolPadAction(), Isis::LatLonGridTool::toolPadAction(), Isis::MatchTool::toolPadAction(), Isis::MeasureTool::toolPadAction(), Isis::QnetTool::toolPadAction(), Isis::ScatterPlotTool::toolPadAction(), Isis::SpatialPlotTool::toolPadAction(), Isis::SpectralPlotTool::toolPadAction(), Isis::StereoTool::toolPadAction(), Isis::StretchTool::toolPadAction(), toolPadAction(), Isis::FindTool::toolPadAction(), Isis::StatisticsTool::toolPadAction(), Isis::ZoomTool::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 91 of file SunShadowTool.cpp.
References Isis::Tool::toolIconDir().
|
inlineprotectedvirtualinherited |
|
private |
This method updates the row in the table window with the current measure information.
row |
Definition at line 317 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 554 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 586 of file SunShadowTool.cpp.
References Isis::Tool::cubeViewport(), m_enabled, m_shadowHeightLineEdit, m_unitsComboBox, and updateShadowHeightEdit().
|
privateinherited |
Is the tool acitve?
Definition at line 264 of file Tool.h.
Referenced by Isis::Tool::activate(), Isis::Tool::setCubeViewport(), and Isis::Tool::Tool().
|
privateinherited |
current cubeviewport
Definition at line 261 of file Tool.h.
Referenced by Isis::Tool::addViewportConnections(), Isis::Tool::cubeViewport(), Isis::Tool::registerTool(), Isis::Tool::removeViewportConnections(), Isis::Tool::setCubeViewport(), and Isis::Tool::Tool().
|
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().
|
privateinherited |
The tool bar on which this tool resides.
Definition at line 265 of file Tool.h.
Referenced by Isis::Tool::addToActive(), Isis::Tool::disableToolBar(), Isis::Tool::enableToolBar(), and Isis::Tool::Tool().
|
privateinherited |
The pathway to the icon directory.
Definition at line 267 of file Tool.h.
Referenced by Isis::Tool::Tool(), and Isis::Tool::toolIconDir().
|
privateinherited |
The tool pad on which this tool resides.
Definition at line 266 of file Tool.h.
Referenced by Isis::Tool::activate(), Isis::Tool::addTo(), Isis::Tool::addViewportConnections(), and Isis::Tool::Tool().
|
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().