public class RigidBodyTransform extends java.lang.Object implements Transform, EpsilonComparable<RigidBodyTransform>, GeometricallyComparable<RigidBodyTransform>, Settable<RigidBodyTransform>, Clearable
RigidBodyTransform represents a 4-by-4 transformation matrix that can rotate and
 translate.
 For efficiency and readability, the transform is never stored in a 4-by-4 matrix.
 The RigidBodyTransform is composed of RotationMatrix to rotate, and a
 Vector3D to translate.
 
A few special cases to keep in mind:
QuaternionBasics, the rotation part of this transform is prepend
 to the quaternion, such that the output remains a proper unit-quaternion that still only
 describes a rotation.
 RotationMatrix, the rotation part of this transform is prepend to
 the rotation matrix, such that the output remains a proper rotation matrix.
 Point3DBasics or Point2DBasics, this object
 is, in order, rotated and then translated.
 Vector3DBasics or Vector2DBasics, this
 object is only rotated. It is NOT translated.
 | Constructor and Description | 
|---|
RigidBodyTransform()
Creates a new rigid-body transform set to identity. 
 | 
RigidBodyTransform(org.ejml.data.DenseMatrix64F matrix)
Creates a new rigid-body transform and sets its raw components from the given  
matrix. | 
RigidBodyTransform(double[] transformArray)
Sets the raw components of this rigid-body transform from the given  
transformArray. | 
RigidBodyTransform(double m00,
                  double m01,
                  double m02,
                  double m03,
                  double m10,
                  double m11,
                  double m12,
                  double m13,
                  double m20,
                  double m21,
                  double m22,
                  double m23)
Creates a new rigid-body transform and sets it from the given 12 coefficients. 
 | 
RigidBodyTransform(Orientation3DReadOnly orientation,
                  Tuple3DReadOnly translation)
Creates a new rigid-body transform and sets it to the given  
orientation and
 translation. | 
RigidBodyTransform(QuaternionBasedTransform quaternionBasedTransform)
Creates a new rigid-body transform and sets it to  
quaternionBasedTransform. | 
RigidBodyTransform(RigidBodyTransform other)
Creates a new rigid-body transform and sets it to  
other. | 
| Modifier and Type | Method and Description | 
|---|---|
void | 
appendPitchRotation(double pitch)
Append a rotation about the y-axis to the rotation part of this transform. 
 | 
void | 
appendRollRotation(double roll)
Append a rotation about the x-axis to the rotation part of this transform. 
 | 
void | 
appendTranslation(double x,
                 double y,
                 double z)
Append a translation transform to this transform. 
 | 
void | 
appendTranslation(Tuple3DReadOnly translation)
Append a translation transform to this transform. 
 | 
void | 
appendYawRotation(double yaw)
Append a rotation about the z-axis to the rotation part of this transform. 
 | 
void | 
checkIfRotation2D()
Asserts that the rotation part of this transform describes a transformation in the XY plane. 
 | 
boolean | 
containsNaN()
Tests if at least one element of this transform is equal to Double.NaN. 
 | 
double | 
determinantRotationPart()
Computes the determinant of the rotation part of this transform. 
 | 
boolean | 
epsilonEquals(RigidBodyTransform other,
             double epsilon)
Tests separately and on a per component basis if the rotation part and the translation part of
 this transform and  
other are equal to an epsilon. | 
boolean | 
equals(java.lang.Object object)
Tests if the given  
object's class is the same as this, in which case the method
 returns equals(RigidBodyTransform), it returns false otherwise or if the
 object is null. | 
boolean | 
equals(RigidBodyTransform other)
Tests separately and on a per component basis if the rotation part and the translation part of
 this transform and  
other are exactly equal. | 
boolean | 
geometricallyEquals(RigidBodyTransform other,
                   double epsilon)
Two rigid body transforms are considered geometrically equal if both the rotation matrices and
 translation vectors are equal. 
 | 
void | 
get(org.ejml.data.DenseMatrix64F matrixToPack)
Packs this transform as a 4-by-4 matrix. 
 | 
void | 
get(double[] transformArrayToPack)
Packs this transform as a 4-by-4 matrix into a 1D row-major array. 
 | 
void | 
get(float[] transformArrayToPack)
Packs this transform as a 4-by-4 matrix into a 1D row-major array. 
 | 
void | 
get(int startRow,
   int startColumn,
   org.ejml.data.DenseMatrix64F matrixToPack)
Packs this transform as a 4-by-4 matrix. 
 | 
void | 
get(Matrix3DBasics rotationMarixToPack,
   Tuple3DBasics translationToPack)
Packs the rotation matrix and translation vector of this rigid-body transform. 
 | 
void | 
get(Orientation3DBasics orientationToPack,
   Tuple3DBasics translationToPack)
Packs the rotation matrix and translation vector of this rigid-body transform. 
 | 
void | 
get(RotationMatrix rotationMarixToPack,
   Tuple3DBasics translationToPack)
Packs the rotation matrix and translation vector of this rigid-body transform. 
 | 
void | 
get(RotationScaleMatrix rotationMarixToPack,
   Tuple3DBasics translationToPack)
Packs the rotation matrix and translation vector of this rigid-body transform. 
 | 
void | 
get(Vector3DBasics rotationVectorToPack,
   Tuple3DBasics translationToPack)
Packs the rotation matrix and translation vector of this rigid-body transform. 
 | 
double | 
getElement(int row,
          int column)
Retrieves and returns a coefficient of this transform given its row and column indices. 
 | 
double | 
getM00()
Gets the 1st row 1st column coefficient of this transform. 
 | 
double | 
getM01()
Gets the 1st row 2nd column coefficient of this transform. 
 | 
double | 
getM02()
Gets the 1st row 3rd column coefficient of this transform. 
 | 
double | 
getM03()
Gets the 1st row 4th column coefficient of this transform. 
 | 
double | 
getM10()
Gets the 2nd row 1st column coefficient of this transform. 
 | 
double | 
getM11()
Gets the 2nd row 2nd column coefficient of this transform. 
 | 
double | 
getM12()
Gets the 2nd row 3rd column coefficient of this transform. 
 | 
double | 
getM13()
Gets the 2nd row 4th column coefficient of this transform. 
 | 
double | 
getM20()
Gets the 3rd row 1st column coefficient of this transform. 
 | 
double | 
getM21()
Gets the 3rd row 2nd column coefficient of this transform. 
 | 
double | 
getM22()
Gets the 3rd row 3rd column coefficient of this transform. 
 | 
double | 
getM23()
Gets the 3rd row 4th column coefficient of this transform. 
 | 
double | 
getM30()
Gets the 4th row 1st column coefficient of this transform. 
 | 
double | 
getM31()
Gets the 4th row 2nd column coefficient of this transform. 
 | 
double | 
getM32()
Gets the 4th row 3rd column coefficient of this transform. 
 | 
double | 
getM33()
Gets the 4th row 4th column coefficient of this transform. 
 | 
void | 
getRotation(org.ejml.data.DenseMatrix64F rotationMatrixToPack)
Packs the rotation part of this rigid-body transform. 
 | 
void | 
getRotation(double[] rotationMatrixArrayToPack)
Packs the rotation part of this rigid-body transform in 1D row-major array. 
 | 
void | 
getRotation(Matrix3DBasics rotationMatrixToPack)
Packs the rotation part of this rigid-body transform. 
 | 
void | 
getRotation(Orientation3DBasics orientationToPack)
Packs the rotation part of this rigid-body transform as a quaternion. 
 | 
void | 
getRotation(RotationMatrix rotationMatrixToPack)
Packs the rotation part of this rigid-body transform. 
 | 
void | 
getRotation(RotationScaleMatrix rotationMatrixToPack)
Packs the rotation part of this rigid-body transform. 
 | 
void | 
getRotation(Vector3DBasics rotationVectorToPack)
Packs the rotation part of this rigid-body transform as a rotation vector. 
 | 
void | 
getRotationEuler(Vector3DBasics eulerAnglesToPack)
Computes and packs the orientation described by the rotation part of this transform as the
 Euler angles. 
 | 
RotationMatrixReadOnly | 
getRotationMatrix()
Gets the read-only reference to the rotation part of this transform. 
 | 
void | 
getRotationYawPitchRoll(double[] yawPitchRollToPack)
Computes and packs the orientation described by the rotation part of this transform as the
 yaw-pitch-roll angles. 
 | 
void | 
getTranslation(Tuple3DBasics translationToPack)
Packs the translation part of this rigid-body transform. 
 | 
Vector3DReadOnly | 
getTranslationVector()
Gets the read-only reference of the translation part of this rigid-body transform. 
 | 
double | 
getTranslationX()
Gets the x-component of the translation part of this transform. 
 | 
double | 
getTranslationY()
Gets the y-component of the translation part of this transform. 
 | 
double | 
getTranslationZ()
Gets the z-component of the translation part of this transform. 
 | 
int | 
hashCode()  | 
void | 
inverseTransform(AffineTransform original,
                AffineTransform transformed)
Performs the inverse of the transform on the given  
original and stores the result in
 transformed. | 
void | 
inverseTransform(Matrix3DReadOnly matrixOriginal,
                Matrix3D matrixTransformed)
Performs the inverse of the transform on the given matrix  
matrixOriginal and stores
 the result in matrixTransformed. | 
void | 
inverseTransform(Point2DReadOnly pointOriginal,
                Point2DBasics pointTransformed,
                boolean checkIfTransformInXYPlane)
Performs the inverse of the transform on the given point  
pointOriginal and stores the
 result in pointTransformed. | 
void | 
inverseTransform(Point3DReadOnly pointOriginal,
                Point3DBasics pointTransformed)
Performs the inverse of the transform on the given point  
pointOriginal and stores the
 result in pointTransformed. | 
