Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## quicktime.qd3d.math
Class Matrix4x4

    java.lang.Object
      |
      +--quicktime.util.QTByteObject
            |
            +--quicktime.qd3d.math.Matrix4x4

All Implemented Interfaces:
  java.lang.Cloneable, quicktime.jdirect.InterfaceLib, quicktime.jdirect.PrimitivesLib, quicktime.jdirect.QuickDraw3DLib, quicktime.jdirect.QuickTimeLib, java.io.Serializable, com.apple.jdirect.SharedLibrary, quicktime.jdirect.SharedLibrary

public final class Matrix4x4
extends QTByteObject
implements quicktime.jdirect.QuickTimeLib, quicktime.jdirect.QuickDraw3DLib, java.lang.Cloneable

Matrix4x4 contains information for a 4 x 4 float matrix. refer to Q3Matrix4x4 in QuickDraw3D

See Also:
  Serialized Form

Field Summary
`static int` | `kNativeSize` This is the size (the number of bytes) that are required for this class

Fields inherited from interface quicktime.jdirect.QuickTimeLib
`JDirect_MacOSX, libraryInstance, name`

Fields inherited from interface quicktime.jdirect.QuickDraw3DLib
`libraryInstance`

Constructor Summary
`Matrix4x4()` Creates a Matrix4x4 object and sets it to the identity matrix.
`Matrix4x4(float[][] table)` Construct an instance of a Matrix4x4 from the values of a float[][], which is a 4x4 table, - an array of row values.

Method Summary
`java.lang.Object` | `clone()` Returns a copy of this class.
`Matrix4x4` | `copy()` Returns a copy of the matrix.
`float` | `determinant()` Returns the determinant of this matrix.
`float` | `getAt00()` Returns the value at the specified index.
`float` | `getAt01()` Returns the value at the specified index.
`float` | `getAt02()` Returns the value at the specified index.
`float` | `getAt03()` Returns the value at the specified index.
`float` | `getAt10()` Returns the value at the specified index.
`float` | `getAt11()` Returns the value at the specified index.
`float` | `getAt12()` Returns the value at the specified index.
`float` | `getAt13()` Returns the value at the specified index.
`float` | `getAt20()` Returns the value at the specified index.
`float` | `getAt21()` Returns the value at the specified index.
`float` | `getAt22()` Returns the value at the specified index.
`float` | `getAt23()` Returns the value at the specified index.
`float` | `getAt30()` Returns the value at the specified index.
`float` | `getAt31()` Returns the value at the specified index.
`float` | `getAt32()` Returns the value at the specified index.
`float` | `getAt33()` Returns the value at the specified index.
`static EndianDescriptor` | `getEndianDescriptor()` Returns the EndianDescriptor for this class.
`Matrix4x4` | `invert()` Returns the inverse of the matrix.
`Matrix4x4` | `multiply(Matrix4x4 matrixB)` Returns the product of the two 4-by-4 matrices, this and matrixB.
`void` | `setAt00(float val)` Sets the value at the specified index.
`void` | `setAt01(float val)` Sets the value at the specified index.
`void` | `setAt02(float val)` Sets the value at the specified index.
`void` | `setAt03(float val)` Sets the value at the specified index.
`void` | `setAt10(float val)` Sets the value at the specified index.
`void` | `setAt11(float val)` Sets the value at the specified index.
`void` | `setAt12(float val)` Sets the value at the specified index.
`void` | `setAt13(float val)` Sets the value at the specified index.
`void` | `setAt20(float val)` Sets the value at the specified index.
`void` | `setAt21(float val)` Sets the value at the specified index.
`void` | `setAt22(float val)` Sets the value at the specified index.
`void` | `setAt23(float val)` Sets the value at the specified index.
`void` | `setAt30(float val)` Sets the value at the specified index.
`void` | `setAt31(float val)` Sets the value at the specified index.
`void` | `setAt32(float val)` Sets the value at the specified index.
`void` | `setAt33(float val)` Sets the value at the specified index.
`void` | `setIdentity()` Sets the Matrix to the 4-by-4 identity matrix.
`void` | `setQuaternion(Quaternion quaternion)` Sets a 4-by-4 matrix that represents the quaternion specified by the quaternion parameter.
`void` | `setRotateAboutAxis(Point3D origin, Vector3D orientation, float angle)` Sets a rotate-about-axis matrix that rotates an object by the specified angle around the axis determined by the point origin and the specified orientation.
`void` | `setRotateAboutPoint(Point3D origin, float xAngle, float yAngle, float zAngle)` Rotates a matrix by the specified angle around the point origin.
`void` | `setRotateVectorToVector(Vector3D v1, Vector3D v2)` Sets a rotational matrix that rotates objects around the origin in such a way that the transformed vector v1 matches the vector v2.
`void` | `setRotateX(float angle)` Sets a rotational matrix that rotates an object by the specified angle around the x axis.
`void` | `setRotateXYZ(float xAngle, float yAngle, float zAngle)` Sets a rotational matrix that rotates an object by the specified angles around their specified axis.
`void` | `setRotateY(float angle)` Sets a rotational matrix that rotates an object by the specified angle around the y axis.
`void` | `setRotateZ(float angle)` Sets a rotational matrix that rotates an object by the specified angle around the x axis.
`void` | `setScale(float xScale, float yScale, float zScale)` Scales a matrix by the amount xScale along the x coordinate axis, by the amount yScale along the y coordinate axis and by the amount zScale along the z coordinate axis.
`void` | `setTranslate(float xTrans, float yTrans, float zTrans)` Translates a matrix by the amount xTrans along the x coordinate axis, by the amount yTrans along the y coordinate axis and by the amount zTrans along the z coordinate axis.
`Matrix4x4` | `transpose()` Returns the transpose of the matrix.

