quicktime.qd3d.math
Class Matrix3x3

java.lang.Object
  |
  +--quicktime.util.QTByteObject
        |
        +--quicktime.qd3d.math.Matrix3x3
All Implemented Interfaces:
java.lang.Cloneable, quicktime.jdirect.InterfaceLib, quicktime.jdirect.PrimitivesLib, quicktime.jdirect.QuickDraw3DLib, quicktime.jdirect.QuickTimeLib, java.io.Serializable, quicktime.jdirect.SharedLibrary, com.apple.jdirect.SharedLibrary

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

Matrix3x3 contains information for a 3 x 3 float matrix. refer to TQ3Matrix3x3 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
Matrix3x3()
          Creates a Matrix3x3 object and sets it to the identity matrix.
Matrix3x3(float[][] table)
          Construct an instance of a Matrix3x3 from the values of a float[][], which is a 3x3 table, - an array of row values.
 
Method Summary
 Matrix3x3 adjoint()
          Returns the adjoint of the matrix.
 java.lang.Object clone()
          Returns a copy of this class.
 Matrix3x3 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 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 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.
static EndianDescriptor getEndianDescriptor()
          Returns the EndianDescriptor for this class.
 Matrix3x3 invert()
          Returns the inverse of the matrix.
 Matrix3x3 multiply(Matrix3x3 matrixB)
          Returns the product of the two 3-by-3 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 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 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 setIdentity()
          Sets the Matrix to the 3-by-3 identity matrix.
 void setRotateAboutPoint(QDPoint origin, float angle)
          Rotates a matrix by the specified angle around the point origin.
 void setScale(float xScale, float yScale)
          Scales a matrix by the amount xScale along the x coordinate axis and by the amount yScale along the y coordinate axis.
 void setTranslate(float xTrans, float yTrans)
          Translates a matrix by the amount xTrans along the x coordinate axis and by the amount yTrans along the y coordinate axis.
 Matrix3x3 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

Matrix3x3

public Matrix3x3()
Creates a Matrix3x3 object and sets it to the identity matrix.

Matrix3x3

public Matrix3x3(float[][] table)
Construct an instance of a Matrix3x3 from the values of a float[][], which is a 3x3 table, - an array of row values.
Parameters:
table - a 3x3 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

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

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

copy

public Matrix3x3 copy()
Returns a copy of the matrix.

QuickDraw3D::Q3Matrix3x3_Copy

Returns:
a copy of matrix3x3.

setIdentity

public void setIdentity()
Sets the Matrix to the 3-by-3 identity matrix.

QuickDraw3D::Q3Matrix3x3_SetIdentity


transpose

public Matrix3x3 transpose()
Returns the transpose of the matrix.

QuickDraw3D::Q3Matrix3x3_Transpose

Returns:
the transpose matrix

invert

public Matrix3x3 invert()
Returns the inverse of the matrix.

QuickDraw3D::Q3Matrix3x3_Invert

Returns:
the invert matrix

adjoint

public Matrix3x3 adjoint()
Returns the adjoint of the matrix.

QuickDraw3D::Q3Matrix3x3_Adjoint

Returns:
the adjoint matrix

multiply

public Matrix3x3 multiply(Matrix3x3 matrixB)
Returns the product of the two 3-by-3 matrices, this and matrixB.

QuickDraw3D::Q3Matrix3x3_Multiply

Parameters:
matrixB - a matrix
Returns:
the product

determinant

public float determinant()
Returns the determinant of this matrix.

QuickDraw3D::Q3Matrix3x3_Determinant

Returns:
the determinanta

setTranslate

public void setTranslate(float xTrans,
                         float yTrans)
Translates a matrix by the amount xTrans along the x coordinate axis and by the amount yTrans along the y coordinate axis.

QuickDraw3D::Q3Matrix3x3_SetTranslate

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

setScale

public void setScale(float xScale,
                     float yScale)
Scales a matrix by the amount xScale along the x coordinate axis and by the amount yScale along the y coordinate axis.

QuickDraw3D::Q3Matrix3x3_SetScale

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

setRotateAboutPoint

public void setRotateAboutPoint(QDPoint origin,
                                float angle)
Rotates a matrix by the specified angle around the point origin.

QuickDraw3D::Q3Matrix3x3_SetRotateAboutPoint

Parameters:
origin - The desired origin of rotation.
angle - The desired angle of rotation, in radians.

clone

public java.lang.Object clone()
Returns a copy of this class.