Interface FieldStaticTransform<T extends CalculusFieldElement<T>>

  • Type Parameters:
    T - the type of the field elements
    All Superinterfaces:
    TimeStamped
    All Known Implementing Classes:
    FieldTransform

    public interface FieldStaticTransform<T extends CalculusFieldElement<T>>
    extends TimeStamped
    A transform that only includes translation and rotation. It is static in the sense that no rates thereof are included.
    Since:
    12.0
    Author:
    Bryan Cazabonne
    See Also:
    FieldTransform
    • Method Detail

      • getIdentity

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

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

        default FieldVector3D<T> transformPosition​(FieldVector3D<T> position)
        Transform a position vector (including translation effects).
        Parameters:
        position - vector to transform
        Returns:
        transformed position
      • transformVector

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

        default FieldVector3D<T> transformVector​(FieldVector3D<T> vector)
        Transform a vector (ignoring translation effects).
        Parameters:
        vector - vector to transform
        Returns:
        transformed vector
      • transformLine

        default FieldLine<T> transformLine​(Line line)
        Transform a line.
        Parameters:
        line - to transform
        Returns:
        transformed line
      • transformLine

        default FieldLine<T> transformLine​(FieldLine<T> line)
        Transform a line.
        Parameters:
        line - to transform
        Returns:
        transformed line
      • getTranslation

        FieldVector3D<T> 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

        FieldRotation<T> 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

        FieldStaticTransform<T> getInverse()
        Get the inverse transform of the instance.
        Returns:
        inverse transform of the instance
      • compose

        static <T extends CalculusFieldElement<T>> FieldStaticTransform<T> compose​(FieldAbsoluteDate<T> date,
                                                                                   FieldStaticTransform<T> first,
                                                                                   FieldStaticTransform<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 static transform that has the same effect as applying first, then second.
        See Also:
        of(FieldAbsoluteDate, FieldVector3D, FieldRotation)
      • compositeTranslation

        static <T extends CalculusFieldElement<T>> FieldVector3D<T> compositeTranslation​(FieldStaticTransform<T> first,
                                                                                         FieldStaticTransform<T> second)
        Compute a composite translation.
        Type Parameters:
        T - the type of the field elements
        Parameters:
        first - first applied transform
        second - second applied transform
        Returns:
        translation part of the composite transform
      • compositeRotation

        static <T extends CalculusFieldElement<T>> FieldRotation<T> compositeRotation​(FieldStaticTransform<T> first,
                                                                                      FieldStaticTransform<T> second)
        Compute a composite rotation.
        Type Parameters:
        T - the type of the field elements
        Parameters:
        first - first applied transform
        second - second applied transform
        Returns:
        rotation part of the composite transform