Methods inherited from class quicktime.util.QTByteObject
`equals, fromArray, getBytes, getSize, toString`

Methods inherited from class java.lang.Object
`getClass, hashCode, notify, notifyAll, wait, wait, wait`

Field Detail

### kNativeSize

    public static final int kNativeSize

  This is the size (the number of bytes) that are required for this class

Constructor Detail

### Matrix4x4

    public Matrix4x4()

  Creates a Matrix4x4 object and sets it to the identity matrix.

### Matrix4x4

    public Matrix4x4(float[][] table)

  Construct an instance of a Matrix4x4 from the values of a float[][], which is a 4x4 table, - an array of row values.
  Parameters:
    `table` - a 4x4 table of float values.

Method Detail

### getEndianDescriptor

    public static final EndianDescriptor getEndianDescriptor()

  Returns the EndianDescriptor for this class.
  Returns:
    an EndianDescriptor

### getAt00

    public float getAt00()

  Returns the value at the specified index.
  Returns:
    a float

### setAt00

    public void setAt00(float val)

  Sets the value at the specified index.
  Parameters:
    `val` - the new float value

### getAt01

    public float getAt01()

  Returns the value at the specified index.
  Returns:
    a float

### setAt01

    public void setAt01(float val)

  Sets the value at the specified index.
  Parameters:
    `val` - the new float value

### getAt02

    public float getAt02()

  Returns the value at the specified index.
  Returns:
    a float

### setAt02

    public void setAt02(float val)

  Sets the value at the specified index.
  Parameters:
    `val` - the new float value

### getAt03

    public float getAt03()

  Returns the value at the specified index.
  Returns:
    a float

### setAt03

    public void setAt03(float val)

  Sets the value at the specified index.
  Parameters:
    `val` - the new float value

### getAt10

    public float getAt10()

  Returns the value at the specified index.
  Returns:
    a float

### setAt10

    public void setAt10(float val)

  Sets the value at the specified index.
  Parameters:
    `val` - the new float value

### getAt11

    public float getAt11()

  Returns the value at the specified index.
  Returns:
    a float

