Class AbsolutePVCoordinates
- java.lang.Object
-
- org.orekit.utils.PVCoordinates
-
- org.orekit.utils.TimeStampedPVCoordinates
-
- org.orekit.utils.AbsolutePVCoordinates
-
- All Implemented Interfaces:
Serializable
,Blendable<PVCoordinates>
,TimeShiftable<PVCoordinates>
,TimeStamped
,PVCoordinatesProvider
public class AbsolutePVCoordinates extends TimeStampedPVCoordinates implements TimeStamped, Serializable, PVCoordinatesProvider
Position - Velocity - Acceleration linked to a date and a frame.- See Also:
- Serialized Form
-
-
Field Summary
-
Fields inherited from class org.orekit.utils.PVCoordinates
ZERO
-
-
Constructor Summary
Constructors Constructor Description AbsolutePVCoordinates(Frame frame, AbsoluteDate date, FieldVector3D<U> p)
Builds a AbsolutePVCoordinates triplet from aFieldVector3D
<Derivative
>.AbsolutePVCoordinates(Frame frame, AbsoluteDate date, Vector3D position, Vector3D velocity)
Build from position and velocity.AbsolutePVCoordinates(Frame frame, AbsoluteDate date, Vector3D position, Vector3D velocity, Vector3D acceleration)
Build from position, velocity, acceleration.AbsolutePVCoordinates(Frame frame, AbsoluteDate date, PVCoordinates pva)
Build from frame, date and PVA coordinates.AbsolutePVCoordinates(Frame frame, TimeStampedPVCoordinates pva)
Build from frame and TimeStampedPVCoordinates.AbsolutePVCoordinates(AbsoluteDate date, double a, AbsolutePVCoordinates AbsPva)
Multiplicative constructorAbsolutePVCoordinates(AbsoluteDate date, double a1, AbsolutePVCoordinates absPv1, double a2, AbsolutePVCoordinates absPv2)
Linear constructorAbsolutePVCoordinates(AbsoluteDate date, double a1, AbsolutePVCoordinates absPv1, double a2, AbsolutePVCoordinates absPv2, double a3, AbsolutePVCoordinates absPv3)
Linear constructorAbsolutePVCoordinates(AbsoluteDate date, double a1, AbsolutePVCoordinates absPv1, double a2, AbsolutePVCoordinates absPv2, double a3, AbsolutePVCoordinates absPv3, double a4, AbsolutePVCoordinates absPv4)
Linear constructorAbsolutePVCoordinates(AbsoluteDate date, AbsolutePVCoordinates start, AbsolutePVCoordinates end)
Subtractive constructor
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Frame
getFrame()
Get the frame in which the coordinates are defined.Vector3D
getPosition(Frame outputFrame)
Get the position in a specified frame.TimeStampedPVCoordinates
getPVCoordinates()
Get the TimeStampedPVCoordinates.TimeStampedPVCoordinates
getPVCoordinates(Frame outputFrame)
Get the TimeStampedPVCoordinates in a specified frame.TimeStampedPVCoordinates
getPVCoordinates(AbsoluteDate otherDate, Frame outputFrame)
Get thePVCoordinates
of the body in the selected frame.AbsolutePVCoordinates
shiftedBy(double dt)
Get a time-shifted state.AbsolutePVCoordinates
shiftedBy(TimeOffset dt)
Get a time-shifted state.PVCoordinatesProvider
toTaylorProvider()
Create a local provider using simply Taylor expansion throughshiftedBy(double)
.-
Methods inherited from class org.orekit.utils.TimeStampedPVCoordinates
getDate, toString, toString, toTaylorProvider
-
Methods inherited from class org.orekit.utils.PVCoordinates
blendArithmeticallyWith, crossProduct, estimateVelocity, getAcceleration, getAngularVelocity, getMomentum, getPosition, getVelocity, negate, normalize, positionShiftedBy, toDerivativeStructurePV, toDerivativeStructureVector, toUnivariateDerivative1PV, toUnivariateDerivative1Vector, toUnivariateDerivative2PV, toUnivariateDerivative2Vector
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.orekit.utils.PVCoordinatesProvider
getPosition
-
Methods inherited from interface org.orekit.time.TimeStamped
durationFrom, getDate
-
-
-
-
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 defineddate
- coordinates dateposition
- 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 defineddate
- coordinates dateposition
- 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 defineddate
- date of the coordinatespva
- TimeStampedPVCoordinates
-
AbsolutePVCoordinates
public AbsolutePVCoordinates(Frame frame, TimeStampedPVCoordinates pva)
Build from frame and TimeStampedPVCoordinates.- Parameters:
frame
- the frame in which the coordinates are definedpva
- TimeStampedPVCoordinates
-
AbsolutePVCoordinates
public AbsolutePVCoordinates(AbsoluteDate date, double a, AbsolutePVCoordinates AbsPva)
Multiplicative constructorBuild a AbsolutePVCoordinates from another one and a scale factor.
The TimeStampedPVCoordinates built will be a * AbsPva
- Parameters:
date
- date of the built coordinatesa
- scale factorAbsPva
- base (unscaled) AbsolutePVCoordinates
-
AbsolutePVCoordinates
public AbsolutePVCoordinates(AbsoluteDate date, AbsolutePVCoordinates start, AbsolutePVCoordinates end)
Subtractive constructorBuild 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 coordinatesstart
- Starting AbsolutePVCoordinatesend
- ending AbsolutePVCoordinates
-
AbsolutePVCoordinates
public AbsolutePVCoordinates(AbsoluteDate date, double a1, AbsolutePVCoordinates absPv1, double a2, AbsolutePVCoordinates absPv2)
Linear constructorBuild 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 coordinatesa1
- first scale factorabsPv1
- first base (unscaled) AbsolutePVCoordinatesa2
- second scale factorabsPv2
- second base (unscaled) AbsolutePVCoordinates
-
AbsolutePVCoordinates
public AbsolutePVCoordinates(AbsoluteDate date, double a1, AbsolutePVCoordinates absPv1, double a2, AbsolutePVCoordinates absPv2, double a3, AbsolutePVCoordinates absPv3)
Linear constructorBuild 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 coordinatesa1
- first scale factorabsPv1
- first base (unscaled) AbsolutePVCoordinatesa2
- second scale factorabsPv2
- second base (unscaled) AbsolutePVCoordinatesa3
- third scale factorabsPv3
- 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 constructorBuild 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 coordinatesa1
- first scale factorabsPv1
- first base (unscaled) AbsolutePVCoordinatesa2
- second scale factorabsPv2
- second base (unscaled) AbsolutePVCoordinatesa3
- third scale factorabsPv3
- third base (unscaled) AbsolutePVCoordinatesa4
- fourth scale factorabsPv4
- fourth base (unscaled) AbsolutePVCoordinates
-
AbsolutePVCoordinates
public AbsolutePVCoordinates(Frame frame, AbsoluteDate date, FieldVector3D<U> p)
Builds a AbsolutePVCoordinates 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:
frame
- the frame in which the parameters are defineddate
- date of the built coordinatesp
- 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 interfaceTimeShiftable<PVCoordinates>
- Overrides:
shiftedBy
in classTimeStampedPVCoordinates
- 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 interfaceTimeShiftable<PVCoordinates>
- Overrides:
shiftedBy
in classTimeStampedPVCoordinates
- 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 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.
- 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()
-
getPVCoordinates
public TimeStampedPVCoordinates getPVCoordinates(AbsoluteDate otherDate, Frame outputFrame)
Description copied from interface:PVCoordinatesProvider
Get thePVCoordinates
of the body in the selected frame.- Specified by:
getPVCoordinates
in interfacePVCoordinatesProvider
- Parameters:
otherDate
- current dateoutputFrame
- the frame where to define the position- Returns:
- time-stamped position/velocity of the body (m and m/s)
-
-