USGS

Isis 3.0 Object Programmers' Reference

Home

Isis::MosaicControlNetTool Class Reference

//TODO: Remove debug printout & comment More...

#include <MosaicControlNetTool.h>

Inheritance diagram for Isis::MosaicControlNetTool:
Inheritance graph
Collaboration diagram for Isis::MosaicControlNetTool:
Collaboration graph

Public Types

enum  MovementColorSource { NoMovement = 0, NoColor, MeasureCount, ResidualMagnitude }
 This enum defines how to draw the movement arrows (arrows from CP A Priori location to adjusted location). More...
 

Public Slots

void activate (bool)
 Activates the tool.
 

Signals

void activated (bool)
 

Public Member Functions

 MosaicControlNetTool (MosaicSceneWidget *)
 MosaicControlNetTool constructor.
 
void addToMenu (QMenu *menu)
 
PvlObject toPvl () const
 
void fromPvl (const PvlObject &obj)
 
QString projectPvlObjectName () const
 
void setMovementArrowColorSource (MovementColorSource, int, double)
 Define how the movement arrows should be drawn.
 
MovementColorSource movementArrowColorSource () const
 Get the current setting for the movement arrows.
 
int maxMovementColorMeasureCount () const
 Get the current measure count to become fully colored.
 
double maxMovementColorResidualMagnitude () const
 Get the current max.
 
bool isActive () const
 Returns the activeness of this toool.
 
QPixmap getIcon (QString iconName) const
 returns the path to the icon directory.
 
virtual void addTo (QMenu *menu)
 
virtual void addTo (ToolPad *toolPad)
 
virtual void addTo (QToolBar *toolBar)
 
virtual QList< QAction * > getViewActions ()
 

Static Public Member Functions

static QString toString (MovementColorSource)
 Convert a MovementColorSource to a string for serialization purposes.
 
static MovementColorSource fromMovementColorSourceString (QString)
 Convert a string back to a MovementColorSource (for serialization purposes).
 

Static Public Attributes

static const int NUM_MOVEMENT_COLOR_SOURCE_VALUES = 4
 This is the count of possible values of MovementColorSource (useful for loops).
 

Protected Slots

virtual void mouseEnter ()
 
virtual void mouseMove (QPointF)
 
virtual void mouseLeave ()
 
virtual void mouseDoubleClick (QPointF)
 
virtual void mouseButtonPress (QPointF, Qt::MouseButton s)
 
virtual void mouseWheel (QPointF, int delta)
 
virtual void rubberBandComplete (QRectF r, Qt::MouseButton s)
 
void toolBarDestroyed (QObject *obj)
 

Protected Member Functions

QActiongetPrimaryAction ()
 Adds the action to the toolpad.
 
QWidgetgetToolBarWidget ()
 This method returns a widget that will be put in a tool bar when the tool is activated.
 
void mouseButtonRelease (QPointF, Qt::MouseButton s)
 
MosaicSceneWidgetgetWidget ()
 

Private Slots

void configMovement ()
 Bring up a movement arrow configuration dialog.
 
void updateTool ()
 This slot opens and reopens this tool properly.
 
void openControlNet ()
 Loads a control net from a file.
 
void displayConnectivity ()
 Displays the connectivity of Control Points.
 
void displayControlNet ()
 The user toggled the cnet visibility - re-sync the graphics item visibility with the action.
 
void closeNetwork ()
 Close the open network, if one is open.
 
void loadNetwork ()
 Load m_controlNetFile into memory - this will re-load the network if it's already open.
 
void randomizeColors ()
 
void objectDestroyed (QObject *)
 An object was destroyed, NULL it out.
 

Private Member Functions

void createDialog ()
 
ImagetakeImage (QString sn, ImageList &images)
 

Private Attributes

QPushButton * m_loadControlNetButton
 
QPushButton * m_displayControlNetButton
 
QPushButton * m_displayConnectivity
 
QPushButton * m_configMovement
 
QPushButton * m_closeNetwork
 
QPushButton * m_randomizeColors
 
QActionm_connectivity
 
ControlNetm_controlNet
 
ControlNetGraphicsItemm_controlNetGraphics
 
QLabel * m_controlNetFileLabel
 
QString m_controlNetFile
 
MovementColorSource m_movementArrowColorSource
 This defines the drawing mode of the apriori to adjusted arrows.
 
int m_measureCount
 This is the measure count at which we start coloring the movement arrows.
 
double m_residualMagnitude
 This is the residual magnitude at which we coloring the movement arrows.
 

Detailed Description

//TODO: Remove debug printout & comment

Handles Control Net displays

Author
????-??-?? Christopher Austin
History:

2010-06-24 Christopher Austin - Added |x| functionality and fixed control net loading

2011-05-07 Steven Lambright - Refactored.

2011-05-10 Steven Lambright - Reduced useless code, open cnet button is now always enabled.

2011-05-10 Steven Lambright - Added label for currently open network.

2011-09-27 Steven Lambright - Improved user documentation. Made the open control network button more obvious.

2013-01-02 Steven Lambright - Implemented movement arrow colorization. This is a quick and dirty implementation designed to get the most basic functionality working with minimal options. Added the enum MovementColorSource and the methods setMovementArrowColorSource(), movementArrowColorSource(), maxMovementColorMeasureCount(), maxMovementColorResidualMagnitude(), toString(), and fromMovementColorSourceString(). Fixes #479.

2013-01-31 Steven Lambright - Removed some debugging statements that were left around from the last change. Fixes #1459.

Definition at line 44 of file MosaicControlNetTool.h.

Member Enumeration Documentation

This enum defines how to draw the movement arrows (arrows from CP A Priori location to adjusted location).

These settings include whether the arrows are shown and how to color them.

NOTE: It's important to start at zero. Also, if you add to this enumeration, be sure to update NUM_MOVEMENT_COLOR_SOURCE_VALUES.

Enumerator
NoMovement 

Do not show movement arrows.

NoColor 

Show black movement arrows.

MeasureCount 

Show movement arrows colored by measure count.

ResidualMagnitude 

Show movement arrows colored by residual magnitude.

Definition at line 56 of file MosaicControlNetTool.h.

Constructor & Destructor Documentation

Isis::MosaicControlNetTool::MosaicControlNetTool ( MosaicSceneWidget scene)

Member Function Documentation

void Isis::MosaicTool::activate ( bool  on)
slotinherited

Activates the tool.

Parameters
on

Definition at line 146 of file MosaicTool.cpp.

References Isis::MosaicTool::disableToolBar(), Isis::MosaicTool::enableToolBar(), and Isis::MosaicTool::p_active.

void Isis::MosaicControlNetTool::closeNetwork ( )
privateslot

Close the open network, if one is open.

m_controlNetFile is set to an empty string.

Definition at line 425 of file MosaicControlNetTool.cpp.

Referenced by loadNetwork(), and MosaicControlNetTool().

void Isis::MosaicControlNetTool::configMovement ( )
privateslot

Bring up a movement arrow configuration dialog.

Definition at line 355 of file MosaicControlNetTool.cpp.

Referenced by MosaicControlNetTool().

void Isis::MosaicControlNetTool::displayControlNet ( )
privateslot

The user toggled the cnet visibility - re-sync the graphics item visibility with the action.

Definition at line 606 of file MosaicControlNetTool.cpp.

Referenced by MosaicControlNetTool().

MosaicControlNetTool::MovementColorSource Isis::MosaicControlNetTool::fromMovementColorSourceString ( QString  string)
static

Convert a string back to a MovementColorSource (for serialization purposes).

Definition at line 280 of file MosaicControlNetTool.cpp.

References NoMovement, NUM_MOVEMENT_COLOR_SOURCE_VALUES, and toString().

QAction * Isis::MosaicControlNetTool::getPrimaryAction ( )
protectedvirtual

Adds the action to the toolpad.

Parameters
toolpad
Returns
QAction*

Implements Isis::MosaicTool.

Definition at line 301 of file MosaicControlNetTool.cpp.

References Isis::MosaicTool::getIcon().

QWidget * Isis::MosaicControlNetTool::getToolBarWidget ( )
protectedvirtual

This method returns a widget that will be put in a tool bar when the tool is activated.

This method will only be called once so it can new the widget without a problem.

Reimplemented from Isis::MosaicTool.

Definition at line 318 of file MosaicControlNetTool.cpp.

bool Isis::MosaicTool::isActive ( ) const
inlineinherited
void Isis::MosaicControlNetTool::loadNetwork ( )
privateslot

Load m_controlNetFile into memory - this will re-load the network if it's already open.

Definition at line 550 of file MosaicControlNetTool.cpp.

