CMS 3D CMS Logo

Ig3DRotationFControl.h

Go to the documentation of this file.
00001 #ifndef IGUANA_GL_BROWSERS_IG_3DROTATIONF_CONTROL_H
00002 # define IGUANA_GL_BROWSERS_IG_3DROTATIONF_CONTROL_H
00003 
00004 //<<<<<< INCLUDES                                                       >>>>>>
00005 
00006 # include "Iguana/GLBrowsers/interface/Ig3DFieldControl.h"
00007 # include <Inventor/SbLinear.h>
00008 # include <Inventor/fields/SoSFRotation.h>
00009 
00010 //<<<<<< PUBLIC DEFINES                                                 >>>>>>
00011 //<<<<<< PUBLIC CONSTANTS                                               >>>>>>
00012 //<<<<<< PUBLIC TYPES                                                   >>>>>>
00013 
00014 class Ig3DVectorControl;
00015 class Ig3DFloatControl;
00016 
00017 //<<<<<< PUBLIC VARIABLES                                               >>>>>>
00018 //<<<<<< PUBLIC FUNCTIONS                                               >>>>>>
00019 //<<<<<< CLASS DECLARATIONS                                             >>>>>>
00020 
00021 class IGUANA_GL_BROWSERS_API Ig3DRotationFControl : public Ig3DFieldControl
00022 {
00023     Q_OBJECT
00024 public:
00025     Ig3DRotationFControl (IgControlCategory     *pane,
00026                           QString               label);
00027     // implicit copy constructor
00028     // implicit assignment operator
00029     // implicit destructor
00030 
00031     // Field and field value access
00032     SoSFRotation *      field (void) const;
00033     void                setField (SoSFRotation *field);
00034     SbRotation          fieldValue (void) const;
00035 
00036     // Control value and change access
00037     SbVec3f             axis (void) const;
00038     float               angle (void) const;
00039     SbRotation          value (void) const;
00040 
00041 
00042     Ig3DVectorControl * axisControl (void) const;
00043     Ig3DFloatControl *  angleControl (void) const;
00044     
00045     QString             getSettingString (void) const;
00046     void                setSettingString (QString &setting);
00047 public slots:
00048     virtual void        setValue (const SbVec3f &axis, float angle);
00049     virtual void        setValue (const SbRotation &newval);
00050     virtual void        setAxis (const SbVec3f &value);
00051     virtual void        setAngle (float value);
00052     virtual void        emitSettingsChanged (void);
00053 
00054 protected:
00055     virtual void        updateValue (void);
00056     virtual void        applyValue (void);
00057 
00058 private:
00059     Ig3DVectorControl   *m_axis;
00060     Ig3DFloatControl    *m_angle;
00061 };
00062 
00063 //<<<<<< INLINE PUBLIC FUNCTIONS                                        >>>>>>
00064 //<<<<<< INLINE MEMBER FUNCTIONS                                        >>>>>>
00065 
00066 #endif // IGUANA_GL_BROWSERS_IG_3DROTATIONF_CONTROL_H

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