🛰️航天仿真算法库 SpaceAST 0.0.1
载入中...
搜索中...
未找到
ast 命名空间参考

命名空间

namespace  fs_simple
 
namespace  literals
 
namespace  math
 
namespace  posix
 

class  AEP8Data
 
class  AEPDataCollection
 
class  AngleAxis
 
class  AngularSeparation
 
class  AngularSize
 
class  Archive
 
struct  args_t
 
class  Asteroid
 
class  AstGfxAPI
 
class  AttitudeProfile
 
class  AttributeBasic
 
class  Axes
 
class  AxesBodyFixed
 
class  AxesBodyInertial
 
class  AxesBodyMOD
 
class  AxesBodyRelated
 
class  AxesBodyTOD
 
class  AxesFrozen
 
class  AxesFrozenAtEventTime
 
class  AxesICRF
 
class  AxesRoot
 
class  BackTrace
 
class  BaseOrbitDesigner
 
class  BaseParser
 
class  BisectionSolver
 
class  BKVBlock
 
class  BKVItem
 
class  BKVItemView
 
class  BKVNode
 
class  BKVParser
 
class  BKVSax
 
class  BKVSaxDOM
 
class  BKVSaxPrint
 
class  BKVTree
 
class  BlockAbs
 
class  BlockConstant
 
class  BlockDeadZone
 
class  BlockDerivative
 
class  BlockDivide
 
class  BlockDot
 
class  BlockDynamicSystem
 
class  BlockGain
 
class  BlockGravity
 
class  BlockIn
 
class  BlockLogicalOperator
 
class  BlockMotion
 
class  BlockOut
 
class  BlockProduct
 
class  BlockRelationalOperator
 
class  BlockSaturation
 
class  BlockSign
 
class  BlockSin
 
class  BlockSubtract
 
class  BlockSum
 
class  BlockSwitch
 
class  BlockSystem
 
class  BlockTerminator
 
class  BlockThirdBody
 
class  BlockTransform
 
class  BlockTwoBody
 
class  BlockUnaryMinus
 
class  BodyEphemeris
 
class  BodyEphemerisDE
 
class  BodyEphemerisNoop
 
class  BodyEphemerisSPK
 
class  BodyOrientation
 
class  BodyShape
 
class  Breakpoint
 
class  BrenthSolver
 
class  BrentqSolver
 
class  BuiltinAxesRegistry
 
class  ByCommaAndRepeatedWhitespace
 
class  Calculation
 
class  CallStack
 
class  CartState
 
class  CelestialBody
 
class  CircularOrbitDesigner
 
class  Class
 
class  ClassRegistry
 
class  CloseEventDetecter
 
class  CNLEMinpackSolver
 
class  CNLPIpoptSolver
 
class  CNLPSnoptSolver
 
class  CNRLMSISE00
 
class  Color
 
class  CorVector
 
class  CppSerializer
 
class  CriticallyInclinedOrbitDesigner
 
class  CriticallyInclinedSunSyncOrbitDesigner
 
struct  DAF_CommentArea
 
struct  DAF_ElementRecords
 
struct  DAF_FileRecord
 
struct  DAF_NameRecords
 
struct  DAF_SPKSummaryRecords
 
struct  DAF_SummaryRecords
 
class  DAFParser
 
class  DataContext
 
class  DataPort
 
class  Date
 
class  DateTime
 
class  DaySecDuration
 
struct  debin_header
 
class  Debugger
 
class  DelaunayElem
 
class  DifferentialCorrector
 
class  Dimension
 
class  EarthOrientation
 
class  EllipsoidShape
 
class  EOP
 
class  Ephemeris
 
class  EphemerisFileParser
 
class  EphemerisLagrangeVar
 
class  EphemerisTwoBody
 
class  EquinElem
 
class  Euler
 
class  EventDetector
 
class  EventInterval
 
class  EventIntervalExplicit
 
class  EventIntervalFallback
 
class  EventIntervalLinkTo
 
class  EventTime
 
class  EventTimeExplicit
 
class  EventTimeFallback
 
class  EventTimeLinkTo
 
class  Expr
 
class  ExprBlock
 
class  ExprCall
 
class  ExprCatHorizontal
 
class  ExprCatVertical
 
class  ExprCondition
 
class  ExprContainer
 
class  ExprForRange
 
class  ExprIf
 
class  ExprLoop
 
class  ExprMacroExpand
 
class  ExprMatch
 
class  ExprRange
 
class  ExprVector
 
class  ExprVisitor
 
class  ExprWhile
 
class  Facility
 
class  Field
 
class  FieldOfView
 
class  FileScanner
 
class  Frame
 
class  FrameAssembly
 
class  FrameICRF
 
class  FrameRoot
 
class  FrameWithEpoch
 
class  FuncBlock
 
class  Function
 
class  FundamentalArguments
 
class  GenericValue
 
class  GeocentricPoint
 
class  GeoCoordinate
 
class  GeodeticPoint
 
class  GfxCelestialBody
 
class  GfxMain
 
class  GfxSolarSystem
 
class  GlobalContext
 
class  GravityCalculator
 
class  GravityCalculator2
 
class  GravityCalculator3
 
class  GravityCalculator4
 
class  GravityCalculator5
 
class  GravityField
 
class  GravityFieldHead
 
class  GravityFieldLoader
 
class  GUIInterface
 
class  GUIInterfaceImpl
 
class  HPOP
 
class  HPOPEquation
 
class  HPOPForceModel
 
class  IArchive
 
class  IAUXYS
 
class  IAUXYSPrecomputed
 
class  Identifier
 
class  IdentifierTable
 
class  ImplFor
 
class  ImplFor< IPosVelPrv, T >
 
class  ImplFor< IValuePrv, T >
 
struct  InitalizeConfig
 
class  INLPProblem
 
class  INLPSolver
 
class  Interpolator
 
class  Interpreter
 
class  InterpreterContext
 
class  IODEIntegrator
 
class  IOrbitDesigner
 
class  IPosVelPrv
 
struct  is_callable
 
class  IUnarySolver
 
class  IValuePrv
 
class  J2Analytical
 
class  J2J4Analytical
 
class  J4Analytical
 
class  JavaSerializer
 
class  JplDe
 
class  JplSpk
 
class  JsonSerializer
 
class  JulianDate
 
union  KernelData
 
class  KernelPool
 
class  KinematicRotation
 
class  KinematicTransform
 
class  KVParser
 
class  LatLonAlt
 
class  LeapSecond
 
class  Lexer
 
class  LoggerStream
 
class  LongDuration
 
class  LowerMatrix
 
class  Macro
 
class  Matrix
 
class  MatrixMN
 
class  MatrixMN< _Scalar, 3, 3 >
 
class  MessageLogContext
 
class  MessageLogger
 
class  MockObject
 
class  ModEquinElem
 
class  ModJulianDate
 
class  ModOrbElem
 
class  MolniyaOrbitDesigner
 
class  MoonOrientation
 
class  MotionHPOP
 
class  MotionHPOPSax
 
class  MotionOrbitDynamics
 
class  MotionOrbitDynamicsSax
 
class  MotionProfile
 
class  MotionProfileVisitor
 
class  MotionSPICE
 
class  MotionTwoBody
 
class  MotionTwoBodySax
 
class  MotionWithIntervalStep
 
class  Mover
 
class  NameValuePair
 
struct  NLPBounds
 
struct  NLPInfo
 
struct  NLPInput
 
struct  NLPJacInfo
 
struct  NLPOutput
 
class  NLPProblem
 
struct  NLPVector
 
struct  NLPVectorBounds
 
class  NoopOrientation
 
class  NoopStream
 
struct  NutationCache
 
class  NutationSeries
 
class  NutationTerm
 
class  OArchive
 
class  Object
 
class  ObjectEditRegistry
 
class  ObjectManager
 
class  ObjectNode
 
class  ODEEventDetector
 
class  ODEEventDetectorGeneric
 
class  ODEEventDetectorList
 
class  ODEEventObserver
 
class  ODEFixedStepIntegrator
 
class  ODEGeneric
 
class  ODEInnerStateObserver
 
class  ODEIntegrator
 
class  ODEStateObserver
 
class  ODEStateObserverGeneric
 
class  ODEStateObserverGenericHelper
 
class  ODEStateObserverList
 
class  ODEStateVectorCollector
 
class  ODEVarStepIntegrator
 
class  ODEWorkspace
 
class  Op
 
class  OpAssign
 
class  OpBin
 
class  OpBinRegistry
 
class  OpUnary
 
class  OpUnaryRegister
 
class  OrbElem
 
class  OrdinaryDifferentialEquation
 
class  Parser
 
class  PCKParser
 
class  Point
 
class  PointBodyCenter
 
class  PointRoot
 
class  PointSSBarycenter
 
struct  PoleMotion
 
struct  PoleMotionSXY
 
class  Polynomial
 
class  Propagator
 
class  Property
 
struct  property_trait
 
struct  property_trait< std::string >
 
struct  property_trait< TimePoint >
 
class  PropertyBool
 
class  PropertyDouble
 
class  PropertyInt
 
class  PropertyNoop
 
class  PropertyObject
 
class  PropertyPOD
 
class  PropertyQuantity
 
class  PropertyString
 
class  PropertyStruct
 
class  PropertyTimePoint
 
class  PropertyVisitor
 
class  PythonSerializer
 
class  Quantity
 
class  Quaternion
 
class  RepeatingOrbitDesigner
 
class  RepeatingSunSyncOrbitDesigner
 
class  RidderSolver
 
class  RK4
 
class  RK8
 
class  RKCK
 
class  RKF45
 
class  RKF56
 
class  RKF78
 
class  RKV8
 
class  Rotation
 
class  RotationalData
 
class  RotationElement
 
class  Scanner
 
class  ScopedPtr
 
struct  ScopedPtrDeleter
 
struct  ScopedPtrDeleter< std::FILE >
 
struct  ScopedPtrDeleter< T, typename std::enable_if< std::is_base_of< Object, T >::value >::type >
 
class  SecantSolver
 
class  SerializationUtils
 
class  Serializer
 
class  SerializerFactory
 
class  SharedPtr
 
class  ShortDuration
 
class  SimEngine
 
class  SimpleOrbitDesigner
 
class  SimTime
 
class  SinCos
 
struct  SkipBracket
 
struct  SnoptCAPI
 
class  SolarSystem
 
struct  SolverStats
 
class  Spacecraft
 
class  SpacecraftState
 
class  SpaceObject
 
class  SpaceWeather
 
class  Span
 
class  SpanStorage
 
class  SpanStorage< T, dynamic_extent >
 
class  Sparse
 
class  SphereShape
 
class  SpheroidShape
 
class  SpiceApi
 
class  SpiceBodyRegistry
 
class  SpiceFrameRegistry
 
struct  SPK_Descriptor
 
struct  SPK_State
 
struct  SPK_Type10_Constants
 
struct  SPK_Type10_Packet
 
struct  SPK_Type15_Data
 
struct  SPK_Type17_Data
 
struct  SPK_Type18_Packet_Sub0
 
struct  SPK_Type18_Packet_Sub1
 
struct  SPK_Type18_Trailer
 
struct  SPK_Type20_Record
 
struct  SPK_Type20_Trailer
 
struct  SPK_Type2_Record
 
struct  SPK_Type2_Trailer
 
struct  SPK_Type5_State
 
struct  SPK_Type5_Trailer
 
struct  SPK_Type8_Trailer
 
class  SPKParser
 
class  StackFrame
 
class  StartupConfig
 
class  State
 
class  StateCartesian
 
class  StateKeplerian
 
class  StateVector
 
class  StationaryOrbitDesigner
 
class  STKEphemerisFileParser
 
class  StopCondition
 
class  StreamScanner
 
class  StringScanner
 
class  StringViewBasic
 
class  Struct
 
class  SunSynchronousOrbitDesigner
 
class  Symbol
 
class  SymbolScope
 
class  SymbolTable
 
class  TAIScale
 
class  Target
 
class  TDBScale
 
class  Time
 
class  TimeInterval
 
class  TimePoint
 
class  TimeScale
 
class  TraitObject
 
class  Transform
 
class  TwoBody
 
class  UiBodyEphemerisDE
 
class  UiBodyEphemerisSPK
 
class  UiCelestialBody
 
class  UiDouble
 
class  UiFilePath
 
class  UiInteger
 
class  UiMainWindow
 
class  UiMotionProfile
 
class  UiMotionTwoBody
 
class  UiObject
 
class  UiQuantity
 
class  UiState
 
class  UiStateCartesian
 
class  UiStateKeplerian
 
class  UiTimeInterval
 
class  UiTimePoint
 
class  UiValueEdit
 
class  UiWidget
 
class  UnaryScalarFunc
 
class  UnaryScalarGenericFunc
 
class  UnarySolver
 
class  UnaryVectorFunc
 
class  Unit
 
class  UnitConverter
 
class  UnitManager
 
class  UTCScale
 
class  ValArray
 
class  ValBool
 
class  ValDouble
 
class  ValInt
 
class  ValNull
 
class  ValQuantity
 
class  ValRange
 
class  ValScalar
 
class  ValString
 
class  Value
 
class  ValueView
 
class  ValVector
 
class  Variable
 
class  VectorN
 
class  VectorN< _Scalar, 3 >
 
class  VectorX
 
struct  VehiclePathData
 
class  WeakPtr
 
class  WorkingDirectory
 
class  XmlSerializer
 
struct  XYSCache
 

类型定义

using HAxesBodyFixed = SharedPtr<AxesBodyFixed>
 
using PAxesBodyFixed = AxesBodyFixed*
 
using PAxesBodyInertial = AxesBodyInertial*
 
using HAxesBodyInertial = SharedPtr<AxesBodyInertial>
 
using PAxesBodyMOD = AxesBodyMOD*
 
using HAxesBodyMOD = SharedPtr<AxesBodyMOD>
 
using PAxesBodyTOD = AxesBodyTOD*
 
using HAxesBodyTOD = SharedPtr<AxesBodyTOD>
 
using PAxesFrozen = AxesFrozen*
 
using HAxesFrozen = SharedPtr<AxesFrozen>
 
using PAxesFrozenAtEventTime = AxesFrozenAtEventTime*
 
using HAxesFrozenAtEventTime = SharedPtr<AxesFrozenAtEventTime>
 
using AxesB1950 = class AxesB1950Spice
 
using HFrameAssembly = SharedPtr<FrameAssembly>
 
using PFrameAssembly = FrameAssembly*
 
using PFrameWithEpoch = FrameWithEpoch*
 
using HFrameWithEpoch = SharedPtr<FrameWithEpoch>
 
typedef errc_t(* NutationFunc) (const TimePoint &tp, double &dpsi, double &deps)
 
using StringVector = std::vector<std::string>
 
using GravityCalculatorDefault = GravityCalculator3
 
typedef int Integer
 
typedef double Real
 
using GravityFieldLoaderContext = GravityFieldLoader
 
using PAxes = Axes*
 
using HAxes = SharedPtr<Axes>
 
using HFrame = SharedPtr<Frame>
 
using PFrame = Frame*
 
using PEphemeris = Ephemeris*
 
using HEphemeris = SharedPtr<Ephemeris>
 
using PState = State*
 
using HState = SharedPtr<State>
 
using PStateCartesian = StateCartesian*
 
using HStateCartesian = SharedPtr<StateCartesian>
 
using PStateKeplerian = StateKeplerian*
 
using HStateKeplerian = SharedPtr<StateKeplerian>
 
using BlockAstro = FuncBlock
 
using BlockAdd = BlockSum
 
typedef ptr_t signal_t
 
typedef signal_t * signalsignal_t
 
using Body = CelestialBody
 
using HCelestialBody = SharedPtr<CelestialBody>
 
using HBody = HCelestialBody
 
using PCelestialBody = CelestialBody*
 
using PBody = PCelestialBody
 
using PEventInterval = EventInterval*
 
using HEventInterval = SharedPtr<EventInterval>
 
using PEventIntervalExplicit = EventIntervalExplicit*
 
using HEventIntervalExplicit = SharedPtr<EventIntervalExplicit>
 
using PEventTime = EventTime*
 
using HEventTime = SharedPtr<EventTime>
 
typedef QWidget *(* FNewEditWidget) (Object *object)
 
typedef LowerMatrix< double > LowerMatrixd
 
typedef std::array< double, 3 > array3d
 
typedef std::array< double, 6 > array6d
 
typedef Matrix< double > MatrixXd
 
typedef MatrixMN< double, 3, 3 > Matrix3d
 
typedef VectorX< double > VectorXd
 
using UnaryFunc = UnaryScalarFunc
 
using ScalarFunc = UnaryScalarFunc
 
using VectorFunc = UnaryVectorFunc
 
using BrentSolver = BrentqSolver
 
typedef struct ast::SolverStats SolverStats
 
using UnaryScalarSolver = UnarySolver
 
using ODE = OrdinaryDifferentialEquation
 
typedef Value *(* OpBinFunc) (Value *left, Value *right)
 
typedef Value *(* OpAssignFunc) (Expr *left, Expr *right)
 
typedef Value *(* OpUnaryFunc) (Value *value)
 
typedef Value *(* IterateFunc) (Value *value, int &index)
 
typedef ValVector< bool > ValVectorBool
 
typedef ValVector< int > ValVectorInt
 
typedef ValVector< double > ValVectorDouble
 
typedef ValVector< std::string > ValVectorString
 
typedef ValVector< SharedPtr< Value > > ValVectorAny
 
using PMotionOrbitDynamics = MotionOrbitDynamics*
 
using MotionBasic = MotionOrbitDynamics
 
using PMotionHPOP = MotionHPOP*
 
using HMotionHPOP = SharedPtr<MotionHPOP>
 
using PMotionProfile = MotionProfile*
 
using PMotionTwoBody = MotionTwoBody*
 
using SpiceInt = int
 
template<typename T >
using Vector = std::vector<T>
 
typedef std::string String
 
typedef uint32_t dimension_t
 
typedef enum ast::EDimension AEDimension
 
typedef AttributeBasic< WeakPtr< Object >, PropertyAttribute
 
typedef errc_t(* FPropertyGet) (const void *obj, void *value)
 
typedef errc_t(* FPropertySet) (void *obj, void const *value)
 
using Type = Class
 
using ByString = strings_internal::ByString
 
using ByChar = strings_internal::ByChar
 
using ByAnyChar = strings_internal::ByAnyChar
 
using ByLength = strings_internal::ByLength
 
using ByRepeatedWhitespace = strings_internal::ByRepeatedWhitespace
 
using ByRepeatedChar = strings_internal::ByRepeatedChar
 
using AllowEmpty = strings_internal::AllowEmpty
 
using SkipEmpty = strings_internal::SkipEmpty
 
using SkipWhitespace = strings_internal::SkipWhitespace
 
typedef StringViewBasic< char > StringView
 
typedef StringViewBasic< wchar_t > WStringView
 
typedef StringViewBasic< char16_t > U16StringView
 
typedef StringViewBasic< char32_t > U32StringView
 
typedef uint32_t color_t
 
typedef errc_t(* DataDirFunc) (std::string &)
 
typedef std::array< AEP8Data, 4 > AEP8DataArray
 

枚举

enum class  ENutationMethod { eIAU1980 = 0 , eJplDe = 1 , eUser = 2 }
 
enum  EInterpolationMethod { eUnknown =-1 , eLagrange , eOnePt }
 
enum  EDeDataCode {
  eDeMercury = 0 , eDeVenus = 1 , eDeEMBaryCenter = 2 , eDeMars = 3 ,
  eDeJupiter = 4 , eDeSaturn = 5 , eDeUranus = 6 , eDeNeptune = 7 ,
  eDePluto = 8 , eDeMoon = 9 , eDeSun = 10 , eDeNutation = 11 ,
  eDeLibration = 12 , eDeLunarAngVel = 13 , eDeTT_TDB = 14
}
 
enum class  EStateType { eCartesian , eKeplerian , eUnknown }
 
enum class  ESizeType {
  eSMA , eApoAlt , eApoRad , ePeriAlt ,
  ePeriRad , ePeriod , eMeanMotion
}
 
enum class  EShapeType {
  eEcc , eApoAlt , eApoRad , ePeriAlt ,
  ePeriRad
}
 
enum class  EOrientationType { eRAAN , eLAN }
 
enum class  EPositionType {
  eTrueAnomaly , eMeanAnomaly , eEccAnomaly , eArgLat ,
  eTimePastPeri , eTimePastAscNode , eTimeOfPeriPassage , eTimeOfAscNodePassage
}
 
enum class  ELogicalOperatorType { eAnd , eOr , eNot , eXor }
 
enum class  ERelationalOperatorType {
  eEqual , eNotEqual , eGreaterThan , eLessThan ,
  eGreaterOrEqual , eLessOrEqual
}
 
enum class  ESolidTideType { eFull , ePermanentOnly , eNone }
 
enum class  EAtmDensityModel {
  e1976Standard , eJacchiaRoberts , eNRLMSISE2000 , eMSISE1990 ,
  eMSIS1986
}
 
