Simbody
3.5
|
These are all the possible causes for events. More...
Public Types | |
enum | Num { Initialization = 1, Triggered = 2, Scheduled = 3, TimeAdvanced = 4, Signaled = 5, Termination = 6, Invalid = -1 } |
Public Member Functions | |
Cause () | |
Cause (Num n) | |
operator Num () const | |
Cause & | operator= (Num n) |
bool | isValid () const |
These are all the possible causes for events.
In case several of these causes are detected in a single step, they are sequentialized in the order shown, like this: 1. The occurrence of triggered events is reported and the triggering state and a list of triggered events are passed to the event handler for processing (meaning the state, but not the time, is modified). [Note that simultaneity *within* the set of triggered events may also require special handling; we're not talking about that here, just simultaneity of *causes*.] 2. Next, using the state resulting from step 1, the time is checked to see if scheduled events have occurred. If so, a list of those events is passed to the event handler for processing. 3. Next, if this system has requested time-advanced events, the event handler is called with the state that resulted from step 2 and the "time advanced" cause noted. No event list is passed in that case. The state may be modified. 4. Last, if the final time has been reached or if any of the event handlers asked for termination, we pass the state to the event handler again noting that we have reached termination. The state may be modified and the result will be the final state of the simulation.
|
inline |
|
inline |
|
inline |
|
inline |