USGS

Isis 3.0 Object Programmers' Reference

Home

Isis::QnetTool Class Reference

Qnet tool operations. More...

#include <QnetTool.h>

Inheritance diagram for Isis::QnetTool:
Inheritance graph
Collaboration diagram for Isis::QnetTool:
Collaboration graph

Public Types

enum  MeasureColumns {
  FILENAME, CUBESN, SAMPLE, LINE,
  APRIORISAMPLE, APRIORILINE, SAMPLERESIDUAL, LINERESIDUAL,
  RESIDUALMAGNITUDE, SAMPLESHIFT, LINESHIFT, PIXELSHIFT,
  GOODNESSOFFIT, IGNORED, EDITLOCK, TYPE
}
 

Public Slots

void updateList ()
 
void updateNet (QString cNetFileName)
 Updates the Control Network displayed in the Qnet Tool title bar.
 
void createPoint (double lat, double lon)
 Create new control point.
 
void createFixedPoint (double lat, double lon)
 Create new Fixed control point.
 
void modifyPoint (ControlPoint *point)
 Modify control point.
 
void deletePoint (ControlPoint *point)
 Delete control point.
 
void updatePointInfo (QString pointId)
 Update the current editPoint information in the Point Editor labels.
 
void refresh ()
 Refresh all necessary widgets in QnetTool including the PointEditor and CubeViewports.
 
void activate (bool)
 Activates the tool.
 
virtual void updateTool ()
 Updates the tool.
 
void setCubeViewport (MdiCubeViewport *cvp)
 Sets the current viewport to the given cvp.
 

Signals

void qnetToolSave ()
 
void qnetToolSaveAs ()
 
void refreshNavList ()
 
void editPointChanged (QString pointId)
 
void netChanged ()
 
void ignorePointChanged ()
 
void ignoreLeftChanged ()
 
void ignoreRightChanged ()
 
void showNavTool ()
 
void newControlNetwork (ControlNet *)
 
void stretchChipViewport (Stretch *, CubeViewport *)
 
void measureChanged ()
 
void clearWarningSignal ()
 
void toolActivated ()
 
void viewportChanged ()
 

Public Member Functions

 QnetTool (QWidget *parent)
 Consructs the Qnet Tool window.
 
void paintViewport (MdiCubeViewport *cvp, QPainter *painter)
 Take care of drawing things on a viewPort.
 
QString measureColumnToString (MeasureColumns column)
 
ControlNetcontrolNet ()
 
const ControlNetcontrolNet () const
 
SerialNumberListserialNumberList ()
 
const SerialNumberListserialNumberList () const
 
Workspaceworkspace () const
 
void addTo (ViewportMainWindow *mw)
 Adds the tool to the application.
 
void addTo (ToolPad *toolpad)
 Adds the tool to the toolpad.
 
virtual void addTo (QMenu *menu)
 
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)
 

Static Public Attributes

static const int NUMCOLUMNS = 16
 

Protected Types

typedef QVector
< MdiCubeViewport * > 
CubeViewportList
 A list of cubeviewports.
 

Protected Slots

void mouseButtonRelease (QPoint p, Qt::MouseButton s)
 Handle mouse events on CubeViewport.
 
QWidgetcreateToolBarWidget (QStackedWidget *parent)
 This method creates the widgets for the tool bar.
 
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)
 
virtual void mouseMove (QPoint p, Qt::MouseButton)
 
virtual void mouseLeave ()
 
virtual void mouseDoubleClick (QPoint p)
 
virtual void mouseButtonPress (QPoint p, Qt::MouseButton s)
 
virtual void updateMeasure ()
 
virtual void scaleChanged ()
 
virtual void stretchRequested (MdiCubeViewport *, int)
 
void registerTool (MdiCubeViewport *viewport)
 Registers the tool to the viewport.
 

Protected Member Functions

QActiontoolPadAction (ToolPad *pad)
 Adds the Tie tool action to the tool pad.
 
bool eventFilter (QObject *o, QEvent *e)
 Event filter for QnetTool.
 
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 Slots

void enterWhatsThisMode ()
 
void paintAllViewports (QString pointId)
 This method will repaint the given Point ID in each viewport Note: The pointId parameter is here even though it's not used because the signal (QnetTool::editPointChanged connected to this slot is also connected to another slot (QnetNavTool::updateEditPoint which needs the point Id.
 
void saveNet ()
 Signal to save control net.
 
void saveAsNet ()
 Signal to save the control net.
 
void addMeasure ()
 Add measure to point.
 
void setPointType (int pointType)
 Set the point type.
 
void setLockPoint (bool ignore)
 Set point's "EditLock" keyword to the value of the input parameter.
 
void setIgnorePoint (bool ignore)
 Set point's "Ignore" keyword to the value of the input parameter.
 
void setLockLeftMeasure (bool ignore)
 Set the "EditLock" keyword of the measure shown in the left viewport to the value of the input parameter.
 
void setIgnoreLeftMeasure (bool ignore)
 Set the "Ignore" keyword of the measure shown in the left viewport to the value of the input parameter.
 
void setLockRightMeasure (bool ignore)
 Set the "EditLock" keyword of the measure shown in the right viewport to the value of the input parameter.
 
void setIgnoreRightMeasure (bool ignore)
 Set the "Ignore" keyword of the measure shown in the right viewport to the value of the input parameter.
 
void showNavWindow (bool checked)
 Emits a signal to displays the Navigation window.
 
void updateSurfacePointInfo ()
 Update the Surface Point Information in the QnetTool window.
 
void selectLeftMeasure (int index)
 Select left measure.
 
void selectRightMeasure (int index)
 Select right measure.
 
void updateLeftMeasureInfo ()
 
void updateRightMeasureInfo ()
 
void measureSaved ()
 This method is connected with the measureSaved() signal from ControlPointEdit.
 
void checkReference ()
 
void updateGroundPosition ()
 
void savePoint ()
 Save edit point to the Control Network.
 
void colorizeSaveButton ()
 Turn "Save Point" button text to red.
 
void openTemplateFile ()
 prompt user for a registration template file to open.
 
void viewTemplateFile ()
 Allows the user to view the template file that is currently set.
 
void saveChips ()
 Slot which calls ControlPointEditor slot to save chips.
 
void openGround ()
 Open a ground source for selecting fixed points.
 
void groundViewportClosed (CubeViewport *)
 Slot called when the ground source cube viewport is closed.
 
void openDem ()
 Open a DEM for ground source radii.
 
void showHideTemplateEditor ()
 
void saveTemplateFile ()
 save the file opened in the template editor
 
void saveTemplateFileAs ()
 save the contents of template editor to a file chosen by the user
 
void setTemplateModified ()
 called when the template file is modified by the template editor
 
void writeTemplateFile (QString)
 write the contents of the template editor to the file provided.
 

Private Member Functions

void createActions ()
 
void createMenus ()
 Customize dropdown menus below title bar.
 
void createToolBars ()
 
void loadPoint ()
 Load point into QnetTool.
 
void loadGroundMeasure ()
 Load ground measure into right side and add to file combo boxes.
 
void loadMeasureTable ()
 Load measure information into the measure table.
 
void drawAllMeasurments (MdiCubeViewport *vp, QPainter *painter)
 Draw all measurments which are on this viewPort.
 
void drawGroundMeasures (MdiCubeViewport *vp, QPainter *painter)
 Draw all Fixed or Constrained points on the ground source viewport.
 
