🛰️航天仿真算法库 SpaceAST 0.0.1
载入中...
搜索中...
未找到
太阳系

详细描述

提供太阳系及行星相关计算函数与类

class  ast::CelestialBody
 
class  ast::BodyEphemeris
 
class  ast::BodyEphemerisDE
 
class  ast::BodyEphemerisNoop
 
class  ast::BodyEphemerisSPK
 
class  ast::BodyOrientation
 
class  ast::EarthOrientation
 
class  ast::MoonOrientation
 
class  ast::NoopOrientation
 
class  ast::RotationalData
 
class  ast::RotationElement
 
class  ast::SolarSystem
 

类型定义

using ast::Body = CelestialBody
 
using ast::HCelestialBody = SharedPtr<CelestialBody>
 
using ast::HBody = HCelestialBody
 
using ast::PCelestialBody = CelestialBody*
 
using ast::PBody = PCelestialBody
 

枚举

enum class  ast::EEphemerisSource { ast::EEphemerisSource::eBodyEphemeris , ast::EEphemerisSource::eJplDE , ast::EEphemerisSource::eJplSpice , ast::EEphemerisSource::eJplSpiceBarycenter }
 
enum  ast::ESpiceId : int {
  ast::eSolarSystemBarycenter = 0 , ast::eMercuryBarycenter = 1 , ast::eVenusBarycenter = 2 , ast::eEarthBarycenter = 3 ,
  ast::eMarsBarycenter = 4 , ast::eJupiterBarycenter = 5 , ast::eSaturnBarycenter = 6 , ast::eUranusBarycenter = 7 ,
  ast::eNeptuneBarycenter = 8 , ast::ePlutoBarycenter = 9 , ast::eSun = 10 , ast::eMercury = 199 ,
  ast::eVenus = 299 , ast::eEarth = 399 , ast::eMoon = 301 , ast::eMars = 499 ,
  ePhobos = 401 , eDeimos = 402 , ast::eJupiter = 599 , eIo = 501 ,
  eEuropa = 502 , eGanymede = 503 , eCallisto = 504 , eAmalthea = 505 ,
  eHimalia = 506 , eElara = 507 , ePasiphae = 508 , eSinope = 509 ,
  eLysithea = 510 , eCarme = 511 , eAnanke = 512 , eLeda = 513 ,
  eThebe = 514 , eAdrastea = 515 , eMetis = 516 , ast::eSaturn = 699 ,
  eMimas = 601 , eEnceladus = 602 , eTethys = 603 , eDione = 604 ,
  eRhea = 605 , eTitan = 606 , eHyperion = 607 , eIapetus = 608 ,
  ePhoebe = 609 , eJanus = 610 , eEpimetheus = 611 , eHelene = 612 ,
  eTelesto = 613 , eCalypso = 614 , eAtlas = 615 , ePrometheus = 616 ,
  ePandora = 617 , ePan = 618 , eMethone = 632 , ePallene = 633 ,
  ePolydeuces = 634 , eDaphnis = 635 , eAnthe = 649 , eAegaeon = 653 ,
  ast::eUranus = 799 , eAriel = 701 , eUmbriel = 702 , eTitania = 703 ,
  eOberon = 704 , eMiranda = 705 , eCordelia = 706 , eOphelia = 707 ,
  eBianca = 708 , eCressida = 709 , eDesdemona = 710 , eJuliet = 711 ,
  ePortia = 712 , eRosalind = 713 , eBelinda = 714 , ePuck = 715 ,
  ast::eNeptune = 899 , eTriton = 801 , eNereid = 802 , eNaiad = 803 ,
  eThalassa = 804 , eDespina = 805 , eGalatea = 806 , eLarissa = 807 ,
  eProteus = 808 , ast::ePluto = 999 , eCharon = 901
}
 

函数

errc_t ast::aGetGravityParameter (const Body &body, StringView gravityModel, double &gm)
 
ESpiceId ast::aGetPlanetBarycenterId (ESpiceId planetId)
 

枚举类型说明

◆ EEphemerisSource

enum class ast::EEphemerisSource
strong

星历来源

枚举值
eBodyEphemeris 

天体星历

eJplDE 

JPL DE 星历

eJplSpice 

JPL SPICE 星历

eJplSpiceBarycenter 

JPL SPICE 行星系质心星历

◆ ESpiceId

enum ast::ESpiceId : int

SPICE 天体ID

参见
spicelib/zzidmap.for
枚举值
eSolarSystemBarycenter 

太阳系质心

eMercuryBarycenter 

水星系质心

eVenusBarycenter 

金星系质心

eEarthBarycenter 

地月系质心

eMarsBarycenter 

火星系质心

eJupiterBarycenter 

木星系质心

eSaturnBarycenter 

土星系质心

eUranusBarycenter 

天王星系质心

eNeptuneBarycenter 

海王星系质心

ePlutoBarycenter 

冥王星系质心

eSun 

太阳

eMercury 

水星

eVenus 

金星

eEarth 

地球

eMoon 

月球

eMars 

火星

eJupiter 

木星

eSaturn 

土星

eUranus 

天王星

eNeptune 

海王星

ePluto 

冥王星

函数说明

◆ aGetGravityParameter()

AST_CORE_CAPI errc_t ast::aGetGravityParameter ( const Body & body,
StringView gravityModel,
double & gm )

从天体重力场文件中读取其引力常数

参数
body中心天体
gravityModel重力场模型
gm输出引力常数,单位:m³/s²
返回
errc_t 错误码

◆ aGetPlanetBarycenterId()

AST_CORE_CAPI ESpiceId ast::aGetPlanetBarycenterId ( ESpiceId planetId)

获取行星系质心ID

参数
planetId行星ID
返回
行星系质心ID