Interface KinematicTransform
- All Superinterfaces:
StaticTransform,TimeStamped
- All Known Implementing Classes:
Transform
- Since:
- 12.1
- Author:
- Romain Serra
- See Also:
-
Method Summary
Modifier and TypeMethodDescriptionstatic KinematicTransformcompose(AbsoluteDate date, KinematicTransform first, KinematicTransform second) Build a transform by combining two existing ones.static Vector3DcompositeRotationRate(KinematicTransform first, KinematicTransform second) Compute a composite rotation rate.static Vector3DcompositeVelocity(KinematicTransform first, KinematicTransform second) Compute a composite velocity.static KinematicTransformGet the identity kinematic transform.Get the inverse transform of the instance.default double[][]Compute the Jacobian of thetransformOnlyPV(PVCoordinates)(PVCoordinates)} method of the transform.Get the first time derivative of the rotation.Get the first time derivative of the translation.static KinematicTransformof(AbsoluteDate date, Rotation rotation, Vector3D rotationRate) Create a new kinematic transform from a rotation and zero, constant translation.static KinematicTransformof(AbsoluteDate date, PVCoordinates pvCoordinates) Create a new kinematic transform from a translation and its rate.static KinematicTransformof(AbsoluteDate date, PVCoordinates pvCoordinates, Rotation rotation, Vector3D rotationRate) Create a new kinematic transform from a translation and rotation.default PVCoordinatesTransformPVCoordinates, without the acceleration vector.default TimeStampedPVCoordinatesTransformTimeStampedPVCoordinates, without the acceleration vector.Methods inherited from interface org.orekit.frames.StaticTransform
getRotation, getStaticInverse, getTranslation, transformLine, transformPosition, transformPosition, transformVector, transformVectorMethods inherited from interface org.orekit.time.TimeStamped
durationFrom, getDate
-
Method Details
-
getIdentity
Get the identity kinematic transform.- Returns:
- identity transform.
-
compositeVelocity
Compute a composite velocity.- Parameters:
first- first applied transformsecond- second applied transform- Returns:
- velocity part of the composite transform
-
compositeRotationRate
Compute a composite rotation rate.- Parameters:
first- first applied transformsecond- second applied transform- Returns:
- rotation rate part of the composite transform
-
transformOnlyPV
TransformPVCoordinates, without the acceleration vector.- Parameters:
pv- the position-velocity couple to transform.- Returns:
- transformed position-velocity
-
transformOnlyPV
TransformTimeStampedPVCoordinates, without the acceleration vector.In order to allow the user more flexibility, this method does not check for consistency between the transform
dateand the time-stamped position-velocitydate. The returned value will always have the samedateas the input argument, regardless of the instancedate.- Parameters:
pv- the position-velocity couple to transform.- Returns:
- transformed position-velocity
-
getPVJacobian
default double[][] getPVJacobian()Compute the Jacobian of thetransformOnlyPV(PVCoordinates)(PVCoordinates)} method of the transform.Element
jacobian[i][j]is the derivative of Cartesian coordinate i of the transformedPVCoordinateswith respect to Cartesian coordinate j of the inputPVCoordinatesin methodtransformOnlyPV(PVCoordinates).This definition implies that if we define position-velocity coordinates
PV₁ = transform.transformPVCoordinates(PV₀), then
their differentials dPV₁ and dPV₀ will obey the following relation where J is the matrix computed by this method:
dPV₁ = J × dPV₀
- Returns:
- Jacobian matrix
-
getVelocity
Vector3D getVelocity()Get the first time derivative of the translation.- Returns:
- first time derivative of the translation
- See Also:
-
getRotationRate
Vector3D getRotationRate()Get the first time derivative of the rotation.The norm represents the angular rate.
- Returns:
- First time derivative of the rotation
- See Also:
-
getInverse
KinematicTransform getInverse()Get the inverse transform of the instance.- Specified by:
getInversein interfaceStaticTransform- Returns:
- inverse transform of the instance
-
compose
static KinematicTransform compose(AbsoluteDate date, KinematicTransform first, KinematicTransform 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.
- Parameters:
date- date of the transformfirst- first transform appliedsecond- second transform applied- Returns:
- the newly created kinematic transform that has the same effect as
applying
first, thensecond. - See Also:
-
of
Create a new kinematic transform from a rotation and zero, constant translation.- 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.
- See Also:
-
of
Create a new kinematic transform from a translation and its rate.- 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.
- See Also:
-
of
static KinematicTransform of(AbsoluteDate date, PVCoordinates pvCoordinates, Rotation rotation, Vector3D rotationRate) Create a new kinematic transform from a translation and rotation.- 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.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.
- See Also:
-