void | 
inverseTransform(QuaternionBasedTransform original,
                QuaternionBasedTransform transformed)
Performs the inverse of the transform on the given  
original stores the result in
 transformed. | 
void | 
inverseTransform(QuaternionReadOnly quaternionOriginal,
                QuaternionBasics quaternionTransformed)
Performs the inverse of the transform on the given quaternion  
quaternionOriginal and
 stores the result in quaternionTransformed. | 
void | 
inverseTransform(RigidBodyTransform original,
                RigidBodyTransform transformed)
Performs the inverse of the transform on the given  
original and stores the result in
 transformed. | 
void | 
inverseTransform(RotationMatrixReadOnly matrixOriginal,
                RotationMatrix matrixTransformed)
Performs the inverse of the transform on the given matrix  
matrixOriginal and stores
 the result in matrixTransformed. | 
void | 
inverseTransform(Vector2DReadOnly vectorOriginal,
                Vector2DBasics vectorTransformed,
                boolean checkIfTransformInXYPlane)
Performs the inverse of the transform on the given vector  
vectorOriginal and stores
 the result in vectorTransformed. | 
void | 
inverseTransform(Vector3DReadOnly vectorOriginal,
                Vector3DBasics vectorTransformed)
Performs the inverse of the transform on the given vector  
vectorOriginal and stores
 the result in vectorTransformed. | 
void | 
inverseTransform(Vector4DReadOnly vectorOriginal,
                Vector4DBasics vectorTransformed)
Performs the inverse of the transform on the given vector  
vectorOriginal and stores
 the result in vectorTransformed. | 
void | 
invert()
Inverts this rigid-body transform. 
 | 
void | 
invertRotation()
Inverts only the rotation part of this transform, the translation remains unchanged. 
 | 
boolean | 
isRotation2D()
Tests if the rotation part of this transform describes a transformation in the XY plane. 
 | 
void | 
multiply(AffineTransform affineTransform)
Performs the multiplication of this transform with  
affineTransform. | 
void | 
multiply(QuaternionBasedTransform quaternionBasedTransform)
Performs the multiplication of this transform with  
quaternionBasedTransform. | 
void | 
multiply(RigidBodyTransform other)
Performs the multiplication of this transform with  
other. | 
void | 
multiplyInvertOther(AffineTransform affineTransform)
Performs the multiplication of this transform with the inverse of  
affineTransform. | 
void | 
multiplyInvertOther(QuaternionBasedTransform quaternionBasedTransform)
Performs the multiplication of this transform with the inverse of
  
quaternionBasedTransform. | 
void | 
multiplyInvertOther(RigidBodyTransform other)
Performs the multiplication of this transform with the inverse of  
other. | 
void | 
multiplyInvertThis(AffineTransform affineTransform)
Performs the multiplication of the inverse of this transform with  
affineTransform. | 
void | 
multiplyInvertThis(QuaternionBasedTransform quaternionBasedTransform)
Performs the multiplication of the inverse of this transform with
  
quaternionBasedTransform. | 
void | 
multiplyInvertThis(RigidBodyTransform other)
Performs the multiplication of the inverse of this transform with  
other. | 
void | 
normalizeRotationPart()
Normalize the rotation part of this transform. 
 | 
void | 
preMultiply(AffineTransform affineTransform)
Performs the multiplication of  
affineTransform with this transform. | 
void | 
preMultiply(QuaternionBasedTransform quaternionBasedTransform)
Performs the multiplication of  
quaternionBasedTransform with this transform. | 
void | 
preMultiply(RigidBodyTransform other)
Performs the multiplication of  
other with this transform. | 
void | 
preMultiplyInvertOther(AffineTransform affineTransform)
Performs the multiplication of the inverse of  
affineTransform with this transform. | 
void | 
preMultiplyInvertOther(QuaternionBasedTransform quaternionBasedTransform)
Performs the multiplication of the inverse of  
quaternionBasedTransform with this
 transform. | 
void | 
preMultiplyInvertOther(RigidBodyTransform other)
Performs the multiplication of the inverse of  
other with this transform. | 
void | 
preMultiplyInvertThis(AffineTransform affineTransform)
Performs the multiplication of  
affineTransform with the inverse of this transform. | 
void | 
preMultiplyInvertThis(QuaternionBasedTransform quaternionBasedTransform)
Performs the multiplication of  
quaternionBasedTransform with the inverse of this
 transform. | 
void | 
preMultiplyInvertThis(RigidBodyTransform other)
Performs the multiplication of  
other with the inverse of this transform. | 
void | 
prependPitchRotation(double pitch)
Prepend a rotation about the y-axis to this transform. 
 | 
void | 
prependRollRotation(double roll)
Prepend a rotation about the x-axis to this transform. 
 | 
void | 
prependTranslation(double x,
                  double y,
                  double z)
Prepend a translation transform to this transform. 
 | 
void | 
prependTranslation(Tuple3DReadOnly translation)
Prepend a translation transform to this transform. 
 | 
void | 
prependYawRotation(double yaw)
Prepend a rotation about the z-axis to this transform. 
 | 
void | 
set(org.ejml.data.DenseMatrix64F matrix)
Sets the raw components of this rigid-body transform from the given  
matrix. | 
void | 
set(org.ejml.data.DenseMatrix64F matrix,
   int startRow,
   int startColumn)
Sets the raw components of this rigid-body transform from the given  
matrix. | 
void | 
set(double[] transformArray)
Sets the raw components of this rigid-body transform from the given  
transformArray. | 
void | 
set(double m00,
   double m01,
   double m02,
   double m03,
   double m10,
   double m11,
   double m12,
   double m13,
   double m20,
   double m21,
   double m22,
   double m23)
Sets this rigid-body transform from the given 12 coefficients. 
 | 
void | 
set(float[] transformArray)
Sets the raw components of this rigid-body transform from the given  
transformArray. | 
void | 
set(Matrix3DReadOnly rotationMatrix,
   Tuple3DReadOnly translation)
Sets the rotation and translation parts of this transform separately. 
 | 
void | 
set(Orientation3DReadOnly orientation,
   Tuple3DReadOnly translation)
Sets the rotation and translation parts of this transform separately. 
 | 
void | 
set(QuaternionBasedTransform quaternionBasedTransform)
Sets this rigid-body transform to the given  
quaternionBasedTransform. | 
void | 
set(RigidBodyTransform other)
Sets this rigid-body transform to  
other. | 
void | 
set(RotationMatrixReadOnly rotationMatrix,
   Tuple3DReadOnly translation)
Sets the rotation and translation parts of this transform separately. 
 | 
void | 
set(RotationScaleMatrixReadOnly rotationScaleMatrix,
   Tuple3DReadOnly translation)
Sets the rotation and translation parts of this transform separately. 
 | 
void | 
setAndInvert(RigidBodyTransform other)
Sets this rigid-body transform to  
other and then inverts it. | 
void | 
setAsTranspose(double[] transformArray)
Sets the raw components of this rigid-body transform from the given  
transformArray. | 
void | 
setAsTranspose(float[] transformArray)
Sets the raw components of this rigid-body transform from the given  
transformArray. | 
void | 
setIdentity()
Resets this rigid-body transform to identity. 
 | 
void | 
setRotation(org.ejml.data.DenseMatrix64F rotationMatrix)
Sets the rotation part of this transform to the given matrix. 
 | 
void | 
setRotation(double m00,
           double m01,
           double m02,
           double m10,
           double m11,
           double m12,
           double m20,
           double m21,
           double m22)
Sets the rotation part of this transform from the given 9 coefficients. 
 | 
void | 
setRotation(Matrix3DReadOnly rotationMatrix)
Sets the rotation part of this transform to the given matrix. 
 | 
void | 
setRotation(Orientation3DReadOnly orientation)
Sets the rotation part of this transform to the given axis-angle. 
 | 
void | 
setRotation(RotationMatrixReadOnly rotationMatrix)
Sets the rotation part of this transform to the given matrix. 
 | 
void | 
setRotation(Vector3DReadOnly rotationVector)
Sets the rotation part of this transform to the given rotation vector. 
 | 
void | 
setRotationAndZeroTranslation(org.ejml.data.DenseMatrix64F rotationMatrix)
Sets the rotation part of this transform to the given matrix and sets the translation part to
 zero. 
 | 
void | 
setRotationAndZeroTranslation(Matrix3DReadOnly rotationMatrix)
Sets the rotation part of this transform to the given matrix and sets the translation part to
 zero. 
 | 
void | 
setRotationAndZeroTranslation(Orientation3DReadOnly orientation)
Sets the rotation part of this transform to the given orientation and sets the translation
 part to zero. 
 | 
void | 
setRotationAndZeroTranslation(RotationMatrixReadOnly rotationMatrix)
Sets the rotation part of this transform to the given orientation and sets the translation
 part to zero. 
 | 
void | 
setRotationAndZeroTranslation(Vector3DReadOnly rotationVector)
Sets the rotation part of this transform to the given rotation vector and sets the translation
 part to zero. 
 | 
void | 
setRotationEuler(double rotX,
                double rotY,
                double rotZ)
Sets the rotation part of this transform to represent the same orientation as the given Euler
 angles  
rotX, rotY, and rotZ. | 
void | 
setRotationEuler(Vector3DReadOnly eulerAngles)
Sets the rotation part of this transform to represent the same orientation as the given Euler
 angles  
eulerAngles. | 
void | 
setRotationEulerAndZeroTranslation(double rotX,
                                  double rotY,
                                  double rotZ)
Sets the rotation part of this transform to represent the same orientation as the given Euler
 angles  
rotX, rotY, and rotZ and sets the translation part to zero. | 
void | 
setRotationEulerAndZeroTranslation(Vector3DReadOnly eulerAngles)
Sets the rotation part of this transform to represent the same orientation as the given Euler
 angles  
eulerAngles and sets the translation part to zero. | 
void | 
setRotationPitch(double pitch)
Sets the rotation part of this transform to represent a counter clockwise rotation around the
 y-axis of an angle  
pitch. | 
void | 
setRotationPitchAndZeroTranslation(double pitch)
Sets the rotation part of this transform to represent a counter clockwise rotation around the
 y-axis of an angle  
pitch and sets the translation part to zero. | 
void | 
setRotationRoll(double roll)
Sets the rotation part of this transform to represent a counter clockwise rotation around the
 x-axis of an angle  
roll. | 
void | 
setRotationRollAndZeroTranslation(double roll)
Sets the rotation part of this transform to represent a counter clockwise rotation around the
 x-axis of an angle  
roll and sets the translation part to zero. | 
void | 
setRotationToNaN()
Sets all the components of the rotation matrix to  
Double.NaN. | 
void | 
setRotationToZero()
Sets the rotation part to represent a 'zero' rotation. 
 | 
void | 
setRotationUnsafe(double m00,
                 double m01,
                 double m02,
                 double m10,
                 double m11,
                 double m12,
                 double m20,
                 double m21,
                 double m22)
Sets the rotation part of this transform from the given 9 coefficients. 
 | 
void | 
setRotationYaw(double yaw)
Sets the rotation part of this transform to represent a counter clockwise rotation around the
 z-axis of an angle  
yaw. | 
void | 
setRotationYawAndZeroTranslation(double yaw)
Sets the rotation part of this transform to represent a counter clockwise rotation around the
 z-axis of an angle  
yaw and sets the translation part to zero. | 
void | 
setRotationYawPitchRoll(double[] yawPitchRoll)
Sets the rotation part of this transform to represent the same orientation as the given
 yaw-pitch-roll angles  
yaw, pitch, and roll. | 
void | 
setRotationYawPitchRoll(double yaw,
                       double pitch,
                       double roll)
Sets the rotation part of this transform to represent the same orientation as the given
 yaw-pitch-roll angles  
yaw, pitch, and roll. | 
void | 
setRotationYawPitchRollAndZeroTranslation(double[] yawPitchRoll)
Sets the rotation part of this transform to represent the same orientation as the given
 yaw-pitch-roll angles  
yaw, pitch, and roll and sets the translation
 part to zero. | 
void | 
setRotationYawPitchRollAndZeroTranslation(double yaw,
                                         double pitch,
                                         double roll)
Sets the rotation part of this transform to represent the same orientation as the given
 yaw-pitch-roll angles  
yaw, pitch, and roll and sets the translation
 part to zero. | 
void | 
setToNaN()
Sets all the components of this affine transform making it invalid. 
 | 
void | 
setToZero()
Resets this rigid-body transform to identity. 
 | 
void | 
setTranslation(double x,
              double y,
              double z)
Sets the translation part of this transform. 
 | 
void | 
setTranslation(Tuple3DReadOnly translation)
Sets the translation part of this transform. 
 | 
void | 
setTranslationAndIdentityRotation(double x,
                                 double y,
                                 double z)
Sets the translation part of this transform and sets the rotation part to identity. 
 | 
void | 
setTranslationAndIdentityRotation(Tuple3DReadOnly translation)
Sets the translation part of this transform and sets the rotation part to identity. 
 | 
void | 
setTranslationToNaN()
Sets all the components of the translation vector to  
Double.NaN. | 
void | 
setTranslationToZero()
Sets the translation part to zero. 
 | 
void | 
setTranslationX(double x)
Sets the x-component of the translation part of this transform. 
 | 
void | 
setTranslationY(double y)
Sets the y-component of the translation part of this transform. 
 | 
void | 
setTranslationZ(double z)
Sets the z-component of the translation part of this transform. 
 | 
void | 
setUnsafe(double m00,
         double m01,
         double m02,
         double m03,
         double m10,
         double m11,
         double m12,
         double m13,
         double m20,
         double m21,
         double m22,
         double m23)
Sets this rigid-body transform from the given 12 coefficients. 
 | 
java.lang.String | 
toString()
Provides a  
String representation of this transform as follows: m00, m01, m02 | m03 m10, m11, m12 | m13 m20, m21, m22 | m23  | 
void | 
transform(AffineTransform original,
         AffineTransform transformed)
Transforms the given  
original by this transform and stores the result in
 transformed. | 
void | 
transform(Matrix3DReadOnly matrixOriginal,
         Matrix3D matrixTransformed)
Transforms the given  
matrixOriginal by this transform and stores the result in
 matrixTransformed. | 
void | 
transform(Point2DReadOnly point2DOriginal,
         Point2DBasics point2DTransformed,
         boolean checkIfTransformInXYPlane)
Transforms the given  
point2DOriginal by this transform and stores the result in
 point2DTransformed. | 
void | 
transform(Point3DReadOnly pointOriginal,
         Point3DBasics pointTransformed)
Transforms the given  
pointOriginal by this transform and stores the result in
 pointTransformed. | 
void | 
transform(QuaternionBasedTransform original,
         QuaternionBasedTransform transformed)
Transforms the given  
original by this transform and stores the result in
 transformed. | 
void | 
transform(QuaternionReadOnly quaternionOriginal,
         QuaternionBasics quaternionTransformed)
Transforms the given  
quaternionOriginal by this transform and stores the result in
 quaternionTransformed. | 
void | 
transform(RigidBodyTransform original,
         RigidBodyTransform transformed)
Transforms the given  
original by this transform and stores the result in
 transformed. | 
void | 
transform(RotationMatrixReadOnly matrixOriginal,
         RotationMatrix matrixTransformed)
Transforms the given  
matrixOriginal by this transform and stores the result in
 matrixTransformed. | 
void | 
transform(Vector2DReadOnly vector2DOriginal,
         Vector2DBasics vector2DTransformed,
         boolean checkIfTransformInXYPlane)
Transforms the given  
vector2DOriginal by this transform and stores the result in
 vector2DTransformed. | 
void | 
transform(Vector3DReadOnly vectorOriginal,
         Vector3DBasics vectorTransformed)
Transforms the given  
vectorOriginal by this transform and stores the result in
 vectorTransformed. | 
void | 
transform(Vector4DReadOnly vectorOriginal,
         Vector4DBasics vectorTransformed)
Transforms the vector part (x, y, z) of the given  
vector4DOriginal as a 3D vector and
 translates it by s times the translation part of the transform. | 
clone, finalize, getClass, notify, notifyAll, wait, wait, waitinverseTransform, inverseTransform, inverseTransform, inverseTransform, inverseTransform, inverseTransform, inverseTransform, inverseTransform, inverseTransform, inverseTransform, inverseTransform, inverseTransform, inverseTransform, inverseTransform, inverseTransform, transform, transform, transform, transform, transform, transform, transform, transform, transform, transform, transform, transform, transform, transform, transformpublic RigidBodyTransform()
When set to identity, this transform has no effect when transforming a geometry object.
public RigidBodyTransform(RigidBodyTransform other)
other.other - the other rigid-body transform to copy. Not modified.public RigidBodyTransform(QuaternionBasedTransform quaternionBasedTransform)
quaternionBasedTransform.quaternionBasedTransform - the QuaternionBasedTransform to initialize to.public RigidBodyTransform(org.ejml.data.DenseMatrix64F matrix)
matrix.
 The rotation part R is set as follows:
     / matrix.get(0, 0) matrix.get(0, 1) matrix.get(0, 2) \
 R = | matrix.get(1, 0) matrix.get(1, 1) matrix.get(1, 2) |
     \ matrix.get(2, 0) matrix.get(2, 1) matrix.get(2, 2) /
 
 The translation part T is set as follows:
 
     / matrix.get(0, 3) \
 T = | matrix.get(1, 3) |
     \ matrix.get(2, 3) /
 
 matrix - the matrix to get this transform's components from. Not modified.NotARotationMatrixException - if the resulting matrix for the rotation part of this
            transform is not a rotation matrix.public RigidBodyTransform(double[] transformArray)
transformArray.
 The rotation part R is set as follows:
     / transformArray[0] transformArray[1] transformArray[ 2] \
 R = | transformArray[4] transformArray[5] transformArray[ 6] |
     \ transformArray[8] transformArray[9] transformArray[10] /
 
 The translation part T is set as follows:
 
     / transformArray[ 3] \
 T = | transformArray[ 7] |
     \ transformArray[11] /
 
 transformArray - the 1D row-major array to get this transform's components from. Not
           modified.NotARotationMatrixException - if the resulting matrix for the rotation part of this
            transform is not a rotation matrix.public RigidBodyTransform(Orientation3DReadOnly orientation, Tuple3DReadOnly translation)
orientation and
 translation.orientation - the orientation used to set this transform's rotation part. Not modified.translation - the tuple used to set this transform's translation part. Not modified.public RigidBodyTransform(double m00,
                          double m01,
                          double m02,
                          double m03,
                          double m10,
                          double m11,
                          double m12,
                          double m13,
                          double m20,
                          double m21,
                          double m22,
                          double m23)
m00 - the 1st row 1st column component of the rotation part of this transform.m01 - the 1st row 2nd column component of the rotation part of this transform.m02 - the 1st row 3rd column component of the rotation part of this transform.m03 - the x-component of the translation part of this transform.m10 - the 2nd row 1st column component of the rotation part of this transform.m11 - the 2nd row 2nd column component of the rotation part of this transform.m12 - the 2nd row 3rd column component of the rotation part of this transform.m13 - the y-component of the translation part of this transform.m20 - the 3rd row 1st column component of the rotation part of this transform.m21 - the 3rd row 2nd column component of the rotation part of this transform.m22 - the 3rd row 3rd column component of the rotation part of this transform.m23 - the z-component of the translation part of this transform.NotARotationMatrixException - if the components for the rotation part do not represent a
            rotation matrix.public void setIdentity()
