Isis 3 Programmer Reference
Isis::MosaicSceneWidget Class Reference

This widget encompasses the entire mosaic scene. More...

#include <MosaicSceneWidget.h>

Inheritance diagram for Isis::MosaicSceneWidget:
Inheritance graph
Collaboration diagram for Isis::MosaicSceneWidget:
Collaboration graph

Classes

class  XmlHandler
 

Public Slots

void addImages (ImageList)
 
void removeImages (ImageList)
 
void refit ()
 This method refits t:he items in the graphics view.
 
void setCubesSelectable (bool)
 
void setProjection (Projection *)
 This method takes ownership of proj.
 
void setOutlineRect (QRectF)
 

Signals

void mouseEnter ()
 
void mouseMove (QPointF)
 
void mouseLeave ()
 
void mouseDoubleClick (QPointF)
 
void mouseButtonPress (QPointF, Qt::MouseButton s)
 
void mouseButtonRelease (QPointF, Qt::MouseButton s)
 
void mouseWheel (QPointF, int delta)
 
void projectionChanged (Projection *)
 
void rubberBandComplete (QRectF r, Qt::MouseButton s)
 
void visibleRectChanged (QRectF)
 
void cubesChanged ()
 
void queueSelectionChanged ()
 
void modifyControlPoint (ControlPoint *controlPoint)
 
void deleteControlPoint (ControlPoint *controlPoint)
 
void createControlPoint (double latitude, double longitude)
 
void controlPointSelected (ControlPoint *)
 
void cnetModified ()
 
void controlPointChanged (QString pointId)
 
void controlPointDeleted ()
 
void mosCubeClosed (Image *)
 

Public Member Functions

 MosaicSceneWidget (QStatusBar *status, bool showTools, bool internalizeToolBarsAndProgress, Directory *directory, QWidget *parent=0)
 Create a scene widget.
 
MosaicGraphicsViewgetView () const
 
QGraphicsScenegetScene () const
 
ProjectiongetProjection () const
 
QList< MosaicSceneItem * > allMosaicSceneItems ()
 
void addTo (QMenu *menu)
 
void addTo (ToolPad *toolPad)
 
void addToPermanent (QToolBar *toolBar)
 
void addTo (QToolBar *toolBar)
 
bool contextMenuEvent (QGraphicsSceneContextMenuEvent *event)
 This is called by MosaicGraphicsScene::contextMenuEvent.
 
MosaicSceneItemcubeToMosaic (Image *)
 
bool cubesSelectable () const
 
void enableRubberBand (bool)
 
bool blockSelectionChange (bool)
 
bool userHasTools () const
 
QProgressBargetProgress ()
 
PvlObject toPvl () const
 
void fromPvl (const PvlObject &)
 Call this method after loading any cubes when loading a project.
 
void load (XmlStackedHandlerReader *xmlReader)
 
void save (QXmlStreamWriter &stream, Project *project, FileName newProjectRoot) const
 
QRectF cubesBoundingRect () const
 
QStringList cubeFileNames ()
 
Directorydirectory () const
 
ImageList images ()
 
ImageList selectedImages ()
 Returns a list of all the cubes selected in the scene.
 
QList< QAction * > getExportActions ()
 
QList< QAction * > getViewActions ()
 
QList< QAction * > supportedActions (ImageList *)
 Get a list of actions this scene can perform given "images".
 
double moveDownOne (MosaicSceneItem *)
 
double moveDownOne (Image *)
 
QList< double > moveDownOne (ImageList *)
 
double moveToBottom (MosaicSceneItem *)
 This doesn't compress the Z values - the original Z values of this scene item is guaranteed to be empty after this operation.
 
double moveToBottom (Image *)
 This doesn't compress the Z values - the original Z value of this image is guaranteed to be empty after this operation.
 
QList< double > moveToBottom (ImageList *)
 This doesn't compress the Z values - the original Z values of these images are guaranteed to be empty after this operation.
 
double moveUpOne (MosaicSceneItem *)
 
double moveUpOne (Image *)
 
QList< double > moveUpOne (ImageList *)
 
double moveToTop (MosaicSceneItem *)
 This doesn't compress the Z values - the original Z values of this scene item is guaranteed to be empty after this operation.
 
double moveToTop (Image *)
 This doesn't compress the Z values - the original Z value of this image is guaranteed to be empty after this operation.
 
QList< double > moveToTop (ImageList *)
 This doesn't compress the Z values - the original Z values of these images are guaranteed to be empty after this operation.
 
double moveZ (MosaicSceneItem *sceneItem, double newZ, bool newZValueMightExist=true)
 This method moves the given scene item to the given Z value.
 
