us.ihmc.euclid.referenceFrame.interfaces.FrameRotationMatrixReadOnly Maven / Gradle / Ivy
package us.ihmc.euclid.referenceFrame.interfaces;
import us.ihmc.euclid.matrix.interfaces.Matrix3DBasics;
import us.ihmc.euclid.matrix.interfaces.Matrix3DReadOnly;
import us.ihmc.euclid.matrix.interfaces.RotationMatrixReadOnly;
import us.ihmc.euclid.tuple2D.interfaces.Tuple2DBasics;
import us.ihmc.euclid.tuple2D.interfaces.Tuple2DReadOnly;
import us.ihmc.euclid.tuple3D.interfaces.Tuple3DBasics;
import us.ihmc.euclid.tuple3D.interfaces.Tuple3DReadOnly;
import us.ihmc.euclid.tuple4D.interfaces.Vector4DBasics;
import us.ihmc.euclid.tuple4D.interfaces.Vector4DReadOnly;
/**
* Read-only interface used for 3-by-3 rotation matrices expressed in a given reference frame.
*
* A rotation matrix is used to represent a 3D orientation through its 9 coefficients. A rotation
* matrix has to comply to several constraints:
*
* - each column of the matrix represents a unitary vector,
*
- each row of the matrix represents a unitary vector,
*
- every pair of columns of the matrix represents two orthogonal vectors,
*
- every pair of rows of the matrix represents two orthogonal vectors,
*
- the matrix determinant is equal to {@code 1}.
*
* A rotation matrix has the nice property RT = R-1.
*
*
* @author Sylvain Bertrand
*/
public interface FrameRotationMatrixReadOnly extends RotationMatrixReadOnly, FrameOrientation3DReadOnly, FrameMatrix3DReadOnly
{
/** {@inheritDoc} */
@Override
default void addTransform(FixedFrameTuple3DBasics tupleToTransform)
{
addTransform(tupleToTransform, tupleToTransform);
}
/** {@inheritDoc} */
@Override
default void addTransform(FrameTuple3DReadOnly tupleOriginal, Tuple3DBasics tupleTransformed)
{
checkReferenceFrameMatch(tupleOriginal);
RotationMatrixReadOnly.super.addTransform(tupleOriginal, tupleTransformed);
}
/** {@inheritDoc} */
@Override
default void addTransform(Tuple3DReadOnly tupleOriginal, FixedFrameTuple3DBasics tupleTransformed)
{
checkReferenceFrameMatch(tupleTransformed);
RotationMatrixReadOnly.super.addTransform(tupleOriginal, tupleTransformed);
}
/** {@inheritDoc} */
@Override
default void addTransform(FrameTuple3DReadOnly tupleOriginal, FixedFrameTuple3DBasics tupleTransformed)
{
checkReferenceFrameMatch(tupleOriginal, tupleTransformed);
RotationMatrixReadOnly.super.addTransform(tupleOriginal, tupleTransformed);
}
/** {@inheritDoc} */
@Override
default void subTransform(FixedFrameTuple3DBasics tupleToTransform)
{
subTransform(tupleToTransform, tupleToTransform);
}
/** {@inheritDoc} */
@Override
default void subTransform(FrameTuple3DReadOnly tupleOriginal, Tuple3DBasics tupleTransformed)
{
checkReferenceFrameMatch(tupleOriginal);
RotationMatrixReadOnly.super.subTransform(tupleOriginal, tupleTransformed);
}
/** {@inheritDoc} */
@Override
default void subTransform(Tuple3DReadOnly tupleOriginal, FixedFrameTuple3DBasics tupleTransformed)
{
checkReferenceFrameMatch(tupleTransformed);
RotationMatrixReadOnly.super.subTransform(tupleOriginal, tupleTransformed);
}
/** {@inheritDoc} */
@Override
default void subTransform(FrameTuple3DReadOnly tupleOriginal, FixedFrameTuple3DBasics tupleTransformed)
{
checkReferenceFrameMatch(tupleOriginal, tupleTransformed);
RotationMatrixReadOnly.super.subTransform(tupleOriginal, tupleTransformed);
}
/** {@inheritDoc} */
@Override
default void transform(FixedFrameTuple3DBasics tupleToTransform)
{
checkReferenceFrameMatch(tupleToTransform);
RotationMatrixReadOnly.super.transform(tupleToTransform);
}
/** {@inheritDoc} */
@Override
default void transform(FrameTuple3DReadOnly tupleOriginal, Tuple3DBasics tupleTransformed)
{
checkReferenceFrameMatch(tupleOriginal);
RotationMatrixReadOnly.super.transform(tupleOriginal, tupleTransformed);
}
/** {@inheritDoc} */
@Override
default void transform(Tuple3DReadOnly tupleOriginal, FixedFrameTuple3DBasics tupleTransformed)
{
checkReferenceFrameMatch(tupleTransformed);
RotationMatrixReadOnly.super.transform(tupleOriginal, tupleTransformed);
}
/** {@inheritDoc} */
@Override
default void transform(FrameTuple3DReadOnly tupleOriginal, FixedFrameTuple3DBasics tupleTransformed)
{
checkReferenceFrameMatch(tupleOriginal, tupleTransformed);
RotationMatrixReadOnly.super.transform(tupleOriginal, tupleTransformed);
}
/** {@inheritDoc} */
@Override
default void transform(FixedFrameTuple2DBasics tupleToTransform)
{
checkReferenceFrameMatch(tupleToTransform);
RotationMatrixReadOnly.super.transform(tupleToTransform);
}
/** {@inheritDoc} */
@Override
default void transform(FrameTuple2DReadOnly tupleOriginal, Tuple2DBasics tupleTransformed)
{
checkReferenceFrameMatch(tupleOriginal);
RotationMatrixReadOnly.super.transform(tupleOriginal, tupleTransformed);
}
/** {@inheritDoc} */
@Override
default void transform(Tuple2DReadOnly tupleOriginal, FixedFrameTuple2DBasics tupleTransformed)
{
checkReferenceFrameMatch(tupleTransformed);
RotationMatrixReadOnly.super.transform(tupleOriginal, tupleTransformed);
}
/** {@inheritDoc} */
@Override
default void transform(FrameTuple2DReadOnly tupleOriginal, FixedFrameTuple2DBasics tupleTransformed)
{
checkReferenceFrameMatch(tupleOriginal, tupleTransformed);
RotationMatrixReadOnly.super.transform(tupleOriginal, tupleTransformed);
}
/** {@inheritDoc} */
@Override
default void inverseTransform(Tuple2DReadOnly tupleOriginal, FixedFrameTuple2DBasics tupleTransformed)
{
checkReferenceFrameMatch(tupleTransformed);
RotationMatrixReadOnly.super.inverseTransform(tupleOriginal, tupleTransformed);
}
/** {@inheritDoc} */
@Override
default void inverseTransform(FrameMatrix3DReadOnly matrixOriginal, FixedFrameMatrix3DBasics matrixTransformed)
{
checkReferenceFrameMatch(matrixOriginal, matrixTransformed);
RotationMatrixReadOnly.super.inverseTransform(matrixOriginal, matrixTransformed);
}
/** {@inheritDoc} */
@Override
default void transform(Vector4DReadOnly vectorOriginal, FixedFrameVector4DBasics vectorTransformed)
{
checkReferenceFrameMatch(vectorTransformed);
RotationMatrixReadOnly.super.transform(vectorOriginal, vectorTransformed);
}
/** {@inheritDoc} */
@Override
default void inverseTransform(FixedFrameVector4DBasics vectorToTransform)
{
checkReferenceFrameMatch(vectorToTransform);
RotationMatrixReadOnly.super.inverseTransform(vectorToTransform);
}
/** {@inheritDoc} */
@Override
default void inverseTransform(Matrix3DReadOnly matrixOriginal, FixedFrameMatrix3DBasics matrixTransformed)
{
checkReferenceFrameMatch(matrixTransformed);
RotationMatrixReadOnly.super.inverseTransform(matrixOriginal, matrixTransformed);
}
/** {@inheritDoc} */
@Override
default void inverseTransform(FrameVector4DReadOnly vectorOriginal, FixedFrameVector4DBasics vectorTransformed)
{
checkReferenceFrameMatch(vectorOriginal, vectorTransformed);
RotationMatrixReadOnly.super.inverseTransform(vectorOriginal, vectorTransformed);
}
/** {@inheritDoc} */
@Override
default void transform(FixedFrameVector4DBasics vectorToTransform)
{
checkReferenceFrameMatch(vectorToTransform);
RotationMatrixReadOnly.super.transform(vectorToTransform);
}
/** {@inheritDoc} */
@Override
default void inverseTransform(FrameTuple3DReadOnly tupleOriginal, FixedFrameTuple3DBasics tupleTransformed)
{
checkReferenceFrameMatch(tupleOriginal, tupleTransformed);
RotationMatrixReadOnly.super.inverseTransform(tupleOriginal, tupleTransformed);
}
/** {@inheritDoc} */
@Override
default void inverseTransform(FrameTuple2DReadOnly tupleOriginal, Tuple2DBasics tupleTransformed)
{
checkReferenceFrameMatch(tupleOriginal);
RotationMatrixReadOnly.super.inverseTransform(tupleOriginal, tupleTransformed);
}
/** {@inheritDoc} */
@Override
default void inverseTransform(FixedFrameTuple3DBasics tupleToTransform)
{
checkReferenceFrameMatch(tupleToTransform);
RotationMatrixReadOnly.super.inverseTransform(tupleToTransform);
}
/** {@inheritDoc} */
@Override
default void inverseTransform(FrameTuple2DReadOnly tupleOriginal, FixedFrameTuple2DBasics tupleTransformed)
{
checkReferenceFrameMatch(tupleOriginal, tupleTransformed);
RotationMatrixReadOnly.super.inverseTransform(tupleOriginal, tupleTransformed);
}
/** {@inheritDoc} */
@Override
default void inverseTransform(FixedFrameTuple2DBasics tupleToTransform)
{
checkReferenceFrameMatch(tupleToTransform);
RotationMatrixReadOnly.super.inverseTransform(tupleToTransform);
}
/** {@inheritDoc} */
@Override
default void inverseTransform(Tuple3DReadOnly tupleOriginal, FixedFrameTuple3DBasics tupleTransformed)
{
checkReferenceFrameMatch(tupleTransformed);
RotationMatrixReadOnly.super.inverseTransform(tupleOriginal, tupleTransformed);
}
/** {@inheritDoc} */
@Override
default void inverseTransform(Tuple2DReadOnly tupleOriginal, FixedFrameTuple2DBasics tupleTransformed, boolean checkIfTransformInXYPlane)
{
checkReferenceFrameMatch(tupleTransformed);
RotationMatrixReadOnly.super.inverseTransform(tupleOriginal, tupleTransformed, checkIfTransformInXYPlane);
}
/** {@inheritDoc} */
@Override
default void transform(FrameTuple2DReadOnly tupleOriginal, FixedFrameTuple2DBasics tupleTransformed, boolean checkIfRotationInXYPlane)
{
checkReferenceFrameMatch(tupleOriginal, tupleTransformed);
RotationMatrixReadOnly.super.transform(tupleOriginal, tupleTransformed, checkIfRotationInXYPlane);
}
/** {@inheritDoc} */
@Override
default void inverseTransform(FixedFrameTuple2DBasics tupleToTransform, boolean checkIfTransformInXYPlane)
{
checkReferenceFrameMatch(tupleToTransform);
RotationMatrixReadOnly.super.inverseTransform(tupleToTransform, checkIfTransformInXYPlane);
}
/** {@inheritDoc} */
@Override
default void inverseTransform(FrameTuple2DReadOnly tupleOriginal, Tuple2DBasics tupleTransformed, boolean checkIfTransformInXYPlane)
{
checkReferenceFrameMatch(tupleOriginal);
RotationMatrixReadOnly.super.inverseTransform(tupleOriginal, tupleTransformed, checkIfTransformInXYPlane);
}
/** {@inheritDoc} */
@Override
default void inverseTransform(FrameTuple2DReadOnly tupleOriginal, FixedFrameTuple2DBasics tupleTransformed, boolean checkIfTransformInXYPlane)
{
checkReferenceFrameMatch(tupleOriginal, tupleTransformed);
RotationMatrixReadOnly.super.inverseTransform(tupleOriginal, tupleTransformed, checkIfTransformInXYPlane);
}
/** {@inheritDoc} */
@Override
default void transform(FrameMatrix3DReadOnly matrixOriginal, FixedFrameMatrix3DBasics matrixTransformed)
{
checkReferenceFrameMatch(matrixOriginal, matrixTransformed);
RotationMatrixReadOnly.super.transform(matrixOriginal, matrixTransformed);
}
/** {@inheritDoc} */
@Override
default void transform(FixedFrameMatrix3DBasics matrixToTransform)
{
checkReferenceFrameMatch(matrixToTransform);
RotationMatrixReadOnly.super.transform(matrixToTransform);
}
/** {@inheritDoc} */
@Override
default void inverseTransform(FixedFrameMatrix3DBasics matrixToTransform)
{
checkReferenceFrameMatch(matrixToTransform);
RotationMatrixReadOnly.super.inverseTransform(matrixToTransform);
}
/** {@inheritDoc} */
@Override
default void transform(FrameMatrix3DReadOnly matrixOriginal, Matrix3DBasics matrixTransformed)
{
checkReferenceFrameMatch(matrixOriginal);
RotationMatrixReadOnly.super.transform(matrixOriginal, matrixTransformed);
}
/** {@inheritDoc} */
@Override
default void transform(FixedFrameTuple2DBasics tupleToTransform, boolean checkIfTransformInXYPlane)
{
checkReferenceFrameMatch(tupleToTransform);
RotationMatrixReadOnly.super.transform(tupleToTransform, checkIfTransformInXYPlane);
}
/** {@inheritDoc} */
@Override
default void inverseTransform(Vector4DReadOnly vectorOriginal, FixedFrameVector4DBasics vectorTransformed)
{
checkReferenceFrameMatch(vectorTransformed);
RotationMatrixReadOnly.super.inverseTransform(vectorOriginal, vectorTransformed);
}
/** {@inheritDoc} */
@Override
default void transform(FrameVector4DReadOnly vectorOriginal, FixedFrameVector4DBasics vectorTransformed)
{
checkReferenceFrameMatch(vectorOriginal, vectorTransformed);
RotationMatrixReadOnly.super.transform(vectorOriginal, vectorTransformed);
}
/** {@inheritDoc} */
@Override
default void inverseTransform(FrameMatrix3DReadOnly matrixOriginal, Matrix3DBasics matrixTransformed)
{
checkReferenceFrameMatch(matrixOriginal);
RotationMatrixReadOnly.super.inverseTransform(matrixOriginal, matrixTransformed);
}
/** {@inheritDoc} */
@Override
default void inverseTransform(FrameVector4DReadOnly vectorOriginal, Vector4DBasics vectorTransformed)
{
checkReferenceFrameMatch(vectorOriginal);
RotationMatrixReadOnly.super.inverseTransform(vectorOriginal, vectorTransformed);
}
/** {@inheritDoc} */
@Override
default void transform(FrameTuple2DReadOnly tupleOriginal, Tuple2DBasics tupleTransformed, boolean checkIfRotationInXYPlane)
{
checkReferenceFrameMatch(tupleOriginal);
RotationMatrixReadOnly.super.transform(tupleOriginal, tupleTransformed, checkIfRotationInXYPlane);
}
/** {@inheritDoc} */
@Override
default void transform(Matrix3DReadOnly matrixOriginal, FixedFrameMatrix3DBasics matrixTransformed)
{
checkReferenceFrameMatch(matrixTransformed);
RotationMatrixReadOnly.super.transform(matrixOriginal, matrixTransformed);
}
/** {@inheritDoc} */
@Override
default void transform(FrameVector4DReadOnly vectorOriginal, Vector4DBasics vectorTransformed)
{
checkReferenceFrameMatch(vectorOriginal);
RotationMatrixReadOnly.super.transform(vectorOriginal, vectorTransformed);
}
/** {@inheritDoc} */
@Override
default void transform(Tuple2DReadOnly tupleOriginal, FixedFrameTuple2DBasics tupleTransformed, boolean checkIfRotationInXYPlane)
{
checkReferenceFrameMatch(tupleTransformed);
RotationMatrixReadOnly.super.transform(tupleOriginal, tupleTransformed, checkIfRotationInXYPlane);
}
/** {@inheritDoc} */
@Override
default void inverseTransform(FrameTuple3DReadOnly tupleOriginal, Tuple3DBasics tupleTransformed)
{
checkReferenceFrameMatch(tupleOriginal);
RotationMatrixReadOnly.super.inverseTransform(tupleOriginal, tupleTransformed);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy