Isis 3.0
Back | Home
MosaicControlNetTool.h
Go to the documentation of this file.
1 #ifndef MosaicControlNetTool_h
2 #define MosaicControlNetTool_h
3 
4 #include "MosaicTool.h"
5 
6 class QDialog;
7 class QLabel;
8 class QPushButton;
9 
10 namespace Isis {
11  class ControlNet;
12  class ControlNetGraphicsItem;
13  class ControlPoint;
14 // class ControlPointEdit;
15  class Image;
16  class ImageList;
17 
57  Q_OBJECT
58 
59  public:
77  };
79  static const int NUM_MOVEMENT_COLOR_SOURCE_VALUES = 4;
80 
83 
84  void addToMenu(QMenu *menu);
85 
86  PvlObject toPvl() const;
87  void fromPvl(const PvlObject &obj);
88  QString projectPvlObjectName() const;
89 
92 
93  int maxMovementColorMeasureCount() const;
94  double maxMovementColorResidualMagnitude() const;
95 
96  static QString toString(MovementColorSource);
98 
99  signals:
100  void modifyControlPoint(ControlPoint *controlPoint);
101  void deleteControlPoint(ControlPoint *controlPoint);
102  void createControlPoint(double latitude, double longitude);
103 
105  void deleteControlPoint(QString controlPointId);
106 
107  public slots:
108  void displayNewControlPoint(QString pointId);
109  void displayChangedControlPoint(QString pointId);
111 
112  protected:
115  void mouseButtonRelease(QPointF, Qt::MouseButton s);
116 
117  private slots:
118  void configMovement();
119  void updateTool();
120  void openControlNet();
121  void displayControlNet();
122  void displayConnectivity();
123  void closeNetwork();
124  void loadNetwork();
125  void randomizeColors();
126 
127  void objectDestroyed(QObject *);
128 
129  private:
130  void createDialog();
131 
132  Image *takeImage(QString sn, ImageList &images);
133 
134  QPushButton *m_loadControlNetButton;
135  QPushButton *m_displayControlNetButton;
136  QPushButton *m_displayConnectivity;
137  QPushButton *m_configMovement;
138  QPushButton *m_closeNetwork;
139  QPushButton *m_randomizeColors;
140  QAction *m_connectivity;
141  ControlNet *m_controlNet;
142  ControlNetGraphicsItem *m_controlNetGraphics;
143  QLabel *m_controlNetFileLabel;
144  QString m_controlNetFile;
145 // ControlPointEdit *m_pointEditor;
146 
148  MovementColorSource m_movementArrowColorSource;
150  int m_measureCount;
152  double m_residualMagnitude;
153  };
154 };
155 
156 #endif
157 
//TODO: Remove debug printout & comment // 2016-08-25 Tracie Sucharski - Checking Directory pointer f...
Definition: MosaicControlNetTool.h:56
Internalizes a list of images and allows for operations on the entire list.
Definition: ImageList.h:44
void displayUponControlPointDeletion()
Definition: MosaicControlNetTool.cpp:476
This widget encompasses the entire mosaic scene.
Definition: MosaicSceneWidget.h:141
void mouseButtonRelease(QPointF, Qt::MouseButton s)
Definition: MosaicControlNetTool.cpp:656
Show movement arrows colored by measure count.
Definition: MosaicControlNetTool.h:74
QAction * getPrimaryAction()
Adds the action to the toolpad.
Definition: MosaicControlNetTool.cpp:321
Base class for the MosaicTools.
Definition: MosaicTool.h:37
void displayChangedControlPoint(QString pointId)
Definition: MosaicControlNetTool.cpp:461
double maxMovementColorResidualMagnitude() const
Get the current max.
Definition: MosaicControlNetTool.cpp:259
PvlObject toPvl() const
Definition: MosaicControlNetTool.cpp:156
void fromPvl(const PvlObject &obj)
Definition: MosaicControlNetTool.cpp:177
void deleteControlPoint(ControlPoint *controlPoint)
Definition: moc_MosaicControlNetTool.cpp:241
a control network
Definition: ControlNet.h:207
Show movement arrows colored by residual magnitude.
Definition: MosaicControlNetTool.h:76
~MosaicControlNetTool()
Definition: MosaicControlNetTool.cpp:123
static QString toString(MovementColorSource)
Convert a MovementColorSource to a string for serialization purposes.
Definition: MosaicControlNetTool.cpp:272
Control Network Display on Mosaic Scene.
Definition: ControlNetGraphicsItem.h:33
int maxMovementColorMeasureCount() const
Get the current measure count to become fully colored.
Definition: MosaicControlNetTool.cpp:245
A single control point.
Definition: ControlPoint.h:339
This represents a cube in a project-based GUI interface.
Definition: Image.h:91
MosaicControlNetTool(MosaicSceneWidget *)
MosaicControlNetTool constructor.
Definition: MosaicControlNetTool.cpp:48
QString projectPvlObjectName() const
Definition: MosaicControlNetTool.cpp:203
void displayNewControlPoint(QString pointId)
Definition: MosaicControlNetTool.cpp:467
void controlPointSelected(ControlPoint *)
Definition: moc_MosaicControlNetTool.cpp:255
static const int NUM_MOVEMENT_COLOR_SOURCE_VALUES
This is the count of possible values of MovementColorSource (useful for loops).
Definition: MosaicControlNetTool.h:79
void setMovementArrowColorSource(MovementColorSource, int, double)
Define how the movement arrows should be drawn.
Definition: MosaicControlNetTool.cpp:220
void modifyControlPoint(ControlPoint *controlPoint)
Definition: moc_MosaicControlNetTool.cpp:234
Show black movement arrows.
Definition: MosaicControlNetTool.h:72
void createControlPoint(double latitude, double longitude)
Definition: moc_MosaicControlNetTool.cpp:248
Contains Pvl Groups and Pvl Objects.
Definition: PvlObject.h:74
MovementColorSource
This enum defines how to draw the movement arrows (arrows from CP A Priori location to adjusted locat...
Definition: MosaicControlNetTool.h:68
Do not show movement arrows.
Definition: MosaicControlNetTool.h:70
QWidget * getToolBarWidget()
This method returns a widget that will be put in a tool bar when the tool is activated.
Definition: MosaicControlNetTool.cpp:338
MovementColorSource movementArrowColorSource() const
Get the current setting for the movement arrows.
Definition: MosaicControlNetTool.cpp:237
static MovementColorSource fromMovementColorSourceString(QString)
Convert a string back to a MovementColorSource (for serialization purposes).
Definition: MosaicControlNetTool.cpp:300
void addToMenu(QMenu *menu)

U.S. Department of the Interior | U.S. Geological Survey
ISIS | Privacy & Disclaimers | Astrogeology Research Program
To contact us, please post comments and questions on the ISIS Support Center
File Modified: 07/12/2023 23:23:40