00001 #ifndef POLARARGLINE_H 00002 #define POLARARGLINE_H 00003 /* ============================================================================ 00004 'polarargline.h' defines the polarization angle vectors. 00005 00006 Written by Nicholas Phillips. 00007 QT4 adaption by Michael R. Greason, ADNET, 27 August 2007 00008 ============================================================================ */ 00009 /* 00010 Fetch header files. 00011 */ 00012 #include <vector> 00013 #include <QGLViewer/vec.h> 00014 #include "healpixmap.h" 00015 typedef unsigned char uchar; 00016 /* ============================================================================ 00017 'PolarArgLine' manages a single polarization angle vector on the viewer. 00018 ============================================================================ */ 00019 class PolarArgLine 00020 { 00021 protected: 00022 bool on; 00023 bool moll; 00024 qglviewer::Vec v1; 00025 qglviewer::Vec v2; 00026 qglviewer::Vec col; 00027 public: 00028 PolarArgLine (void); 00029 void set(double theta, double phi, double gamma, double size); 00030 void setColor(uchar r_ = 255, uchar g_ = 255, uchar b_ = 255); 00031 void setOn(bool b) { on = b;} 00032 bool isOn() const { return on; }; 00033 void setMollweide (bool b) { moll = b; } 00034 void draw(); 00035 }; 00036 /* ============================================================================ 00037 'PolarArgLineSet' manages a set of polarization angle vectors. 00038 ============================================================================ */ 00039 class PolarArgLineSet: public std::vector<PolarArgLine> 00040 { 00041 protected: 00042 bool on; 00043 public: 00044 PolarArgLineSet (void); 00045 void set(HealpixMap *skymap); 00046 void setOn(bool b) { on = b;} 00047 bool isOn() const { return on; }; 00048 void setMollweide (bool b); 00049 void draw(); 00050 }; 00051 #endif