/** * Transforms the given 3D matrix by this matrix. * <p> * matrixToTransform = this * matrixToTransform * this<sup>-1</sup> * </p> * * @param matrixToTransform the matrix to transform. Modified. * @throws SingularMatrixException if this matrix is not invertible. * @throws ReferenceFrameMismatchException if {@code matrixToTransform} is not expressed in the * same reference frame as {@code this}. */ default void transform(FixedFrameMatrix3DBasics matrixToTransform) { transform(matrixToTransform, matrixToTransform); }
/** * Transforms the given tuple by this matrix. * <p> * tupleToTransform = this * tupleToTransform * </p> * * @param tupleToTransform the tuple to transform. Modified. * @throws ReferenceFrameMismatchException if {@code tupleToTransform} is not expressed in the * same reference frame as {@code this}. */ default void transform(FixedFrameTuple3DBasics tupleToTransform) { transform(tupleToTransform, tupleToTransform); }
/** * Transforms the vector part of the given 4D vector. * <p> * vectorToTransform.s = vectorToTransform.s <br> * vectorToTransform.xyz = this * vectorToTransform.xyz * </p> * * @param vectorToTransform the vector to transform. Modified. * @throws ReferenceFrameMismatchException if {@code vectorToTransform} is not expressed in the * same reference frame as {@code this}. */ default void transform(FixedFrameVector4DBasics vectorToTransform) { transform(vectorToTransform, vectorToTransform); }
/** * Transforms the given tuple by this matrix. * <p> * tupleToTransform = this * tupleToTransform * </p> * * @param tupleToTransform the tuple to transform. Modified. * @throws NotAMatrix2DException if this matrix does not represent a transformation in the XY * plane. * @throws ReferenceFrameMismatchException if {@code tupleToTransform} is not expressed in the * same reference frame as {@code this}. */ default void transform(FixedFrameTuple2DBasics tupleToTransform) { transform(tupleToTransform, tupleToTransform, true); }
/** * Transforms the given tuple by this matrix. * <p> * tupleToTransform = this * tupleToTransform * </p> * * @param tupleToTransform the tuple to transform. Modified. * @param checkIfTransformInXYPlane whether this method should assert that this matrix represents * a transformation in the XY plane. * @throws NotAMatrix2DException if {@code checkIfTransformInXYPlane == true} and this matrix * does not represent a transformation in the XY plane. * @throws ReferenceFrameMismatchException if {@code tupleToTransform} is not expressed in the * same reference frame as {@code this}. */ default void transform(FixedFrameTuple2DBasics tupleToTransform, boolean checkIfTransformInXYPlane) { transform(tupleToTransform, tupleToTransform, checkIfTransformInXYPlane); }
/** * Transforms the given tuple {@code tupleOriginal} by this matrix and stores the result in * {@code tupleTransformed}. * <p> * tupleTransformed = this * tupleOriginal * </p> * * @param tupleOriginal the tuple to transform. Not modified. * @param tupleTransformed the tuple to store the result. Modified. * @throws NotAMatrix2DException if this matrix does not represent a transformation in the XY * plane. * @throws ReferenceFrameMismatchException if {@code tupleOriginal} is not expressed in the same * reference frame as {@code this}. */ default void transform(FrameTuple2DReadOnly tupleOriginal, Tuple2DBasics tupleTransformed) { transform(tupleOriginal, tupleTransformed, true); }
/** * Transforms the given tuple {@code tupleOriginal} by this matrix and stores the result in * {@code tupleTransformed}. * <p> * tupleTransformed = this * tupleOriginal * </p> * * @param tupleOriginal the tuple to transform. Not modified. * @param tupleTransformed the tuple to store the result. Modified. * @throws NotAMatrix2DException if this matrix does not represent a transformation in the XY * plane. * @throws ReferenceFrameMismatchException if {@code tupleTransformed} is not expressed in the * same reference frame as {@code this}. */ default void transform(Tuple2DReadOnly tupleOriginal, FixedFrameTuple2DBasics tupleTransformed) { transform(tupleOriginal, tupleTransformed, true); }
/** * Transforms the given tuple {@code tupleOriginal} by this matrix and stores the result in * {@code tupleTransformed}. * <p> * tupleTransformed = this * tupleOriginal * </p> * * @param tupleOriginal the tuple to transform. Not modified. * @param tupleTransformed the tuple to store the result. Modified. * @throws NotAMatrix2DException if this matrix does not represent a transformation in the XY * plane. * @throws ReferenceFrameMismatchException if either {@code tupleOriginal} or * {@code tupleTransformed} is not expressed in the same reference frame as * {@code this}. */ default void transform(FrameTuple2DReadOnly tupleOriginal, FixedFrameTuple2DBasics tupleTransformed) { transform(tupleOriginal, tupleTransformed, true); }
/** * Transforms the given 3D matrix {@code matrixOriginal} by this matrix and stores the result in * {@code matrixTransformed}. * <p> * matrixTransformed = this * matrixOriginal * this<sup>-1</sup> * </p> * * @param matrixOriginal the matrix to transform. Not modified. * @param matrixTransformed the matrix in which the result is stored. Modified. * @throws SingularMatrixException if this matrix is not invertible. * @throws ReferenceFrameMismatchException if {@code matrixOriginal} is not expressed in the same * reference frame as {@code this}. */ default void transform(FrameMatrix3DReadOnly matrixOriginal, Matrix3DBasics matrixTransformed) { checkReferenceFrameMatch(matrixOriginal); transform((Matrix3DReadOnly) matrixOriginal, matrixTransformed); }
/** * Transforms the given 3D matrix {@code matrixOriginal} by this matrix and stores the result in * {@code matrixTransformed}. * <p> * matrixTransformed = this * matrixOriginal * this<sup>-1</sup> * </p> * * @param matrixOriginal the matrix to transform. Not modified. * @param matrixTransformed the matrix in which the result is stored. Modified. * @throws SingularMatrixException if this matrix is not invertible. * @throws ReferenceFrameMismatchException if {@code matrixTransformed} is not expressed in the * same reference frame as {@code this}. */ default void transform(Matrix3DReadOnly matrixOriginal, FixedFrameMatrix3DBasics matrixTransformed) { checkReferenceFrameMatch(matrixTransformed); transform(matrixOriginal, (Matrix3DBasics) matrixTransformed); }
/** * Transforms the given 3D matrix {@code matrixOriginal} by this matrix and stores the result in * {@code matrixTransformed}. * <p> * matrixTransformed = this * matrixOriginal * this<sup>-1</sup> * </p> * * @param matrixOriginal the matrix to transform. Not modified. * @param matrixTransformed the matrix in which the result is stored. Modified. * @throws SingularMatrixException if this matrix is not invertible. * @throws ReferenceFrameMismatchException if either {@code matrixOriginal} or * {@code matrixTransformed} is not expressed in the same reference frame as * {@code this}. */ default void transform(FrameMatrix3DReadOnly matrixOriginal, FixedFrameMatrix3DBasics matrixTransformed) { checkReferenceFrameMatch(matrixOriginal); checkReferenceFrameMatch(matrixTransformed); transform((Matrix3DReadOnly) matrixOriginal, (Matrix3DBasics) matrixTransformed); }