Interface FieldKinematicTransform<T extends CalculusFieldElement<T>>

• All Superinterfaces:
FieldStaticTransform<T>, TimeStamped
All Known Implementing Classes:
FieldTransform

public interface FieldKinematicTransform<T extends CalculusFieldElement<T>>
extends FieldStaticTransform<T>
A transform that only includes translation and rotation as well as their respective rates. It is kinematic in the sense that it cannot transform an acceleration vector.
Since:
12.1
Author:
Romain Serra
FieldStaticTransform, FieldTransform, KinematicTransform
• Method Summary

All Methods
Modifier and Type Method Description
static <T extends CalculusFieldElement<T>>FieldKinematicTransform<T> compose​(FieldAbsoluteDate<T> date, FieldKinematicTransform<T> first, FieldKinematicTransform<T> second)
Build a transform by combining two existing ones.
static <T extends CalculusFieldElement<T>>FieldVector3D<T> compositeRotationRate​(FieldKinematicTransform<T> first, FieldKinematicTransform<T> second)
Compute a composite rotation rate.
static <T extends CalculusFieldElement<T>>FieldVector3D<T> compositeVelocity​(FieldKinematicTransform<T> first, FieldKinematicTransform<T> second)
Compute a composite velocity.
static <T extends CalculusFieldElement<T>>FieldKinematicTransform<T> getIdentity​(Field<T> field)
Get the identity kinematic transform.
FieldKinematicTransform<T> getInverse()
Get the inverse transform of the instance.
FieldVector3D<T> getRotationRate()
Get the first time derivative of the rotation.
FieldVector3D<T> getVelocity()
Get the first time derivative of the translation.
static <T extends CalculusFieldElement<T>>FieldKinematicTransform<T> of​(Field<T> field, KinematicTransform kinematicTransform)
Create a new kinematic transform from a non-Field version.
static <T extends CalculusFieldElement<T>>FieldKinematicTransform<T> of​(FieldAbsoluteDate<T> date, FieldRotation<T> rotation, FieldVector3D<T> rotationRate)
Create a new kinematic transform from a rotation and zero, constant translation.
static <T extends CalculusFieldElement<T>>FieldKinematicTransform<T> of​(FieldAbsoluteDate<T> date, FieldPVCoordinates<T> pvCoordinates)
Create a new kinematic transform from a translation and its rate.
static <T extends CalculusFieldElement<T>>FieldKinematicTransform<T> of​(FieldAbsoluteDate<T> date, FieldPVCoordinates<T> pvCoordinates, FieldRotation<T> rotation, FieldVector3D<T> rotationRate)
Create a new kinematic transform from a translation and rotation.
default FieldPVCoordinates<T> transformOnlyPV​(FieldPVCoordinates<T> pv)
Transform PVCoordinates, without the acceleration vector.
default TimeStampedFieldPVCoordinates<T> transformOnlyPV​(TimeStampedFieldPVCoordinates<T> pv)
Transform TimeStampedPVCoordinates, without the acceleration vector.
• Methods inherited from interface org.orekit.frames.FieldStaticTransform

getFieldDate, getRotation, getStaticInverse, getTranslation, transformLine, transformLine, transformPosition, transformPosition, transformVector, transformVector
• Methods inherited from interface org.orekit.time.TimeStamped

durationFrom, getDate
• Method Detail

• getIdentity

static <T extends CalculusFieldElement<T>> FieldKinematicTransform<T> getIdentity​(Field<T> field)
Get the identity kinematic transform.
Type Parameters:
T - type of the elements
Parameters:
field - field used by default
Returns:
identity transform.
• compositeVelocity

static <T extends CalculusFieldElement<T>> FieldVector3D<T> compositeVelocity​(FieldKinematicTransform<T> first,
FieldKinematicTransform<T> second)
Compute a composite velocity.
Type Parameters:
T - the type of the field elements
Parameters:
first - first applied transform
second - second applied transform
Returns:
velocity part of the composite transform
• compositeRotationRate

