CMS 3D CMS Logo

IgQtAxisAlignment Class Reference

#include <Iguana/GLBrowsers/interface/IgQtAxisAlignment.h>

Inheritance diagram for IgQtAxisAlignment:

IgControlItem

List of all members.

Public Slots

virtual void setAlign (unsigned short axis)
virtual void setMaxAxisAlign (float newval)
virtual void setMinAxisAlign (float newval)
virtual void setXAlign (void)
virtual void setYAlign (void)
virtual void setZAlign (void)

Public Member Functions

 IgQtAxisAlignment (QWidget *parent, float min=0., float max=1., const char *name=0)
float maxAxisAlign (void) const
float minAxisAlign (void) const
SbVec3f value (void) const
QWidget * widget () const
bool xAlign (void) const
bool yAlign (void) const
bool zAlign (void) const

Private Attributes

unsigned short m_alignAxis
float m_max
float m_min
QButtonGroup * m_widget
QPushButton * m_xalign
QPushButton * m_yalign
QPushButton * m_zalign


Detailed Description

Definition at line 21 of file IgQtAxisAlignment.h.


Constructor & Destructor Documentation

IgQtAxisAlignment::IgQtAxisAlignment ( QWidget *  parent,
float  min = 0.,
float  max = 1.,
const char *  name = 0 
)

Definition at line 23 of file IgQtAxisAlignment.cc.

References reco::fitHelper::add(), HLT_VtxMuL3::connect, m_widget, m_xalign, m_yalign, m_zalign, setXAlign(), setYAlign(), and setZAlign().

00027   : m_widget    (new QButtonGroup (parent, name)),
00028     m_xalign    (new QPushButton ("X", m_widget, name)),
00029     m_yalign    (new QPushButton ("Y", m_widget, name)),
00030     m_zalign    (new QPushButton ("Z", m_widget, name)),
00031     m_alignAxis (2),
00032     m_min       (min),
00033     m_max       (max)
00034 {
00035     m_widget->setFrameShape (QButtonGroup::NoFrame);
00036     m_widget->setTitle ("");
00037     
00038     QHBoxLayout *agroupl = new QHBoxLayout (m_widget, 0, 20);
00039     m_xalign->setMaximumSize (QSize (30, 30));
00040     agroupl->addWidget (m_xalign);
00041     agroupl->addItem (new QSpacerItem (20, 20, QSizePolicy::Expanding));
00042     m_yalign->setMaximumSize (QSize (30, 30));
00043     agroupl->addWidget (m_yalign);
00044     agroupl->addItem (new QSpacerItem (20, 20, QSizePolicy::Expanding));
00045     m_zalign->setMaximumSize (QSize (30, 30));
00046     agroupl->addWidget (m_zalign);
00047 
00048     m_xalign->setPixmap (QPixmap (yz_small_xpm));
00049     m_yalign->setPixmap (QPixmap (xz_small_xpm));
00050     m_zalign->setPixmap (QPixmap (yx_small_xpm));
00051     
00052     QWhatsThis::add (m_xalign, "Align to x-axis");
00053     QWhatsThis::add (m_yalign, "Align to y-axis");
00054     QWhatsThis::add (m_zalign, "Align to z-axis");
00055     
00056     connect (m_xalign, SIGNAL (clicked ()),
00057              this,     SLOT   (setXAlign  ()));
00058     connect (m_yalign, SIGNAL (clicked ()),
00059              this,     SLOT   (setYAlign  ()));
00060     connect (m_zalign, SIGNAL (clicked ()),
00061              this,     SLOT   (setZAlign  ()));
00062 }


Member Function Documentation

float IgQtAxisAlignment::maxAxisAlign ( void   )  const

Definition at line 73 of file IgQtAxisAlignment.cc.

References m_max.

Referenced by Ig3DVectorBaseControl::maxAxisAlign().

00074 { return m_max; }

float IgQtAxisAlignment::minAxisAlign ( void   )  const

Definition at line 69 of file IgQtAxisAlignment.cc.