double moveZ (Image *image, double newZ, bool newZValueMightExist=true)
 
template<typename DataType >
QList< QAction * > supportedActions (DataType)
 Return an empty list of actions for unknown data types.
 
bool isControlNetToolActive ()
 

Static Public Member Functions

static QWidgetgetControlNetHelp (QWidget *cnetToolContainer=NULL)
 
static QWidgetgetGridHelp (QWidget *gridToolContainer=NULL)
 
static QWidgetgetLongHelp (QWidget *mosaicSceneContainer=NULL)
 
static QWidgetgetMapHelp (QWidget *mapContainer=NULL)
 
static QWidgetgetPreviewHelp (QWidget *worldViewContainer=NULL)
 

Protected Member Functions

virtual bool eventFilter (QObject *obj, QEvent *ev)
 

Private Slots

void exportView ()
 Saves the scene as a png, jpg, or tif file.
 
void saveList ()
 
void removeMosItem (QObject *)
 
void moveDownOne ()
 
void moveToBottom ()
 
void moveUpOne ()
 
void moveToTop ()
 
void fitInView ()
 
void onSelectionChanged ()
 
void onQueuedSelectionChanged ()
 
void configProjectionParameters ()
 This happens when the user clicks on the map action (the button that is named after the current projection).
 
void quickConfigProjectionParameters ()
 
void sendVisibleRectChanged ()
 

Private Member Functions

void setProjection (const PvlGroup &mappingGroup, Pvl label=Pvl())
 
MosaicSceneItemaddImage (Image *image)
 
void reprojectItems ()
 Reprojects all the items in the view.
 
double maximumZ ()
 
double minimumZ ()
 
void recalcSceneRect ()
 
MosaicSceneItemgetNextItem (MosaicSceneItem *item, bool up)
 Implemented because we want invisible items too.
 
PvlGroup createInitialProjection (Image *cube)
 
MosaicSceneItemcubeToMosaic (DisplayProperties *props)
 

Static Private Member Functions

static bool zOrderGreaterThan (MosaicSceneItem *first, MosaicSceneItem *second)
 

Private Attributes

Directorym_directory
 
bool m_cubesSelectable
 
bool m_customRubberBandEnabled
 
QRubberBand * m_customRubberBand
 
QPoint * m_rubberBandOrigin
 
QGraphicsScenem_graphicsScene
 The graphics scene that makes up this widget.
 
MosaicGraphicsViewm_graphicsView
 The graphics view.
 
Projectionm_projection
 The current projection type.
 
QList< MosaicSceneItem * > * m_mosaicSceneItems
 
QMap< DisplayProperties *, MosaicSceneItem * > m_displayPropsToMosaicSceneItemMap
 
QGraphicsRectItemm_outlineRect
 
QToolButton * m_mapButton
 
QActionm_quickMapAction
 
QList< MosaicTool * > * m_tools
 
ToolPadm_toolpad
 
QToolBarm_permToolbar
 
QToolBarm_activeToolbar
 
ProgressBarm_progress
 
QHash< QString, double > * m_projectImageZOrders
 
bool m_blockingSelectionChanged
 
bool m_userToolControl
 
bool m_ownProjection
 
bool m_queuedSelectionChanged
 
bool m_shouldRequeueSelectionChanged
 
double m_currentMinimumFootprintZ
 
double m_currentMaximumFootprintZ
 
PvlObjectm_projectViewTransform
 

Detailed Description

This widget encompasses the entire mosaic scene.

This widget is a self-contained 2D footprint view using Qt's graphics scene/view framework.

Author
????-??-?? Stacy Alley
History

2010-05-10 Christopher Austin - Added cnet connectivity functionality and fixed a few design issues

2011-04-01 Steven Lambright - Separated this class from the MosaicWidget class.

2011-05-10 Steven Lambright - Reduced unnecessary code, fixed toolTips to work on everything (not just cubes).

2011-05-17 Steven Lambright - More robust createInitialProj

2011-05-17 Steven Lambright - Target radii recalculated when the user specifies a map file, if they are missing.

2011-05-20 Steven Lambright - Improved error handling when reprojecting.

2011-07-29 Steven Lambright - Z-ordering is now saved and restored in the project files. references #275

2011-08-12 Steven Lambright - Added export options, references #342

2011-08-29 Steven Lambright - Re-worded export file list option, references #342

2011-09-27 Steven Lambright - Improved user documentation

2011-11-04 Steven Lambright - Added the zoom factor and scroll bar position to the project file. References #542.

