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]) |
Definition in file sm_matrix.h.
1.4.6