enum class  EGeoMagneticFluxSource { eKp , eAp }
 
enum class  EGeoMagneticFluxUpdateMethod { eDaily , e3Hourly , e3HourlyInterp , e3HourlyCubicSpline }
 
enum class  ESunPosition { eTrue , eApparentSunToTrueCB , eApparent }
 
enum class  EShadowModel { eNone , eCylindrical , eDualCone }
 
enum  ER { eA }
 
enum  ESpiceId {
  eSolarSystemBarycenter = 0 , eMercuryBarycenter = 1 , eVenusBarycenter = 2 , eEarthBarycenter = 3 ,
  eMarsBarycenter = 4 , eJupiterBarycenter = 5 , eSaturnBarycenter = 6 , eUranusBarycenter = 7 ,
  eNeptuneBarycenter = 8 , ePlutoBarycenter = 9 , eSun = 10 , eMercury = 199 ,
  eVenus = 299 , eEarth = 399 , eMoon = 301 , eMars = 499 ,
  ePhobos = 401 , eDeimos = 402 , 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 , 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 ,
  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 ,
  eNeptune = 899 , eTriton = 801 , eNereid = 802 , eNaiad = 803 ,
  eThalassa = 804 , eDespina = 805 , eGalatea = 806 , eLarissa = 807 ,
  eProteus = 808 , ePluto = 999 , eCharon = 901
}
 
enum  EODEAction { eContinue = 0 , eStop = 1 }
 
enum  EOpBinType {
  eAdd , eSub , eMul , eDiv ,
  ePow , eMod , eAnd , eOr ,
  eBitOr , eBitAnd , eBitXor , eBitLeftShift ,
  eBitRightShift , eBitURightShift , eElemMul , eElemDiv ,
  eElemPow , eElemMod , eElemAnd , eElemOr ,
  eLt , eLe , eEq , eGt ,
  eGe , eNe , numOpBinType , invalidOpBin =numOpBinType ,
  eCatVertical , eCatHorizontal
}
 
enum  EOpAssignType {
  eAssign , eDelayAssign , eBindAssign , eAddAssign ,
  eSubAssign , eMulAssign , eDivAssign , eModAssign ,
  ePowAssign , eElemMulAssign , eElemDivAssign , eElemModAssign ,
  eElemPowAssign , eElemAndAssign , eElemOrAssign , numOpAssignType
}
 
enum  EOpUnaryType {
  eNot , eNeg , eInc , eDec ,
  eBitNot , numOpUnaryType , eIterate
}
 
enum  { eIterBegin =0 }
 
enum  { kDefaultFormatDoubleEps = -1 }
 
enum  EEndian { eLittleEndian , eBigEndian }
 
enum  {
  kIdxMass , kIdxLength , kIdxAngle , kIdxTime ,
  kIdxTemperature , kIdxCurrent , kIdxAmount , kIdxLuminous
}
 
enum class  EDimension : dimension_t {
  eUnit = dimensions::kUnit , eLength = dimensions::kLength , eMass = dimensions::kMass , eTime = dimensions::kTime ,
  eCurrent = dimensions::kCurrent , eTemperature = dimensions::kTemperature , eAmount = dimensions::kAmount , eLuminous = dimensions::kLuminous ,
  eAngle = dimensions::kAngle , eAngVel = dimensions::kAngVel , eAngularVelocity = dimensions::kAngularVelocity , eArea = dimensions::kArea ,
  eVolume = dimensions::kVolume , eSpeed = dimensions::kSpeed , eAcceleration = dimensions::kAcceleration , eForce = dimensions::kForce ,
  ePressure = dimensions::kPressure , eEnergy = dimensions::kEnergy , ePower = dimensions::kPower , eFrequency = dimensions::kFrequency
}
 
enum  { INVALID_ID = -1 }
 
enum  EValueType { eDouble , eInt , eBool , eString }
 
enum class  ESerializationFormat {
  eJson , eXml , eCpp , eJava ,
  ePython
}
 
enum  EColor : color_t {
  eBlack = rgb(0, 0, 0) , eSilver = rgb(192, 192, 192) , eGray = rgb(128, 128, 128) , eWhite = rgb(255, 255, 255) ,
  eMaroon = rgb(128, 0, 0) , eRed = rgb(255, 0, 0) , ePurple = rgb(128, 0, 128) , eFuchsia = rgb(255, 0, 255) ,
  eGreen = rgb(0, 128, 0) , eLime = rgb(0, 255, 0) , eOlive = rgb(128, 128, 0) , eYellow = rgb(255, 255, 0) ,
  eNavy = rgb(0, 0, 128) , eBlue = rgb(0, 0, 255) , eTeal = rgb(0, 128, 128) , eAqua = rgb(0, 255, 255) ,
  eTransparent = rgba(0, 0, 0, 0) , eAquaMarine = rgb(127, 255, 212) , eAliceBlue = rgb(240, 248, 255) , eAntiqueWhite = rgb(250, 235, 215) ,
  eAzure = rgb(240, 255, 255) , eBeige = rgb(245, 245, 220) , eBisque = rgb(255, 228, 196) , eBlanchedAlmond = rgb(255, 235, 205) ,
  eBlueViolet = rgb(138, 43, 226) , eBrown = rgb(165, 42, 42) , eBurlyWood = rgb(222, 184, 135) , eCadetBlue = rgb(95, 158, 160) ,
  eChartreuse = rgb(127, 255, 0) , eChocolate = rgb(210, 105, 30) , eCoral = rgb(255, 127, 80) , eCornflowerBlue = rgb(100, 149, 237) ,
  eCornsilk = rgb(255, 248, 220) , eCrimson = rgb(220, 20, 60) , eCyan = eAqua , eDarkBlue = rgb(0, 0, 139) ,
  eDarkCyan = rgb(0, 139, 139) , eDarkGoldenRod = rgb(184, 134, 11) , eDarkGray = rgb(169, 169, 169) , eDarkGreen = rgb(0, 100, 0) ,
  eDarkGrey = rgb(169, 169, 169) , eDarkKhaki = rgb(189, 183, 107) , eDarkMagenta = rgb(139, 0, 139) , eDarkOliveGreen = rgb(85, 107, 47) ,
  eDarkOrange = rgb(255, 140, 0) , eDarkOrchid = rgb(153, 50, 204) , eDarkRed = rgb(139, 0, 0) , eDarkSalmon = rgb(233, 150, 122) ,
  eDarkSeaGreen = rgb(143, 188, 143) , eDarkSlateBlue = rgb(72, 61, 139) , eDarkSlateGray = rgb(47, 79, 79) , eDarkSlateGrey = rgb(47, 79, 79) ,
  eDarkTurquoise = rgb(0, 206, 209) , eDarkViolet = rgb(148, 0, 211) , eDeepPink = rgb(255, 20, 147) , eDeepSkyBlue = rgb(0, 191, 255) ,
  eDimGray = rgb(105, 105, 105) , eDimGrey = rgb(105, 105, 105) , eDodgerBlue = rgb(30, 144, 255) , eFireBrick = rgb(178, 34, 34) ,
  eFloralWhite = rgb(255, 250, 240) , eForestGreen = rgb(34, 139, 34) , eGainsboro = rgb(220, 220, 220) , eGhostWhite = rgb(248, 248, 255) ,
  eGold = rgb(255, 215, 0) , eGoldenRod = rgb(218, 165, 32) , eGreenYellow = rgb(173, 255, 47) , eGrey = rgb(128, 128, 128) ,
  eHoneydew = rgb(240, 255, 240) , eHotPink = rgb(255, 105, 180) , eIndianRed = rgb(205, 92, 92) , eIndigo = rgb(75, 0, 130) ,
  eIvory = rgb(255, 255, 240) , eKhaki = rgb(240, 230, 140) , eLavender = rgb(230, 230, 250) , eLavenderBlush = rgb(255, 240, 245) ,
  eLawnGreen = rgb(124, 252, 0) , eLemonChiffon = rgb(255, 250, 205) , eLightBlue = rgb(173, 216, 230) , eLightCoral = rgb(240, 128, 128) ,
  eLightCyan = rgb(224, 255, 255) , eLightGoldenRodYellow = rgb(250, 250, 210) , eLightGray = rgb(211, 211, 211) , eLightGreen = rgb(144, 238, 144) ,
  eLightGrey = rgb(211, 211, 211) , eLightPink = rgb(255, 182, 193) , eLightSalmon = rgb(255, 160, 122) , eLightSeaGreen = rgb(32, 178, 170) ,
  eLightSkyBlue = rgb(135, 206, 250) , eLightSlateGray = rgb(119, 136, 153) , eLightSlateGrey = rgb(119, 136, 153) , eLightSteelBlue = rgb(176, 196, 222) ,
  eLightYellow = rgb(255, 255, 224) , eLimeGreen = rgb(50, 205, 50) , eLinen = rgb(250, 240, 230) , eMagenta = eFuchsia ,
  eMediumAquaMarine = rgb(102, 205, 170) , eMediumBlue = rgb(0, 0, 205) , eMediumOrchid = rgb(186, 85, 211) , eMediumPurple = rgb(147, 112, 219) ,
  eMediumSeaGreen = rgb(60, 179, 113) , eMediumSlateBlue = rgb(123, 104, 238) , eMediumSpringGreen = rgb(0, 250, 154) , eMediumTurquoise = rgb(72, 209, 204) ,
  eMediumVioletRed = rgb(199, 21, 133) , eMidnightBlue = rgb(25, 25, 112) , eMintCream = rgb(245, 255, 250) , eMistyRose = rgb(255, 228, 225) ,
  eMoccasin = rgb(255, 228, 181) , eNavajoWhite = rgb(255, 222, 173) , eOldLace = rgb(253, 245, 230) , eOliveDrab = rgb(107, 142, 35) ,
  eOrange = rgb(255, 165, 0) , eOrangeRed = rgb(255, 69, 0) , eOrchid = rgb(218, 112, 214) , ePaleGoldenRod = rgb(238, 232, 170) ,
  ePaleGreen = rgb(152, 251, 152) , ePaleTurquoise = rgb(175, 238, 238) , ePaleVioletRed = rgb(219, 112, 147) , ePapayaWhip = rgb(255, 239, 213) ,
  ePeachPuff = rgb(255, 218, 185) , ePeru = rgb(205, 133, 63) , ePink = rgb(255, 192, 203) , ePlum = rgb(221, 160, 221) ,
  ePowderBlue = rgb(176, 224, 230) , eRebeccaPurple = rgb(102, 51, 153) , eRosyBrown = rgb(188, 143, 143) , eRoyalBlue = rgb(65, 105, 225) ,
  eSaddleBrown = rgb(139, 69, 19) , eSalmon = rgb(250, 128, 114) , eSandyBrown = rgb(244, 164, 96) , eSeaGreen = rgb(46, 139, 87) ,
  eSeaShell = rgb(255, 245, 238) , eSienna = rgb(160, 82, 45) , eSkyBlue = rgb(135, 206, 235) , eSlateBlue = rgb(106, 90, 205) ,
  eSlateGray = rgb(112, 128, 144) , eSlateGrey = rgb(112, 128, 144) , eSnow = rgb(255, 250, 250) , eSpringGreen = rgb(0, 255, 127) ,
  eSteelBlue = rgb(70, 130, 180) , eTan = rgb(210, 180, 140) , eThistle = rgb(216, 191, 216) , eTomato = rgb(255, 99, 71) ,
  eTurquoise = rgb(64, 224, 208) , eViolet = rgb(238, 130, 238) , eWheat = rgb(245, 222, 179) , eWhiteSmoke = rgb(245, 245, 245) ,
  eYellowGreen = rgb(154, 205, 50)
}
 
enum  ELogLevel {
  eDebug , eInfo , eWarning , eError ,
  eCritical , eFatal
}
 

函数

HAxes aMakeEpochAxes (Axes *sourceAxes, const TimePoint &tp, Axes *referenceAxes)
 
HAxes aMakeEpochAxes (Axes *sourceAxes, EventTime *time, Axes *referenceAxes)
 
A_ALWAYS_INLINE AxesaAxesICRF ()
 
A_ALWAYS_INLINE AxesaAxesRoot ()
 
AxesaGetAxes (StringView name)
 
A_ALWAYS_INLINE AxesaAxesECI ()
 
void aECIToECFTransform (const TimePoint &tp, Rotation &rotation)
 
void aECIToECFTransform (const TimePoint &tp, KinematicRotation &rotation)
 
void aECIToECFMatrix (const TimePoint &tp, Matrix3d &matrix)
 
void aECIToECF (const TimePoint &tp, const Vector3d &vecECI, Vector3d &vecECF)
 
void aECIToECF (const TimePoint &tp, const Vector3d &vecECI, const Vector3d &velECI, Vector3d &vecECF, Vector3d &velECF)
 
void aJ2000ToECFTransform (const TimePoint &tp, Rotation &rotation)
 
void aJ2000ToECFTransform (const TimePoint &tp, KinematicRotation &rotation)
 
void aJ2000ToECFMatrix (const TimePoint &tp, Matrix3d &matrix)
 
void aJ2000ToECF (const TimePoint &tp, const Vector3d &vecJ2000, Vector3d &vecECF)
 
void aJ2000ToECF (const TimePoint &tp, const Vector3d &vecJ2000, const Vector3d &velJ2000, Vector3d &vecECF, Vector3d &velECF)
 
void aECFToJ2000Transform (const TimePoint &tp, Rotation &rotation)
 
void aECFToJ2000Transform (const TimePoint &tp, KinematicRotation &rotation)
 
void aECFToJ2000Matrix (const TimePoint &tp, Matrix3d &matrix)
 
void aECFToJ2000 (const TimePoint &tp, const Vector3d &vecECF, Vector3d &vecJ2000)
 
void aECFToJ2000 (const TimePoint &tp, const Vector3d &vecECF, const Vector3d &velECF, Vector3d &vecJ2000, Vector3d &velJ2000)
 
void aJ2000ToMODTransform (const TimePoint &tp, Rotation &rotation)
 
void aJ2000ToMODMatrix (const TimePoint &tp, Matrix3d &matrix)
 
void aJ2000ToMOD (const TimePoint &tp, const Vector3d &vecJ2000, Vector3d &vecMOD)
 
void aMODToTODTransform (const TimePoint &tp, Rotation &rotation)
 
void aMODToTODMatrix (const TimePoint &tp, Matrix3d &matrix)
 
void aMODToTOD (const TimePoint &tp, const Vector3d &vecMOD, Vector3d &vecTOD)
 
void aTODToGTODTransform (const TimePoint &tp, Rotation &rotation)
 
void aTODToGTODTransform (const TimePoint &tp, KinematicRotation &rotation)
 
void aTODToGTODMatrix (const TimePoint &tp, Matrix3d &matrix)
 
void aTODToGTOD (const TimePoint &tp, const Vector3d &vecTOD, Vector3d &vecGTOD)
 
void aTODToGTOD (const TimePoint &tp, const Vector3d &vecTOD, const Vector3d &velTOD, Vector3d &vecGTOC, Vector3d &velGTOC)
 
void aGTODToECFTransform (const TimePoint &tp, Rotation &rotation)
 
A_ALWAYS_INLINE double poleMotionS (const TimePoint &tp)
 
void aGTODToECFMatrix (const TimePoint &tp, Matrix3d &matrix)
 
void aGTODToECF (const TimePoint &tp, const Vector3d &vecGTOD, Vector3d &vecECF)
 
void aICRFToECFTransform (const TimePoint &tp, Rotation &rotation)
 
void aICRFToECFTransform (const TimePoint &tp, KinematicRotation &rotation)
 
void aICRFToECFMatrix (const TimePoint &tp, Matrix3d &matrix)
 
void aICRFToECF (const TimePoint &tp, const Vector3d &vecICRF, Vector3d &vecECF)
 
void aECFToICRF (const TimePoint &tp, const Vector3d &vecECF, Vector3d &vecICRF)
 
void aICRFToECF (const TimePoint &tp, const Vector3d &vecICRF, const Vector3d &velICRF, Vector3d &vecECF, Vector3d &velECF)
 
void aICRFToCIRFTransform (const TimePoint &tp, Rotation &rotation)
 
void aICRFToCIRFMatrix (const TimePoint &tp, Matrix3d &matrix)
 
void aICRFToCIRF (const TimePoint &tp, const Vector3d &vecICRF, Vector3d &vecCIRF)
 
void aCIRFToTIRFTransform (const TimePoint &tp, Rotation &rotation)
 
void aCIRFToTIRFTransform (const TimePoint &tp, KinematicRotation &rotation)
 
void aCIRFToTIRFMatrix (const TimePoint &tp, Matrix3d &matrix)
 
void aCIRFToTIRF (const TimePoint &tp, const Vector3d &vecCIRF, Vector3d &vecTIRF)
 
void aCIRFToTIRF (const TimePoint &tp, const Vector3d &vecCIRF, const Vector3d &velCIRF, Vector3d &vecTIRF, Vector3d &velTIRF)
 
void aTIRFToECFTransform (const TimePoint &tp, Rotation &rotation)
 
void aTIRFToECFMatrix (const TimePoint &tp, Matrix3d &matrix)
 
void aTIRFToECF (const TimePoint &tp, const Vector3d &vecTIRF, Vector3d &vecECF)
 
A_ALWAYS_INLINE void aICRFToECFMatrix (const TimePoint &tp, double matrix[3][3])
 
FrameaFrameECI ()
 
FrameaFrameEarthICRF ()
 
FrameaFrameEarthJ2000 ()
 
FrameaFrameECF ()
 
A_ALWAYS_INLINE FrameaFrameICRF ()
 
A_ALWAYS_INLINE FrameaFrameRoot ()
 
void aFundamentalArguments_IERS2010 (double t, FundamentalArguments &fundargs)
 
void aFundamentalArguments_IERS2003 (double t, FundamentalArguments &fundargs)
 
void aFundamentalArgumentsNormalizeAngle0To2Pi (FundamentalArguments &fundargs)
 
double aIAUResolutionC7 (double om)
 
void aPrecession_IAU1976 (double t, double &zeta, double &z, double &theta)
 
double aMeanObliquity_IAU1980 (double t)
 
void aNutation_IERS1996 (double t, double &dpsi, double &deps, double *eqecorr)
 
void aNutation_IERS1996_Cache (double t, double &dpsi, double &deps, double *eqecorr)
 
errc_t aNutationMethodSet (ENutationMethod method)
 
ENutationMethod aNutationMethodGet ()
 
double aGMST_IAU1982 (const TimePoint &tp)
 
double aGMST_UT1_IAU1982 (const JulianDate &jdUT1)
 
double aGAST_IAU1994 (const TimePoint &tp)
 
double aEquationOfEquinoxes_IAU1994 (double t)
 
double aEarthRotationAngle_IAU2000 (const TimePoint &tp)
 
double aEarthRotationAngleUT1_IAU2000 (const JulianDate &jdUT1)
 
A_ALWAYS_INLINE void aNutation_IAU1980 (double t, double &dpsi, double &deps)
 
A_ALWAYS_INLINE void aNutation_IAU1980_Cache (double t, double &dpsi, double &deps)
 
A_ALWAYS_INLINE void aPrecession_IAU1976 (const TimePoint &tp, double &zeta, double &z, double &theta)
 
A_ALWAYS_INLINE double aMeanObliquity_IAU1980 (const TimePoint &tp)
 
A_ALWAYS_INLINE void aNutation_IAU1980 (const TimePoint &tp, double &dpsi, double &deps)
 
void aNutationFuncSet (NutationFunc func)
 
A_ALWAYS_INLINE double aEquationOfEquinoxes_IAU1994 (const TimePoint &tp)
 
void aJ2000ToB1950Transform_Vallado (Rotation &rotation)
 
void aJ2000ToB1950Transform_SPICE (Rotation &rotation)
 
void aB1950ToFK4Transform (Rotation &rotation)
 
void aB1950ToDE118Transform (Rotation &rotation)
 
void aB1950ToDE96Transform (Rotation &rotation)
 
void aB1950ToDE102Transform (Rotation &rotation)
 
void aB1950ToDE108Transform (Rotation &rotation)
 
void aB1950ToDE111Transform (Rotation &rotation)
 
void aB1950ToDE114Transform (Rotation &rotation)
 
void aB1950ToDE122Transform (Rotation &rotation)
 
void aB1950ToDE125Transform (Rotation &rotation)
 
void aB1950ToDE130Transform (Rotation &rotation)
 
void aFK4ToGalacticTransform (Rotation &rotation)
 
void aJ2000ToDE200Transform (Rotation &rotation)
 
void aJ2000ToDE202Transform (Rotation &rotation)
 
void aJ2000ToMarsIAUTransform (Rotation &rotation)
 
void aJ2000ToEclipJ2000Transform (Rotation &rotation)
 
void aB1950ToEclipB1950Transform (Rotation &rotation)
 
void aJ2000ToDE140Transform (Rotation &rotation)
 
void aJ2000ToDE142Transform (Rotation &rotation)
 
void aJ2000ToDE143Transform (Rotation &rotation)
 