2011-11-04 Steven Lambright - The mouse wheel events no longer cause panning. The qt code for QAbstractGraphicsView was looking at the event's accepted state. This being fixed means the mouse wheel can be used for zooming! Also added getViewActions in order to allow the zooming key shortcuts from the zoom tool to take effect when the zoom tool wasn't active.

2012-06-20 Debbie A. Cook, Updated Spice members to be more compliant with Isis coding standards. References #972.

2012-07-26 Kimberly Oyama - Updated the help documentation for the grid tool to include tips for the options dialog and the new 'Auto Grid' functionality. References #604.

2012-08-27 Tracie Sucharski - This widget now handles the creation of its own tools to the toolbars. Because this widget is used by qmos to create both the world scene and mosaic scene, the bool showTools was added to the constructor so that toolbars are not shown in the world scene.

2012-09-12 Steven Lambright - Added xml save/load capabilities.

2012-09-17 Steven Lambright - Added very basic right-click on multiple images capabilities. Increased performance.

2012-10-02 Stuart Sides and Steven Lambright - Added supportedActions() and updated fitInView() to work when called by an action with an ImageList for data.

2012-10-03 Steven Lambright - Removed createReferenceFootprint() - this was dead code that the grid tool handles now.

2012-10-11 Debbie A. Cook, Updated to use new Target class. References Mantis tickets #775 and #1114.

2012-10-19 Steven Lambright and Stuart Sides - Added moveUpOne(), moveDownOne(), moveToTop(), and moveToBottom() methods with new, more abstracted arguments. Added moveZ(). Improved fitInView() capabilities. Added supportedActions().

2013-01-31 Steven Lambright - Fixed a problem caused by #1312 - when the minimum longitude wasn't defined in the map file, the one generated by qmos was invalid. Fixes #1406.

2012-12-21 Steven Lambright - Renamed askNewProjection() to configProjectionParameters() and upgraded it's functionality to view and edit the current projection. Fixes #1034.

2013-12-24 Tracie Sucharski - Initialized bool member variables, m_queuedSelectionChanged and m_shouldRequestSelectionChanged. Removed unused private member, m_projectionFootprint. The uninitialized values were causing the qmos selection tool to not work properly. Fixes #1742.

2014-07-18 Kimberly Oyama and Tracie Sucharski - Added selectedCubes() and other control net functionality for IPCE.

2016-04-22 Jeannie Backer - Added label parameter to setProjection(mapGroup, label). The default value for label is an empty Pvl. Also, modified addImage() to pass the label from the cube of the image to be added into setProjection(mapGroup, label). This was done to be able to call TProjection::TargetRadii(label,mapGroup), which will in turn will now call Target::radiiGroup(targetName), if needed. References #3892

2016-08-28 Kelvin Rodriguez - Added using QWidget::contextMenuEvent to avoid hidden virtual function warnings in clang. Part of porting to OS X 10.11.

2016-09-14 Ian Humphrey - Replaced deprecated QPixmap::grabWidget with QWidget::grab. Fixes #4304.

2016-04-22 Jeannie Backer - Added label parameter to setProjection(mapGroup, label). The default value for label is an empty Pvl. Also, modified addImage() to pass the label from the cube of the image to be added into setProjection(mapGroup, label). This was done to be able to call TProjection::TargetRadii(label,mapGroup), which will in turn will now call Target::radiiGroup(targetName), if needed. References #3892

2016-08-02 Tracie Sucharski - Added public method to remove an Image from scene.

2016-09-14 Tracie Sucharski - Added signals for mouse clicks for modifying, deleting and creating control points. These are passed on to Footprint2DView signals, then on to Directory slots.

2016-11-07 Ian Humphrey - Restored the startElement() functionality so footprints can be correctly loaded from an XML storing the MosaicScenWidget's state. Fixes #4486.

2017-07-27 Makayla Shepherd - Fixed a segfault that occurred when closing a cube footprint. Fixes #5050.

2017-08-02 Tracie Sucharski - Added cnetModified signal to indicate that the control point graphics items need to be rebuilt since either a control point was deleted or added to the control net. Renamed deleteControlPoint signal to controlPointDeleted. Removed some unneeded connections. Fixes #5007, #5008.

2018-05-14 Tracie Sucharski - Change the xml tag from footprint2DView to mosaicScene. Reference #5422.

2018-10-04 Tracie Sucharski - When serializing images for ipce project saving, check for shapes in project if image for given id cannot be found. References #5495.

Definition at line 153 of file MosaicSceneWidget.h.

Constructor & Destructor Documentation

◆ MosaicSceneWidget()

Isis::MosaicSceneWidget::MosaicSceneWidget ( QStatusBar * status,
bool showTools,
bool internalizeToolBarsAndProgress,
Directory * directory,
QWidget * parent = 0 )

