Class TimeStampedPVCoordinates
- java.lang.Object
-
- org.orekit.utils.PVCoordinates
-
- org.orekit.utils.TimeStampedPVCoordinates
-
- All Implemented Interfaces:
Blendable<PVCoordinates>,TimeShiftable<PVCoordinates>,TimeStamped
- Direct Known Subclasses:
CPF.CPFCoordinate,SP3Coordinate
public class TimeStampedPVCoordinates extends PVCoordinates implements TimeStamped
- Since:
- 7.0
- Author:
- Luc Maisonobe
-
-
Field Summary
-
Fields inherited from class org.orekit.utils.PVCoordinates
ZERO
-
-
Constructor Summary
Constructors Constructor Description TimeStampedPVCoordinates(AbsoluteDate date, double a, PVCoordinates pv)Multiplicative constructorTimeStampedPVCoordinates(AbsoluteDate date, double a1, PVCoordinates pv1, double a2, PVCoordinates pv2)Linear constructorTimeStampedPVCoordinates(AbsoluteDate date, double a1, PVCoordinates pv1, double a2, PVCoordinates pv2, double a3, PVCoordinates pv3)Linear constructorTimeStampedPVCoordinates(AbsoluteDate date, double a1, PVCoordinates pv1, double a2, PVCoordinates pv2, double a3, PVCoordinates pv3, double a4, PVCoordinates pv4)Linear constructorTimeStampedPVCoordinates(AbsoluteDate date, FieldVector3D<U> p)Builds a TimeStampedPVCoordinates triplet from aFieldVector3D<Derivative>.TimeStampedPVCoordinates(AbsoluteDate date, Vector3D position, Vector3D velocity)Build from position and velocity.TimeStampedPVCoordinates(AbsoluteDate date, Vector3D position, Vector3D velocity, Vector3D acceleration)Builds a TimeStampedPVCoordinates pair.TimeStampedPVCoordinates(AbsoluteDate date, PVCoordinates pv)Build from position velocity acceleration coordinates.TimeStampedPVCoordinates(AbsoluteDate date, PVCoordinates start, PVCoordinates end)Subtractive constructor
-
Method Summary
-
Methods inherited from class org.orekit.utils.PVCoordinates
blendArithmeticallyWith, crossProduct, estimateVelocity, getAcceleration, getAngularVelocity, getMomentum, getPosition, getVelocity, negate, normalize, positionShiftedBy, toDerivativeStructureVector, toDerivativeStructureVector, toUnivariateDerivative1Vector, toUnivariateDerivative2Vector
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.orekit.time.TimeStamped
durationFrom
-
-
-
-
Constructor Detail
-
TimeStampedPVCoordinates
public TimeStampedPVCoordinates(AbsoluteDate date, Vector3D position, Vector3D velocity, Vector3D acceleration)
Builds a TimeStampedPVCoordinates pair.- Parameters:
date- coordinates dateposition- the position vector (m)velocity- the velocity vector (m/s)acceleration- the acceleration vector (m/s²)
-
TimeStampedPVCoordinates
public TimeStampedPVCoordinates(AbsoluteDate date, Vector3D position, Vector3D velocity)
Build from position and velocity. Acceleration is set to zero.- Parameters:
date- coordinates dateposition- the position vector (m)velocity- the velocity vector (m/s)
-
TimeStampedPVCoordinates
public TimeStampedPVCoordinates(AbsoluteDate date, PVCoordinates pv)
Build from position velocity acceleration coordinates.- Parameters:
date- coordinates datepv- position velocity, and acceleration coordinates, in meters and seconds.
-
TimeStampedPVCoordinates
public TimeStampedPVCoordinates(AbsoluteDate date, double a, PVCoordinates pv)
Multiplicative constructorBuild a TimeStampedPVCoordinates from another one and a scale factor.
The TimeStampedPVCoordinates built will be a * pv
- Parameters:
date- date of the built coordinatesa- scale factorpv- base (unscaled) PVCoordinates
-
TimeStampedPVCoordinates
public TimeStampedPVCoordinates(AbsoluteDate date, PVCoordinates start, PVCoordinates end)
Subtractive constructorBuild a relative TimeStampedPVCoordinates from a start and an end position.
The TimeStampedPVCoordinates built will be end - start.
- Parameters:
date- date of the built coordinatesstart- Starting PVCoordinatesend- ending PVCoordinates
-
TimeStampedPVCoordinates
public TimeStampedPVCoordinates(AbsoluteDate date, double a1, PVCoordinates pv1, double a2, PVCoordinates pv2)
Linear constructorBuild a TimeStampedPVCoordinates from two other ones and corresponding scale factors.
The TimeStampedPVCoordinates 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
-
TimeStampedPVCoordinates
public TimeStampedPVCoordinates(AbsoluteDate date, double a1, PVCoordinates pv1, double a2, PVCoordinates pv2, double a3, PVCoordinates pv3)
Linear constructorBuild a TimeStampedPVCoordinates from three other ones and corresponding scale factors.
The TimeStampedPVCoordinates 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
-
TimeStampedPVCoordinates
public TimeStampedPVCoordinates(AbsoluteDate date, double a1, PVCoordinates pv1, double a2, PVCoordinates pv2, double a3, PVCoordinates pv3, double a4, PVCoordinates pv4)
Linear constructorBuild a TimeStampedPVCoordinates from four other ones and corresponding scale factors.
The TimeStampedPVCoordinates 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
-
TimeStampedPVCoordinates
public TimeStampedPVCoordinates(AbsoluteDate date, FieldVector3D<U> p)
Builds a TimeStampedPVCoordinates triplet from aFieldVector3D<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:
date- date of the built coordinatesp- vector with time-derivatives embedded within the coordinates
-
-
Method Detail
-
getDate
public AbsoluteDate getDate()
Get the date.- Specified by:
getDatein interfaceTimeStamped- Returns:
- date attached to the object
-
shiftedBy
public TimeStampedPVCoordinates 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:
shiftedByin interfaceTimeShiftable<PVCoordinates>- Overrides:
shiftedByin classPVCoordinates- Parameters:
dt- time shift in seconds- Returns:
- a new state, shifted with respect to the instance (which is immutable)
-
shiftedBy
public TimeStampedPVCoordinates 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:
shiftedByin interfaceTimeShiftable<PVCoordinates>- Parameters:
dt- time shift- Returns:
- a new state, shifted with respect to the instance (which is immutable)
- Since:
- 13.0
-
toTaylorProvider
public PVCoordinatesProvider toTaylorProvider(Frame instanceFrame)
Create a local provider using simply Taylor expansion throughshiftedBy(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.
- Parameters:
instanceFrame- frame in which the instance is defined- Returns:
- provider based on Taylor expansion, for small time shifts around instance date
-
toDerivativeStructurePV
public TimeStampedFieldPVCoordinates<DerivativeStructure> toDerivativeStructurePV(int order)
Description copied from class:PVCoordinatesTransform the instance to aFieldPVCoordinates<DerivativeStructure>.The
DerivativeStructurecoordinates correspond to time-derivatives up to the user-specified order. As both the instance componentsposition,velocityandaccelerationand thederivativesof the components holds time-derivatives, there are several ways to retrieve these derivatives. If for example theorderis set to 2, then bothpv.getPosition().getX().getPartialDerivative(2),pv.getVelocity().getX().getPartialDerivative(1)andpv.getAcceleration().getX().getValue()return the exact same value.If derivation order is 1, the first derivative of acceleration will be computed as a Keplerian-only jerk. If derivation order is 2, the second derivative of velocity (which is also the first derivative of acceleration) will be computed as a Keplerian-only jerk, and the second derivative of acceleration will be computed as a Keplerian-only jounce.
- Overrides:
toDerivativeStructurePVin classPVCoordinates- Parameters:
order- derivation order for the vector components (must be either 0, 1 or 2)- Returns:
- pv coordinates with time-derivatives embedded within the coordinates
-
toUnivariateDerivative1PV
public TimeStampedFieldPVCoordinates<UnivariateDerivative1> toUnivariateDerivative1PV()
Description copied from class:PVCoordinatesTransform the instance to aFieldPVCoordinates<UnivariateDerivative1>.The
UnivariateDerivative1coordinates correspond to time-derivatives up to the order 1. The first derivative of acceleration will be computed as a Keplerian-only jerk.- Overrides:
toUnivariateDerivative1PVin classPVCoordinates- Returns:
- pv coordinates with time-derivatives embedded within the coordinates
-
toUnivariateDerivative2PV
public TimeStampedFieldPVCoordinates<UnivariateDerivative2> toUnivariateDerivative2PV()
Description copied from class:PVCoordinatesTransform the instance to aFieldPVCoordinates<UnivariateDerivative2>.The
UnivariateDerivative2coordinates correspond to time-derivatives up to the order 2. As derivation order is 2, the second derivative of velocity (which is also the first derivative of acceleration) will be computed as a Keplerian-only jerk, and the second derivative of acceleration will be computed as a Keplerian-only jounce.- Overrides:
toUnivariateDerivative2PVin classPVCoordinates- Returns:
- pv coordinates with time-derivatives embedded within the coordinates
-
toString
@DefaultDataContext public String toString()
Return a string representation of this date, position, velocity, and acceleration.This method uses the
default data context.- Overrides:
toStringin classPVCoordinates- Returns:
- string representation of this.
-
-