void createQnetTool (QWidget *parent)
 create the main window for editing control points
 
QSplitter * createTopSplitter ()
 creates everything above the ControlPointEdit
 
QGroupBox * createControlPointGroupBox ()
 
QGroupBox * createLeftMeasureGroupBox ()
 
QGroupBox * createRightMeasureGroupBox ()
 
void createTemplateEditorWidget ()
 Creates the Widget which contains the template editor and its toolbar.
 
void loadTemplateFile (QString)
 Updates the current template file being used.
 
bool okToContinue ()
 Allows user to set a new template file.
 
void initDem (QString demFile)
 
double demRadius (double latitude, double longitude)
 Return a radius values from the dem using bilinear interpolation.
 
void clearGroundSource ()
 
bool IsMeasureLocked (QString serialNumber)
 Check for implicitly locked measure in m_editPoint.
 
void readSettings ()
 This method is called from the constructor so that when the Main window is created, it know's it's size and location.
 
void writeSettings () const
 This method is called when the Main window is closed or hidden to write the size and location settings to a config file in the user's home directory.
 
QStringList findPointFiles (double lat, double lon)
 

Private Attributes

QPointer< MainWindowm_qnetTool
 
QString m_cnetFileName
 
QPointer< QActionm_createPoint
 
QPointer< QActionm_modifyPoint
 
QPointer< QActionm_deletePoint
 
QPointer< QActionm_openGround
 
QPointer< QActionm_openDem
 
QPointer< QActionm_saveNet
 
QPointer< QActionm_saveAsNet
 
QPointer< QActionm_closeQnetTool
 
QPointer< QActionm_saveChips
 
QPointer< QActionm_showHideTemplateEditor
 
QPointer< QActionm_openTemplateFile
 
QPointer< QActionm_saveTemplateFile
 
QPointer< QActionm_saveTemplateFileAs
 
QPointer< QActionm_whatsThis
 
QPointer< QMainWindowm_mw
 
QPointer< ControlPointEditm_pointEditor
 
QPushButton * m_savePoint
 
QPalette m_saveDefaultPalette
 
QTextEdit * m_templateEditor
 
QWidgetm_templateEditorWidget
 
bool m_templateModified
 
QPointer< QLabel > m_templateFileNameLabel
 
QPointer< QLabel > m_groundFileNameLabel
 
QPointer< QLabel > m_radiusFileNameLabel
 
QPointer< QLabel > m_ptIdValue
 
QPointer< QComboBoxm_pointType
 
QPointer< QLabel > m_numMeasures
 
QPointer< QLabel > m_pointAprioriLatitude
 
QPointer< QLabel > m_pointAprioriLongitude
 
QPointer< QLabel > m_pointAprioriRadius
 
QPointer< QLabel > m_pointAprioriLatitudeSigma
 
QPointer< QLabel > m_pointAprioriLongitudeSigma
 
QPointer< QLabel > m_pointAprioriRadiusSigma
 
QPointer< QLabel > m_pointLatitude
 
QPointer< QLabel > m_pointLongitude
 
QPointer< QLabel > m_pointRadius
 
QPointer< QCheckBox > m_lockPoint
 
QPointer< QCheckBox > m_ignorePoint
 
QPointer< QLabel > m_leftReference
 
QPointer< QLabel > m_leftMeasureType
 
QPointer< QLabel > m_leftSampError
 
QPointer< QLabel > m_leftLineError
 
QPointer< QLabel > m_leftSampShift
 
QPointer< QLabel > m_leftLineShift
 
QPointer< QLabel > m_leftGoodness
 
QPointer< QLabel > m_rightGoodness
 
QPointer< QLabel > m_rightReference
 
QPointer< QLabel > m_rightMeasureType
 
QPointer< QLabel > m_rightSampError
 
QPointer< QLabel > m_rightLineError
 
QPointer< QLabel > m_rightSampShift
 
QPointer< QLabel > m_rightLineShift
 
QPointer< QCheckBox > m_lockLeftMeasure
 
QPointer< QCheckBox > m_ignoreLeftMeasure
 
QPointer< QCheckBox > m_lockRightMeasure
 
QPointer< QCheckBox > m_ignoreRightMeasure
 
QPointer< QComboBoxm_leftCombo
 
QPointer< QComboBoxm_rightCombo
 
QPointer< QMainWindowm_measureWindow
 
QPointer< QTableWidget > m_measureTable
 
QPointer< ControlPointm_editPoint
 
QStringList m_pointFiles
 
QString m_leftFile
 
QPointer< ControlMeasurem_leftMeasure
 
QPointer< ControlMeasurem_rightMeasure
 
QScopedPointer< Cubem_leftCube
 
QScopedPointer< Cubem_rightCube
 
QString m_groundFile
 
QScopedPointer< Cubem_groundCube
 
QString m_groundSN
 
QScopedPointer
< UniversalGroundMap
m_groundGmap
 
bool m_groundOpen
 
ControlPoint::SurfacePointSource::Source m_groundSurfacePointSource
 
ControlPoint::RadiusSource::Source m_groundRadiusSource
 
QString m_groundSourceFile
 
QString m_radiusSourceFile
 
QString m_demFile
 
bool m_demOpen
 
QScopedPointer< Cubem_demCube
 
QString m_lastUsedPointId
 
QPointer< ControlNetm_controlNet
 
SerialNumberListm_serialNumberList
 
QPointer< Workspacem_workspace
 

Detailed Description

Qnet tool operations.

Author
????-??-?? Unknown
History:

2008-11-24 Jeannie Walldren - Changed name from TieTool. Replace references to PointEdit class with ControlPointEdit. Added "Goodness of Fit" to right and left measure info.

2008-11-26 Jeannie Walldren - Added "Number of Measures" to QnetTool point information. Defined updateNet() so that the QnetTool window's title bar contains the name of the control net file. Created ignoreChanged() signal, modified pointSaved() and createQnetTool() so message box appears if users are saving an "Ignore" point and asks whether they would like to set Ignore=false.

2008-12-09 Tracie Sucharski - Cleaned up some signal/slot connections between QnetTool and QnetNavTool for deleting or adding ControlPoints.

2008-12-09 Tracie Sucharski - Add new public slot refresh to handle the ignorePoints and deletePoints from the QnetNavTool.

2008-12-10 Jeannie Walldren - Added slot methods viewTemplateFile() and setTemplateFile() to allow user to view, edit or choose a new template file. Added "What's this?" descriptions to actions.

2008-12-15 Jeannie Walldren - Some QMessageBox warnings had strings tacked on to the list of errors. These strings were changed to iExceptions and added to the error stack to conform with Isis standards.

2008-12-15 Jeannie Walldren - Created newHoldPoint() method. Replaced references to QnetGroundPointDialog with QnetHoldPointDialog. Disabled ground point check box so user may see whether the point is ground but may not change this. Thus setGroundPoint() and newGroundPoint() methods still exist but are not currently called.

2008-12-30 Jeannie Walldren - Modified to set measures in viewports to Ignore=False if when saving, the user chooses to set a point's Ignore=False. Replaced references to ignoreChanged() with ignorePointChanged(). Added signals ignoreLeftChanged() and ignoreRightChanged().

2008-12-31 Jeannie Walldren - Added question box to pointSaved() method to ask user whether the reference measure should be replaced with the measure in the left viewport. Added documentation.

2009-03-09 Jeannie Walldren - Modified createPoint() method to clear the error stack after displaying a QMessageBox to the user

