Class FieldAbsolutePVCoordinates<T extends CalculusFieldElement<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>
- Author:
- Vincent Mouraux
- See Also:
-
Constructor Summary
ConstructorsConstructorDescriptionFieldAbsolutePVCoordinates(Field<T> field, AbsolutePVCoordinates pva) Build from Field and non-Fielded object.FieldAbsolutePVCoordinates(Frame frame, FieldAbsoluteDate<T> date, FieldVector3D<T> position, FieldVector3D<T> velocity) Build from position and velocity.FieldAbsolutePVCoordinates(Frame frame, FieldAbsoluteDate<T> date, FieldVector3D<T> position, FieldVector3D<T> velocity, FieldVector3D<T> acceleration) Build from position, velocity, acceleration.FieldAbsolutePVCoordinates(Frame frame, FieldAbsoluteDate<T> date, FieldVector3D<U> p) Builds a FieldAbsolutePVCoordinates triplet from aFieldVector3D<DerivativeStructure>.FieldAbsolutePVCoordinates(Frame frame, FieldAbsoluteDate<T> date, FieldPVCoordinates<T> pva) Build from frame, date and FieldPVA coordinates.FieldAbsolutePVCoordinates(Frame frame, TimeStampedFieldPVCoordinates<T> pva) Build from frame and TimeStampedFieldPVCoordinates.FieldAbsolutePVCoordinates(FieldAbsoluteDate<T> date, FieldAbsolutePVCoordinates<T> start, FieldAbsolutePVCoordinates<T> end) Subtractive constructorFieldAbsolutePVCoordinates(FieldAbsoluteDate<T> date, T a, FieldAbsolutePVCoordinates<T> absPva) Multiplicative constructorFieldAbsolutePVCoordinates(FieldAbsoluteDate<T> date, T a1, FieldAbsolutePVCoordinates<T> absPv1, T a2, FieldAbsolutePVCoordinates<T> absPv2) Linear constructorFieldAbsolutePVCoordinates(FieldAbsoluteDate<T> date, T a1, FieldAbsolutePVCoordinates<T> absPv1, T a2, FieldAbsolutePVCoordinates<T> absPv2, T a3, FieldAbsolutePVCoordinates<T> absPv3) Linear constructorFieldAbsolutePVCoordinates(FieldAbsoluteDate<T> date, T a1, FieldAbsolutePVCoordinates<T> absPv1, T a2, FieldAbsolutePVCoordinates<T> absPv2, T a3, FieldAbsolutePVCoordinates<T> absPv3, T a4, FieldAbsolutePVCoordinates<T> absPv4) Linear constructor -
Method Summary
Modifier and TypeMethodDescriptionGetter for the acceleration vector.getDate()Get the date.getFrame()Get the frame in which the coordinates are defined.getPosition(FieldAbsoluteDate<T> otherDate, Frame outputFrame) Get the position of the body in the selected frame.Get the TimeStampedFieldPVCoordinates.shiftedBy(double dt) Get a time-shifted state.shiftedBy(TimeOffset dt) Get a time-shifted instance.Get a time-shifted state.Converts to an AbsolutePVCoordinates instance.toString()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, waitMethods inherited from interface org.orekit.time.FieldTimeStamped
durationFrom, durationFromMethods inherited from interface org.orekit.utils.ShiftableFieldPVCoordinatesHolder
getPosition, getPosition, getPVCoordinates, getPVCoordinates, getVelocity, getVelocity, getVelocity
-
Constructor Details
-
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
Build from frame and TimeStampedFieldPVCoordinates.- Parameters:
frame- the frame in which the coordinates are definedpva- TimeStampedFieldPVCoordinates
-
FieldAbsolutePVCoordinates
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
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 Details
-
shiftedBy
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
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
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
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
Get the date.- Specified by:
getDatein interfaceFieldTimeStamped<T extends CalculusFieldElement<T>>- Returns:
- date attached to the object
-
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
Get the TimeStampedFieldPVCoordinates.- Specified by:
getPVCoordinatesin interfaceShiftableFieldPVCoordinatesHolder<FieldAbsolutePVCoordinates<T extends CalculusFieldElement<T>>,T extends CalculusFieldElement<T>> - Returns:
- TimeStampedFieldPVCoordinates
-
getAcceleration
Getter for the acceleration vector.- Returns:
- acceleration
-
getPosition
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
Converts to an AbsolutePVCoordinates instance.- Returns:
- AbsolutePVCoordinates with same properties
-
toString
-