Program Listing for File MathFunctions.h
↰ Return to documentation for file (SPlisHSPlasH/Utilities/MathFunctions.h)
#ifndef MATH_FUNCTIONS_H
#define MATH_FUNCTIONS_H
#include "SPlisHSPlasH/Common.h"
// ------------------------------------------------------------------------------------
namespace SPH
{
class MathFunctions
{
public:
static void extractRotation(const Matrix3r &A, Quaternionr &q, const unsigned int maxIter);
static void pseudoInverse(const Matrix3r &a, Matrix3r &res);
static void svdWithInversionHandling(const Matrix3r &A, Vector3r &sigma, Matrix3r &U, Matrix3r &VT);
static void eigenDecomposition(const Matrix3r &A, Matrix3r &eigenVecs, Vector3r &eigenVals);
static void jacobiRotate(Matrix3r &A, Matrix3r &R, int p, int q);
static void getOrthogonalVectors(const Vector3r &vec, Vector3r &x, Vector3r &y);
static void APD_Newton(const Matrix3r& F, Quaternionr& q);
static void iARAP(const Matrix3r& F, Matrix3r& R);
static void ARAP_eigenvalues(const Matrix3r& F, Vector3r& sigma);
static void ARAP_decomposition(const Matrix3r& F, Matrix3r& R, Vector3r& sigma, Matrix3r& V);
};
}
#endif