### setAt11

    public void setAt11(float val)

  Sets the value at the specified index.
  Parameters:
    `val` - the new float value

### getAt12

    public float getAt12()

  Returns the value at the specified index.
  Returns:
    a float

### setAt12

    public void setAt12(float val)

  Sets the value at the specified index.
  Parameters:
    `val` - the new float value

### getAt13

    public float getAt13()

  Returns the value at the specified index.
  Returns:
    a float

### setAt13

    public void setAt13(float val)

  Sets the value at the specified index.
  Parameters:
    `val` - the new float value

### getAt20

    public float getAt20()

  Returns the value at the specified index.
  Returns:
    a float

### setAt20

    public void setAt20(float val)

  Sets the value at the specified index.
  Parameters:
    `val` - the new float value

### getAt21

    public float getAt21()

  Returns the value at the specified index.
  Returns:
    a float

### setAt21

    public void setAt21(float val)

  Sets the value at the specified index.
  Parameters:
    `val` - the new float value

### getAt22

    public float getAt22()

  Returns the value at the specified index.
  Returns:
    a float

### setAt22

    public void setAt22(float val)

  Sets the value at the specified index.
  Parameters:
    `val` - the new float value

### getAt23

    public float getAt23()

  Returns the value at the specified index.
  Returns:
    a float

### setAt23

    public void setAt23(float val)

  Sets the value at the specified index.
  Parameters:
    `val` - the new float value

### getAt30

    public float getAt30()

  Returns the value at the specified index.
  Returns:
    a float

### setAt30

    public void setAt30(float val)

  Sets the value at the specified index.
  Parameters:
    `val` - the new float value

### getAt31

    public float getAt31()

  Returns the value at the specified index.
  Returns:
    a float

### setAt31

    public void setAt31(float val)

  Sets the value at the specified index.
  Parameters:
    `val` - the new float value

### getAt32

    public float getAt32()

  Returns the value at the specified index.
  Returns:
    a float

### setAt32

    public void setAt32(float val)

  Sets the value at the specified index.
  Parameters:
    `val` - the new float value

### getAt33

    public float getAt33()

  Returns the value at the specified index.
  Returns:
    a float

### setAt33

    public void setAt33(float val)

  Sets the value at the specified index.
  Parameters:
    `val` - the new float value

### copy

    public Matrix4x4 copy()

  Returns a copy of the matrix.
  QuickDraw3D::Q3Matrix4x4_Copy

  Returns:
    a copy of matrix3x3.

### setIdentity

    public void setIdentity()

  Sets the Matrix to the 4-by-4 identity matrix.
  QuickDraw3D::Q3Matrix4x4_SetIdentity

### transpose

    public Matrix4x4 transpose()

  Returns the transpose of the matrix.
  QuickDraw3D::Q3Matrix4x4_Transpose

  Returns:
    the transpose matrix

### invert

    public Matrix4x4 invert()

  Returns the inverse of the matrix.
  QuickDraw3D::Q3Matrix4x4_Invert

  Returns:
    the invert matrix

### multiply

    public Matrix4x4 multiply(Matrix4x4 matrixB)

  Returns the product of the two 4-by-4 matrices, this and matrixB.
  QuickDraw3D::Q3Matrix4x4_Multiply

  Parameters:
    `matrixB` - a matrix
  Returns:
    the product

### determinant

    public float determinant()

  Returns the determinant of this matrix.
  QuickDraw3D::Q3Matrix4x4_Determinant

  Returns:
    the determinanta

### setTranslate

    public void setTranslate(float xTrans,
                             float yTrans,
                             float zTrans)

  Translates a matrix by the amount xTrans along the x coordinate axis, by the amount yTrans along the y coordinate axis and by the amount zTrans along the z coordinate axis.
  QuickDraw3D::Q3Matrix4x4_SetTranslate

  Parameters:
    `xTrans` - The desired amount of translation along the x coordinate axis.
    `yTrans` - The desired amount of translation along the y coordinate axis.
    `zTrans` - The desired amount of translation along the z coordinate axis.

