.. _program_listing_file_dynamics_imu_dynamics.h: Program Listing for File imu_dynamics.h ======================================= |exhale_lsh| :ref:`Return to documentation for file ` (``dynamics/imu_dynamics.h``) .. |exhale_lsh| unicode:: U+021B0 .. UPWARDS ARROW WITH TIP LEFTWARDS .. code-block:: cpp #pragma once #include "lupnt/core/definitions.h" #include "lupnt/devices/imu.h" #include "lupnt/dynamics/dynamics.h" namespace lupnt { enum class ImuModel; class ImuDynamics : public Dynamics { public: ImuDynamics(); ImuDynamics(Config& config); void SetModel(ImuModel imu_model); ImuModel GetModel() const; void SetSeed(int seed) { seed_ = seed; rng_ = MakePtr(seed_); } using Dynamics::Propagate; State Propagate(const State& x0, Real t0, Real tf, const State* u = nullptr) override; StateType GetStateType() const override { return ImuState::TYPE; } protected: ImuModel imu_model_; int seed_ = 0; Ptr rng_ = nullptr; }; } // namespace lupnt