.. _program_listing_file_dynamics_parameter_dynamics.h: Program Listing for File parameter_dynamics.h ============================================= |exhale_lsh| :ref:`Return to documentation for file ` (``dynamics/parameter_dynamics.h``) .. |exhale_lsh| unicode:: U+021B0 .. UPWARDS ARROW WITH TIP LEFTWARDS .. code-block:: cpp #pragma once #include "lupnt/dynamics/dynamics.h" #include "lupnt/states/params.h" namespace lupnt { class ParameterDynamics : public Dynamics { public: ParameterDynamics() = default; ParameterDynamics(Config& config) : Dynamics(config) {} State Propagate(const State& x0, Real t0, Real tf, const State* u = nullptr) override { (void)t0; (void)tf; (void)u; return x0; // Parameters are constant } State Propagate(const State& x0, Real t0, Real tf, const State* u, MatXd* stm) override { (void)t0; (void)tf; (void)u; if (stm != nullptr) { *stm = MatXd::Identity(x0.size(), x0.size()); } return x0; // Parameters are constant } StateType GetStateType() const override { return "Params"; } }; } // namespace lupnt