CMS 3D CMS Logo

IgQtAxisAlignment.h

Go to the documentation of this file.
00001 #ifndef IGUANA_GL_BROWSERS_IG_QT_AXIS_ALIGNMENT_H
00002 # define IGUANA_GL_BROWSERS_IG_QT_AXIS_ALIGNMENT_H
00003 
00004 //<<<<<< INCLUDES                                                       >>>>>>
00005 
00006 # include "Iguana/GLBrowsers/interface/IgControlItem.h"
00007 # include "Iguana/GLBrowsers/interface/config.h"
00008 # include <Inventor/SbLinear.h>
00009 
00010 //<<<<<< PUBLIC DEFINES                                                 >>>>>>
00011 //<<<<<< PUBLIC CONSTANTS                                               >>>>>>
00012 //<<<<<< PUBLIC TYPES                                                   >>>>>>
00013 
00014 class QWidget;
00015 class QButtonGroup;
00016 class QPushButton;
00017 
00018 //<<<<<< PUBLIC VARIABLES                                               >>>>>>
00019 //<<<<<< PUBLIC FUNCTIONS                                               >>>>>>
00020 //<<<<<< CLASS DECLARATIONS                                             >>>>>>
00021 class IGUANA_GL_BROWSERS_API IgQtAxisAlignment
00022     : public IgControlItem
00023 {
00024     Q_OBJECT
00025 public:
00026     IgQtAxisAlignment (QWidget *parent, float min = 0., float max = 1.,
00027                       const char *name = 0);
00028 
00029     SbVec3f             value           (void) const;
00030     QWidget*            widget          ()     const;
00031 
00032     float               minAxisAlign    (void) const;
00033     float               maxAxisAlign    (void) const;
00034 
00035     bool                xAlign          (void) const;
00036     bool                yAlign          (void) const;
00037     bool                zAlign          (void) const;
00038 
00039 public slots:
00040     virtual void        setMinAxisAlign (float newval);
00041     virtual void        setMaxAxisAlign (float newval);
00042     virtual void        setAlign        (unsigned short axis);
00043     virtual void        setXAlign       (void);
00044     virtual void        setYAlign       (void);
00045     virtual void        setZAlign       (void);
00046         
00047 private:
00048     QButtonGroup        *m_widget;
00049     QPushButton         *m_xalign;
00050     QPushButton         *m_yalign;
00051     QPushButton         *m_zalign;
00052     unsigned short      m_alignAxis;
00053     float               m_min;
00054     float               m_max;
00055 };
00056 
00057 //<<<<<< INLINE PUBLIC FUNCTIONS                                        >>>>>>
00058 //<<<<<< INLINE MEMBER FUNCTIONS                                        >>>>>>
00059 
00060 #endif // IGUANA_GL_BROWSERS_IG_QT_AXIS_ALIGNMENT_H

Generated on Tue Jun 9 17:38:31 2009 for CMSSW by  doxygen 1.5.4