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 
15 class QString;
16 class QVariant;
17 
18 
19 namespace 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
Isis::Latitude
This class is designed to encapsulate the concept of a Latitude.
Definition: Latitude.h:51
Isis::Distance
Distance measurement, usually in meters.
Definition: Distance.h:34
Isis::Longitude
This class is designed to encapsulate the concept of a Longitude.
Definition: Longitude.h:40
Isis::ControlPoint
A single control point.
Definition: ControlPoint.h:354
Isis::TableColumnList
Definition: TableColumnList.h:30
Isis::AbstractPointItem
Base class for a point item in the tree.
Definition: AbstractPointItem.h:40
Isis::AbstractTreeItem
Base class for an item in the tree.
Definition: AbstractTreeItem.h:39
Isis::SurfacePoint
This class defines a body-fixed surface point.
Definition: SurfacePoint.h:132
Isis
This is free and unencumbered software released into the public domain.
Definition: Apollo.h:16