Main Page   Modules   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members   Related Pages  

mat16fv.hpp

00001 //============================================================================
00002 // mat16fv.hpp : opengl-style float[16] matrix routines.
00003 //----------------------------------------------------------------------------
00004 // $Id: mat16fv.hpp,v 1.4 1999/09/29 22:28:45 baxter Exp $
00005 //============================================================================
00006 
00007 float* Copy16fv(float* A, const float* B); // A=B
00008 
00009 float* Mult16fv(float* C, const float* A, const float* B); // C=A*B
00010 
00011 float* Mult16fv3fv(
00012   float *NewV, const float* M, const float *V); // NewV = M * [Vx,Vy,Vz,0]
00013 
00014 float* Mult16fv3fvPerspDiv(
00015   float *NewV, const float* M, const float *V); // NewV = M * [Vx,Vy,Vz,1]
00016 
00017 float* Mult16fv4fv(
00018   float *NewV, const float* M, const float *V); // NewV = M * [Vx,Vy,Vz,Vw]
00019 
00020 float* Identity16fv(float* M);
00021 float* Transpose16fv(float* M);
00022 
00023 float* Rotate16fv(float *M, float DegAng, const float Axis[3]);
00024 float* invRotate16fv(float *M, float DegAng, const float Axis[3]);
00025 
00026 float* Scale16fv(float* M, float sx, float sy, float sz);
00027 float* invScale16fv(float* M, float sx, float sy, float sz);
00028 
00029 float* Translate16fv(float* M, float tx, float ty, float tz);
00030 float* invTranslate16fv(float* M, float tx, float ty, float tz);
00031 
00032 float* LookAt(
00033   float* M, 
00034   const float Eye[3], 
00035   const float LookAtPt[3], 
00036   const float ViewUp[3]);
00037 
00038 float* invLookAt(
00039   float* M, 
00040   const float Eye[3],
00041   const float LookAtPt[3],
00042   const float ViewUp[3]);
00043 
00044 float* Frustum16fv(
00045   float* M, float l, float r, float b, float t, float n, float f);
00046 
00047 float* invFrustum16fv(
00048   float* M, float l, float r, float b, float t, float n, float f);
00049 
00050 float* Perspective(
00051   float* M, float Yfov, float Aspect, float Ndist, float Fdist);
00052 
00053 float* invPerspective(
00054   float* M, float Yfov, float Aspect, float Ndist, float Fdist);
00055 
00056 float* Viewing16fv(
00057   float* M, 
00058   const float X[3], const float Y[3], const float Z[3], 
00059   const float O[3]);
00060 
00061 float* invViewing16fv(
00062   float* M, 
00063   const float X[3], const float Y[3], const float Z[3], 
00064   const float O[3]);
00065 
00066 void Viewing2CoordFrame16fv(
00067   const float *M, float X[3], float Y[3], float Z[3], float O[3]);
00068 
00069 
00070 float* Viewport16fv(float* M, int WW, int WH);
00071 
00072 float* invViewport16fv(float* M, int WW, int WH);
00073 
00074 float* PlanarReflection16fv(float M[16], const float P[4]);
00075 
00076 float XformCoordFrame16fv(
00077   const float *M, float X[3], float Y[3], float Z[3], float O[3]);
00078 
00079 float* Obj2WorldXform16fv(
00080   float *M, float X[3], float Y[3], float Z[3], float O[3], float Scale);
00081 
00082 float* World2ObjXform16fv(
00083   float *M, 
00084   const float X[3], 
00085   const float Y[3], 
00086   const float Z[3], 
00087   const float O[3], 
00088   float Scale);
00089 
00090 float* Screen2WorldXform16fv(
00091   float* M, 
00092   const float X[3], const float Y[3], const float Z[3], const float O[3],
00093   float l, float r, float b, float t, float n, float f,
00094   int WW, int WH);
00095 
00096 float* World2ScreenXform16fv(
00097   float* M,
00098   const float X[3], const float Y[3], const float Z[3], const float O[3],
00099   float l, float r, float b, float t, float n, float f,
00100   int WW, int WH);
00101 
00102 void Print16fv(const float* M);

Generated at Fri Oct 12 15:12:21 2001 for GLVU by doxygen1.2.10 written by Dimitri van Heesch, © 1997-2001