|
| EventDecorator (std::unique_ptr< AbstractIntegrator< S, T > > integrator, EventConfig config={}) |
| Construct event decorator.
|
|
| ~EventDecorator () |
| Destructor ensures proper cleanup.
|
|
void | step (typename IntegratorDecorator< S, T >::state_type &state, T dt) override |
| Override step to handle events during integration.
|
|
void | integrate (typename IntegratorDecorator< S, T >::state_type &state, T dt, T end_time) override |
| Override integrate to handle events during integration.
|
|
void | register_event_handler (EventTrigger trigger, std::function< void(S &, T)> handler) |
| Register event handler for specific trigger type.
|
|
void | trigger_event (const std::string &event_id, EventPriority priority, std::function< void(S &, T)> handler, std::vector< uint8_t > data={}) |
| Trigger custom event.
|
|
void | submit_sensor_data (const std::string &sensor_id, const std::vector< double > &values, double confidence=1.0) |
| Submit sensor data.
|
|
void | submit_control_feedback (const std::string &control_id, const S &target_state, const S ¤t_state) |
| Submit control feedback.
|
|
void | set_state_condition (std::function< bool(const S &, T)> condition, std::function< void(S &, T)> handler, EventPriority priority=EventPriority::NORMAL) |
| Set state-based event condition.
|
|
void | set_threshold_event (size_t state_index, double threshold, bool crossing_direction, std::function< void(S &, T)> handler) |
| Set threshold crossing event.
|
|
const EventStats & | get_statistics () const |
| Get event statistics.
|
|
void | reset_statistics () |
| Reset event statistics.
|
|
const std::vector< Event< S, T > > & | get_event_history () const |
| Get event history.
|
|
void | clear_event_history () |
| Clear event history.
|
|
std::map< std::string, SensorData< T > > | get_sensor_data () const |
| Get current sensor data.
|
|
std::map< std::string, ControlFeedback< S, T > > | get_control_feedback () const |
| Get current control feedback.
|
|
EventConfig & | config () |
| Access and modify event configuration.
|
|
const EventConfig & | config () const |
|
| IntegratorDecorator (std::unique_ptr< base_type > integrator) |
| Construct decorator wrapping another integrator.
|
|
virtual | ~IntegratorDecorator ()=default |
| Virtual destructor for proper cleanup.
|
|
void | step (state_type &state, time_type dt) override |
|
void | integrate (state_type &state, time_type dt, time_type end_time) override |
|
time_type | current_time () const override |
|
void | set_time (time_type t) override |
|
void | set_system (system_function sys) override |
|
base_type & | wrapped () |
| Access to wrapped integrator for advanced use.
|
|
const base_type & | wrapped () const |
|
bool | has_wrapped_integrator () const |
| Check if wrapped integrator exists.
|
|
| AbstractIntegrator (system_function sys) |
|
time_type | current_time () const |
|
void | set_time (time_type t) |
|
void | set_system (system_function sys) |
|
Event decorator - adds event-driven feedback capabilities to any integrator.
This decorator provides comprehensive event-driven capabilities with the following features:
- Multiple event trigger types (time, state, sensor, control)
- Priority-based event processing
- Real-time constraints and timing guarantees
- Sensor data integration and validation
- Control loop feedback mechanisms
- Asynchronous event processing
Key Design Principles:
- Single Responsibility: ONLY handles event-driven feedback
- Real-time: Designed for robotics and control applications
- Flexible: Multiple trigger types and processing modes
- Robust: Timeout handling and error recovery
Definition at line 237 of file event_decorator.hpp.