24#include "AstCore/CelestialBody.hpp"
25#include "AstCore/Object.hpp"
26#include "AstUtil/ObjectNamed.hpp"
27#include <unordered_map>
64 void initPredefined();
82 static std::string defaultSolarSystemDir();
85 const std::string&
getDirpath()
const {
return dirpath_; }
158 using BodyNameMap = std::unordered_map<std::string, CelestialBody*>;
159 using BodyIndexMap = std::unordered_map<int, CelestialBody*>;
160 using BodyVector = std::vector<SharedPtr<CelestialBody>>;
178 BodyVector bodies_{};
179 mutable BodyNameMap nameMap_{};
180 mutable BodyIndexMap jplIndexMap_{};
181 mutable BodyIndexMap spiceIdMap_{};
183 std::string dirpath_{};
192AST_DECL_TYPE_ALIAS(SolarSystem)
天体
定义 CelestialBody.hpp:72
命名对象
定义 ObjectNamed.hpp:36
ObjectNamed()=default
默认构造函数
CelestialBody * getEarthMoonBarycenter() const
获取地月质心
定义 SolarSystem.hpp:91
CelestialBody * getMars() const
获取火星
定义 SolarSystem.hpp:103
CelestialBody * getJupiter() const
获取木星
定义 SolarSystem.hpp:106
CelestialBody * getSaturn() const
获取土星
定义 SolarSystem.hpp:109
CelestialBody * getNeptune() const
获取海王星
定义 SolarSystem.hpp:115
CelestialBody * getMoon() const
获取月球
定义 SolarSystem.hpp:121
CelestialBody * getSolarSystemBarycenter() const
获取太阳系质心
定义 SolarSystem.hpp:88
CelestialBody * getVenus() const
获取金星
定义 SolarSystem.hpp:97
CelestialBody * getPluto() const
获取冥王星
定义 SolarSystem.hpp:118
CelestialBody * getMercury() const
获取水星
定义 SolarSystem.hpp:94
const std::string & getDirpath() const
获取太阳系数据目录路径
定义 SolarSystem.hpp:85
CelestialBody * getEarth() const
获取地球
定义 SolarSystem.hpp:100
CelestialBody * getUranus() const
获取天王星
定义 SolarSystem.hpp:112
CelestialBody * getSun() const
获取火星
定义 SolarSystem.hpp:124