Class TimeStampedFieldPVCoordinates<T extends org.hipparchus.RealFieldElement<T>>

    • Constructor Detail

      • TimeStampedFieldPVCoordinates

        public TimeStampedFieldPVCoordinates​(AbsoluteDate date,
                                             org.hipparchus.geometry.euclidean.threed.FieldVector3D<T> position,
                                             org.hipparchus.geometry.euclidean.threed.FieldVector3D<T> velocity,
                                             org.hipparchus.geometry.euclidean.threed.FieldVector3D<T> acceleration)
        Builds a PVCoordinates pair.
        Parameters:
        date - coordinates date
        position - the position vector (m)
        velocity - the velocity vector (m/s)
        acceleration - the acceleration vector (m/s²)
      • TimeStampedFieldPVCoordinates

        public TimeStampedFieldPVCoordinates​(FieldAbsoluteDate<T> date,
                                             org.hipparchus.geometry.euclidean.threed.FieldVector3D<T> position,
                                             org.hipparchus.geometry.euclidean.threed.FieldVector3D<T> velocity,
                                             org.hipparchus.geometry.euclidean.threed.FieldVector3D<T> acceleration)
        Builds a PVCoordinates pair.
        Parameters:
        date - coordinates date
        position - the position vector (m)
        velocity - the velocity vector (m/s)
        acceleration - the acceleration vector (m/s²)
      • TimeStampedFieldPVCoordinates

        public TimeStampedFieldPVCoordinates​(AbsoluteDate date,
                                             FieldPVCoordinates<T> pv)
        Basic constructor.

        Build a PVCoordinates from another one at a given date

        The PVCoordinates built will be pv

        Parameters:
        date - date of the built coordinates
        pv - base (unscaled) PVCoordinates
      • TimeStampedFieldPVCoordinates

        public TimeStampedFieldPVCoordinates​(FieldAbsoluteDate<T> date,
                                             FieldPVCoordinates<T> pv)
        Basic constructor.

        Build a PVCoordinates from another one at a given date

        The PVCoordinates built will be pv

        Parameters:
        date - date of the built coordinates
        pv - base (unscaled) PVCoordinates
      • TimeStampedFieldPVCoordinates

        public TimeStampedFieldPVCoordinates​(AbsoluteDate date,
                                             double a,
                                             FieldPVCoordinates<T> pv)
        Multiplicative constructor

        Build a PVCoordinates from another one and a scale factor.

        The PVCoordinates built will be a * pv

        Parameters:
        date - date of the built coordinates
        a - scale factor
        pv - base (unscaled) PVCoordinates
      • TimeStampedFieldPVCoordinates

        public TimeStampedFieldPVCoordinates​(FieldAbsoluteDate<T> date,
                                             double a,
                                             FieldPVCoordinates<T> pv)
        Multiplicative constructor

        Build a PVCoordinates from another one and a scale factor.

        The PVCoordinates built will be a * pv

        Parameters:
        date - date of the built coordinates
        a - scale factor
        pv - base (unscaled) PVCoordinates
      • TimeStampedFieldPVCoordinates

        public TimeStampedFieldPVCoordinates​(AbsoluteDate date,
                                             T a,
                                             FieldPVCoordinates<T> pv)
        Multiplicative constructor

        Build a PVCoordinates from another one and a scale factor.

        The PVCoordinates built will be a * pv

        Parameters:
        date - date of the built coordinates
        a - scale factor
        pv - base (unscaled) PVCoordinates
      • TimeStampedFieldPVCoordinates

        public TimeStampedFieldPVCoordinates​(FieldAbsoluteDate<T> date,
                                             T a,
                                             FieldPVCoordinates<T> pv)
        Multiplicative constructor

        Build a PVCoordinates from another one and a scale factor.

        The PVCoordinates built will be a * pv

        Parameters:
        date - date of the built coordinates
        a - scale factor
        pv - base (unscaled) PVCoordinates
      • TimeStampedFieldPVCoordinates

        public TimeStampedFieldPVCoordinates​(AbsoluteDate date,
                                             T a,
                                             PVCoordinates pv)
        Multiplicative constructor

        Build a PVCoordinates from another one and a scale factor.

        The PVCoordinates built will be a * pv

        Parameters:
        date - date of the built coordinates
        a - scale factor
        pv - base (unscaled) PVCoordinates
      • TimeStampedFieldPVCoordinates

        public TimeStampedFieldPVCoordinates​(FieldAbsoluteDate<T> date,
                                             T a,
                                             PVCoordinates pv)
        Multiplicative constructor

        Build a PVCoordinates from another one and a scale factor.

        The PVCoordinates built will be a * pv

        Parameters:
        date - date of the built coordinates
        a - scale factor
        pv - base (unscaled) PVCoordinates
      • TimeStampedFieldPVCoordinates

        public TimeStampedFieldPVCoordinates​(AbsoluteDate date,
                                             FieldPVCoordinates<T> start,
                                             FieldPVCoordinates<T> end)
        Subtractive constructor

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

        The PVCoordinates built will be end - start.

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

        public TimeStampedFieldPVCoordinates​(FieldAbsoluteDate<T> date,
                                             FieldPVCoordinates<T> start,
                                             FieldPVCoordinates<T> end)
        Subtractive constructor

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

        The PVCoordinates built will be end - start.

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

        public TimeStampedFieldPVCoordinates​(AbsoluteDate date,
                                             double a1,
                                             FieldPVCoordinates<T> pv1,
                                             double a2,
                                             FieldPVCoordinates<T> pv2)
        Linear constructor

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

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

        Parameters:
        date - date of the built coordinates
        a1 - first scale factor
        pv1 - first base (unscaled) PVCoordinates
        a2 - second scale factor
        pv2 - second base (unscaled) PVCoordinates
      • TimeStampedFieldPVCoordinates

        public TimeStampedFieldPVCoordinates​(FieldAbsoluteDate<T> date,
                                             double a1,
                                             FieldPVCoordinates<T> pv1,
                                             double a2,
                                             FieldPVCoordinates<T> pv2)
        Linear constructor

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

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

        Parameters:
        date - date of the built coordinates
        a1 - first scale factor
        pv1 - first base (unscaled) PVCoordinates
        a2 - second scale factor
        pv2 - second base (unscaled) PVCoordinates
      • TimeStampedFieldPVCoordinates

        public TimeStampedFieldPVCoordinates​(AbsoluteDate date,
                                             T a1,
                                             FieldPVCoordinates<T> pv1,
                                             T a2,
                                             FieldPVCoordinates<T> pv2)
        Linear constructor

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

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

        Parameters:
        date - date of the built coordinates
        a1 - first scale factor
        pv1 - first base (unscaled) PVCoordinates
        a2 - second scale factor
        pv2 - second base (unscaled) PVCoordinates
      • TimeStampedFieldPVCoordinates

        public TimeStampedFieldPVCoordinates​(FieldAbsoluteDate<T> date,
                                             T a1,
                                             FieldPVCoordinates<T> pv1,
                                             T a2,
                                             FieldPVCoordinates<T> pv2)
        Linear constructor

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

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

        Parameters:
        date - date of the built coordinates
        a1 - first scale factor
        pv1 - first base (unscaled) PVCoordinates
        a2 - second scale factor
        pv2 - second base (unscaled) PVCoordinates
      • TimeStampedFieldPVCoordinates

        public TimeStampedFieldPVCoordinates​(AbsoluteDate date,
                                             T a1,
                                             PVCoordinates pv1,
                                             T a2,
                                             PVCoordinates pv2)
        Linear constructor

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

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

        Parameters:
        date - date of the built coordinates
        a1 - first scale factor
        pv1 - first base (unscaled) PVCoordinates
        a2 - second scale factor
        pv2 - second base (unscaled) PVCoordinates
      • TimeStampedFieldPVCoordinates

        public TimeStampedFieldPVCoordinates​(FieldAbsoluteDate<T> date,
                                             T a1,
                                             PVCoordinates pv1,
                                             T a2,
                                             PVCoordinates pv2)
        Linear constructor

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

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

        Parameters:
        date - date of the built coordinates
        a1 - first scale factor
        pv1 - first base (unscaled) PVCoordinates
        a2 - second scale factor
        pv2 - second base (unscaled) PVCoordinates
      • TimeStampedFieldPVCoordinates

        public TimeStampedFieldPVCoordinates​(AbsoluteDate date,
                                             double a1,
                                             FieldPVCoordinates<T> pv1,
                                             double a2,
                                             FieldPVCoordinates<T> pv2,
                                             double a3,
                                             FieldPVCoordinates<T> pv3)
        Linear constructor

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

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

        Parameters:
        date - date of the built coordinates
        a1 - first scale factor
        pv1 - first base (unscaled) PVCoordinates
        a2 - second scale factor
        pv2 - second base (unscaled) PVCoordinates
        a3 - third scale factor
        pv3 - third base (unscaled) PVCoordinates
      • TimeStampedFieldPVCoordinates

        public TimeStampedFieldPVCoordinates​(FieldAbsoluteDate<T> date,
                                             double a1,
                                             FieldPVCoordinates<T> pv1,
                                             double a2,
                                             FieldPVCoordinates<T> pv2,
                                             double a3,
                                             FieldPVCoordinates<T> pv3)
        Linear constructor

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

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

        Parameters:
        date - date of the built coordinates
        a1 - first scale factor
        pv1 - first base (unscaled) PVCoordinates
        a2 - second scale factor
        pv2 - second base (unscaled) PVCoordinates
        a3 - third scale factor
        pv3 - third base (unscaled) PVCoordinates
      • TimeStampedFieldPVCoordinates

        public TimeStampedFieldPVCoordinates​(AbsoluteDate date,
                                             T a1,
                                             FieldPVCoordinates<T> pv1,
                                             T a2,
                                             FieldPVCoordinates<T> pv2,
                                             T a3,
                                             FieldPVCoordinates<T> pv3)
        Linear constructor

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

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

        Parameters:
        date - date of the built coordinates
        a1 - first scale factor
        pv1 - first base (unscaled) PVCoordinates
        a2 - second scale factor
        pv2 - second base (unscaled) PVCoordinates
        a3 - third scale factor
        pv3 - third base (unscaled) PVCoordinates
      • TimeStampedFieldPVCoordinates

        public TimeStampedFieldPVCoordinates​(FieldAbsoluteDate<T> date,
                                             T a1,
                                             FieldPVCoordinates<T> pv1,
                                             T a2,
                                             FieldPVCoordinates<T> pv2,
                                             T a3,
                                             FieldPVCoordinates<T> pv3)
        Linear constructor

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

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

        Parameters:
        date - date of the built coordinates
        a1 - first scale factor
        pv1 - first base (unscaled) PVCoordinates
        a2 - second scale factor
        pv2 - second base (unscaled) PVCoordinates
        a3 - third scale factor
        pv3 - third base (unscaled) PVCoordinates
      • TimeStampedFieldPVCoordinates

        public TimeStampedFieldPVCoordinates​(AbsoluteDate date,
                                             T a1,
                                             PVCoordinates pv1,
                                             T a2,
                                             PVCoordinates pv2,
                                             T a3,
                                             PVCoordinates pv3)
        Linear constructor

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

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

        Parameters:
        date - date of the built coordinates
        a1 - first scale factor
        pv1 - first base (unscaled) PVCoordinates
        a2 - second scale factor
        pv2 - second base (unscaled) PVCoordinates
        a3 - third scale factor
        pv3 - third base (unscaled) PVCoordinates
      • TimeStampedFieldPVCoordinates

        public TimeStampedFieldPVCoordinates​(FieldAbsoluteDate<T> date,
                                             T a1,
                                             PVCoordinates pv1,
                                             T a2,
                                             PVCoordinates pv2,
                                             T a3,
                                             PVCoordinates pv3)
        Linear constructor

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

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

        Parameters:
        date - date of the built coordinates
        a1 - first scale factor
        pv1 - first base (unscaled) PVCoordinates
        a2 - second scale factor
        pv2 - second base (unscaled) PVCoordinates
        a3 - third scale factor
        pv3 - third base (unscaled) PVCoordinates
      • TimeStampedFieldPVCoordinates

        public TimeStampedFieldPVCoordinates​(AbsoluteDate date,
                                             double a1,
                                             FieldPVCoordinates<T> pv1,
                                             double a2,
                                             FieldPVCoordinates<T> pv2,
                                             double a3,
                                             FieldPVCoordinates<T> pv3,
                                             double a4,
                                             FieldPVCoordinates<T> pv4)
        Linear constructor

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

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

        Parameters:
        date - date of the built coordinates
        a1 - first scale factor
        pv1 - first base (unscaled) PVCoordinates
        a2 - second scale factor
        pv2 - second base (unscaled) PVCoordinates
        a3 - third scale factor
        pv3 - third base (unscaled) PVCoordinates
        a4 - fourth scale factor
        pv4 - fourth base (unscaled) PVCoordinates
      • TimeStampedFieldPVCoordinates

        public TimeStampedFieldPVCoordinates​(FieldAbsoluteDate<T> date,
                                             double a1,
                                             FieldPVCoordinates<T> pv1,
                                             double a2,
                                             FieldPVCoordinates<T> pv2,
                                             double a3,
                                             FieldPVCoordinates<T> pv3,
                                             double a4,
                                             FieldPVCoordinates<T> pv4)
        Linear constructor

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

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

        Parameters:
        date - date of the built coordinates
        a1 - first scale factor
        pv1 - first base (unscaled) PVCoordinates
        a2 - second scale factor
        pv2 - second base (unscaled) PVCoordinates
        a3 - third scale factor
        pv3 - third base (unscaled) PVCoordinates
        a4 - fourth scale factor
        pv4 - fourth base (unscaled) PVCoordinates
      • TimeStampedFieldPVCoordinates

        public TimeStampedFieldPVCoordinates​(AbsoluteDate date,
                                             T a1,
                                             FieldPVCoordinates<T> pv1,
                                             T a2,
                                             FieldPVCoordinates<T> pv2,
                                             T a3,
                                             FieldPVCoordinates<T> pv3,
                                             T a4,
                                             FieldPVCoordinates<T> pv4)
        Linear constructor

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

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

        Parameters:
        date - date of the built coordinates
        a1 - first scale factor
        pv1 - first base (unscaled) PVCoordinates
        a2 - second scale factor
        pv2 - second base (unscaled) PVCoordinates
        a3 - third scale factor
        pv3 - third base (unscaled) PVCoordinates
        a4 - fourth scale factor
        pv4 - fourth base (unscaled) PVCoordinates
      • TimeStampedFieldPVCoordinates

        public TimeStampedFieldPVCoordinates​(FieldAbsoluteDate<T> date,
                                             T a1,
                                             FieldPVCoordinates<T> pv1,
                                             T a2,
                                             FieldPVCoordinates<T> pv2,
                                             T a3,
                                             FieldPVCoordinates<T> pv3,
                                             T a4,
                                             FieldPVCoordinates<T> pv4)
        Linear constructor

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

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

        Parameters:
        date - date of the built coordinates
        a1 - first scale factor
        pv1 - first base (unscaled) PVCoordinates
        a2 - second scale factor
        pv2 - second base (unscaled) PVCoordinates
        a3 - third scale factor
        pv3 - third base (unscaled) PVCoordinates
        a4 - fourth scale factor
        pv4 - fourth base (unscaled) PVCoordinates
      • TimeStampedFieldPVCoordinates

        public TimeStampedFieldPVCoordinates​(AbsoluteDate date,
                                             T a1,
                                             PVCoordinates pv1,
                                             T a2,
                                             PVCoordinates pv2,
                                             T a3,
                                             PVCoordinates pv3,
                                             T a4,
                                             PVCoordinates pv4)
        Linear constructor

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

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

        Parameters:
        date - date of the built coordinates
        a1 - first scale factor
        pv1 - first base (unscaled) PVCoordinates
        a2 - second scale factor
        pv2 - second base (unscaled) PVCoordinates
        a3 - third scale factor
        pv3 - third base (unscaled) PVCoordinates
        a4 - fourth scale factor
        pv4 - fourth base (unscaled) PVCoordinates
      • TimeStampedFieldPVCoordinates

        public TimeStampedFieldPVCoordinates​(FieldAbsoluteDate<T> date,
                                             T a1,
                                             PVCoordinates pv1,
                                             T a2,
                                             PVCoordinates pv2,
                                             T a3,
                                             PVCoordinates pv3,
                                             T a4,
                                             PVCoordinates pv4)
        Linear constructor

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

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

        Parameters:
        date - date of the built coordinates
        a1 - first scale factor
        pv1 - first base (unscaled) PVCoordinates
        a2 - second scale factor
        pv2 - second base (unscaled) PVCoordinates
        a3 - third scale factor
        pv3 - third base (unscaled) PVCoordinates
        a4 - fourth scale factor
        pv4 - fourth base (unscaled) PVCoordinates
      • TimeStampedFieldPVCoordinates

        public TimeStampedFieldPVCoordinates​(FieldAbsoluteDate<T> date,
                                             org.hipparchus.geometry.euclidean.threed.FieldVector3D<org.hipparchus.analysis.differentiation.FieldDerivativeStructure<T>> p)
        Builds a TimeStampedFieldPVCoordinates triplet from a FieldVector3D<FieldDerivativeStructure>.

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

        Parameters:
        date - date of the built coordinates
        p - vector with time-derivatives embedded within the coordinates
    • Method Detail

      • shiftedBy

        public TimeStampedFieldPVCoordinates<T> shiftedBy​(double dt)
        Get a time-shifted state.

        The state can be slightly shifted to close dates. This shift is based on a simple linear model. 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<T extends org.hipparchus.RealFieldElement<T>>
        Overrides:
        shiftedBy in class FieldPVCoordinates<T extends org.hipparchus.RealFieldElement<T>>
        Parameters:
        dt - time shift in seconds
        Returns:
        a new state, shifted with respect to the instance (which is immutable)
      • shiftedBy

        public TimeStampedFieldPVCoordinates<T> shiftedBy​(T dt)
        Get a time-shifted state.

        The state can be slightly shifted to close dates. This shift is based on a simple linear model. 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.

        Overrides:
        shiftedBy in class FieldPVCoordinates<T extends org.hipparchus.RealFieldElement<T>>
        Parameters:
        dt - time shift in seconds
        Returns:
        a new state, shifted with respect to the instance (which is immutable)
      • interpolate

        public static <T extends org.hipparchus.RealFieldElement<T>> TimeStampedFieldPVCoordinates<T> interpolate​(FieldAbsoluteDate<T> date,
                                                                                                                  CartesianDerivativesFilter filter,
                                                                                                                  Collection<TimeStampedFieldPVCoordinates<T>> sample)
        Interpolate position-velocity.

        The interpolated instance is created by polynomial Hermite interpolation ensuring velocity remains the exact derivative of position.

        Note that even if first time derivatives (velocities) from sample can be ignored, the interpolated instance always includes interpolated derivatives. This feature can be used explicitly to compute these derivatives when it would be too complex to compute them from an analytical formula: just compute a few sample points from the explicit formula and set the derivatives to zero in these sample points, then use interpolation to add derivatives consistent with the positions.

        Type Parameters:
        T - the type of the field elements
        Parameters:
        date - interpolation date
        filter - filter for derivatives from the sample to use in interpolation
        sample - sample points on which interpolation should be done
        Returns:
        a new position-velocity, interpolated at specified date
      • interpolate

        public static <T extends org.hipparchus.RealFieldElement<T>> TimeStampedFieldPVCoordinates<T> interpolate​(FieldAbsoluteDate<T> date,
                                                                                                                  CartesianDerivativesFilter filter,
                                                                                                                  Stream<TimeStampedFieldPVCoordinates<T>> sample)
        Interpolate position-velocity.

        The interpolated instance is created by polynomial Hermite interpolation ensuring velocity remains the exact derivative of position.

        Note that even if first time derivatives (velocities) from sample can be ignored, the interpolated instance always includes interpolated derivatives. This feature can be used explicitly to compute these derivatives when it would be too complex to compute them from an analytical formula: just compute a few sample points from the explicit formula and set the derivatives to zero in these sample points, then use interpolation to add derivatives consistent with the positions.

        Type Parameters:
        T - the type of the field elements
        Parameters:
        date - interpolation date
        filter - filter for derivatives from the sample to use in interpolation
        sample - sample points on which interpolation should be done
        Returns:
        a new position-velocity, interpolated at specified date
      • toTimeStampedPVCoordinates

        public TimeStampedPVCoordinates toTimeStampedPVCoordinates()
        Convert to a constant position-velocity.
        Returns:
        a constant position-velocity
        Since:
        9.0
      • toString

        public String toString()
        Return a string representation of this position/velocity pair.
        Overrides:
        toString in class FieldPVCoordinates<T extends org.hipparchus.RealFieldElement<T>>
        Returns:
        string representation of this position/velocity pair