errc_t aFrameToVVLHMatrix (const Vector3d &posInFrame, const Vector3d &velInFrame, Matrix3d &matrix)
 
errc_t aVVLHToFrameMatrix (const Vector3d &posInFrame, const Vector3d &velInFrame, Matrix3d &matrix)
 
errc_t aFrameToLVLHMatrix (const Vector3d &posInFrame, const Vector3d &velInFrame, Matrix3d &matrix)
 
errc_t aLVLHToFrameMatrix (const Vector3d &posInFrame, const Vector3d &velInFrame, Matrix3d &matrix)
 
errc_t aFrameToVNCMatrix (const Vector3d &posInFrame, const Vector3d &velInFrame, Matrix3d &matrix)
 
errc_t aVNCToFrameMatrix (const Vector3d &posInFrame, const Vector3d &velInFrame, Matrix3d &matrix)
 
AST_CORE_CAPI errc_t aFrameToENUMatrix (const Vector3d &posInFrame, const Vector3d &velInFrame, Matrix3d &matrix)
 
AST_CORE_CAPI errc_t aENUToFrameMatrix (const Vector3d &posInFrame, const Vector3d &velInFrame, Matrix3d &matrix)
 
errc_t aEarthICRFToMoonICRF (const TimePoint &tp, const Vector3d &posInEarthICRF, Vector3d &posInMoonICRF)
 
errc_t aEarthICRFToMoonICRF (const TimePoint &tp, const Vector3d &posInEarthICRF, const Vector3d &velInEarthICRF, Vector3d &posInMoonICRF, Vector3d &velInMoonICRF)
 
errc_t aICRFToMoonPrincipalAxesTransform (const TimePoint &tp, Rotation &rotation)
 
errc_t aMoonPAToMeanEarthTransform (Rotation &rotation)
 
void aMoonPA430ToMeanEarthTransform (Rotation &rotation)
 
void aMoonPA421ToMeanEarthTransform (Rotation &rotation)
 
void aMoonPA418ToMeanEarthTransform (Rotation &rotation)
 
void aMoonPA403ToMeanEarthTransform (Rotation &rotation)
 
errc_t aICRFToMoonMeanEarthTransform_DE (const TimePoint &tp, Rotation &rotation)
 
errc_t aICRFToMoonMeanEarthTransform (const TimePoint &tp, Rotation &rotation)
 
AST_CORE_API errc_t aICRFToMoonPrincipalAxesTransform (const TimePoint &tp, KinematicRotation &rotation)
 
AST_CORE_CAPI errc_t aICRFToMoonMeanEarthTransform_IAU (const TimePoint &tp, Rotation &rotation)
 
AST_CORE_CAPI errc_t aMercuryPosInICRF (const TimePoint &tp, Vector3d &pos)
 
AST_CORE_CAPI errc_t aVenusPosInICRF (const TimePoint &tp, Vector3d &pos)
 
AST_CORE_CAPI errc_t aEarthPosInICRF (const TimePoint &tp, Vector3d &pos)
 
AST_CORE_CAPI errc_t aMarsPosInICRF (const TimePoint &tp, Vector3d &pos)
 
AST_CORE_CAPI errc_t aJupiterPosInICRF (const TimePoint &tp, Vector3d &pos)
 
AST_CORE_CAPI errc_t aSaturnPosInICRF (const TimePoint &tp, Vector3d &pos)
 
AST_CORE_CAPI errc_t aUranusPosInICRF (const TimePoint &tp, Vector3d &pos)
 
AST_CORE_CAPI errc_t aNeptunePosInICRF (const TimePoint &tp, Vector3d &pos)
 
AST_CORE_CAPI errc_t aPlutoPosInICRF (const TimePoint &tp, Vector3d &pos)
 
AST_CORE_CAPI errc_t aMoonPosInICRF (const TimePoint &tp, Vector3d &pos)
 
AST_CORE_CAPI errc_t aSunPosInICRF (const TimePoint &tp, Vector3d &pos)
 
AST_CORE_CAPI errc_t aEMBarycenterPosInICRF (const TimePoint &tp, Vector3d &pos)
 
AST_CORE_CAPI errc_t aMercuryPosVelInICRF (const TimePoint &tp, Vector3d &pos, Vector3d &vel)
 
AST_CORE_CAPI errc_t aVenusPosVelInICRF (const TimePoint &tp, Vector3d &pos, Vector3d &vel)
 
AST_CORE_CAPI errc_t aEarthPosVelInICRF (const TimePoint &tp, Vector3d &pos, Vector3d &vel)
 
AST_CORE_CAPI errc_t aMarsPosVelInICRF (const TimePoint &tp, Vector3d &pos, Vector3d &vel)
 
AST_CORE_CAPI errc_t aJupiterPosVelInICRF (const TimePoint &tp, Vector3d &pos, Vector3d &vel)
 
AST_CORE_CAPI errc_t aSaturnPosVelInICRF (const TimePoint &tp, Vector3d &pos, Vector3d &vel)
 
AST_CORE_CAPI errc_t aUranusPosVelInICRF (const TimePoint &tp, Vector3d &pos, Vector3d &vel)
 
AST_CORE_CAPI errc_t aNeptunePosVelInICRF (const TimePoint &tp, Vector3d &pos, Vector3d &vel)
 
AST_CORE_CAPI errc_t aPlutoPosVelInICRF (const TimePoint &tp, Vector3d &pos, Vector3d &vel)
 
AST_CORE_CAPI errc_t aMoonPosVelInICRF (const TimePoint &tp, Vector3d &pos, Vector3d &vel)
 
AST_CORE_CAPI errc_t aSunPosVelInICRF (const TimePoint &tp, Vector3d &pos, Vector3d &vel)
 
AST_CORE_CAPI errc_t aEMBarycenterPosVelInICRF (const TimePoint &tp, Vector3d &pos, Vector3d &vel)
 
A_ALWAYS_INLINE PointaPointRoot ()
 
A_ALWAYS_INLINE PointaPointSSBarycenter ()
 
GlobalContextaGlobalContext_Get ()
 
IAUXYSaGlobalContext_GetIAUXYS ()
 
std::string aGetDefaultSPKDir ()
 
errc_t aInitializeByDefault (DataContext *context)
 
errc_t aInitializeByConfig (DataContext *context, const InitalizeConfig &config)
 
fs::path aRelPathToAbs (const fs::path &relpath, const fs::path &basedir)
 
errc_t aInitializeByConfig (DataContext *context, StringView configfile)
 
errc_t aInitializeByConfig (StringView configfile)
 
errc_t aInitialize (DataContext *context)
 
errc_t aInitialize ()
 
errc_t aUninitialize ()
 
std::string aDataDirGet ()
 
errc_t aDataDirGet (std::string &datadir)
 
errc_t aDataDirSet (StringView dirpath)
 
DataContextaDataContext_GetCurrent ()
 
DataContextaDataContext_GetDefault ()
 
DataContextaDataContext_EnsureDefault ()
 
DataContextaDataContext_EnsureCurrent ()
 
void aDataContext_SetCurrent (DataContext *context)
 
EOPaDataContext_GetEOP ()
 
SolarSystemaDataContext_GetSolarSystem ()
 
IAUXYSPrecomputedaDataContext_GetIAUXYSPrecomputed ()
 
StartupConfigaDataContext_GetConfig ()
 
DataContextaDataContext_New ()
 
double aLeapSecondUTC (double jdUTC)
 
double aLeapSecondUTCMJD (double mjdUTC)
 
errc_t aJplDeGetPosVelICRF (const TimePoint &time, int target, int referenceBody, Vector3d &pos, Vector3d &vel)
 
errc_t aJplDeGetPosICRF (const TimePoint &time, int target, int referenceBody, Vector3d &pos)
 
errc_t aJplDeGetNutation (const TimePoint &time, double &dpsi, double &deps)
 
errc_t aJplDeGetLibration (const TimePoint &time, Vector3d &ang)
 
errc_t aJplDeGetLibration (const TimePoint &time, Euler &ang)
 
int aJplDeNum ()
 
errc_t aJplDeGetInterval (TimeInterval &interval)
 
errc_t aJplDeOpen (const char *filepath)
 
void aJplDeClose ()
 
double aUT1MinusUTC_UTC (const JulianDate &jdUTC)
 
void aPoleMotion (const TimePoint &tp, double &x, double &y)
 
void aPoleMotionUTC (const JulianDate &jdUTC, double &x, double &y)
 
double aLOD (const TimePoint &tp)
 
void aTheoreticalXYS_IERS2010 (double t, array3d &xys)
 
void aTheoreticalXYS_IERS2010_Cache (double t, array3d &xys)
 
void aTheoreticalXYS_IERS2010 (const TimePoint &tp, array3d &xys)
 
void aTheoreticalXYS_IERS2010_TT (const JulianDate &jdTT, array3d &xys)
 
errc_t aTheoreticalXYS_IERS2010Precomputed (const TimePoint &tp, array3d &xys)
 
void aTheoreticalXYS (const TimePoint &tp, array3d &xys)
 
void aXYCorrection (const TimePoint &tp, array2d &xyCorrection)
 
void aXYS_IERS2010 (const TimePoint &tp, array3d &xys)
 
void aXYS (const TimePoint &tp, array3d &xys)
 
SolarSystemaGetSolarSystem ()
 
CelestialBodyaGetBody (StringView name)
 
CelestialBodyaGetDefaultBody ()
 
CelestialBodyaGetMercury ()
 
CelestialBodyaGetVenus ()
 
CelestialBodyaGetEarth ()
 
CelestialBodyaGetMars ()
 
CelestialBodyaGetJupiter ()
 
CelestialBodyaGetSaturn ()
 
CelestialBodyaGetUranus ()
 
CelestialBodyaGetNeptune ()
 
CelestialBodyaGetPluto ()
 
CelestialBodyaGetMoon ()
 
CelestialBodyaGetSun ()
 
CelestialBodyaGetSSBarycenter ()
 
CelestialBodyaGetEMBarycenter ()
 
errc_t aSpiceGetPosICRF (const TimePoint &time, int target, int referenceBody, Vector3d &pos)
 
errc_t aSpiceGetPosVelICRF (const TimePoint &time, int target, int referenceBody, Vector3d &pos, Vector3d &vel)
 
ValueView aGetConfigValue (StringView key)
 
std::vector< std::string > aGetConfigStringVector (StringView key)
 
std::vector< StringViewaGetConfigStringViewVector (StringView key)
 
A_ALWAYS_INLINE void aPoleMotion (const TimePoint &tp, PoleMotion &pm)
 
double aTimePointToEpochSecond (const TimePoint &tp)
 
void aEpochSecondToTimePoint (double epochSecond, TimePoint &tp)
 
void aSetEpoch (const TimePoint &tp)
 
void aGetEpoch (TimePoint &tp)
 
AST_CORE_CAPI errc_t aSpiceGetInterval (StringView filepath, int target, TimeInterval &interval)
 
errc_t aLoadSTKEphemeris (StringView filepath, HEphemeris &ephemeris)
 
errc_t aLoadSTKEphemeris (BKVParser &parser, ScopedPtr< Ephemeris > &ephemeris)
 
errc_t aLoadSTKEphemeris (BKVParser &parser, HEphemeris &ephemeris)
 
errc_t aSpiceGetBodyIds (StringView filepath, std::vector< int > &ids)
 
errc_t aSpiceGetBodyNames (StringView filepath, std::vector< std::string > &names)
 
errc_t loadSpaceWeather (BKVParser &parser, int numPoints, std::vector< SpaceWeather::Entry > &data)
 
int funcarray_loadedfunc (const SpiceApi::funcarray &funcs)
 
bool funcarray_isfull (const SpiceApi::funcarray &funcs)
 
void createCosSinArrays (double cosLambda, double sinLambda, int maxOrder, std::vector< double > &cosML, std::vector< double > &sinML)
 
void aGravityFieldNormalize (GravityField &gf)
 
void aGravityFieldUnnormalize (GravityField &gf)
 
A_ALWAYS_INLINE void gfNormalize (int n, int m, double &value)
 
A_ALWAYS_INLINE void gfNormalize (int n, int m, double &value1, double &value2)
 
A_ALWAYS_INLINE void gfUnnormalize (int n, int m, double &value)
 
A_ALWAYS_INLINE void gfUnnormalize (int n, int m, double &value1, double &value2)
 
errc_t _loadGravityCoeffsXTK (GravityFieldLoaderContext &ctx, GravityField &gf, bool &skipRest)
 
template<typename GeometryType >
int aGeometryDepth (const GeometryType *geometry)
 
template<typename GeometryType >
GeometryType * aGeometryAncestor (const GeometryType *geometry, int depth)
 
template<typename GeometryType , typename RotationType >
A_ALWAYS_INLINE errc_t aGeometryTransform (GeometryType *source, GeometryType *target, const TimePoint &tp, RotationType &rotation)
 
errc_t aFrameTransform (Frame *source, Frame *target, const TimePoint &tp, Transform &transform)
 
errc_t aFrameTransform (Frame *source, Frame *target, const TimePoint &tp, KinematicTransform &transform)
 
errc_t aAxesTransform (Axes *source, Axes *target, const TimePoint &tp, Rotation &rotation)
 
errc_t aAxesTransform (Axes *source, Axes *target, const TimePoint &tp, KinematicRotation &rotation)
 
errc_t aAxesTransform (Axes *source, Axes *target, const TimePoint &tp, Matrix3d &matrix)
 
void aSurfaceCentricToDetic (const GeocentricPoint &centric, double flatFact, GeodeticPoint &detic)
 
void aSurfaceDeticToCentric (const GeodeticPoint &detic, double flatFact, GeocentricPoint &centric)
 
double aSurfaceCentricToDeticLat (double centricLat, double flatFact)
 
double aSurfaceDeticToCentricLat (double deticLat, double flatFact)
 
A_ALWAYS_INLINE double aSurfaceCentricToDetic (double centricLat, double flatFact)
 
A_ALWAYS_INLINE double aSurfaceDeticToCentric (double deticLat, double flatFact)
 
double aRAANRate (double gm, double j2, double rb, double a, double ecc, double inc)
 
double aArgPeriRate (double gm, double j2, double rb, double a, double ecc, double inc)
 
double aMeanAnomalyRate (double gm, double j2, double rb, double a, double ecc, double inc)
 
double aMeanArgLatRate (double gm, double j2, double rb, double a, double ecc, double inc)
 
double aJ2Period (double gm, double j2, double rb, double a, double ecc, double inc)
 
errc_t aSunSynchronousInclination (double gm, double j2, double rb, double bodyMeanMotion, double a, double ecc, double &inc)
 
errc_t aSunSynchronousSemiMajorAxis (double gm, double j2, double rb, double bodyMeanMotion, double inc, double ecc, double &semiMajorAxis)
 
A_ALWAYS_INLINE double aSunSynchronousInclination (double gm, double j2, double rb, double bodyMeanMotion, double a, double ecc)
 
A_ALWAYS_INLINE double aSunSynchronousSemiMajorAxis (double gm, double j2, double rb, double bodyMeanMotion, double inc, double ecc)
 
errc_t coe2rv (const double *coe, double gm, double *pos, double *vel)
 
errc_t coe2mee (const double *coe, double *mee)
 
void ee2rv (const double *ee, double gm, double *pos, double *vel)
 
void mee2rv (const double *mee, double gm, double *pos, double *vel)
 
errc_t rv2mee (const double *pos, const double *vel, double gm, double *mee)
 
errc_t mee2coe (const double *mee, double *coe)
 
void rv2ee (const double *pos, const double *vel, double gm, double *ee)
 
errc_t rv2moe (const double *pos, const double *vel, double gm, double *moe)
 
errc_t rv2coe (const double *pos, const double *vel, double gm, double *coe)
 
errc_t ee2moe (const double *ee, double *moe)
 
errc_t moe2ee (const double *moe, double *ee)
 
errc_t moe2coe (const double *moe, double *coe)
 
void coe2moe (const double *coe, double *moe)
 
errc_t moe2rv (const double *moe, double gm, double *pos, double *vel)
 
void moe2mee (const double *moe, double *mee)
 
void coe2ee (const double *coe, double *ee)
 
void ee2coe (const double *ee, double *coe)
 
void ee2mee (const double *ee, double *mee)
 
void mee2ee (const double *mee, double *ee)
 
void mee2moe (const double *mee, double *moe)
 
errc_t coe2dela (const double *coe, double gm, double *dela)
 
errc_t dela2coe (const double *dela, double gm, double *coe)
 
void aModEquinElemToCart (const ModEquinElem &mee, double gm, Vector3d &pos, Vector3d &vel)
 
errc_t aCartToModEquinElem (const Vector3d &pos, const Vector3d &vel, double gm, ModEquinElem &mee)
 
errc_t aOrbElemToModEquinElem (const OrbElem &elem, ModEquinElem &mee)
 
errc_t aModEquinElemToOrbElem (const ModEquinElem &mee, OrbElem &elem)
 
errc_t aCartToModOrbElem (const Vector3d &pos, const Vector3d &vel, double gm, ModOrbElem &modOrb)
 
errc_t aCartToOrbElem (const Vector3d &pos, const Vector3d &vel, double gm, OrbElem &elem)
 
errc_t aEquinElemToModOrb (const EquinElem &equinElem, ModOrbElem &modOrb)
 
errc_t aModOrbToEquinElem (const ModOrbElem &modOrb, EquinElem &equinElem)
 
errc_t aModOrbElemToCart (const ModOrbElem &modOrb, double gm, Vector3d &pos, Vector3d &vel)
 
errc_t aOrbElemToCart (const OrbElem &elem, double gm, Vector3d &pos, Vector3d &vel)
 
void aCartToEquinElem (const Vector3d &pos, const Vector3d &vel, double gm, EquinElem &equinElem)
 
void aEquinElemToCart (const EquinElem &equinElem, double gm, Vector3d &pos, Vector3d &vel)
 
errc_t aOrbElemToDelaunay (const OrbElem &elem, double gm, DelaunayElem &delaunay)
 
errc_t aDelaunayToOrbElem (const DelaunayElem &delaunay, double gm, OrbElem &elem)
 
A_ALWAYS_INLINE ModOrbElem aCartToModOrbElem (const Vector3d &r, const Vector3d &v, double gm)
 
double aApoAltToMeanMotion (double apogeeAlt, double eccentricity, double bodyRadius, double gm)
 
double aApoAltToPeriAlt (double apogeeAlt, double eccentricity, double bodyRadius)
 
double aApoAltToPeriRad (double apogeeAlt, double eccentricity, double bodyRadius)
 
double aApoAltToPeriod (double apogeeAlt, double eccentricity, double bodyRadius, double gm)
 
double aApoAltToSMA (double apogeeAlt, double eccentricity, double bodyRadius)
 
double aApoRadToApoAlt (double apogeeRad, double bodyRadius)
 
double aApoRadToMeanMotion (double apogeeRad, double eccentricity, double gm)
 
double aApoRadToPeriAlt (double apogeeRad, double eccentricity, double bodyRadius)
 
double aApoRadToPeriod (double apogeeRad, double eccentricity, double gm)
 
double aApoRadToPeriRad (double apogeeRad, double eccentricity)
 
double aApoRadToSMA (double apogeeRad, double eccentricity)
 
double aEccToMean (double eccAnomaly, double eccentricity)
 
double aEccToTrue (double eccAnomaly, double eccentricity)
 
double aEccToTimePastAscNode (double eccAnomaly, double argPeri, double semiMajorAxis, double eccentricity, double gm)
 
double aEccToTimePastPeri (double eccAnomaly, double semiMajorAxis, double eccentricity, double gm)
 
double aMeanMotionToApoAlt (double meanMotion, double eccentricity, double bodyRadius, double gm)
 
double aMeanMotionToApoRad (double meanMotion, double eccentricity, double gm)
 
double aMeanMotionToPeriAlt (double meanMotion, double eccentricity, double bodyRadius, double gm)
 
double aMeanMotionToPeriRad (double meanMotion, double eccentricity, double gm)
 
double aMeanMotionToPeriod (double meanMotn)
 
double aMeanMotionToSMA (double meanMotn, double gm)
 
double aMeanToEcc (double meanAnomaly, double eccentricity, double eps=1e-14, int maxIter=100)
 
double aMeanToTimePastAscNode (double meanAnomaly, double argPeri, double semiMajorAxis, double eccentricity, double gm)
 
double aMeanToTimePastPeri (double meanAnomaly, double semiMajorAxis, double gm)
 
double aMeanToTrue (double meanAnomaly, double eccentricity, double eps=1e-14, int maxIter=100)
 
double aPeriAltToApoAlt (double perigeeAlt, double eccentricity, double bodyRadius)
 
double aPeriAltToApoRad (double perigeeAlt, double eccentricity, double bodyRadius)
 
double aPeriAltToMeanMotion (double perigeeAlt, double eccentricity, double bodyRadius, double gm)
 
double aPeriAltToPeriRad (double perigeeAlt, double bodyRadius)
 
double aPeriAltToPeriod (double perigeeAlt, double eccentricity, double bodyRadius, double gm)
 
double aPeriAltToSMA (double perigeeAlt, double eccentricity, double bodyRadius)
 
double aPeriRadToApoAlt (double perigeeRad, double eccentricity, double bodyRadius)
 
double aPeriRadToApoRad (double perigeeRad, double eccentricity)
 
double aPeriRadToMeanMotion (double perigeeRad, double eccentricity, double gm)
 
double aPeriRadToPeriAlt (double perigeeRad, double bodyRadius)
 
double aPeriRadToPeriod (double perigeeRad, double eccentricity, double gm)
 
double aPeriRadToSMA (double perigeeRad, double eccentricity)
 
double aPeriodToApoAlt (double period, double eccentricity, double bodyRadius, double gm)
 
double aPeriodToApoRad (double period, double eccentricity, double gm)
 
double aPeriodToMeanMotion (double period)
 
double aPeriodToPeriAlt (double period, double eccentricity, double bodyRadius, double gm)
 
double aPeriodToPeriRad (double period, double eccentricity, double gm)
 
double aPeriodToSMA (double period, double gm)
 
double aPeriRadApoRadToEcc (double perigeeRad, double apogeeRad)
 
double aPeriAltApoAltToEcc (double perigeeAlt, double apogeeAlt, double bodyRadius)
 
double aSMAToApoAlt (double semiMajorAxis, double eccentricity, double bodyRadius)
 
double aSMAToApoRad (double semiMajorAxis, double eccentricity)
 
double aSMAToMeanMotion (double semiMajorAxis, double gm)
 
double aSMAToPeriAlt (double semiMajorAxis, double eccentricity, double bodyRadius)
 
double aSMAToPeriod (double semiMajorAxis, double gm)
 
double aSMAToSMinAx (double semiMajorAxis, double eccentricity)
 
double aSMAToSParam (double semiMajorAxis, double eccentricity)
 
double aSMinAxToSMA (double semiminorAxis, double eccentricity)
 
double aTimePastAscNodeToEcc (double TimePastAscNode, double argPeri, double semiMajorAxis, double eccentricity, double gm, double eps=1e-14, int maxIter=100)
 
double aTimePastAscNodeToMean (double TimePastAscNode, double argPeri, double semiMajorAxis, double eccentricity, double gm)
 
double aTimePastAscNodeToTimePastPeri (double TimePastAscNode, double argPeri, double semiMajorAxis, double eccentricity, double gm)
 
double aTimePastAscNodeToTrue (double TimePastAscNode, double argPeri, double semiMajorAxis, double eccentricity, double gm, double eps=1e-14, int maxIter=100)
 
double aTimePastPeriToEcc (double TimePastPeri, double semiMajorAxis, double eccentricity, double gm, double eps=1e-14, int maxIter=100)
 
double aTimePastPeriToMean (double TimePastPeri, double semiMajorAxis, double gm)
 
double aTimePastPeriToTrue (double TimePastPeri, double semiMajorAxis, double eccentricity, double gm, double eps=1e-14, int maxIter=100)
 
double aTimePastPeriToTimePastAscNode (double TimePastPeri, double argPeri, double semiMajorAxis, double eccentricity, double gm)
 
double aTrueToEcc (double trueAnomaly, double eccentricity)
 
double aTrueToMean (double trueAnomaly, double eccentricity)
 
double aTrueToTimePastAscNode (double trueAnomaly, double argPeri, double semiMajorAxis, double eccentricity, double gm)
 
double aTrueToTimePastPeri (double trueAnomaly, double semiMajorAxis, double eccentricity, double gm)
 
double aTrueToTrueLong (double trueAnomaly, double argPeri, double raan)
 
double aArgPeriToLongPeri (double argPeri, double raan)
 
double aRAANToLAN (double raan, Axes *inertialAxes, const TimePoint &timeOfAscNodePassage, Axes *bodyFixedAxes)
 
double aLANToRAAN (double lan, Axes *bodyFixedAxes, const TimePoint &timeOfAscNodePassage, Axes *inertialAxes)
 
double aRepeatGroundTrackSMA (int daysToRepeat, int revsToRepeat, double gm, double bodyRotRate)
 
double aEccToFlat (double eccentricity)
 
double aFlatToEcc (double flatFactor)
 
double aApoAltToApoRad (double apogeeAlt, double bodyRadius)
 
double aApoRadToEcc (double apogeeRad, double semiMajorAxis)
 
double aPeriRadToEcc (double perigeeRad, double semiMajorAxis)
 
double aSMAToPeriRad (double semiMajorAxis, double eccentricity)
 
double aTrueToArgLat (double trueAnomaly, double argPeri)
 
double aArgLatToTrue (double argLat, double argPeri)
 
size_t aGetNumInputPorts (FuncBlock *block)
 
size_t aGetNumOutputPorts (FuncBlock *block)
 
int aGetInputPortDataType (FuncBlock *block, size_t portIndex)
 
int aGetOutputPortDataType (FuncBlock *block, size_t portIndex)
 
const void * aGetInputPortSignal (FuncBlock *block, size_t portIndex)
 
void * aGetOutputPortSignal (FuncBlock *block, size_t portIndex)
 
double * aGetInputPortRealSignal (FuncBlock *block, size_t portIndex)
 
double * aGetOutputPortRealSignal (FuncBlock *block, size_t portIndex)
 
int aGetInputPortWidth (FuncBlock *block, size_t portIndex)
 
int aGetOutputPortWidth (FuncBlock *block, size_t portIndex)
 
errc_t aSetInputPortRealSignal (FuncBlock *block, size_t portIndex, double *signal)
 
errc_t aSetOutputPortRealSignal (FuncBlock *block, size_t portIndex, double *signal)
 
void aGetJ2AnalyticalParams (const ModOrbElem &modOrbElem, double gm, double j2, double re, double &meanAnomalyDot, double &raanDot, double &argPeriDot)
 
errc_t aJ2AnalyticalProp (double duration, double gm, double j2, double re, Vector3d &r, Vector3d &v)
 
errc_t aJ2AnalyticalProp (double duration, double gm, double j2, double re, ModOrbElem &modOrbElem)
 
void aGetJ4AnalyticalParams (const ModOrbElem &modOrbElem, double gm, double j2, double j4, double re, double &meanAnomalyDot, double &raanDot, double &argPeriDot)
 
errc_t aJ4AnalyticalProp (double duration, double gm, double j2, double j4, double re, Vector3d &r, Vector3d &v)
 
errc_t aJ4AnalyticalProp (double duration, double gm, double j2, double j4, double re, ModOrbElem &modOrbElem)
 
errc_t aTwoBodyProp (double duration, double gm, Vector3d &r, Vector3d &v)
 
Property_aNewPropertyTimePoint (FPropertyGet getter, FPropertySet setter)
 
template<>
A_ALWAYS_INLINE Property_aNewProperty< TimePoint > (FPropertyGet getter, FPropertySet setter)
 
template<typename T , TimePoint T::* Member>
A_ALWAYS_INLINE PropertyaNewPropertyTimePointMem ()
 
template<typename T , TimePoint T::* Member>
A_ALWAYS_INLINE PropertyaNewPropertyTimePoint ()
 
template<typename T , const TimePoint &(T::*)() const Getter, void(T::*)(const TimePoint &) Setter>
A_ALWAYS_INLINE PropertyaNewPropertyTimePoint ()
 
errc_t aLoadBody (StringView filepath, HCelestialBody &body)
 
const char * aMoonFullName (int month)
 
const char * aMoonShortName (int month)
 
const char * aWeekDayFullName (int wday)
 
const char * aWeekDayShortName (int wday)
 
A_ALWAYS_INLINE bool _aIsLeapYear (int year)
 
bool aIsLeapYear (int year)
 
int aDaysInMonthByYear (int month, int year)
 
int aDaysInMonthByLeap (int month, bool isLeapYear)
 
int aDayOfYear (const Date &date)
 
int aDayOfWeek (const Date &date)
 
void aDateToYD (const Date &date, int &year, int &days)
 
void aDateNormalize (Date &date)
 
void aYDToDate (int year, int days, Date &date)
 
int aDateToJDAtNoon (const Date &date)
 
void aJDToDateAtNoon (int jd, Date &date)
 
ImpreciseJD aDateToJD (const Date &date)
 
void aJDToDate (ImpreciseJD jd, Date &date, double *secInDay=nullptr)
 
int aDateToMJD (const Date &date)
 
void aMJDToDate (int mjd, Date &date)
 
std::string aDateToString (const Date &date)
 
A_ALWAYS_INLINE Date aMJDToDate (int mjd)
 
A_ALWAYS_INLINE int aDateToMJD (int year, int month, int day)
 
void aCurrentDateTimeLocal (DateTime &dttm)
 
void aCurrentDateTimeUTC (DateTime &dttm)
 
void aTodayDateTimeUTC (DateTime &dttm)
 
void aTomorrowDateTimeUTC (DateTime &dttm)
 
void aDateTimeNormalize (DateTime &dttm)
 
void aDateTimeNormalizeUTC (DateTime &dttm)
 
int _aGregDateDifference (int hour, int timeZone)
 
int _aTimeZoneDateDifference (int hour, int timeZone)
 
void aDateTimeNormalizeLocal (DateTime &dttm, int timezone)
 
void aDateTimeNormalizeBJT (DateTime &dttm)
 
void aDateTimeAddYears (DateTime &dttm, int years)
 
void aDateTimeAddMonths (DateTime &dttm, int months)
 
void aDateTimeAddDays (DateTime &dttm, int days)
 
void aDateTimeAddDaysUTC (DateTime &dttm, int days)
 
void aDateTimeAddDaysLocal (DateTime &dttm, int days, int timezone)
 
void aDateTimeAddDaysBJT (DateTime &dttm, int days)
 
void aDateTimeAddHours (DateTime &dttm, int hours)
 
void aDateTimeAddHoursUTC (DateTime &dttm, int hours)
 
void aDateTimeAddHoursLocal (DateTime &dttm, int hours, int timezone)
 
void aDateTimeAddHoursBJT (DateTime &dttm, int hours)
 
void aDateTimeAddMinutes (DateTime &dttm, int minutes)
 
void aDateTimeAddMinutesUTC (DateTime &dttm, int minutes)
 
void aDateTimeAddMinutesLocal (DateTime &dttm, int minutes, int timezone)
 
void aDateTimeAddMinutesBJT (DateTime &dttm, int minutes)
 
void aDateTimeAddSeconds (DateTime &dttm, double seconds)
 
void aDateTimeAddSecondsUTC (DateTime &dttm, double seconds)
 
void aDateTimeAddSecondsLocal (DateTime &dttm, double seconds, int timezone)
 
void aDateTimeAddSecondsBJT (DateTime &dttm, double seconds)
 
errc_t aDateTimeFormatISO8601 (const DateTime &dttm, std::string &str)
 
errc_t aDateTimeFormatGregorian (const DateTime &dttm, std::string &str, int precision=3)
 
errc_t aDateTimeFormatGregorianEn (const DateTime &dttm, std::string &str)
 
errc_t aDateTimeFormatGMT (const DateTime &dttm, std::string &str)
 
errc_t aDateTimeFormatRFC3339 (const DateTime &dttm, std::string &str)
 
errc_t aDateTimeParseISO8601 (StringView str, DateTime &dttm)
 
errc_t aDateTimeParseRFC3339 (StringView str, DateTime &dttm)
 
errc_t aDateTimeParseGregorian (StringView str, DateTime &dttm)
 
errc_t aDateTimeParseGregorianEn (StringView str, DateTime &dttm)
 
errc_t aDateTimeParseGMT (StringView str, DateTime &dttm)
 
errc_t aDateTimeParseAny (StringView str, DateTime &dttm)
 
AST_CORE_CAPI errc_t aDateTimeFormat (const DateTime &dttm, StringView format, std::string &str)
 
A_ALWAYS_INLINE errc_t aDateTimeFormatISO (const DateTime &dttm, std::string &str)
 
A_ALWAYS_INLINE errc_t aDateTimeFormatDefault (const DateTime &dttm, std::string &str, int precision=kTimeDefaultFormatPrecision)
 
A_ALWAYS_INLINE errc_t aDateTimeParseISO (StringView str, DateTime &dttm)
 
AST_CORE_CAPI errc_t aDateTimeParse (StringView str, StringView format, DateTime &dttm)
 
A_ALWAYS_INLINE DateTime aCurrentDateTimeLocal ()
 
A_ALWAYS_INLINE DateTime aCurrentDateTimeUTC ()
 
errc_t aDateTimeParse (StringView str, StringView format, DateTime &dttm, bool strict)
 
void aJDToMJD (const JulianDate &jd, ModJulianDate &mjd)
 
void aMJDToJD (const ModJulianDate &mjd, JulianDate &jd)
 
double aJDToMJD_Imprecise (const JulianDate &jd)
 
ImpreciseJD aMJDToJD_Imprecise (ImpreciseMJD mjd)
 
ImpreciseJD aMJDToJD_Imprecise (const ModJulianDate &mjd)
 
ImpreciseMJD aJDToMJD_Imprecise (ImpreciseJD jd)
 
void aDateTimeToJD (const DateTime &dttm, JulianDate &jd)
 
void aJDToDateTime (const JulianDate &jd, DateTime &dttm)
 
void aTimeNormalize (Time &time)
 
void aTimeFromTotalSecond (double totalSecond, Time &time)
 
errc_t aTimeIntervalFormat (const TimeInterval &interval, std::string &strStart, std::string &strEnd)
 
errc_t aTimeIntervalParse (StringView strStart, StringView strEnd, TimeInterval &interval)
 
void aTimePointToUTC (const TimePoint &time, JulianDate &jdUTC)
 
void aTimePointToTT (const TimePoint &time, JulianDate &jdTT)
 
void aTimePointToTAI (const TimePoint &time, JulianDate &jdTAI)
 
void aTimePointToUT1 (const TimePoint &time, JulianDate &jdUT1)
 
void aTimePointToUTC (const TimePoint &time, DateTime &dttmUTC)
 
errc_t aTimePointFormat (const TimePoint &time, std::string &str, int precision=kTimePointDefaultFormatPrecision)
 
errc_t aTimePointParse (StringView str, TimePoint &time)
 
void aTimePointToTDB (const TimePoint &time, JulianDate &jdTDB)
 
AST_CORE_API void aTimePointToTT (const TimePoint &time, DateTime &dttmTT)
 
AST_CORE_API void aTimePointToTDB (const TimePoint &time, DateTime &dttmTDB)
 
AST_CORE_API void aTimePointToTAI (const TimePoint &time, DateTime &dttmTAI)
 
AST_CORE_API void aTimePointToUT1 (const TimePoint &time, DateTime &dttmUT1)
 
double aJulianCenturyFromJ2000 (const JulianDate &jd)
 
double aJulianDayFromJ2000 (const JulianDate &jd)
 
void aTAIToUTC (const JulianDate &jdTAI, JulianDate &jdUTC)
 
void aTAIToUTC (const DateTime &dttmTAI, DateTime &dttmUTC)
 
void aUTCToTAI (const JulianDate &jdUTC, JulianDate &jdTAI)
 
void aUTCToTAI (const DateTime &dttmUTC, DateTime &dttmTAI)
 
void aUTCToTT (const JulianDate &jdUTC, JulianDate &jdTT)
 
void aUTCToTT (const DateTime &dttmUTC, DateTime &dttmTT)
 
void aUTCToUT1 (const JulianDate &jdUTC, JulianDate &jdUT1)
 
void aTTToUTC (const JulianDate &jdTT, JulianDate &jdUTC)
 
void aTTToUTC (const DateTime &dttmTT, DateTime &dttmUTC)
 
void aTTToTDB (const JulianDate &jdTT, JulianDate &jdTDB)
 
void aTTToTDB (const DateTime &dttmTT, DateTime &dttmTDB)
 
void aTDBToTT (const JulianDate &jdTDB, JulianDate &jdTT)
 
void aTDBToTT (const DateTime &dttmTDB, DateTime &dttmTT)
 
double aTTMinusTDB (const JulianDate &jdTDB)
 
double aTDBMinusTT (const JulianDate &jdTT)
 
TimePoint aSpiceEtToTimePoint (double et)
 
double aTimePointToSpiceEt (const TimePoint &tp)
 
template<typename Time >
A_ALWAYS_INLINE void aTAIToTT (const Time &tmTAI, Time &tmTT)
 
template<typename Time >
A_ALWAYS_INLINE Time aTAIToTT (const Time &tmTAI)
 
template<typename Time >
A_ALWAYS_INLINE void aTTToTAI (const Time &tmTT, Time &tmTAI)
 
template<typename Time >
A_ALWAYS_INLINE Time aTTToTAI (const Time &tmTT)
 
template<typename Time >
A_ALWAYS_INLINE void aTAIToGPS (const Time &tmTAI, Time &tmGPS)
 
template<typename Time >
A_ALWAYS_INLINE Time aTAIToGPS (const Time &tmTAI)
 
template<typename Time >
A_ALWAYS_INLINE void aGPSToTAI (const Time &tmGPS, Time &tmTAI)
 
template<typename Time >
A_ALWAYS_INLINE Time aGPSToTAI (const Time &tmGPS)
 
A_ALWAYS_INLINE JulianDate aTAIToUTC (const JulianDate &jdTAI)
 
A_ALWAYS_INLINE DateTime aTAIToUTC (const DateTime &dttmTAI)
 
A_ALWAYS_INLINE JulianDate aUTCToTAI (const JulianDate &jdUTC)
 
A_ALWAYS_INLINE DateTime aUTCToTAI (const DateTime &dttmUTC)
 
A_ALWAYS_INLINE JulianDate aUTCToTT (const JulianDate &jdUTC)
 
A_ALWAYS_INLINE DateTime aUTCToTT (const DateTime &dttmUTC)
 
AST_CORE_API void aUTCToUT1 (const DateTime &dttmUTC, DateTime &dttmUT1)
 
A_ALWAYS_INLINE JulianDate aTTToUTC (const JulianDate &jdTT)
 
A_ALWAYS_INLINE DateTime aTTToUTC (const DateTime &dttmTT)
 
A_ALWAYS_INLINE JulianDate aTTToTDB (const JulianDate &jdTT)
 
A_ALWAYS_INLINE DateTime aTTToTDB (const DateTime &dttmTT)
 
A_ALWAYS_INLINE JulianDate aTDBToTT (const JulianDate &jdTDB)
 
A_ALWAYS_INLINE DateTime aTDBToTT (const DateTime &dttmTDB)
 
bool AstGfxInitialize ()
 
int AstGfxRun ()
 
void AstGfxUpdate (double deltaTime)
 
void AstGfxSetBackgroundColor (float r, float g, float b, float a)
 
errc_t aGuiInit ()
 
errc_t aQAppInit (int argc, char *argv[])
 
QMainWindow * aUiNewMainWindow ()
 
void aUiExecWidget (QWidget *widget)
 
GUIInterfaceaGUIInterfaceImpl ()
 
void aUiRegisterEditWidget (Class *cls, FNewEditWidget newEditWidget)
 
QWidget * aUiNewEditWidget (Object *object)
 
template<typename _Scalar , size_t I, size_t J, size_t K>
MatrixMN< _Scalar, I, K > operator* (const MatrixMN< _Scalar, I, J > &left, const MatrixMN< _Scalar, J, K > &right)
 
template<typename _Scalar , size_t I, size_t J>
VectorN< _Scalar, I > operator* (const MatrixMN< _Scalar, I, J > &left, const VectorN< _Scalar, J > &right)
 
template<typename _Scalar , size_t I, size_t J>
VectorN< _Scalar, J > operator* (const VectorN< _Scalar, I > &left, const MatrixMN< _Scalar, I, J > &right)
 
template<typename T >
A_CONSTEXPR_CXX14 const T & clamp (const T &val, const T &low, const T &high)
 
errc_t aRotationMatrix (double angle, int axis, Matrix3d &mtx)
 
void aRotationXMatrix (double angle, Matrix3d &mtx)
 
void aRotationYMatrix (double angle, Matrix3d &mtx)
 
void aRotationZMatrix (double angle, Matrix3d &mtx)
 
void aQuatToMatrix (const Quaternion &quat, Matrix3d &mtx)
 
void aMatrixToQuat (const Matrix3d &mtx, Quaternion &quat)
 
errc_t aMatrixToEuler (const Matrix3d &mtx, int seq, Euler &euler)
 
errc_t aEulerToMatrix (const Euler &euler, int seq, Matrix3d &mtx)
 
errc_t _aEulerToMatrix (const Euler &euler, int seq, Matrix3d &mtx)
 
void aEuler123ToMatrix (const Euler &euler, Matrix3d &mtx)
 
void aMatrixToEuler123 (const Matrix3d &mtx, Euler &euler)
 
void aEuler231ToMatrix (const Euler &euler, Matrix3d &mtx)
 
void aMatrixToEuler231 (const Matrix3d &mtx, Euler &euler)
 
void aEuler312ToMatrix (const Euler &euler, Matrix3d &mtx)
 
