.. _program_listing_file_agents_lunar_nav_constellation.h: Program Listing for File lunar_nav_constellation.h ================================================== |exhale_lsh| :ref:`Return to documentation for file ` (``agents/lunar_nav_constellation.h``) .. |exhale_lsh| unicode:: U+021B0 .. UPWARDS ARROW WITH TIP LEFTWARDS .. code-block:: cpp #pragma once #include #include #include "lupnt/agents/agent.h" #include "lupnt/agents/spacecraft.h" namespace lupnt { class LunarNavConstellation : public Agent { public: LunarNavConstellation() = default; explicit LunarNavConstellation(Config& config); void Setup() override; void Step(Real t) override; Cart6 GetStateAt(Real t) const override; int NumSatellites() const { return static_cast(sats_.size()); } const std::string& SatelliteName(int j) const { return sat_names_[j]; } Cart6 GetSatelliteStateAt(int j, Real t) const { return sats_[j]->GetStateAt(t); } private: void AddSatellite(const Config& shared, const YAML::Node& initial_state, const std::string& nm); std::vector> sats_; std::vector sat_names_; }; } // namespace lupnt