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);
    };
}

#endif