When set to identity, this transform has no effect when transforming a geometry object.
public void setToZero()
When set to identity, this transform has no effect when transforming a geometry object.
public void setRotationToZero()
public void setTranslationToZero()
public void setToNaN()
public void setRotationToNaN()
Double.NaN.
 public void setTranslationToNaN()
Double.NaN.
 public boolean containsNaN()
containsNaN in interface Clearabletrue if at least one element of this transform is equal to
         Double.NaN, false otherwise.public boolean isRotation2D()
The rotation part is considered to be a 2D transformation in the XY plane if:
Matrix3DFeatures.EPS_CHECK_2D,
 m20, m02, m21, and m12 are equal to 0.0
 +/- Matrix3DFeatures.EPS_CHECK_2D.
 true if the rotation part describes a 2D transformation in the XY plane,
         false otherwise.public void checkIfRotation2D()
The rotation part is considered to be a 2D transformation in the XY plane if:
Matrix3DFeatures.EPS_CHECK_2D,
 m20, m02, m21, and m12 are equal to 0.0
 +/- Matrix3DFeatures.EPS_CHECK_2D.
 NotAMatrix2DException - if the rotation part represents a 3D transformation.public void normalizeRotationPart()
public double determinantRotationPart()
public void set(double m00,
                double m01,
                double m02,
                double m03,
                double m10,
                double m11,
                double m12,
                double m13,
                double m20,
                double m21,
                double m22,
                double m23)
m00 - the 1st row 1st column component of the rotation part of this transform.m01 - the 1st row 2nd column component of the rotation part of this transform.m02 - the 1st row 3rd column component of the rotation part of this transform.m03 - the x-component of the translation part of this transform.m10 - the 2nd row 1st column component of the rotation part of this transform.m11 - the 2nd row 2nd column component of the rotation part of this transform.m12 - the 2nd row 3rd column component of the rotation part of this transform.m13 - the y-component of the translation part of this transform.m20 - the 3rd row 1st column component of the rotation part of this transform.m21 - the 3rd row 2nd column component of the rotation part of this transform.m22 - the 3rd row 3rd column component of the rotation part of this transform.m23 - the z-component of the translation part of this transform.NotARotationMatrixException - if the components for the rotation part do not represent a
            rotation matrix.public void setUnsafe(double m00,
                      double m01,
                      double m02,
                      double m03,
                      double m10,
                      double m11,
                      double m12,
                      double m13,
                      double m20,
                      double m21,
                      double m22,
                      double m23)
 Prefer using the method
 set(double, double, double, double, double, double, double, double, double, double, double, double)
 as it asserts that the coefficients for the rotation part represent a rotation matrix.
 
m00 - the 1st row 1st column component of the rotation part of this transform.m01 - the 1st row 2nd column component of the rotation part of this transform.m02 - the 1st row 3rd column component of the rotation part of this transform.m03 - the x-component of the translation part of this transform.m10 - the 2nd row 1st column component of the rotation part of this transform.m11 - the 2nd row 2nd column component of the rotation part of this transform.m12 - the 2nd row 3rd column component of the rotation part of this transform.m13 - the y-component of the translation part of this transform.m20 - the 3rd row 1st column component of the rotation part of this transform.m21 - the 3rd row 2nd column component of the rotation part of this transform.m22 - the 3rd row 3rd column component of the rotation part of this transform.m23 - the z-component of the translation part of this transform.public void set(RigidBodyTransform other)
other.set in interface Settable<RigidBodyTransform>other - the other rigid-body transform to copy the values from. Not modified.public void setAndInvert(RigidBodyTransform other)
other and then inverts it.other - the other rigid-body transform to copy the values from. Not modified.public void set(QuaternionBasedTransform quaternionBasedTransform)
quaternionBasedTransform.quaternionBasedTransform - the quaternion-based transform to copy the values from. Not
           modified.public void set(org.ejml.data.DenseMatrix64F matrix)
matrix.
 The rotation-scale part R is set as follows:
     / matrix.get(0, 0) matrix.get(0, 1) matrix.get(0, 2) \
 R = | matrix.get(1, 0) matrix.get(1, 1) matrix.get(1, 2) |
     \ matrix.get(2, 0) matrix.get(2, 1) matrix.get(2, 2) /
 
 The translation part T is set as follows:
 
     / matrix.get(0, 3) \
 T = | matrix.get(1, 3) |
     \ matrix.get(2, 3) /
 
 matrix - the matrix to get this transform's components from. Not modified.NotARotationMatrixException - if the resulting matrix for the rotation part of this
            transform is not a rotation matrix.public void set(org.ejml.data.DenseMatrix64F matrix,
                int startRow,
                int startColumn)
matrix.
 The rotation part R is set as follows:
     / matrix.get(startRow + 0, startColumn + 0) matrix.get(startRow + 0, startColumn + 1) matrix.get(startRow + 0, startColumn + 2) \
 R = | matrix.get(startRow + 1, startColumn + 0) matrix.get(startRow + 1, startColumn + 1) matrix.get(startRow + 1, startColumn + 2) |
     \ matrix.get(startRow + 2, startColumn + 0) matrix.get(startRow + 2, startColumn + 1) matrix.get(startRow + 2, startColumn + 2) /
 
 The translation part T is set as follows:
 
     / matrix.get(startRow + 0, startColumn + 3) \
 T = | matrix.get(startRow + 1, startColumn + 3) |
     \ matrix.get(startRow + 2, startColumn + 3) /
 
 matrix - the matrix to get this transform's components from. Not modified.startRow - the row index of the first component to read.startColumn - the column index of the first component to read.NotARotationMatrixException - if the resulting matrix for the rotation part of this
            transform is not a rotation matrix.public void set(double[] transformArray)
transformArray.
 The rotation-scale part R is set as follows:
     / transformArray[0] transformArray[1] transformArray[ 2] \
 R = | transformArray[4] transformArray[5] transformArray[ 6] |
     \ transformArray[8] transformArray[9] transformArray[10] /
 
 The translation part T is set as follows:
 
     / transformArray[ 3] \
 T = | transformArray[ 7] |
     \ transformArray[11] /
 
 transformArray - the 1D row-major array to get this transform's components from. Not
           modified.NotARotationMatrixException - if the resulting matrix for the rotation part of this
            transform is not a rotation matrix.public void setAsTranspose(double[] transformArray)
transformArray.
 The rotation-scale part R is set as follows:
     / transformArray[0] transformArray[4] transformArray[ 8] \
 R = | transformArray[1] transformArray[5] transformArray[ 9] |
     \ transformArray[2] transformArray[6] transformArray[10] /
 
 The translation part T is set as follows:
 
     / transformArray[12] \
 T = | transformArray[13] |
     \ transformArray[14] /
 
 transformArray - the 1D column-major array to get this transform's components from. Not
           modified.NotARotationMatrixException - if the resulting matrix for the rotation part of this
            transform is not a rotation matrix.public void set(float[] transformArray)
transformArray.
 The rotation-scale part R is set as follows:
     / transformArray[0] transformArray[1] transformArray[ 2] \
 R = | transformArray[4] transformArray[5] transformArray[ 6] |
     \ transformArray[8] transformArray[9] transformArray[10] /
 
 The translation part T is set as follows:
 
     / transformArray[ 3] \
 T = | transformArray[ 7] |
     \ transformArray[11] /
 
 transformArray - the 1D row-major array to get this transform's components from. Not
           modified.NotARotationMatrixException - if the resulting matrix for the rotation part of this
            transform is not a rotation matrix.public void setAsTranspose(float[] transformArray)
transformArray.
 The rotation-scale part R is set as follows:
     / transformArray[0] transformArray[4] transformArray[ 8] \
 R = | transformArray[1] transformArray[5] transformArray[ 9] |
     \ transformArray[2] transformArray[6] transformArray[10] /
 
 The translation part T is set as follows:
 
     / transformArray[12] \
 T = | transformArray[13] |
     \ transformArray[14] /
 
 transformArray - the 1D column-major array to get this transform's components from. Not
           modified.NotARotationMatrixException - if the resulting matrix for the rotation part of this
            transform is not a rotation matrix.public void set(Matrix3DReadOnly rotationMatrix, Tuple3DReadOnly translation)
rotationMatrix - the matrix used to set the rotation part of this transform. Not
           modified.translation - the tuple used to set the translation part of this transform. Not modified.NotARotationMatrixException - if the given rotationMatrix is not a rotation
            matrix.public void set(RotationMatrixReadOnly rotationMatrix, Tuple3DReadOnly translation)
rotationMatrix - the matrix used to set the rotation part of this transform. Not
           modified.translation - the tuple used to set the translation part of this transform. Not modified.public void set(RotationScaleMatrixReadOnly rotationScaleMatrix, Tuple3DReadOnly translation)
 Only the rotation matrix from rotationScaleMatrix is used to set the rotation part of
 this transform.
 
rotationScaleMatrix - the matrix used to set the rotation part of this transform. Not
           modified.translation - the tuple used to set the translation part of this transform. Not modified.public void set(Orientation3DReadOnly orientation, Tuple3DReadOnly translation)
orientation - the orientation used to set the rotation part of this transform. Not
           modified.translation - the tuple used to set the translation part of this transform. Not modified.public void setRotation(double m00,
                        double m01,
                        double m02,
                        double m10,
                        double m11,
                        double m12,
                        double m20,
                        double m21,
                        double m22)
