OIS::Effect Class Reference

#include <OISEffect.h>

Collaboration diagram for OIS::Effect:
[legend]

List of all members.

Public Types

enum  EForce {
  UnknownForce = 0, ConstantForce, RampForce, PeriodicForce,
  ConditionalForce, CustomForce
}
 Type of force. More...
enum  EType {
  Unknown = 0, Constant, Ramp, Square,
  Triangle, Sine, SawToothUp, SawToothDown,
  Friction, Damper, Inertia, Spring,
  Custom
}
 Type of effect. More...
enum  EDirection {
  NorthWest, North, NorthEast, East,
  SouthEast, South, SouthWest, West
}
 Direction of the Force. More...

Public Member Functions

 Effect (EForce ef, EType et)
virtual ~Effect ()
ForceEffectgetForceEffect () const
void setNumAxes (short nAxes)
short getNumAxes () const

Public Attributes

const EForce force
const EType type
EDirection direction
short trigger_button
unsigned int trigger_interval
unsigned int replay_length
unsigned int replay_delay
int _handle

Static Public Attributes

static const unsigned int OIS_INFINITE = 0xFFFFFFFF

Protected Attributes

ForceEffecteffect
short axes

Private Member Functions

 Effect ()


Detailed Description

Force Feedback is a relatively complex set of properties to upload to a device. The best place for information on the different properties, effects, etc is in the DX Documentation and MSDN - there are even pretty graphs ther =) As this class is modeled on the the DX interface you can apply that same knowledge to creating effects via this class on any OS supported by OIS.

In anycase, this is the main class you will be using. There is *absolutely* no need to instance any of the supporting ForceEffect classes yourself.

Definition at line 47 of file OISEffect.h.


Member Enumeration Documentation

enum OIS::Effect::EForce

Type of force.

Enumerator:
UnknownForce 
ConstantForce 
RampForce 
PeriodicForce 
ConditionalForce 
CustomForce 

Definition at line 55 of file OISEffect.h.

enum OIS::Effect::EType

Type of effect.

Enumerator:
Unknown 
Constant 
Ramp 
Square 
Triangle 
Sine 
SawToothUp 
SawToothDown 
Friction 
Damper 
Inertia 
Spring 
Custom 

Definition at line 66 of file OISEffect.h.

enum OIS::Effect::EDirection

Direction of the Force.

Enumerator:
NorthWest 
North 
NorthEast 
East 
SouthEast 
South 
SouthWest 
West 

Definition at line 85 of file OISEffect.h.


Constructor & Destructor Documentation

Effect::Effect (  )  [private]

hidden so this class cannot be instanced with default constructor

Definition at line 33 of file OISEffect.cpp.

Effect::Effect ( EForce  ef,
EType  et 
)

This constructor allows you to set the force type and effect.

Definition at line 42 of file OISEffect.cpp.

References ConditionalForce, ConstantForce, effect, PeriodicForce, and RampForce.

Effect::~Effect (  )  [virtual]

Definition at line 66 of file OISEffect.cpp.

References effect.


Member Function Documentation

ForceEffect * Effect::getForceEffect (  )  const

Definition at line 72 of file OISEffect.cpp.

References E_NotSupported, effect, and OIS_EXCEPT.

Referenced by OIS::Win32ForceFeedback::_updateConditionalEffect(), OIS::Win32ForceFeedback::_updateConstantEffect(), OIS::Win32ForceFeedback::_updatePeriodicEffect(), and OIS::Win32ForceFeedback::_updateRampEffect().

void Effect::setNumAxes ( short  nAxes  ) 

Remarks:
Set the number of Axes to use before the initial creation of the effect. Can only be done prior to creation! Use the FF interface to determine how many axes can be used (are availiable)

Definition at line 82 of file OISEffect.cpp.

References _handle, and axes.

short Effect::getNumAxes (  )  const

Remarks:
Returns the number of axes used in this effect

Definition at line 90 of file OISEffect.cpp.

References axes.

Referenced by OIS::Win32ForceFeedback::_setCommonProperties().


Member Data Documentation

const EForce OIS::Effect::force

Definition at line 103 of file OISEffect.h.

Referenced by OIS::Win32ForceFeedback::upload().

const EType OIS::Effect::type

Definition at line 104 of file OISEffect.h.

Referenced by OIS::Win32ForceFeedback::_updateConditionalEffect(), and OIS::Win32ForceFeedback::_updatePeriodicEffect().

const unsigned int OIS::Effect::OIS_INFINITE = 0xFFFFFFFF [static]

Definition at line 107 of file OISEffect.h.

EDirection OIS::Effect::direction

Definition at line 113 of file OISEffect.h.

short OIS::Effect::trigger_button

Definition at line 116 of file OISEffect.h.

unsigned int OIS::Effect::trigger_interval

Definition at line 119 of file OISEffect.h.

unsigned int OIS::Effect::replay_length

Definition at line 122 of file OISEffect.h.

Referenced by OIS::Win32ForceFeedback::_setCommonProperties().

unsigned int OIS::Effect::replay_delay

Definition at line 125 of file OISEffect.h.

Referenced by OIS::Win32ForceFeedback::_setCommonProperties().

int OIS::Effect::_handle [mutable]

set internally.. do not change or you will not be able to upload/stop this effect any more. It will become lost. It is mutable so even with const reference it can/will be changed by this lib

Definition at line 150 of file OISEffect.h.

Referenced by OIS::Win32ForceFeedback::_upload(), OIS::Win32ForceFeedback::remove(), and setNumAxes().

ForceEffect* OIS::Effect::effect [protected]

Definition at line 152 of file OISEffect.h.

Referenced by Effect(), getForceEffect(), and ~Effect().

short OIS::Effect::axes [protected]

Definition at line 153 of file OISEffect.h.

Referenced by getNumAxes(), and setNumAxes().


The documentation for this class was generated from the following files:
Generated on Sat Dec 1 20:13:54 2007 for OIS by  doxygen 1.5.4