### setScale

    public void setScale(float xScale,
                         float yScale,
                         float zScale)

  Scales a matrix by the amount xScale along the x coordinate axis, by the amount yScale along the y coordinate axis and by the amount zScale along the z coordinate axis.
  QuickDraw3D::Q3Matrix4x4_SetScale

  Parameters:
    `xScale` - The desired amount of scaling along the x coordinate axis.
    `yScale` - The desired amount of scaling along the y coordinate axis.
    `zScale` - The desired amount of scaling along the z coordinate axis.

### setRotateAboutPoint

    public void setRotateAboutPoint(Point3D origin,
                                    float xAngle,
                                    float yAngle,
                                    float zAngle)

  Rotates a matrix by the specified angle around the point origin.
  QuickDraw3D::Q3Matrix4x4_SetRotateAboutPoint

  Parameters:
    `origin` - The desired origin of rotation.
    `xAngle` - The desired angle of rotation around the x component of origin, in radians.
    `yAngle` - The desired angle of rotation around the y component of origin, in radians.
    `zAngle` - The desired angle of rotation around the z component of origin, in radians.

### setRotateAboutAxis

    public void setRotateAboutAxis(Point3D origin,
                                   Vector3D orientation,
                                   float angle)

  Sets a rotate-about-axis matrix that rotates an object by the specified angle around the axis determined by the point origin and the specified orientation.
  QuickDraw3D::Q3Matrix4x4_SetRotateAboutAxis

  Parameters:
    `origin` - The desired origin of rotation.
    `orientation` - The desired orientation of the axis of rotation.
    `angle` - The desired angle of rotation, in radians.

### setRotateX

    public void setRotateX(float angle)

  Sets a rotational matrix that rotates an object by the specified angle around the x axis.
  QuickDraw3D::Q3Matrix4x4_SetRotate_X

  Parameters:
    `angle` - The desired angle of rotation around the x coordinate axis, in radians.

### setRotateY

    public void setRotateY(float angle)

  Sets a rotational matrix that rotates an object by the specified angle around the y axis.
  QuickDraw3D::Q3Matrix4x4_SetRotate_Y

  Parameters:
    `angle` - The desired angle of rotation around the y coordinate axis, in radians.

### setRotateZ

    public void setRotateZ(float angle)

  Sets a rotational matrix that rotates an object by the specified angle around the x axis.
  QuickDraw3D::Q3Matrix4x4_SetRotate_Z

  Parameters:
    `angle` - The desired angle of rotation around the z coordinate axis, in radians.

### setRotateXYZ

    public void setRotateXYZ(float xAngle,
                             float yAngle,
                             float zAngle)

  Sets a rotational matrix that rotates an object by the specified angles around their specified axis.
  QuickDraw3D::Q3Matrix4x4_SetRotate_XYZ

  Parameters:
    `xAngle` - The desired angle of rotation around the x coordinate axis, in radians.
    `yAngle` - The desired angle of rotation around the y coordinate axis, in radians.
    `zAngle` - The desired angle of rotation around the z coordinate axis, in radians.

### setRotateVectorToVector

    public void setRotateVectorToVector(Vector3D v1,
                                        Vector3D v2)

  Sets a rotational matrix that rotates objects around the origin in such a way that the transformed vector v1 matches the vector v2. Both v1 and v2 should be normalized.
  QuickDraw3D::Q3Matrix4x4_SetRotateVectorToVector

  Parameters:
    `v1` - A three-dimensional vector.
    `v2` - A three-dimensional vector.

### setQuaternion

    public void setQuaternion(Quaternion quaternion)

  Sets a 4-by-4 matrix that represents the quaternion specified by the quaternion parameter.
  QuickDraw3D::Q3Matrix4x4_SetQuaternion

  Parameters:
    `quaternion` - A quaternion.

### clone

    public java.lang.Object clone()

  Returns a copy of this class.

Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD