CMS 3D CMS Logo

Ig3DPlaneControl.h

Go to the documentation of this file.
00001 #ifndef IGUANA_GL_BROWSERS_IG_3DPLANE_CONTROL_H
00002 # define IGUANA_GL_BROWSERS_IG_3DPLANE_CONTROL_H
00003 
00004 //<<<<<< INCLUDES                                                       >>>>>>
00005 
00006 # include "Iguana/GLBrowsers/interface/Ig3DFieldControl.h"
00007 # include "Iguana/GLBrowsers/interface/Ig3DAxisRotationControl.h"
00008 # include "Iguana/GLBrowsers/interface/IgPlaneDirection.h"
00009 # include <Inventor/SbLinear.h>
00010 # include <Inventor/fields/SoSFPlane.h>
00011 
00012 
00013 //<<<<<< PUBLIC DEFINES                                                 >>>>>>
00014 //<<<<<< PUBLIC CONSTANTS                                               >>>>>>
00015 //<<<<<< PUBLIC TYPES                                                   >>>>>>
00016 
00017 class SoSFPlane;
00018 class Ig3DAxisRotationControl;
00019 class Ig3DVectorControl;
00020 class Ig3DFloatControl;
00021 
00022 //<<<<<< PUBLIC VARIABLES                                               >>>>>>
00023 //<<<<<< PUBLIC FUNCTIONS                                               >>>>>>
00024 //<<<<<< CLASS DECLARATIONS                                             >>>>>>
00025 
00026 class IGUANA_GL_BROWSERS_API Ig3DPlaneControl : public Ig3DFieldControl
00027 {
00028     Q_OBJECT
00029 public:
00030     Ig3DPlaneControl (IgControlCategory *pane, QString label);
00031     // implicit copy constructor
00032     // implicit assignment operator
00033     // implicit destructor
00034 
00035     SoSFPlane*  field (void) const;
00036     void                setField (SoSFPlane *field);
00037     SbPlane             fieldValue (void) const;
00038 
00039     SbPlane             value (void) const;
00040     SbVec3f             direction (void) const;
00041     float               distance (void) const;
00042 
00043         Ig3DAxisRotationControl*        axisRotationControl  (void) const;
00044     Ig3DFloatControl*                   distanceControl  (void) const;
00045 
00046     QString             getSettingString (void) const;
00047     void                setSettingString (QString &setting);
00048 
00049 public slots:
00050     virtual void        setValue (const SbPlane &value);
00051     virtual void        setDirection (const SbVec3f &value);
00052     virtual void        setDistance (float value);
00053     virtual void        emitSettingsChanged (void);
00054 
00055     virtual void        show (void);
00056     virtual void        hide (void);
00057 
00058 protected:
00059     virtual void        applyValue (void);
00060     virtual void        updateValue (void);
00061 
00062 private:
00063         Ig3DAxisRotationControl*        m_rotation;
00064     IgPlaneDirection*                   m_direction;
00065     Ig3DFloatControl*                   m_distance;
00066 };
00067 
00068 //<<<<<< INLINE PUBLIC FUNCTIONS                                        >>>>>>
00069 //<<<<<< INLINE MEMBER FUNCTIONS                                        >>>>>>
00070 
00071 #endif // IGUANA_GL_BROWSERS_IG_3DPLANE_CONTROL_H

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