Create a scene widget.

Definition at line 64 of file MosaicSceneWidget.cpp.

References m_graphicsScene, m_graphicsView, and m_projection.

◆ ~MosaicSceneWidget()

Isis::MosaicSceneWidget::~MosaicSceneWidget ( )
virtual

Definition at line 244 of file MosaicSceneWidget.cpp.

Member Function Documentation

◆ addImage()

MosaicSceneItem * Isis::MosaicSceneWidget::addImage ( Image * image)
private

Definition at line 1267 of file MosaicSceneWidget.cpp.

◆ addImages

void Isis::MosaicSceneWidget::addImages ( ImageList images)
slot

Definition at line 1354 of file MosaicSceneWidget.cpp.

◆ addTo() [1/3]

void Isis::MosaicSceneWidget::addTo ( QMenu * menu)

Definition at line 419 of file MosaicSceneWidget.cpp.

◆ addTo() [2/3]

void Isis::MosaicSceneWidget::addTo ( QToolBar * toolBar)

Definition at line 411 of file MosaicSceneWidget.cpp.

◆ addTo() [3/3]

void Isis::MosaicSceneWidget::addTo ( ToolPad * toolPad)

Definition at line 427 of file MosaicSceneWidget.cpp.

◆ addToPermanent()

void Isis::MosaicSceneWidget::addToPermanent ( QToolBar * toolBar)

Definition at line 377 of file MosaicSceneWidget.cpp.

◆ allMosaicSceneItems()

QList< MosaicSceneItem * > Isis::MosaicSceneWidget::allMosaicSceneItems ( )
inline

Definition at line 174 of file MosaicSceneWidget.h.

◆ blockSelectionChange()

bool Isis::MosaicSceneWidget::blockSelectionChange ( bool block)

Definition at line 509 of file MosaicSceneWidget.cpp.

◆ configProjectionParameters

void Isis::MosaicSceneWidget::configProjectionParameters ( )
privateslot

This happens when the user clicks on the map action (the button that is named after the current projection).

This method pops up a modal configuration dialog for the map file.

Definition at line 1513 of file MosaicSceneWidget.cpp.

◆ contextMenuEvent()

bool Isis::MosaicSceneWidget::contextMenuEvent ( QGraphicsSceneContextMenuEvent * event)

This is called by MosaicGraphicsScene::contextMenuEvent.

Return false if not handled, true if handled.

Definition at line 440 of file MosaicSceneWidget.cpp.

References Isis::ImageList::append(), Isis::Directory::project(), selectedImages(), Isis::Directory::supportedActions(), and Isis::ImageList::supportedActions().

◆ createInitialProjection()

PvlGroup Isis::MosaicSceneWidget::createInitialProjection ( Image * cube)
private

Definition at line 332 of file MosaicSceneWidget.cpp.

◆ cubeFileNames()

QStringList Isis::MosaicSceneWidget::cubeFileNames ( )

Definition at line 704 of file MosaicSceneWidget.cpp.

◆ cubesBoundingRect()

QRectF Isis::MosaicSceneWidget::cubesBoundingRect ( ) const

Definition at line 676 of file MosaicSceneWidget.cpp.

◆ cubesSelectable()

bool Isis::MosaicSceneWidget::cubesSelectable ( ) const
inline

Definition at line 188 of file MosaicSceneWidget.h.

◆ cubeToMosaic() [1/2]

MosaicSceneItem * Isis::MosaicSceneWidget::cubeToMosaic ( DisplayProperties * props)
private

Definition at line 694 of file MosaicSceneWidget.cpp.

◆ cubeToMosaic() [2/2]

MosaicSceneItem * Isis::MosaicSceneWidget::cubeToMosaic ( Image * image)

Definition at line 499 of file MosaicSceneWidget.cpp.

◆ directory()

Directory * Isis::MosaicSceneWidget::directory ( ) const

Definition at line 717 of file MosaicSceneWidget.cpp.

◆ enableRubberBand()

void Isis::MosaicSceneWidget::enableRubberBand ( bool enable)

Definition at line 494 of file MosaicSceneWidget.cpp.

◆ eventFilter()

bool Isis::MosaicSceneWidget::eventFilter ( QObject * obj,
QEvent * ev )
protectedvirtual

Definition at line 1537 of file MosaicSceneWidget.cpp.

◆ exportView

void Isis::MosaicSceneWidget::exportView ( )
privateslot

Saves the scene as a png, jpg, or tif file.

Definition at line 1425 of file MosaicSceneWidget.cpp.

◆ fitInView

