14 #include <vlutil/vlTime.h>
18 class DtEntityRotorData;
46 virtual void enter(
void);
49 virtual void exit(
void);
104 virtual void enter(
void)
override;
127 virtual void enter(
void)
override;
DtTime myLastUpdateTime
Definition: DtRotorState.h:148
Definition: DtRotorState.h:107
DtTime myElapsedTime
Definition: DtRotorState.h:149
class containing information about the rotors of an articulated model and the state This class is use...
Definition: DtEntityRotorData.h:26
static const float theTimeToSwitchToMotionBlur
Definition: DtRotorState.h:60
SpinningDown & operator=(const SpinningDown &rhs)=delete
virtual DtRotorState * handleEvent(int state)
handle an event (state change). can cause transition to another state.
DtRotorState & operator=(const DtRotorState &rhs)=delete
virtual DtRotorState * update(DtTime timeNow) override
If M threshold, will transition to fully off.
virtual ~FullyOn()
destructor
DtEntityRotorData * myRotorData
Definition: DtRotorState.h:51
FullyOff & operator=(const FullyOff &rhs)=delete
represents an abstract rotor state. Specialized classes inherited from this are part of the fsm that ...
Definition: DtRotorState.h:24
float myCurrentVelocity
Definition: DtRotorState.h:177
SpinningUp()=delete
not allowed
DtNullRotorState()=delete
not allowed
start up state
Definition: DtRotorState.h:64
static const float theTimeToFullSpin
in seconds
Definition: DtRotorState.h:56
FullyOn & operator=(const FullyOn &rhs)=delete
virtual DtRotorState * handleEvent(int state) override
If 0, will transition to spinning down does not need to handle timed update.
DtTime myLastUpdateTime
Definition: DtRotorState.h:173
float myCurrentVelocity
Definition: DtRotorState.h:152
virtual void enter(void)
things to be done on enter.
bool mySwitchedToMotionBlur
Definition: DtRotorState.h:153
virtual DtRotorState * update(DtTime timeNow)
update given the current time. can cause transition to another state.
DtNullRotorState & operator=(const DtNullRotorState &rhs)=delete
const float myAcceleration
Definition: DtRotorState.h:175
FullyOn()=delete
not allowed
virtual ~DtNullRotorState()
destructor
virtual ~FullyOff()
destructor
const float myInitialVelocity
Definition: DtRotorState.h:176
virtual void enter(void) override
will pass on the state 1 directly to the osg articulated model will also set the dofs that were being...
virtual DtRotorState * handleEvent(int state) override
If 1, will transition to spinning up does not need to handle timed update.
virtual void exit(void)
things to be done on exit
const float myInitialVelocity
Definition: DtRotorState.h:151
fully off state
Definition: DtRotorState.h:86
Definition: DtRotorState.h:156
FullyOff()=delete
not allowed
Definition: DtRotorState.h:130
virtual DtRotorState * update(DtTime timeNow) override
If > treshold, will transition to fully on.
FullyOn & operator=(const SpinningUp &rhs)=delete
SpinningDown()=delete
not allowed
virtual ~DtRotorState()
destructor
DtTime myElapsedTime
Definition: DtRotorState.h:174
static const float theMaxSpeed
the max speed of a rotor (in rpm)
Definition: DtRotorState.h:54
Contains DLL export macros.
static const float theTimeToFullCoolDown
in seconds
Definition: DtRotorState.h:58
virtual void enter(void) override
will set the velocity of the rotors to 0
DtRotorState()=delete
not allowed
virtual DtRotorState * handleEvent(int state) override
If 0, will transition to spinning down.
const float myAcceleration
Definition: DtRotorState.h:150
virtual DtRotorState * handleEvent(int state) override
If 0, will transition to fully off If 1, will transition to fully on does not need to handle timed up...
virtual DtRotorState * handleEvent(int state) override
If 0, will transition to spinning down.