.. _program_listing_file_agents_spacecraft.h: Program Listing for File spacecraft.h ===================================== |exhale_lsh| :ref:`Return to documentation for file ` (``agents/spacecraft.h``) .. |exhale_lsh| unicode:: U+021B0 .. UPWARDS ARROW WITH TIP LEFTWARDS .. code-block:: cpp #pragma once #include "lupnt/agents/agent.h" #include "lupnt/dynamics/joint_orbit_clock_dynamics.h" namespace lupnt { class Spacecraft : public Agent { public: Spacecraft() = default; explicit Spacecraft(Config& config); void Setup() override { Agent::Setup(); } void Step(Real t) override; State GetTruthStateAt(Real t) const; const State& GetTruthState() const { return truth_; } Real GetTruthTime() const { return truth_time_; } JointOrbitClockDynamics* GetTruthDynamics() const { return truth_dyn_.get(); } Cart6 GetStateAt(Real t) const override; protected: void ConfigureTruth(Config& config); State truth_; Real truth_time_ = 0.0; Ptr truth_dyn_; }; } // namespace lupnt