FSM Gears
- VRML World
- Author: Josh Fryman
- Overview: The start state is on the left initially. Moving gears
represent active states and transitions represent smaller gears placed between
the moving "state" gears.
- Model Templates: FSM= Finite State Machine.
- Metaphors: Large gears as states. Smaller gears as transitions.
Current state is a moving gear with a bubble rising into it.
- Simulation: Viewpoints: Initial, By-State-S1, By-State-S2, 4
other interesting viewpoints. Execution: press white block on left and
then transitions to cause the machine to move from an active state to a target
state. S3 and S4 are "final states" from which there are no transitions.
Animation: gears move to indicate a state transition. There is a blue
bubble that deflates in the source state and inflates in the target state.
Audio: mechanical sound during state transitions.
- Modeling PROTOs constructed: StateExtender, StateBottom,
StateTransition, SpinningGear, GearBase, GearTransition
- Modeling PROTOs used for this world: StateTransition (a State in
the world), GearTransition (a Transition in the world)
- Object Hierarchy
- StateTransition
- Uses: SpinningGear, StateBottom, StateExtender
- Parameters:
-
exposedField
SFTime
g_cycleInterval 4.0
exposedField
SFBool
g_loop
TRUE
exposedField
SFTime
g_startTime
0.1
exposedField
SFTime
g_stopTime
0.0
exposedField SFRotation
g_rotation
0.0 0.0 0.0 0.0
exposedField
SFVec3f
g_translation
0.0 0.0 0.0
exposedField
SFVec3f
g_scale
1.0 1.0 1.0
exposedField SFRotation
g_scaleOrientation 0.0 0.0 1.0 0.0
exposedField
MFString
g_statename
"Name?!"
eventIn
SFTime
g_touchTime
GearTransition
- Uses: SpinningGear, StateBottom, StateExtender
- Parameters:
-
exposedField
SFTime
g_cycleInterval
4.0
exposedField
SFBool
g_loop
TRUE
exposedField
SFTime
g_startTime
0.1
exposedField
SFTime
g_stopTime
0.0
exposedField SFRotation
g_rotation
0.0 0.0 0.0 0.0
exposedField
SFVec3f
g_translation
0.0 0.0 0.0
exposedField
SFVec3f
g_scale
1.0 1.0 1.0
exposedField SFRotation
g_scaleOrientation 0.0 0.0 1.0 0.0
exposedField
MFString
g_statename
"Name?!"
eventIn
SFBool
enable
eventIn
SFBool
disable
eventOut
SFBool
activated
eventOut
SFTime
g_touchTime