MorphoGraphX
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Classes | Namespaces | Enumerations | Functions
Matrix.hpp File Reference

Defines the Matrix class template This file is shared by cuda, do not include headers that nvcc can't handle (i.e. More...

#include <Config.hpp>
#include <cuda/CudaGlobal.hpp>
#include <StaticAssert.hpp>
#include <Util.hpp>
#include <Vector.hpp>
#include <cmath>
#include <QTextStream>

Go to the source code of this file.

Classes

class  mgx::util::Matrix< nRows, nCols, T >
 Class representing a fixed-size matrix. More...
 

Namespaces

 mgx
 This namespace contains all the API of MorphoGraphX.
 

Enumerations

enum  MatrixLayout { C_STYLE, GL_STYLE }
 

Functions

template<size_t nRows, typename T >
CU_HOST_DEVICE T mgx::util::matrix_minor (const Matrix< nRows, nRows, T > &mat, size_t i, size_t j)
 
template<size_t nRows, size_t nCols, typename T >
CU_HOST_DEVICE Vector< nCols, T > mgx::util::operator* (const Vector< nCols, T > &vec, const Matrix< nRows, nCols, T > &mat)
 
template<size_t nRows, size_t intSize, size_t nCols, typename T >
CU_HOST_DEVICE Matrix< nRows,
nCols, T > 
mgx::util::operator* (const Matrix< nRows, intSize, T > &mat1, const Matrix< intSize, nCols, T > &mat2)
 
template<typename T >
CU_HOST_DEVICE T mgx::util::det (const Matrix< 1, 1, T > &mat)
 
template<typename T >
CU_HOST_DEVICE T mgx::util::det (const Matrix< 2, 2, T > &mat)
 
template<typename T >
CU_HOST_DEVICE T mgx::util::det (const Matrix< 3, 3, T > &mat)
 
template<size_t nRows, typename T >
CU_HOST_DEVICE T mgx::util::det (const Matrix< nRows, nRows, T > &mat)
 
template<size_t nRows, typename T >
CU_HOST_DEVICE T mgx::util::cofactor (const Matrix< nRows, nRows, T > &mat, size_t i, size_t j)
 
template<typename T >
CU_HOST_DEVICE Matrix< 1, 1, T > mgx::util::inverse (const Matrix< 1, 1, T > &mat)
 
template<typename T >
CU_HOST_DEVICE Matrix< 2, 2, T > mgx::util::inverse (const Matrix< 2, 2, T > &mat)
 
template<typename T >
CU_HOST_DEVICE Matrix< 3, 3, T > mgx::util::inverse (const Matrix< 3, 3, T > &mat)
 
template<typename T >
Matrix< 4, 4, T > mgx::util::inverse (const Matrix< 4, 4, T > &m)
 
template<size_t nRows, typename T >
CU_HOST_DEVICE Matrix< nRows,
nRows, T > 
mgx::util::inverse (const Matrix< nRows, nRows, T > &mat)
 
template<size_t nRows, size_t nCols, typename T >
CU_HOST_DEVICE Matrix< nCols,
nRows, T > 
mgx::util::transpose (const Matrix< nRows, nCols, T > &mat)
 
template<size_t nRows, size_t nCols, typename T >
CU_HOST_DEVICE T mgx::util::normsq (const Matrix< nRows, nCols, T > &mat)
 
template<size_t nRows, size_t nCols, typename T >
CU_HOST_DEVICE T mgx::util::norm (const Matrix< nRows, nCols, T > &mat)
 

Detailed Description

Defines the Matrix class template This file is shared by cuda, do not include headers that nvcc can't handle (i.e.

Qt)