sandbox
Loading...
Searching...
No Matches
sbx::math::basic_matrix3x3< Type > Class Template Reference
Inheritance diagram for sbx::math::basic_matrix3x3< Type >:
sbx::math::basic_matrix< 3u, 3u, Type >

Public Types

using value_type = base_type::value_type
 
using reference = base_type::reference
 
using const_reference = base_type::const_reference
 
using size_type = base_type::size_type
 
using column_type = column_type_for< value_type >
 
- Public Types inherited from sbx::math::basic_matrix< 3u, 3u, Type >
enum  direction
 Matrix traversal direction.
 
using value_type = Type
 
using reference = value_type &
 
using const_reference = const value_type &
 
using size_type = std::size_t
 
using column_type = basic_vector< Rows, Type >
 

Public Member Functions

constexpr basic_matrix3x3 (const base_type &base) noexcept
 
template<typename Column0 , typename Column1 , typename Column2 >
constexpr basic_matrix3x3 (Column0 &&column0, Column1 &&column1, Column2 &&column2) noexcept
 
template<scalar Other>
constexpr basic_matrix3x3 (Other x0, Other x1, Other x2, Other y0, Other y1, Other y2, Other z0, Other z1, Other z2) noexcept
 
template<scalar Other>
constexpr basic_matrix3x3 (const Other v00, const Other v11, const Other v22) noexcept
 
template<scalar Other>
constexpr basic_matrix3x3 (const Other diagonal) noexcept
 
constexpr auto operator[] (size_type index) const noexcept -> const column_type &
 
constexpr auto operator[] (size_type index) noexcept -> column_type &
 
- Public Member Functions inherited from sbx::math::basic_matrix< 3u, 3u, Type >
constexpr basic_matrix () noexcept
 Constructs a zero-initialized matrix.
 
constexpr basic_matrix (const Other value) noexcept
 Constructs a matrix with all elements set to a value. More...
 
constexpr basic_matrix (const basic_matrix< Columns, Rows, Other > &other) noexcept
 Constructs a matrix from another matrix with convertible type. More...
 
constexpr basic_matrix (const basic_matrix &other) noexcept=default
 
constexpr basic_matrix (basic_matrix &&other) noexcept=default
 
auto operator= (const basic_matrix &other) noexcept -> basic_matrix &=default
 
auto operator= (basic_matrix &&other) noexcept -> basic_matrix &=default
 
constexpr auto operator[] (size_type index) noexcept -> column_type &
 Accesses a column by index. More...
 
constexpr auto operator[] (size_type index) const noexcept -> const column_type &
 Accesses a column by index (const). More...
 
constexpr auto operator+= (const basic_matrix< Columns, Rows, Other > &other) noexcept -> basic_matrix &
 Adds another matrix to this matrix. More...
 
constexpr auto operator-= (const basic_matrix< Columns, Rows, Other > &other) noexcept -> basic_matrix &
 Subtracts another matrix from this matrix. More...
 
constexpr auto operator*= (Other scalar) noexcept -> basic_matrix &
 Multiplies this matrix by a scalar. More...
 
constexpr auto operator/= (Other scalar) noexcept -> basic_matrix &
 Divides this matrix by a scalar. More...
 
constexpr auto row (const size_type row) const noexcept -> basic_vector< Columns, value_type >
 Extracts a row as a vector. More...
 
constexpr auto data () noexcept -> value_type *
 Returns a pointer to the underlying contiguous storage. More...
 
constexpr auto data () const noexcept -> const value_type *
 Returns a pointer to the underlying contiguous storage (const). More...
 

Static Public Member Functions

static constexpr auto inverted (const basic_matrix3x3 &matrix) -> basic_matrix3x3
 
static constexpr auto transposed (const basic_matrix3x3 &matrix) noexcept -> basic_matrix3x3
 
static constexpr auto ortho_normal (const basic_matrix3x3 &matrix) -> basic_matrix3x3
 
static constexpr auto abs (const basic_matrix3x3 &matrix) noexcept -> basic_matrix3x3
 

Static Public Attributes

static constexpr basic_matrix3x3 identity {base_type::identity()}
 
static constexpr basic_matrix3x3 zero {base_type{value_type{0}}}
 
- Static Public Attributes inherited from sbx::math::basic_matrix< 3u, 3u, Type >
static constexpr auto columns
 Number of matrix columns.
 
static constexpr auto rows
 Number of matrix rows.
 

Additional Inherited Members

- Protected Types inherited from sbx::math::basic_matrix< 3u, 3u, Type >
using column_type_for = basic_vector< Rows, Other >
 
- Protected Member Functions inherited from sbx::math::basic_matrix< 3u, 3u, Type >
constexpr basic_matrix (Args &&... args) noexcept
 Constructs a matrix from a parameter pack of scalar values. More...
 
- Static Protected Member Functions inherited from sbx::math::basic_matrix< 3u, 3u, Type >
static constexpr auto identity (const value_type value=static_cast< value_type >(1)) noexcept -> basic_matrix
 Constructs an identity matrix. More...
 

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