MeshLib C++ Docs
Loading...
Searching...
No Matches
MR::SymMatrix3< T > Struct Template Reference

#include <MRSymMatrix3.h>

Public Types

using ValueType = T
 

Public Member Functions

constexpr SymMatrix3 () noexcept=default
 
template<typename U >
 MR_REQUIRES_IF_SUPPORTED (!std::is_same_v< T, U >) const expr explicit SymMatrix3(const SymMatrix3< U > &m)
 
constexpr T trace () const noexcept
 computes trace of the matrix
 
constexpr T normSq () const noexcept
 computes the squared norm of the matrix, which is equal to the sum of 9 squared elements
 
constexpr T det () const noexcept
 computes determinant of the matrix
 
constexpr SymMatrix3< T > inverse () const noexcept
 computes inverse matrix
 
constexpr SymMatrix3< T > inverse (T det) const noexcept
 computes inverse matrix given determinant of this
 
SymMatrix3operator+= (const SymMatrix3< T > &b)
 
SymMatrix3operator-= (const SymMatrix3< T > &b)
 
SymMatrix3operator*= (T b)
 
SymMatrix3operator/= (T b)
 

Static Public Member Functions

static constexpr SymMatrix3 identity () noexcept
 
static constexpr SymMatrix3 diagonal (T diagVal) noexcept
 

Public Attributes

xx = 0
 zero matrix by default
 
xy = 0
 
xz = 0
 
yy = 0
 
yz = 0
 
zz = 0
 

Related Symbols

(Note that these are not member symbols.)

template<typename T >
Vector3< T > operator* (const SymMatrix3< T > &a, const Vector3< T > &b)
 x = a * b
 
template<typename T >
SymMatrix3< T > outerSquare (const Vector3< T > &a)
 x = a * a^T
 
template<typename T >
SymMatrix3< T > outerSquare (T k, const Vector3< T > &a)
 x = k * a * a^T
 
template<typename T >
SymMatrix3< T > crossSquare (const Vector3< T > &a)
 

Detailed Description

template<typename T>
struct MR::SymMatrix3< T >

symmetric 3x3 matrix


The documentation for this struct was generated from the following file: