public class TimeStampedPVCoordinates extends PVCoordinates implements TimeStamped
ZERO
Constructor and Description |
---|
TimeStampedPVCoordinates(AbsoluteDate dateIn,
double a,
PVCoordinates pv)
Multiplicative constructor
Build a TimeStampedPVCoordinates from another one and a scale factor.
|
TimeStampedPVCoordinates(AbsoluteDate dateIn,
double a1,
PVCoordinates pv1,
double a2,
PVCoordinates pv2)
Linear constructor
Build a TimeStampedPVCoordinates from two other ones and corresponding scale factors.
|
TimeStampedPVCoordinates(AbsoluteDate dateIn,
double a1,
PVCoordinates pv1,
double a2,
PVCoordinates pv2,
double a3,
PVCoordinates pv3)
Linear constructor
Build a TimeStampedPVCoordinates from three other ones and corresponding scale factors.
|
TimeStampedPVCoordinates(AbsoluteDate dateIn,
double a1,
PVCoordinates pv1,
double a2,
PVCoordinates pv2,
double a3,
PVCoordinates pv3,
double a4,
PVCoordinates pv4)
Linear constructor
Build a TimeStampedPVCoordinates from four other ones and corresponding scale factors.
|
TimeStampedPVCoordinates(AbsoluteDate dateIn,
FieldVector3D<DerivativeStructure> p)
Builds a TimeStampedPVCoordinates triplet from a
FieldVector3D <DerivativeStructure >. |
TimeStampedPVCoordinates(AbsoluteDate dateIn,
PVCoordinates pv)
Build from position velocity acceleration coordinates.
|
TimeStampedPVCoordinates(AbsoluteDate dateIn,
PVCoordinates start,
PVCoordinates end)
Subtractive constructor
Build a relative TimeStampedPVCoordinates from a start and an end position.
|
TimeStampedPVCoordinates(AbsoluteDate dateIn,
Vector3D position,
Vector3D velocity)
Build from position and velocity.
|
TimeStampedPVCoordinates(AbsoluteDate dateIn,
Vector3D position,
Vector3D velocity,
Vector3D acceleration)
Builds a TimeStampedPVCoordinates triplet.
|
Modifier and Type | Method and Description |
---|---|
boolean |
equals(Object object) |
AbsoluteDate |
getDate()
Get the date.
|
int |
hashCode() |
static TimeStampedPVCoordinates |
interpolate(AbsoluteDate date,
CartesianDerivativesFilter filter,
Collection<TimeStampedPVCoordinates> sample)
Interpolate position-velocity.
|
TimeStampedPVCoordinates |
shiftedBy(double dt)
Get a time-shifted state.
|
String |
toString()
Return a string representation of this position/velocity pair.
|
crossProduct, estimateVelocity, getAcceleration, getAngularVelocity, getMomentum, getPosition, getVelocity, negate, normalize, toDerivativeStructureVector
public TimeStampedPVCoordinates(AbsoluteDate dateIn, Vector3D position, Vector3D velocity, Vector3D acceleration)
dateIn
- coordinates dateposition
- the position vector (m)velocity
- the velocity vector (m/s)acceleration
- the acceleration vector (m/s²)public TimeStampedPVCoordinates(AbsoluteDate dateIn, Vector3D position, Vector3D velocity)
dateIn
- coordinates dateposition
- the position vector (m)velocity
- the velocity vector (m/s)public TimeStampedPVCoordinates(AbsoluteDate dateIn, PVCoordinates pv)
dateIn
- coordinates datepv
- position velocity, and acceleration coordinates, in meters and seconds.public TimeStampedPVCoordinates(AbsoluteDate dateIn, double a, PVCoordinates pv)
Build a TimeStampedPVCoordinates from another one and a scale factor.
The TimeStampedPVCoordinates built will be a * pv
dateIn
- date of the built coordinatesa
- scale factorpv
- base (unscaled) PVCoordinatespublic TimeStampedPVCoordinates(AbsoluteDate dateIn, PVCoordinates start, PVCoordinates end)
Build a relative TimeStampedPVCoordinates from a start and an end position.
The TimeStampedPVCoordinates built will be end - start.
dateIn
- date of the built coordinatesstart
- Starting PVCoordinatesend
- ending PVCoordinatespublic TimeStampedPVCoordinates(AbsoluteDate dateIn, double a1, PVCoordinates pv1, double a2, PVCoordinates pv2)
Build a TimeStampedPVCoordinates from two other ones and corresponding scale factors.
The TimeStampedPVCoordinates built will be a1 * u1 + a2 * u2
dateIn
- date of the built coordinatesa1
- first scale factorpv1
- first base (unscaled) PVCoordinatesa2
- second scale factorpv2
- second base (unscaled) PVCoordinatespublic TimeStampedPVCoordinates(AbsoluteDate dateIn, double a1, PVCoordinates pv1, double a2, PVCoordinates pv2, double a3, PVCoordinates pv3)
Build a TimeStampedPVCoordinates from three other ones and corresponding scale factors.
The TimeStampedPVCoordinates built will be a1 * u1 + a2 * u2 + a3 * u3
dateIn
- 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) PVCoordinatespublic TimeStampedPVCoordinates(AbsoluteDate dateIn, double a1, PVCoordinates pv1, double a2, PVCoordinates pv2, double a3, PVCoordinates pv3, double a4, PVCoordinates pv4)
Build a TimeStampedPVCoordinates from four other ones and corresponding scale factors.
The TimeStampedPVCoordinates built will be a1 * u1 + a2 * u2 + a3 * u3 + a4 * u4
dateIn
- 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) PVCoordinatespublic TimeStampedPVCoordinates(AbsoluteDate dateIn, FieldVector3D<DerivativeStructure> p)
FieldVector3D
<DerivativeStructure
>.
The vector components must have time as their only derivation parameter and have consistent derivation orders.
dateIn
- date of the built coordinatesp
- vector with time-derivatives embedded within the coordinatespublic AbsoluteDate getDate()
getDate
in interface TimeStamped
public TimeStampedPVCoordinates shiftedBy(double dt)
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.
shiftedBy
in interface TimeShiftable<PVCoordinates>
shiftedBy
in class PVCoordinates
dt
- time shift in secondsAbsoluteDate.shiftedBy(double)
,
Attitude.shiftedBy(double)
,
Orbit.shiftedBy(double)
,
SpacecraftState.shiftedBy(double)
public static TimeStampedPVCoordinates interpolate(AbsoluteDate date, CartesianDerivativesFilter filter, Collection<TimeStampedPVCoordinates> sample)
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.
date
- interpolation datefilter
- filter for derivatives from the sample to use in interpolationsample
- sample points on which interpolation should be donepublic String toString()
toString
in class PVCoordinates
public boolean equals(Object object)
equals
in class PVCoordinates
public int hashCode()
hashCode
in class PVCoordinates
Copyright © 2021 CNES. All rights reserved.