|
Isis Developer Reference
|
Go to the documentation of this file. 1 #ifndef ControlPointEditWidget_h
2 #define ControlPointEditWidget_h
18 #include <QCloseEvent>
25 #include <QStringList>
49 class ControlMeasureEditWidget;
55 class MdiCubeViewport;
56 class SerialNumberList;
59 class UniversalGroundMap;
152 bool isGroundSource =
false);
170 void setPointType (
int pointType);
171 void setLockPoint (
bool ignore);
172 void setIgnorePoint (
bool ignore);
173 void setLockLeftMeasure (
bool ignore);
174 void setIgnoreLeftMeasure (
bool ignore);
175 void setLockRightMeasure (
bool ignore);
176 void setIgnoreRightMeasure (
bool ignore);
178 void selectLeftMeasure (
int index);
179 void selectRightMeasure (
int index);
180 void nextRightMeasure();
181 void previousRightMeasure();
182 void updateLeftMeasureInfo ();
183 void updateRightMeasureInfo ();
186 void checkReference();
188 void updateGroundPosition();
189 void updateSurfacePointInfo ();
190 void openReferenceRadius();
191 void groundSourceFileSelectionChanged(
int index);
195 void colorizeAllSaveButtons(QString color);
196 void colorizeSavePointButton();
198 void openTemplateFile();
199 void viewTemplateFile();
201 void showHideTemplateEditor();
202 void saveTemplateFile();
203 void saveTemplateFileAs();
204 void setTemplateFile(QString);
205 void setTemplateModified();
206 void writeTemplateFile(QString);
207 void resetTemplateComboBox(QString fileName);
208 void clearEditPoint();
211 void createActions();
213 void loadPoint(QString serialNumber =
"");
214 void loadGroundMeasure();
215 void createPointEditor(
QWidget *parent,
bool addMeasures);
216 QSplitter * createTopSplitter();
217 QGroupBox * createControlPointGroupBox();
218 QGroupBox * createLeftMeasureGroupBox();
219 QGroupBox * createRightMeasureGroupBox();
220 void createTemplateEditorWidget();
221 void loadTemplateFile(QString);
223 bool IsMeasureLocked(QString serialNumber);
226 void setShapesForPoint(
double latitude=
Null,
double longitude=
Null);
228 bool setGroundSourceInfo();
230 void changeGroundLocationsInNet();
231 void clearGroundSource();
233 void initDem(QString demFile);
234 double demRadius(
double latitude,
double longitude);
238 QPointer<QWidget> m_parent;
240 bool m_addMeasuresButton;
242 QString m_cnetFileName;
243 QPointer<QLabel> m_cnetFileNameLabel;
246 QPointer<QAction> m_closePointEditor;
248 QPointer<QAction> m_saveChips;
249 QPointer<QAction> m_showHideTemplateEditor;
251 QPointer<QAction> m_openTemplateFile;
252 QPointer<QAction> m_saveTemplateFile;
253 QPointer<QAction> m_saveTemplateFileAs;
257 QPointer<ControlMeasureEditWidget> m_measureEditor;
259 QPointer<QPushButton> m_reloadPoint;
260 QPointer<QPushButton> m_savePoint;
261 QPalette m_saveDefaultPalette;
263 QPointer<QPushButton> m_saveNet;
265 QPointer<QTextEdit> m_templateEditor;
266 QPointer<QWidget> m_templateEditorWidget;
267 bool m_templateModified;
269 QPointer<QComboBox> m_templateComboBox;
270 QPointer<QComboBox> m_groundSourceCombo;
271 QPointer<QComboBox> m_radiusSourceCombo;
272 QPointer<QLabel> m_ptIdValue;
273 QPointer<QComboBox> m_pointTypeCombo;
274 QPointer<QLabel> m_numMeasures;
275 QPointer<QLabel> m_aprioriLatitude;
276 QPointer<QLabel> m_aprioriLongitude;
277 QPointer<QLabel> m_aprioriRadius;
279 QPointer<QCheckBox> m_lockPoint;
280 QPointer<QCheckBox> m_ignorePoint;
281 QPointer<QLabel> m_leftReference;
282 QPointer<QLabel> m_leftMeasureType;
283 QPointer<QLabel> m_rightReference;
284 QPointer<QLabel> m_rightMeasureType;
285 QPointer<QCheckBox> m_lockLeftMeasure;
286 QPointer<QCheckBox> m_ignoreLeftMeasure;
287 QPointer<QCheckBox> m_lockRightMeasure;
288 QPointer<QCheckBox> m_ignoreRightMeasure;
290 QPointer<QComboBox> m_leftCombo;
291 QPointer<QComboBox> m_rightCombo;
292 QPointer<QStandardItemModel> m_model;
294 QPointer<QMainWindow> m_measureWindow;
295 QPointer<QTableWidget> m_measureTable;
297 QPointer<ControlPoint> m_editPoint;
299 QPointer<ControlNet> m_controlNet;
300 QPointer<Control> m_control;
302 QPointer<ControlPoint> m_newPoint;
303 QString m_lastUsedPointId;
308 QPointer<ControlMeasure> m_leftMeasure;
309 QPointer<ControlMeasure> m_rightMeasure;
310 QScopedPointer<Cube> m_leftCube;
311 QScopedPointer<Cube> m_rightCube;
314 int m_numberProjectShapesWithPoint;
317 QString m_groundFilename;
320 QScopedPointer<UniversalGroundMap> m_groundGmap;
322 bool m_changeAllGroundLocation;
323 bool m_changeGroundLocationInNet;
325 QString m_newGroundDir;
330 QString m_radiusFilename;
334 QScopedPointer<Cube> m_demCube;
static QStringList shapes(QStringList)
@ Degrees
Degrees are generally considered more human readable, 0-360 is one circle, however most math does not...
Definition: Angle.h:56
void setGroundSource(QStringList groundFiles, int numberShapesWithPoint)
Definition: NewControlPointDialog.cpp:212
static QString templateRoot(QString projectRoot)
Appends the root directory name 'templates' to the project .
Definition: Project.cpp:2125
@ RegisteredPixel
Registered to whole pixel (e.g.,pointreg)
Definition: ControlMeasure.h:212
@ BiLinearType
Definition: Interpolator.h:43
@ RegisteredSubPixel
Registered to sub-pixel (e.g., pointreg)
Definition: ControlMeasure.h:214
static QString PointTypeToString(PointType type)
Obtain a string representation of a given PointType.
Definition: ControlPoint.cpp:1333
Definition: Directory.h:271
@ MeasureLocked
Definition: ControlMeasure.h:219
ControlPoint::SurfacePointSource::Source surfacePointSource()
Definition: Shape.cpp:209
This is free and unencumbered software released into the public domain.
Definition: BoxcarCachingAlgorithm.h:13
Status SetCubeSerialNumber(QString newSerialNumber)
Set cube serial number.
Definition: ControlMeasure.cpp:187
Status SetChooserName(QString name)
Set the point's chooser name.
Definition: ControlPoint.cpp:487
int size() const
How many serial number / filename combos are in the list.
Definition: SerialNumberList.cpp:384
QString name() const
Returns the name of the file excluding the path and the attributes in the file name.
Definition: FileName.cpp:162
@ PointLocked
This is returned when the operation requires Edit Lock to be false but it is currently true.
Definition: ControlPoint.h:408
int serialNumberIndex(const QString &sn)
Return a list index given a serial number.
Definition: SerialNumberList.cpp:490
File name manipulation and expansion.
Definition: FileName.h:100
virtual double Sample() const
Returns the current sample number.
Definition: Camera.cpp:2690
Status SetAprioriSample(double aprioriSample)
Definition: ControlMeasure.cpp:144
Pixel value mapper.
Definition: Stretch.h:58
ControlPoint::RadiusSource::Source radiusSource()
Definition: Shape.cpp:214
Source
Definition: ControlPoint.h:451
static QString Compose(Pvl &label, bool def2filename=false)
Compose a SerialNumber from a PVL.
Definition: SerialNumber.cpp:38
Definition: TemplateList.h:35
static QString shapeDataRoot(QString projectRoot)
Appends the root directory name 'shapes' to the project .
Definition: Project.cpp:2087
PointType
These are the valid 'types' of point.
Definition: ControlPoint.h:364
Control * activeControl()
Return the Active Control (control network)
Definition: Project.cpp:1903
Project * project() const
Gets the Project for this directory.
Definition: Directory.cpp:1311
QList< TemplateList * > regTemplates()
Return registration template FileNames.
Definition: Project.cpp:2166
QString GetId() const
Return the Id of the control point.
Definition: ControlPoint.cpp:1306
This represents an ISIS control net in a project-based GUI interface.
Definition: Control.h:66
@ Candidate
(e.g., autoseed, interest) AKA predicted, unmeasured, unverified
Definition: ControlMeasure.h:208
QString groundSource() const
Definition: NewControlPointDialog.cpp:194
Cube * cube()
Get the Cube * associated with this display property.
Definition: Shape.cpp:324
QStringList selectedFiles() const
Definition: NewControlPointDialog.cpp:178
Status SetAprioriSurfacePointSourceFile(QString sourceFile)
This updates the filename of where the apriori surface point came from.
Definition: ControlPoint.cpp:839
Serial Number list generator.
Definition: SerialNumberList.h:64
QString serialNumber(const QString &filename)
Return a serial number given a filename.
Definition: SerialNumberList.cpp:426
void remove(const QString &sn)
Remove the specified serial number from the list.
Definition: SerialNumberList.cpp:88
QString fileName() const
Get the file name of the cube that this shape represents.
Definition: Shape.cpp:376
FileName externalCubeFileName() const
If this is an external cube label file, this will give you the cube dn file that this label reference...
Definition: Cube.cpp:1535
@ Ellipsoid
Definition: ControlPoint.h:455
QString GetCubeSerialNumber() const
Return the serial number of the cube containing the coordinate.
Definition: ControlMeasure.cpp:557
A single control point.
Definition: ControlPoint.h:354
@ Meters
The distance is being specified in meters.
Definition: Distance.h:43
QString expanded() const
Returns a QString of the full file name including the file path, excluding the attributes.
Definition: FileName.cpp:196
ControlNet * controlNet()
Open and return a pointer to the ControlNet for this Control.
Definition: Control.cpp:150
Status SetType(PointType newType)
Updates the control point's type.
Definition: ControlPoint.cpp:709
@ DEM
Definition: ControlPoint.h:456
static const int PointTypeCount
Definition: ControlPoint.h:386
@ None
Definition: ControlPoint.h:452
Status SetCamera(Isis::Camera *camera)
Set pointer to camera associated with a measure.
Definition: ControlMeasure.cpp:169
int fileNameIndex(const QString &filename)
Return a list index given a filename.
Definition: SerialNumberList.cpp:517
@ Manual
Hand Measured (e.g., qnet)
Definition: ControlMeasure.h:210
@ None
Definition: ControlPoint.h:441
Status SetChooserName()
Set chooser name to a user who last changed the coordinate.
Definition: ControlMeasure.cpp:196
virtual bool SetUniversalGround(const double latitude, const double longitude)
Sets the lat/lon values to get the sample/line values.
Definition: Camera.cpp:380
void add(const QString &filename, bool def2filename=false)
Adds a new filename / serial number pair to the SerialNumberList.
Definition: SerialNumberList.cpp:121
This represents a shape in a project-based GUI interface.
Definition: Shape.h:68
QString pointId() const
Definition: NewControlPointDialog.cpp:161
a control network
Definition: ControlNet.h:257
Definition: NewControlPointDialog.h:49
IO Handler for Isis Cubes.
Definition: Cube.h:167
Widget to display Isis cubes for qt apps.
Definition: CubeViewport.h:122
int pointType() const
Definition: NewControlPointDialog.cpp:166
Source
Definition: ControlPoint.h:440
ControlNet * Parent()
Definition: ControlPoint.h:466
const double Null
Value for an Isis Null pixel.
Definition: SpecialPixel.h:95
Namespace for the standard library.
QString type() const
Get the type of template in this TemplateList.
Definition: TemplateList.cpp:91
void setFiles(QStringList pointFiles)
Definition: NewControlPointDialog.cpp:252
@ Free
A Free point is a Control Point that identifies common measurements between two or more cubes.
Definition: ControlPoint.h:384
This is free and unencumbered software released into the public domain.
Definition: CubeIoHandler.h:22
Status SetType(MeasureType type)
Set how the coordinate was obtained.
Definition: ControlMeasure.cpp:420
Status SetAprioriSurfacePointSource(SurfacePointSource::Source source)
This updates the source of the surface point.
Definition: ControlPoint.cpp:821
Status
This is a return status for many of the mutating (setter) method calls.
Definition: ControlPoint.h:393
QString fileName(const QString &sn)
Return a filename given a serial number.
Definition: SerialNumberList.cpp:399
virtual double Line() const
Returns the current line number.
Definition: Camera.cpp:2710
void setRadiusSource(QStringList radiusFiles)
Definition: NewControlPointDialog.cpp:235
static QString UserName()
Returns the user name.
Definition: Application.cpp:816
Status SetAprioriLine(double aprioriLine)
Definition: ControlMeasure.cpp:134
void Add(ControlMeasure *measure)
Add a measurement to the control point, taking ownership of the measure in the process.
Definition: ControlPoint.cpp:223
This is free and unencumbered software released into the public domain.
Definition: Apollo.h:16
Status SetCoordinate(double sample, double line)
Set the coordinate of the measurement.
Definition: ControlMeasure.cpp:219
a control measurement
Definition: ControlMeasure.h:175
QString fileName() const
Access the name of the control network file associated with this Control.
Definition: Control.cpp:272