File: QFitsWidgetWiregrid.h

package info (click to toggle)
dpuser 4.1%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 12,084 kB
  • sloc: cpp: 124,807; ansic: 6,866; lex: 1,113; makefile: 777; yacc: 742; sh: 78
file content (66 lines) | stat: -rw-r--r-- 1,831 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
#ifndef WIREGRID_H
#define WIREGRID_H

#include <QImage>
#include <QWidget>

#include "QFitsBaseWidget.h"
#include "gsl/gsl_matrix.h"
//#include "QFitsWidgetContour.h"

class QFitsMainView;
class QFitsMarkers;

class QFitsWidgetWiregrid : public QFitsBaseWidget {
	Q_OBJECT
//----- Functions -----
public:
    QFitsWidgetWiregrid(QFitsBaseBuffer*);
    ~QFitsWidgetWiregrid();

    //
    // overloaded abstract base functions
    //
    void setImageCenter(double, double);
    QFitsBaseView* getView()                        { return NULL; }

    void setZoom(double);

protected:
    void resizeEvent(QResizeEvent *e);
    void mouseMoveEvent(QMouseEvent *m);
    void mousePressEvent(QMouseEvent *m);
    void wheelEvent(QWheelEvent* event);
    void paintEvent(QPaintEvent *e);
    void keyPressEvent( QKeyEvent *e );
    void enterEvent(QEvent*);
    void leaveEvent(QEvent*);
//    void calcMesh(int x1, int x2, int y1, int y2, double alpha, double beta);
    void drawMesh(int x1, int x2, int y1, int y2, double alpha, double beta, QPainter &p);

//----- Slots -----
public slots:
    void setXRotation( int degrees );
    void setYRotation( int degrees );
    void setZRotation( int degrees );
    void setScrollerImageCenter(double, double);
    void setCenter(int, int)    {}

//----- Signals -----
signals:
    void updateMagnifier(QPixmap &pix);

//----- Members -----
private:
    double              xRot, yRot, zRot, scale;
    int                 xcen, ycen, radius, mousex, mousey;
    double              *zvalues,
                        minyvalue;
    long                *indices,
                        nvalues;
    QImage              *image;
    QList<QPolygonF>    mesh;
    gsl_matrix          *xv, *yv, *zv;
};

#endif /* WIREGRID_H */