QCamAutoGuidage.hpp

00001 #ifndef _QCamAutoGuidage_hpp_
00002 #define _QCamAutoGuidage_hpp_
00003 
00004 #include <qobject.h>
00005 
00006 class QCam;
00007 class QCamFindShift;
00008 class QTelescope;
00009 class QWidget;
00010 class ShiftInfo;
00011 
00012 enum MoveDir {
00013    NotMoved,
00014    MovedEast,
00015    MovedWest,
00016    MovedNorth,
00017    MovedSouth
00018 };
00019 
00020 
00025 class QCamAutoGuidage : public QObject {
00026    Q_OBJECT;
00027 public:
00028    QCamAutoGuidage();
00030    void setCam(QCam * cam);
00032    void setScope(QTelescope * scope);
00034    void setTracker(QCamFindShift * tracker);
00036    virtual QWidget * buildGUI(QWidget *parent=0);
00037    const QCam * cam() const { return cam_;}
00038 signals:
00040    void altMove(MoveDir);
00042    void ascMove(MoveDir);
00043 public slots:
00048    void track(bool mode);
00049 protected slots:
00054    virtual void frameShift(const ShiftInfo& shift)=0;
00055 protected:
00056    QTelescope * telescope_;
00057    MoveDir lastAltMove_;
00058    MoveDir lastAscMove_;
00059    void moveAsc(MoveDir EWmove);
00060    void moveAlt(MoveDir NSmove);
00061    
00062 private:
00063    QCam * cam_;
00064    QCamFindShift * tracker_;
00065    bool isTracking_;
00066 };
00067 #endif

Generated on Sat Oct 27 09:21:03 2007 for QastroCam by  doxygen 1.5.1