Package org.robwork.sdurw
Class InertiaMatrixd
- java.lang.Object
-
- org.robwork.sdurw.InertiaMatrixd
-
public class InertiaMatrixd extends java.lang.Object
A 3x3 inertia matrix
-
-
Constructor Summary
Constructors Constructor Description InertiaMatrixd()
constructor - where only the diagonal is set
InertiaMatrixd(double i)
constructor - where only the diagonal is setInertiaMatrixd(double i, double j)
constructor - where only the diagonal is setInertiaMatrixd(double i, double j, double k)
constructor - where only the diagonal is setInertiaMatrixd(double r11, double r12, double r13, double r21, double r22, double r23, double r31, double r32, double r33)
Constructs an initialized 3x3 rotation matrix
InertiaMatrixd(long cPtr, boolean cMemoryOwn)
InertiaMatrixd(EigenMatrix3d r)
Construct an internal matrix from a Eigen::MatrixBase
It is the responsibility of the user that 3x3 matrix is indeed an
inertia matrix.InertiaMatrixd(Vector3Dd i, Vector3Dd j, Vector3Dd 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 InertiaMatrixd
add(InertiaMatrixd I2)
Calculates the addition between the two InertiaMatricesvoid
delete()
EigenMatrix3d
e()
Returns reference to the internal 3x3 matrixdouble
get(long row, long column)
static long
getCPtr(InertiaMatrixd obj)
static InertiaMatrixd
makeCuboidInertia(double mass, double x, double y, double z)
calculates the inertia of a cuboid where the reference frame is in the
center of the cuboid withstatic InertiaMatrixd
makeHollowSphereInertia(double mass, double radi)
Make inertia matrix for a hollow sphere.static InertiaMatrixd
makeSolidSphereInertia(double mass, double radi)
Make inertia matrix for a solid sphere.InertiaMatrixd
multiply(Rotation3Dd bRc)
Calculates \robabx{a}{c}{\mathbf{R}} = \robabx{a}{b}{\mathbf{R}} \robabx{b}{c}{\mathbf{R}}
Vector3Dd
multiply(Vector3Dd bVc)
Calculates \robabx{a}{c}{\mathbf{v}} = \robabx{a}{b}{\mathbf{R}} \robabx{b}{c}{\mathbf{v}}void
set(long row, long column, double d)
java.lang.String
toString()
-
-
-
Constructor Detail
-
InertiaMatrixd
public InertiaMatrixd(long cPtr, boolean cMemoryOwn)
-
InertiaMatrixd
public InertiaMatrixd(double r11, double r12, double r13, double r21, double r22, double r23, double r31, double r32, double 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]
-
InertiaMatrixd
public InertiaMatrixd(Vector3Dd i, Vector3Dd j, Vector3Dd 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}}
-
InertiaMatrixd
public InertiaMatrixd(double i, double j, double k)
constructor - where only the diagonal is set- Parameters:
i
- [in] m(0,0)j
- [in] m(1,1)k
- [in] m(2,2)
-
InertiaMatrixd
public InertiaMatrixd(double i, double j)
constructor - where only the diagonal is set- Parameters:
i
- [in] m(0,0)j
- [in] m(1,1)
-
InertiaMatrixd
public InertiaMatrixd(double i)
constructor - where only the diagonal is set- Parameters:
i
- [in] m(0,0)
-
InertiaMatrixd
public InertiaMatrixd()
constructor - where only the diagonal is set
-
InertiaMatrixd
public InertiaMatrixd(EigenMatrix3d 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(InertiaMatrixd obj)
-
delete
public void delete()
-
e
public EigenMatrix3d e()
Returns reference to the internal 3x3 matrix
-
multiply
public InertiaMatrixd multiply(Rotation3Dd 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 InertiaMatrixd add(InertiaMatrixd I2)
Calculates the addition between the two InertiaMatrices
-
multiply
public Vector3Dd multiply(Vector3Dd 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 InertiaMatrixd makeSolidSphereInertia(double mass, double 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 InertiaMatrixd makeHollowSphereInertia(double mass, double 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 InertiaMatrixd makeCuboidInertia(double mass, double x, double y, double 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 double get(long row, long column)
-
set
public void set(long row, long column, double d)
-
-