Class AbsolutePVCoordinates

    • Constructor Detail

      • AbsolutePVCoordinates

        public AbsolutePVCoordinates​(Frame frame,
                                     AbsoluteDate date,
                                     Vector3D position,
                                     Vector3D velocity,
                                     Vector3D acceleration)
        Build from position, velocity, acceleration.
        Parameters:
        frame - the frame in which the coordinates are defined
        date - coordinates date
        position - the position vector (m)
        velocity - the velocity vector (m/s)
        acceleration - the acceleration vector (m/sÂý)
      • AbsolutePVCoordinates

        public AbsolutePVCoordinates​(Frame frame,
                                     AbsoluteDate date,
                                     Vector3D position,
                                     Vector3D velocity)
        Build from position and velocity. Acceleration is set to zero.
        Parameters:
        frame - the frame in which the coordinates are defined
        date - coordinates date
        position - the position vector (m)
        velocity - the velocity vector (m/s)
      • AbsolutePVCoordinates

        public AbsolutePVCoordinates​(Frame frame,
                                     AbsoluteDate date,
                                     PVCoordinates pva)
        Build from frame, date and PVA coordinates.
        Parameters:
        frame - the frame in which the coordinates are defined
        date - date of the coordinates
        pva - TimeStampedPVCoordinates
      • AbsolutePVCoordinates

        public AbsolutePVCoordinates​(Frame frame,
                                     TimeStampedPVCoordinates pva)
        Build from frame and TimeStampedPVCoordinates.
        Parameters:
        frame - the frame in which the coordinates are defined
        pva - TimeStampedPVCoordinates
      • AbsolutePVCoordinates

        public AbsolutePVCoordinates​(AbsoluteDate date,
                                     double a,
                                     AbsolutePVCoordinates AbsPva)
        Multiplicative constructor

        Build a AbsolutePVCoordinates from another one and a scale factor.

        The TimeStampedPVCoordinates built will be a * AbsPva

        Parameters:
        date - date of the built coordinates
        a - scale factor
        AbsPva - base (unscaled) AbsolutePVCoordinates
      • AbsolutePVCoordinates

        public AbsolutePVCoordinates​(AbsoluteDate date,
                                     AbsolutePVCoordinates start,
                                     AbsolutePVCoordinates end)
        Subtractive constructor

        Build a relative AbsolutePVCoordinates from a start and an end position.

        The AbsolutePVCoordinates built will be end - start.

        In case start and end use two different pseudo-inertial frames, the new AbsolutePVCoordinates arbitrarily be defined in the start frame.

        Parameters:
        date - date of the built coordinates
        start - Starting AbsolutePVCoordinates
        end - ending AbsolutePVCoordinates
      • AbsolutePVCoordinates

        public AbsolutePVCoordinates​(AbsoluteDate date,
                                     double a1,
                                     AbsolutePVCoordinates absPv1,
                                     double a2,
                                     AbsolutePVCoordinates absPv2)
        Linear constructor

        Build a AbsolutePVCoordinates from two other ones and corresponding scale factors.

        The AbsolutePVCoordinates built will be a1 * u1 + a2 * u2

        In case the AbsolutePVCoordinates use different pseudo-inertial frames, the new AbsolutePVCoordinates arbitrarily be defined in the first frame.

        Parameters:
        date - date of the built coordinates
        a1 - first scale factor
        absPv1 - first base (unscaled) AbsolutePVCoordinates
        a2 - second scale factor
        absPv2 - second base (unscaled) AbsolutePVCoordinates
      • AbsolutePVCoordinates

        public AbsolutePVCoordinates​(AbsoluteDate date,
                                     double a1,
                                     AbsolutePVCoordinates absPv1,
                                     double a2,
                                     AbsolutePVCoordinates absPv2,
                                     double a3,
                                     AbsolutePVCoordinates absPv3)
        Linear constructor

        Build a AbsolutePVCoordinates from three other ones and corresponding scale factors.

        The AbsolutePVCoordinates built will be a1 * u1 + a2 * u2 + a3 * u3

        In case the AbsolutePVCoordinates use different pseudo-inertial frames, the new AbsolutePVCoordinates arbitrarily be defined in the first frame.

        Parameters:
        date - date of the built coordinates
        a1 - first scale factor
        absPv1 - first base (unscaled) AbsolutePVCoordinates
        a2 - second scale factor
        absPv2 - second base (unscaled) AbsolutePVCoordinates
        a3 - third scale factor
        absPv3 - third base (unscaled) AbsolutePVCoordinates
      • AbsolutePVCoordinates

        public AbsolutePVCoordinates​(AbsoluteDate date,
                                     double a1,
                                     AbsolutePVCoordinates absPv1,
                                     double a2,
                                     AbsolutePVCoordinates absPv2,
                                     double a3,
                                     AbsolutePVCoordinates absPv3,
                                     double a4,
                                     AbsolutePVCoordinates absPv4)
        Linear constructor

        Build a AbsolutePVCoordinates from four other ones and corresponding scale factors.

        The AbsolutePVCoordinates built will be a1 * u1 + a2 * u2 + a3 * u3 + a4 * u4

        In case the AbsolutePVCoordinates use different pseudo-inertial frames, the new AbsolutePVCoordinates arbitrarily be defined in the first frame.

        Parameters:
        date - date of the built coordinates
        a1 - first scale factor
        absPv1 - first base (unscaled) AbsolutePVCoordinates
        a2 - second scale factor
        absPv2 - second base (unscaled) AbsolutePVCoordinates
        a3 - third scale factor
        absPv3 - third base (unscaled) AbsolutePVCoordinates
        a4 - fourth scale factor
        absPv4 - fourth base (unscaled) AbsolutePVCoordinates
      • AbsolutePVCoordinates

        public AbsolutePVCoordinates​(Frame frame,
                                     AbsoluteDate date,
                                     FieldVector3D<U> p)
        Builds a AbsolutePVCoordinates triplet from a FieldVector3D<Derivative>.

        The vector components must have time as their only derivation parameter and have consistent derivation orders.

        Type Parameters:
        U - type of the derivative
        Parameters:
        frame - the frame in which the parameters are defined
        date - date of the built coordinates
        p - vector with time-derivatives embedded within the coordinates
    • Method Detail

      • shiftedBy

        public AbsolutePVCoordinates shiftedBy​(double dt)
        Get a time-shifted state.

        The state can be slightly shifted to close dates. This shift is based on a simple Taylor expansion. It is not intended as a replacement for proper orbit propagation (it is not even Keplerian!) but should be sufficient for either small time shifts or coarse accuracy.

        Specified by:
        shiftedBy in interface TimeShiftable<PVCoordinates>
        Overrides:
        shiftedBy in class TimeStampedPVCoordinates
        Parameters:
        dt - time shift in seconds
        Returns:
        a new state, shifted with respect to the instance (which is immutable)
      • shiftedBy

        public AbsolutePVCoordinates shiftedBy​(TimeOffset dt)
        Get a time-shifted state.

        The state can be slightly shifted to close dates. This shift is based on a simple Taylor expansion. It is not intended as a replacement for proper orbit propagation (it is not even Keplerian!) but should be sufficient for either small time shifts or coarse accuracy.

        Specified by:
        shiftedBy in interface TimeShiftable<PVCoordinates>
        Overrides:
        shiftedBy in class TimeStampedPVCoordinates
        Parameters:
        dt - time shift in seconds
        Returns:
        a new state, shifted with respect to the instance (which is immutable)
        Since:
        13.0
      • toTaylorProvider

        public PVCoordinatesProvider toTaylorProvider()
        Create a local provider using simply Taylor expansion through shiftedBy(double).

        The time evolution is based on a simple Taylor expansion. It is not intended as a replacement for proper orbit propagation (it is not even Keplerian!) but should be sufficient for either small time shifts or coarse accuracy.

        Returns:
        provider based on Taylor expansion, for small time shifts around instance date
      • getFrame

        public Frame getFrame()
        Get the frame in which the coordinates are defined.
        Returns:
        frame in which the coordinates are defined
      • getPVCoordinates

        public TimeStampedPVCoordinates getPVCoordinates()
        Get the TimeStampedPVCoordinates.
        Returns:
        TimeStampedPVCoordinates
      • getPosition

        public Vector3D getPosition​(Frame outputFrame)
        Get the position in a specified frame.
        Parameters:
        outputFrame - frame in which the position coordinates shall be computed
        Returns:
        position
        Since:
        12.0
        See Also:
        getPVCoordinates(Frame)
      • getPVCoordinates

        public TimeStampedPVCoordinates getPVCoordinates​(Frame outputFrame)
        Get the TimeStampedPVCoordinates in a specified frame.
        Parameters:
        outputFrame - frame in which the position/velocity coordinates shall be computed
        Returns:
        TimeStampedPVCoordinates
        Throws:
        OrekitException - if transformation between frames cannot be computed
        See Also:
        getPVCoordinates()