References m_min.

Referenced by Ig3DVectorBaseControl::minAxisAlign().

00070 { return m_min; }

void IgQtAxisAlignment::setAlign ( unsigned short  axis  )  [virtual, slot]

Definition at line 114 of file IgQtAxisAlignment.cc.

References ASSERT, setXAlign(), setYAlign(), and setZAlign().

00115 {
00116     switch (axis)
00117     {
00118       case 0:
00119         setXAlign ();
00120         break;
00121       case 1:
00122          setYAlign ();
00123         break;
00124       case 2:
00125          setZAlign ();
00126         break;
00127       default:
00128         ASSERT (false);
00129     }
00130 }

void IgQtAxisAlignment::setMaxAxisAlign ( float  newval  )  [virtual, slot]

Definition at line 109 of file IgQtAxisAlignment.cc.

References m_max.

Referenced by Ig2DViewPropertiesCategory::Ig2DViewPropertiesCategory(), Ig3DViewpointsCategory::Ig3DViewpointsCategory(), IgLegoViewPropertiesCategory::IgLegoViewPropertiesCategory(), IgRPhiViewPropertiesCategory::IgRPhiViewPropertiesCategory(), IgRZViewPropertiesCategory::IgRZViewPropertiesCategory(), IgSpareViewPropertiesCategory::IgSpareViewPropertiesCategory(), and Ig3DVectorBaseControl::setMaxAxisAlign().

00110 { m_max = newval; }

void IgQtAxisAlignment::setMinAxisAlign ( float  newval  )  [virtual, slot]

Definition at line 105 of file IgQtAxisAlignment.cc.

References m_min.

Referenced by Ig2DViewPropertiesCategory::Ig2DViewPropertiesCategory(), Ig3DViewpointsCategory::Ig3DViewpointsCategory(), IgLegoViewPropertiesCategory::IgLegoViewPropertiesCategory(), IgRPhiViewPropertiesCategory::IgRPhiViewPropertiesCategory(), IgRZViewPropertiesCategory::IgRZViewPropertiesCategory(), IgSpareViewPropertiesCategory::IgSpareViewPropertiesCategory(), and Ig3DVectorBaseControl::setMinAxisAlign().

00106 { m_min = newval; }

void IgQtAxisAlignment::setXAlign ( void   )  [virtual, slot]

Definition at line 133 of file IgQtAxisAlignment.cc.

References m_alignAxis, and IgControlItem::setDirty().

Referenced by IgQtAxisAlignment(), and setAlign().

00134 {
00135     m_alignAxis = 0; 
00136     setDirty ();
00137 }

void IgQtAxisAlignment::setYAlign ( void   )  [virtual, slot]

Definition at line 140 of file IgQtAxisAlignment.cc.

References m_alignAxis, and IgControlItem::setDirty().

Referenced by IgQtAxisAlignment(), and setAlign().

00141 {
00142     m_alignAxis = 1;
00143     setDirty ();
00144 }

void IgQtAxisAlignment::setZAlign ( void   )  [virtual, slot]

Definition at line 147 of file IgQtAxisAlignment.cc.

References m_alignAxis, and IgControlItem::setDirty().

Referenced by IgQtAxisAlignment(), and setAlign().

00148 {
00149     m_alignAxis = 2;
00150     setDirty ();
00151 }

SbVec3f IgQtAxisAlignment::value ( void   )  const

Definition at line 77 of file IgQtAxisAlignment.cc.

References m_alignAxis, m_max, and m_min.

Referenced by Ig3DVectorBaseControl::alignToAxis(), and Ig3DAxisRotationControl::alignToAxis().

00078 {     
00079     switch (m_alignAxis)
00080     {
00081       case 0:
00082         return SbVec3f (m_max, m_min, m_min);
00083       case 1:
00084         return SbVec3f (m_min, m_max, m_min);
00085       default:
00086         return SbVec3f (m_min, m_min, m_max);
00087     }
00088 }

