Class FieldAbsolutePVCoordinates<T extends CalculusFieldElement<T>>
- java.lang.Object
-
- org.orekit.utils.FieldPVCoordinates<T>
-
- org.orekit.utils.TimeStampedFieldPVCoordinates<T>
-
- org.orekit.utils.FieldAbsolutePVCoordinates<T>
-
- Type Parameters:
T
- type of the field elements
- All Implemented Interfaces:
FieldBlendable<FieldPVCoordinates<T>,T>
,FieldTimeShiftable<FieldPVCoordinates<T>,T>
,FieldTimeStamped<T>
,TimeShiftable<FieldPVCoordinates<T>>
,FieldPVCoordinatesProvider<T>
public class FieldAbsolutePVCoordinates<T extends CalculusFieldElement<T>> extends TimeStampedFieldPVCoordinates<T> implements FieldTimeStamped<T>, FieldPVCoordinatesProvider<T>
Field implementation of AbsolutePVCoordinates.- Author:
- Vincent Mouraux
- See Also:
AbsolutePVCoordinates
-
-
Constructor Summary
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Frame
getFrame()
Get the frame in which the coordinates are defined.FieldVector3D<T>
getPosition(Frame outputFrame)
Get the position in a specified frame.TimeStampedFieldPVCoordinates<T>
getPVCoordinates()
Get the TimeStampedFieldPVCoordinates.TimeStampedFieldPVCoordinates<T>
getPVCoordinates(Frame outputFrame)
Get the TimeStampedFieldPVCoordinates in a specified frame.TimeStampedFieldPVCoordinates<T>
getPVCoordinates(FieldAbsoluteDate<T> otherDate, Frame outputFrame)
Get theFieldPVCoordinates
of the body in the selected frame.FieldAbsolutePVCoordinates<T>
shiftedBy(double dt)
Get a time-shifted state.FieldAbsolutePVCoordinates<T>
shiftedBy(T dt)
Get a time-shifted state.AbsolutePVCoordinates
toAbsolutePVCoordinates()
Converts to an AbsolutePVCoordinates instance.FieldPVCoordinatesProvider<T>
toTaylorProvider()
Create a local provider using simply Taylor expansion throughshiftedBy(double)
.-
Methods inherited from class org.orekit.utils.TimeStampedFieldPVCoordinates
getDate, toString, toString, toTimeStampedPVCoordinates
-
Methods inherited from class org.orekit.utils.FieldPVCoordinates
blendArithmeticallyWith, crossProduct, estimateVelocity, getAcceleration, getAngularVelocity, getMomentum, getPosition, getVelocity, getZero, negate, normalize, positionShiftedBy, toDerivativeStructurePV, toDerivativeStructureVector, toPVCoordinates, 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.FieldPVCoordinatesProvider
getPosition
-
Methods inherited from interface org.orekit.time.FieldTimeStamped
durationFrom, getDate
-
Methods inherited from interface org.orekit.time.TimeShiftable
shiftedBy
-
-
-
-
Constructor Detail
-
FieldAbsolutePVCoordinates
public FieldAbsolutePVCoordinates(Frame frame, FieldAbsoluteDate<T> date, FieldVector3D<T> position, FieldVector3D<T> velocity, FieldVector3D<T> 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Âý)
-
FieldAbsolutePVCoordinates
public FieldAbsolutePVCoordinates(Frame frame, FieldAbsoluteDate<T> date, FieldVector3D<T> position, FieldVector3D<T> 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)
-
FieldAbsolutePVCoordinates
public FieldAbsolutePVCoordinates(Frame frame, FieldAbsoluteDate<T> date, FieldPVCoordinates<T> pva)
Build from frame, date and FieldPVA coordinates.- Parameters:
frame
- the frame in which the coordinates are defineddate
- date of the coordinatespva
- TimeStampedPVCoordinates
-
FieldAbsolutePVCoordinates
public FieldAbsolutePVCoordinates(Frame frame, TimeStampedFieldPVCoordinates<T> pva)
Build from frame and TimeStampedFieldPVCoordinates.- Parameters:
frame
- the frame in which the coordinates are definedpva
- TimeStampedFieldPVCoordinates
-
FieldAbsolutePVCoordinates
public FieldAbsolutePVCoordinates(Field<T> field, AbsolutePVCoordinates pva)
Build from Field and non-Fielded object.- Parameters:
field
- fieldpva
- non-Field AbsolutePVCoordinates
-
FieldAbsolutePVCoordinates
public FieldAbsolutePVCoordinates(FieldAbsoluteDate<T> date, T a, FieldAbsolutePVCoordinates<T> AbsPva)
Multiplicative constructorBuild a FieldAbsolutePVCoordinates from another one and a scale factor.
The TimeStampedFieldPVCoordinates built will be a * AbsPva
- Parameters:
date
- date of the built coordinatesa
- scale factorAbsPva
- base (unscaled) FieldAbsolutePVCoordinates
-
FieldAbsolutePVCoordinates
public FieldAbsolutePVCoordinates(FieldAbsoluteDate<T> date, FieldAbsolutePVCoordinates<T> start, FieldAbsolutePVCoordinates<T> end)
Subtractive constructorBuild a relative FieldAbsolutePVCoordinates from a start and an end position.
The FieldAbsolutePVCoordinates built will be end - start.
In case start and end use two different pseudo-inertial frames, the new FieldAbsolutePVCoordinates arbitrarily be defined in the start frame.
- Parameters:
date
- date of the built coordinatesstart
- Starting FieldAbsolutePVCoordinatesend
- ending FieldAbsolutePVCoordinates
-
FieldAbsolutePVCoordinates
public FieldAbsolutePVCoordinates(FieldAbsoluteDate<T> date, T a1, FieldAbsolutePVCoordinates<T> absPv1, T a2, FieldAbsolutePVCoordinates<T> absPv2)
Linear constructorBuild a FieldAbsolutePVCoordinates from two other ones and corresponding scale factors.
The FieldAbsolutePVCoordinates built will be a1 * u1 + a2 * u2
In case the FieldAbsolutePVCoordinates use different pseudo-inertial frames, the new FieldAbsolutePVCoordinates arbitrarily be defined in the first frame.
- Parameters:
date
- date of the built coordinatesa1
- first scale factorabsPv1
- first base (unscaled) FieldAbsolutePVCoordinatesa2
- second scale factorabsPv2
- second base (unscaled) FieldAbsolutePVCoordinates
-
FieldAbsolutePVCoordinates
public FieldAbsolutePVCoordinates(FieldAbsoluteDate<T> date, T a1, FieldAbsolutePVCoordinates<T> absPv1, T a2, FieldAbsolutePVCoordinates<T> absPv2, T a3, FieldAbsolutePVCoordinates<T> absPv3)
Linear constructorBuild a FieldAbsolutePVCoordinates from three other ones and corresponding scale factors.
The FieldAbsolutePVCoordinates built will be a1 * u1 + a2 * u2 + a3 * u3
In case the FieldAbsolutePVCoordinates use different pseudo-inertial frames, the new FieldAbsolutePVCoordinates arbitrarily be defined in the first frame.
- Parameters:
date
- date of the built coordinatesa1
- first scale factorabsPv1
- first base (unscaled) FieldAbsolutePVCoordinatesa2
- second scale factorabsPv2
- second base (unscaled) FieldAbsolutePVCoordinatesa3
- third scale factorabsPv3
- third base (unscaled) FieldAbsolutePVCoordinates
-
FieldAbsolutePVCoordinates
public FieldAbsolutePVCoordinates(FieldAbsoluteDate<T> date, T a1, FieldAbsolutePVCoordinates<T> absPv1, T a2, FieldAbsolutePVCoordinates<T> absPv2, T a3, FieldAbsolutePVCoordinates<T> absPv3, T a4, FieldAbsolutePVCoordinates<T> absPv4)
Linear constructorBuild a FieldAbsolutePVCoordinates from four other ones and corresponding scale factors.
The FieldAbsolutePVCoordinates built will be a1 * u1 + a2 * u2 + a3 * u3 + a4 * u4
In case the FieldAbsolutePVCoordinates 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) FieldAbsolutePVCoordinatesa2
- second scale factorabsPv2
- second base (unscaled) FieldAbsolutePVCoordinatesa3
- third scale factorabsPv3
- third base (unscaled) FieldAbsolutePVCoordinatesa4
- fourth scale factorabsPv4
- fourth base (unscaled) FieldAbsolutePVCoordinates
-
FieldAbsolutePVCoordinates
public FieldAbsolutePVCoordinates(Frame frame, FieldAbsoluteDate<T> date, FieldVector3D<U> p)
Builds a FieldAbsolutePVCoordinates triplet from aFieldVector3D
<DerivativeStructure
>.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 FieldAbsolutePVCoordinates<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 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 interfaceFieldTimeShiftable<FieldPVCoordinates<T extends CalculusFieldElement<T>>,T extends CalculusFieldElement<T>>
- Overrides:
shiftedBy
in classTimeStampedFieldPVCoordinates<T extends CalculusFieldElement<T>>
- Parameters:
dt
- time shift in seconds- Returns:
- a new state, shifted with respect to the instance (which is immutable)
-
shiftedBy
public FieldAbsolutePVCoordinates<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 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<T extends CalculusFieldElement<T>>
- Overrides:
shiftedBy
in classTimeStampedFieldPVCoordinates<T extends CalculusFieldElement<T>>
- Parameters:
dt
- time shift in seconds- Returns:
- a new state, shifted with respect to the instance (which is immutable)
-
toTaylorProvider
public FieldPVCoordinatesProvider<T> 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 TimeStampedFieldPVCoordinates<T> getPVCoordinates()
Get the TimeStampedFieldPVCoordinates.- Returns:
- TimeStampedFieldPVCoordinates
-
getPosition
public FieldVector3D<T> 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 TimeStampedFieldPVCoordinates<T> getPVCoordinates(Frame outputFrame)
Get the TimeStampedFieldPVCoordinates in a specified frame.- Parameters:
outputFrame
- frame in which the position/velocity coordinates shall be computed- Returns:
- TimeStampedFieldPVCoordinates
- Throws:
OrekitException
- if transformation between frames cannot be computed- See Also:
getPVCoordinates()
-
getPVCoordinates
public TimeStampedFieldPVCoordinates<T> getPVCoordinates(FieldAbsoluteDate<T> otherDate, Frame outputFrame)
Description copied from interface:FieldPVCoordinatesProvider
Get theFieldPVCoordinates
of the body in the selected frame.- Specified by:
getPVCoordinates
in interfaceFieldPVCoordinatesProvider<T extends CalculusFieldElement<T>>
- Parameters:
otherDate
- current dateoutputFrame
- the frame where to define the position- Returns:
- time-stamped position/velocity of the body (m and m/s)
-
toAbsolutePVCoordinates
public AbsolutePVCoordinates toAbsolutePVCoordinates()
Converts to an AbsolutePVCoordinates instance.- Returns:
- AbsolutePVCoordinates with same properties
-
-