Isis 3 Programmer Reference
Isis::SunShadowTool Class Reference

Tool for measuring shadow heights. More...

#include <SunShadowTool.h>

Inheritance diagram for Isis::SunShadowTool:
Inheritance graph
Collaboration diagram for Isis::SunShadowTool:
Collaboration graph

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.
 
RubberBandToolrubberBandTool ()
 
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

QWidgetcreateToolBarWidget (QStackedWidget *parent)
 Creates the widget (button) that goes on the tool bar.
 
QActiontoolPadAction (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.
 
MdiCubeViewportcubeViewport () const
 Return the current cubeviewport.
 
CubeViewportListcubeViewportList () 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.
 
Workspaceworkspace ()
 

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.
 
QComboBoxm_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.
 
SurfacePointm_startSurfacePoint
 Start ground coordinate of the measurement.
 
double m_endSamp
 End sample of the measurement.
 
double m_endLine
 End line of the measurement.
 
SurfacePointm_endSurfacePoint
 End ground coordinate of the measurement.
 
Anglem_incidenceAngle
 Incidence angle from the normal at the end point.
 
Distancem_shadowHeight
 Calculated shadow height.
 
Distancem_shadowLength
 Calculated shadow length.
 
QString m_path
 Current cube file path.
 
QString m_fileName
 Current cube file name.
 
TableMainWindowm_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.
 
Anglem_trackingAngle
 The angle that we want mouse tracking to be in.
 
MdiCubeViewportm_cvp
 current cubeviewport
 
Workspacem_workspace
 
bool m_active
 Is the tool acitve?
 
QWidgetm_toolBarWidget
 The tool bar on which this tool resides.
 
QActionm_toolPadAction
 The tool pad on which this tool resides.
 
QString m_toolIconDir
 The pathway to the icon directory.
 
ToolListm_toolList
 

Detailed Description

Tool for measuring shadow heights.

Author
2012-03-12 Steven Lambright
History

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.

Member Typedef Documentation

◆ CubeViewportList

typedef QVector< MdiCubeViewport * > Isis::Tool::CubeViewportList
protectedinherited

A list of cubeviewports.

Definition at line 205 of file Tool.h.

Member Enumeration Documentation

◆ TableColumnIndex

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.

Constructor & Destructor Documentation

◆ SunShadowTool()

Isis::SunShadowTool::SunShadowTool ( QWidget * parent)

Member Function Documentation

◆ activate

◆ addConnections()

virtual void Isis::Tool::addConnections ( MdiCubeViewport * cvp)
inlineprotectedvirtualinherited

Anytime a tool is created, you must add the connections for it.

Parameters
cvp

Reimplemented in Isis::TrackTool, and Isis::WindowTool.

Definition at line 239 of file Tool.h.

Referenced by Isis::Tool::addViewportConnections().

◆ addRow()

void Isis::SunShadowTool::addRow ( )
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().

◆ addTo() [1/4]

void Isis::SunShadowTool::addTo ( QMenu * menu)
virtual

Adds the measure action to the given menu.

Parameters
menu

Reimplemented from Isis::Tool.

Definition at line 173 of file SunShadowTool.cpp.

◆ addTo() [2/4]

void Isis::Tool::addTo ( ToolPad * toolpad)
inherited

Adds the tool to the toolpad.

Parameters
toolpad

Definition at line 98 of file Tool.cpp.

References Isis::Tool::activate(), Isis::Tool::m_toolPadAction, and Isis::Tool::toolPadAction().

◆ addTo() [3/4]

◆ addTo() [4/4]

void Isis::Tool::addTo ( Workspace * ws)
virtualinherited

Adds the given workspace to the cubeviewport list.

Parameters
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().

◆ addToActive()

void Isis::Tool::addToActive ( QToolBar * toolbar)
inherited
Parameters
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().

◆ addToPermanent()

virtual void Isis::Tool::addToPermanent ( QToolBar * toolbar)
inlinevirtualinherited
Parameters
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().

◆ addViewportConnections()

◆ createToolBarWidget()

QWidget * Isis::SunShadowTool::createToolBarWidget ( QStackedWidget * parent)
protectedvirtual

Creates the widget (button) that goes on the tool bar.

Parameters
parent
Returns
QWidget*

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().

◆ cubeViewport()

MdiCubeViewport * Isis::Tool::cubeViewport ( ) const
inlineprotectedinherited

Return the current cubeviewport.

Returns
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().

◆ cubeViewportList()

Tool::CubeViewportList * Isis::Tool::cubeViewportList ( ) const
protectedinherited

Return the list of cubeviewports.

Returns
CubeViewportList*

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().

◆ disableToolBar()

void Isis::Tool::disableToolBar ( )
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().

◆ enableRubberBandTool()

void Isis::Tool::enableRubberBandTool ( )
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().

◆ enableToolBar()

void Isis::Tool::enableToolBar ( )
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().

◆ menuName()

virtual QString Isis::Tool::menuName ( ) const
inlinevirtualinherited

Anytime a tool is created, you must give it a name for the menu.

Returns
QString

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().

◆ mouseButtonPress

void Isis::SunShadowTool::mouseButtonPress ( QPoint p,
Qt::MouseButton s )
protectedvirtualslot

When the mouse left button is pressed we start tracking.

Parameters
pThe current mouse position in viewport screen pixel coordinates
sThe 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().

◆ mouseButtonRelease

void Isis::SunShadowTool::mouseButtonRelease ( QPoint p,
Qt::MouseButton s )
protectedvirtualslot

When the mouse left button is released we finish tracking.

Parameters
pThe current mouse position in viewport screen pixel coordinates
sThe mouse button that was pressed.

Definition at line 300 of file SunShadowTool.cpp.

References m_tracking, and mouseMove().

◆ mouseDoubleClick()

void Isis::Tool::mouseDoubleClick ( QPoint p)
protectedvirtualinherited
Parameters
p

Definition at line 358 of file Tool.cpp.

Referenced by Isis::Tool::addViewportConnections(), and Isis::Tool::removeViewportConnections().

◆ mouseEnter

virtual void Isis::Tool::mouseEnter ( )
inlineprotectedvirtualslotinherited

Definition at line 152 of file Tool.h.

◆ mouseLeave

virtual void Isis::Tool::mouseLeave ( )
inlineprotectedvirtualslotinherited

Definition at line 159 of file Tool.h.

◆ mouseMove [1/2]

void Isis::SunShadowTool::mouseMove ( QPoint p)
protectedvirtualslot

When the mouse moves, if we're tracking then we go ahead and update all of our calculated values for the shadow measurement.

Parameters
pThe 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().

◆ mouseMove [2/2]

virtual void Isis::Tool::mouseMove ( QPoint p,
Qt::MouseButton  )
inlineprotectedvirtualslotinherited

Definition at line 155 of file Tool.h.

◆ paintViewport()

void Isis::SunShadowTool::paintViewport ( MdiCubeViewport * vp,
QPainter * painter )
virtual

Paint anything we need to on the viewport.

Currently, we draw a line along where the user is measuring a shadow.

Parameters
vpViewport to paint
painterThe 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.

◆ recalculateShadowHeight()

void Isis::SunShadowTool::recalculateShadowHeight ( )
private

◆ registerTool()

void Isis::Tool::registerTool ( MdiCubeViewport * viewport)
protectedinherited

Registers the tool to the viewport.

Parameters
viewport

Definition at line 327 of file Tool.cpp.

References Isis::Tool::m_cvp, and Isis::MdiCubeViewport::registerTool().

Referenced by Isis::Tool::addTo().

◆ reinitialize

void Isis::SunShadowTool::reinitialize ( )
privateslot

◆ removeConnections()

virtual void Isis::Tool::removeConnections ( MdiCubeViewport * cvp)
inlineprotectedvirtualinherited

Anytime a tool is created, you must be able to remove it's connections.

Parameters
cvp

Reimplemented in Isis::MeasureTool, Isis::TrackTool, and Isis::WindowTool.

Definition at line 247 of file Tool.h.

Referenced by Isis::Tool::removeViewportConnections().

◆ removeViewportConnections()

void Isis::Tool::removeViewportConnections ( )
privateinherited

◆ rubberBandComplete

virtual void Isis::Tool::rubberBandComplete ( )
inlineprotectedvirtualslotinherited

Definition at line 141 of file Tool.h.

◆ rubberBandTool()

RubberBandTool * Isis::Tool::rubberBandTool ( )
inherited

Definition at line 57 of file Tool.cpp.

◆ scaleChanged()

virtual void Isis::Tool::scaleChanged ( )
inlineprotectedvirtualinherited

Definition at line 172 of file Tool.h.

◆ screenPixelsChanged

virtual void Isis::Tool::screenPixelsChanged ( )
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().

◆ setCubeViewport

void Isis::Tool::setCubeViewport ( MdiCubeViewport * cvp)
slotinherited

◆ setList()

void Isis::Tool::setList ( ToolList * currentList)
inherited

Definition at line 68 of file Tool.cpp.

◆ stretchRequested()

virtual void Isis::Tool::stretchRequested ( MdiCubeViewport * ,
int  )
inlineprotectedvirtualinherited

Reimplemented in Isis::StretchTool.

Definition at line 177 of file Tool.h.

◆ toolIconDir()

QString Isis::Tool::toolIconDir ( ) const
inlineinherited

◆ toolPadAction()

QAction * Isis::SunShadowTool::toolPadAction ( ToolPad * toolpad)
protectedvirtual

Create an action for activating this tool.

Parameters
toolpadThe tool pad that will contain the given action
Returns
The created action

Reimplemented from Isis::Tool.

Definition at line 91 of file SunShadowTool.cpp.

References Isis::Tool::toolIconDir().

◆ updateMeasure()

virtual void Isis::Tool::updateMeasure ( )
inlineprotectedvirtualinherited

Definition at line 167 of file Tool.h.

◆ updateRow()

◆ updateShadowHeightEdit

◆ updateTool()

void Isis::SunShadowTool::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().

◆ workspace()

Workspace * Isis::Tool::workspace ( )
protectedinherited

Definition at line 344 of file Tool.cpp.

Member Data Documentation

◆ m_active

bool Isis::Tool::m_active
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().

◆ m_cvp

◆ m_drawInSunDirection

QCheckBox* Isis::SunShadowTool::m_drawInSunDirection
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().

◆ m_enabled

bool Isis::SunShadowTool::m_enabled
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().

◆ m_endLine

double Isis::SunShadowTool::m_endLine
private

End line of the measurement.

Definition at line 124 of file SunShadowTool.h.

Referenced by mouseMove(), paintViewport(), recalculateShadowHeight(), reinitialize(), and updateRow().

◆ m_endSamp

double Isis::SunShadowTool::m_endSamp
private

End sample of the measurement.

Definition at line 122 of file SunShadowTool.h.

Referenced by mouseMove(), paintViewport(), recalculateShadowHeight(), reinitialize(), and updateRow().

◆ m_endSurfacePoint

SurfacePoint* Isis::SunShadowTool::m_endSurfacePoint
private

End ground coordinate of the measurement.

Definition at line 126 of file SunShadowTool.h.

Referenced by recalculateShadowHeight(), reinitialize(), SunShadowTool(), and updateRow().

◆ m_fileName

QString Isis::SunShadowTool::m_fileName
private

Current cube file name.

Definition at line 139 of file SunShadowTool.h.

Referenced by recalculateShadowHeight(), and updateRow().

◆ m_incidenceAngle

Angle* Isis::SunShadowTool::m_incidenceAngle
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().

◆ m_path

QString Isis::SunShadowTool::m_path
private

Current cube file path.

Definition at line 137 of file SunShadowTool.h.

Referenced by recalculateShadowHeight(), and updateRow().

◆ m_shadowHeight

Distance* Isis::SunShadowTool::m_shadowHeight
private

Calculated shadow height.

Definition at line 132 of file SunShadowTool.h.

Referenced by recalculateShadowHeight(), reinitialize(), SunShadowTool(), updateRow(), and updateShadowHeightEdit().

◆ m_shadowHeightLineEdit

QLineEdit* Isis::SunShadowTool::m_shadowHeightLineEdit
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().

◆ m_shadowLength

Distance* Isis::SunShadowTool::m_shadowLength
private

Calculated shadow length.

Definition at line 134 of file SunShadowTool.h.

Referenced by recalculateShadowHeight(), reinitialize(), SunShadowTool(), and updateRow().

◆ m_startLine

double Isis::SunShadowTool::m_startLine
private

Start line of the measurement.

Definition at line 117 of file SunShadowTool.h.

Referenced by mouseButtonPress(), mouseMove(), paintViewport(), recalculateShadowHeight(), reinitialize(), and updateRow().

◆ m_startSamp

double Isis::SunShadowTool::m_startSamp
private

Start sample of the measurement.

Definition at line 115 of file SunShadowTool.h.

Referenced by mouseButtonPress(), mouseMove(), paintViewport(), recalculateShadowHeight(), reinitialize(), and updateRow().

◆ m_startSurfacePoint

SurfacePoint* Isis::SunShadowTool::m_startSurfacePoint
private

Start ground coordinate of the measurement.

Definition at line 119 of file SunShadowTool.h.

Referenced by recalculateShadowHeight(), reinitialize(), SunShadowTool(), and updateRow().

◆ m_tableWin

TableMainWindow* Isis::SunShadowTool::m_tableWin
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().

◆ m_toolBarWidget

QWidget* Isis::Tool::m_toolBarWidget
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().

◆ m_toolIconDir

QString Isis::Tool::m_toolIconDir
privateinherited

The pathway to the icon directory.

Definition at line 267 of file Tool.h.

Referenced by Isis::Tool::Tool(), and Isis::Tool::toolIconDir().

◆ m_toolList

ToolList* Isis::Tool::m_toolList
privateinherited

Definition at line 268 of file Tool.h.

◆ m_toolPadAction

QAction* Isis::Tool::m_toolPadAction
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().

◆ m_tracking

bool Isis::SunShadowTool::m_tracking
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().

◆ m_trackingAngle

Angle* Isis::SunShadowTool::m_trackingAngle
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().

◆ m_unitsComboBox

QComboBox* Isis::SunShadowTool::m_unitsComboBox
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().

◆ m_workspace

Workspace* Isis::Tool::m_workspace
privateinherited

Definition at line 262 of file Tool.h.


The documentation for this class was generated from the following files: