88 virtual void advance(
double _arc) = 0;
107 virtual double stateArc()
const = 0;
117 while (tSim + _dt <= _tEnd)
164 template <std::size_t StateSize, std::size_t RKOrder,
typename... RKCoeff>
166 template <std::
size_t StateSize, std::
size_t StateNmSize>
171 #endif // STATE_SIM_H void discretize(StateSim &_stateSim, const double &_arc)
Templetized generic discretization function.
virtual ParamFuncsDist * paramFuncsDist()=0
Returns (if applicable) reference of the parametric functions distance-extended structure. Otherwise returns nullptr.
virtual State & stateCf()=0
Reference to the actual closed-form state.
std::shared_ptr< StateSim const > StateSimConstSPtr
std::shared_ptr< State > StateSPtr
virtual void advanceSet0(const double &_tEnd, const double &_dt)
previous evaluation arc <= this evaluation arc
virtual ~StateSim()=default
virtual State & stateNm()=0
Reference to the actual numerical-computed state.
virtual double & value(const std::size_t &_i)=0
Access state variable based on index _i.
std::unique_ptr< StateSim > StateSimUPtr
virtual StateSimUPtr cloneStateSim() const =0
Clone-to-base-class-ptr function.
std::unique_ptr< StateSim const > StateSimConstUPtr
virtual ParamFuncs * paramFuncs()=0
Returns (if applicable) reference of the parametric functions structure. Otherwise returns nullptr...
virtual State & state0()=0
Reference to the initial state.
virtual void setState(StateSPtr &_otherState)=0
Sets the state variables to the values of _otherState. It also sets the control structure evaluation ...
virtual void setStateCfNmStep(const double &_arc, const ParamFuncs::EvalArcGuarantee &_evalArcGuarantee=ParamFuncs::EvalArcGuarantee::AFTER_LAST)
DiscretizationType
Several discretization modes.
virtual void setDiscrType(const RungeKutta::DiscretizationType &_discrType)=0
Set discretization type used in the simulation.
Templated partial implementation of StateSim.
EvalArcGuarantee
Flags if any guarantees about evaluation arc relative to last evaluation arc are present.
virtual size_t valueSize() const =0
Size of the state variables.
Generic tree-like recursive structure that allows sub-structure access as well as ordered (array-like...
virtual void advance(double _arc)=0
Performs one simulation step to parametrized arc length _arc.
virtual State & stateNmDot()=0
Computes numerical continuous arc state transition (return) based on internal closed-form state (stat...
std::shared_ptr< StateSim > StateSimSPtr
Extends manipulation of parametric functions collection with closed-form arc length (distance) comput...
virtual void setStateCf(const double &_arc, const ParamFuncs::EvalArcGuarantee &_evalArcGuarantee=ParamFuncs::EvalArcGuarantee::AFTER_LAST)=0
Sets closed-form state at arc _arc.
virtual void toState0()=0
Resets entire state to state0. It also sets the control structure evaluation point at most at the new...
StateSim & operator=(const StateSim &)=default
Interface for a state simulator structure that performs numerical integration of not-closed-form stat...
virtual double stateDist() const =0
Value of the current traveled distance of the state.
virtual State & stateNmDelta(const double &_dArc)=0
Computes numerical discrete state transition (return) based on internal closed-form state (stateCf ) ...
virtual double stateArc() const =0
Value of the current arc parametrization of the state.
Storage and manipulation of parametric functions collection.