static <T extends CalculusFieldElement<T>> FieldVector3D<T> compositeRotationRate​(FieldKinematicTransform<T> first,
FieldKinematicTransform<T> second)
Compute a composite rotation rate.
Type Parameters:
T - type of the elements
Parameters:
first - first applied transform
second - second applied transform
Returns:
rotation rate part of the composite transform
• transformOnlyPV

default FieldPVCoordinates<T> transformOnlyPV​(FieldPVCoordinates<T> pv)
Transform PVCoordinates, without the acceleration vector.
Parameters:
pv - the position-velocity couple to transform.
Returns:
transformed position-velocity
• transformOnlyPV

default TimeStampedFieldPVCoordinates<T> transformOnlyPV​(TimeStampedFieldPVCoordinates<T> pv)
Transform TimeStampedPVCoordinates, without the acceleration vector.

In order to allow the user more flexibility, this method does not check for consistency between the transform date and the time-stamped position-velocity date. The returned value will always have the same date as the input argument, regardless of the instance date.

Parameters:
pv - the position-velocity couple to transform.
Returns:
transformed position-velocity
• getRotationRate

FieldVector3D<T> getRotationRate()
Get the first time derivative of the rotation.

The norm represents the angular rate.

Returns:
First time derivative of the rotation
FieldStaticTransform.getRotation()
• getInverse

FieldKinematicTransform<T> getInverse()
Get the inverse transform of the instance.
Specified by:
getInverse in interface FieldStaticTransform<T extends CalculusFieldElement<T>>
Returns:
inverse transform of the instance
• compose

static <T extends CalculusFieldElement<T>> FieldKinematicTransform<T> compose​(FieldAbsoluteDate<T> date,
FieldKinematicTransform<T> first,
FieldKinematicTransform<T> second)
Build a transform by combining two existing ones.

Note that the dates of the two existing transformed are ignored, and the combined transform date is set to the date supplied in this constructor without any attempt to shift the raw transforms. This is a design choice allowing user full control of the combination.

Type Parameters:
T - type of the elements
Parameters:
date - date of the transform
first - first transform applied
second - second transform applied
Returns:
the newly created kinematic transform that has the same effect as applying first, then second.
of(FieldAbsoluteDate, FieldPVCoordinates, FieldRotation, FieldVector3D)
• of

static <T extends CalculusFieldElement<T>> FieldKinematicTransform<T> of​(FieldAbsoluteDate<T> date,
FieldRotation<T> rotation,
FieldVector3D<T> rotationRate)
Create a new kinematic transform from a rotation and zero, constant translation.
Type Parameters:
T - type of the elements
Parameters:
date - of translation.
rotation - to apply after the translation. That is after translating applying this rotation produces positions expressed in the new frame.
rotationRate - rate of rotation
Returns:
the newly created kinematic transform.
of(FieldAbsoluteDate, FieldPVCoordinates, FieldRotation, FieldVector3D)
• of

static <T extends CalculusFieldElement<T>> FieldKinematicTransform<T> of​(FieldAbsoluteDate<T> date,
FieldPVCoordinates<T> pvCoordinates)
Create a new kinematic transform from a translation and its rate.
Type Parameters:
T - type of the elements
Parameters:
date - of translation.
pvCoordinates - translation (with rate) to apply, expressed in the old frame. That is, the opposite of the coordinates of the new origin in the old frame.
Returns:
the newly created kinematic transform.
of(FieldAbsoluteDate, FieldPVCoordinates, FieldRotation, FieldVector3D)
• of

static <T extends CalculusFieldElement<T>> FieldKinematicTransform<T> of​(Field<T> field,
KinematicTransform kinematicTransform)
Create a new kinematic transform from a non-Field version.
Type Parameters:
T - type of the elements
Parameters:
field - field.
kinematicTransform - non-Field kinematic transform
Returns:
the newly created kinematic transform.
of(FieldAbsoluteDate, FieldPVCoordinates, FieldRotation, FieldVector3D)