Class Se3_F32

java.lang.Object
georegression.struct.se.Se3_F32
All Implemented Interfaces:
InvertibleTransform<Se3_F32>, SpecialEuclidean<Se3_F32>, Serializable

@Generated("georegression.struct.se.Se3_F64") public class Se3_F32 extends Object implements SpecialEuclidean<Se3_F32>
A coordinate system transform composed of a rotation and translation. This transform is a rigid body transform and is a member of the special euclidean group.
See Also:
  • Field Details

  • Constructor Details

    • Se3_F32

      public Se3_F32()
      Creates a new transform that does nothing.
    • Se3_F32

      public Se3_F32(org.ejml.data.FMatrixRMaj R, Vector3D_F32 T)
      Initializes the transform with the provided rotation and translation.
      Parameters:
      R - Rotation matrix.
      T - Translation.
    • Se3_F32

      public Se3_F32(org.ejml.data.FMatrixRMaj R, Vector3D_F32 T, boolean assign)
      Initializes the Se3_F32 with the rotation matrix and translation vector. If assign is true the reference to the provided parameters is saved, otherwise a copy is made.
      Parameters:
      R - Rotation matrix.
      T - Translation.
      assign - If a reference is saved (true) or a copy made (false).
  • Method Details

    • setTo

      public Se3_F32 setTo(Se3_F32 se)
      Set's 'this' Se3_F32 to be identical to the provided transform.
      Specified by:
      setTo in interface InvertibleTransform<Se3_F32>
      Parameters:
      se - The transform that is being copied.
      Returns:
      A reference to 'this' to enable chaining
    • zero

      public void zero()
      Sets the rotation and translation to all zeros
    • setRotation

      public void setRotation(org.ejml.data.FMatrixRMaj R)
      Sets the rotation to R.
      Parameters:
      R - New rotation.
    • setTranslation

      public void setTranslation(Vector3D_F32 T)
      Sets the translation to T
      Parameters:
      T - New translation
    • setTranslation

      public void setTranslation(float x, float y, float z)
      Sets the translation to (x,y,z)
      Parameters:
      x - x component of translation
      y - y component of translation
      z - z component of translation
    • getRotation

      public org.ejml.data.FMatrixRMaj getRotation()
      Returns the rotation matrix
      Returns:
      rotation matrix
    • getTranslation

      public Vector3D_F32 getTranslation()
      Returns the translation vector
      Returns:
      translation vector
    • getR

      public org.ejml.data.FMatrixRMaj getR()
    • getT

      public Vector3D_F32 getT()
    • getX

      public float getX()
    • getY

      public float getY()
    • getZ

      public float getZ()
    • getDimension

      public int getDimension()
      Description copied from interface: InvertibleTransform
      Returns the dimension of the space which this transform operates on.
      Specified by:
      getDimension in interface InvertibleTransform<Se3_F32>
      Returns:
      space's dimension
    • createInstance

      public Se3_F32 createInstance()
      Description copied from interface: InvertibleTransform
      Creates a new instance of the same SpecialEuclidean as this class.
      Specified by:
      createInstance in interface InvertibleTransform<Se3_F32>
      Returns:
      A new instance.
    • concat

      public Se3_F32 concat(Se3_F32 second, @Nullable @Nullable Se3_F32 result)
      Description copied from interface: InvertibleTransform

      Computes a transform which is the equivalent to applying 'this' then the 'second' transform.

      For example:

      Point A = tran2( tran1( A ) );
      Point A = tran12( A );

      where tran12 = tran1.concat( tran2 , null );

      NOTE: 'second', 'result', and 'this' must all be unique instances.

      Specified by:
      concat in interface InvertibleTransform<Se3_F32>
      Parameters:
      second - The second transform which is applied. Not modified.
      result - A transform which is equivalent to applying the first then the second. If null then a new instance is declared. Modified.
      Returns:
      The equivalent transform.
    • invertConcat

      public Se3_F32 invertConcat(Se3_F32 second, @Nullable @Nullable Se3_F32 result)
      Implicitly inverts this transform before concating it to the second transform. Equivalent to invert(null).concat(second, null);
      Specified by:
      invertConcat in interface InvertibleTransform<Se3_F32>
      Parameters:
      second - The second transform which is applied. Not modified.
      result - (Output) storage for rsulting transform. Can be null
      Returns:
      The computed transform. If result isn't null then result is returned.
    • concatInvert

      public Se3_F32 concatInvert(Se3_F32 second, @Nullable @Nullable Se3_F32 result)
      Implicitly inverts this transform before concating it to the second transform. Equivalent to invert(null).concat(second, null);
      Specified by:
      concatInvert in interface InvertibleTransform<Se3_F32>
      Parameters:
      second - The second transform which is applied. Not modified.
      result - (Output) storage for rsulting transform. Can be null
      Returns:
      The computed transform. If result isn't null then result is returned.
    • invert

      public Se3_F32 invert(@Nullable @Nullable Se3_F32 inverse)
      Description copied from interface: InvertibleTransform

      Computes a transform which is the inverse of this transform. The 'this' matrix can be passed in as an input.

      Example:
      Point A = tran(B);
      Point B = inv(A);

      where inv = invert( tran );

      Specified by:
      invert in interface InvertibleTransform<Se3_F32>
      Parameters:
      inverse - Where the inverse will be stored. If null a new instance is created. Modified.
      Returns:
      The inverse transform.
    • reset

      public void reset()
      Description copied from interface: InvertibleTransform
      Sets the transform to its initial state of no transform.
      Specified by:
      reset in interface InvertibleTransform<Se3_F32>
    • setTo

      public Se3_F32 setTo(float x, float y, float z, EulerType type, float rotA, float rotB, float rotC)
      Assigns the value of this transform using Euler angles
      Returns:
      Reference to 'this'
    • setTo

      public Se3_F32 setTo(float x, float y, float z, RotationType type, float A, float B, float C, float D)
      Assigns the value of this transform using Rodrigues (axis angle) or Quaternions. If Rodrigues then A=axisX, B=axisY, C=axisZ, D=theta. If Quaternion then A=w, B=x, C=y, D=z.
      Returns:
      Reference to 'this'
    • transform

      public Point3D_F32 transform(Point3D_F32 src, @Nullable @Nullable Point3D_F32 dst)
      Applies the transform to the src point and stores the result in dst. src and dst can be the same instance
      Parameters:
      src - Input
      dst - Output
      Returns:
      Output
      See Also:
    • transformReverse

      public Point3D_F32 transformReverse(Point3D_F32 src, @Nullable @Nullable Point3D_F32 dst)
      Applies the reverse transform to the src point and stores the result in dst. src and dst can be the same instance
      Parameters:
      src - Input
      dst - Output
      Returns:
      Output
      See Also:
    • transform

      public Vector3D_F32 transform(Vector3D_F32 src, @Nullable @Nullable Vector3D_F32 dst)
      Applies the rotation to the src vector and stores the result in dst. src and dst can be the same instance
      Parameters:
      src - Input
      dst - Output
      See Also:
    • transformReverse

      public Vector3D_F32 transformReverse(Vector3D_F32 src, @Nullable @Nullable Vector3D_F32 dst)
      Applies the reverse rotation to the src vector and stores the result in dst. src and dst can be the same instance
      Parameters:
      src - Input
      dst - Output
      See Also:
    • transform

      public Point4D_F32 transform(Point4D_F32 src, @Nullable @Nullable Point4D_F32 dst)
      Applies the transform to the src point and stores the result in dst. src and dst can be the same instance. For points in 3D homogenous coordinates.
      Parameters:
      src - Input. Homogenous coordinate
      dst - Output. Homogenous coordinate
      Returns:
      Output. Homogenous coordinate
      See Also:
    • transformReverse

      public Point4D_F32 transformReverse(Point4D_F32 src, @Nullable @Nullable Point4D_F32 dst)
    • copy

      public Se3_F32 copy()
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • toString

      public String toString(RotationType type)
      More compact toString() where the rotation matrix is encoded in one of the specified formats.
    • print

      public void print()
    • print

      public void print(RotationType type)