void aMatrixToEuler312 (const Matrix3d &mtx, Euler &euler)
 
void aEuler321ToMatrix (const Euler &euler, Matrix3d &mtx)
 
void aMatrixToEuler321 (const Matrix3d &mtx, Euler &euler)
 
void aEuler213ToMatrix (const Euler &euler, Matrix3d &mtx)
 
void aMatrixToEuler213 (const Matrix3d &mtx, Euler &euler)
 
void aEuler132ToMatrix (const Euler &euler, Matrix3d &mtx)
 
void aMatrixToEuler132 (const Matrix3d &mtx, Euler &euler)
 
void aEuler121ToMatrix (const Euler &euler, Matrix3d &mtx)
 
void aMatrixToEuler121 (const Matrix3d &mtx, Euler &euler)
 
void aEuler232ToMatrix (const Euler &euler, Matrix3d &mtx)
 
void aMatrixToEuler232 (const Matrix3d &mtx, Euler &euler)
 
void aEuler313ToMatrix (const Euler &euler, Matrix3d &mtx)
 
void aMatrixToEuler313 (const Matrix3d &mtx, Euler &euler)
 
void aEuler131ToMatrix (const Euler &euler, Matrix3d &mtx)
 
void aMatrixToEuler131 (const Matrix3d &mtx, Euler &euler)
 
void aEuler212ToMatrix (const Euler &euler, Matrix3d &mtx)
 
void aMatrixToEuler212 (const Matrix3d &mtx, Euler &euler)
 
void aEuler323ToMatrix (const Euler &euler, Matrix3d &mtx)
 
errc_t aEulerToQuat (const Euler &euler, int seq, Quaternion &quat)
 
errc_t aQuatToEuler (const Quaternion &quat, int seq, Euler &euler)
 
void aMatrixToEuler323 (const Matrix3d &mtx, Euler &euler)
 
void aQuatToAngleAxis (const Quaternion &quat, AngleAxis &aa)
 
void aAngleAxisToQuat (const AngleAxis &aa, Quaternion &quat)
 
void aAngleAxisToMatrix (const AngleAxis &aa, Matrix3d &mtx)
 
void aMatrixToAngleAxis (const Matrix3d &mtx, AngleAxis &aa)
 
A_ALWAYS_INLINE Quaternion aMatrixToQuat (const Matrix3d &mtx)
 
A_ALWAYS_INLINE Matrix3d aEuler323ToMatrix (const Euler &euler)
 
A_ALWAYS_INLINE Matrix3d aEuler313ToMatrix (const Euler &euler)
 
A_ALWAYS_INLINE Matrix3d aRotationZMatrix (double angle)
 
A_ALWAYS_INLINE Matrix3d aRotationXMatrix (double angle)
 
Quaternion aQuatProduct (const Quaternion &q1, const Quaternion &q2)
 
template<typename Func >
double bisect (Func f, double xa, double xb, double xtol, double rtol, int iter, scipy_zeros_info &solver_stats)
 
template<typename Func >
double ridder (Func f, double xa, double xb, double xtol, double rtol, int iter, scipy_zeros_info &solver_stats)
 
template<typename Func >
double brenth (Func f, double xa, double xb, double xtol, double rtol, int iter, scipy_zeros_info &solver_stats)
 
template<typename Func >
double brentq (Func f, double xa, double xb, double xtol, double rtol, int iter, scipy_zeros_info &solver_stats)
 
template<typename Func >
double secant (Func f, double xa, double xb, double xtol, double rtol, int iter, scipy_zeros_info &solver_stats)
 
bool aIsClose (double a, double b, double relTol=kDefaultRelTol, double absTol=kDefaultAbsTol)
 
template<typename Func >
ODEGeneric< Func > make_ode (Func func, int dim)
 
template<typename Func >
ODEGeneric< Func > make_ode (int dim, Func func)
 
std::string aColMajorMatrixToString (const double *matrix, int rows, int cols)
 
void aColMajorMatrixPrint (const double *matrix, int rows, int cols, FILE *file=stdout)
 
void aMockBufferMalloc (unsigned int size)
 
void aMockBufferNew (unsigned int size)
 
void aMockBufferStack (unsigned int size)
 
void aMockBufferAlloca (unsigned int size)
 
int aMockCacheStatic (int k)
 
int aMockCacheExtern (int k)
 
int aMockCacheStaticTL (int k)
 
int aMockCacheExternTL (int k)
 
EOPaMockGetEOP_Extern ()
 
EOPaMockGetEOP_Static ()
 
EOPaMockGetEOP_Lazy ()
 
EOPaMockGetEOP_ContextExtern ()
 
EOPaMockGetEOP_ContextStatic ()
 
EOPaMockGetEOP_ContextExternTL ()
 
EOPaMockGetEOP_ContextStaticTL ()
 
int aMockSetStringConstRef (const std::string &str)
 
int aMockSetStringValue (std::string str)
 
int aMockSetStringView (StringView str)
 
int aMockSetStringViewRef (const StringView &str)
 
const std::string & aMockStringValue ()
 
int aMockSizeStringConstRef (const std::string &str)
 
int aMockSizeStringValue (std::string str)
 
int aMockSizeStringView (StringView str)
 
int aMockSizeStringViewRef (const StringView &str)
 
AST_MOCK_API int aMockCallByStringConstRef ()
 
AST_MOCK_API int aMockCallByStringValue ()
 
AST_MOCK_API int aMockCallByStringView ()
 
AST_MOCK_API int aMockCallByStringConstRef (const std::string &str)
 
AST_MOCK_API int aMockCallByStringValue (std::string str)
 
AST_MOCK_API int aMockCallByStringView (StringView str)
 
AST_MOCK_API int aMockCallByStringViewRef (const StringView &str)
 
AST_MOCK_API int aMockCallByCharPtr (const char *str, size_t size)
 
bool aCheckFloatingBehaviorIEEE754 ()
 
void aPrintSparityPatternCOO (int nnz, int *iFun, int *jVar, int idx_style)
 
void aParternCOOToCCS (const std::vector< int > &iRow, const std::vector< int > &jCol, std::vector< int > &ptr2fnz, std::vector< int > &indexRow)
 
void aParternCCSToCOO (const std::vector< int > &ptr2fnz, const std::vector< int > &indexRow, std::vector< int > &iFunRow, std::vector< int > &jVarCol)
 
AST_OPT_CAPI void aPrintSparityPatternCCS ()
 
SnoptCAPIaSnopt_Load (const char *sharedLibPath)
 
void aSnopt_Unload ()
 
SnoptCAPIaSnopt_Find ()
 
SnoptCAPIaSnopt_Get ()
 
VariableaNewVariable (StringView name, Expr *expr=nullptr, bool bind=false)
 
VariableaNewVariable (Expr *expr, bool bind)
 
SymbolaNewSymbol (StringView name)
 
ExpraNewOpAssign (EOpAssignType op, Expr *left, Expr *right)
 
ExpraNewOpBin (EOpBinType op, Expr *left, Expr *right)
 
ExpraNewOpUnary (EOpUnaryType op, Expr *expr)
 
ExpraNewExprCondition (Expr *condition, Expr *thenExpr, Expr *elseExpr=nullptr)
 
ExpraNewExprRange (Expr *start, Expr *stop, Expr *step=nullptr)
 
ValueaNewValueString (StringView value)
 
ValueaNewValueInt (int value)
 
ValueaNewValueBool (bool value)
 
ValueaNewValueDouble (double value)
 
ValueaNewValueQuantity (const Quantity &value)
 
ValueaValueNull ()
 
ExpraParseExpr (StringView script)
 
ValueaEval (StringView script)
 
ValueaEvalExpr (Expr *expr)
 
bool aValueIsBool (Value *value)
 
bool aValueIsDouble (Value *value)
 
bool aValueIsInt (Value *value)
 
bool aValueIsArithmetic (Value *value)
 
bool aValueIsQuantity (Value *value)
 
double aValueToDouble (Value *value)
 
bool aValueUnboxBool (Value *value)
 
double aValueUnboxDouble (Value *value)
 
int aValueUnboxInt (Value *value)
 
Quantity aValueUnboxQuantity (Value *value)
 
std::string aFormatExpr (Expr *expr, Object *context=nullptr)
 
OpBinFunc aGetOpBinFunc (EOpBinType op, Class *leftType, Class *rightType)
 
OpAssignFunc aGetOpAssignFunc (EOpAssignType op, Class *leftType, Class *rightType)
 
ValueaDoOpUnary (EOpUnaryType op, Value *value)
 
ValueaDoOpAssign (EOpAssignType op, Expr *left, Expr *right)
 
OpUnaryFunc aGetOpUnaryFunc (EOpUnaryType op, Class *type)
 
IterateFunc aGetIterateFunc (Class *type)
 
ValueaDoOpBin (EOpBinType op, Value *left, Value *right)
 
ValueaIterateBegin (Value *container, int &index)
 
ValueaIterateNext (Value *container, int &index)
 
A_ALWAYS_INLINE ValueaNewValue (int value)
 
A_ALWAYS_INLINE ValueaNewValue (double value)
 
A_ALWAYS_INLINE ValueaNewValue (bool value)
 
A_ALWAYS_INLINE ValueaNewValue (const Quantity &value)
 
A_ALWAYS_INLINE ValueaNewValue (StringView value)
 
InterpreteraScript_GetInterpreter ()
 
void aScript_SetInterpreter (Interpreter *interpreter)
 
void aScript_RemoveInterpreter (Interpreter *interpreter)
 
SymbolScopeaScript_CurrentSymbolScope ()
 
ExpraScript_FindSymbol (StringView name)
 
ExpraScript_FindSymbol (const Symbol *symbol)
 
ExpraScript_ResolveSymbol (StringView name)
 
ExpraScript_ResolveSymbol (const Symbol *symbol)
 
void aScript_SetErrString (StringView err)
 
void aScript_FormartErrStringV (StringView fmt, va_list args)
 
void aScript_FormatErrString (StringView fmt,...)
 
Valueiterate_range (Value *value, int &index)
 
IterateFunc iterate_get_func (Class *type)
 
void iterate_register_func (Class *type, IterateFunc func)
 
Valueiterate_begin (Value *container, int &index)
 
Valueiterate_next (Value *container, int &index)
 
void iterate_init_registry ()
 
OpAssignFunc opassign_get_func (EOpAssignType op, Class *leftType, Class *rightType)
 
template<typename Left , typename Right >
Valueopbin_div_scalar_scalar (Value *left, Value *right)
 
double _mod (double left, double right)
 
int _mod (int left, int right)
 
template<typename Left , typename Right >
Valueopbin_mod_scalar_scalar (Value *left, Value *right)
 
int _pow (int left, int right)
 
double _pow (double left, double right)
 
template<typename Left , typename Right >
Valueopbin_pow_scalar_scalar (Value *left, Value *right)
 
Valueopbin_mul_quantity_quantity (Value *left, Value *right)
 
Valueopbin_div_quantity_quantity (Value *left, Value *right)
 
template<typename Right >
Valueopbin_mul_quantity_scalar (Value *left, Value *right)
 
template<typename Right >
Valueopbin_div_quantity_scalar (Value *left, Value *right)
 
template<typename Left >
Valueopbin_mul_scalar_quantity (Value *left, Value *right)
 
template<typename Left >
Valueopbin_div_scalar_quantity (Value *left, Value *right)
 
Valueopbin_add_quantity_quantity (Value *left, Value *right)
 
Valueopbin_sub_quantity_quantity (Value *left, Value *right)
 
OpBinRegistryget_opbin_registry ()
 
void opbin_register_func (EOpBinType op, Class *leftType, Class *rightType, OpBinFunc func)
 
OpBinFunc opbin_get_func (EOpBinType op, Class *leftType, Class *rightType)
 
template<typename T >
ClassaValueType ()
 
template<>
ClassaValueType< int > ()
 
template<>
ClassaValueType< double > ()
 
template<>
ClassaValueType< bool > ()
 
template<typename SCALAR1 , typename SCALAR2 >
void _register_scalar_opbin ()
 
template<typename SCALAR1 , typename SCALAR2 >
void register_scalar_opbin ()
 
template<typename SCALAR >
void register_scalar_opbin ()
 
void opbin_init_registry ()
 
Valueopbin (EOpBinType op, Value *left, Value *right)
 
template<>
Valueopunary_bit_not_scalar< bool > (Value *value)
 
OpUnaryRegisterget_opunary_registry ()
 
void * opunary_get_funcptr (EOpUnaryType op, Class *type)
 
void opunary_register_funcptr (EOpUnaryType op, Class *type, void *func)
 
OpUnaryFunc opunary_get_func (EOpUnaryType op, Class *type)
 
void opunary_register_func (EOpUnaryType op, Class *type, OpUnaryFunc func)
 
Valueopunary (EOpUnaryType op, Value *value)
 
void register_scalar_opunary ()
 
void opunary_init_registry ()
 
bool isHexDigit (char c)
 
bool isBinaryDigit (char c)
 
bool isOctalDigit (char c)
 
errc_t _aLoadEventTimeImplicit (BKVParser &parser, SharedPtr< EventTime > &eventTime)
 
errc_t _aLoadEventTime (BKVParser &parser, SharedPtr< EventTime > &eventTime)
 
errc_t _aLoadEventIntervalImplicit (BKVParser &parser, SharedPtr< EventInterval > &eventInterval)
 
errc_t _aLoadInterval (BKVParser &parser, TimeInterval &interval)
 
errc_t _aLoadEventInterval (BKVParser &parser, SharedPtr< EventInterval > &eventInterval)
 
errc_t _aLoadSolarPressureModel (BKVParser &parser, double massAtEpoch, HPOPForceModel::SRP &srp)
 
errc_t _aLoadTwoBody (BKVParser &parser, const VehiclePathData &vehiclePathData, ScopedPtr< MotionProfile > &motionProfile)
 
errc_t _aLoadHPOP (BKVParser &parser, const VehiclePathData &vehiclePathData, ScopedPtr< MotionProfile > &motionProfile)
 
errc_t _aLoadSPICE (BKVParser &parser, const VehiclePathData &vehiclePathData, ScopedPtr< MotionProfile > &motionProfile)
 
errc_t _aLoadPassDefn (BKVParser &parser, Mover &mover)
 
errc_t _aLoadVehiclePath (BKVParser &parser, Mover &mover)
 
errc_t _aLoadEphemeris (BKVParser &parser, Mover &mover)
 
errc_t _aLoadMassProperties (BKVParser &parser, Mover &mover)
 
errc_t _aLoadAttitude (BKVParser &parser, Mover &mover)
 
errc_t _aLoadSwath (BKVParser &parser, Mover &mover)
 
errc_t _aLoadEclipse (BKVParser &parser, Mover &mover)
 
errc_t _aLoadRealTimeDef (BKVParser &parser, Mover &mover)
 
errc_t _aLoadExtensions (BKVParser &parser, Mover &mover)
 
errc_t _aLoadSubObjects (BKVParser &parser, Mover &mover)
 
errc_t _aLoadSatellite (BKVParser &parser, Mover &mover)
 
errc_t aLoadMover (StringView filepath, Mover &mover)
 
AxesaSpiceFindAxes (StringView name)
 
CelestialBodyaSpiceFindBody (StringView name)
 
CelestialBodyaSpiceFindBody (int id)
 
void axisar (const Vector3d &axis, double angle, Matrix3d &r)
 
void azlrec (double range, double az, double el, bool azccw, bool elplsz, Vector3d &rectan)
 
double b1900 ()
 
double b1950 ()
 
double clight ()
 
double dpr ()
 
void eul2m (double angle3, double angle2, double angle1, int axis3, int axis2, int axis1, Matrix3d &r)
 
void ident (Matrix3d &matrix)
 
double j1900 ()
 
double j1950 ()
 
double j2000 ()
 
double j2100 ()
 
double jyear ()
 
void latrec (double radius, double lon, double lat, Vector3d &rectan)
 
void m2eul (const Matrix3d &r, int axis3, int axis2, int axis1, double &angle3, double &angle2, double &angle1)
 
void m2q (const Matrix3d &r, Quaternion &q)
 
void mxm (const Matrix3d &m1, const Matrix3d &m2, Matrix3d &mout)
 
void mxvg (const void *m1, const void *v2, int nr1, int nc1r2, void *vout)
 
errc_t pxform (StringView from, StringView to, const TimePoint &et, Matrix3d &rotate)
 
AST_SPICE_CAPI errc_t pxform (const char *from, const char *to, double et, Matrix3d &rotate)
 
void q2m (const Quaternion &q, Matrix3d &r)
 
void radrec (double range, double ra, double dec, Vector3d &rectan)
 
void rav2xf (const Matrix3d &rot, const Vector3d &av, Matrix6d &xform)
 
errc_t spkapo (CelestialBody *targ, const TimePoint &et, Axes *ref, const CartState &sobs, StringView abcorr, Vector3d &ptarg, double *lt=nullptr)
 
errc_t spkpos (CelestialBody *targ, const TimePoint &et, Axes *ref, StringView abcorr, CelestialBody *obs, Vector3d &ptarg, double *lt=nullptr)
 
errc_t spkpos (StringView targ, const TimePoint &et, StringView ref, StringView abcorr, StringView obs, Vector3d &ptarg, double *lt)
 
AST_SPICE_CAPI errc_t spkpos (const char *targ, double et, const char *ref, const char *abcorr, const char *obs, Vector3d &ptarg, double *lt)
 
errc_t spkssb (CelestialBody *targ, const TimePoint &et, Axes *ref, CartState &starg)
 
AST_SPICE_CAPI errc_t spkssb (int targ, double et, const char *ref, CartState &starg)
 
errc_t stelab (const Vector3d &pobj, const Vector3d &vobs, Vector3d &appobj)
 
errc_t stlabx (const Vector3d &pobj, const Vector3d &vobs, Vector3d &appobj)
 
errc_t tipbod (Axes *ref, CelestialBody *body, const TimePoint &et, Matrix3d &tipm)
 
AST_SPICE_CAPI errc_t tipbod (const char *ref, int body, double et, Matrix3d &tipm)
 
errc_t utc2et (StringView utcstr, double &et)
 
AST_SPICE_CAPI errc_t utc2et (const char *utcstr, double &et)
 
void vrotv (const Vector3d &v, const Vector3d &axis, double theta, Vector3d &r)
 
void axisar (const double axis[3], double angle, double r[3][3])
 
void azlrec (double range, double az, double el, bool azccw, bool elplsz, double rectan[3])
 
void eul2m (double angle3, double angle2, double angle1, int axis3, int axis2, int axis1, double r[3][3])
 
void ident (double matrix[3][3])
 
void latrec (double radius, double lon, double lat, double rectan[3])
 
void m2eul (const double r[3][3], int axis3, int axis2, int axis1, double *angle3, double *angle2, double *angle1)
 
void m2q (const double r[3][3], double q[4])
 
void mxm (const double m1[3][3], const double m2[3][3], double mout[3][3])
 
errc_t pxform (const char *from, const char *to, double et, double rotate[3][3])
 
void q2m (const double q[4], double r[3][3])
 
void radrec (double range, double ra, double dec, double rectan[3])
 
void rav2xf (const double rot[3][3], const double av[3], double xform[6][6])
 
errc_t spkpos (const char *targ, double et, const char *ref, const char *abcorr, const char *obs, double ptarg[3], double *lt)
 
errc_t spkssb (int targ, double et, const char *ref, double starg[6])
 
errc_t tipbod (const char *ref, int body, double et, double tipm[3][3])
 
errc_t utc2et (const char *utcstr, double *et)
 
AST_SPICE_API void spkgeo (CelestialBody *targ, const TimePoint &et, Axes *ref, CelestialBody *obs, CartState &state, double *lt=nullptr)
 
AST_SPICE_API void spkgps (CelestialBody *targ, const TimePoint &et, Axes *ref, CelestialBody *obs, Vector3d &pos, double *lt=nullptr)
 
std::shared_ptr< StartupConfigaTestLoadConfig ()
 
StartupConfigaTestGetConfig ()
 
ValueView aTestGetConfigValue (StringView key)
 
std::vector< std::string > aTestGetConfigStringVector (StringView key)
 
std::vector< StringViewaTestGetConfigStringViewVector (StringView key)
 
errc_t aTestSerializeCpp (Object *object)
 
errc_t aTestWithEmptyEphemeris (Mover &mover)
 
errc_t aTestFromSTKFile (StringView filepath)
 
A_ALWAYS_INLINE IdentifierTablegetIdentifierTable ()
 
IdentifieraIdentifier (const std::string &str)
 
IdentifieraIdentifier (const StringView &str)
 
IdentifieraIdentifier (const char *str, size_t len)
 
A_ALWAYS_INLINE IdentifieraIdentifier (const char *str)
 
char * fgetlinetrim (char *buffer, int size, FILE *file)
 
bool aIsHashCommentLine (StringView line)
 
errc_t aParseBool (StringView str, bool &value)
 
errc_t aParseInt (StringView str, int &value)
 
errc_t _aParseInt_LibC_1 (StringView str, int &value)
 
