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.