void Isis::MosaicSceneWidget::fitInView ( )
privateslot

Definition at line 2003 of file MosaicSceneWidget.cpp.

◆ fromPvl()

void Isis::MosaicSceneWidget::fromPvl ( const PvlObject & project)

Call this method after loading any cubes when loading a project.

Parameters
projectThe project Pvl

Definition at line 579 of file MosaicSceneWidget.cpp.

References Isis::PvlObject::findGroup(), Isis::PvlObject::findObject(), Isis::PvlObject::hasObject(), setProjection(), and Isis::toDouble().

◆ getControlNetHelp()

QWidget * Isis::MosaicSceneWidget::getControlNetHelp ( QWidget * cnetToolContainer = NULL)
static

Definition at line 862 of file MosaicSceneWidget.cpp.

◆ getExportActions()

QList< QAction * > Isis::MosaicSceneWidget::getExportActions ( )

Definition at line 777 of file MosaicSceneWidget.cpp.

◆ getGridHelp()

QWidget * Isis::MosaicSceneWidget::getGridHelp ( QWidget * gridToolContainer = NULL)
static

Definition at line 936 of file MosaicSceneWidget.cpp.

◆ getLongHelp()

QWidget * Isis::MosaicSceneWidget::getLongHelp ( QWidget * mosaicSceneContainer = NULL)
static

Definition at line 1028 of file MosaicSceneWidget.cpp.

◆ getMapHelp()

QWidget * Isis::MosaicSceneWidget::getMapHelp ( QWidget * mapContainer = NULL)
static

Definition at line 1078 of file MosaicSceneWidget.cpp.

◆ getNextItem()

MosaicSceneItem * Isis::MosaicSceneWidget::getNextItem ( MosaicSceneItem * item,
bool up )
private

Implemented because we want invisible items too.

Definition at line 2071 of file MosaicSceneWidget.cpp.

◆ getPreviewHelp()

QWidget * Isis::MosaicSceneWidget::getPreviewHelp ( QWidget * worldViewContainer = NULL)
static

Definition at line 1234 of file MosaicSceneWidget.cpp.

◆ getProgress()

QProgressBar * Isis::MosaicSceneWidget::getProgress ( )

Definition at line 518 of file MosaicSceneWidget.cpp.

◆ getProjection()

Projection * Isis::MosaicSceneWidget::getProjection ( ) const
inline

Definition at line 170 of file MosaicSceneWidget.h.

◆ getScene()

QGraphicsScene * Isis::MosaicSceneWidget::getScene ( ) const
inline

Definition at line 166 of file MosaicSceneWidget.h.

◆ getView()

MosaicGraphicsView * Isis::MosaicSceneWidget::getView ( ) const
inline

Definition at line 162 of file MosaicSceneWidget.h.

◆ getViewActions()

QList< QAction * > Isis::MosaicSceneWidget::getViewActions ( )

Definition at line 795 of file MosaicSceneWidget.cpp.

◆ images()

ImageList Isis::MosaicSceneWidget::images ( )

Definition at line 722 of file MosaicSceneWidget.cpp.

◆ isControlNetToolActive()

bool Isis::MosaicSceneWidget::isControlNetToolActive ( )

Definition at line 850 of file MosaicSceneWidget.cpp.

◆ load()

void Isis::MosaicSceneWidget::load ( XmlStackedHandlerReader * xmlReader)

Definition at line 620 of file MosaicSceneWidget.cpp.

◆ maximumZ()

double Isis::MosaicSceneWidget::maximumZ ( )
private

Definition at line 1328 of file MosaicSceneWidget.cpp.

◆ minimumZ()

double Isis::MosaicSceneWidget::minimumZ ( )
private

Definition at line 1333 of file MosaicSceneWidget.cpp.

◆ moveDownOne [1/4]

void Isis::MosaicSceneWidget::moveDownOne ( )
privateslot

Definition at line 1731 of file MosaicSceneWidget.cpp.

◆ moveDownOne() [2/4]

double Isis::MosaicSceneWidget::moveDownOne ( Image * image)

Definition at line 1757 of file MosaicSceneWidget.cpp.

◆ moveDownOne() [3/4]

QList< double > Isis::MosaicSceneWidget::moveDownOne ( ImageList * images)

Definition at line 1764 of file MosaicSceneWidget.cpp.

◆ moveDownOne() [4/4]

double Isis::MosaicSceneWidget::moveDownOne ( MosaicSceneItem * item)

Definition at line 1742 of file MosaicSceneWidget.cpp.

◆ moveToBottom [1/4]

void Isis::MosaicSceneWidget::moveToBottom ( )
privateslot

