All Packages This Package Class Hierarchy Class Search Index
java.lang.Object | +----acg.stuttgart.rich.tmatrix.Tmatrix
| Summary |
public class Tmatrix
extends java.lang.Object
{
// Fields 15
public static final int IDENTITY;
public static final int MAX_DEPTH;
public static final int ORTHOGRAPHIC;
public static final int ORTHONORMAL_BASIS;
public static final int PERSPECTIVE;
public static final int ROTATE;
public static final int ROTATEX;
public static final int ROTATEY;
public static final int ROTATEZ;
public static final int SCALE;
public static final int TMATRIX_COMPOSITION;
public static final int TRANSLATE;
public static final int UNSPECIFIED;
public static float[] cos;
public static float[] sin;
// Constructors 1
public Tmatrix();
// Methods 19
public void backward(Vector3D, Vector3D);
public void backwardArray(Vector3D[], Vector3D[], int);
public void compose(Tmatrix);
public void forward(Vector3D, Vector3D);
public void forwardArray(Vector3D[], Vector3D[], int);
public void frustum(float, float, float, float, float, float);
public void identity();
public void pop() throws TmatrixException;
public void push() throws TmatrixException;
public void rotate(Vector3D, int);
public void rotateIntoBasis(Vector3D, Vector3D, Vector3D);
public void rotateOutOfBasis(Vector3D, Vector3D, Vector3D);
public void rotateX(int);
public void rotateY(int);
public void rotateZ(int);
public void scale(float, float, float);
public String toString();
public void translate(float, float, float);
protected void updateComposed(Tmatrix.Matrix4D, Tmatrix.Matrix4D, int);
// Inner Classes 1
protected class Tmatrix.Matrix4D
}
The Tmatrix class is a transformation matrix class designed to work with the acg.stuttgart.rich.vector.Vector3D class. This class allows general coordinate transformations to be composed as a matrix stack, much in the same way that OpenGL handles its transformations. The coordinate system is assumed to be right-handed.
| Fields |
· MAX_DEPTH | Summary | Top |
public static final int MAX_DEPTH
We statically allocate a matrix stack which is MAX_DEPTH deep.
· UNSPECIFIED | Summary | Top |
public static final int UNSPECIFIED
Each level in the stack has an identifier associated with it for debugging and descriptive purposes. Every time an operation is composed with a stack level, that operation's identifier is logically ANDed with the current identifier. A level should never be UNSPECIFIED unless it is currently above the stack pointer.
· IDENTITY | Summary | Top |
public static final int IDENTITY
· TRANSLATE | Summary | Top |
public static final int TRANSLATE
· SCALE | Summary | Top |
public static final int SCALE
· ROTATEX | Summary | Top |
public static final int ROTATEX
· ROTATEY | Summary | Top |
public static final int ROTATEY
· ROTATEZ | Summary | Top |
public static final int ROTATEZ
· ROTATE | Summary | Top |
public static final int ROTATE
· ORTHONORMAL_BASIS | Summary | Top |
public static final int ORTHONORMAL_BASIS
· PERSPECTIVE | Summary | Top |
public static final int PERSPECTIVE
· ORTHOGRAPHIC | Summary | Top |
public static final int ORTHOGRAPHIC
· TMATRIX_COMPOSITION | Summary | Top |
public static final int TMATRIX_COMPOSITION
· sin | Summary | Top |
public static float[] sin
The
sinarray holds a table of sine values in one degree increments from zero to 359 degrees.
· cos | Summary | Top |
public static float[] cos
The
cosarray holds a table of cosine values in one degree increments from zero to 359 degrees.
| Constructors |
· Tmatrix | Summary | Top |
public Tmatrix()
The Tmatrix constructor allocates and initializes the various internal arrays, sets the stack pointer to level zero, and makes the current transform the identity matrix.
| Methods |
· toString | Summary | Top |
public String toString()
The toString method prints out a textual representation of the Tmatrix.
- Overrides:
- toString in class Object
· identity | Summary | Top |
public void identity()
The identity method sets the current transform to the identity matrix and updates the relevant book-keeping.
· translate | Summary | Top |
public void translate(float x,
float y,
float z)
The translate method produces an x,y,z translation.
· scale | Summary | Top |
public void scale(float u,
float v,
float w)
The scale method scales the x, and z, axes by u, v, and w respectively.
· rotateX | Summary | Top |
public void rotateX(int angle)
The rotateX method takes an integer angle specified in degrees and produces an appropriate rotation.
· rotateY | Summary | Top |
public void rotateY(int angle)
The rotateY method takes an integer angle specified in degrees and produces an appropriate rotation.
· rotateZ | Summary | Top |
public void rotateZ(int angle)
The rotateZ method takes an integer angle specified in degrees and produces an appropriate rotation.
· rotate | Summary | Top |
public void rotate(Vector3D axis,
int angle)
The rotate methods takes an axis and an angle, and produces a rotation about that axis. Note that this requires significantly more calculation than the rotateX, rotateY, or rotateZ methods, and those should be used in place of rotate where appropriate.
· rotateIntoBasis | Summary | Top |
public void rotateIntoBasis(Vector3D u,
Vector3D v,
Vector3D w)
The rotateIntoBasis method rotates the x, y, and z unit vectors into the u, v, and w directions respectively. Note that u, v, and w must be unit vectors specifying a right-handed orthonormal basis.
· rotateOutOfBasis | Summary | Top |
public void rotateOutOfBasis(Vector3D u,
Vector3D v,
Vector3D w)
The rotateOutOfBasis method rotates the u, v, and w unit vectors into the x, y, and z directions respectively. Note that u, v, and w must be unit vectors specifying a right-handed orthonormal basis.
· frustum | Summary | Top |
public void frustum(float left,
float right,
float bottom,
float top,
float near,
float far)
The frustum method operates identically to the OpenGL glFrustum call. It defines a viewing frustum generally oriented in the direction of the negative z axis with the view plane parallel to the x-y plane. Note that this can be used to specify funky non-symmetric viewing volumes.
· compose | Summary | Top |
public void compose(Tmatrix B)
The compose method multiplies the top level of this matrix stack by the top level of another matrix stack.
· updateComposed | Summary | Top |
protected void updateComposed(Tmatrix.Matrix4D forward,
Tmatrix.Matrix4D backward,
int operation)
The updateComposed method updates the matrix stacks.
· forward | Summary | Top |
public void forward(Vector3D vect,
Vector3D result)
The forward method computes the forward transform of a vector using the top of the composed matrix stack.
· forwardArray | Summary | Top |
public void forwardArray(Vector3D[] vectArray,
Vector3D[] resultArray,
int offset)
The forwardArray method computes the forward transformation of an array of vectors using the top of the composed matrix stack.
· backward | Summary | Top |
public void backward(Vector3D vect,
Vector3D result)
The backward method computes the inverse transform of a vector using the top of the inverseComposed matrix stack.
· backwardArray | Summary | Top |
public void backwardArray(Vector3D[] vectArray,
Vector3D[] resultArray,
int offset)
The backwardArray method computes the inverse transformation of an array of vectors using the top of the inverseComposed matrix stack.
· push | Summary | Top |
public void push() throws TmatrixException
The push method pushes a layer on the matrix stack.
· pop | Summary | Top |
public void pop() throws TmatrixException
The pop method pops a layer off the matrix stack.
All Packages This Package Class Hierarchy Class Search IndexFreshly brewed Java API Documentation automatically generated with polardoc Version 1.0.7