QWidget * IgQtAxisAlignment::widget ( void   )  const

Definition at line 65 of file IgQtAxisAlignment.cc.

References m_widget.

Referenced by Ig2DViewPropertiesCategory::Ig2DViewPropertiesCategory(), Ig3DAxisRotationControl::Ig3DAxisRotationControl(), Ig3DVectorBaseControl::Ig3DVectorBaseControl(), Ig3DViewpointsCategory::Ig3DViewpointsCategory(), IgLegoViewPropertiesCategory::IgLegoViewPropertiesCategory(), IgRPhiViewPropertiesCategory::IgRPhiViewPropertiesCategory(), IgRZViewPropertiesCategory::IgRZViewPropertiesCategory(), and IgSpareViewPropertiesCategory::IgSpareViewPropertiesCategory().

00066 { return m_widget; }

bool IgQtAxisAlignment::xAlign ( void   )  const

Definition at line 92 of file IgQtAxisAlignment.cc.

References m_alignAxis.

Referenced by IgRZViewPropertiesCategory::alignAxis(), IgSpareViewPropertiesCategory::alignAxis(), IgLegoViewPropertiesCategory::alignAxis(), IgRPhiViewPropertiesCategory::alignAxis(), Ig3DViewpointsCategory::alignToAxis(), and Ig2DViewPropertiesCategory::setCuttingPlane().

00093 { return m_alignAxis == 0; }

bool IgQtAxisAlignment::yAlign ( void   )  const

Definition at line 96 of file IgQtAxisAlignment.cc.

References m_alignAxis.

Referenced by IgRZViewPropertiesCategory::alignAxis(), IgSpareViewPropertiesCategory::alignAxis(), IgLegoViewPropertiesCategory::alignAxis(), IgRPhiViewPropertiesCategory::alignAxis(), Ig3DViewpointsCategory::alignToAxis(), and Ig2DViewPropertiesCategory::setCuttingPlane().

00097 { return m_alignAxis == 1; }

bool IgQtAxisAlignment::zAlign ( void   )  const

Definition at line 100 of file IgQtAxisAlignment.cc.

References m_alignAxis.

Referenced by IgRZViewPropertiesCategory::alignAxis(), IgSpareViewPropertiesCategory::alignAxis(), IgLegoViewPropertiesCategory::alignAxis(), IgRPhiViewPropertiesCategory::alignAxis(), and Ig2DViewPropertiesCategory::setCuttingPlane().

00101 { return m_alignAxis == 2; }


Member Data Documentation

unsigned short IgQtAxisAlignment::m_alignAxis [private]

Definition at line 52 of file IgQtAxisAlignment.h.

Referenced by setXAlign(), setYAlign(), setZAlign(), value(), xAlign(), yAlign(), and zAlign().

float IgQtAxisAlignment::m_max [private]

Definition at line 54 of file IgQtAxisAlignment.h.

Referenced by maxAxisAlign(), setMaxAxisAlign(), and value().

float IgQtAxisAlignment::m_min [private]

Definition at line 53 of file IgQtAxisAlignment.h.

Referenced by minAxisAlign(), setMinAxisAlign(), and value().

QButtonGroup* IgQtAxisAlignment::m_widget [private]

Definition at line 48 of file IgQtAxisAlignment.h.

Referenced by IgQtAxisAlignment(), and widget().

QPushButton* IgQtAxisAlignment::m_xalign [private]

Definition at line 49 of file IgQtAxisAlignment.h.

Referenced by IgQtAxisAlignment().

QPushButton* IgQtAxisAlignment::m_yalign [private]

Definition at line 50 of file IgQtAxisAlignment.h.

Referenced by IgQtAxisAlignment().

QPushButton* IgQtAxisAlignment::m_zalign [private]

Definition at line 51 of file IgQtAxisAlignment.h.

Referenced by IgQtAxisAlignment().


The documentation for this class was generated from the following files:
Generated on Tue Jun 9 18:25:26 2009 for CMSSW by  doxygen 1.5.4