m00 - the 1st row 1st column component of the rotation part of this transform.m01 - the 1st row 2nd column component of the rotation part of this transform.m02 - the 1st row 3rd column component of the rotation part of this transform.m10 - the 2nd row 1st column component of the rotation part of this transform.m11 - the 2nd row 2nd column component of the rotation part of this transform.m12 - the 2nd row 3rd column component of the rotation part of this transform.m20 - the 3rd row 1st column component of the rotation part of this transform.m21 - the 3rd row 2nd column component of the rotation part of this transform.m22 - the 3rd row 3rd column component of the rotation part of this transform.NotARotationMatrixException - if the resulting matrix does not represent a rotation
            matrix.public void setRotationUnsafe(double m00,
                              double m01,
                              double m02,
                              double m10,
                              double m11,
                              double m12,
                              double m20,
                              double m21,
                              double m22)
 Prefer using the method
 setRotation(double, double, double, double, double, double, double, double, double)
 as it asserts that the coefficients 0represent a rotation matrix.
 
m00 - the 1st row 1st column component of the rotation part of this transform.m01 - the 1st row 2nd column component of the rotation part of this transform.m02 - the 1st row 3rd column component of the rotation part of this transform.m10 - the 2nd row 1st column component of the rotation part of this transform.m11 - the 2nd row 2nd column component of the rotation part of this transform.m12 - the 2nd row 3rd column component of the rotation part of this transform.m20 - the 3rd row 1st column component of the rotation part of this transform.m21 - the 3rd row 2nd column component of the rotation part of this transform.m22 - the 3rd row 3rd column component of the rotation part of this transform.public void setRotation(Orientation3DReadOnly orientation)
This method does not affect the translation part of this transform.
orientation - the orientation used to set the rotation part of this transform. Not
           modified.public void setRotation(Vector3DReadOnly rotationVector)
This method does not affect the translation part of this transform.
WARNING: a rotation vector is different from a yaw-pitch-roll or Euler angles representation. A rotation vector is equivalent to the axis of an axis-angle that is multiplied by the angle of the same axis-angle.
rotationVector - the rotation vector used to set the rotation part of this transform. Not
           modified.public void setRotation(org.ejml.data.DenseMatrix64F rotationMatrix)
This method does not affect the translation part of this transform.
rotationMatrix - the matrix used to set the rotation part of this transform. Not
           modified.NotARotationMatrixException - if the given rotationMatrix is not a rotation
            matrix.public void setRotation(Matrix3DReadOnly rotationMatrix)
This method does not affect the translation part of this transform.
rotationMatrix - the matrix used to set the rotation part of this transform. Not
           modified.NotARotationMatrixException - if the given rotationMatrix is not a rotation
            matrix.public void setRotation(RotationMatrixReadOnly rotationMatrix)
This method does not affect the translation part of this transform.
rotationMatrix - the matrix used to set the rotation part of this transform. Not
           modified.NotARotationMatrixException - if the given rotationMatrix is not a rotation
            matrix.public void setRotationYaw(double yaw)
yaw.
 
     / cos(yaw) -sin(yaw) 0 \
 R = | sin(yaw)  cos(yaw) 0 |
     \    0         0     1 /
 
 This method does not affect the translation part of this transform.
yaw - the angle to rotate about the z-axis.public void setRotationPitch(double pitch)
pitch.
 
     /  cos(pitch) 0 sin(pitch) \
 R = |      0      1     0      |
     \ -sin(pitch) 0 cos(pitch) /
 
 This method does not affect the translation part of this transform.
pitch - the angle to rotate about the y-axis.public void setRotationRoll(double roll)
roll.
 
     / 1     0          0     \
 R = | 0 cos(roll) -sin(roll) |
     \ 0 sin(roll)  cos(roll) /
 
 This method does not affect the translation part of this transform.
roll - the angle to rotate about the x-axis.public void setRotationYawPitchRoll(double[] yawPitchRoll)
yaw, pitch, and roll.
 
     / cos(yaw) -sin(yaw) 0 \   /  cos(pitch) 0 sin(pitch) \   / 1     0          0     \
 R = | sin(yaw)  cos(yaw) 0 | * |      0      1     0      | * | 0 cos(roll) -sin(roll) |
     \    0         0     1 /   \ -sin(pitch) 0 cos(pitch) /   \ 0 sin(roll)  cos(roll) /
 
 This method does not affect the translation part of this transform.
yawPitchRoll - array containing the yaw-pitch-roll angles. Not modified.public void setRotationYawPitchRoll(double yaw,
                                    double pitch,
                                    double roll)
yaw, pitch, and roll.
 
     / cos(yaw) -sin(yaw) 0 \   /  cos(pitch) 0 sin(pitch) \   / 1     0          0     \
 R = | sin(yaw)  cos(yaw) 0 | * |      0      1     0      | * | 0 cos(roll) -sin(roll) |
     \    0         0     1 /   \ -sin(pitch) 0 cos(pitch) /   \ 0 sin(roll)  cos(roll) /
 
 This method does not affect the translation part of this transform.
yaw - the angle to rotate about the z-axis.pitch - the angle to rotate about the y-axis.roll - the angle to rotate about the x-axis.public void setRotationEuler(Vector3DReadOnly eulerAngles)
eulerAngles.
 
     / cos(eulerAngles.z) -sin(eulerAngles.z) 0 \   /  cos(eulerAngles.y) 0 sin(eulerAngles.y) \   / 1         0                   0          \
 R = | sin(eulerAngles.z)  cos(eulerAngles.z) 0 | * |          0          1         0          | * | 0 cos(eulerAngles.x) -sin(eulerAngles.x) |
     \         0                   0          1 /   \ -sin(eulerAngles.y) 0 cos(eulerAngles.y) /   \ 0 sin(eulerAngles.x)  cos(eulerAngles.x) /
 
 This method does not affect the translation part of this transform.
 This is equivalent to
 this.setRotationYawPitchRoll(eulerAngles.getZ(), eulerAngles.getY(), eulerAngles.getX()).
 
eulerAngles - the Euler angles to copy the orientation from. Not modified.public void setRotationEuler(double rotX,
                             double rotY,
                             double rotZ)
rotX, rotY, and rotZ.
 
     / cos(rotZ) -sin(rotZ) 0 \   /  cos(rotY) 0 sin(rotY) \   / 1     0          0     \
 R = | sin(rotZ)  cos(rotZ) 0 | * |      0     1     0     | * | 0 cos(rotX) -sin(rotX) |
     \     0          0     1 /   \ -sin(rotY) 0 cos(rotY) /   \ 0 sin(rotX)  cos(rotX) /
 
 This method does not affect the translation part of this transform.
 This is equivalent to this.setRotationYawPitchRoll(rotZ, rotY, rotX).
 
rotX - the angle to rotate about the x-axis.rotY - the angle to rotate about the y-axis.rotZ - the angle to rotate about the z-axis.public void setRotationAndZeroTranslation(Orientation3DReadOnly orientation)
orientation - the orientation used to set the rotation part of this transform. Not
           modified.public void setRotationAndZeroTranslation(RotationMatrixReadOnly rotationMatrix)
rotationMatrix - the rotation matrix used to set the rotation part of this transform. Not
           modified.public void setRotationAndZeroTranslation(Vector3DReadOnly rotationVector)
WARNING: a rotation vector is different from a yaw-pitch-roll or Euler angles representation. A rotation vector is equivalent to the axis of an axis-angle that is multiplied by the angle of the same axis-angle.
rotationVector - the rotation vector used to set the rotation part of this transform. Not
           modified.public void setRotationAndZeroTranslation(org.ejml.data.DenseMatrix64F rotationMatrix)
rotationMatrix - the matrix used to set the rotation part of this transform. Not
           modified.NotARotationMatrixException - if the given rotationMatrix is not a rotation
            matrix.public void setRotationAndZeroTranslation(Matrix3DReadOnly rotationMatrix)
rotationMatrix - the matrix used to set the rotation part of this transform. Not
           modified.NotARotationMatrixException - if the given rotationMatrix is not a rotation
            matrix.public void setRotationYawAndZeroTranslation(double yaw)
yaw and sets the translation part to zero.
 
     / cos(yaw) -sin(yaw) 0 \
 R = | sin(yaw)  cos(yaw) 0 |
     \    0         0     1 /
 yaw - the angle to rotate about the z-axis.public void setRotationPitchAndZeroTranslation(double pitch)
pitch and sets the translation part to zero.
 
        /  cos(pitch) 0 sin(pitch) \
 this = |      0      1     0      |
        \ -sin(pitch) 0 cos(pitch) /
 pitch - the angle to rotate about the y-axis.public void setRotationRollAndZeroTranslation(double roll)
roll and sets the translation part to zero.
 
        / 1     0          0     \
 this = | 0 cos(roll) -sin(roll) |
        \ 0 sin(roll)  cos(roll) /
 roll - the angle to rotate about the x-axis.public void setRotationYawPitchRollAndZeroTranslation(double[] yawPitchRoll)
yaw, pitch, and roll and sets the translation
 part to zero.
 
     / cos(yaw) -sin(yaw) 0 \   /  cos(pitch) 0 sin(pitch) \   / 1     0          0     \
 R = | sin(yaw)  cos(yaw) 0 | * |      0      1     0      | * | 0 cos(roll) -sin(roll) |
     \    0         0     1 /   \ -sin(pitch) 0 cos(pitch) /   \ 0 sin(roll)  cos(roll) /
 yawPitchRoll - array containing the yaw-pitch-roll angles. Not modified.public void setRotationYawPitchRollAndZeroTranslation(double yaw,
                                                      double pitch,
                                                      double roll)
