00001 #ifndef IGUANA_GL_BROWSERS_IG_3DVEC_4F_CONTROL_H 00002 # define IGUANA_GL_BROWSERS_IG_3DVEC_4F_CONTROL_H 00003 00004 //<<<<<< INCLUDES >>>>>> 00005 00006 # include "Iguana/GLBrowsers/interface/Ig3DVectorBaseControl.h" 00007 # include <Inventor/SbLinear.h> 00008 # include <Inventor/fields/SoSFVec4f.h> 00009 00010 //<<<<<< PUBLIC DEFINES >>>>>> 00011 //<<<<<< PUBLIC CONSTANTS >>>>>> 00012 //<<<<<< PUBLIC TYPES >>>>>> 00013 //<<<<<< PUBLIC VARIABLES >>>>>> 00014 //<<<<<< PUBLIC FUNCTIONS >>>>>> 00015 //<<<<<< CLASS DECLARATIONS >>>>>> 00016 00017 class IGUANA_GL_BROWSERS_API Ig3DVec4fControl : public Ig3DVectorBaseControl 00018 { 00019 Q_OBJECT 00020 public: 00021 Ig3DVec4fControl (IgControlCategory *pane, 00022 QString label, 00023 QString labels = "X:Y:Z:W"); 00024 // implicit copy constructor 00025 // implicit assignment operator 00026 // implicit destructor 00027 00028 // Field and field value access 00029 SoSFVec4f * field (void) const; 00030 void setField (SoSFVec4f *field); 00031 SbVec4f fieldValue (void) const; 00032 00033 // Control value and change access 00034 float xValue (void) const; 00035 float yValue (void) const; 00036 float zValue (void) const; 00037 float wValue (void) const; 00038 SbVec4f value (void) const; 00039 00040 bool isChanged (void) const; 00041 float xChange (void) const; 00042 float yChange (void) const; 00043 float zChange (void) const; 00044 float wChange (void) const; 00045 SbVec4f change (void) const; 00046 00047 // Access to the x,y,z control 00048 IgQtRangeControlFloat * xControl (void) const; 00049 IgQtRangeControlFloat * yControl (void) const; 00050 IgQtRangeControlFloat * zControl (void) const; 00051 IgQtRangeControlFloat * wControl (void) const; 00052 IgQtRangeControlFloat * control (void) const; 00053 00054 using Ig3DVectorBaseControl::setValue; 00055 using Ig3DVectorBaseControl::value; 00056 using Ig3DVectorBaseControl::change; 00057 using Ig3DVectorBaseControl::control; 00058 public slots: 00059 virtual void setValue (const SbVec4f &vec); 00060 virtual void setValue (float x, float y, float z, float w); 00061 00062 protected: 00063 virtual void updateValue (void); 00064 virtual void applyValue (void); 00065 }; 00066 00067 //<<<<<< INLINE PUBLIC FUNCTIONS >>>>>> 00068 //<<<<<< INLINE MEMBER FUNCTIONS >>>>>> 00069 00070 #endif // IGUANA_GL_BROWSERS_IG_3DVEC_4F_CONTROL_H