de.rico.engine.geometry.modelloader.ms3d.specmath
Class MathMS3D

java.lang.Object
  extended by de.rico.engine.geometry.modelloader.ms3d.specmath.MathMS3D

public final class MathMS3D
extends java.lang.Object

Ported verson of the GPL mathlib used in the Quake Engine (id Software). All kinds of nice vector, matrix, and quaternion math functions. Could stand to be optimised in many places, but it works for now as a POC.

Version:
0.1
Author:
naj (removal of unneccessary functions to shrink the class by Frank Bruns)

Field Summary
static float EQUAL_EPSILON
           
static float ON_EPSILON
           
static double PI
           
 
Method Summary
static void AngleMatrix(javax.vecmath.Vector3f angles, Matrix34f matrix)
           
static void AngleQuaternion(javax.vecmath.Vector3f angles, javax.vecmath.Vector4f quaternion)
           
static float DotProduct(javax.vecmath.Vector3f v1, javax.vecmath.Vector3f v2)
           
static void QuaternionMatrix(javax.vecmath.Vector4f quaternion, Matrix34f matrix)
           
static void QuaternionSlerp(javax.vecmath.Vector4f p, javax.vecmath.Vector4f q, float t, javax.vecmath.Vector4f qt)
           
static void R_ConcatTransforms(Matrix34f in1, Matrix34f in2, Matrix34f out)
           
static void VectorIRotate(javax.vecmath.Vector3f in1, Matrix34f in2, javax.vecmath.Vector3f out)
           
static void VectorRotate(javax.vecmath.Vector3f in1, Matrix34f in2, javax.vecmath.Vector3f out)
           
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

PI

public static final double PI
See Also:
Constant Field Values

ON_EPSILON

public static final float ON_EPSILON
See Also:
Constant Field Values

EQUAL_EPSILON

public static final float EQUAL_EPSILON
See Also:
Constant Field Values
Method Detail

DotProduct

public static float DotProduct(javax.vecmath.Vector3f v1,
                               javax.vecmath.Vector3f v2)

AngleMatrix

public static void AngleMatrix(javax.vecmath.Vector3f angles,
                               Matrix34f matrix)

R_ConcatTransforms

public static void R_ConcatTransforms(Matrix34f in1,
                                      Matrix34f in2,
                                      Matrix34f out)

VectorRotate

public static void VectorRotate(javax.vecmath.Vector3f in1,
                                Matrix34f in2,
                                javax.vecmath.Vector3f out)

VectorIRotate

public static void VectorIRotate(javax.vecmath.Vector3f in1,
                                 Matrix34f in2,
                                 javax.vecmath.Vector3f out)

AngleQuaternion

public static void AngleQuaternion(javax.vecmath.Vector3f angles,
                                   javax.vecmath.Vector4f quaternion)

QuaternionMatrix

public static void QuaternionMatrix(javax.vecmath.Vector4f quaternion,
                                    Matrix34f matrix)

QuaternionSlerp

public static void QuaternionSlerp(javax.vecmath.Vector4f p,
                                   javax.vecmath.Vector4f q,
                                   float t,
                                   javax.vecmath.Vector4f qt)