Go to the documentation of this file. 1 #ifndef SimTK_SimTKCOMMON_EVENT_HANDLER_H_
2 #define SimTK_SimTKCOMMON_EVENT_HANDLER_H_
73 virtual void handleEvent(
State& state,
Real accuracy,
74 bool& shouldTerminate)
const = 0;
96 virtual Real getNextEventTime(
const State& state,
97 bool includeCurrentTime)
const = 0;
111 class TriggeredEventHandlerImpl;
127 virtual Real getValue(
const State&)
const = 0;
138 Stage getRequiredStage()
const;
140 TriggeredEventHandlerImpl* impl;
149 class PeriodicEventHandlerImpl;
151 Real getNextEventTime(
const State& state,
bool includeCurrentTime)
const override;
164 Real getEventInterval()
const;
169 void setEventInterval(
Real eventInterval);
171 PeriodicEventHandlerImpl* impl;
176 #endif // SimTK_SimTKCOMMON_EVENT_HANDLER_H_
This object is intended to contain all state information for a SimTK::System, except topological info...
Definition: State.h:280
An EventHandler is an object that defines an event that can occur within a system.
Definition: EventHandler.h:51
This is a System that represents the dynamics of a particle moving along a smooth surface.
Definition: Assembler.h:37
This class is used to communicate between the System and an Integrator regarding the properties of a ...
Definition: Event.h:209
#define SimTK_SimTKCOMMON_EXPORT
Definition: SimTKcommon/include/SimTKcommon/internal/common.h:224
This class is basically a glorified enumerated type, type-safe and range checked but permitting conve...
Definition: Stage.h:66
PeriodicEventHandler is a subclass of ScheduledEventHandler which generates a series of uniformly spa...
Definition: EventHandler.h:146
TriggeredEventHandler is a subclass of EventHandler for events that occur when some condition is sati...
Definition: EventHandler.h:109
SimTK_Real Real
This is the default compiled-in floating point type for SimTK, either float or double.
Definition: SimTKcommon/include/SimTKcommon/internal/common.h:606
ScheduledEventHandler is a subclass of EventHandler for events that occur at a particular time that i...
Definition: EventHandler.h:84