errc_t _aParseInt_LibC_2 (StringView sv, int &value)
 
errc_t _aParseInt_LibC_3 (StringView sv, int &value)
 
errc_t _aParseInt_Simple (StringView str, int &value)
 
errc_t _aParseInt_StringStream (StringView str, int &value)
 
errc_t _aParseInt_Scanf (StringView str, int &value)
 
errc_t aParseDouble (StringView str, double &value)
 
errc_t aParseFortranDouble (StringView str, double &value)
 
errc_t _aParseFortranDouble_1 (StringView sv, double &value)
 
errc_t _aParseFortranDouble_2 (StringView sv, double &value)
 
errc_t _aParseDouble_LibC_1 (StringView str, double &value)
 
errc_t _aParseDouble_LibC_3 (StringView sv, double &value)
 
errc_t _aParseDouble_LibC_2 (StringView sv, double &value)
 
errc_t _aParseDouble_StringStream (StringView str, double &value)
 
errc_t _aParseDouble_Scanf (StringView str, double &value)
 
errc_t aParseColor (StringView str, Color &value)
 
void aFormatBool (bool value, std::string &str)
 
errc_t aFormatInt (int value, std::string &str)
 
errc_t aFormatDouble_Printf (double value, std::string &str, int precision)
 
errc_t aFormatDouble (double value, std::string &str, int precision=kDefaultFormatDoubleEps)
 
errc_t aFormatColor (Color value, std::string &str)
 
A_ALWAYS_INLINE std::string aFormatBool (bool value)
 
A_ALWAYS_INLINE std::string aFormatInt (int value)
 
A_ALWAYS_INLINE std::string aFormatDouble (double value, int precision=kDefaultFormatDoubleEps)
 
A_ALWAYS_INLINE std::string aFormatColor (Color value)
 
A_ALWAYS_INLINE bool aParseBool (StringView str)
 
A_ALWAYS_INLINE int aParseInt (StringView str)
 
A_ALWAYS_INLINE double aParseDouble (StringView str)
 
A_ALWAYS_INLINE double aParseFortranDouble (StringView str)
 
A_ALWAYS_INLINE Color aParseColor (StringView str)
 
A_ALWAYS_INLINE errc_t aFormatScalar (double value, std::string &str)
 
A_ALWAYS_INLINE errc_t aFormatScalar (int value, std::string &str)
 
A_ALWAYS_INLINE void aFormatScalar (bool value, std::string &str)
 
A_ALWAYS_INLINE std::string aFormatScalar (double value)
 
A_ALWAYS_INLINE std::string aFormatScalar (int value)
 
A_ALWAYS_INLINE std::string aFormatScalar (bool value)
 
AST_UTIL_API args_t aArgsGet ()
 
EEndian aGetEndian ()
 
bool aIsCI ()
 
bool aIsGithubCI ()
 
bool aIsGitlabCI ()
 
StringView aProjectName ()
 
bool is_term (int fd)
 
bool is_file (int fd)
 
bool aIsTerminal (FILE *file)
 
bool aIsFile (FILE *file)
 
bool aStdInIsTerminal ()
 
bool aStdInIsFile ()
 
bool aStdOutIsTerminal ()
 
bool aStdOutIsFile ()
 
bool aStdErrIsTerminal ()
 
bool aStdErrIsFile ()
 
std::string _aFileParentDir (StringView filepath_)
 
std::string aGetModulePathFromAddress (void *addr)
 
std::string aLibDir ()
 
std::string aExeDir ()
 
std::string aLibPath ()
 
std::string aExePath ()
 
bool aCanDisplayGUI ()
 
int ast_printf (const char *format,...)
 
int aCurrentLineNumber (std::FILE *file)
 
errc_t aGetFilePath (std::FILE *file, std::string &filepath)
 
A_ALWAYS_INLINE std::FILE * ast_fopen (const char *filepath, const char *mode)
 
A_ALWAYS_INLINE FILE * ast_freopen (const char *filepath, const char *mode, FILE *stream)
 
A_ALWAYS_INLINE int ast_vprintf (const char *format, va_list args)
 
A_ALWAYS_INLINE std::string aGetFilePath (std::FILE *file)
 
void * _aLoadLibrary (const char *filepath)
 
void * aLoadLibrary (const char *filepath)
 
void * aGetProcAddress (void *lib, const char *funcName)
 
void * aResolveProcAddress (const char *filepath, const char *funcName)
 
errc_t aFreeLibrary (void *lib)
 
const char * aGetLoadError ()
 
A_ALWAYS_INLINE int stricmp (const char *str1, const char *str2)
 
A_ALWAYS_INLINE int strnicmp (const char *str1, const char *str2, size_t n)
 
errc_t aUiEditObject (Object *object)
 
ObjectaUiSelectObject (StringView typeName)
 
std::string aDimName (EDimension dimension)
 
const char * aNumberToSuperscript (int number)
 
std::string aDimBasicSymbol (EDimension dimension)
 
std::string aDimSymbol (EDimension dimension)
 
template<typename T >
constexpr int dim_get_exponent (T dimension, int idx) noexcept
 
template<typename T >
A_CONSTEXPR_CXX14 EDimension dim_set_exponent (T dimension, int idx, int exponent) noexcept
 
template<typename T >
constexpr int dim_get_sum_abs_exponent (T dimension) noexcept
 
template<typename T >
constexpr dimension_t dim_product (T dim1, T dim2) noexcept
 
template<typename T >
constexpr dimension_t dim_divide (T dim1, T dim2) noexcept
 
template<typename T >
constexpr dimension_t dim_pow (T dimension, int n) noexcept
 
template<typename T >
constexpr dimension_t dim_invert (T dimension) noexcept
 
constexpr EDimension operator* (EDimension dim1, EDimension dim2) noexcept
 
constexpr EDimension operator/ (EDimension dim1, EDimension dim2) noexcept
 
A_CONSTEXPR_CXX14 bool aDimIsBase (EDimension dimension) noexcept
 
A_CONSTEXPR_CXX14 bool aDimIsDerived (EDimension dimension) noexcept
 
A_CONSTEXPR_CXX14 bool aDimIsUnit (EDimension dimension) noexcept
 
void aQuantityReduce (Quantity &q)
 
Quantity aQuantityAdd (const Quantity &q1, const Quantity &q2)
 
Quantity aQuantitySub (const Quantity &q1, const Quantity &q2)
 
Quantity aQuantityMul (const Quantity &q1, const Quantity &q2)
 
Quantity aQuantityMul (const Quantity &q, const Unit &unit)
 
Quantity aQuantityDiv (const Quantity &q1, const Quantity &q2)
 
Quantity aQuantityDiv (const Quantity &q, const Unit &unit)
 
std::string aQuantityToString (const Quantity &q)
 
Quantity operator* (double value, const Unit &unit)
 
A_ALWAYS_INLINE std::string aFormatQuantity (const Quantity &q)
 
Quantity operator* (double value, const Quantity &q)
 
Quantity operator/ (double value, const Quantity &q)
 
errc_t aQuantityParse (StringView str, double &magnitude, Unit &unit)
 
errc_t aQuantityParse (StringView str, Quantity &quantity)
 
Quantity aQuantityParse (StringView str)
 
Unit unit_multiply (const Unit &unit1, const Unit &unit2)
 
Unit unit_divide (const Unit &unit1, const Unit &unit2)
 
Unit unit_power (const Unit &unit, int exponent)
 
void unit_setname (Unit &unit, StringView name)
 
Unit aUnitMultiply (const Unit &unit1, const Unit &unit2)
 
Unit aUnitMultiply (const Unit &unit1, const Unit &unit2, StringView newname)
 
Unit aUnitDivide (const Unit &unit1, const Unit &unit2)
 
Unit aUnitDivide (const Unit &unit1, const Unit &unit2, StringView newname)
 
Unit aUnitPower (const Unit &unit, int exponent)
 
Unit aUnitPower (const Unit &unit, int exponent, StringView newname)
 
Unit aUnitInvert (const Unit &unit)
 
Unit aUnitInvert (const Unit &unit, StringView newname)
 
void aUnitFactorize (const Unit &unit, Unit &newUnit, double &scale)
 
void aUnitFactorize (Unit &unit, double &scale)
 
UnitaUnitGet (StringView name)
 
errc_t aUnitAdd (const Unit &unit)
 
errc_t aUnitAdd (StringView name, const Unit &unit)
 
errc_t aUnitParse (StringView str, Unit &unit)
 
Unit aUnitParse (StringView str)
 
errc_t aFakeGet (const void *container, void *value)
 
errc_t aFakeSet (void *container, const void *value)
 
Property_aNewPropertyBool (FPropertyGet getter, FPropertySet setter)
 
Property_aNewPropertyInt (FPropertyGet getter, FPropertySet setter)
 
Property_aNewPropertyDouble (FPropertyGet getter, FPropertySet setter)
 
Property_aNewPropertyString (FPropertyGet getter, FPropertySet setter)
 
Property_aNewPropertyQuantity (FPropertyGet getter, FPropertySet setter, Dimension dimension)
 
template<typename T >
A_ALWAYS_INLINE Property_aNewProperty (FPropertyGet getter, FPropertySet setter)
 
template<>
A_ALWAYS_INLINE Property_aNewProperty< bool > (FPropertyGet getter, FPropertySet setter)
 
template<>
A_ALWAYS_INLINE Property_aNewProperty< int > (FPropertyGet getter, FPropertySet setter)
 
template<>
A_ALWAYS_INLINE Property_aNewProperty< double > (FPropertyGet getter, FPropertySet setter)
 
template<>
A_ALWAYS_INLINE Property_aNewProperty< std::string > (FPropertyGet getter, FPropertySet setter)
 
template<typename T , bool T::* Member>
A_ALWAYS_INLINE PropertyaNewPropertyBoolMem ()
 
template<typename T , bool T::* Member>
A_ALWAYS_INLINE PropertyaNewPropertyBool ()
 
template<typename T , int T::* Member>
A_ALWAYS_INLINE PropertyaNewPropertyIntMem ()
 
template<typename T , int T::* Member>
A_ALWAYS_INLINE PropertyaNewPropertyInt ()
 
template<typename T , double T::* Member>
A_ALWAYS_INLINE PropertyaNewPropertyDoubleMem ()
 
template<typename T , double T::* Member>
A_ALWAYS_INLINE PropertyaNewPropertyDouble ()
 
template<typename T , double T::* Member>
A_ALWAYS_INLINE PropertyaNewPropertyQuantityMem (Dimension dimension)
 
template<typename T , double T::* Member>
A_ALWAYS_INLINE PropertyaNewPropertyQuantity (Dimension dimension)
 
template<typename T , std::string T::* Member>
A_ALWAYS_INLINE PropertyaNewPropertyStringMem ()
 
template<typename T , std::string T::* Member>
A_ALWAYS_INLINE PropertyaNewPropertyString ()
 
template<typename T , bool(T::*)() const Getter, void(T::*)(bool) Setter>
A_ALWAYS_INLINE PropertyaNewPropertyBool ()
 
template<typename T , int(T::*)() const Getter, void(T::*)(int) Setter>
A_ALWAYS_INLINE PropertyaNewPropertyInt ()
 
template<typename T , double(T::*)() const Getter, void(T::*)(double) Setter>
A_ALWAYS_INLINE PropertyaNewPropertyDouble ()
 
template<typename T , double(T::*)() const Getter, void(T::*)(double) Setter>
A_ALWAYS_INLINE PropertyaNewPropertyQuantity (Dimension dimension)
 
template<typename T , const std::string &(T::*)() const Getter, void(T::*)(StringView) Setter>
A_ALWAYS_INLINE PropertyaNewPropertyString ()
 
void aGetAllClassNames (std::vector< std::string > &names)
 
ClassaGetClass (StringView name)
 
void aRegisterClass (Class *cls)
 
ObjectaGetClassDefaultObject (StringView name)
 
ObjectaGetClassDefaultObject (Class *cls)
 
ObjectaNewObject (StringView name, Object *parentScope=nullptr)
 
void aDeleteObject (Object *obj)
 
SharedPtr< ObjectaMakeObject (StringView name, Object *parentScope=nullptr)
 
ObjectaGetObject (uint32_t id)
 
uint32_t aAddObject (Object *object)
 
errc_t aSetParentScope (Object *obj, Object *parentScope)
 
ObjectaGetParentScope (Object *obj)
 
AST_UTIL_CAPI uint32_t aGetObjectID (Object *obj)
 
AST_UTIL_API ObjectaFindChild (Object *parentScope, Class *cls, StringView name)
 
template<typename T >
NameValuePair< T > make_nvp (const char *name, T &val)
 
errc_t aObjectToCppCode (Object *object, std::string &cppcode)
 
errc_t aObjectToCppFile (Object *object, StringView cppfilepath)
 
errc_t aObjectSerialize (Object *object, ESerializationFormat format, std::string &output)
 
errc_t aObjectDeserialize (const std::string &input, ESerializationFormat format, Object *object)
 
AST_UTIL_CAPI errc_t aAnsiToWide (const char *ansi, std::wstring &wide)
 
AST_UTIL_CAPI errc_t aUtf8ToWide (const char *utf8, std::wstring &wide)
 
AST_UTIL_CAPI errc_t aWideToAnsi (const wchar_t *wide, std::string &ansi)
 
AST_UTIL_CAPI errc_t aWideToUtf8 (const wchar_t *wide, std::string &utf8)
 
template<typename Delimiter >
strings_internal::Splitter< typename strings_internal::SelectDelimiter< Delimiter >::type, strings_internal::AllowEmpty, StringViewaStrSplit (StringView text, Delimiter delimiter)
 
template<typename Delimiter , typename Predicate >
strings_internal::Splitter< typename strings_internal::SelectDelimiter< Delimiter >::type, Predicate, StringViewaStrSplit (StringView text, Delimiter delimiter, Predicate predicate)
 
template<typename Delimiter >
strings_internal::MaxSplitsImpl< typename strings_internal::SelectDelimiter< Delimiter >::type > MaxSplits (Delimiter delimiter, int limit)
 
bool aEqualsIgnoreCase (StringView piece1, StringView piece2) noexcept
 
StringView aStripAsciiWhitespace (StringView str) noexcept
 
StringView aStripTrailingAsciiWhitespace (StringView str) noexcept
 
StringView aStripLeadingAsciiWhitespace (StringView str) noexcept
 
std::string aAsciiStrToLower (StringView str)
 
std::string aAsciiStrToUpper (StringView str)
 
template<typename _Char >
std::basic_ostream< _Char > & operator<< (std::basic_ostream< _Char > &os, const StringViewBasic< _Char > &sv)
 
StringView operator""_sv (const char *str, size_t len) noexcept
 
WStringView operator""_sv (const wchar_t *str, size_t len) noexcept
 
constexpr color_t rgb (uint8_t r, uint8_t g, uint8_t b)
 
constexpr color_t rgba (uint8_t r, uint8_t g, uint8_t b, uint8_t a)
 
A_CONSTEXPR_CXX14 void aColorToRGB (color_t color, uint8_t &r, uint8_t &g, uint8_t &b) noexcept
 
A_CONSTEXPR_CXX14 void aColorToRGBA (color_t color, uint8_t &r, uint8_t &g, uint8_t &b, uint8_t &a) noexcept
 
A_ALWAYS_INLINE double aLightSpeed () noexcept
 
void aDebugBreak ()
 
void aLogMessageV (ELogLevel level, const MessageLogContext &context, const char *format, va_list ap)
 
void aLogMessage (ELogLevel level, const MessageLogContext &context, const char *format,...)
 
A_ALWAYS_INLINE void sincos (double x, double *psin, double *pcos)
 
A_ALWAYS_INLINE SinCos sincos (double x)
 
template<typename Scalar >
Scalar aMax (Scalar a, Scalar b)
 
template<typename Scalar >
Scalar aMin (Scalar a, Scalar b)
 
A_ALWAYS_INLINE double aNormalizeAngleStart (double angle, double start)
 
A_ALWAYS_INLINE double aNormalizeAngle (double angle, double center)
 
A_ALWAYS_INLINE double aNormalizeAngle0To2Pi (double angle)
 
A_ALWAYS_INLINE double aNormalizeAngleNegPiToPi (double angle)
 
A_ALWAYS_INLINE double aNormalizeAngleNeg2PiTo0 (double angle)
 
A_ALWAYS_INLINE double rad2deg (double x)
 
A_ALWAYS_INLINE double deg2rad (double x)
 
A_ALWAYS_INLINE double sind (double x)
 
A_ALWAYS_INLINE double cosd (double x)
 
A_ALWAYS_INLINE double tand (double x)
 
A_ALWAYS_INLINE double asind (double x)
 
A_ALWAYS_INLINE double acosd (double x)
 
A_ALWAYS_INLINE double atand (double x)
 
A_ALWAYS_INLINE double atan2d (double y, double x)
 
errc_t aParsePolynomial (StringView content, StringView varname, std::vector< double > &coeffs)
 
errc_t aParsePolynomial (StringView content, std::vector< double > &coeffs)
 
std::string aFormatPolynomial (const std::vector< double > &coeffs, StringView varname)
 
A_ALWAYS_INLINE errc_t aParsePolynomial (StringView content, Polynomial &poly)
 
A_ALWAYS_INLINE errc_t aParsePolynomial (StringView content, StringView varname, Polynomial &poly)
 
errc_t aDataDirGetDefault (std::string &datadir)
 
std::string aDataDirGetDefault ()
 
errc_t aDataDir (std::string &datadir)
 
std::string aDataDir ()
 
AST_WEATHER_CAPI double aAtmDensUSSA1976 (double alt)
 
A_ALWAYS_INLINE AEP8DataArray & aep8DataArray ()
 
double aep8 (double e, double l, double bb0, int iname)
 
double get_flux (double lon, double lat, double height, double energy, double year, int iname)
 
void igrf (double lon, double lat, double height, double year, double &xl, double &bbx)
 
int igrf13syn (int isv, double date, int itype, double alt, double colat, double elong, double &x, double &y, double &z, double &f)
 
void aLagrangeInterpolate (const double arrX[], const double tableY[], int n, int dimy, double x, double *y)
 
void aLagrangeInterpolate2 (const double arrX[], const double tableY[], int n, int dimy, double x, double *y)
 
void aLagrangeInterpolate (const double arrX[], const double tableY[], int n, int dimy, double x, double *y, double *workArray)
 
void aLagrangeInterpolateFixedStep (const double arrX[], const double tableY[], int n, int dimy, double x, double *y, const double *denomArray)
 
void aLagrangeInterpolateDenomArray (int n, double step, double *denomArray)
 

变量

A_THREAD_LOCAL NutationCache tNutationCache {std::numeric_limits<double>::quiet_NaN(), 0.0, 0.0, 0.0}
 
NutationFunc aNutation = &aNutation_IAU1980_Impl
 
constexpr size_t kSizeOfDataContext = sizeof(DataContext)
 
A_THREAD_LOCAL DataContextt_currentDataContext = nullptr
 
std::unique_ptr< DataContextg_defaultDataContext = nullptr
 
A_THREAD_LOCAL XYSCache tXYSCache {std::numeric_limits<double>::quiet_NaN(), {0.0, 0.0, 0.0}}
 
constexpr int MAX_EXPECTED_LINES = 10000000
 
const char * kSpiceUnloadError = "spice library not loaded, call SpiceApi::load first"
 
constexpr const char * kIdentifierPos = "Pos"
 
constexpr const char * kIdentifierVel = "Vel"
 
constexpr const char * kIdentifierAcc = "Acc"
 
constexpr const char * kIdentifierAccTwoBody = "AccTwoBody"
 
constexpr const char * kIdentifierAccThirdBody = "AccThirdBody"
 
constexpr const char * kIdentifierAccGravity = "AccGravity"
 
constexpr const char * kIdentifierAccGravityPert = "AccGravityPert"
 
constexpr const char * kIdentifierAccRelativity = "AccRelativity"
 
constexpr const char * kIdentifierAccDrag = "AccDrag"
 
constexpr const char * kIdentifierAccSRP = "AccSRP"
 
const int iii = sizeof(BodyEphemeris)
 
constexpr double kTimeDefaultFormatPrecision = 3
 
constexpr const double kDefaultRelTol = 1e-14
 
constexpr const double kDefaultAbsTol = 1e-12
 
constexpr const int kDefaultMaxIter = 100
 
const double err_factor = -41.0 / 840.0
 
const int num_stage_rkf78 = 13
 
const double x [6] = {1,2,3,4,5,6}
 
const double y [6][3] = {{1,2,3},{4,5,6},{7,8,9},{10,11,12},{13,14,15},{16,17,18}}
 
int int_key
 
int int_value
 
A_THREAD_LOCAL int key_tl
 
A_THREAD_LOCAL int value_tl
 
EOP eop
 
DataContext context
 
A_THREAD_LOCAL DataContext context_tl
 
std::string str_value
 
A_THREAD_LOCAL ScriptContext tCurrentScriptContext {&gInterpreter}
 
const char * OpAssignTypeStr []
 
