MeVisLabToolboxReference
|
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