ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/SHAPES/MatVec3.h
Revision: 1271
Committed: Tue Jun 15 20:20:36 2004 UTC (20 years ago) by gezelter
Content type: text/plain
File size: 997 byte(s)
Log Message:
Major changes for rigidbodies

File Contents

# User Rev Content
1 gezelter 1271 #ifndef __MATVEC3_H__
2     #define __MATVEC3_H__
3    
4     #include <math.h>
5     #ifdef __cplusplus
6     extern "C" {
7     #endif
8    
9     void identityMat3(double A[3][3]);
10     void swapVectors3(double v1[3], double v2[3]);
11     static double norm3(const double x[3]){ return sqrt(x[0]*x[0] + x[1]*x[1] + x[2]*x[2]); };
12     double normalize3(double x[3]);
13     void matMul3(double a[3][3], double b[3][3], double out[3][3]);
14     void matVecMul3(double m[3][3], double inVec[3], double outVec[3]);
15     double matDet3(double m[3][3]);
16     void invertMat3(double in[3][3], double out[3][3]);
17     void transposeMat3(double in[3][3], double out[3][3]);
18     void printMat3(double A[3][3]);
19     void printMat9(double A[9]);
20     double matTrace3(double m[3][3]);
21     void crossProduct3(double a[3],double b[3], double out[3]);
22     double dotProduct3(double a[3], double b[3]);
23     void diagonalize3x3(const double A[3][3],double w[3],double V[3][3]);
24     int JacobiN(double **a, int n, double *w, double **v);
25    
26     #ifdef __cplusplus
27     }
28     #endif
29    
30     #endif