const char * OpUnaryTypeStr []
 
A_THREAD_LOCAL IterateFunc tFunc = nullptr
 
A_THREAD_LOCAL ClasstType = nullptr
 
auto __iterate_registry_initializer
 
auto __opbin_registry_initializer
 
auto __opunary_registry_initializer
 
constexpr size_t dynamic_extent = static_cast<size_t>(-1)
 
const char * symbol_separator = aText("\u00b7")
 
constexpr size_t sizeof_dimension = sizeof(EDimension)
 
constexpr size_t bits_of_dimension = sizeof_dimension * 8
 
const char * unit_name_separator = aText("\u00b7")
 
const std::string empty
 
constexpr double kJ1900Epoch = 2415020.0
 
constexpr double kJ1950Epoch = 2433282.5
 
constexpr double kJ2000Epoch = 2451545.0
 
constexpr double kJ2100Epoch = 2488070.0
 
constexpr double kB1900Epoch = 2415020.31352
 
constexpr double kB1950Epoch = 2433282.42345905
 
constexpr double kTTMinusTAI = 32.184
 
constexpr double kGPSMinusTAI = 19.0
 
constexpr double kTTMinusTAIInDay = 32.184/86400
 
constexpr double kMJDRefEpoch = 2400000.5
 
constexpr double kPI = 3.141592653589793238462643383279502884197169399375105
 
constexpr double kTwoPI = 6.283185307179586476925286766558
 
constexpr double kFourPI = 12.566370614359172953850573533116
 
constexpr double kHalfPI = 1.5707963267948966192313216916395
 
constexpr double kThirdPI = 1.047197551196597746154214461093
 
constexpr double kQuarterPI = 0.78539816339744830961566084581975
 
constexpr double kSqrPI = 9.869604401089358618834490999873
 
constexpr double kAU = 1.49597870691e11
 
constexpr double kLightSpeed = 2.99792458e8
 
constexpr double kGrav = 6.673e-11
 
constexpr double kEarthGrav = 3.986004418e14
 
constexpr double kEarthGrav_EGM2008 = 3.986004415e14
 
constexpr double kEarthRadius = 6378137.0
 
constexpr double kEarthMinRadius = 6.35675231424E6
 
constexpr double kEarthFlatFact = 3.35281066475E-3
 
constexpr double kEarthSiderealDay = 86164.09054
 
constexpr double kEarthSiderealYear = 365.25636
 
constexpr double kEarthAngVel = 7.292115146706979e-5
 
constexpr double kMoonGrav = 4.9028029535968e+12
 
constexpr double kMoonRadius = 1737400.0
 
constexpr double kMoonMinRadius = 1737400.0
 
constexpr double kJupiterGrav = 1.26712000000000e+017
 
constexpr double kJupiterRadius = 7.14920000000000e+007
 
constexpr double kJupiterMinRadius = 6.68540000000000e+007
 
constexpr double kMarsGrav = 4.28283719012840e+013
 
constexpr double kMarsRadius = 3.39700000000000e+006
 
constexpr double kMarsMinRadius = 3.37500000000000e+006
 
constexpr double kMercuryGrav = 2.20320800000000e+013
 
constexpr double kMercuryRadius = 2.43970000000000e+006
 
constexpr double kMercuryMinRadius = 2.43970000000000e+006
 
constexpr double kNeptuneGrav = 6.87130000000000e+015
 
constexpr double kNeptuneRadius = 2.52690000000000e+007
 
constexpr double kNeptuneMinRadius = 2.48000000000000e+007
 
constexpr double kPlutoGrav = 1.00907600000000e+012
 
constexpr double kPlutoRadius = 1.16200000000000e+006
 
constexpr double kPlutoMinRadius = 1.16200000000000e+006
 
constexpr double kSaturnGrav = 3.79340000000000e+016
 
constexpr double kSaturnRadius = 6.02680000000000e+007
 
constexpr double kSaturnMinRadius = 5.43640000000000e+007
 
constexpr double kSunGrav = 1.327122E20
 
constexpr double kSunRadius = 695990000.0
 
constexpr double kSunMinRadius = 695990000.0
 
constexpr double kUranusGrav = 5.80320000000000e+015
 
constexpr double kUranusRadius = 2.55590000000000e+007
 
constexpr double kUranusMinRadius = 2.49730000000000e+007
 
constexpr double kVenusGrav = 3.24858800000000e+014
 
constexpr double kVenusRadius = 6.05190000000000e+006
 
constexpr double kVenusMinRadius = 6.05190000000000e+006
 
constexpr double kMeterToKilometer = 1.0e-03
 
constexpr double kMeterToCentimeter = 1.0e+02
 
constexpr double kMeterToMillimeter = 1.0e+03
 
constexpr double kMeterToMicroMeter = 1.0e+06
 
constexpr double kMeterToNanometer = 1.0e+09
 
constexpr double kKilometerToMeter = 1.0e03
 
constexpr double kCentimeterToMeter = 1.e-02
 
constexpr double kMillimeterToMeter = 1.e-03
 
constexpr double kMicroMeterToMeter = 1.e-06
 
constexpr double kNanometerToMeter = 1.e-09
 
constexpr double kSecToMin = 0.0166666666666666667
 
constexpr double kSecToHour = 0.000277777777777777778
 
constexpr double kSecToDay = 0.0000115740740740740741
 
constexpr double kMinToSec = 60.0
 
constexpr double kMinToHour = 0.0166666666666666667
 
constexpr double kMinToDay = 0.000694444444444444444
 
constexpr double kHourToSec = 3600.0
 
constexpr double kHourToMin = 60.0
 
constexpr double kHourToDay = 0.0416666666666666667
 
constexpr double kDayToSec = 8.64e04
 
constexpr double kDayToMin = 1440.0
 
constexpr double kDayToHour = 24.0
 
constexpr double kMilliSecToSec = 1.0e-03
 
constexpr double kMicroSecToSec = 1.0e-06
 
constexpr double kNanoSecToSec = 1.0e-09
 
constexpr double kPicoSecToSec = 1.0e-12
 
constexpr double kSecToMilliSec = 1.0e+03
 
constexpr double kSecToMicroSec = 1.0e+06
 
constexpr double kSecToNanoSec = 1.0e+09
 
constexpr double kSecToPicoSec = 1.0e+12
 
constexpr double kDaysPerJulianCentury = 36525.0
 
constexpr double kDaysPerJulianYear = 365.25
 
constexpr double kSecondsPerDay = 86400.0
 
constexpr double kSecondsPerHour = 3600.0
 
constexpr double kSecondsPerMinute = 60.0
 
constexpr double kSecondsPerJulianYear = 31557600.0
 
constexpr double kRadToDeg = 57.2957795130823208767
 
constexpr double kDegToRad = 0.017453292519943295769236907684886
 
constexpr double kArcSecToRad = 4.848136811095359935899141e-6
 
constexpr double kArcMinToRad = 2.9088820866572159615394846141477e-4
 
constexpr double kTimeSecToRad = 7.2722052166430399038487115353692e-5
 
constexpr double kTimeMinToRad = 0.0043633231299858239423092269212215
 
constexpr double kRevolutionToRad = kTwoPI
 
DataDirFunc fDataDir {nullptr}
 

详细描述

@fixme 头文件依赖倒置