yaw, pitch, and roll and sets the translation
 part to zero.
 
     / cos(yaw) -sin(yaw) 0 \   /  cos(pitch) 0 sin(pitch) \   / 1     0          0     \
 R = | sin(yaw)  cos(yaw) 0 | * |      0      1     0      | * | 0 cos(roll) -sin(roll) |
     \    0         0     1 /   \ -sin(pitch) 0 cos(pitch) /   \ 0 sin(roll)  cos(roll) /
 yaw - the angle to rotate about the z-axis.pitch - the angle to rotate about the y-axis.roll - the angle to rotate about the x-axis.public void setRotationEulerAndZeroTranslation(Vector3DReadOnly eulerAngles)
eulerAngles and sets the translation part to zero.
 
     / cos(eulerAngles.z) -sin(eulerAngles.z) 0 \   /  cos(eulerAngles.y) 0 sin(eulerAngles.y) \   / 1         0                   0          \
 R = | sin(eulerAngles.z)  cos(eulerAngles.z) 0 | * |          0          1         0          | * | 0 cos(eulerAngles.x) -sin(eulerAngles.x) |
     \         0                   0          1 /   \ -sin(eulerAngles.y) 0 cos(eulerAngles.y) /   \ 0 sin(eulerAngles.x)  cos(eulerAngles.x) /
 
 
 This is equivalent to
 this.setRotationYawPitchRollAndZeroTranslation(eulerAngles.getZ(), eulerAngles.getY(), eulerAngles.getX()).
 
eulerAngles - the Euler angles to copy the orientation from. Not modified.public void setRotationEulerAndZeroTranslation(double rotX,
                                               double rotY,
                                               double rotZ)
rotX, rotY, and rotZ and sets the translation part to zero.
 
     / cos(rotZ) -sin(rotZ) 0 \   /  cos(rotY) 0 sin(rotY) \   / 1     0          0     \
 R = | sin(rotZ)  cos(rotZ) 0 | * |      0     1     0     | * | 0 cos(rotX) -sin(rotX) |
     \     0          0     1 /   \ -sin(rotY) 0 cos(rotY) /   \ 0 sin(rotX)  cos(rotX) /
 
 
 This is equivalent to
 this.setRotationYawPitchRollAndZeroTranslation(rotZ, rotY, rotX).
 
rotX - the angle to rotate about the x-axis.rotY - the angle to rotate about the y-axis.rotZ - the angle to rotate about the z-axis.public void setTranslationX(double x)
This method does not affect the rotation part of this transform.
x - the x-component of the translation part.public void setTranslationY(double y)
This method does not affect the rotation part of this transform.
y - the y-component of the translation part.public void setTranslationZ(double z)
This method does not affect the rotation part of this transform.
z - the z-component of the translation part.public void setTranslation(double x,
                           double y,
                           double z)
This method does not affect the rotation part of this transform.
x - the x-component of the translation part.y - the y-component of the translation part.z - the z-component of the translation part.public void setTranslation(Tuple3DReadOnly translation)
This method does not affect the rotation part of this transform.
translation - tuple used to set the translation part of this transform. Not modified.public void setTranslationAndIdentityRotation(double x,
                                              double y,
                                              double z)
x - the x-component of the translation part.y - the y-component of the translation part.z - the z-component of the translation part.public void setTranslationAndIdentityRotation(Tuple3DReadOnly translation)
translation - tuple used to set the translation part of this transform. Not modified.public void invert()
public void invertRotation()
public void multiply(RigidBodyTransform other)
other.
 this = this * other
other - the other transform to multiply this with. Not modified.public void multiply(QuaternionBasedTransform quaternionBasedTransform)
quaternionBasedTransform.
 
 this = this * H(quaternionBasedTransform) 
 where H(q) is the function converting a quaternion-based transform into a 4-by-4
 transformation matrix.
 
quaternionBasedTransform - the quaternion-based transform to multiply this with. Not
           modified.public void multiply(AffineTransform affineTransform)
affineTransform.
 Note: the scale part of the given affine transform is not used when performing the multiplication to conserve a proper rigid-body transform describing only a rotation and a translation.
 this = this * S(affineTransform) 
 where S(affineTransform) is the function selecting only the rotation and translation parts of
 the affine transform.
 
affineTransform - the affine transform to multiply this with. Not modified.public void multiplyInvertThis(RigidBodyTransform other)
other.
 this = this-1 * other
other - the other transform to multiply this with. Not modified.public void multiplyInvertOther(RigidBodyTransform other)
other.
 this = this * other-1
other - the other transform to multiply this with. Not modified.public void multiplyInvertThis(QuaternionBasedTransform quaternionBasedTransform)
quaternionBasedTransform.
 
 this = this-1 * H(quaternionBasedTransform) 
 where H(q) is the function converting a quaternion-based transform into a 4-by-4
 transformation matrix.
 
quaternionBasedTransform - the quaternion-based transform to multiply this with. Not
           modified.public void multiplyInvertOther(QuaternionBasedTransform quaternionBasedTransform)
quaternionBasedTransform.
 
 this = this * H(quaternionBasedTransform)-1 
 where H(q) is the function converting a quaternion-based transform into a 4-by-4
 transformation matrix.
 
quaternionBasedTransform - the quaternion-based transform to multiply this with. Not
           modified.public void multiplyInvertThis(AffineTransform affineTransform)
affineTransform.
 Note: the scale part of the given affine transform is not used when performing the multiplication to conserve a proper rigid-body transform describing only a rotation and a translation.
 this = this-1 * S(affineTransform) 
 where S(affineTransform) is the function selecting only the rotation and translation parts of
 the affine transform.
 
affineTransform - the affine transform to multiply this with. Not modified.public void multiplyInvertOther(AffineTransform affineTransform)
affineTransform.
 Note: the scale part of the given affine transform is not used when performing the multiplication to conserve a proper rigid-body transform describing only a rotation and a translation.
 this = this * S(affineTransform)-1 
 where S(affineTransform) is the function selecting only the rotation and translation parts of
 the affine transform.
 
affineTransform - the affine transform to multiply this with. Not modified.public void appendTranslation(Tuple3DReadOnly translation)
               / 1 0 0 translation.x \
 this = this * | 0 1 0 translation.y |
               | 0 0 1 translation.z |
               \ 0 0 0      1        /
 
 This method does not affect the rotation part of this transform.
translation - the translation to append to this transform. Not modified.public void appendTranslation(double x,
                              double y,
                              double z)
               / 1 0 0 x \
 this = this * | 0 1 0 y |
               | 0 0 1 z |
               \ 0 0 0 1 /
 
 This method does not affect the rotation part of this transform.
x - the translation along the x-axis to apply.y - the translation along the y-axis to apply.z - the translation along the z-axis to apply.public void appendYawRotation(double yaw)
         / cos(yaw) -sin(yaw) 0 \
 R = R * | sin(yaw)  cos(yaw) 0 |
         \    0         0     1 /
 
 This method does not affect the translation part of this transform.
yaw - the angle to rotate about the z-axis.public void appendPitchRotation(double pitch)
         /  cos(pitch) 0 sin(pitch) \
 R = R * |      0      1     0      |
         \ -sin(pitch) 0 cos(pitch) /
 
 This method does not affect the translation part of this transform.
pitch - the angle to rotate about the y-axis.public void appendRollRotation(double roll)
         / 1     0          0     \
 R = R * | 0 cos(roll) -sin(roll) |
         \ 0 sin(roll)  cos(roll) /
 
 This method does not affect the translation part of this transform.
roll - the angle to rotate about the x-axis.public void preMultiply(RigidBodyTransform other)
other with this transform.
 this = other * this
other - the other transform to multiply this with. Not modified.public void preMultiply(QuaternionBasedTransform quaternionBasedTransform)
quaternionBasedTransform with this transform.
 
 this = H(quaternionBasedTransform) * this 
 where H(q) is the function converting a quaternion-based transform into a 4-by-4
 transformation matrix.
 
quaternionBasedTransform - the quaternion-based transform to multiply this with. Not
           modified.public void preMultiply(AffineTransform affineTransform)
affineTransform with this transform.
 Note: the scale part of the given affine transform is not used when performing the multiplication to conserve a proper rigid-body transform describing only a rotation and a translation.
 this = S(affineTransform) * this 
 where S(affineTransform) is the function selecting only the rotation and translation parts of
 the affine transform.
 
affineTransform - the affine transform to multiply this with. Not modified.public void preMultiplyInvertThis(RigidBodyTransform other)
other with the inverse of this transform.
 this = other * this-1
other - the other transform to multiply this with. Not modified.public void preMultiplyInvertOther(RigidBodyTransform other)
other with this transform.
 this = other-1 * this
other - the other transform to multiply this with. Not modified.public void preMultiplyInvertThis(QuaternionBasedTransform quaternionBasedTransform)
quaternionBasedTransform with the inverse of this
 transform.
 
 this = H(quaternionBasedTransform) * this-1 
 where H(q) is the function converting a quaternion-based transform into a 4-by-4
 transformation matrix.
 
quaternionBasedTransform - the quaternion-based transform to multiply this with. Not
           modified.public void preMultiplyInvertOther(QuaternionBasedTransform quaternionBasedTransform)
quaternionBasedTransform with this
 transform.
 
 this = H(quaternionBasedTransform)-1 * this 
 where H(q) is the function converting a quaternion-based transform into a 4-by-4
 transformation matrix.
 
quaternionBasedTransform - the quaternion-based transform to multiply this with. Not
           modified.public void preMultiplyInvertThis(AffineTransform affineTransform)
affineTransform with the inverse of this transform.
 Note: the scale part of the given affine transform is not used when performing the multiplication to conserve a proper rigid-body transform describing only a rotation and a translation.
 this = S(affineTransform) * this-1 
 where S(affineTransform) is the function selecting only the rotation and translation parts of
 the affine transform.
 