Definition at line 1775 of file MosaicSceneWidget.cpp.

◆ moveToBottom() [2/4]

double Isis::MosaicSceneWidget::moveToBottom ( Image * image)

This doesn't compress the Z values - the original Z value of this image is guaranteed to be empty after this operation.

Definition at line 1808 of file MosaicSceneWidget.cpp.

References moveToBottom().

◆ moveToBottom() [3/4]

QList< double > Isis::MosaicSceneWidget::moveToBottom ( ImageList * images)

This doesn't compress the Z values - the original Z values of these images are guaranteed to be empty after this operation.

Definition at line 1817 of file MosaicSceneWidget.cpp.

References moveToBottom().

◆ moveToBottom() [4/4]

double Isis::MosaicSceneWidget::moveToBottom ( MosaicSceneItem * item)

This doesn't compress the Z values - the original Z values of this scene item is guaranteed to be empty after this operation.

Definition at line 1787 of file MosaicSceneWidget.cpp.

Referenced by moveToBottom(), and moveToBottom().

◆ moveToTop [1/4]

void Isis::MosaicSceneWidget::moveToTop ( )
privateslot

Definition at line 1872 of file MosaicSceneWidget.cpp.

◆ moveToTop() [2/4]

double Isis::MosaicSceneWidget::moveToTop ( Image * image)

This doesn't compress the Z values - the original Z value of this image is guaranteed to be empty after this operation.

Definition at line 1916 of file MosaicSceneWidget.cpp.

References moveToTop().

◆ moveToTop() [3/4]

QList< double > Isis::MosaicSceneWidget::moveToTop ( ImageList * images)

This doesn't compress the Z values - the original Z values of these images are guaranteed to be empty after this operation.

Definition at line 1925 of file MosaicSceneWidget.cpp.

References moveToTop().

◆ moveToTop() [4/4]

double Isis::MosaicSceneWidget::moveToTop ( MosaicSceneItem * item)

This doesn't compress the Z values - the original Z values of this scene item is guaranteed to be empty after this operation.

Definition at line 1885 of file MosaicSceneWidget.cpp.

Referenced by moveToTop(), and moveToTop().

◆ moveUpOne [1/4]

void Isis::MosaicSceneWidget::moveUpOne ( )
privateslot

Definition at line 1828 of file MosaicSceneWidget.cpp.

◆ moveUpOne() [2/4]

double Isis::MosaicSceneWidget::moveUpOne ( Image * image)

Definition at line 1854 of file MosaicSceneWidget.cpp.

◆ moveUpOne() [3/4]

QList< double > Isis::MosaicSceneWidget::moveUpOne ( ImageList * images)

Definition at line 1861 of file MosaicSceneWidget.cpp.

◆ moveUpOne() [4/4]

double Isis::MosaicSceneWidget::moveUpOne ( MosaicSceneItem * item)

Definition at line 1839 of file MosaicSceneWidget.cpp.

◆ moveZ() [1/2]

double Isis::MosaicSceneWidget::moveZ ( Image * image,
double newZ,
bool newZValueMightExist = true )

Definition at line 1997 of file MosaicSceneWidget.cpp.

◆ moveZ() [2/2]

double Isis::MosaicSceneWidget::moveZ ( MosaicSceneItem * sceneItem,
double newZ,
bool newZValueMightExist = true )

This method moves the given scene item to the given Z value.

By default, this does not create gaps in the Z-values and makes the necessary room/adjustments for the new item to go to it's spot. If the last operation was moveToTop or moveToBottom, because those methods don't compress/adjust the surrounding Z values, we can avoid any and all adjustments here (significant performance boost) by using newZValueMightExist=false.

N = # items in the scene The time complexity of this method is N if newZValueMightExist. The time complexity of this method is constant if !newZValueMightExist.

Parameters
sceneItemThe item in this scene to change the Z value
newZThe new Z value for the item
newZValueMightExistTrue if an item in the scene might occupy the new Z value

Definition at line 1953 of file MosaicSceneWidget.cpp.

Referenced by Isis::MosaicSceneWorkOrder::restoreZPositions().

◆ onQueuedSelectionChanged

void Isis::MosaicSceneWidget::onQueuedSelectionChanged ( )
privateslot

Definition at line 2055 of file MosaicSceneWidget.cpp.

◆ onSelectionChanged

void Isis::MosaicSceneWidget::onSelectionChanged ( )
privateslot

Definition at line 2042 of file MosaicSceneWidget.cpp.

◆ quickConfigProjectionParameters

void Isis::MosaicSceneWidget::quickConfigProjectionParameters ( )
privateslot

Definition at line 1519 of file MosaicSceneWidget.cpp.

◆ recalcSceneRect()

void Isis::MosaicSceneWidget::recalcSceneRect ( )
private

Definition at line 1337 of file MosaicSceneWidget.cpp.

◆ refit

void Isis::MosaicSceneWidget::refit ( )
slot

This method refits t:he items in the graphics view.

Definition at line 1483 of file MosaicSceneWidget.cpp.

Referenced by reprojectItems(), and Isis::MosaicZoomTool::zoomFit().

◆ removeImages

void Isis::MosaicSceneWidget::removeImages ( ImageList images)
slot

Definition at line 1406 of file MosaicSceneWidget.cpp.

◆ removeMosItem

void Isis::MosaicSceneWidget::removeMosItem ( QObject * mosItem)
privateslot

Definition at line 1469 of file MosaicSceneWidget.cpp.

◆ reprojectItems()

void Isis::MosaicSceneWidget::reprojectItems ( )
private

Reprojects all the items in the view.

Also makes sure to resize the view rectangle to fit the newly projected footprints.

Definition at line 1678 of file MosaicSceneWidget.cpp.

References Isis::IException::Programmer, refit(), Isis::MosaicSceneItem::reproject(), and Isis::ProgressBar::setText().

Referenced by setProjection().

◆ save()

void Isis::MosaicSceneWidget::save ( QXmlStreamWriter & stream,
Project * project,
FileName newProjectRoot ) const

Definition at line 625 of file MosaicSceneWidget.cpp.

◆ saveList

void Isis::MosaicSceneWidget::saveList ( )
privateslot

Definition at line 1449 of file MosaicSceneWidget.cpp.

◆ selectedImages()

ImageList Isis::MosaicSceneWidget::selectedImages ( )

Returns a list of all the cubes selected in the scene.

Returns
QList<Cube *>

Definition at line 740 of file MosaicSceneWidget.cpp.

References Isis::ImageList::append(), and selectedImages().

Referenced by contextMenuEvent(), Isis::Footprint2DView::onQueueSelectionChanged(), and selectedImages().

◆ sendVisibleRectChanged

void Isis::MosaicSceneWidget::sendVisibleRectChanged ( )
privateslot

Definition at line 1526 of file MosaicSceneWidget.cpp.

◆ setCubesSelectable

void Isis::MosaicSceneWidget::setCubesSelectable ( bool selectable)
slot

Definition at line 1497 of file MosaicSceneWidget.cpp.

◆ setOutlineRect

void Isis::MosaicSceneWidget::setOutlineRect ( QRectF outline)
slot

Definition at line 313 of file MosaicSceneWidget.cpp.

◆ setProjection() [1/2]

void Isis::MosaicSceneWidget::setProjection ( const PvlGroup & mappingGroup,
Pvl label = Pvl() )
private

Definition at line 270 of file MosaicSceneWidget.cpp.

◆ setProjection [2/2]

void Isis::MosaicSceneWidget::setProjection ( Projection * proj)
slot

This method takes ownership of proj.

Definition at line 288 of file MosaicSceneWidget.cpp.

References m_projection, and reprojectItems().

Referenced by fromPvl().

◆ supportedActions() [1/2]

template<typename DataType >
QList< QAction * > Isis::MosaicSceneWidget::supportedActions ( DataType )
inline

Return an empty list of actions for unknown data types.

Definition at line 240 of file MosaicSceneWidget.h.

◆ supportedActions() [2/2]

QList< QAction * > Isis::MosaicSceneWidget::supportedActions ( ImageList * images)

Get a list of actions this scene can perform given "images".

Definition at line 810 of file MosaicSceneWidget.cpp.

References Isis::Directory::project().

◆ toPvl()

PvlObject Isis::MosaicSceneWidget::toPvl ( ) const

Definition at line 523 of file MosaicSceneWidget.cpp.

◆ userHasTools()

bool Isis::MosaicSceneWidget::userHasTools ( ) const
inline

Definition at line 195 of file MosaicSceneWidget.h.

◆ zOrderGreaterThan()

bool Isis::MosaicSceneWidget::zOrderGreaterThan ( MosaicSceneItem * first,
MosaicSceneItem * second )
staticprivate

Definition at line 2102 of file MosaicSceneWidget.cpp.

Member Data Documentation

◆ m_activeToolbar

QToolBar* Isis::MosaicSceneWidget::m_activeToolbar
private

Definition at line 379 of file MosaicSceneWidget.h.

◆ m_blockingSelectionChanged

bool Isis::MosaicSceneWidget::m_blockingSelectionChanged
private

Definition at line 385 of file MosaicSceneWidget.h.

◆ m_cubesSelectable

bool Isis::MosaicSceneWidget::m_cubesSelectable
private

Definition at line 360 of file MosaicSceneWidget.h.

◆ m_currentMaximumFootprintZ

double Isis::MosaicSceneWidget::m_currentMaximumFootprintZ
private

Definition at line 392 of file MosaicSceneWidget.h.

◆ m_currentMinimumFootprintZ

double Isis::MosaicSceneWidget::m_currentMinimumFootprintZ
private

Definition at line 391 of file MosaicSceneWidget.h.

◆ m_customRubberBand

QRubberBand* Isis::MosaicSceneWidget::m_customRubberBand
private

Definition at line 362 of file MosaicSceneWidget.h.

◆ m_customRubberBandEnabled

bool Isis::MosaicSceneWidget::m_customRubberBandEnabled
private

Definition at line 361 of file MosaicSceneWidget.h.

◆ m_directory

Directory* Isis::MosaicSceneWidget::m_directory
private

Definition at line 358 of file MosaicSceneWidget.h.

◆ m_displayPropsToMosaicSceneItemMap

QMap<DisplayProperties *, MosaicSceneItem *> Isis::MosaicSceneWidget::m_displayPropsToMosaicSceneItemMap
private

Definition at line 368 of file MosaicSceneWidget.h.

◆ m_graphicsScene

QGraphicsScene* Isis::MosaicSceneWidget::m_graphicsScene
private

The graphics scene that makes up this widget.

Definition at line 364 of file MosaicSceneWidget.h.

Referenced by MosaicSceneWidget().

◆ m_graphicsView

MosaicGraphicsView* Isis::MosaicSceneWidget::m_graphicsView
private

The graphics view.

Definition at line 365 of file MosaicSceneWidget.h.

Referenced by MosaicSceneWidget().

◆ m_mapButton

QToolButton* Isis::MosaicSceneWidget::m_mapButton
private

Definition at line 371 of file MosaicSceneWidget.h.

◆ m_mosaicSceneItems

QList<MosaicSceneItem *>* Isis::MosaicSceneWidget::m_mosaicSceneItems
private

Definition at line 367 of file MosaicSceneWidget.h.

◆ m_outlineRect

QGraphicsRectItem* Isis::MosaicSceneWidget::m_outlineRect
private

Definition at line 369 of file MosaicSceneWidget.h.

◆ m_ownProjection

bool Isis::MosaicSceneWidget::m_ownProjection
private

Definition at line 387 of file MosaicSceneWidget.h.

◆ m_permToolbar

QToolBar* Isis::MosaicSceneWidget::m_permToolbar
private

Definition at line 378 of file MosaicSceneWidget.h.

◆ m_progress

ProgressBar* Isis::MosaicSceneWidget::m_progress
private

Definition at line 381 of file MosaicSceneWidget.h.

◆ m_projectImageZOrders

QHash<QString, double>* Isis::MosaicSceneWidget::m_projectImageZOrders
private

Definition at line 383 of file MosaicSceneWidget.h.

◆ m_projection

Projection* Isis::MosaicSceneWidget::m_projection
private

The current projection type.

Definition at line 366 of file MosaicSceneWidget.h.

Referenced by MosaicSceneWidget(), and setProjection().

◆ m_projectViewTransform

PvlObject* Isis::MosaicSceneWidget::m_projectViewTransform
private

Definition at line 394 of file MosaicSceneWidget.h.

◆ m_queuedSelectionChanged

bool Isis::MosaicSceneWidget::m_queuedSelectionChanged
private

Definition at line 388 of file MosaicSceneWidget.h.

◆ m_quickMapAction

QAction* Isis::MosaicSceneWidget::m_quickMapAction
private

Definition at line 372 of file MosaicSceneWidget.h.

◆ m_rubberBandOrigin

QPoint* Isis::MosaicSceneWidget::m_rubberBandOrigin
private

Definition at line 363 of file MosaicSceneWidget.h.

◆ m_shouldRequeueSelectionChanged

bool Isis::MosaicSceneWidget::m_shouldRequeueSelectionChanged
private

Definition at line 389 of file MosaicSceneWidget.h.

◆ m_toolpad

ToolPad* Isis::MosaicSceneWidget::m_toolpad
private

Definition at line 376 of file MosaicSceneWidget.h.

◆ m_tools

QList<MosaicTool *>* Isis::MosaicSceneWidget::m_tools
private

Definition at line 374 of file MosaicSceneWidget.h.

◆ m_userToolControl

bool Isis::MosaicSceneWidget::m_userToolControl
private

Definition at line 386 of file MosaicSceneWidget.h.


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