ast项目(https://github.com/space-ast/ast) 本项目基于 Apache 2.0 开源许可证分发。 您可在遵守许可证条款的前提下使用、修改和分发本软件。 许可证全文请见:

http://www.apache.org/licenses/LICENSE-2.0

重要须知: 软件按“现有状态”提供,无任何明示或暗示的担保条件。 除非法律要求或书面同意,作者与贡献者不承担任何责任。 使用本软件所产生的风险,需由您自行承担。

本项目基于 Apache 2.0 开源许可证分发。 您可在遵守许可证条款的前提下使用、修改和分发本软件。 许可证全文请见:

http://www.apache.org/licenses/LICENSE-2.0

重要须知: 软件按“现有状态”提供,无任何明示或暗示的担保条件。 除非法律要求或书面同意,作者与贡献者不承担任何责任。 使用本软件所产生的风险,需由您自行承担。

类型定义说明

◆ AEDimension

量纲枚举类

采用enum class,避免隐式转换为算数类型参与运算,应使用量纲的自定义运算符

每个量纲维度由4个bit表示,指数范围为-8到7

枚举类型说明

◆ EDeDataCode

枚举值
eDeMercury 

Mercury relative to SS BaryCenter

eDeVenus 

Venus relative to SS BaryCenter

eDeEMBaryCenter 

EMBaryCenter relative to SS BaryCenter

eDeMars 

Mars relative to SS BaryCenter

eDeJupiter 

Jupiter relative to SS BaryCenter

eDeSaturn 

Saturn relative to SS BaryCenter

eDeUranus 

Uranus relative to SS BaryCenter

eDeNeptune 

Neptune relative to SS BaryCenter

eDePluto 

Pluto relative to SS BaryCenter

eDeMoon 

Moon relative to geocenter

eDeSun 

Sun relative to SS BaryCenter

eDeNutation 

longitude and obliquity (IAU 1980 model) 地球经线章动和倾斜

eDeLibration 

月面天平动

eDeLunarAngVel 

月面角速度

eDeTT_TDB 

(at geocenter)

◆ EDimension

enum class ast::EDimension : dimension_t
strong

量纲枚举类

采用enum class,避免隐式转换为算数类型参与运算,应使用量纲的自定义运算符

每个量纲维度由4个bit表示,指数范围为-8到7

枚举值
eUnit 

单位量纲

eLength 

长度L (相应的基本单位: m)

eMass 

质量M (相应的基本单位: kg)

eTime 

时间T (相应的基本单位: s)

eCurrent 

电流I (相应的基本单位: A)

eTemperature 

温度Θ (相应的基本单位: K)

eAmount 

物质量N (相应的基本单位: mol)

eLuminous 

发光强度J (相应的基本单位: cd)

eAngle 

角度

eAngVel 

角速度(别名)

eAngularVelocity 

角速度

eArea 

面积 L^2

eVolume 

体积 L^3

eSpeed 

速度 L·T^-1

eAcceleration 

加速度 L·T^-2

eForce 

力 M·L·T^-2

ePressure 

压力 M·L^-1·T^-2

eEnergy 

能量 M·L^2·T^-2

ePower 

功率 M·L^2·T^-3

eFrequency 

频率 T^-1

◆ EInterpolationMethod

枚举值
eUnknown 

未知插值方法

eLagrange 

Lagrange插值

◆ ELogicalOperatorType

enum class ast::ELogicalOperatorType
strong

逻辑运算符类型枚举

枚举值
eAnd 

逻辑与

eOr 

逻辑或

eNot 

逻辑非

eXor 

逻辑异或

◆ EOrientationType

enum class ast::EOrientationType
strong

轨道面方向描述方式

枚举值
eRAAN 

升交点赤经

eLAN 

升交点经度

◆ EPositionType

enum class ast::EPositionType
strong

轨道位置描述方式

枚举值
eTrueAnomaly 

真近点角

eMeanAnomaly 

平近点角

eEccAnomaly 

偏近点角

eArgLat 

纬度幅角

eTimePastPeri 

过近地点后经过的时间

eTimePastAscNode 

过升交点后经过的时间

eTimeOfPeriPassage 

过近地点时刻

eTimeOfAscNodePassage 

过升交点时刻

◆ ERelationalOperatorType

enum class ast::ERelationalOperatorType
strong

关系运算符类型枚举

枚举值
eEqual 

等于

eNotEqual 

不等于

eGreaterThan 

大于

eLessThan 

小于

eGreaterOrEqual 

大于等于

eLessOrEqual 

小于等于

◆ ESerializationFormat

enum class ast::ESerializationFormat
strong

序列化格式枚举

枚举值
eJson 

JSON格式

eXml 

XML格式

eCpp 

C++代码

eJava 

Java代码

ePython 

Python代码

◆ EShapeType

enum class ast::EShapeType
strong

轨道形状描述方式

枚举值
eEcc 

偏心率

eApoAlt 

远地点高度

eApoRad 

远地点半径

ePeriAlt 

近地点高度

ePeriRad 

近地点半径

◆ ESizeType

enum class ast::ESizeType
strong

轨道大小描述方式

枚举值
eSMA 

半长轴

eApoAlt 

远地点高度

eApoRad 

远地点半径

ePeriAlt 

近地点高度

ePeriRad 

近地点半径

ePeriod 

周期

eMeanMotion 

平均角速度

◆ EStateType

enum class ast::EStateType
strong

状态类型

枚举值
eCartesian 

笛卡尔状态

eKeplerian 

开普勒状态

eUnknown 

未知状态类型

函数说明

◆ _aNewProperty< TimePoint >()

template<>
A_ALWAYS_INLINE Property * ast::_aNewProperty< TimePoint > ( FPropertyGet getter,
FPropertySet setter )

创建一个时间点属性

警告
本函数为内部函数,不建议直接调用。
参数
getter获取属性值的函数指针
setter设置属性值的函数指针
返回
Property* 属性指针

◆ _aNewPropertyTimePoint()

AST_CORE_CAPI Property * ast::_aNewPropertyTimePoint ( FPropertyGet getter,
FPropertySet setter )

创建一个时间点属性

警告
本函数为内部函数,不建议直接调用。
参数
getter获取属性值的函数指针
setter设置属性值的函数指针
返回
Property* 属性指针

◆ aArgsGet()

AST_UTIL_API args_t ast::aArgsGet ( )

获取命令行参数

返回
args_t 命令行参数结构体

◆ aCheckFloatingBehaviorIEEE754()

bool ast::aCheckFloatingBehaviorIEEE754 ( )

检测浮点模式中特殊值行为是否符合IEEE754规范

返回

◆ aColMajorMatrixPrint()

AST_MATH_CAPI void ast::aColMajorMatrixPrint ( const double * matrix,
int rows,
int cols,
FILE * file = stdout )

打印列主序矩阵到文件

参数
matrix列主序矩阵
rows矩阵行数
cols矩阵列数
file输出文件指针,默认打印到标准输出

◆ aColMajorMatrixToString()

AST_MATH_API std::string ast::aColMajorMatrixToString ( const double * matrix,
int rows,
int cols )

将列主序矩阵转换为字符串

参数
matrix列主序矩阵
rows矩阵行数
cols矩阵列数
返回
矩阵字符串表示

◆ aEarthRotationAngle_IAU2000()

AST_CORE_CAPI double ast::aEarthRotationAngle_IAU2000 ( const TimePoint & tp)

计算给定时间点的地球自转角度,依据IAU2000规范

参考SOFA函数 iauEra00

参数
[in]tp时间点
返回
对应时间点的地球自转角度(弧度)

◆ aEarthRotationAngleUT1_IAU2000()

AST_CORE_CAPI double ast::aEarthRotationAngleUT1_IAU2000 ( const JulianDate & jdUT1)

计算给定UT1时间的地球自转角度,依据IAU2000规范

参考SOFA函数 iauEra00

参数
[in]jdUT1UT1时间(儒略日)
返回
对应UT1时间的地球自转角度(弧度)

◆ aEquationOfEquinoxes_IAU1994() [1/2]

A_ALWAYS_INLINE double ast::aEquationOfEquinoxes_IAU1994 ( const TimePoint & tp)

直接将TT作为TDB使用是可行的吗?

◆ aEquationOfEquinoxes_IAU1994() [2/2]

AST_CORE_CAPI double ast::aEquationOfEquinoxes_IAU1994 ( double t)

计算给定时间点的赤经章动,依据IAU1994规范

赤经章动是真春分点平春分点之间的时角差, 用于将格林尼治平恒星时(GMST)转换为格林尼治视恒星时(GAST) 公式:GAST = GMST + Equation Of Equinoxes

参考SOFA函数 iauEqeq94

参数
[in]t与J2000.0 TDB 的时间差(儒略世纪)
返回
赤经章动(弧度)

◆ aFundamentalArguments_IERS2003()

AST_CORE_CAPI void ast::aFundamentalArguments_IERS2003 ( double t,
FundamentalArguments & fundargs )

计算IERS 2003年规范章动理论所涉及的行星基本轨道参数

参考IERS技术手册32(IERS Technical Note 32)的公式 40 和公式 41 https://www.iers.org/IERS/EN/Publications/TechnicalNotes/TechnicalNotes

参数
t儒略世纪数(Julian Century),以2000年1月1日12:00:00 TDB为基准
fundargs输出行星基本轨道参数

◆ aFundamentalArguments_IERS2010()

AST_CORE_CAPI void ast::aFundamentalArguments_IERS2010 ( double t,
FundamentalArguments & fundargs )

计算IERS 2010年规范章动理论所涉及的行星基本轨道参数

参考IERS技术手册36(IERS Technical Note 36)的公式5.43和公式5.44 https://www.iers.org/IERS/EN/Publications/TechnicalNotes/TechnicalNotes

参数
t儒略世纪数(Julian Century),以2000年1月1日12:00:00 TDB为基准
fundargs输出行星基本轨道参数

◆ aFundamentalArgumentsNormalizeAngle0To2Pi()

AST_CORE_CAPI void ast::aFundamentalArgumentsNormalizeAngle0To2Pi ( FundamentalArguments & fundargs)

归一化章动理论所涉及的行星基本轨道参数的角度到[0, 2π)区间

参数
fundargs输入输出行星基本轨道参数

◆ aGAST_IAU1994()

AST_CORE_CAPI double ast::aGAST_IAU1994 ( const TimePoint & tp)

计算给定时间点的格林尼治视恒星时(GAST),依据IAU1982规范

参考SOFA函数 iauGst94

参数
[in]tp时间点
返回
对应时间点的格林尼治视恒星时 GAST(弧度)

◆ aGeometryTransform()

template<typename GeometryType , typename RotationType >
A_ALWAYS_INLINE errc_t ast::aGeometryTransform ( GeometryType * source,
GeometryType * target,
const TimePoint & tp,
RotationType & rotation )

计算出源坐标系和目标坐标系的深度, 同时分别填充源坐标系路径和目标坐标系路径。 最后从源坐标系路径和目标坐标系路径的末尾开始比较, 找到第一个相同的坐标系, 则该坐标系为最近公共祖先

假设坐标系的深度不会超过256层, 因此使用了一个256层的栈数组来存储源坐标系路径和目标坐标系路径。 为了避免缓冲区溢出,我们使用uint8_t类型来存储深度

待办事项
在寻找最近公共祖先时,如果出现了超过256层的意外情况(非常非常罕见), 需要进入动态分配内存的计算模式
待办事项
这里应该可以专门写个函数将 .inverse() * 的计算进行合并

◆ aGetInputPortDataType()

AST_CORE_CAPI int ast::aGetInputPortDataType ( FuncBlock * block,
size_t portIndex )

获取函数块输入端口数据类型

参考 simulink API的 ssGetInputPortDataType 函数

参数
block函数块指针
portIndex输入端口索引
返回
数据类型

◆ aGetInputPortRealSignal()

AST_CORE_CAPI double * ast::aGetInputPortRealSignal ( FuncBlock * block,
size_t portIndex )

获取函数块输入端口的实数值信号

参考 simulink API的 ssGetInputPortRealSignal 函数

参数
block函数块指针
portIndex输入端口索引
返回
实数值指针

◆ aGetInputPortSignal()

AST_CORE_CAPI const void * ast::aGetInputPortSignal ( FuncBlock * block,
size_t portIndex )

获取函数块输入端口的信号(指向数据的指针)

参考 simulink API的 ssGetInputPortSignal 函数

参数
block函数块指针
portIndex输入端口索引
返回
信号(指向数据的指针)

◆ aGetInputPortWidth()

AST_CORE_CAPI int ast::aGetInputPortWidth ( FuncBlock * block,
size_t portIndex )

获取函数块输入端口的宽度

参考 simulink API的 ssGetInputPortWidth 函数

参数
block函数块指针
portIndex输入端口索引
返回
端口宽度

◆ aGetJ2AnalyticalParams()

void ast::aGetJ2AnalyticalParams ( const ModOrbElem & modOrbElem,
double gm,
double j2,
double re,
double & meanAnomalyDot,
double & raanDot,
double & argPeriDot )
extern

◆ aGetNumInputPorts()

AST_CORE_CAPI size_t ast::aGetNumInputPorts ( FuncBlock * block)

获取函数块输入端口数量

参考 simulink API的 ssGetNumInputPorts 函数

参数
block函数块指针
返回
输入端口数量

◆ aGetNumOutputPorts()

AST_CORE_CAPI size_t ast::aGetNumOutputPorts ( FuncBlock * block)

获取函数块输出端口数量

参考 simulink API的 ssGetNumOutputPorts 函数

参数
block函数块指针
返回
输出端口数量

◆ aGetOutputPortDataType()

AST_CORE_CAPI int ast::aGetOutputPortDataType ( FuncBlock * block,
size_t portIndex )

获取函数块输出端口数据类型

参考 simulink API的 ssGetOutputPortDataType 函数

参数
block函数块指针
portIndex输出端口索引
返回
数据类型

◆ aGetOutputPortRealSignal()

AST_CORE_CAPI double * ast::aGetOutputPortRealSignal ( FuncBlock * block,
size_t portIndex )

获取函数块输出端口的实数值信号

参考 simulink API的 ssGetOutputPortRealSignal 函数

参数
block函数块指针
portIndex输出端口索引
返回
实数值指针

◆ aGetOutputPortSignal()

AST_CORE_CAPI void * ast::aGetOutputPortSignal ( FuncBlock * block,
size_t portIndex )

获取函数块输出端口的信号(指向数据的指针)

参考 simulink API的 ssGetOutputPortSignal 函数

参数
block函数块指针
portIndex输出端口索引
返回
信号(指向数据的指针)

◆ aGetOutputPortWidth()

AST_CORE_CAPI int ast::aGetOutputPortWidth ( FuncBlock * block,
size_t portIndex )

获取函数块输出端口的宽度

参考 simulink API的 ssGetOutputPortWidth 函数

参数
block函数块指针
portIndex输出端口索引
返回
端口宽度

◆ aGMST_IAU1982()

AST_CORE_CAPI double ast::aGMST_IAU1982 ( const TimePoint & tp)

计算给定时间点的格林尼治平恒星时(GMST),依据IAU1982规范

参考SOFA函数 iauGmst82

参数
[in]tp时间点
返回
对应时间点的格林尼治平恒星时 GMST(弧度)

◆ aGMST_UT1_IAU1982()

AST_CORE_CAPI double ast::aGMST_UT1_IAU1982 ( const JulianDate & jdUT1)

计算给定UT1时间的格林尼治平恒星时(GMST),依据IAU1982规范

参考SOFA函数 iauGmst82

参数
[in]jdUT1UT1时间(儒略日)
返回
对应UT1时间的格林尼治平恒星时 GMST(弧度)

◆ aGravityFieldNormalize()

void ast::aGravityFieldNormalize ( GravityField & gf)

归一化重力场

参数
gf待归一化的重力场

◆ aGravityFieldUnnormalize()

void ast::aGravityFieldUnnormalize ( GravityField & gf)

反归一化重力场

参数
gf待反归一化的重力场

◆ aGuiInit()

AST_GUI_CAPI errc_t ast::aGuiInit ( )

初始化Gui

返回
errc_t

◆ aGUIInterfaceImpl()

AST_GUI_CAPI GUIInterface * ast::aGUIInterfaceImpl ( )

获取GUI接口实现类实例

返回
GUI接口实现类实例

◆ aIAUResolutionC7()

double ast::aIAUResolutionC7 ( double om)
inline

IAU Resolution C7

参数
om
返回

◆ aIdentifier() [1/4]

A_ALWAYS_INLINE Identifier * ast::aIdentifier ( const char * str)

创建一个标识符

参数
str标识符字符串
返回
标识符指针

◆ aIdentifier() [2/4]

AST_UTIL_API Identifier * ast::aIdentifier ( const char * str,
size_t len )

创建一个标识符

参数
str标识符字符串
len标识符字符串长度
返回
标识符指针

◆ aIdentifier() [3/4]

AST_UTIL_API Identifier * ast::aIdentifier ( const std::string & str)

创建一个标识符

参数
str标识符字符串
返回
标识符指针

◆ aIdentifier() [4/4]

AST_UTIL_API Identifier * ast::aIdentifier ( const StringView & str)

创建一个标识符

参数
str标识符字符串
返回
标识符指针

◆ aInitializeByConfig()

errc_t ast::aInitializeByConfig ( DataContext * context,
StringView configfile )
待办事项
这里获取到的路径可能是相对路径,要处理相对路径问题!

◆ aIsClose()

AST_MATH_CAPI bool ast::aIsClose ( double a,
double b,
double relTol = kDefaultRelTol,
double absTol = kDefaultAbsTol )

判断两个数是否接近

参数
a第一个数
b第二个数
relTol相对误差容限
absTol绝对误差容限
返回
如果两个数接近,则返回true;否则返回false

◆ aLoadBody()

AST_CORE_CAPI errc_t ast::aLoadBody ( StringView filepath,
HCelestialBody & body )

从文件加载一个天体

参数
filepath- 天体文件路径
body- 天体指针
返回值
-错误码

◆ aLoadMover()

AST_SIM_CAPI errc_t ast::aLoadMover ( StringView filepath,
Mover & mover )

加载移动对象

从文件加载移动对象

参数
filepath文件路径
mover移动对象引用
返回
错误码

◆ aLoadSTKEphemeris() [1/3]

AST_CORE_API errc_t ast::aLoadSTKEphemeris ( BKVParser & parser,
HEphemeris & ephemeris )

加载STK星历文件

参数
parserBKV解析器
ephemeris星历句柄
返回
错误码

◆ aLoadSTKEphemeris() [2/3]

AST_CORE_API errc_t ast::aLoadSTKEphemeris ( BKVParser & parser,
ScopedPtr< Ephemeris > & ephemeris )

加载STK星历文件

参数
parserBKV解析器
ephemeris星历句柄
返回
错误码

< 二进制文件名称

< 星历点数

< 场景时间点

< 插值方法

< 插值样本数减1(Minus 1),相当于插值阶数

< 距离单位的因子

< 天体

< 坐标系

< 位置序列

< 速度序列

< 时间序列

◆ aLoadSTKEphemeris() [3/3]

AST_CORE_API errc_t ast::aLoadSTKEphemeris ( StringView filepath,
HEphemeris & ephemeris )

加载STK星历文件

参数
filepath星历文件路径
ephemeris星历对象
返回
错误码

◆ aMakeEpochAxes() [1/2]

AST_CORE_API HAxes ast::aMakeEpochAxes ( Axes * sourceAxes,
const TimePoint & tp,
Axes * referenceAxes )

创建一个历元轴系

通过指定一个历元时间,使源轴系相对于参考轴系的旋转关系被固定为常数(即不随时间变换) 如果参考轴系是惯性系,则新创建的历元轴系也将是惯性系,例如历元真赤道系、历元平赤道系等 如果参考轴系不是惯性系,则新创建的历元轴系只是与参考轴系保持旋转关系不变(即不随时间变换),其并不是惯性系

参数
sourceAxes源轴系
tp历元时间点
referenceAxes参考轴系
返回
新的历元轴系统

◆ aMakeEpochAxes() [2/2]

AST_CORE_API HAxes ast::aMakeEpochAxes ( Axes * sourceAxes,
EventTime * time,
Axes * referenceAxes )

创建一个历元轴系

通过指定一个历元时间,使源轴系相对于参考轴系的旋转关系被固定为常数(即不随时间变换) 如果参考轴系是惯性系,则新创建的历元轴系也将是惯性系,例如历元真赤道系、历元平赤道系等 如果参考轴系不是惯性系,则新创建的历元轴系只是与参考轴系保持旋转关系不变(即不随时间变换),其并不是惯性系

参数
sourceAxes源轴系
time历元时间点
referenceAxes参考轴系
返回
新的历元轴系统

◆ aMeanObliquity_IAU1980()

AST_CORE_CAPI double ast::aMeanObliquity_IAU1980 ( double t)

计算给定时间差的平均黄赤交角,依据IAU1980规范

参考SOFA函数 iauObl80

参数
[in]t与J2000.0 TT 的时间差(儒略世纪)
返回
平均黄赤交角(弧度)

◆ aMockBufferAlloca()

AST_MOCK_CAPI void ast::aMockBufferAlloca ( unsigned int size)

测试 alloca 分配内存

~

◆ aMockBufferMalloc()

AST_MOCK_CAPI void ast::aMockBufferMalloc ( unsigned int size)

测试 malloc 分配内存

~

◆ aMockBufferNew()

AST_MOCK_CAPI void ast::aMockBufferNew ( unsigned int size)

测试 new 分配内存

~

◆ aMockBufferStack()

AST_MOCK_CAPI void ast::aMockBufferStack ( unsigned int size)

测试栈分配内存

~

◆ aNewPropertyTimePoint()

template<typename T , TimePoint T::* Member>
A_ALWAYS_INLINE Property * ast::aNewPropertyTimePoint ( )

创建一个时间点属性

本函数创建一个时间点属性,属性值通过调用对象的成员函数获取。

模板参数
T类类型
Getter时间点属性获取函数指针
返回
Property* 属性指针

◆ aNutation_IAU1980()

A_ALWAYS_INLINE void ast::aNutation_IAU1980 ( double t,
double & dpsi,
double & deps )

计算给定时间差的章动角,依据IAU1980规范

参考SOFA函数 iauNut80

参数
[in]t与J2000.0 TT 的时间差(儒略世纪)
[out]dpsi黄经章动角dpsi(弧度)
[out]deps交角章动角deps(弧度)

◆ aNutation_IERS1996()

AST_CORE_CAPI void ast::aNutation_IERS1996 ( double t,
double & dpsi,
double & deps,
double * eqecorr )

计算给定时间差的章动角,依据IERS1996规范

参考SOFA函数 iauNut06

参数
[in]t与J2000.0 TT 的时间差(儒略世纪)
[out]dpsi黄经章动角dpsi(弧度)
[out]deps交角章动角deps(弧度)
[out]eqecorr赤经章动修正量

◆ aNutationFuncSet()

void ast::aNutationFuncSet ( NutationFunc func)
inline

设置章动角计算函数指针

根据输入的函数指针,切换内部实现的章动角计算函数指针,例如用户提供的其他实现 注意需要确保接口一致(参数和返回值),否则会导致调用错误

◆ aNutationMethodGet()

AST_CORE_CAPI ENutationMethod ast::aNutationMethodGet ( )

获取当前章动角计算函数

返回当前内部实现的章动角计算函数指针

返回
ENutationMethod 当前章动角计算函数的枚举值

◆ aNutationMethodSet()

AST_CORE_CAPI errc_t ast::aNutationMethodSet ( ENutationMethod method)

设置章动角计算函数

根据输入的枚举值,切换内部实现的章动角计算函数指针

参数
[in]func枚举值,指定要切换的章动角计算函数
返回
errc_t 错误码,0表示成功,其他值表示失败

◆ aPrecession_IAU1976() [1/2]

A_ALWAYS_INLINE void ast::aPrecession_IAU1976 ( const TimePoint & tp,
double & zeta,
double & z,
double & theta )

@fixme aPrecession_IAU1976函数的参数是TDB,而不是TT 直接将TT作为TDB使用是可行的吗? 参考SOFA的 iauPmat76, 也是将TT作为TDB使用

◆ aPrecession_IAU1976() [2/2]

AST_CORE_CAPI void ast::aPrecession_IAU1976 ( double t,
double & zeta,
double & z,
double & theta )

计算给定时间差的岁差角,依据IAU1976规范

参考SOFA函数 iauPrec76

参数
[in]t与J2000.0 TDB 的时间差(儒略世纪)
[out]zeta岁差zeta角(弧度)
[out]z岁差z角(弧度)
[out]theta岁差theta角(弧度)

◆ aPrintSparityPatternCOO()

AST_OPT_CAPI void ast::aPrintSparityPatternCOO ( int nnz,
int * iFun,
int * jVar,
int idx_style )

打印稀疏模式,零元素用 * 表示,0-nnz表示非零元素的内存排序

模板参数
T整数类型: int/long
参数
nnz非零元素个数
iFun行 T[nnz]
jVar列 T[nnz]
idx_style行列索引从idx_style开始

◆ aQAppInit()

AST_GUI_CAPI errc_t ast::aQAppInit ( int argc,
char * argv[] )

初始化Qt应用程序

返回
errc_t

◆ aSetInputPortRealSignal()

AST_CORE_CAPI errc_t ast::aSetInputPortRealSignal ( FuncBlock * block,
size_t portIndex,
double * signal )

设置函数块输入端口的实数值信号

参数
block函数块指针
portIndex输入端口索引
signal信号(指向数据的指针)
返回
错误码

◆ aSetOutputPortRealSignal()

AST_CORE_CAPI errc_t ast::aSetOutputPortRealSignal ( FuncBlock * block,
size_t portIndex,
double * signal )

设置函数块输出端口的实数值信号

参数
block函数块指针
portIndex输出端口索引
signal信号(指向数据的指针)
返回
错误码

◆ aSnopt_Load()

AST_OPT_CAPI SnoptCAPI * ast::aSnopt_Load ( const char * sharedLibPath)

加载snopt动态库函数

参数
sharedLibPath
返回
成功返回非空,失败返回空

◆ aSurfaceCentricToDetic() [1/2]

AST_CORE_CAPI void ast::aSurfaceCentricToDetic ( const GeocentricPoint & centric,
double flatFact,
GeodeticPoint & detic )

将天体表面的地心坐标转换为大地坐标

警告
只适用于天体表面的点,不适用于远离天体的点
参数
centric地心坐标
flatFact扁率因子
detic大地坐标
返回

◆ aSurfaceCentricToDetic() [2/2]

A_ALWAYS_INLINE double ast::aSurfaceCentricToDetic ( double centricLat,
double flatFact )

将天体表面的地心纬度转换为大地纬度

警告
只适用于天体表面的点,不适用于远离天体的点
参数
centricLat地心纬度
flatFact扁率因子
返回
大地纬度

◆ aSurfaceCentricToDeticLat()

AST_CORE_CAPI double ast::aSurfaceCentricToDeticLat ( double centricLat,
double flatFact )

将天体表面的地心纬度转换为大地纬度

警告
只适用于天体表面的点,不适用于远离天体的点
参数
centricLat地心纬度
flatFact扁率因子
返回
大地纬度

◆ aSurfaceDeticToCentric() [1/2]

AST_CORE_CAPI void ast::aSurfaceDeticToCentric ( const GeodeticPoint & detic,
double flatFact,
GeocentricPoint & centric )

将天体表面的大地坐标转换为地心坐标

警告
只适用于天体表面的点,不适用于远离天体的点
参数
detic大地坐标
flatFact扁率因子
centric地心坐标
返回

◆ aSurfaceDeticToCentric() [2/2]

A_ALWAYS_INLINE double ast::aSurfaceDeticToCentric ( double deticLat,
double flatFact )

将天体表面的大地纬度转换为地心纬度

警告
只适用于天体表面的点,不适用于远离天体的点
参数
deticLat大地纬度
flatFact扁率因子
返回
地心纬度

◆ aSurfaceDeticToCentricLat()

AST_CORE_CAPI double ast::aSurfaceDeticToCentricLat ( double deticLat,
double flatFact )

将天体表面的大地纬度转换为地心纬度

警告
只适用于天体表面的点,不适用于远离天体的点
参数
deticLat大地纬度
flatFact扁率因子
返回
地心纬度

◆ aTestFromSTKFile()

AST_TEST_CAPI errc_t ast::aTestFromSTKFile ( StringView filepath)

从STK文件测试

参数
filepathSTK文件路径
返回
错误码

◆ aTestGetConfig()

AST_TEST_CAPI StartupConfig * ast::aTestGetConfig ( )

获取测试配置

返回
测试配置指针

◆ aTestGetConfigStringVector()

AST_TEST_API std::vector< std::string > ast::aTestGetConfigStringVector ( StringView key)

获取测试配置值向量

参数
key配置键
返回
配置值向量

◆ aTestGetConfigStringViewVector()

AST_TEST_API std::vector< StringView > ast::aTestGetConfigStringViewVector ( StringView key)

获取测试配置值视图向量

参数
key配置键
返回
配置值视图向量

◆ aTestGetConfigValue()

AST_TEST_API ValueView ast::aTestGetConfigValue ( StringView key)

获取测试配置值

参数
key配置键
返回
配置值视图

◆ aUiExecWidget()

void ast::aUiExecWidget ( QWidget * widget)

监听窗口关闭事件

◆ aUiNewEditWidget()

AST_GUI_CAPI QWidget * ast::aUiNewEditWidget ( Object * object)

创建编辑控件

~

参数
object要编辑的对象
返回
QWidget* 编辑控件指针

◆ aUiNewMainWindow()

AST_GUI_CAPI QMainWindow * ast::aUiNewMainWindow ( )

创建主窗口

返回
QMainWindow*

◆ aUiRegisterEditWidget()

AST_GUI_CAPI void ast::aUiRegisterEditWidget ( Class * cls,
FNewEditWidget newEditWidget )

注册编辑控件

~

参数
cls类指针
newEditWidget控件创建函数指针

◆ iterate_begin()

Value * ast::iterate_begin ( Value * container,
int & index )

迭代器开始

参数
container迭代对象
index迭代索引
返回
迭代器开始值

◆ iterate_get_func()

IterateFunc ast::iterate_get_func ( Class * type)

获取迭代函数指针

参数
type迭代对象类型
返回
迭代函数指针

◆ iterate_next()

Value * ast::iterate_next ( Value * container,
int & index )

迭代器下一个

参数
container迭代对象
index迭代索引
返回
迭代器下一个值

◆ loadSpaceWeather()

errc_t ast::loadSpaceWeather ( BKVParser & parser,
int numPoints,
std::vector< SpaceWeather::Entry > & data )

加载空间天气数据

从BKVParser中加载空间天气数据,根据numPoints指定加载的条目数。

参数
parserBKVParser实例,用于解析空间天气数据文件。
numPoints要加载的条目数。
data用于存储加载数据的Entry向量。
返回
errc_t 加载成功返回eNoError,否则返回相应错误码。

◆ make_nvp()

template<typename T >
NameValuePair< T > ast::make_nvp ( const char * name,
T & val )

创建名值对

参数
name名称
val
返回
NameValuePair<T> 名值对

◆ opunary()

Value * ast::opunary ( EOpUnaryType op,
Value * value )

执行一元运算

参数
op运算类型
value运算数
返回
运算结果

◆ opunary_get_func()

OpUnaryFunc ast::opunary_get_func ( EOpUnaryType op,
Class * type )

获取一元运算函数指针

参数
op运算类型
type运算数类型
返回
运算函数指针

◆ opunary_get_funcptr()

void * ast::opunary_get_funcptr ( EOpUnaryType op,
Class * type )

获取一元运算函数指针(void* 类型)

参数
op运算类型
type运算数类型
返回
运算函数指针(void* 类型)

◆ opunary_register_func()

void ast::opunary_register_func ( EOpUnaryType op,
Class * type,
OpUnaryFunc func )

注册一元运算函数

参数
op运算类型
type运算数类型
func运算函数指针

◆ opunary_register_funcptr()

void ast::opunary_register_funcptr ( EOpUnaryType op,
Class * type,
void * func )

注册一元运算函数指针

参数
op运算类型
type运算数类型
func运算函数指针(void* 类型)

◆ stricmp()

A_ALWAYS_INLINE int ast::stricmp ( const char * str1,
const char * str2 )

比较两个字符串是否相等(不区分大小写)

参数
str1第一个字符串
str2第二个字符串
返回
若相等则返回0,否则返回非0值

◆ strnicmp()

A_ALWAYS_INLINE int ast::strnicmp ( const char * str1,
const char * str2,
size_t n )

比较两个字符串是否相等(不区分大小写)

参数
str1第一个字符串
str2第二个字符串
n比较的字符数
返回
若相等则返回0,否则返回非0值

◆ unit_divide()

Unit ast::unit_divide ( const Unit & unit1,
const Unit & unit2 )

单位除法

参数
unit1单位1
unit2单位2
返回
单位商

◆ unit_multiply()

Unit ast::unit_multiply ( const Unit & unit1,
const Unit & unit2 )

单位乘法

参数
unit1单位1
unit2单位2
返回
单位乘积

◆ unit_power()

Unit ast::unit_power ( const Unit & unit,
int exponent )

单位幂

参数
unit单位
exponent指数
返回
单位幂

◆ unit_setname()

void ast::unit_setname ( Unit & unit,
StringView name )

设置单位名称

参数
unit单位
name名称

变量说明

◆ __iterate_registry_initializer

auto ast::__iterate_registry_initializer
初始值:
= []() -> bool {
iterate_init_registry();
return true;
}()

◆ __opbin_registry_initializer

auto ast::__opbin_registry_initializer
初始值:
= []() -> bool {
opbin_init_registry();
return true;
}()

◆ __opunary_registry_initializer

auto ast::__opunary_registry_initializer
初始值:
= []() -> bool {
opunary_init_registry();
return true;
}()

◆ aNutation

AST_CORE_CAPI NutationFunc ast::aNutation = &aNutation_IAU1980_Impl

章动角计算函数指针

指向内部实现的函数指针,默认指向aNutation_IAU1980 可根据需要切换为其他实现,例如通过JPL DE星历数据计算章动角 或者用户提供的其他实现,注意需要确保接口一致(参数和返回值),否则会导致调用错误

◆ OpAssignTypeStr

const char* ast::OpAssignTypeStr[]
初始值:
= {
"=",
":=",
"=&",
"+=",
"-=",
"*=",
"/=",
"^=",
"%=",
".*=",
"./=",
".^=",
".%=",
".&&=",
".||=",
}

◆ OpUnaryTypeStr

const char* ast::OpUnaryTypeStr[]
初始值:
= {
"!",
"-",
"++",
"--",
"~",
}