affineTransform - the affine transform to multiply this with. Not modified.public void preMultiplyInvertOther(AffineTransform affineTransform)
affineTransform with this transform.
 Note: the scale part of the given affine transform is not used when performing the multiplication to conserve a proper rigid-body transform describing only a rotation and a translation.
 this = S(affineTransform)-1 * this 
 where S(affineTransform) is the function selecting only the rotation and translation parts of
 the affine transform.
 
affineTransform - the affine transform to multiply this with. Not modified.public void prependTranslation(Tuple3DReadOnly translation)
        / 1 0 0 translation.x \
 this = | 0 1 0 translation.y | * this
        | 0 0 1 translation.z |
        \ 0 0 0      1        /
 
 This method does not affect the rotation part of this transform.
translation - the translation to prepend to this transform. Not modified.public void prependTranslation(double x,
                               double y,
                               double z)
        / 1 0 0 x \
 this = | 0 1 0 y | * this
        | 0 0 1 z |
        \ 0 0 0 1 /
 
 This method does not affect the rotation part of this transform.
x - the translation along the x-axis to apply.y - the translation along the y-axis to apply.z - the translation along the z-axis to apply.public void prependYawRotation(double yaw)
This method first rotates the translation part and then prepend the yaw-rotation to the rotation part of this transform.
        / cos(yaw) -sin(yaw)  0   0 \
 this = | sin(yaw)  cos(yaw)  0   0 | * this
        |    0         0      1   0 |
        \    0         0      0   1 /
 yaw - the angle to rotate about the z-axis.public void prependPitchRotation(double pitch)
This method first rotates the translation part and then prepend the pitch-rotation to the rotation part of this transform.
        /  cos(pitch) 0 sin(pitch)  0 \
 this = |      0      1     0       0 | * this
        | -sin(pitch) 0 cos(pitch)  0 |
        \      0      0     0       1 /
 pitch - the angle to rotate about the y-axis.public void prependRollRotation(double roll)
This method first rotates the translation part and then prepend the roll-rotation to the rotation part of this transform.
        / 1     0          0     0 \
 this = | 0 cos(roll) -sin(roll) 0 | * this
        | 0 sin(roll)  cos(roll) 0 |
        \ 0     0          0     1 /
 roll - the angle to rotate about the x-axis.public void transform(Point3DReadOnly pointOriginal, Point3DBasics pointTransformed)
pointOriginal by this transform and stores the result in
 pointTransformed.
 Note: transforming a point differs from transforming a vector in the way that the point can be translated, whereas the vector can be only rotated and scaled.
The transformation depends on the implementation of the transform, here are a few examples:
RigidBodyTransform rotates then translates a point.
 QuaternionBasedTransform rotates then translates a point.
 AffineTransform scales, rotates, then translates a point.
 public void transform(Vector3DReadOnly vectorOriginal, Vector3DBasics vectorTransformed)
vectorOriginal by this transform and stores the result in
 vectorTransformed.
 Note: transforming a point differs from transforming a vector in the way that the point can be translated, whereas the vector only rotated and scaled.
The transformation depends on the implementation of the transform, here are a few examples:
RigidBodyTransform rotates a vector.
 QuaternionBasedTransform rotates a vector.
 AffineTransform scales then rotates a vector.
 public void transform(QuaternionReadOnly quaternionOriginal, QuaternionBasics quaternionTransformed)
quaternionOriginal by this transform and stores the result in
 quaternionTransformed.
 
 RigidBodyTransform, QuaternionBasedTransform, and AffineTransform
 prepend their rotation part the given quaternion. No scale or translation is applied to the
 quaternion such that the output of this method is still a unit-quaternion.
 
public void transform(Vector4DReadOnly vectorOriginal, Vector4DBasics vectorTransformed)
vector4DOriginal as a 3D vector and
 translates it by s times the translation part of the transform. The scalar part (s)
 remains unchanged.
 
 Note that for s = 0, a 4D vector behaves as a 3D vector, and for s = 1 it
 behaves as a 3D point.
 
RigidBodyTransform rotates then translates a vector.
 QuaternionBasedTransform rotates then translates a vector.
 AffineTransform scales, rotates, then translates a vector.
 public void transform(Point2DReadOnly point2DOriginal, Point2DBasics point2DTransformed, boolean checkIfTransformInXYPlane)
point2DOriginal by this transform and stores the result in
 point2DTransformed.
 Note: transforming a point differs from transforming a vector in the way that the point can be translated, whereas the vector can be only rotated and scaled.
The transformation depends on the implementation of the transform, here are a few examples:
RigidBodyTransform rotates then translates a point.
 QuaternionBasedTransform rotates then translates a point.
 AffineTransform scales, rotates, then translates a point.
 transform in interface Transformpoint2DOriginal - the point to transform. Not modified.point2DTransformed - the point in which the result is stored. Modified.checkIfTransformInXYPlane - whether this method should assert that the rotation part of
           this transform represents a transformation in the XY plane.public void transform(Vector2DReadOnly vector2DOriginal, Vector2DBasics vector2DTransformed, boolean checkIfTransformInXYPlane)
vector2DOriginal by this transform and stores the result in
 vector2DTransformed.
 Note: transforming a point differs from transforming a vector in the way that the point can be translated, whereas the vector can be only rotated and scaled.
The transformation depends on the implementation of the transform, here are a few examples:
RigidBodyTransform rotates then translates a point.
 QuaternionBasedTransform rotates then translates a point.
 AffineTransform scales, rotates, then translates a point.
 transform in interface Transformvector2DOriginal - the vector to transform. Not modified.vector2DTransformed - the vector in which the result is stored. Modified.checkIfTransformInXYPlane - whether this method should assert that the rotation part of
           this transform represents a transformation in the XY plane.public void transform(RotationMatrixReadOnly matrixOriginal, RotationMatrix matrixTransformed)
matrixOriginal by this transform and stores the result in
 matrixTransformed.
 
 RigidBodyTransform, QuaternionBasedTransform, and AffineTransform
 prepend their rotation part the given rotation matrix. No scale or translation is applied to
 the rotation matrix such that the output of this method is still a proper rotation matrix.
 
public void transform(Matrix3DReadOnly matrixOriginal, Matrix3D matrixTransformed)
matrixOriginal by this transform and stores the result in
 matrixTransformed.
 WARNING: This is different from concatenating orientations.
The transformation depends on the implementation of the transform, here are a few examples:
RigidBodyTransform rotates a matrix.
 QuaternionBasedTransform rotates a matrix.
 AffineTransform scales then rotates a matrix.
 public void transform(RigidBodyTransform original, RigidBodyTransform transformed)
original by this transform and stores the result in
 transformed.
 The given transform is only rotated and translated, no scaling is applied.
public void transform(QuaternionBasedTransform original, QuaternionBasedTransform transformed)
original by this transform and stores the result in
 transformed.
 The given transform is only rotated and translated, no scaling is applied.
public void transform(AffineTransform original, AffineTransform transformed)
original by this transform and stores the result in
 transformed.
 The given transform is only rotated and translated, no scaling is applied.
public void inverseTransform(Point3DReadOnly pointOriginal, Point3DBasics pointTransformed)
pointOriginal and stores the
 result in pointTransformed.
 
 This is equivalent to calling Transform.transform(Point3DReadOnly, Point3DBasics) with the
 inverse of this transform.
 
inverseTransform in interface TransformpointOriginal - the point to transform. Not modified.pointTransformed - the point in which the result is stored. Modified.public void inverseTransform(Vector3DReadOnly vectorOriginal, Vector3DBasics vectorTransformed)
vectorOriginal and stores
 the result in vectorTransformed.
 
 This is equivalent to calling Transform.transform(Vector3DReadOnly, Vector3DBasics) with the
 inverse of this transform.
 
inverseTransform in interface TransformvectorOriginal - the vector to transform. Not modified.vectorTransformed - the vector in which the result is stored. Modified.public void inverseTransform(QuaternionReadOnly quaternionOriginal, QuaternionBasics quaternionTransformed)
quaternionOriginal and
 stores the result in quaternionTransformed.
 
 This is equivalent to calling Transform.transform(QuaternionReadOnly, QuaternionBasics) with
 the inverse of this transform.
 
inverseTransform in interface TransformquaternionOriginal - the quaternion to transform. Not modified.quaternionTransformed - the quaternion in which the result is stored. Modified.public void inverseTransform(Vector4DReadOnly vectorOriginal, Vector4DBasics vectorTransformed)
vectorOriginal and stores
 the result in vectorTransformed.
 
 This is equivalent to calling Transform.transform(Vector4DReadOnly, Vector4DBasics) with the
 inverse of this transform.
 
inverseTransform in interface TransformvectorOriginal - the 4D vector to transform. Not modified.vectorTransformed - the 4D vector in which the result is stored. Modified.public void inverseTransform(Point2DReadOnly pointOriginal, Point2DBasics pointTransformed, boolean checkIfTransformInXYPlane)
pointOriginal and stores the
 result in pointTransformed.
 
 This is equivalent to calling Transform.transform(Point2DReadOnly, Point2DBasics, boolean) with
 the inverse of this transform.
 
inverseTransform in interface TransformpointOriginal - the point to transform. Not modified.pointTransformed - the point in which the result is stored. Modified.checkIfTransformInXYPlane - whether this method should assert that the rotation part of
           this transform represents a transformation in the XY plane.public void inverseTransform(Vector2DReadOnly vectorOriginal, Vector2DBasics vectorTransformed, boolean checkIfTransformInXYPlane)
vectorOriginal and stores
 the result in vectorTransformed.
 
 This is equivalent to calling Transform.transform(Vector2DReadOnly, Vector2DBasics, boolean)
 with the inverse of this transform.
 
inverseTransform in interface TransformvectorOriginal - the vector to transform. Not modified.vectorTransformed - the vector in which the result is stored. Modified.checkIfTransformInXYPlane - whether this method should assert that the rotation part of
           this transform represents a transformation in the XY plane.public void inverseTransform(RotationMatrixReadOnly matrixOriginal, RotationMatrix matrixTransformed)
