com.jogamp.opengl
Class FloatUtil

java.lang.Object
  extended by com.jogamp.opengl.FloatUtil

public class FloatUtil
extends Object

Basic Float math utility functions.

Implementation assumes linear matrix layout in column-major order matching OpenGL's implementation.

Derived from ProjectFloat.java - Created 11-jan-2004

Author:
Erik Duijs, Kenneth Russell, Sven Gothel

Constructor Summary
FloatUtil()
           
 
Method Summary
static void cross(float[] v1, float[] v2, float[] result)
          Calculate cross-product of 2 vector
static void cross(FloatBuffer v1, FloatBuffer v2, FloatBuffer result)
          Calculate cross-product of 2 vector
static void makeIdentityf(float[] m, int offset)
          Make matrix an identity matrix
static void makeIdentityf(FloatBuffer m)
          Make matrix an identity matrix
static void makeZero(float[] m, int offset)
          Make matrix an zero matrix
static void makeZero(FloatBuffer m)
          Make matrix an zero matrix
static void multMatrixf(float[] a, int a_off, float[] b, int b_off, float[] d, int d_off)
           
static void multMatrixf(float[] a, int a_off, float[] b, int b_off, FloatBuffer d)
           
static void multMatrixf(FloatBuffer a, float[] b, int b_off, FloatBuffer d)
           
static void multMatrixf(FloatBuffer a, FloatBuffer b, FloatBuffer d)
           
static void multMatrixVecf(float[] m_in, float[] v_in, float[] v_out)
           
static void multMatrixVecf(float[] m_in, int m_in_off, float[] v_in, int v_in_off, float[] v_out)
           
static void multMatrixVecf(FloatBuffer m_in, FloatBuffer v_in, FloatBuffer v_out)
           
static void normalize(float[] v)
          Normalize vector
static void normalize(FloatBuffer v)
          Normalize vector
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

FloatUtil

public FloatUtil()
Method Detail

makeIdentityf

public static final void makeIdentityf(float[] m,
                                       int offset)
Make matrix an identity matrix


makeIdentityf

public static final void makeIdentityf(FloatBuffer m)
Make matrix an identity matrix


makeZero

public static final void makeZero(float[] m,
                                  int offset)
Make matrix an zero matrix


makeZero

public static final void makeZero(FloatBuffer m)
Make matrix an zero matrix


multMatrixf

public static final void multMatrixf(float[] a,
                                     int a_off,
                                     float[] b,
                                     int b_off,
                                     float[] d,
                                     int d_off)
Parameters:
a - 4x4 matrix in column-major order
b - 4x4 matrix in column-major order
d - result a*b in column-major order

multMatrixf

public static final void multMatrixf(float[] a,
                                     int a_off,
                                     float[] b,
                                     int b_off,
                                     FloatBuffer d)
Parameters:
a - 4x4 matrix in column-major order
b - 4x4 matrix in column-major order
d - result a*b in column-major order

multMatrixf

public static final void multMatrixf(FloatBuffer a,
                                     float[] b,
                                     int b_off,
                                     FloatBuffer d)
Parameters:
a - 4x4 matrix in column-major order
b - 4x4 matrix in column-major order
d - result a*b in column-major order

multMatrixf

public static final void multMatrixf(FloatBuffer a,
                                     FloatBuffer b,
                                     FloatBuffer d)
Parameters:
a - 4x4 matrix in column-major order
b - 4x4 matrix in column-major order
d - result a*b in column-major order

normalize

public static final void normalize(float[] v)
Normalize vector

Parameters:
v - makes len(v)==1

normalize

public static final void normalize(FloatBuffer v)
Normalize vector

Parameters:
v - makes len(v)==1

cross

public static final void cross(float[] v1,
                               float[] v2,
                               float[] result)
Calculate cross-product of 2 vector

Parameters:
v1 - 3-component vector
v2 - 3-component vector
result - v1 X v2

cross

public static final void cross(FloatBuffer v1,
                               FloatBuffer v2,
                               FloatBuffer result)
Calculate cross-product of 2 vector

Parameters:
v1 - 3-component vector
v2 - 3-component vector
result - v1 X v2

multMatrixVecf

public static final void multMatrixVecf(float[] m_in,
                                        int m_in_off,
                                        float[] v_in,
                                        int v_in_off,
                                        float[] v_out)
Parameters:
m_in - 4x4 matrix in column-major order
m_in_off -
v_in - 4-component column-vector
v_out - m_in * v_in

multMatrixVecf

public static final void multMatrixVecf(float[] m_in,
                                        float[] v_in,
                                        float[] v_out)
Parameters:
m_in - 4x4 matrix in column-major order
m_in_off -
v_in - 4-component column-vector
v_out - m_in * v_in

multMatrixVecf

public static final void multMatrixVecf(FloatBuffer m_in,
                                        FloatBuffer v_in,
                                        FloatBuffer v_out)
Parameters:
m_in - 4x4 matrix in column-major order
v_in - 4-component column-vector
v_out - m_in * v_in


Copyright 2010 JogAmp Community.