00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 #ifndef COIN_SOVRMLSPHERESENSOR_H
00025 #define COIN_SOVRMLSPHERESENSOR_H
00026
00027 #include <Inventor/nodes/SoSubNode.h>
00028 #include <Inventor/VRMLnodes/SoVRMLDragSensor.h>
00029 #include <Inventor/fields/SoSFRotation.h>
00030 #include <Inventor/fields/SoSFVec3f.h>
00031
00032 class SbSphereProjector;
00033
00034 class COIN_DLL_API SoVRMLSphereSensor : public SoVRMLDragSensor
00035 {
00036 typedef SoVRMLDragSensor inherited;
00037 SO_NODE_HEADER(SoVRMLSphereSensor);
00038
00039 public:
00040 static void initClass(void);
00041 SoVRMLSphereSensor(void);
00042
00043 SoSFRotation offset;
00044 SoSFRotation rotation_changed;
00045
00046 protected:
00047
00048 virtual SbBool dragStart(void);
00049 virtual void drag(void);
00050 virtual void dragFinish(void);
00051
00052 virtual ~SoVRMLSphereSensor();
00053
00054 private:
00055
00056 SbSphereProjector * sphereproj;
00057 SbVec3f prevworldhitpt;
00058 SbRotation prevrotation;
00059 };
00060
00061 #endif // ! COIN_SOVRMLSPHERESENSOR_H