Class FieldAbsolutePVCoordinates<T extends CalculusFieldElement<T>>
- java.lang.Object
-
- org.orekit.utils.FieldAbsolutePVCoordinates<T>
-
- Type Parameters:
T- type of the field elements
- All Implemented Interfaces:
FieldTimeShiftable<ShiftableFieldPVCoordinatesHolder<FieldAbsolutePVCoordinates<T>,T>,T>,FieldTimeStamped<T>,TimeShiftable<ShiftableFieldPVCoordinatesHolder<FieldAbsolutePVCoordinates<T>,T>>,FieldPVCoordinatesProvider<T>,ShiftableFieldPVCoordinatesHolder<FieldAbsolutePVCoordinates<T>,T>
public class FieldAbsolutePVCoordinates<T extends CalculusFieldElement<T>> extends Object implements ShiftableFieldPVCoordinatesHolder<FieldAbsolutePVCoordinates<T>,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 FieldVector3D<T>getAcceleration()Getter for the acceleration vector.FieldAbsoluteDate<T>getDate()Get the date.FramegetFrame()Get the frame in which the coordinates are defined.FieldVector3D<T>getPosition(FieldAbsoluteDate<T> otherDate, Frame outputFrame)Get the position of the body in the selected frame.TimeStampedFieldPVCoordinates<T>getPVCoordinates()Get the TimeStampedFieldPVCoordinates.FieldAbsolutePVCoordinates<T>shiftedBy(double dt)Get a time-shifted state.FieldAbsolutePVCoordinates<T>shiftedBy(TimeOffset dt)Get a time-shifted instance.FieldAbsolutePVCoordinates<T>shiftedBy(T dt)Get a time-shifted state.AbsolutePVCoordinatestoAbsolutePVCoordinates()Converts to an AbsolutePVCoordinates instance.StringtoString()FieldPVCoordinatesProvider<T>toTaylorProvider()Create a local provider using simply Taylor expansion throughshiftedBy(double).-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.orekit.time.FieldTimeStamped
durationFrom, durationFrom
-
Methods inherited from interface org.orekit.utils.ShiftableFieldPVCoordinatesHolder
getPosition, getPosition, getPVCoordinates, getPVCoordinates, getVelocity, getVelocity, getVelocity
-
-
-
-
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:
shiftedByin interfaceFieldTimeShiftable<ShiftableFieldPVCoordinatesHolder<FieldAbsolutePVCoordinates<T extends CalculusFieldElement<T>>,T extends CalculusFieldElement<T>>,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(TimeOffset dt)
Description copied from interface:TimeShiftableGet a time-shifted instance.- Specified by:
shiftedByin interfaceTimeShiftable<T extends CalculusFieldElement<T>>- Parameters:
dt- time shift- Returns:
- a new instance, shifted with respect to instance (which is not changed)
-
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:
shiftedByin interfaceTimeShiftable<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
-
getDate
public FieldAbsoluteDate<T> getDate()
Get the date.- Specified by:
getDatein interfaceFieldTimeStamped<T extends CalculusFieldElement<T>>- Returns:
- date attached to the object
-
getFrame
public Frame getFrame()
Get the frame in which the coordinates are defined.- Specified by:
getFramein interfaceShiftableFieldPVCoordinatesHolder<FieldAbsolutePVCoordinates<T extends CalculusFieldElement<T>>,T extends CalculusFieldElement<T>>- Returns:
- frame in which the coordinates are defined
-
getPVCoordinates
public TimeStampedFieldPVCoordinates<T> getPVCoordinates()
Get the TimeStampedFieldPVCoordinates.- Specified by:
getPVCoordinatesin interfaceShiftableFieldPVCoordinatesHolder<FieldAbsolutePVCoordinates<T extends CalculusFieldElement<T>>,T extends CalculusFieldElement<T>>- Returns:
- TimeStampedFieldPVCoordinates
-
getAcceleration
public FieldVector3D<T> getAcceleration()
Getter for the acceleration vector.- Returns:
- acceleration
-
getPosition
public FieldVector3D<T> getPosition(FieldAbsoluteDate<T> otherDate, Frame outputFrame)
Get the position of the body in the selected frame.- Specified by:
getPositionin interfaceFieldPVCoordinatesProvider<T extends CalculusFieldElement<T>>- Specified by:
getPositionin interfaceShiftableFieldPVCoordinatesHolder<FieldAbsolutePVCoordinates<T extends CalculusFieldElement<T>>,T extends CalculusFieldElement<T>>- Parameters:
otherDate- current dateoutputFrame- the frame where to define the position- Returns:
- position of the body (m and)
-
toAbsolutePVCoordinates
public AbsolutePVCoordinates toAbsolutePVCoordinates()
Converts to an AbsolutePVCoordinates instance.- Returns:
- AbsolutePVCoordinates with same properties
-
toString
@DefaultDataContext public String toString()
-
-