Class TimeStampedFieldPVCoordinates<T extends org.hipparchus.RealFieldElement<T>>
- java.lang.Object
-
- org.orekit.utils.FieldPVCoordinates<T>
-
- org.orekit.utils.TimeStampedFieldPVCoordinates<T>
-
- Type Parameters:
T
- the type of the field elements
- All Implemented Interfaces:
TimeShiftable<FieldPVCoordinates<T>>
public class TimeStampedFieldPVCoordinates<T extends org.hipparchus.RealFieldElement<T>> extends FieldPVCoordinates<T>
- Since:
- 7.0
- Author:
- Luc Maisonobe
-
-
Constructor Summary
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description FieldAbsoluteDate<T>
getDate()
Get the date.static <T extends org.hipparchus.RealFieldElement<T>>
TimeStampedFieldPVCoordinates<T>interpolate(FieldAbsoluteDate<T> date, CartesianDerivativesFilter filter, Collection<TimeStampedFieldPVCoordinates<T>> sample)
Interpolate position-velocity.static <T extends org.hipparchus.RealFieldElement<T>>
TimeStampedFieldPVCoordinates<T>interpolate(FieldAbsoluteDate<T> date, CartesianDerivativesFilter filter, Stream<TimeStampedFieldPVCoordinates<T>> sample)
Interpolate position-velocity.TimeStampedFieldPVCoordinates<T>
shiftedBy(double dt)
Get a time-shifted state.TimeStampedFieldPVCoordinates<T>
shiftedBy(T dt)
Get a time-shifted state.String
toString()
Return a string representation of this position/velocity pair.TimeStampedPVCoordinates
toTimeStampedPVCoordinates()
Convert to a constant position-velocity.-
Methods inherited from class org.orekit.utils.FieldPVCoordinates
crossProduct, estimateVelocity, getAcceleration, getAngularVelocity, getMomentum, getPosition, getVelocity, getZero, negate, normalize, toDerivativeStructurePV, toDerivativeStructureVector, toPVCoordinates
-
-
-
-
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 dateposition
- 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 dateposition
- 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 coordinatespv
- 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 coordinatespv
- base (unscaled) PVCoordinates
-
TimeStampedFieldPVCoordinates
public TimeStampedFieldPVCoordinates(AbsoluteDate date, double a, FieldPVCoordinates<T> pv)
Multiplicative constructorBuild a PVCoordinates from another one and a scale factor.
The PVCoordinates built will be a * pv
- Parameters:
date
- date of the built coordinatesa
- scale factorpv
- base (unscaled) PVCoordinates
-
TimeStampedFieldPVCoordinates
public TimeStampedFieldPVCoordinates(FieldAbsoluteDate<T> date, double a, FieldPVCoordinates<T> pv)
Multiplicative constructorBuild a PVCoordinates from another one and a scale factor.
The PVCoordinates built will be a * pv
- Parameters:
date
- date of the built coordinatesa
- scale factorpv
- base (unscaled) PVCoordinates
-
TimeStampedFieldPVCoordinates
public TimeStampedFieldPVCoordinates(AbsoluteDate date, T a, FieldPVCoordinates<T> pv)
Multiplicative constructorBuild a PVCoordinates from another one and a scale factor.
The PVCoordinates built will be a * pv
- Parameters:
date
- date of the built coordinatesa
- scale factorpv
- base (unscaled) PVCoordinates
-
TimeStampedFieldPVCoordinates
public TimeStampedFieldPVCoordinates(FieldAbsoluteDate<T> date, T a, FieldPVCoordinates<T> pv)
Multiplicative constructorBuild a PVCoordinates from another one and a scale factor.
The PVCoordinates built will be a * pv
- Parameters:
date
- date of the built coordinatesa
- scale factorpv
- base (unscaled) PVCoordinates
-
TimeStampedFieldPVCoordinates
public TimeStampedFieldPVCoordinates(AbsoluteDate date, T a, PVCoordinates pv)
Multiplicative constructorBuild a PVCoordinates from another one and a scale factor.
The PVCoordinates built will be a * pv
- Parameters:
date
- date of the built coordinatesa
- scale factorpv
- base (unscaled) PVCoordinates
-
TimeStampedFieldPVCoordinates
public TimeStampedFieldPVCoordinates(FieldAbsoluteDate<T> date, T a, PVCoordinates pv)
Multiplicative constructorBuild a PVCoordinates from another one and a scale factor.
The PVCoordinates built will be a * pv
- Parameters:
date
- date of the built coordinatesa
- scale factorpv
- base (unscaled) PVCoordinates
-
TimeStampedFieldPVCoordinates
public TimeStampedFieldPVCoordinates(AbsoluteDate date, FieldPVCoordinates<T> start, FieldPVCoordinates<T> end)
Subtractive constructorBuild a relative PVCoordinates from a start and an end position.
The PVCoordinates built will be end - start.
- Parameters:
date
- date of the built coordinatesstart
- Starting PVCoordinatesend
- ending PVCoordinates
-
TimeStampedFieldPVCoordinates
public TimeStampedFieldPVCoordinates(FieldAbsoluteDate<T> date, FieldPVCoordinates<T> start, FieldPVCoordinates<T> end)
Subtractive constructorBuild a relative PVCoordinates from a start and an end position.
The PVCoordinates built will be end - start.
- Parameters:
date
- date of the built coordinatesstart
- Starting PVCoordinatesend
- ending PVCoordinates
-
TimeStampedFieldPVCoordinates
public TimeStampedFieldPVCoordinates(AbsoluteDate date, double a1, FieldPVCoordinates<T> pv1, double a2, FieldPVCoordinates<T> pv2)
Linear constructorBuild 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 coordinatesa1
- first scale factorpv1
- first base (unscaled) PVCoordinatesa2
- second scale factorpv2
- second base (unscaled) PVCoordinates
-
TimeStampedFieldPVCoordinates
public TimeStampedFieldPVCoordinates(FieldAbsoluteDate<T> date, double a1, FieldPVCoordinates<T> pv1, double a2, FieldPVCoordinates<T> pv2)
Linear constructorBuild 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 coordinatesa1
- first scale factorpv1
- first base (unscaled) PVCoordinatesa2
- second scale factorpv2
- second base (unscaled) PVCoordinates
-
TimeStampedFieldPVCoordinates
public TimeStampedFieldPVCoordinates(AbsoluteDate date, T a1, FieldPVCoordinates<T> pv1, T a2, FieldPVCoordinates<T> pv2)
Linear constructorBuild 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 coordinatesa1
- first scale factorpv1
- first base (unscaled) PVCoordinatesa2
- second scale factorpv2
- second base (unscaled) PVCoordinates
-
TimeStampedFieldPVCoordinates
public TimeStampedFieldPVCoordinates(FieldAbsoluteDate<T> date, T a1, FieldPVCoordinates<T> pv1, T a2, FieldPVCoordinates<T> pv2)
Linear constructorBuild 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 coordinatesa1
- first scale factorpv1
- first base (unscaled) PVCoordinatesa2
- second scale factorpv2
- second base (unscaled) PVCoordinates
-
TimeStampedFieldPVCoordinates
public TimeStampedFieldPVCoordinates(AbsoluteDate date, T a1, PVCoordinates pv1, T a2, PVCoordinates pv2)
Linear constructorBuild 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 coordinatesa1
- first scale factorpv1
- first base (unscaled) PVCoordinatesa2
- second scale factorpv2
- second base (unscaled) PVCoordinates
-
TimeStampedFieldPVCoordinates
public TimeStampedFieldPVCoordinates(FieldAbsoluteDate<T> date, T a1, PVCoordinates pv1, T a2, PVCoordinates pv2)
Linear constructorBuild 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 coordinatesa1
- first scale factorpv1
- first base (unscaled) PVCoordinatesa2
- second scale factorpv2
- 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 constructorBuild 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 coordinatesa1
- first scale factorpv1
- first base (unscaled) PVCoordinatesa2
- second scale factorpv2
- second base (unscaled) PVCoordinatesa3
- third scale factorpv3
- 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 constructorBuild 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 coordinatesa1
- first scale factorpv1
- first base (unscaled) PVCoordinatesa2
- second scale factorpv2
- second base (unscaled) PVCoordinatesa3
- third scale factorpv3
- 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 constructorBuild 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 coordinatesa1
- first scale factorpv1
- first base (unscaled) PVCoordinatesa2
- second scale factorpv2
- second base (unscaled) PVCoordinatesa3
- third scale factorpv3
- 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 constructorBuild 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 coordinatesa1
- first scale factorpv1
- first base (unscaled) PVCoordinatesa2
- second scale factorpv2
- second base (unscaled) PVCoordinatesa3
- third scale factorpv3
- third base (unscaled) PVCoordinates
-
TimeStampedFieldPVCoordinates
public TimeStampedFieldPVCoordinates(AbsoluteDate date, T a1, PVCoordinates pv1, T a2, PVCoordinates pv2, T a3, PVCoordinates pv3)
Linear constructorBuild 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 coordinatesa1
- first scale factorpv1
- first base (unscaled) PVCoordinatesa2
- second scale factorpv2
- second base (unscaled) PVCoordinatesa3
- third scale factorpv3
- third base (unscaled) PVCoordinates
-
TimeStampedFieldPVCoordinates
public TimeStampedFieldPVCoordinates(FieldAbsoluteDate<T> date, T a1, PVCoordinates pv1, T a2, PVCoordinates pv2, T a3, PVCoordinates pv3)
Linear constructorBuild 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 coordinatesa1
- first scale factorpv1
- first base (unscaled) PVCoordinatesa2
- second scale factorpv2
- second base (unscaled) PVCoordinatesa3
- third scale factorpv3
- 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 constructorBuild 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 coordinatesa1
- first scale factorpv1
- first base (unscaled) PVCoordinatesa2
- second scale factorpv2
- second base (unscaled) PVCoordinatesa3
- third scale factorpv3
- third base (unscaled) PVCoordinatesa4
- fourth scale factorpv4
- 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 constructorBuild 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 coordinatesa1
- first scale factorpv1
- first base (unscaled) PVCoordinatesa2
- second scale factorpv2
- second base (unscaled) PVCoordinatesa3
- third scale factorpv3
- third base (unscaled) PVCoordinatesa4
- fourth scale factorpv4
- 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 constructorBuild 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 coordinatesa1
- first scale factorpv1
- first base (unscaled) PVCoordinatesa2
- second scale factorpv2
- second base (unscaled) PVCoordinatesa3
- third scale factorpv3
- third base (unscaled) PVCoordinatesa4
- fourth scale factorpv4
- 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 constructorBuild 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 coordinatesa1
- first scale factorpv1
- first base (unscaled) PVCoordinatesa2
- second scale factorpv2
- second base (unscaled) PVCoordinatesa3
- third scale factorpv3
- third base (unscaled) PVCoordinatesa4
- fourth scale factorpv4
- 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 constructorBuild 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 coordinatesa1
- first scale factorpv1
- first base (unscaled) PVCoordinatesa2
- second scale factorpv2
- second base (unscaled) PVCoordinatesa3
- third scale factorpv3
- third base (unscaled) PVCoordinatesa4
- fourth scale factorpv4
- 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 constructorBuild 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 coordinatesa1
- first scale factorpv1
- first base (unscaled) PVCoordinatesa2
- second scale factorpv2
- second base (unscaled) PVCoordinatesa3
- third scale factorpv3
- third base (unscaled) PVCoordinatesa4
- fourth scale factorpv4
- 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 aFieldVector3D
<FieldDerivativeStructure
>.The vector components must have time as their only derivation parameter and have consistent derivation orders.
- Parameters:
date
- date of the built coordinatesp
- vector with time-derivatives embedded within the coordinates
-
-
Method Detail
-
getDate
public FieldAbsoluteDate<T> getDate()
Get the date.- Returns:
- date
-
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 interfaceTimeShiftable<T extends org.hipparchus.RealFieldElement<T>>
- Overrides:
shiftedBy
in classFieldPVCoordinates<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 classFieldPVCoordinates<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 datefilter
- filter for derivatives from the sample to use in interpolationsample
- 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 datefilter
- filter for derivatives from the sample to use in interpolationsample
- 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 classFieldPVCoordinates<T extends org.hipparchus.RealFieldElement<T>>
- Returns:
- string representation of this position/velocity pair
-
-