Isis 3 Programmer Reference
AbstractPointItem.h
1 #ifndef AbstractPointItem_H
2 #define AbstractPointItem_H
3 
4 #include "AbstractTreeItem.h"
5 
6 
7 class QString;
8 class QVariant;
9 
10 
11 namespace Isis {
12  class ControlPoint;
13  class Distance;
14  class Latitude;
15  class Longitude;
16  class SurfacePoint;
17  class TableColumnList;
18 
32  class AbstractPointItem : public virtual AbstractTreeItem {
33  public:
34  // If a column is added or removed then make sure you also update
35  // the COLS constant that immediately follows this enum.
36  enum Column {
37  Id = 0,
38  PointType = 1,
39  ChooserName = 2,
40  DateTime = 3,
41  EditLock = 4,
42  Ignored = 5,
43  Reference = 6,
44  AdjustedSPLat = 7,
45  AdjustedSPLon = 8,
46  AdjustedSPRadius = 9,
47  AdjustedSPLatSigma = 10,
48  AdjustedSPLonSigma = 11,
49  AdjustedSPRadiusSigma = 12,
50  APrioriSPLat = 13,
51  APrioriSPLon = 14,
52  APrioriSPRadius = 15,
53  APrioriSPLatSigma = 16,
54  APrioriSPLonSigma = 17,
55  APrioriSPRadiusSigma = 18,
56  APrioriSPSource = 19,
57  APrioriSPSourceFile = 20,
58  APrioriRadiusSource = 21,
59  APrioriRadiusSourceFile = 22,
60  JigsawRejected = 23
61  };
62  static const int COLS = 24;
63 
64  static QString getColumnName(Column);
65  static Column getColumn(QString);
66  static TableColumnList *createColumns();
67 
68 
69  public:
70  AbstractPointItem(ControlPoint *cp, int avgCharWidth,
71  AbstractTreeItem *parent = 0);
72  virtual ~AbstractPointItem();
73 
74  QVariant getData() const;
75  QVariant getData(QString columnTitle) const;
76  void setData(QString const &columnTitle, QString const &newData);
77  bool isDataEditable(QString columnTitle) const;
78  void deleteSource();
79  InternalPointerType getPointerType() const;
80  void *getPointer() const;
81  bool hasPoint(ControlPoint *) const;
82 
83 
84  protected:
85  virtual void sourceDeleted();
86 
87 
88  private:
90  const AbstractPointItem &operator=(const AbstractPointItem &other);
91 
92  SurfacePoint prepareSigmas(Distance, SurfacePoint);
93  SurfacePoint prepareSurfacePoint(Latitude, SurfacePoint);
94  SurfacePoint prepareSurfacePoint(Longitude, SurfacePoint);
95  SurfacePoint prepareSurfacePoint(Distance, SurfacePoint);
96  SurfacePoint prepareSurfacePoint(SurfacePoint);
97 
98 
99  private:
100  ControlPoint *m_point;
101  };
102 }
103 
104 #endif
This class defines a body-fixed surface point.
Definition: SurfacePoint.h:148
Base class for a point item in the tree.
This class is designed to encapsulate the concept of a Latitude.
Definition: Latitude.h:63
Distance measurement, usually in meters.
Definition: Distance.h:47
This class is designed to encapsulate the concept of a Longitude.
Definition: Longitude.h:52
A single control point.
Definition: ControlPoint.h:369
Namespace for ISIS/Bullet specific routines.
Definition: Apollo.h:31
Base class for an item in the tree.