00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00027
00029 #ifndef __H3DFAKEHAPTICSDEVICE_H__
00030 #define __H3DFAKEHAPTICSDEVICE_H__
00031
00032 #include "H3DThreadedHapticsDevice.h"
00033 #include "ThreadSafeFields.h"
00034
00035 namespace H3D {
00046 class H3DAPI_API H3DFakeHapticsDevice: public H3DThreadedHapticsDevice {
00047 public:
00049 H3DFakeHapticsDevice(
00050 Inst< ThreadSafeSField< SFVec3f > > _devicePosition = 0,
00051 Inst< ThreadSafeSField< SFRotation > > _deviceOrientation = 0,
00052 Inst< TrackerPosition > _trackerPosition = 0,
00053 Inst< TrackerOrientation > _trackerOrientation = 0,
00054 Inst< PosCalibration > _positionCalibration = 0,
00055 Inst< OrnCalibration > _orientationCalibration = 0,
00056 Inst< SFVec3f > _proxyPosition = 0,
00057 Inst< WeightedProxy > _weightedProxyPosition = 0,
00058 Inst< SFFloat > _proxyWeighting = 0,
00059 Inst< ThreadSafeSField< SFBool > > _main_button = 0,
00060 Inst< ThreadSafeSField< SFVec3f > > _force = 0,
00061 Inst< ThreadSafeSField< SFVec3f > > _torque = 0,
00062 Inst< SFInt32 > _inputDOF = 0,
00063 Inst< SFInt32 > _outputDOF = 0,
00064 Inst< SFInt32 > _hapticsRate = 0,
00065 Inst< SFNode > _stylus = 0,
00066 Inst< SFBool > _initialized = 0,
00067 Inst< ThreadSafeSField< SFVec3f > > _set_devicePosition = 0,
00068 Inst< ThreadSafeSField< SFRotation > > _set_deviceOrientation = 0,
00069 Inst< ThreadSafeSField< SFBool > > _set_mainButton = 0 );
00070
00072 virtual ~H3DFakeHapticsDevice();
00073
00075 static H3DNodeDatabase database;
00076
00083 auto_ptr< SFVec3f > set_devicePosition;
00084
00091 auto_ptr< SFRotation > set_deviceOrientation;
00092
00099 auto_ptr< SFBool > set_mainButton;
00100
00101 protected:
00103 virtual Vec3f getPosition();
00105 virtual Vec3f getVelocity();
00107 virtual Rotation getOrientation();
00109 virtual bool getButtonStatus();
00111 virtual void sendForce( const Vec3f &f ) {}
00113 virtual void sendTorque( const Vec3f &f ) {};
00114 };
00115 }
00116
00117 #endif