Isis Developer Reference
GuiCamera.h
Go to the documentation of this file.
1#ifndef GuiCamera_h
2#define GuiCamera_h
3
27#include <vector>
28#include <QList>
29#include <QObject>
30#include <QSharedPointer>
31#include <QString>
32#include <SpiceUsr.h>
33#include <SpiceZfc.h>
34#include <SpiceZmc.h>
35
36class QDataStream;
37class QUuid;
38class QXmlStreamWriter;
39
40namespace Isis {
41
42 class Camera;
43 class FileName;
44 class GuiCameraDisplayProperties;
45 class Project; // TODO: does xml stuff need project???
46 class PvlObject;
47
70 class GuiCamera : public QObject {
71 Q_OBJECT
72 public:
73 GuiCamera(Camera *camera, QObject *parent = 0);
74 ~GuiCamera();
75
76 bool operator==(const GuiCamera &srcGuiCamera) const;
77
78 //GuiCameraDisplayProperties *displayProperties();
80
81 QString id() const;
82
83 QString instrumentId();
84
85 QString instrumentNameShort();
86 QString instrumentNameLong();
87 QString spacecraftNameShort();
88 QString spacecraftNameLong();
89
90// void deleteFromDisk();
91
92// SpiceInt naifBodyCode() const;
93// Distance radiusA() const;
94// Distance radiusB() const;
95// Distance radiusC() const;
96// Distance meanRadius() const;
97// Distance sigmaRadiusA() const;
98// Distance sigmaRadiusB() const;
99// Distance sigmaRadiusC() const;
100// Distance sigmaMeanRadius() const;
101
102// void save(QXmlStreamWriter &stream, const Project *project, FileName newProjectRoot) const;
103// TODO: does xml stuff need project and newRoot???
104// void save(QXmlStreamWriter &stream, const Project *project) const;
105// TODO: does xml stuff need project???
106
107// QDataStream &write(QDataStream &stream) const;
108// QDataStream &read(QDataStream &stream);
109
110
111 private:
112 GuiCamera(const GuiCamera &other); // NOTE: copy constructor & assignment operators
113 GuiCamera &operator=(const GuiCamera &src); // are private so compiler will generate error
114 // if trying to use them (because parent is
115 // QObject which uses Q_DISABLE_COPY macro
116
121 QUuid *m_id;
122
126// Camera *m_camera;
127
131// std::vector<Distance> m_sigmaRadii;
132
136 GuiCameraDisplayProperties *m_displayProperties;
137
138 QString m_instrumentId;
139
140 QString m_spacecraftNameShort;
141
142 QString m_spacecraftNameLong;
143
144 QString m_instrumentNameShort;
145
146 QString m_instrumentNameLong;
147 };
148
156 typedef QSharedPointer<GuiCamera> GuiCameraQsp;
157
158};
159
161
162#endif // GuiCamera_h
Q_DECLARE_METATYPE(Isis::GuiCameraQsp)
Definition Camera.h:236
The GUI communication mechanism for target body objects.
Definition GuiCameraDisplayProperties.h:74
Container class for GuiCamera.
Definition GuiCamera.h:70
QString instrumentNameLong()
Retrieves a long version for the name of the instrument.
Definition GuiCamera.cpp:158
QString spacecraftNameLong()
Retrieves the full name of the spacecraft.
Definition GuiCamera.cpp:176
QString spacecraftNameShort()
Retrieves an abbbreviated name for the spacecraft.
Definition GuiCamera.cpp:167
~GuiCamera()
The Destructor.
Definition GuiCamera.cpp:78
QString id() const
Retrieves a unique, identifying string associated with this GuiCamera object.
Definition GuiCamera.cpp:131
GuiCamera(Camera *camera, QObject *parent=0)
The constructor for this class.
Definition GuiCamera.cpp:24
bool operator==(const GuiCamera &srcGuiCamera) const
Compares two Target Body objects to see if they are equal.
Definition GuiCamera.cpp:102
const GuiCameraDisplayProperties * displayProperties() const
Retrieves the display properties of the camera.
Definition GuiCamera.cpp:122
QString instrumentNameShort()
Retrieves an abbreviated version for the name of the instrument.
Definition GuiCamera.cpp:149
QString instrumentId()
Retrieve the InstrumentId as appears in the original cube label.
Definition GuiCamera.cpp:140
This is free and unencumbered software released into the public domain.
Definition Apollo.h:16
QSharedPointer< GuiCamera > GuiCameraQsp
GuiCameraQsp Represents a smart pointer to a GuiCamera object.
Definition GuiCamera.h:156