00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #ifndef OIS_ForceFeedBack_H
00024 #define OIS_ForceFeedBack_H
00025
00026 #include "OISPrereqs.h"
00027 #include "OISInterface.h"
00028 #include "OISEffect.h"
00029
00030 namespace OIS
00031 {
00035 class _OISExport ForceFeedback : public Interface
00036 {
00037 public:
00038 ForceFeedback() {}
00039 virtual ~ForceFeedback() {}
00040
00050 virtual void setMasterGain( float level ) = 0;
00051
00061 virtual void setAutoCenterMode( bool auto_on ) = 0;
00062
00069 virtual void upload( const Effect* effect ) = 0;
00070
00075 virtual void modify( const Effect* effect ) = 0;
00076
00081 virtual void remove( const Effect* effect ) = 0;
00082
00087 virtual short getFFAxesNumber() = 0;
00088
00089 typedef std::map<Effect::EForce, Effect::EType> SupportedEffectList;
00094 const SupportedEffectList& getSupportedEffects() const;
00095
00096 void _addEffectTypes( Effect::EForce force, Effect::EType type );
00097
00098 protected:
00099 SupportedEffectList mSupportedEffects;
00100 };
00101 }
00102 #endif //OIS_ForceFeedBack_H