Interface FieldStaticTransform<T extends CalculusFieldElement<T>>

Type Parameters:
T - the type of the field elements
All Superinterfaces:
TimeStamped
All Known Subinterfaces:
FieldKinematicTransform<T>
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:
  • Method Details

    • getIdentity

      static <T extends CalculusFieldElement<T>> FieldStaticTransform<T> getIdentity(Field<T> field)
      Get the identity static transform. Override methods for speed.
      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
    • getFieldDate

      default FieldAbsoluteDate<T> getFieldDate()
      Get the Field date. This default implementation is there so that no API is broken by a minor release. It is overloaded by native inheritors and shall be removed in the next major release.
      Returns:
      Field date attached to the object
      Since:
      12.1
    • 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
    • getStaticInverse

      default FieldStaticTransform<T> 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 FieldTransform may have a relatively computationally-heavy #getInverse() method.
      Returns:
      inverse static transform of the instance
      Since:
      12.1
    • 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:
    • 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
    • of

      static <T extends CalculusFieldElement<T>> FieldStaticTransform<T> of(FieldAbsoluteDate<T> date, FieldRotation<T> rotation)
      Create a new static transform from a rotation and zero 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.
      Returns:
      the newly created static transform.
      See Also:
    • of

      static <T extends CalculusFieldElement<T>> FieldStaticTransform<T> of(FieldAbsoluteDate<T> date, FieldVector3D<T> translation)
      Create a new static transform from a translation and rotation.
      Type Parameters:
      T - type of the elements
      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

      static <T extends CalculusFieldElement<T>> FieldStaticTransform<T> of(FieldAbsoluteDate<T> date, StaticTransform staticTransform)
      Create a new static transform from an FieldAbsoluteDate and a StaticTransform.
      Type Parameters:
      T - type of the elements
      Parameters:
      date - of translation.
      staticTransform - to apply
      Returns:
      the newly created static transform.
      See Also:
    • of

      static <T extends CalculusFieldElement<T>> FieldStaticTransform<T> of(FieldAbsoluteDate<T> date, FieldVector3D<T> translation, FieldRotation<T> rotation)
      Create a new static transform from a translation and rotation.
      Type Parameters:
      T - type of the elements
      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.
      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: