Isis 3 Programmer Reference
ControlNetTool.h
1 #ifndef ControlNetTool_h
2 #define ControlNetTool_h
3 
10 /* SPDX-License-Identifier: CC0-1.0 */
11 
12 #include "Tool.h"
13 #include "ControlPoint.h"
14 
15 #include <QAction>
16 #include <QCloseEvent>
17 #include <QPalette>
18 #include <QPointer>
19 #include <QString>
20 #include <QStringList>
21 
22 
23 namespace Isis {
24  class ControlMeasure;
25  class ControlNet;
26  class ControlPointEdit;
27  class Cube;
28  class CubeDnView;
29  class CubeViewport;
30  class Directory;
31  class MainWindow;
32  class MdiCubeViewport;
33  class QnetHoldPointDialog;
34  class SerialNumberList;
35  class Stretch;
36  class ToolPad;
37  class UniversalGroundMap;
38 
72  class ControlNetTool : public Tool {
73  Q_OBJECT
74 
75  public:
76  ControlNetTool (Directory *directory, QWidget *parent);
77  virtual ~ControlNetTool ();
78 
79  void setControlNet(ControlNet *controlNet);
80  void paintViewport (MdiCubeViewport *cvp, QPainter *painter);
81 
82  signals:
83  void modifyControlPoint(ControlPoint *controlPoint, QString serialNumber);
84  void deleteControlPoint(ControlPoint *controlPoint);
85  void createControlPoint(double latitude, double longitude, Cube *cube,
86  bool isGroundSource = false);
87 
88  public slots:
89  void loadNetwork();
90 
91  protected:
93 
94  protected slots:
95  void mouseButtonRelease(QPoint p, Qt::MouseButton s);
96 
97  private slots:
98  void paintAllViewports();
99 
100  private:
101  void createActions();
102  void createMenus();
103  void drawAllMeasurements(MdiCubeViewport *vp, QPainter *painter);
104  void drawGroundMeasures (MdiCubeViewport *vp, QPainter *painter, UniversalGroundMap *groundMap);
105 
106  QPointer<MainWindow> m_ControlNetTool;
107  Directory *m_directory;
108  CubeDnView *m_view;
109 
110  QPointer<ControlNet> m_controlNet;
111 
112  QPointer<Workspace> m_workspace;
113  };
114 };
115 
116 #endif
Isis::MdiCubeViewport
Cube display widget for certain Isis MDI applications.
Definition: MdiCubeViewport.h:39
QWidget
Isis::UniversalGroundMap
Universal Ground Map.
Definition: UniversalGroundMap.h:69
Isis::CubeDnView
View that displays cubes in a QView-like way.
Definition: CubeDnView.h:97
Isis::Directory
Definition: Directory.h:271
Isis::Tool
Base class for the Qisis tools.
Definition: Tool.h:67
Isis::ControlNetTool::paintAllViewports
void paintAllViewports()
This method will repaint the Control Points in each viewport.
Definition: ControlNetTool.cpp:248
Isis::ControlNetTool::drawGroundMeasures
void drawGroundMeasures(MdiCubeViewport *vp, QPainter *painter, UniversalGroundMap *groundMap)
Draw all Fixed or Constrained points on the ground source viewport.
Definition: ControlNetTool.cpp:390
Isis::ControlNetTool::setControlNet
void setControlNet(ControlNet *controlNet)
Set the active control net to be used for editing.
Definition: ControlNetTool.cpp:113
Isis::ControlNetTool::drawAllMeasurements
void drawAllMeasurements(MdiCubeViewport *vp, QPainter *painter)
Draw all measurments located on the image in this viewPort.
Definition: ControlNetTool.cpp:289
Isis::ControlPoint
A single control point.
Definition: ControlPoint.h:354
Isis::ControlNet
a control network
Definition: ControlNet.h:257
Isis::Cube
IO Handler for Isis Cubes.
Definition: Cube.h:167
Isis::ControlNetTool::mouseButtonRelease
void mouseButtonRelease(QPoint p, Qt::MouseButton s)
Handle mouse events on CubeViewport.
Definition: ControlNetTool.cpp:139
Isis::ControlNetTool::ControlNetTool
ControlNetTool(Directory *directory, QWidget *parent)
ControlNet tool - Handles mouse button actions and drawing control points on viewports in the CubeDnV...
Definition: ControlNetTool.cpp:58
Isis::ControlNetTool
ControlNetTool Handles mouse events on CubeDnViews for control point editing for the ipce app.
Definition: ControlNetTool.h:72
Isis::ToolPad
Definition: ToolPad.h:14
QAction
Isis::ControlNetTool::paintViewport
void paintViewport(MdiCubeViewport *cvp, QPainter *painter)
This will draw the control measures on the given cube viewport.
Definition: ControlNetTool.cpp:233
Isis::ControlNetTool::toolPadAction
QAction * toolPadAction(ToolPad *pad)
Adds the ControlNet tool action to the tool pad.
Definition: ControlNetTool.cpp:83
Isis
This is free and unencumbered software released into the public domain.
Definition: Apollo.h:16