Template Class StateHistoryRegistry

Class Documentation

template<typename Value, typename InterpolationPolicy = LinearHistoryInterpolation<Value>>
class StateHistoryRegistry

Type-erased registry of independent histories.

Each history group has its own accepted time grid. A history group is a timeline, not a semantic field: several fields can share one group while different groups advance independently.

Public Types

using History = StateHistory<Value, InterpolationPolicy>

Public Functions

inline void accept(const ImmersX::HistoryGroupId group, const double time, const Value &state)
inline bool has_history(const ImmersX::HistoryGroupId group) const
inline const History &history(const ImmersX::HistoryGroupId group) const
inline Value at(const ImmersX::HistoryGroupId group, const double time) const
inline std::function<Value(HistoryGroupId, double)> query() const

Return a non-owning query callback.

The registry must outlive the returned function and every EvaluationContext that stores it.