MeVisLabToolboxReference
MeVisLab/Standard/Sources/Inventor/SoUtils/SoPlaneDragger.h
Go to the documentation of this file.
00001 #ifndef __SoPlaneDragger_H
00002 #define __SoPlaneDragger_H
00003 
00004 //----------------------------------------------------------------------------------
00005 // **InsertLicense** code
00006 //----------------------------------------------------------------------------------
00008 
00013 //----------------------------------------------------------------------------------
00014 
00015 #ifndef __SoUtilsSystem_H
00016 #include "SoUtilsSystem.h"
00017 #endif
00018 
00019 #include "XVEnterScope.h"
00020 
00021 #include <Inventor/draggers/SoJackDragger.h>
00022 #include <Inventor/fields/SoSFPlane.h>
00023 #include <Inventor/fields/SoSFBool.h>
00024 #include <Inventor/fields/SoSFColor.h>
00025 #include <Inventor/nodes/SoMaterial.h>
00026 
00027 #include "XVLeaveScope.h"
00028 
00030 
00033 class SoPlaneDragger : public SoJackDragger
00034 {
00035   SO_KIT_HEADER(RotTransDragger);
00036 
00037 public:
00038   // Constructor
00039   SoPlaneDragger();
00040 
00042   SoSFPlane plane;
00043 
00044   SoSFBool drawPlane;
00045   SoSFBool enableTranslation;
00046   SoSFBool enableRotation;
00047 
00048   SoSFColor planePassivColor;
00049   SoSFColor planeActiveColor;
00050 
00052   static void initClass();
00053 
00055   void fieldChanged(SoSensor* a=NULL);
00057   static void fieldChangedCB(void *data, SoSensor* a);
00058 
00059 protected:
00060   virtual ~SoPlaneDragger();
00061 
00062 private:
00064   SoFieldSensor* _transSensor;
00066   SoFieldSensor* _rotSensor;
00068   SoFieldSensor* _planeStyleSensor;
00070   SoFieldSensor* _enableTranslationSensor;
00072   SoFieldSensor* _enableRotationSensor;
00074   SoFieldSensor* _planePassivColorSensor;
00076   SoFieldSensor* _planeActiveColorSensor;
00077 
00079   SoDrawStyle*  _drawStyleP1;
00081   SoPickStyle*  _pickStyleTranslator;
00083   SoPickStyle*  _pickStyleRotator;
00084 
00086   SoMaterial* _planePassivMaterial;
00088   SoMaterial* _planeActiveMaterial;
00089 
00090 };
00091 
00092 #endif