:orphan: .. **************************************************************************** .. CUI .. .. The Advanced Framework for Simulation, Integration, and Modeling (AFSIM) .. .. The use, dissemination or disclosure of data in this file is subject to .. limitation or restriction. See accompanying README and LICENSE for details. .. **************************************************************************** OrbitalState ------------ .. class:: OrbitalState .. contents:: :local: Static Methods ============== .. method:: OrbitalState Construct(OrbitalElements aOrbitalElements) Constructs an :class:`OrbitalState` object given a set of :class:`OrbitalElements`. This method defaults to using an equatorial :class:`CoordinateSystem` and a true of date :class:`ReferenceFrame` for convenience, see below for methods allowing user specification of these attributes. .. method:: OrbitalState Construct(Calendar aEpoch, Vec3 aPosition, Vec3 aVelocity) Constructs an :class:`OrbitalState` object given an epoch, a :class:`Vec3` respresenting the position, and a :class:`Vec3` representing the velocity. This method defaults to using an equatorial :class:`CoordinateSystem`, an EarthWGS84 CentralBody, and an EIC :class:`ReferenceFrame` for convenience, see below for methods allowing user specification of these attributes. .. method:: OrbitalState Construct(CoordinateSystem aCoordinateSystem, ReferenceFrame aReferenceFrame, OrbitalElements aOrbitalElements) Constructs an :class:`OrbitalState` object with the given **aOrbitalElements**, which are defined with respect to the given **aCoordinateSystem**, and **aReferenceFrame**. .. method:: OrbitalState Construct(Calendar aEpoch, CentralBody aCentralBody, CoordinateSystem aCoordinateSystem, ReferenceFrame aReferenceFrame, Vec3 aPosition, Vec3 aVelocity) Constructs an :class:`OrbitalState` object that has the given **aPosition**, in meters, and **aVelocity**, in meters per second, at the given epoch, **aEpoch**. The given kinematics will be with respect to the given **aCentralBody**, **aCoordinateSystem**, and **aReferenceFrame**. Orbit Methods ============= .. method:: bool OrbitIsHyperbolic() Returns whether the orbit represented by this object is hyperbolic. A hyperbolic orbit is an orbit with enough speed to escape the central body's gravitational pull. More specifically, this occurs in orbit's with an eccentricity value greater than 1. .. method:: bool OrbitIsCircular() Returns whether the orbit represented by this object is circular. A circular orbit is an orbit in which the distance, speed, and angular speed are all constant. It is evaluated as having an eccentricity value near 0. .. method:: bool OrbitIsEquatorial() Returns whether the orbit represented by this object is equatorial. An equatorial orbit is an orbit that lies close to the equatorial plane. In terms of orbital elements, it is an orbit with an inclination of 0 or pi degrees. .. method:: bool OrbitIsPrograde() Returns whether the orbit represented by this object is prograde. A prograde orbit is an orbit in which the satellite moves in the direction opposite the rotation of the central body. In terms of orbital elements, it is an orbit with an inclination of less than pi / 2.