matrixOriginal and stores
 the result in matrixTransformed.
 
 This is equivalent to calling Transform.transform(RotationMatrixReadOnly, RotationMatrix) with
 the inverse of this transform.
 
inverseTransform in interface TransformmatrixOriginal - the rotation matrix to transform. Not modified.matrixTransformed - the rotation matrix in which the result is stored. Modified.public void inverseTransform(Matrix3DReadOnly matrixOriginal, Matrix3D matrixTransformed)
matrixOriginal and stores
 the result in matrixTransformed.
 
 This is equivalent to calling Transform.transform(Matrix3DReadOnly, Matrix3D) with the inverse
 of this transform.
 
inverseTransform in interface TransformmatrixOriginal - the matrix to transform. Not modified.matrixTransformed - the matrix in which the result in stored. Modified.public void inverseTransform(RigidBodyTransform original, RigidBodyTransform transformed)
original and stores the result in
 transformed.
 
 This is equivalent to calling Transform.transform(RigidBodyTransform, RigidBodyTransform) with
 the inverse of this transform.
 
The given transform is only rotated and translated, no scaling is applied.
inverseTransform in interface Transformoriginal - the rigid-body transform to transform. Not modified.transformed - the rigid-body transform in which the result is stored. Modified.public void inverseTransform(QuaternionBasedTransform original, QuaternionBasedTransform transformed)
original stores the result in
 transformed.
 
 This is equivalent to calling
 Transform.transform(QuaternionBasedTransform, QuaternionBasedTransform) with the inverse of
 this transform.
 
The given transform is only rotated and translated, no scaling is applied.
inverseTransform in interface Transformoriginal - the quaternion based transform to transform. Not modified.transformed - the quaternion based transform in which the result is stored. Modified.public void inverseTransform(AffineTransform original, AffineTransform transformed)
original and stores the result in
 transformed.
 
 This is equivalent to calling Transform.transform(AffineTransform, AffineTransform) with the
 inverse of this transform.
 
The given transform is only rotated and translated, no scaling is applied.
inverseTransform in interface Transformoriginal - the affine transform to transform. Not modified.transformed - the affine transform in which the result is stored. Modified.public void get(org.ejml.data.DenseMatrix64F matrixToPack)
     / R(0, 0) R(0, 1) R(0, 2) Tx \
 H = | R(1, 0) R(1, 1) R(1, 2) Ty |
     | R(2, 0) R(2, 1) R(2, 2) Tz |
     \    0       0       0     1 /
 
 where R is the 3-by-3 rotation matrix and (Tx, Ty, Tz) is the translation part of this
 transform.matrixToPack - the matrix in which this transform is stored. Modified.public void get(int startRow,
                int startColumn,
                org.ejml.data.DenseMatrix64F matrixToPack)
     / R(0, 0) R(0, 1) R(0, 2) Tx \
 H = | R(1, 0) R(1, 1) R(1, 2) Ty |
     | R(2, 0) R(2, 1) R(2, 2) Tz |
     \    0       0       0     1 /
 
 where R is the 3-by-3 rotation matrix and (Tx, Ty, Tz) is the translation part of this
 transform.startRow - the first row index to start writing in matrixToPack.startColumn - the first column index to start writing in matrixToPack.matrixToPack - the matrix in which this transform is stored. Modified.public void get(double[] transformArrayToPack)
     / R(0, 0) R(0, 1) R(0, 2) Tx \
 H = | R(1, 0) R(1, 1) R(1, 2) Ty |
     | R(2, 0) R(2, 1) R(2, 2) Tz |
     \    0       0       0     1 /
 
 where R is the 3-by-3 rotation matrix and (Tx, Ty, Tz) is the translation part of this
 transform.transformArrayToPack - the array in which this transform is stored. Modified.public void get(float[] transformArrayToPack)
     / R(0, 0) R(0, 1) R(0, 2) Tx \
 H = | R(1, 0) R(1, 1) R(1, 2) Ty |
     | R(2, 0) R(2, 1) R(2, 2) Tz |
     \    0       0       0     1 /
 
 where R is the 3-by-3 rotation matrix and (Tx, Ty, Tz) is the translation part of this
 transform.transformArrayToPack - the array in which this transform is stored. Modified.public void get(Orientation3DBasics orientationToPack, Tuple3DBasics translationToPack)
orientationToPack - the orientation to set to the rotation of this transform. Modified.translationToPack - the tuple to set to the translation of this transform. Modified.public void get(Vector3DBasics rotationVectorToPack, Tuple3DBasics translationToPack)
WARNING: a rotation vector is different from a yaw-pitch-roll or Euler angles representation. A rotation vector is equivalent to the axis of an axis-angle that is multiplied by the angle of the same axis-angle.
rotationVectorToPack - the rotation vector to set to the rotation of this transform.
           Modified.translationToPack - the tuple to set to the translation of this transform. Modified.public void get(Matrix3DBasics rotationMarixToPack, Tuple3DBasics translationToPack)
rotationMarixToPack - the matrix to set to the rotation of this transform. Modified.translationToPack - the tuple to set to the translation of this transform. Modified.public void get(RotationMatrix rotationMarixToPack, Tuple3DBasics translationToPack)
rotationMarixToPack - the matrix to set to the rotation of this transform. Modified.translationToPack - the tuple to set to the translation of this transform. Modified.public void get(RotationScaleMatrix rotationMarixToPack, Tuple3DBasics translationToPack)
rotationMarixToPack - the matrix to set to the rotation of this transform. The scale part
           is reset. Modified.translationToPack - the tuple to set to the translation of this transform. Modified.public RotationMatrixReadOnly getRotationMatrix()
public void getRotation(Matrix3DBasics rotationMatrixToPack)
rotationMatrixToPack - the matrix in which the rotation part of this transform is stored.
           Modified.public void getRotation(RotationMatrix rotationMatrixToPack)
rotationMatrixToPack - the matrix in which the rotation part of this transform is stored.
           Modified.public void getRotation(RotationScaleMatrix rotationMatrixToPack)
rotationMatrixToPack - the rotation-scale matrix that is set to this transform's rotation.
           The scale part is reset. Modified.public void getRotation(org.ejml.data.DenseMatrix64F rotationMatrixToPack)
rotationMatrixToPack - the matrix in which the rotation part of this transform is stored.
           Modified.public void getRotation(double[] rotationMatrixArrayToPack)
rotationMatrixArrayToPack - the array in which the rotation part of this transform is
           stored. Modified.public void getRotation(Orientation3DBasics orientationToPack)
orientationToPack - the orientation that is set to the rotation part of this transform.
           Modified.public void getRotation(Vector3DBasics rotationVectorToPack)
WARNING: a rotation vector is different from a yaw-pitch-roll or Euler angles representation. A rotation vector is equivalent to the axis of an axis-angle that is multiplied by the angle of the same axis-angle.
rotationVectorToPack - the rotation vector that is set to the rotation part of this
           transform. Modified.public void getRotationYawPitchRoll(double[] yawPitchRollToPack)
WARNING: the Euler angles or yaw-pitch-roll representation is sensitive to gimbal lock and is sometimes undefined.
yawPitchRollToPack - the array in which the yaw-pitch-roll angles are stored. Modified.public void getRotationEuler(Vector3DBasics eulerAnglesToPack)
WARNING: the Euler angles or yaw-pitch-roll representation is sensitive to gimbal lock and is sometimes undefined.
eulerAnglesToPack - the tuple in which the Euler angles are stored. Modified.public Vector3DReadOnly getTranslationVector()
public void getTranslation(Tuple3DBasics translationToPack)
translationToPack - the tuple in which the translation part of this transform is stored.
           Modified.public double getTranslationX()
public double getTranslationY()
public double getTranslationZ()
public double getElement(int row,
                         int column)
row - the row of the coefficient to return.column - the column of the coefficient to return.java.lang.ArrayIndexOutOfBoundsException - if either row ∉ [0, 3] or column
            ∉ [0, 3].public double getM00()
public double getM01()
public double getM02()
public double getM03()
public double getM10()
public double getM11()
public double getM12()
public double getM13()
public double getM20()
public double getM21()
public double getM22()
public double getM23()
public double getM30()
 Note: m30 = 0.0.
 
public double getM31()
 Note: m31 = 0.0.
 
public double getM32()
 Note: m32 = 0.0.
 
public double getM33()
 Note: m33 = 1.0.
 
public boolean epsilonEquals(RigidBodyTransform other, double epsilon)
other are equal to an epsilon.epsilonEquals in interface EpsilonComparable<RigidBodyTransform>other - the other rigid-body transform to compare against this. Not modified.epsilon - tolerance to use when comparing each component.true if the two objects are equal component-wise, false otherwise.public boolean equals(java.lang.Object object)
object's class is the same as this, in which case the method
 returns equals(RigidBodyTransform), it returns false otherwise or if the
 object is null.equals in class java.lang.Objectobject - the object to compare against this. Not modified.true if object and this are exactly equal, false otherwise.public boolean equals(RigidBodyTransform other)
other are exactly equal.
 
 The method returns false if the given transform is null.
 
other - the other transform to compare against this. Not modified.true if the two transforms are exactly equal, false otherwise.public boolean geometricallyEquals(RigidBodyTransform other, double epsilon)
geometricallyEquals in interface GeometricallyComparable<RigidBodyTransform>other - the other rigid body transform to compare against this. Not modified.epsilon - the tolerance to use when comparing each component.true if the two rigid body transforms are equal, false otherwise.public java.lang.String toString()
String representation of this transform as follows: toString in class java.lang.ObjectString representing this transform.public int hashCode()
hashCode in class java.lang.Object