2009-03-17 Tracie Sucharski - Added the ability to save the registration chips to the Options menu.

2010-01-27 Jeannie Walldren - Fixed bug in setIgnoreLeftMeasure() and setIgnoreRightMeasure() that caused segmentation faults. Added question box to warn user that they are saving changes to an ignored measure.

2010-06-02 Jeannie Walldren - Added cancelHoldPoint() method and connected this slot to QnetHoldPointDialog's holdCancelled() signal.

2010-06-03 Jeannie Walldren - Initialized pointers to null in constructor.

2010-06-08 Jeannie Walldren - Fixed bug in drawAllMeasurments() so that points with ignored measures matching the image shown are drawn as yellow unless the QnetTool is open to this point. Changed QMessageBox types for consistency with other qnet warnings and errors

2010-07-01 Jeannie Walldren - Added createToolBarWidget(), showNavWindow() methods to reopen NavTool (if closed) whenever the Tie tool button on the tool pad is clicked. Modified drawAllMeasurments() to draw points selected in QnetTool last so they lay on top of all other points in the image. Replaced #includes with forward class declarations and moved #include to .cpp file.

2010-07-12 Jeannie Walldren - Fixed bug in deletePoint() method. To prevent a seg fault, set m_controlPoint to NULL and emit editPointChanged with an empty string if the entire point is deleted.

2010-07-12 Jeannie Walldren - Fixed bug in newHoldPoint() method that was causing the Hold Point Dialog to call the reject() command. Updated documentation.

2010-10-28 Tracie Sucharski - Fixed some include problems caused by changes made to the ControlNet,ControlPoint, ControlMeasure header files. Remove findPointFiles method, the code is now in the createPoint method.

2010-11-19 Tracie Sucharski - Renamed pointSaved slot to measureSaved.

2010-11-22 Eric Hyer - Added stretchChipViewport SIGNAL for forwarding of SIGNAL from StretchTool to ChipViewport

2010-12-08 Eric Hyer - Template filename now shown. Widgets in main window now organized into groupBoxes. Removed Options menu and moved registration menu to main menu bar. Added toolbar for actions also in menu. All actions now have icons.

2010-12-14 Eric Hyer - Template editor is now a widget within the main window. Newly saved template files take effect after saving.

2010-12-17 Eric Hyer - Fixed bug where current template file was not being updated with saveAs. Moved template file display to outside of control point groupbox.

2011-06-08 Tracie Sucharski - Point types renamed: Ground -—> Fixed Tie -—> Free

2011-06-28 Tracie Sucharski - Added methods, "loadMeasureTable" and "measureColumnToString". TODO: If these stay in qnet, they really need cleaning up. This was a quick & dirty band-aid until cneteditor is ready to be folded into qnet.

2011-07-27 Tracie Sucharski - Added method to return the radius from a Dem if one is open.

2011-09-16 Tracie Sucharski - Added method to draw Fixed and Constrained points on the ground source viewport.

2012-01-11 Tracie Sucharski - Add error check for invalid lat, lon when creating new control point.

2012-04-09 Tracie Sucharski - When checking if left measure editLock has changed, use measure->IsEditLocked() instead of this classes IsMeasureLocked().

2012-04-16 Tracie Sucharski - When attempting to un-lock a measure print error if point is locked.

2012-04-26 Tracie Sucharski - Cleaned up private slot,measureSaved. Abstracted out checking for a new reference measure and updating the surface point for a ground point.

2012-05-07 Tracie Sucharski - Removed code in measureSaved to re-load left measure if left and right are the same, this is already handled in ControlPointEdit::saveMeasure.

2012-05-08 Tracie Sucharski - Fixed bug where m_leftFile was not being reset in mouseButtonRelease. Change m_leftFile from a std::string to a QString.

2012-06-12 Tracie Sucharski - Change made to measureSaved on 2012-04-26 caused a bug where if no ground is loaded the checkReference was not being called and reference measure could not be changed and there was no warning printed. Fix: Only call checkReference if there is no explicit reference for the point, otherwise simply set reference to left measure. If ground source is on the left do not print warning about new reference measure.

2012-07-30 Tracie Sucharski - Fixed bug, program would seg fault when left-clicking on a cube when there were no control points. Before calling FindClosest, make sure the control net has points.

2012-09-28 Tracie Sucharski - In ::loadPoint when looking for ground source in the right combo box, use the fileName, not the serial number. The ground source serial number will not be the fileName if the Instrument group is retained in the labels. Fixes #1018

2012-10-04 Tracie Sucharski - If the ground source serial number already exists in the serial number list, print error and clear out ground information. Fixes #1018

2013-05-09 Tracie Sucharski - Check for user selecting all measures for deletion and print warning that point will be deleted. Fixes #1491.

2013-05-09 Tracie Sucharski - For editing (left button) and deleting (right button), Swapped checking for empty network and not allowing mouse clicks on the ground source. First check if there are any points in the network. If not print message and return. Fixes #1493.

2013-05-16 Tracie Sucharski - Fixed some bugs when closing a ground source, opening a new ground source, and printing errors when point does not exist on current ground source. Fixes #1655.

2013-11-07 Tracie Sucharski - Moved error checking on edit locked measures from ::measureSaved to ControlPointEdit::saveMeasure. The error checking now forces the edit lock check box to be unchecked before the measure can be saved. Fixes #1624.

2013-12-05 Tracie Sucharski - Added error check for an ignored reference measure when changing point type to constrained or fixed or when saving constrained or fixed point with an ignored reference measure. Added new method, loadGroundMeasure, so that loadPoint does not need to be called from setPointType. This avoids reloading the point in case the ignored flag has been changed, but measure has not been saved. References #1603.

History:
2010-11-17 Eric Hyer - Added newControlNetwork SIGNAL

Definition at line 217 of file QnetTool.h.

Member Typedef Documentation

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

A list of cubeviewports.

Definition at line 219 of file Tool.h.

Constructor & Destructor Documentation

Isis::QnetTool::QnetTool ( QWidget parent)

Consructs the Qnet Tool window.

Parameters
parentPointer to the parent widget for the Qnet tool
History:
2010-06-03 Jeannie Walldren - Initialized pointers to null.

Definition at line 58 of file QnetTool.cpp.

References _FILEINFO_, createQnetTool(), and Isis::IException::Programmer.

Member Function Documentation

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 253 of file Tool.h.

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

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

Adds the tool to the toolpad.

Parameters
toolpad

Definition at line 97 of file Tool.cpp.

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

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 44 of file Tool.cpp.

References Isis::Tool::registerTool(), and Isis::Tool::setCubeViewport().

void Isis::Tool::addToActive ( QToolBar toolbar)
inherited
virtual void Isis::Tool::addToPermanent ( QToolBar toolbar)
inlinevirtualinherited
void Isis::QnetTool::colorizeSaveButton ( )
privateslot

Turn "Save Point" button text to red.

Author
2011-06-14 Tracie Sucharski

Definition at line 3896 of file QnetTool.cpp.

Referenced by addMeasure(), createFixedPoint(), createPoint(), createQnetTool(), deletePoint(), measureSaved(), setIgnorePoint(), setLockPoint(), and setPointType().

QGroupBox * Isis::QnetTool::createControlPointGroupBox ( )
private
Returns
The groupbox labeled "Control Point"

Definition at line 251 of file QnetTool.cpp.

References Isis::ControlPoint::PointTypeToString(), setIgnorePoint(), setLockPoint(), and setPointType().

Referenced by createTopSplitter().

QGroupBox * Isis::QnetTool::createLeftMeasureGroupBox ( )
private
Returns
The groupbox labeled "Left Measure"

Definition at line 317 of file QnetTool.cpp.

References selectLeftMeasure(), setIgnoreLeftMeasure(), and setLockLeftMeasure().

Referenced by createTopSplitter().

void Isis::QnetTool::createMenus ( )
private

Customize dropdown menus below title bar.

History:

2008-11-18 Jeannie Walldren - Added "Close" action to the file menu on the qnet tool window.

2008-12-10 Jeannie Walldren - Added "What's this?" function to qnet tool actions.

Definition at line 585 of file QnetTool.cpp.

Referenced by createQnetTool().

void Isis::QnetTool::createPoint ( double  lat,
double  lon 
)
slot

Create new control point.

Parameters
latLatitude value of control point to be created.
lonLongitude value of control point to be created.
History:

2008-11-20 Jeannie Walldren - Added message box if pointID value entered already exists for another ControlPoint. Previously this resulted in a PROGRAMMER ERROR from ControlPoint. Now, the user will be alerted in a message box and prompted to enter a new value for pointID.

2008-12-03 Tracie Sucharski - Add error message and cancel create new point if the point falls on a single image.

2008-12-15 Jeannie Walldren - Throw and catch error before creating QMessageBox

2009-03-09 Jeannie Walldren - Clear error message stack after it is displayed to user in message box.

2009-04-20 Tracie Sucharski - Set camera for each measure.

2010-06-03 Jeannie Walldren - Removed "std::" since "using namespace std"

2010-07-21 Tracie Sucharski - Modified for new keywords associated with implementation of binary control networks.

2010-11-19 Tracie Sucharski - Changed m_controlPoint to m_editPoint which is a copy rather than a pointer directly to the network.

2010-12-15 Tracie Sucharski - Remove netChanged, the point is not changed in the net unless "Save Point" is selected.

2011-03-31 Tracie Sucharski - Remove check for point only existing on a single image. This will be shown on new point dialog and user can always hit "Cancel".

2011-04-08 Tracie Sucharski - Added check for NULL pointer before deleting m_editPOint if parent is NULL.

2011-07-19 Tracie Sucharski - Remove call to SetAprioriSurfacePoint, this should only be done for constrained or fixed points.

2012-05-08 Tracie Sucharski - m_leftFile changed from std::string to QString.

Definition at line 1633 of file QnetTool.cpp.

References Isis::ControlPoint::Add(), colorizeSaveButton(), Isis::SerialNumberList::FileName(), Isis::SerialNumberList::FileNameIndex(), Isis::ControlPoint::GetId(), Isis::Camera::Line(), loadPoint(), loadTemplateFile(), Isis::ControlMeasure::Manual, Isis::Camera::Sample(), Isis::SerialNumberList::SerialNumber(), Isis::ControlMeasure::SetCamera(), Isis::ControlMeasure::SetChooserName(), Isis::ControlPoint::SetChooserName(), Isis::ControlMeasure::SetCoordinate(), Isis::ControlMeasure::SetCubeSerialNumber(), Isis::QnetNewPointDialog::setFiles(), Isis::ControlMeasure::SetType(), Isis::Camera::SetUniversalGround(), Isis::SerialNumberList::Size(), and Isis::Application::UserName().

Referenced by mouseButtonRelease().

void Isis::QnetTool::createQnetTool ( QWidget parent)
private

create the main window for editing control points

Parameters
parentPointer to parent QWidget
History:

2008-11-24 Jeannie Walldren - Added "Goodness of Fit" to right and left measure info.

2008-11-26 Jeannie Walldren - Added "Number of Measures" to QnetTool point information. Moved setWindowTitle() command to updateNet() method. Added connection between Ignore checkbox toggle() slot and ignoreChanged() signal

2008-12-29 Jeannie Walldren - Disabled ground point check box and commented out connection between check box and setGroundPoint() method.

2008-12-30 Jeannie Walldren - Added connections to toggle measures' Ignore check boxes if ignoreLeftChanged() and ignoreRightChanged() are emitted. Replaced reference to ignoreChanged() with ignorePointChanged().

2010-06-03 Jeannie Walldren - Removed "std::" since "using namespace std"

Definition at line 120 of file QnetTool.cpp.

References addMeasure(), colorizeSaveButton(), createMenus(), createTopSplitter(), measureSaved(), paintAllViewports(), readSettings(), and savePoint().

Referenced by QnetTool().

QGroupBox * Isis::QnetTool::createRightMeasureGroupBox ( )
private
Returns
The groupbox labeled "Right Measure"

Definition at line 381 of file QnetTool.cpp.

References selectRightMeasure(), setIgnoreRightMeasure(), and setLockRightMeasure().

Referenced by createTopSplitter().

void Isis::QnetTool::createTemplateEditorWidget ( )
private

Creates the Widget which contains the template editor and its toolbar.

Definition at line 442 of file QnetTool.cpp.

References setTemplateModified().

Referenced by createTopSplitter().

QWidget * Isis::QnetTool::createToolBarWidget ( QStackedWidget *  parent)
protectedslot

This method creates the widgets for the tool bar.

A "Show Nav Tool" button is created so that the navigation tool may be reopened if it has been closed.

Parameters
parentThe parent QStackedWidget
Returns
QWidget*
Todo:
Find a way to enable Show Nav Button even when there are no images open in the main window.
History:
2010-07-01 Jeannie Walldren - Original version.

Definition at line 3486 of file QnetTool.cpp.

References showNavWindow().

QSplitter * Isis::QnetTool::createTopSplitter ( )
private
MdiCubeViewport* Isis::Tool::cubeViewport ( ) const
inlineprotectedinherited

Return the current cubeviewport.

Returns
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::exportView(), Isis::StatisticsTool::getStatistics(), Isis::FindTool::handleRecordClicked(), Isis::EditTool::LineToPoints(), Isis::TrackTool::locateCursor(), Isis::SunShadowTool::mouseButtonPress(), Isis::RubberBandTool::mouseButtonRelease(), Isis::EditTool::mouseButtonRelease(), Isis::FeatureNomenclatureTool::mouseButtonRelease(), Isis::FindTool::mouseButtonRelease(), Isis::StretchTool::mouseButtonRelease(), Isis::MatchTool::mouseButtonRelease(), mouseButtonRelease(), Isis::AdvancedTrackTool::mouseLeave(), Isis::ScatterPlotTool::mouseMove(), Isis::SunShadowTool::mouseMove(), Isis::TrackTool::mouseMove(), Isis::RubberBandTool::mouseMove(), Isis::SunShadowTool::paintViewport(), Isis::RubberBandTool::paintViewport(), Isis::FindTool::paintViewport(), Isis::FileTool::print(), Isis::SunShadowTool::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::SunShadowTool::updateTool(), Isis::BandTool::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().

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

Return the list of cubeviewports.

Returns
CubeViewportList*

Definition at line 389 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(), openGround(), Isis::StereoTool::paintAllViewports(), Isis::MatchTool::paintAllViewports(), paintAllViewports(), Isis::FindTool::refresh(), Isis::ScatterPlotTool::repaintViewports(), Isis::AbstractPlotTool::repaintViewports(), Isis::WindowTool::resizeWindows(), Isis::BlinkTool::reverse(), Isis::ZoomTool::rubberBandComplete(), Isis::MatchTool::serialNumberList(), 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().

void Isis::QnetTool::deletePoint ( ControlPoint point)
slot

Delete control point.

Parameters
pointPointer to control point (net memory) to be deleted.
History:

2010-06-03 Jeannie Walldren - Removed "std::" since "using namespace std"

2010-07-12 Jeannie Walldren - Fixed bug by setting control point to NULL if removed from the control net and check for NULL points before emitting editPointChanged

2011-04-04 Tracie Sucharski - Move code that was after the exec block within, so that if the Cancel button is selected, nothing else happens.

2011-07-15 Tracie Sucharski - Print info about deleting editLock points and reference measures.

2013-05-09 Tracie Sucharski - Check for user selecting all measures for deletion and print warning that point will be deleted.

Definition at line 1920 of file QnetTool.cpp.

References colorizeSaveButton(), Isis::SerialNumberList::FileName(), Isis::ControlMeasure::GetCubeSerialNumber(), loadPoint(), loadTemplateFile(), and Isis::ControlPoint::PointLocked.

Referenced by mouseButtonRelease().

double Isis::QnetTool::demRadius ( double  latitude,
double  longitude 
)
private
void Isis::QnetTool::drawAllMeasurments ( MdiCubeViewport vp,
QPainter *  painter 
)
private

Draw all measurments which are on this viewPort.

Parameters
vpViewport whose measurements will be drawn
painter
History:

2010-06-03 Jeannie Walldren - Removed "std::" since "using namespace std"

2010-06-08 Jeannie Walldren - Fixed bug that was causing ignored measures not be drawn as yellow unless QnetTool was open

2010-07-01 Jeannie Walldren - Modified to draw points selected in QnetTool last so they lay on top of all other points in the image.

2011-04-15 Tracie Sucharski - Fixed bug which was causing all measures to be drawn on all cubes. Also removed loop through measures, instead just get measure for given serial number.

2011-10-20 Tracie Sucharski - Add check for a control network that does not yet have any control points.

2011-11-09 Tracie Sucharski - If there are no measures for this cube, return.

Definition at line 3050 of file QnetTool.cpp.

References Isis::SerialNumber::Compose(), Isis::CubeViewport::cube(), Isis::CubeViewport::cubeToViewport(), drawGroundMeasures(), Isis::ControlPoint::Free, Isis::ControlPoint::GetType(), and Isis::SerialNumberList::HasSerialNumber().

Referenced by paintViewport().

void Isis::QnetTool::drawGroundMeasures ( MdiCubeViewport vp,
QPainter *  painter 
)
private

Draw all Fixed or Constrained points on the ground source viewport.

Parameters
vpViewport whose measurements will be drawn
painter
Author
2011-09-16 Tracie Sucharski

Definition at line 3128 of file QnetTool.cpp.

References Isis::CubeViewport::cubeToViewport(), Isis::ControlPoint::Free, Isis::SurfacePoint::GetLatitude(), Isis::SurfacePoint::GetLongitude(), and Isis::ControlPoint::GetType().

Referenced by drawAllMeasurments().

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::RubberBandTool, Isis::ZoomTool, Isis::MeasureTool, Isis::StereoTool, Isis::SpatialPlotTool, Isis::SpectralPlotTool, and Isis::HistogramTool.

Definition at line 338 of file Tool.cpp.

References Isis::RubberBandTool::disable().

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

bool Isis::QnetTool::eventFilter ( QObject o,
QEvent *  e 
)
protected

Event filter for QnetTool.

Determines whether to update left or right measure info.

Parameters
oPointer to QObject
ePointer to QEvent
Returns
bool Indicates whether the event type is "Leave".

Definition at line 2976 of file QnetTool.cpp.

References updateLeftMeasureInfo(), and updateRightMeasureInfo().

void Isis::QnetTool::groundViewportClosed ( CubeViewport )
privateslot

Slot called when the ground source cube viewport is closed.

Author
2013-05-15 Tracie Sucharski

Definition at line 3785 of file QnetTool.cpp.

Referenced by openGround().

bool Isis::QnetTool::IsMeasureLocked ( QString  serialNumber)
private

Check for implicitly locked measure in m_editPoint.

If point is Locked, and this measure is the reference, it is implicity Locked. Because measure is a copy, the ControlPoint::IsEditLocked() which checks for implicit Lock on Reference measures does not work because there is not a parent point.

Parameters
[in]serialNumber(QString) Serial number of measure to be checked
Author
2011-07-06 Tracie Sucharski

Definition at line 3919 of file QnetTool.cpp.

Referenced by loadMeasureTable(), updateLeftMeasureInfo(), and updateRightMeasureInfo().

void Isis::QnetTool::loadMeasureTable ( )
private
void Isis::QnetTool::loadPoint ( )
private

Load point into QnetTool.

History:

2008-11-26 Jeannie Walldren - Added "Number of Measures" to QnetTool point information.

2010-06-03 Jeannie Walldren - Removed "std::" since "using namespace std"

2010-10-29 Tracie Sucharski - Changed pointfiles to QStringList

2011-04-20 Tracie Sucharski - Was not setting EditLock check box

2011-07-18 Tracie Sucharski - Fixed bug with loading ground measure-use AprioriSurface point, not lat,lon of reference measure unless there is no apriori surface point.

2012-05-08 Tracie Sucharski - m_leftFile changed from std::string to QString.

2012-09-28 Tracie Sucharski - When looking for ground source in right combo, use fileName, not the serial number. The ground source serial number will not be the fileName if the Instrument group is retained in the labels. Fixes #1018

Definition at line 2130 of file QnetTool.cpp.

References Isis::ControlMeasure::Candidate, Isis::Angle::degrees(), Isis::SerialNumberList::FileName(), Isis::ControlPoint::Free, Isis::ControlMeasure::GetCubeSerialNumber(), Isis::SurfacePoint::GetLatitude(), Isis::SurfacePoint::GetLongitude(), loadMeasureTable(), selectLeftMeasure(), selectRightMeasure(), Isis::SerialNumberList::SerialNumberIndex(), Isis::ControlMeasure::SetCoordinate(), Isis::ControlMeasure::SetCubeSerialNumber(), Isis::Camera::SetImage(), Isis::ControlMeasure::SetType(), Isis::Sensor::UniversalLatitude(), Isis::Sensor::UniversalLongitude(), and updateSurfacePointInfo().

Referenced by addMeasure(), createFixedPoint(), createPoint(), deletePoint(), modifyPoint(), openGround(), and setPointType().

void Isis::QnetTool::loadTemplateFile ( QString  fn)
private

Updates the current template file being used.

Parameters
fnThe file path of the new template file

Definition at line 3227 of file QnetTool.cpp.

Referenced by addMeasure(), createPoint(), deletePoint(), modifyPoint(), and openTemplateFile().

void Isis::QnetTool::measureSaved ( )
privateslot

This method is connected with the measureSaved() signal from ControlPointEdit.

History:

2008-11-26 Jeannie Walldren - Added message box to warn the user that they are saving an "Ignore" point and ask whether they would like to set Ignore=false. This emits an ignoreChanged() signal so the "Ignore" box in the window is unchecked.

2008-12-30 Jeannie Walldren - Modified to set measures in viewports to Ignore=False if when saving, the user chooses to set a point's Ignore=False. Replaced reference to ignoreChanged() with ignorePointChanged().

2008-12-31 Jeannie Walldren - Added question box to ask user whether the current reference measure should be replaced with the measure in the left viewport.

2010-01-27 Jeannie Walldren - Added question box to warn the user that they are saving an "Ignore" measure and ask whether they would like to set Ignore=False. This emits an ignoreRightChanged() signal so the "Ignore" box in the window is unchecked. Modified Ignore Point message for clarity.

2010-11-19 Tracie Sucharski - Renamed from pointSaved.

2011-03-03 Tracie Sucharski - Do not save left measure unless the ignore flag was changed, that is the only change allowed on the left measure.

2011-04-20 Tracie Sucharski - If left measure equals right measure, copy right into left. Also if EditLock true and user does not want to change, then do not save measure. Remove signals EditPointChanged and netChanged, since these should only happen when the point is saved.

2011-07-01 Tracie Sucharski - Fixed bug where the edit measure EditLocked=True, but the original measure was False, and we woouldn't allow the measure to be saved.

2011-07-25 Tracie Sucharski - Removed editPointChanged signal since the editPoint is not changed. This helped with qnet windows blinking due to refresh.

2011-09-22 Tracie Sucharski - When checking ignore status on right measure, check both original and edit measure.

2012-04-09 Tracie Sucharski - When checking if left measure editLock has changed, use measure->IsEditLocked() instead of this classes IsMeasureLocked() because it checks the m_editPoint measure instead of the measure loaded into the point editor.

2012-04-26 Tracie Sucharski - cleaned up, moved reference checking and updating ground surface point to new methods.

2012-05-07 Tracie Sucharski - Removed code to re-load left measure if left and right are the same, this is already handled in ControlPointEdit::saveMeasure.

2012-06-12 Tracie Sucharski - Change made on 2012-04-26 caused a bug where if no ground is loaded the checkReference was not being called and reference measure could not be changed and there was no warning printed.

2013-12-05 Tracie Sucharski - If saving measure on fixed or constrained point and reference measure is ignored, print warning and return.

Definition at line 681 of file QnetTool.cpp.

References colorizeSaveButton(), Isis::ControlPoint::Free, Isis::ControlMeasure::IsEditLocked(), loadMeasureTable(), updateLeftMeasureInfo(), updateRightMeasureInfo(), and Isis::Application::UserName().

Referenced by createQnetTool().

virtual QString Isis::Tool::menuName ( ) const
inlinevirtualinherited
void Isis::QnetTool::modifyPoint ( ControlPoint point)
slot

Modify control point.

Parameters
pointPointer to control point to be modified.
History:
2009-09-15 Tracie Sucharski - Add error check for points with no measures.

Definition at line 2069 of file QnetTool.cpp.

References loadPoint(), and loadTemplateFile().

Referenced by mouseButtonRelease().

void Isis::Tool::mouseButtonPress ( QPoint  p,
Qt::MouseButton  s 
)
protectedvirtualslotinherited
Parameters
p
s

Definition at line 366 of file Tool.cpp.

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

void Isis::QnetTool::mouseButtonRelease ( QPoint  p,
Qt::MouseButton  s 
)
protectedslot

Handle mouse events on CubeViewport.

Parameters
p[in](QPoint) Point under cursor in cubeviewport
s[in](Qt::MouseButton) Which mouse button was pressed
History:

2007-06-12 Tracie Sucharski - Swapped left and right mouse button actions.

2009-06-08 Tracie Sucharski - Add error checking for editing or deleting points when no point exists.

2010-06-03 Jeannie Walldren - Removed "std::" since "using namespace std"

2010-11-19 Tracie Sucharski - Make a copy of the point to be edited or added. Do not add to control network until user selects "Save Point To Control Network".

2012-01-11 Tracie Sucharski - Add error check for invalid lat, lon when creating new control point.

2012-05-08 Tracie Sucharski - Clear m_leftFile, only set if creating new point. Change m_leftFile from a std::string to a QString.

2013-05-09 Tracie Sucharski - For editing (left button) and deleting (right button), Swapped checking for empty network and not allowing mouse clicks on the ground source. First check if there are any points in the network. If not print message and return.

2013-12-17 Tracie Sucharski - Check for valid serial number at beginning. This prevents seg fault if user opens a new cube list but clicks on a cube that was open from a previous list.

Definition at line 1491 of file QnetTool.cpp.

References createFixedPoint(), createPoint(), Isis::CubeViewport::cube(), Isis::Tool::cubeViewport(), deletePoint(), Isis::Cube::fileName(), modifyPoint(), Isis::SerialNumberList::SerialNumber(), Isis::UniversalGroundMap::SetImage(), Isis::IException::toString(), Isis::CubeViewport::universalGroundMap(), Isis::UniversalGroundMap::UniversalLatitude(), Isis::UniversalGroundMap::UniversalLongitude(), and Isis::CubeViewport::viewportToCube().

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

Definition at line 357 of file Tool.cpp.

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

void Isis::Tool::mouseMove ( QPoint  p)
protectedvirtualslotinherited
Parameters
p

Definition at line 351 of file Tool.cpp.

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

bool Isis::QnetTool::okToContinue ( )
private

Allows user to set a new template file.

Author
2008-12-10 Jeannie Walldren
History:
2008-12-10 Jeannie Walldren - Original Version

void QnetTool::setTemplateFile() { m_pointEditor->setTemplateFile(); }

Definition at line 3180 of file QnetTool.cpp.

References saveTemplateFileAs().

Referenced by openTemplateFile().

void Isis::QnetTool::openDem ( )
privateslot

Open a DEM for ground source radii.

Author
2011-01-18 Tracie Sucharski

Definition at line 3709 of file QnetTool.cpp.

void Isis::QnetTool::openGround ( )
privateslot

Open a ground source for selecting fixed points.

This file could be a DEM, a shaded version of a DEM or a level1 image with corrected pointing or some other type of basemap.

Author
2009-07-20 Tracie Sucharski
History:

2011-06-03 Tracie Sucharski - Make sure edit point valid before loading.

2012-10-04 Tracie Sucharski - If the ground source serial number already exists in the serial number list, print error and clear out ground information.

2012-10-05 Tracie Sucharski - Re-factored most of this method, attempting to clean up logic, error checking and recovery.

Definition at line 3525 of file QnetTool.cpp.

References Isis::SerialNumberList::Add(), Isis::SerialNumber::Compose(), Isis::CameraFactory::Create(), Isis::ProjectionFactory::CreateFromCube(), Isis::CubeViewport::cube(), Isis::Tool::cubeViewportList(), Isis::Cube::fileName(), Isis::ControlPoint::Free, groundViewportClosed(), Isis::SerialNumberList::HasSerialNumber(), loadPoint(), and Isis::IException::toString().

void Isis::QnetTool::openTemplateFile ( )
privateslot

prompt user for a registration template file to open.

Once the file is selected, loadTemplateFile is called to update the current template file being used.

Definition at line 3204 of file QnetTool.cpp.

References loadTemplateFile(), and okToContinue().

void Isis::QnetTool::paintAllViewports ( QString  pointId)
privateslot

This method will repaint the given Point ID in each viewport Note: The pointId parameter is here even though it's not used because the signal (QnetTool::editPointChanged connected to this slot is also connected to another slot (QnetNavTool::updateEditPoint which needs the point Id.

TODO: Clean this up, use 2 different signals?

