Class TimeStampedAngularCoordinates
- All Implemented Interfaces:
TimeShiftable<AngularCoordinates>,TimeStamped
- Since:
- 7.0
- Author:
- Luc Maisonobe
-
Field Summary
Fields inherited from class org.orekit.utils.AngularCoordinates
IDENTITY -
Constructor Summary
ConstructorsConstructorDescriptionTimeStampedAngularCoordinates(AbsoluteDate date, FieldRotation<U> r) Builds a TimeStampedAngularCoordinates from aFieldRotation<Derivative>.TimeStampedAngularCoordinates(AbsoluteDate date, Rotation rotation, Vector3D rotationRate, Vector3D rotationAcceleration) Builds a rotation/rotation rate pair.TimeStampedAngularCoordinates(AbsoluteDate date, AngularCoordinates coordinates) Builds a rotation/rotation rate pair.Build one of the rotations that transform one pv coordinates into another one.TimeStampedAngularCoordinates(AbsoluteDate date, PVCoordinates u1, PVCoordinates u2, PVCoordinates v1, PVCoordinates v2, double tolerance) Build the rotation that transforms a pair of pv coordinates into another pair. -
Method Summary
Modifier and TypeMethodDescriptionaddOffset(AngularCoordinates offset) Add an offset from the instance.getDate()Get the date.revert()Revert a rotation/rotation rate pair.shiftedBy(double dt) Get a time-shifted state.shiftedBy(TimeOffset dt) Get a time-shifted state.subtractOffset(AngularCoordinates offset) Subtract an offset from the instance.Methods inherited from class org.orekit.utils.AngularCoordinates
applyTo, applyTo, applyTo, applyTo, createFromModifiedRodrigues, estimateRate, getModifiedRodrigues, getRotation, getRotationAcceleration, getRotationRate, rotationShiftedBy, toDerivativeStructureRotation, toUnivariateDerivative1Rotation, toUnivariateDerivative2RotationMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.orekit.time.TimeStamped
durationFrom
-
Constructor Details
-
TimeStampedAngularCoordinates
Builds a rotation/rotation rate pair.- Parameters:
date- coordinates datecoordinates- coordinates- Since:
- 14.0
-
TimeStampedAngularCoordinates
public TimeStampedAngularCoordinates(AbsoluteDate date, Rotation rotation, Vector3D rotationRate, Vector3D rotationAcceleration) Builds a rotation/rotation rate pair.- Parameters:
date- coordinates daterotation- rotationrotationRate- rotation rate Ω (rad/s)rotationAcceleration- rotation acceleration dΩ/dt (rad²/s²)
-
TimeStampedAngularCoordinates
public TimeStampedAngularCoordinates(AbsoluteDate date, PVCoordinates u1, PVCoordinates u2, PVCoordinates v1, PVCoordinates v2, double tolerance) Build the rotation that transforms a pair of pv coordinates into another pair.WARNING! This method requires much more stringent assumptions on its parameters than the similar
constructorfrom theRotationclass. As far as the Rotation constructor is concerned, thev₂vector from the second pair can be slightly misaligned. The Rotation constructor will compensate for this misalignment and create a rotation that ensurev₁ = r(u₁)andv₂ ∈ plane (r(u₁), r(u₂)). THIS IS NOT TRUE ANYMORE IN THIS CLASS! As derivatives are involved and must be preserved, this constructor works only if the two pairs are fully consistent, i.e. if a rotation exists that fulfill all the requirements:v₁ = r(u₁),v₂ = r(u₂),dv₁/dt = dr(u₁)/dt,dv₂/dt = dr(u₂)/dt,d²v₁/dt² = d²r(u₁)/dt²,d²v₂/dt² = d²r(u₂)/dt².- Parameters:
date- coordinates dateu1- first vector of the origin pairu2- second vector of the origin pairv1- desired image of u1 by the rotationv2- desired image of u2 by the rotationtolerance- relative tolerance factor used to check singularities
-
TimeStampedAngularCoordinates
Build one of the rotations that transform one pv coordinates into another one.Except for a possible scale factor, if the instance were applied to the vector u it will produce the vector v. There is an infinite number of such rotations, this constructor choose the one with the smallest associated angle (i.e. the one whose axis is orthogonal to the (u, v) plane). If u and v are collinear, an arbitrary rotation axis is chosen.
- Parameters:
date- coordinates dateu- origin vectorv- desired image of u by the rotation
-
TimeStampedAngularCoordinates
Builds a TimeStampedAngularCoordinates from aFieldRotation<Derivative>.The rotation components must have time as their only derivation parameter and have consistent derivation orders.
- Type Parameters:
U- type of the derivative- Parameters:
date- coordinates dater- rotation with time-derivatives embedded within the coordinates
-
-
Method Details
-
getDate
Get the date.- Specified by:
getDatein interfaceTimeStamped- Returns:
- date attached to the object
-
revert
Revert a rotation/rotation rate pair. Build a pair which reverse the effect of another pair.- Overrides:
revertin classAngularCoordinates- Returns:
- a new pair whose effect is the reverse of the effect of the instance
-
shiftedBy
Get a time-shifted state.The state can be slightly shifted to close dates. This shift is based on a simple linear model. It is not intended as a replacement for proper attitude propagation but should be sufficient for either small time shifts or coarse accuracy.
- Specified by:
shiftedByin interfaceTimeShiftable<AngularCoordinates>- Overrides:
shiftedByin classAngularCoordinates- Parameters:
dt- time shift in seconds- Returns:
- a new state, shifted with respect to the instance (which is immutable)
-
shiftedBy
Get a time-shifted state.The state can be slightly shifted to close dates. This shift is based on a simple linear model. It is not intended as a replacement for proper attitude propagation but should be sufficient for either small time shifts or coarse accuracy.
- Specified by:
shiftedByin interfaceTimeShiftable<AngularCoordinates>- Parameters:
dt- time shift in seconds- Returns:
- a new state, shifted with respect to the instance (which is immutable)
- Since:
- 13.0
-
addOffset
Add an offset from the instance.We consider here that the offset rotation is applied first and the instance is applied afterward. Note that angular coordinates do not commute under this operation, i.e.
a.addOffset(b)andb.addOffset(a)lead to different results in most cases.The two methods
addOffsetandsubtractOffsetare designed so that round trip applications are possible. This means that bothac1.subtractOffset(ac2).addOffset(ac2)andac1.addOffset(ac2).subtractOffset(ac2)return angular coordinates equal to ac1.- Overrides:
addOffsetin classAngularCoordinates- Parameters:
offset- offset to subtract- Returns:
- new instance, with offset subtracted
- See Also:
-
subtractOffset
Subtract an offset from the instance.We consider here that the offset rotation is applied first and the instance is applied afterward. Note that angular coordinates do not commute under this operation, i.e.
a.subtractOffset(b)andb.subtractOffset(a)lead to different results in most cases.The two methods
addOffsetandsubtractOffsetare designed so that round trip applications are possible. This means that bothac1.subtractOffset(ac2).addOffset(ac2)andac1.addOffset(ac2).subtractOffset(ac2)return angular coordinates equal to ac1.- Overrides:
subtractOffsetin classAngularCoordinates- Parameters:
offset- offset to subtract- Returns:
- new instance, with offset subtracted
- See Also:
-