References closeNetwork(), m_measureCount, m_movementArrowColorSource, m_residualMagnitude, objectDestroyed(), setMovementArrowColorSource(), and Isis::IException::toString().

Referenced by openControlNet().

int Isis::MosaicControlNetTool::maxMovementColorMeasureCount ( ) const

Get the current measure count to become fully colored.

This will return -1 if it's undefined.

Definition at line 225 of file MosaicControlNetTool.cpp.

References m_measureCount.

double Isis::MosaicControlNetTool::maxMovementColorResidualMagnitude ( ) const

Get the current max.

residual magnitude to become fully colored. This will return Null if it's undefined.

Definition at line 239 of file MosaicControlNetTool.cpp.

References Isis::IsSpecial(), m_residualMagnitude, and Isis::Null.

MosaicControlNetTool::MovementColorSource Isis::MosaicControlNetTool::movementArrowColorSource ( ) const

Get the current setting for the movement arrows.

Definition at line 217 of file MosaicControlNetTool.cpp.

References m_movementArrowColorSource.

void Isis::MosaicControlNetTool::objectDestroyed ( QObject obj)
privateslot

An object was destroyed, NULL it out.

Definition at line 466 of file MosaicControlNetTool.cpp.

Referenced by loadNetwork(), and MosaicControlNetTool().

void Isis::MosaicControlNetTool::openControlNet ( )
privateslot

Loads a control net from a file.

Definition at line 490 of file MosaicControlNetTool.cpp.

References Isis::DisplayProperties::displayName(), loadNetwork(), and Isis::ControlList::name().

Referenced by MosaicControlNetTool(), and updateTool().

void Isis::MosaicControlNetTool::setMovementArrowColorSource ( MovementColorSource  colorSource,
int  maxMeasureCount,
double  maxResidualMagnitude 
)

Define how the movement arrows should be drawn.

This includes if movement arrows should be drawn, what criteria should be used, and how to stretch (where to transition colors) the arrows.

NOTE: This is just a quick implementation and is probably not designed correctly. This is subject to change.

Parameters
colorSourceIf and how to draw and color the arrows
maxMeasureCountThe measure count to become fully colored
maxResidualMagnitudeThe max residual magnitude to become fully colored

Definition at line 200 of file MosaicControlNetTool.cpp.

References m_measureCount, m_movementArrowColorSource, m_residualMagnitude, MeasureCount, NoMovement, ResidualMagnitude, and Isis::ControlNetGraphicsItem::setArrowsVisible().

Referenced by loadNetwork().

QString Isis::MosaicControlNetTool::toString ( MovementColorSource  source)
static

Convert a MovementColorSource to a string for serialization purposes.

Definition at line 252 of file MosaicControlNetTool.cpp.

References MeasureCount, NoColor, NoMovement, and ResidualMagnitude.

Referenced by fromMovementColorSourceString().

void Isis::MosaicControlNetTool::updateTool ( )
privateslot

This slot opens and reopens this tool properly.

Definition at line 366 of file MosaicControlNetTool.cpp.

References Isis::MosaicTool::isActive(), and openControlNet().

Member Data Documentation

int Isis::MosaicControlNetTool::m_measureCount
private

This is the measure count at which we start coloring the movement arrows.

Definition at line 126 of file MosaicControlNetTool.h.

Referenced by loadNetwork(), maxMovementColorMeasureCount(), MosaicControlNetTool(), and setMovementArrowColorSource().

MovementColorSource Isis::MosaicControlNetTool::m_movementArrowColorSource
private

This defines the drawing mode of the apriori to adjusted arrows.

Definition at line 124 of file MosaicControlNetTool.h.

Referenced by loadNetwork(), MosaicControlNetTool(), movementArrowColorSource(), and setMovementArrowColorSource().

double Isis::MosaicControlNetTool::m_residualMagnitude
private

This is the residual magnitude at which we coloring the movement arrows.

Definition at line 128 of file MosaicControlNetTool.h.

Referenced by loadNetwork(), maxMovementColorResidualMagnitude(), MosaicControlNetTool(), and setMovementArrowColorSource().

const int Isis::MosaicControlNetTool::NUM_MOVEMENT_COLOR_SOURCE_VALUES = 4
static

This is the count of possible values of MovementColorSource (useful for loops).

Definition at line 67 of file MosaicControlNetTool.h.

Referenced by fromMovementColorSourceString().


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