Interface KinematicTransform

  • All Superinterfaces:
    StaticTransform, TimeStamped
    All Known Implementing Classes:
    Transform

    public interface KinematicTransform
    extends StaticTransform
    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
    See Also:
    StaticTransform, Transform
    • Method Detail

      • getIdentity

        static KinematicTransform getIdentity()
        Get the identity kinematic transform.
        Returns:
        identity transform.
      • compositeVelocity

        static Vector3D compositeVelocity​(KinematicTransform first,
                                          KinematicTransform second)
        Compute a composite velocity.
        Parameters:
        first - first applied transform
        second - second applied transform
        Returns:
        velocity part of the composite transform
      • compositeRotationRate

        static Vector3D compositeRotationRate​(KinematicTransform first,
                                              KinematicTransform second)
        Compute a composite rotation rate.
        Parameters:
        first - first applied transform
        second - second applied transform
        Returns:
        rotation rate part of the composite transform
      • transformOnlyPV

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

        default TimeStampedPVCoordinates transformOnlyPV​(TimeStampedPVCoordinates 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

        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:
        StaticTransform.getRotation()
      • 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 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.
        See Also:
        of(AbsoluteDate, PVCoordinates, Rotation, Vector3D)
      • of

        static KinematicTransform of​(AbsoluteDate date,
                                     Rotation rotation,
                                     Vector3D rotationRate)
        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(AbsoluteDate, PVCoordinates, Rotation, Vector3D)