|
| constexpr | Matrix4 () noexcept |
| |
| constexpr | Matrix4 (const Vector4< T > &x, const Vector4< T > &y, const Vector4< T > &z, const Vector4< T > &w) |
| | initializes matrix from 4 row-vectors
|
| |
| constexpr | Matrix4 (const Matrix3< T > &r, const Vector3< T > &t) |
| | construct from rotation matrix and translation vector
|
| |
| template<MR_SAME_TYPE_TEMPLATE_PARAM(T, TT) > |
| constexpr | Matrix4 (const AffineXf3< TT > &xf) MR_REQUIRES_IF_SUPPORTED(std |
| |
| template<typename U > |
| | MR_REQUIRES_IF_SUPPORTED (!std::is_same_v< T, U >) const expr explicit Matrix4(const Matrix4< U > &m) |
| |
| constexpr const T & | operator() (int row, int col) const noexcept |
| | element access
|
| |
| constexpr T & | operator() (int row, int col) noexcept |
| |
| constexpr const Vector4< T > & | operator[] (int row) const noexcept |
| | row access
|
| |
| constexpr Vector4< T > & | operator[] (int row) noexcept |
| |
| constexpr Vector4< T > | col (int i) const noexcept |
| | column access
|
| |
| constexpr T | trace () const noexcept |
| | computes trace of the matrix
|
| |
| constexpr T | normSq () const noexcept |
| | compute sum of squared matrix elements
|
| |
| constexpr auto | norm () const noexcept |
| |
| Matrix3< T > | submatrix3 (int i, int j) const noexcept |
| | computes submatrix of the matrix with excluded i-th row and j-th column
|
| |
| T | det () const noexcept |
| | computes determinant of the matrix
|
| |
| constexpr Matrix4< T > inverse() const noexcept MR_REQUIRES_IF_SUPPORTED(!std constexpr Matrix4< T > | transposed () const noexcept |
| | computes inverse matrix
|
| |
| constexpr Matrix3< T > | getRotation () const noexcept |
| |
| void | setRotation (const Matrix3< T > &rot) noexcept |
| |
| constexpr Vector3< T > | getTranslation () const noexcept |
| |
| void | setTranslation (const Vector3< T > &t) noexcept |
| |
| constexpr T * | data () |
| |
| constexpr const T * | data () const |
| |
| template<MR_SAME_TYPE_TEMPLATE_PARAM(T, TT) > |
| | operator AffineXf3< TT > () const MR_REQUIRES_IF_SUPPORTED(std |
| |
|
| Vector3< T > operator()(const Vector3< T > &b) const MR_REQUIRES_IF_SUPPORTED(!std friend constexpr bool | operator== (const Matrix4< T > &a, const Matrix4< T > &b) |
| |
| constexpr bool | operator!= (const Matrix4< T > &a, const Matrix4< T > &b) |
| |
| constexpr auto | operator+ (const Matrix4< T > &a, const Matrix4< T > &b) -> Matrix4< decltype(std::declval< T >()+std::declval< T >())> |
| |
| constexpr auto | operator- (const Matrix4< T > &a, const Matrix4< T > &b) -> Matrix4< decltype(std::declval< T >() - std::declval< T >())> |
| |
| constexpr auto | operator* (T a, const Matrix4< T > &b) -> Matrix4< decltype(std::declval< T >() *std::declval< T >())> |
| |
| constexpr auto | operator* (const Matrix4< T > &b, T a) -> Matrix4< decltype(std::declval< T >() *std::declval< T >())> |
| |
| constexpr auto | operator/ (Matrix4< T > b, T a) -> Matrix4< decltype(std::declval< T >()/std::declval< T >())> |
| |
| constexpr Matrix4< T > & | operator+= (Matrix4< T > &a, const Matrix4< T > &b) |
| |
| constexpr Matrix4< T > & | operator-= (Matrix4< T > &a, const Matrix4< T > &b) |
| |
| constexpr Matrix4< T > & | operator*= (Matrix4< T > &a, T b) |
| |
| constexpr Matrix4< T > & | operator/= (Matrix4< T > &a, T b) |
| |
| constexpr auto | operator* (const Matrix4< T > &a, const Vector4< T > &b) -> Vector4< decltype(dot(std::declval< Vector4< T > >(), std::declval< Vector4< T > >()))> |
| | x = a * b
|
| |
| constexpr auto | operator* (const Matrix4< T > &a, const Matrix4< T > &b) -> Matrix4< decltype(dot(std::declval< Vector4< T > >(), std::declval< Vector4< T > >()))> |
| | product of two matrices
|
| |
| std::ostream & | operator<< (std::ostream &s, const Matrix4 &mat) |
| |
| std::istream & | operator>> (std::istream &s, Matrix4 &mat) |
| |
template<typename T>
struct MR::Matrix4< T >
arbitrary 4x4 matrix