Package org.robwork.sdurw
Class InertiaMatrixf
- java.lang.Object
-
- org.robwork.sdurw.InertiaMatrixf
-
public class InertiaMatrixf extends java.lang.Object
A 3x3 inertia matrix
-
-
Constructor Summary
Constructors Constructor Description InertiaMatrixf()
constructor - where only the diagonal is set
InertiaMatrixf(float i)
constructor - where only the diagonal is setInertiaMatrixf(float i, float j)
constructor - where only the diagonal is setInertiaMatrixf(float i, float j, float k)
constructor - where only the diagonal is setInertiaMatrixf(float r11, float r12, float r13, float r21, float r22, float r23, float r31, float r32, float r33)
Constructs an initialized 3x3 rotation matrix
InertiaMatrixf(long cPtr, boolean cMemoryOwn)
InertiaMatrixf(EigenMatrix3f r)
Construct an internal matrix from a Eigen::MatrixBase
It is the responsibility of the user that 3x3 matrix is indeed an
inertia matrix.InertiaMatrixf(Vector3Df i, Vector3Df j, Vector3Df k)
Constructs an initialized 3x3 rotation matrix
\robabx{a}{b}{\mathbf{R}} = \left[ \begin{array}{ccc} \robabx{a}{b}{\mathbf{i}} \robabx{a}{b}{\mathbf{j}} \robabx{a}{b}{\mathbf{k}} \end{array} \right]
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description InertiaMatrixf
add(InertiaMatrixf I2)
Calculates the addition between the two InertiaMatricesvoid
delete()
EigenMatrix3f
e()
Returns reference to the internal 3x3 matrixfloat
get(long row, long column)
static long
getCPtr(InertiaMatrixf obj)
static InertiaMatrixf
makeCuboidInertia(float mass, float x, float y, float z)
calculates the inertia of a cuboid where the reference frame is in the
center of the cuboid withstatic InertiaMatrixf
makeHollowSphereInertia(float mass, float radi)
Make inertia matrix for a hollow sphere.static InertiaMatrixf
makeSolidSphereInertia(float mass, float radi)
Make inertia matrix for a solid sphere.InertiaMatrixf
multiply(Rotation3Df bRc)
Calculates \robabx{a}{c}{\mathbf{R}} = \robabx{a}{b}{\mathbf{R}} \robabx{b}{c}{\mathbf{R}}
Vector3Df
multiply(Vector3Df bVc)
Calculates \robabx{a}{c}{\mathbf{v}} = \robabx{a}{b}{\mathbf{R}} \robabx{b}{c}{\mathbf{v}}void
set(long row, long column, float d)
java.lang.String
toString()
-
-
-
Constructor Detail
-
InertiaMatrixf
public InertiaMatrixf(long cPtr, boolean cMemoryOwn)
-
InertiaMatrixf
public InertiaMatrixf(float r11, float r12, float r13, float r21, float r22, float r23, float r31, float r32, float r33)
Constructs an initialized 3x3 rotation matrix
- Parameters:
r11
- r_{11}r12
- r_{12}r13
- r_{13}r21
- r_{21}r22
- r_{22}r23
- r_{23}r31
- r_{31}r32
- r_{32}r33
- r_{33}
\mathbf{R} = \left[ \begin{array}{ccc} r_{11} r_{12} r_{13} \\ r_{21} r_{22} r_{23} \\ r_{31} r_{32} r_{33} \end{array} \right]
-
InertiaMatrixf
public InertiaMatrixf(Vector3Df i, Vector3Df j, Vector3Df k)
Constructs an initialized 3x3 rotation matrix
\robabx{a}{b}{\mathbf{R}} = \left[ \begin{array}{ccc} \robabx{a}{b}{\mathbf{i}} \robabx{a}{b}{\mathbf{j}} \robabx{a}{b}{\mathbf{k}} \end{array} \right]
- Parameters:
i
- \robabx{a}{b}{\mathbf{i}}j
- \robabx{a}{b}{\mathbf{j}}k
- \robabx{a}{b}{\mathbf{k}}
-
InertiaMatrixf
public InertiaMatrixf(float i, float j, float k)
constructor - where only the diagonal is set- Parameters:
i
- [in] m(0,0)j
- [in] m(1,1)k
- [in] m(2,2)
-
InertiaMatrixf
public InertiaMatrixf(float i, float j)
constructor - where only the diagonal is set- Parameters:
i
- [in] m(0,0)j
- [in] m(1,1)
-
InertiaMatrixf
public InertiaMatrixf(float i)
constructor - where only the diagonal is set- Parameters:
i
- [in] m(0,0)
-
InertiaMatrixf
public InertiaMatrixf()
constructor - where only the diagonal is set
-
InertiaMatrixf
public InertiaMatrixf(EigenMatrix3f r)
Construct an internal matrix from a Eigen::MatrixBase
It is the responsibility of the user that 3x3 matrix is indeed an
inertia matrix.
-
-
Method Detail
-
getCPtr
public static long getCPtr(InertiaMatrixf obj)
-
delete
public void delete()
-
e
public EigenMatrix3f e()
Returns reference to the internal 3x3 matrix
-
multiply
public InertiaMatrixf multiply(Rotation3Df bRc)
Calculates \robabx{a}{c}{\mathbf{R}} = \robabx{a}{b}{\mathbf{R}} \robabx{b}{c}{\mathbf{R}}
- Parameters:
bRc
- [in] \robabx{b}{c}{\mathbf{R}}
- Returns:
- \robabx{a}{c}{\mathbf{R}}
-
add
public InertiaMatrixf add(InertiaMatrixf I2)
Calculates the addition between the two InertiaMatrices
-
multiply
public Vector3Df multiply(Vector3Df bVc)
Calculates \robabx{a}{c}{\mathbf{v}} = \robabx{a}{b}{\mathbf{R}} \robabx{b}{c}{\mathbf{v}}- Parameters:
bVc
- [in] \robabx{b}{c}{\mathbf{v}}- Returns:
- \robabx{a}{c}{\mathbf{v}}
-
makeSolidSphereInertia
public static InertiaMatrixf makeSolidSphereInertia(float mass, float radi)
Make inertia matrix for a solid sphere.- Parameters:
mass
- [in] mass of solid sphere.radi
- [in] radius of sphere.- Returns:
- the inertia matrix.
-
makeHollowSphereInertia
public static InertiaMatrixf makeHollowSphereInertia(float mass, float radi)
Make inertia matrix for a hollow sphere.- Parameters:
mass
- [in] mass of hollow sphere.radi
- [in] radius of sphere.- Returns:
- the inertia matrix.
-
makeCuboidInertia
public static InertiaMatrixf makeCuboidInertia(float mass, float x, float y, float z)
calculates the inertia of a cuboid where the reference frame is in the
center of the cuboid with- Parameters:
mass
-x
-y
-z
-- Returns:
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
get
public float get(long row, long column)
-
set
public void set(long row, long column, float d)
-
-