Parameters
pointId
History:
2010-06-03 Jeannie Walldren - Removed "std::" since "using namespace std"

Definition at line 3016 of file QnetTool.cpp.

References Isis::Tool::cubeViewportList().

Referenced by createQnetTool(), and refresh().

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

Take care of drawing things on a viewPort.

This is overiding the parents paintViewport member.

Parameters
vpPointer to Viewport to be painted
painter

Reimplemented from Isis::Tool.

Definition at line 2997 of file QnetTool.cpp.

References drawAllMeasurments().

void Isis::QnetTool::readSettings ( )
private

This method is called from the constructor so that when the Main window is created, it know's it's size and location.

Definition at line 3942 of file QnetTool.cpp.

Referenced by createQnetTool().

void Isis::QnetTool::refresh ( )
slot

Refresh all necessary widgets in QnetTool including the PointEditor and CubeViewports.

Author
2008-12-09 Tracie Sucharski
History:

2010-12-15 Tracie Sucharski - Before setting m_editPoint to NULL, release memory. TODO: Why is the first if statement being done???

2011-10-20 Tracie Sucharski - If no control points exist in the network, emit proper signal and make sure editor and measure table are hidden.

Definition at line 3434 of file QnetTool.cpp.

References paintAllViewports().

void Isis::Tool::registerTool ( MdiCubeViewport viewport)
protectedslotinherited

Registers the tool to the viewport.

Parameters
viewport

Definition at line 326 of file Tool.cpp.

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

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

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 261 of file Tool.h.

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

void Isis::QnetTool::saveAsNet ( )
privateslot

Signal to save the control net.

Definition at line 1395 of file QnetTool.cpp.

void Isis::QnetTool::saveChips ( )
privateslot

Slot which calls ControlPointEditor slot to save chips.

Author
2009-03-17 Tracie Sucharski

Definition at line 3367 of file QnetTool.cpp.

void Isis::QnetTool::saveNet ( )
privateslot

Signal to save control net.

Author
2011-10-31 Tracie Sucharski

Definition at line 1379 of file QnetTool.cpp.

void Isis::QnetTool::savePoint ( )
privateslot

Save edit point to the Control Network.

Up to this point the point is simply a copy and does not exist in the network.

Author
2010-11-19 Tracie Sucharski
History:

2011-04-20 Tracie Sucharski - If EditLock set, prompt for changing and do not save point if editLock not changed.

2011-07-05 Tracie Sucharski - Move point EditLock error checking to individual point parameter setting methods, ie. SetPointType, SetIgnorePoint.

Definition at line 1011 of file QnetTool.cpp.

References Isis::ControlPoint::Delete(), Isis::ControlPoint::Free, Isis::ControlPoint::GetId(), Isis::ControlPoint::GetType(), and Isis::ControlPoint::HasSerialNumber().

Referenced by createQnetTool().

void Isis::QnetTool::saveTemplateFile ( )
privateslot

save the file opened in the template editor

Definition at line 3257 of file QnetTool.cpp.

References writeTemplateFile().

void Isis::QnetTool::saveTemplateFileAs ( )
privateslot

save the contents of template editor to a file chosen by the user

Definition at line 3269 of file QnetTool.cpp.

References writeTemplateFile().

Referenced by okToContinue().

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

void Isis::QnetTool::selectLeftMeasure ( int  index)
privateslot

Select left measure.

Parameters
indexIndex of file from the point files vector
History:

2010-06-03 Jeannie Walldren - Removed "std::" since "using namespace std"

2011-07-06 Tracie Sucharski - If point is Locked, and measure is reference, lock the measure.

Definition at line 2645 of file QnetTool.cpp.

References Isis::SerialNumberList::SerialNumber(), and updateLeftMeasureInfo().

Referenced by createLeftMeasureGroupBox(), and loadPoint().

void Isis::QnetTool::selectRightMeasure ( int  index)
privateslot

Select right measure.

Parameters
indexIndex of file from the point files vector
History:
2010-06-03 Jeannie Walldren - Removed "std::" since "using namespace std"

Definition at line 2680 of file QnetTool.cpp.

References Isis::SerialNumberList::SerialNumber(), and updateRightMeasureInfo().

Referenced by createRightMeasureGroupBox(), loadGroundMeasure(), and loadPoint().

void Isis::Tool::setCubeViewport ( MdiCubeViewport cvp)
slotinherited
void Isis::QnetTool::setIgnoreLeftMeasure ( bool  ignore)
privateslot

Set the "Ignore" keyword of the measure shown in the left viewport to the value of the input parameter.

Parameters
ignoreBoolean value that determines the Ignore value for the left measure.
History:

2010-01-27 Jeannie Walldren - Fixed bug that resulted in segfault. Moved the check whether m_rightMeasure is null before the check whether m_rightMeasure equals m_leftMeasure.

2010-12-15 Tracie Sucharski - Remove netChanged, the point is not changed in the net unless "Save Point" is selected.

2011-06-27 Tracie Sucharski - emit signal indicating a measure parameter has changed.

Definition at line 1288 of file QnetTool.cpp.

Referenced by createLeftMeasureGroupBox().

void Isis::QnetTool::setIgnorePoint ( bool  ignore)
privateslot

Set point's "Ignore" keyword to the value of the input parameter.

Parameters
ignoreBoolean value that determines the Ignore value for this point.
History:
2010-12-15 Tracie Sucharski - Remove netChanged, the point is not changed in the net unless "Save Point" is selected.

Definition at line 1214 of file QnetTool.cpp.

References colorizeSaveButton(), and Isis::ControlPoint::PointLocked.

Referenced by createControlPointGroupBox().

void Isis::QnetTool::setIgnoreRightMeasure ( bool  ignore)
privateslot

Set the "Ignore" keyword of the measure shown in the right viewport to the value of the input parameter.

Parameters
ignoreBoolean value that determines the Ignore value for the right measure.
History:

2010-01-27 Jeannie Walldren - Fixed bug that resulted in segfault. Moved the check whether m_leftMeasure is null before the check whether m_rightMeasure equals m_leftMeasure.

2010-12-15 Tracie Sucharski - Remove netChanged, the point is not changed in the net unless "Save Point" is selected.

2011-06-27 Tracie Sucharski - emit signal indicating a measure parameter has changed.

Definition at line 1358 of file QnetTool.cpp.

Referenced by createRightMeasureGroupBox().

void Isis::QnetTool::setLockLeftMeasure ( bool  lock)
privateslot

Set the "EditLock" keyword of the measure shown in the left viewport to the value of the input parameter.

Parameters
ignoreBoolean value that determines the EditLock value for the left measure.
Author
2011-03-07 Tracie Sucharski
History:

2011-06-27 Tracie Sucharski - emit signal indicating a measure parameter has changed.

2012-04-16 Tracie Sucharski - When attempting to un-lock a measure print error if point is locked.

Definition at line 1247 of file QnetTool.cpp.

Referenced by createLeftMeasureGroupBox().

void Isis::QnetTool::setLockPoint ( bool  lock)
privateslot

Set point's "EditLock" keyword to the value of the input parameter.

Parameters
ignoreBoolean value that determines the EditLock value for this point.
Author
2011-03-07 Tracie Sucharski

Definition at line 1195 of file QnetTool.cpp.

References colorizeSaveButton().

Referenced by createControlPointGroupBox().

void Isis::QnetTool::setLockRightMeasure ( bool  lock)
privateslot

Set the "EditLock" keyword of the measure shown in the right viewport to the value of the input parameter.

