Isis 3 Programmer Reference
AbstractPointItem.h
1#ifndef AbstractPointItem_H
2#define AbstractPointItem_H
3
10/* SPDX-License-Identifier: CC0-1.0 */
11
12#include "AbstractTreeItem.h"
13
14
15class QString;
16class QVariant;
17
18
19namespace Isis {
20 class ControlPoint;
21 class Distance;
22 class Latitude;
23 class Longitude;
24 class SurfacePoint;
25 class TableColumnList;
26
50 class AbstractPointItem : public virtual AbstractTreeItem {
51 public:
52 // If a column is added or removed then make sure you also update
53 // the COLS constant that immediately follows this enum.
54 enum Column {
55 Id = 0,
56 PointType = 1,
57 ChooserName = 2,
58 DateTime = 3,
59 EditLock = 4,
60 Ignored = 5,
61 Reference = 6,
62 AdjustedSPCoord1 = 7,
63 AdjustedSPCoord2 = 8,
64 AdjustedSPCoord3 = 9,
65 AdjustedSPCoord1Sigma = 10,
66 AdjustedSPCoord2Sigma = 11,
67 AdjustedSPCoord3Sigma = 12,
68 APrioriSPCoord1 = 13,
69 APrioriSPCoord2 = 14,
70 APrioriSPCoord3 = 15,
71 APrioriSPCoord1Sigma = 16,
72 APrioriSPCoord2Sigma = 17,
73 APrioriSPCoord3Sigma = 18,
74 APrioriSPSource = 19,
75 APrioriSPSourceFile = 20,
76 APrioriRadiusSource = 21,
77 APrioriRadiusSourceFile = 22,
78 JigsawRejected = 23
79 };
80 static const int COLS = 24;
81
82 static QString getColumnName(Column);
83 static Column getColumn(QString);
84 static TableColumnList *createColumns();
85 static void resetColumnHeaders(TableColumnList *columns);
86
87
88 public:
89 AbstractPointItem(ControlPoint *cp, int avgCharWidth,
90 AbstractTreeItem *parent = 0);
91 virtual ~AbstractPointItem();
92
93 QVariant getData() const;
94 QVariant getData(QString columnTitle) const;
95 void setData(QString const &columnTitle, QString const &newData);
96 bool isDataEditable(QString columnTitle) const;
97 void deleteSource();
98 InternalPointerType getPointerType() const;
99 void *getPointer() const;
100 bool hasPoint(ControlPoint *) const;
101
102
103 protected:
104 virtual void sourceDeleted();
105
106
107 private:
109 const AbstractPointItem &operator=(const AbstractPointItem &other);
110
111 SurfacePoint prepareSigmas(Distance, SurfacePoint);
112 SurfacePoint prepareXYZSigmas(Distance, SurfacePoint);
113 SurfacePoint prepareSurfacePoint(Latitude, SurfacePoint);
114 SurfacePoint prepareSurfacePoint(Longitude, SurfacePoint);
115 SurfacePoint prepareSurfacePoint(Distance, SurfacePoint);
116 SurfacePoint prepareSurfacePoint(SurfacePoint);
117
118
119 private:
120 ControlPoint *m_point;
121 };
122}
123
124#endif
Base class for a point item in the tree.
static void resetColumnHeaders(TableColumnList *columns)
Resets pertinent point table column headers based on the active point coordinate display type (Lat/Lo...
Base class for an item in the tree.
A single control point.
Distance measurement, usually in meters.
Definition Distance.h:34
This class is designed to encapsulate the concept of a Latitude.
Definition Latitude.h:51
This class is designed to encapsulate the concept of a Longitude.
Definition Longitude.h:40
This class defines a body-fixed surface point.
This is free and unencumbered software released into the public domain.
Definition Apollo.h:16