Package georegression.struct.se
Class Se3_F32
java.lang.Object
georegression.struct.se.Se3_F32
- All Implemented Interfaces:
InvertibleTransform<Se3_F32>
,SpecialEuclidean<Se3_F32>
,Serializable
@Generated("georegression.struct.se.Se3_F64")
public class Se3_F32
extends Object
implements SpecialEuclidean<Se3_F32>
A coordinate system transform composed of a rotation and translation. This transform is
a rigid body transform and is a member of the special euclidean group.
- See Also:
-
Field Summary
Modifier and TypeFieldDescriptionorg.ejml.data.FMatrixRMaj
static final long
-
Constructor Summary
ConstructorDescriptionSe3_F32()
Creates a new transform that does nothing.Se3_F32
(org.ejml.data.FMatrixRMaj R, Vector3D_F32 T) Initializes the transform with the provided rotation and translation.Se3_F32
(org.ejml.data.FMatrixRMaj R, Vector3D_F32 T, boolean assign) Initializes the Se3_F32 with the rotation matrix and translation vector. -
Method Summary
Modifier and TypeMethodDescriptionComputes a transform which is the equivalent to applying 'this' then the 'second' transform.concatInvert
(Se3_F32 second, @Nullable Se3_F32 result) Implicitly inverts this transform before concating it to the second transform.copy()
Creates a new instance of the same SpecialEuclidean as this class.int
Returns the dimension of the space which this transform operates on.org.ejml.data.FMatrixRMaj
getR()
org.ejml.data.FMatrixRMaj
Returns the rotation matrixgetT()
Returns the translation vectorfloat
getX()
float
getY()
float
getZ()
Computes a transform which is the inverse of this transform.invertConcat
(Se3_F32 second, @Nullable Se3_F32 result) Implicitly inverts this transform before concating it to the second transform.void
print()
void
print
(RotationType type) void
reset()
Sets the transform to its initial state of no transform.void
setRotation
(org.ejml.data.FMatrixRMaj R) Sets the rotation to R.Assigns the value of this transform using Euler anglessetTo
(float x, float y, float z, RotationType type, float A, float B, float C, float D) Assigns the value of this transform using Rodrigues (axis angle) or Quaternions.Set's 'this' Se3_F32 to be identical to the provided transform.void
setTranslation
(float x, float y, float z) Sets the translation to (x,y,z)void
Sets the translation to TtoString()
toString
(RotationType type) More compact toString() where the rotation matrix is encoded in one of the specified formats.transform
(Point3D_F32 src, @Nullable Point3D_F32 dst) Applies the transform to the src point and stores the result in dst.transform
(Point4D_F32 src, @Nullable Point4D_F32 dst) Applies the transform to the src point and stores the result in dst.transform
(Vector3D_F32 src, @Nullable Vector3D_F32 dst) Applies the rotation to the src vector and stores the result in dst.transformReverse
(Point3D_F32 src, @Nullable Point3D_F32 dst) Applies the reverse transform to the src point and stores the result in dst.transformReverse
(Point4D_F32 src, @Nullable Point4D_F32 dst) transformReverse
(Vector3D_F32 src, @Nullable Vector3D_F32 dst) Applies the reverse rotation to the src vector and stores the result in dst.void
zero()
Sets the rotation and translation to all zeros
-
Field Details
-
serialVersionUID
public static final long serialVersionUID- See Also:
-
R
public org.ejml.data.FMatrixRMaj R -
T
-
-
Constructor Details
-
Se3_F32
public Se3_F32()Creates a new transform that does nothing. -
Se3_F32
Initializes the transform with the provided rotation and translation.- Parameters:
R
- Rotation matrix.T
- Translation.
-
Se3_F32
Initializes the Se3_F32 with the rotation matrix and translation vector. If assign is true the reference to the provided parameters is saved, otherwise a copy is made.- Parameters:
R
- Rotation matrix.T
- Translation.assign
- If a reference is saved (true) or a copy made (false).
-
-
Method Details
-
setTo
Set's 'this' Se3_F32 to be identical to the provided transform.- Specified by:
setTo
in interfaceInvertibleTransform<Se3_F32>
- Parameters:
se
- The transform that is being copied.- Returns:
- A reference to 'this' to enable chaining
-
zero
public void zero()Sets the rotation and translation to all zeros -
setRotation
public void setRotation(org.ejml.data.FMatrixRMaj R) Sets the rotation to R.- Parameters:
R
- New rotation.
-
setTranslation
Sets the translation to T- Parameters:
T
- New translation
-
setTranslation
public void setTranslation(float x, float y, float z) Sets the translation to (x,y,z)- Parameters:
x
- x component of translationy
- y component of translationz
- z component of translation
-
getRotation
public org.ejml.data.FMatrixRMaj getRotation()Returns the rotation matrix- Returns:
- rotation matrix
-
getTranslation
Returns the translation vector- Returns:
- translation vector
-
getR
public org.ejml.data.FMatrixRMaj getR() -
getT
-
getX
public float getX() -
getY
public float getY() -
getZ
public float getZ() -
getDimension
public int getDimension()Description copied from interface:InvertibleTransform
Returns the dimension of the space which this transform operates on.- Specified by:
getDimension
in interfaceInvertibleTransform<Se3_F32>
- Returns:
- space's dimension
-
createInstance
Description copied from interface:InvertibleTransform
Creates a new instance of the same SpecialEuclidean as this class.- Specified by:
createInstance
in interfaceInvertibleTransform<Se3_F32>
- Returns:
- A new instance.
-
concat
Description copied from interface:InvertibleTransform
Computes a transform which is the equivalent to applying 'this' then the 'second' transform.
For example:
Point A = tran2( tran1( A ) );
Point A = tran12( A );
where tran12 = tran1.concat( tran2 , null );NOTE: 'second', 'result', and 'this' must all be unique instances.
- Specified by:
concat
in interfaceInvertibleTransform<Se3_F32>
- Parameters:
second
- The second transform which is applied. Not modified.result
- A transform which is equivalent to applying the first then the second. If null then a new instance is declared. Modified.- Returns:
- The equivalent transform.
-
invertConcat
Implicitly inverts this transform before concating it to the second transform. Equivalent to invert(null).concat(second, null);- Specified by:
invertConcat
in interfaceInvertibleTransform<Se3_F32>
- Parameters:
second
- The second transform which is applied. Not modified.result
- (Output) storage for rsulting transform. Can be null- Returns:
- The computed transform. If result isn't null then result is returned.
-
concatInvert
Implicitly inverts this transform before concating it to the second transform. Equivalent to invert(null).concat(second, null);- Specified by:
concatInvert
in interfaceInvertibleTransform<Se3_F32>
- Parameters:
second
- The second transform which is applied. Not modified.result
- (Output) storage for rsulting transform. Can be null- Returns:
- The computed transform. If result isn't null then result is returned.
-
invert
Description copied from interface:InvertibleTransform
Computes a transform which is the inverse of this transform. The 'this' matrix can be passed in as an input.
Example:
Point A = tran(B);
Point B = inv(A);
where inv = invert( tran );- Specified by:
invert
in interfaceInvertibleTransform<Se3_F32>
- Parameters:
inverse
- Where the inverse will be stored. If null a new instance is created. Modified.- Returns:
- The inverse transform.
-
reset
public void reset()Description copied from interface:InvertibleTransform
Sets the transform to its initial state of no transform.- Specified by:
reset
in interfaceInvertibleTransform<Se3_F32>
-
setTo
Assigns the value of this transform using Euler angles- Returns:
- Reference to 'this'
-
setTo
public Se3_F32 setTo(float x, float y, float z, RotationType type, float A, float B, float C, float D) Assigns the value of this transform using Rodrigues (axis angle) or Quaternions. If Rodrigues then A=axisX, B=axisY, C=axisZ, D=theta. If Quaternion then A=w, B=x, C=y, D=z.- Returns:
- Reference to 'this'
-
transform
Applies the transform to the src point and stores the result in dst. src and dst can be the same instance- Parameters:
src
- Inputdst
- Output- Returns:
- Output
- See Also:
-
transformReverse
Applies the reverse transform to the src point and stores the result in dst. src and dst can be the same instance- Parameters:
src
- Inputdst
- Output- Returns:
- Output
- See Also:
-
transform
Applies the rotation to the src vector and stores the result in dst. src and dst can be the same instance- Parameters:
src
- Inputdst
- Output- See Also:
-
transformReverse
Applies the reverse rotation to the src vector and stores the result in dst. src and dst can be the same instance- Parameters:
src
- Inputdst
- Output- See Also:
-
transform
Applies the transform to the src point and stores the result in dst. src and dst can be the same instance. For points in 3D homogenous coordinates.- Parameters:
src
- Input. Homogenous coordinatedst
- Output. Homogenous coordinate- Returns:
- Output. Homogenous coordinate
- See Also:
-
transformReverse
-
copy
-
toString
-
toString
More compact toString() where the rotation matrix is encoded in one of the specified formats. -
print
public void print() -
print
-