Parameters
ignoreBoolean value that determines the EditLock value for the right measure.
Author
2011-03-07 Tracie Sucharski
History:

2011-06-27 Tracie Sucharski - emit signal indicating a measure parameter has changed.

2012-04-16 Tracie Sucharski - When attempting to un-lock a measure print error if point is locked.

Definition at line 1318 of file QnetTool.cpp.

Referenced by createRightMeasureGroupBox().

void Isis::QnetTool::setPointType ( int  pointType)
privateslot

Set the point type.

Parameters
pointTypeint Index from point type combo box
Author
2011-07-05 Tracie Sucharski
History:
2013-12-06 Tracie Sucharski - If changing point type to constrained or fixed make sure reference measure is not ignored.

Definition at line 1067 of file QnetTool.cpp.

References colorizeSaveButton(), Isis::ControlPoint::Free, loadGroundMeasure(), loadPoint(), and Isis::ControlPoint::PointLocked.

Referenced by createControlPointGroupBox().

void Isis::QnetTool::setTemplateModified ( )
privateslot

called when the template file is modified by the template editor

Definition at line 3250 of file QnetTool.cpp.

Referenced by createTemplateEditorWidget().

void Isis::QnetTool::showNavWindow ( bool  checked)
privateslot

Emits a signal to displays the Navigation window.

This signal is connected to QnetNavTool.

History:
2010-07-01 Jeannie Walldren - Original version

Definition at line 3469 of file QnetTool.cpp.

Referenced by createToolBarWidget(), and toolPadAction().

QAction * Isis::QnetTool::toolPadAction ( ToolPad pad)
protectedvirtual

Adds the Tie tool action to the tool pad.

When the Tie tool is selected, the Navigation Tool will automatically open.

Parameters
padTool pad
Returns
QAction* Pointer to Tie tool action
History:
2010-07-01 Jeannie Walldren - Added connection between qnet's TieTool button and the showNavWindow() method

Reimplemented from Isis::Tool.

Definition at line 1449 of file QnetTool.cpp.

References showNavWindow(), and Isis::Tool::toolIconDir().

void Isis::QnetTool::updateLeftMeasureInfo ( )
privateslot
History:

2008-11-24 Jeannie Walldren - Added "Goodness of Fit" to left measure info.

2010-07-22 Tracie Sucharski - Updated new measure types associated with implementation of binary control networks.

2010-12-27 Tracie Sucharski - Write textual Null instead of the numeric Null for sample & line residuals.

2011-04-20 Tracie Sucharski - Set EditLock check box correctly

2011-05-20 Tracie Sucharski - Added Reference output

2011-07-19 Tracie Sucharski - Did some re-arranging and added sample/line shifts.

Definition at line 2724 of file QnetTool.cpp.

References Isis::ControlMeasure::Candidate, Isis::ControlMeasureLogData::GoodnessOfFit, IsMeasureLocked(), Isis::ControlMeasure::Manual, Isis::Null, Isis::ControlMeasure::RegisteredPixel, and Isis::ControlMeasure::RegisteredSubPixel.

Referenced by eventFilter(), measureSaved(), and selectLeftMeasure().

void Isis::QnetTool::updateNet ( QString  cNetFileName)
slot

Updates the Control Network displayed in the Qnet Tool title bar.

This slot is connected to QnetFileTool's controlNetworkUpdated(QString cNetFileName) signal.

Parameters
cNetFileNameFileName of the most recently selected control network.
See Also
QnetFileTool
History:

Tracie Sucharski - Original version

2008-11-26 Jeannie Walldren - Added cNetFileName input parameter in order to show the file path in the window's title bar.

2011-10-31 Tracie Sucharski - Save filename for implementation of Save option.

Definition at line 1428 of file QnetTool.cpp.

void Isis::QnetTool::updatePointInfo ( QString  pointId)
slot

Update the current editPoint information in the Point Editor labels.

Author
2011-05-05 Tracie Sucharski

Instead of a single method, should slots be separate for each updated point parameter, ie. ignore, editLock, apriori, etc. This is not robust, if other point attributes are changed outside of QnetTool, this method will need to be updated. *** THIS METHOD SHOULD GO AWAY WHEN CONTROLpOINTEDITOR IS INCLUDED IN QNET ***

Definition at line 3394 of file QnetTool.cpp.

References updateSurfacePointInfo().

void Isis::QnetTool::updateRightMeasureInfo ( )
privateslot
History:

2008-11-24 Jeannie Walldren - Added "Goodness of Fit" to right measure info.

2010-06-03 Jeannie Walldren - Removed "std::" since "using namespace std"

2010-07-22 Tracie Sucharski - Updated new measure types associated with implementation of binary control networks.

2010-12-27 Tracie Sucharski - Write textual Null instead of the numeric Null for sample & line residuals.

2011-04-20 Tracie Sucharski - Set EditLock check box correctly

2011-05-20 Tracie Sucharski - Added Reference output

2011-07-19 Tracie Sucharski - Did some re-arranging and added sample/line shifts.

Definition at line 2812 of file QnetTool.cpp.

References Isis::ControlMeasure::Candidate, Isis::ControlMeasureLogData::GoodnessOfFit, IsMeasureLocked(), Isis::ControlMeasure::Manual, Isis::Null, Isis::ControlMeasure::RegisteredPixel, and Isis::ControlMeasure::RegisteredSubPixel.

Referenced by eventFilter(), measureSaved(), and selectRightMeasure().

void Isis::QnetTool::updateSurfacePointInfo ( )
privateslot

Update the Surface Point Information in the QnetTool window.

Author
2011-03-01 Tracie Sucharski
History:

2011-05-12 Tracie Sucharski - Type printing Apriori Values

2011-05-24 Tracie Sucharski - Set target radii on apriori surface point, so that sigmas can be converted to meters.

Definition at line 2530 of file QnetTool.cpp.

References Isis::Angle::degrees(), Isis::SurfacePoint::GetLatitude(), Isis::SurfacePoint::GetLatSigmaDistance(), Isis::SurfacePoint::GetLocalRadius(), Isis::SurfacePoint::GetLongitude(), Isis::SurfacePoint::GetLonSigmaDistance(), Isis::Distance::meters(), Isis::Null, and Isis::SurfacePoint::SetRadii().

Referenced by loadGroundMeasure(), loadPoint(), and updatePointInfo().

void Isis::QnetTool::viewTemplateFile ( )
privateslot

Allows the user to view the template file that is currently set.

Author
2008-12-10 Jeannie Walldren
History:

2008-12-10 Jeannie Walldren - Original Version

2008-12-10 Jeannie Walldren - Added "" namespace to PvlEditDialog reference and changed registrationDialog from pointer to object

2008-12-15 Jeannie Walldren - Added QMessageBox warning in case Template File cannot be read.

Definition at line 3341 of file QnetTool.cpp.

References Isis::IException::toString().

void Isis::QnetTool::writeSettings ( ) const
private

This method is called when the Main window is closed or hidden to write the size and location settings to a config file in the user's home directory.

Definition at line 3958 of file QnetTool.cpp.

void Isis::QnetTool::writeTemplateFile ( QString  fn)
privateslot

write the contents of the template editor to the file provided.

Parameters
fnThe filename to write to

Definition at line 3287 of file QnetTool.cpp.

References Isis::IException::toString().

Referenced by saveTemplateFile(), and saveTemplateFileAs().


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