Interface StaticTransform

  • All Superinterfaces:
    TimeStamped
    All Known Subinterfaces:
    KinematicTransform
    All Known Implementing Classes:
    Transform

    public interface StaticTransform
    extends TimeStamped
    A transform that only includes translation and rotation. It is static in the sense that no rates thereof are included.
    Since:
    11.2
    Author:
    Evan Ward
    See Also:
    Transform
    • Method Detail

      • getIdentity

        static StaticTransform getIdentity()
        Get the identity static transform. It overrides most methods for speed.
        Returns:
        identity transform.
      • transformPosition

        default Vector3D transformPosition​(Vector3D position)
        Transform a position vector (including translation effects).
        Parameters:
        position - vector to transform
        Returns:
        transformed position
      • transformPosition

        default <T extends CalculusFieldElement<T>> FieldVector3D<T> transformPosition​(FieldVector3D<T> position)
        Transform a position vector (including translation effects).
        Type Parameters:
        T - the type of the field elements
        Parameters:
        position - vector to transform
        Returns:
        transformed position
      • transformVector

        default Vector3D transformVector​(Vector3D vector)
        Transform a vector (ignoring translation effects).
        Parameters:
        vector - vector to transform
        Returns:
        transformed vector
      • transformVector

        default <T extends CalculusFieldElement<T>> FieldVector3D<T> transformVector​(FieldVector3D<T> vector)
        Transform a vector (ignoring translation effects).
        Type Parameters:
        T - the type of the field elements
        Parameters:
        vector - vector to transform
        Returns:
        transformed vector
      • transformLine

        default Line transformLine​(Line line)
        Transform a line.
        Parameters:
        line - to transform
        Returns:
        transformed line
      • getTranslation

        Vector3D getTranslation()
        Get the underlying elementary translation.

        A transform can be uniquely represented as an elementary translation followed by an elementary rotation. This method returns this unique elementary translation.

        Returns:
        underlying elementary translation
      • getRotation

        Rotation getRotation()
        Get the underlying elementary rotation.

        A transform can be uniquely represented as an elementary translation followed by an elementary rotation. This method returns this unique elementary rotation.

        Returns:
        underlying elementary rotation
      • getInverse

        StaticTransform getInverse()
        Get the inverse transform of the instance.
        Returns:
        inverse transform of the instance
      • getStaticInverse

        default StaticTransform getStaticInverse()
        Get the inverse transform of the instance in static form (without rates). This enables to create a purely static inverse, as inheritors such as Transform may have a relatively computationally-heavy #getInverse() method.
        Returns:
        inverse static transform of the instance
        Since:
        12.1
      • compose

        static StaticTransform compose​(AbsoluteDate date,
                                       StaticTransform first,
                                       StaticTransform 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 static transform that has the same effect as applying first, then second.
        See Also:
        of(AbsoluteDate, Vector3D, Rotation)
      • compositeTranslation

        static Vector3D compositeTranslation​(StaticTransform first,
                                             StaticTransform second)
        Compute a composite translation.
        Parameters:
        first - first applied transform
        second - second applied transform
        Returns:
        translation part of the composite transform
      • compositeRotation

        static Rotation compositeRotation​(StaticTransform first,
                                          StaticTransform second)
        Compute a composite rotation.
        Parameters:
        first - first applied transform
        second - second applied transform
        Returns:
        rotation part of the composite transform
      • of

        static StaticTransform of​(AbsoluteDate date,
                                  Rotation rotation)
        Create a new static transform from a rotation and zero 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.
        Returns:
        the newly created static transform.
        See Also:
        of(AbsoluteDate, Vector3D, Rotation)
      • of

        static StaticTransform of​(AbsoluteDate date,
                                  Vector3D translation)
        Create a new static transform from a translation and rotation.
        Parameters:
        date - of translation.
        translation - 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 static transform.
        See Also:
        of(AbsoluteDate, Vector3D, Rotation)