Class SbMatrix3

java.lang.Object
com.openinventor.inventor.SbBasic
com.openinventor.inventor.SbMatrix3

public class SbMatrix3 extends SbBasic
3x3 matrix class. 3x3 matrix class/datatype.

See SbMatrix for discussion of storage layout and usage of matrices.

See Also:
  • Field Details

    • array

      public final float[] array
  • Constructor Details

    • SbMatrix3

      public SbMatrix3(float[] components)
    • SbMatrix3

      public SbMatrix3(float c0, float c1, float c2, float c3, float c4, float c5, float c6, float c7, float c8)
    • SbMatrix3

      public SbMatrix3(SbMatrix3 copyFrom)
    • SbMatrix3

      public SbMatrix3()
  • Method Details

    • setValue

      public void setValue(SbMatrix3 copyFrom)
    • getValue

      public float[] getValue()
    • getValueAt

      public float getValueAt(int index)
    • setValueAt

      public void setValueAt(int index, float value)
    • setValue

      public SbMatrix3 setValue(float c0, float c1, float c2, float c3, float c4, float c5, float c6, float c7, float c8)
    • setValue

      public SbMatrix3 setValue(float[] components, int startIndex)
    • setValue

      public SbMatrix3 setValue(float[] components)
    • identity

      public static SbMatrix3 identity()
      Returns an identity matrix.
    • setRotate

      public void setRotate(SbRotation q)
      Sets matrix to rotate by given rotation.
    • equals

      public boolean equals(Object obj)
      Overrides:
      equals in class Object
    • makeIdentity

      public void makeIdentity()
      Sets matrix to be identity.
    • toArray

      public static SbMatrix3[] toArray(long nativeArray, long length)
    • setScale

      public void setScale(float s)
      Sets matrix to scale by given uniform factor.
    • setScale

      public void setScale(SbVec3f s)
      Sets matrix to scale by given vector.
    • times

      public SbVec3f times(SbVec3f v)
      Multiplies matrices by vector, returning a matrix result. Return M*v
    • det

      public float det()
      Returns the determinant of the matrix.
    • multVecMatrix

      public SbVec3f multVecMatrix(SbVec3f src)
      Pre-multiplies matrix by the given row vector, giving a 3D vector result.
    • inverse

      public SbMatrix3 inverse()
      Returns the inverse of the matrix. Results are undefined for singular matrices.
      The matrix is not modified.
    • multLeft

      public SbMatrix3 multLeft(SbMatrix3 m)
      Pre-multiplies matrix by the given matrix. Matrix is replaced by the result.
    • multRight

      public SbMatrix3 multRight(SbMatrix3 m)
      Post-multiplies the matrix by the given matrix. Matrix is replaced by the result.
    • times

      public SbMatrix3 times(SbMatrix3 m2)
      Multiplies two matrices, returning a matrix result.
    • multMatrixVec

      public SbVec3f multMatrixVec(SbVec3f src)
      Post-multiplies matrix by the given column vector, giving a 3D vector result.
    • multiply

      public void multiply(SbMatrix3 m)
      Post-multiplies the matrix by the given matrix (equivalent to multRight() method). Matrix is replaced by the resulting matrix.