Class 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 set
      InertiaMatrixf​(float i, float j)
      constructor - where only the diagonal is set
      InertiaMatrixf​(float i, float j, float k)
      constructor - where only the diagonal is set
      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

      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]

    • 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

      • 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}}
      • 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 class java.lang.Object
      • get

        public float get​(long row,
                         long column)
      • set

        public void set​(long row,
                        long column,
                        float d)