src/common/sm_matrix.h File Reference

Go to the source code of this file.

Typedefs

typedef float vec3 [3]
typedef float mat3 [3][3]

Functions

void smZero (vec3 A)
 zero out vector
void smCopy (vec3 a, vec3 b)
 copy vector a into vector b
void smCopy (vec3 *a, vec3 *b, int len)
void smAdd (vec3 a, vec3 b)
 add vector a and b and put results into b
void smAdd (vec3 a, vec3 b, vec3 c)
 add vector a and b and put results into c
void smAdd (vec3 a, vec3 *in_vec, int count)
void smAdd (vec3 a, vec3 *in_vec, vec3 *out_vec, int count)
void smSub (vec3 a, vec3 b, vec3 c)
 subtract vec b from a and place results in c
void smSub (vec3 *in_vec, vec3 a, vec3 *out_vec, int count)
void smSub (vec3 a, vec3 *in_vec, vec3 *out_vec, int count)
void smSub (vec3 *in_vec, vec3 a, int count)
void smMultMat (mat3 a, mat3 b, mat3 c)
 multiply matrix a and b and put results into c
void smMultMat (mat3 u, vec3 in_vec)
 multiply matrix u times a vectors and put the results in in_vec
void smMultMat (mat3 u, vec3 *in_vec, int len)
 multiply matrix u times an array of vectors and put the results in in_vec
void smMultMat (mat3 u, vec3 *in_vec, vec3 *out_vec, int len)
 multiply matrix u times an array of vectors and put the results in out_vec
void smMultVec (vec3 a, mat3 b)
void smMultVec (vec3 a, mat3 b, vec3 a_out)
void smMultVec (vec3 *a, mat3 b, int len)
void smMultVec (vec3 *a, mat3 b, vec3 *a_out, int len)
float smDotProduct (vec3 a, vec3 b)
float smVectorAngle (vec3 point1, vec3 point2, vec3 center)
float smVectorAngle (vec3 point1, vec3 point2)
int smInverseMatrix (float original_matrix[3][3], float inverse_matrix[3][3])
 calculate inverse and original_matrix and place into inverse_matrix
void smMinus (vec3 a)
 negate vector a
float smNorm (vec3 a)
 calculate the normalization value of vector a
void smNormalize (vec3 a)
 normalize vector a
float smDistance (vec3 a, vec3 b)
void smCrossProduct (vec3 a, vec3 b, vec3 c)
 get the cross product and a and b and place in vector c
void smComputeConvertMatrix (vec3 a, vec3 b, vec3 c, float convert_matrix[3][3])
void smMakeRotationMatrix (float angle, vec3 C, float rot_mat[3][3])
 given a vector from the origin and the rotation about that vector, calculate a rotational matrix
char smCalcMinRmsdRotation (vec3 *vec_a, vec3 *vec_b, int len, float matrix[3][3])
 given two arrays of points, calculate the rotation matrix that minimizes the RMSD
char smMoveMinRmsd (vec3 *vec_a, vec3 *vec_b, int len)
 given two arrays of points minimize the RMSD between the points and move vec_a
char smCalcMinRmsdRotationTri (vec3 *vec_a, vec3 *vec_b, float matrix[3][3])
void smMoveMeanOrigin (vec3 *vec_a, int len_a, vec3 *vec_b)
 take array of points in vec_a and move the mean of those points to the origin, place results in vec_b
void smMoveMeanOrigin (vec3 *vec_a, int len_a)
 take array of points in vec_a and move the mean of those points to the origin
void smCalcMeanOrigin (vec3 *vec_a, int len_a, vec3 mean)
float smCalcRmsd (vec3 *vec_a, vec3 *vec_b, int len)
float smCalcInterRmsd (vec3 *vec_a, vec3 *vec_b, int len)
float smCalcFrobeniusNorm (float matrix_a[3][3], float matrix_b[3][3])


Detailed Description

Definition in file sm_matrix.h.


Generated on Wed Apr 11 16:50:50 2007 for open_prospect by  doxygen 1.4.6