Isis Developer Reference
MosaicControlNetTool.h
Go to the documentation of this file.
1#ifndef MosaicControlNetTool_h
2#define MosaicControlNetTool_h
3
4#include "MosaicTool.h"
5
6class QDialog;
7class QLabel;
8class QPushButton;
9
10namespace Isis {
11 class ControlNet;
12 class ControlNetGraphicsItem;
13 class ControlPoint;
14// class ControlPointEdit;
15 class Image;
16 class ImageList;
17
75 Q_OBJECT
76
77 public:
98
101
102 void addToMenu(QMenu *menu);
103
104 PvlObject toPvl() const;
105 void fromPvl(const PvlObject &obj);
106 QString projectPvlObjectName() const;
107
110
113
114 static QString toString(MovementColorSource);
116
117 signals:
118 void modifyControlPoint(ControlPoint *controlPoint);
119 void deleteControlPoint(ControlPoint *controlPoint);
120 void createControlPoint(double latitude, double longitude);
121
123 void deleteControlPoint(QString controlPointId);
124
125 public slots:
126 void loadNetwork();
128 void displayNewControlPoint(QString pointId);
129 void displayChangedControlPoint(QString pointId);
131
132 protected:
135 void mouseButtonRelease(QPointF, Qt::MouseButton s);
136
137 private slots:
138 void configMovement();
139 void updateTool();
140 void openControlNet();
141 void displayControlNet();
142 void displayConnectivity();
143 void closeNetwork();
144 void randomizeColors();
145
146 void objectDestroyed(QObject *);
147
148 private:
149 void createDialog();
150
151 Image *takeImage(QString sn, ImageList &images);
152
153 QPushButton *m_loadControlNetButton;
154 QPushButton *m_displayControlNetButton;
155 QPushButton *m_displayConnectivity;
156 QPushButton *m_configMovement;
157 QPushButton *m_closeNetwork;
158 QPushButton *m_randomizeColors;
159 QAction *m_connectivity;
160 ControlNet *m_controlNet;
161 ControlNetGraphicsItem *m_controlNetGraphics;
162 QLabel *m_controlNetFileLabel;
163 QString m_controlNetFile;
164// ControlPointEdit *m_pointEditor;
165
167 MovementColorSource m_movementArrowColorSource;
169 int m_measureCount;
171 double m_residualMagnitude;
172 };
173};
174
175#endif
Control Network Display on Mosaic Scene.
Definition ControlNetGraphicsItem.h:37
a control network
Definition ControlNet.h:258
A single control point.
Definition ControlPoint.h:356
This represents a cube in a project-based GUI interface.
Definition Image.h:105
Internalizes a list of images and allows for operations on the entire list.
Definition ImageList.h:53
//TODO: Remove debug printout & comment // 2016-08-25 Tracie Sucharski - Checking Directory pointer f...
Definition MosaicControlNetTool.h:74
MovementColorSource
This enum defines how to draw the movement arrows (arrows from CP A Priori location to adjusted locat...
Definition MosaicControlNetTool.h:86
@ ResidualMagnitude
Show movement arrows colored by residual magnitude.
Definition MosaicControlNetTool.h:94
@ NoColor
Show black movement arrows.
Definition MosaicControlNetTool.h:90
@ NoMovement
Do not show movement arrows.
Definition MosaicControlNetTool.h:88
@ MeasureCount
Show movement arrows colored by measure count.
Definition MosaicControlNetTool.h:92
QString projectPvlObjectName() const
Definition MosaicControlNetTool.cpp:209
QWidget * getToolBarWidget()
This method returns a widget that will be put in a tool bar when the tool is activated.
Definition MosaicControlNetTool.cpp:344
static QString toString(MovementColorSource)
Convert a MovementColorSource to a string for serialization purposes.
Definition MosaicControlNetTool.cpp:278
void deleteControlPoint(QString controlPointId)
MovementColorSource movementArrowColorSource() const
Get the current setting for the movement arrows.
Definition MosaicControlNetTool.cpp:243
void fromPvl(const PvlObject &obj)
Definition MosaicControlNetTool.cpp:183
void displayChangedControlPoint(QString pointId)
Definition MosaicControlNetTool.cpp:478
void modifyControlPoint(ControlPoint *controlPoint)
~MosaicControlNetTool()
Definition MosaicControlNetTool.cpp:129
void addToMenu(QMenu *menu)
void setMovementArrowColorSource(MovementColorSource, int, double)
Define how the movement arrows should be drawn.
Definition MosaicControlNetTool.cpp:226
void displayUponControlPointDeletion()
Definition MosaicControlNetTool.cpp:493
void controlPointSelected(ControlPoint *)
double maxMovementColorResidualMagnitude() const
Get the current max.
Definition MosaicControlNetTool.cpp:265
void createControlPoint(double latitude, double longitude)
void loadNetwork()
Load m_controlNetFile into memory - this will re-load the network if it's already open.
Definition MosaicControlNetTool.cpp:610
void displayNewControlPoint(QString pointId)
Definition MosaicControlNetTool.cpp:484
int maxMovementColorMeasureCount() const
Get the current measure count to become fully colored.
Definition MosaicControlNetTool.cpp:251
PvlObject toPvl() const
Definition MosaicControlNetTool.cpp:162
void rebuildPointGraphics()
Slot used to re-create the graphics items that depict the control points.
Definition MosaicControlNetTool.cpp:471
static MovementColorSource fromMovementColorSourceString(QString)
Convert a string back to a MovementColorSource (for serialization purposes).
Definition MosaicControlNetTool.cpp:306
static const int NUM_MOVEMENT_COLOR_SOURCE_VALUES
This is the count of possible values of MovementColorSource (useful for loops).
Definition MosaicControlNetTool.h:97
MosaicControlNetTool(MosaicSceneWidget *)
MosaicControlNetTool constructor.
Definition MosaicControlNetTool.cpp:48
QAction * getPrimaryAction()
Adds the action to the toolpad.
Definition MosaicControlNetTool.cpp:327
void deleteControlPoint(ControlPoint *controlPoint)
void mouseButtonRelease(QPointF, Qt::MouseButton s)
Definition MosaicControlNetTool.cpp:673
This widget encompasses the entire mosaic scene.
Definition MosaicSceneWidget.h:153
Base class for the MosaicTools.
Definition MosaicTool.h:37
Contains Pvl Groups and Pvl Objects.
Definition PvlObject.h:61
This is free and unencumbered software released into the public domain.
Definition Apollo.h:16