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
40 class AbstractPointItem : public virtual AbstractTreeItem {
41 public:
42 // If a column is added or removed then make sure you also update
43 // the COLS constant that immediately follows this enum.
44 enum Column {
45 Id = 0,
46 PointType = 1,
47 ChooserName = 2,
48 DateTime = 3,
49 EditLock = 4,
50 Ignored = 5,
51 Reference = 6,
52 AdjustedSPLat = 7,
53 AdjustedSPLon = 8,
54 AdjustedSPRadius = 9,
55 AdjustedSPLatSigma = 10,
56 AdjustedSPLonSigma = 11,
57 AdjustedSPRadiusSigma = 12,
58 APrioriSPLat = 13,
59 APrioriSPLon = 14,
60 APrioriSPRadius = 15,
61 APrioriSPLatSigma = 16,
62 APrioriSPLonSigma = 17,
63 APrioriSPRadiusSigma = 18,
64 APrioriSPSource = 19,
65 APrioriSPSourceFile = 20,
66 APrioriRadiusSource = 21,
67 APrioriRadiusSourceFile = 22,
68 JigsawRejected = 23
69 };
70 static const int COLS = 24;
71
72 static QString getColumnName(Column);
73 static Column getColumn(QString);
74 static TableColumnList *createColumns();
75
76
77 public:
78 AbstractPointItem(ControlPoint *cp, int avgCharWidth,
79 AbstractTreeItem *parent = 0);
80 virtual ~AbstractPointItem();
81
82 QVariant getData() const;
83 QVariant getData(QString columnTitle) const;
84 void setData(QString const &columnTitle, QString const &newData);
85 bool isDataEditable(QString columnTitle) const;
86 void deleteSource();
87 InternalPointerType getPointerType() const;
88 void *getPointer() const;
89 bool hasPoint(ControlPoint *) const;
90
91
92 protected:
93 virtual void sourceDeleted();
94
95
96 private:
98 const AbstractPointItem &operator=(const AbstractPointItem &other);
99
100 SurfacePoint prepareSigmas(Distance, SurfacePoint);
101 SurfacePoint prepareSurfacePoint(Latitude, SurfacePoint);
102 SurfacePoint prepareSurfacePoint(Longitude, SurfacePoint);
103 SurfacePoint prepareSurfacePoint(Distance, SurfacePoint);
104 SurfacePoint prepareSurfacePoint(SurfacePoint);
105
106
107 private:
108 ControlPoint *m_point;
109 };
110}
111
112#endif
Base class for a point item in the tree.
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