00001 #ifndef SKYVIEWER_H
00002 #define SKYVIEWER_H
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012 #include <QGLViewer/qglviewer.h>
00013 #include <QGLViewer/manipulatedCameraFrame.h>
00014 #include <QMouseEvent>
00015 #include "skytexture.h"
00016 #include "rigging.h"
00017 #include "polarargline.h"
00018
00019 class mainWindow;
00020
00021
00022
00023 class SkyViewer : public QGLViewer
00024 {
00025 Q_OBJECT
00026 protected:
00027 qglviewer::CameraConstraint *constraint;
00028
00029 mainWindow *mwin;
00030
00031 float hlite;
00032 float delhlite;
00033
00034 SkyTexture *texture;
00035 Rigging *rigging;
00036 Rigging *whiterig;
00037 PolarArgLineSet *polar;
00038
00039 QColor whitecolor, blackcolor;
00040 bool pulseflg;
00041
00042 bool mollview;
00043
00044 virtual void init(void);
00045 virtual void draw(void);
00046 virtual void animate (void);
00047
00048 virtual void postSelection (const QPoint &pt);
00049 public :
00050 SkyViewer(QWidget *parent, mainWindow *mw);
00051 virtual ~SkyViewer ();
00052
00053 void setTexture (SkyTexture *t);
00054 void setRigging (Rigging *r);
00055 void setWhiteRigging (Rigging *r);
00056 void setPolarAngles (PolarArgLineSet *p);
00057
00058 void constrainMollweide (bool b);
00059
00060 void recenterAt(const double theta, const double phi);
00061 void recenterAt(const double x, const double y, const double z);
00062
00063 virtual QString helpString () const;
00064
00065 };
00066
00067
00068
00069
00070
00071
00072
00073
00074
00075
00076
00077
00078 inline void SkyViewer::setRigging(Rigging *r)
00079 {
00080 rigging = r;
00081 }
00082
00083
00084
00085
00086
00087
00088
00089
00090
00091
00092
00093
00094 inline void SkyViewer::setWhiteRigging(Rigging *r)
00095 {
00096 whiterig = r;
00097 }
00098
00099
00100
00101
00102
00103
00104
00105
00106
00107
00108
00109
00110 inline void SkyViewer::setPolarAngles(PolarArgLineSet *p)
00111 {
00112 polar = p;
00113 }
00114 #endif