Developer Documentation

Public Types | Public Member Functions | Static Public Member Functions | Private Attributes | Friends | List of all members
ACG::Matrix3x3T< Scalar > Class Template Reference

`#include <OpenFlipper/libs_required/ACG/Math/Matrix3x3T.hh>`

## Public Types
typedef OpenMesh::VectorT< Scalar, 3 > | Vec3

## Public Member Functions
constexpr | Matrix3x3T (std::array< Scalar, 9 > row_major)
constexpr bool | operator== (const Matrix3x3T &rhs) const
constexpr const Scalar & | operator() (uint_fast8_t r, uint_fast8_t c) const
Scalar & | operator() (uint_fast8_t r, uint_fast8_t c)
constexpr const Scalar & | operator[] (uint_fast8_t i) const
| Linearized row major access.
Scalar & | operator[] (uint_fast8_t i)
| Linearized row major access.
Vec3 | getRow (uint_fast8_t r) const
void | setRow (uint_fast8_t r, const Vec3 &v)
Vec3 | getCol (uint_fast8_t c) const
void | setCol (uint_fast8_t c, const Vec3 &v)
constexpr Matrix3x3T | operator* (const Matrix3x3T &rhs) const
template<typename OtherScalar >
constexpr auto | operator* (const VectorT< OtherScalar, 3 > &rhs) const -> OpenMesh::VectorT< decltype(std::declval< Scalar >() *rhs[0]), 3 >
constexpr Matrix3x3T | operator* (Scalar c) const
constexpr Matrix3x3T | operator+ (const Matrix3x3T &rhs) const
constexpr Matrix3x3T | operator- (const Matrix3x3T &rhs) const
constexpr Matrix3x3T | operator- () const
const Matrix3x3T & | operator*= (const Matrix3x3T &rhs)
constexpr Scalar | det () const
constexpr Scalar | trace () const
void | transpose ()
constexpr Matrix3x3T | transposed () const
void | invert ()
Matrix3x3T | inverse () const
constexpr Scalar | frobeniusSquared () const
constexpr double | frobenius () const

## Static Public Member Functions
static Matrix3x3T< Scalar > | fromColumns (Vec3 c1, Vec3 c2, Vec3 c3)
static Matrix3x3T< Scalar > | fromRows (Vec3 r1, Vec3 r2, Vec3 r3)
static constexpr Matrix3x3T< Scalar > | identity ()
static constexpr Matrix3x3T< Scalar > | zero ()
static constexpr uint_fast8_t | indexof (uint_fast8_t r, uint_fast8_t c)
| Map row/column index to linearized index.

## Private Attributes
std::array< Scalar, 9 > | values_

## Friends
template<typename OtherScalar >
constexpr friend auto | operator* (VectorT< OtherScalar, 3 > v, const Matrix3x3T &rhs) -> OpenMesh::VectorT< decltype(std::declval< Scalar >() *v[0]), 3 >
constexpr friend Matrix3x3T | operator* (Scalar c, const Matrix3x3T &rhs)
std::ostream & | operator<< (std::ostream &os, const Matrix3x3T &m)

## Detailed Description

### template<typename Scalar>
class ACG::Matrix3x3T< Scalar >

Small, kinda fast 3x3 matrix class.

Definition at line 22 of file Matrix3x3T.hh.

## Constructor & Destructor Documentation

## ◆ Matrix3x3T()

template<typename Scalar>

constexpr ACG::Matrix3x3T< Scalar >::Matrix3x3T | ( | std::array< Scalar, 9 > | row_major | ) |
| inline

Initialize matrix from array in row major format.

Definition at line 64 of file Matrix3x3T.hh.

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

- OpenFlipper/libs_required/ACG/Math/Matrix3x3T.hh