omni::math::linalg::base_matrix

Defined in usdrt/gf/matrix.h

template<typename T, size_t N>
class base_matrix

Public Types

using ScalarType = T

Public Functions

base_matrix() = default
constexpr base_matrix(const base_matrix<T, N>&) = default
constexpr base_matrix<T, N> &operator=(const base_matrix<T, N>&) = default
inline explicit constexpr base_matrix(const T m[N][N])
inline explicit base_matrix(T scalar)
inline explicit base_matrix(const base_vec<T, N> &diagonal)
template<typename OTHER_T>
inline explicit base_matrix(const base_matrix<OTHER_T, N> &other)
template<typename OTHER_T>
inline base_matrix(const std::initializer_list<std::initializer_list<OTHER_T>> &other)
inline void SetRow(size_t rowIndex, const base_vec<T, N> &rowValues)
inline void SetColumn(size_t colIndex, const base_vec<T, N> &colValues)
inline base_vec<T, N> GetRow(size_t rowIndex) const
inline base_vec<T, N> GetColumn(size_t colIndex) const
inline base_matrix<T, N> &Set(const T m[N][N])
inline base_matrix<T, N> &SetIdentity()
inline base_matrix<T, N> &SetZero()
inline base_matrix<T, N> &SetDiagonal(T scalar)
inline base_matrix<T, N> &SetDiagonal(const base_vec<T, N> &diagonal)
inline T *Get(T m[N][N]) const
inline T *data()
inline const T *data() const
inline T *GetArray()
inline const T *GetArray() const
inline T *operator[](size_t row)
inline const T *operator[](size_t row) const
inline bool operator==(const base_matrix<T, N> &other) const
inline bool operator!=(const base_matrix<T, N> &other) const
template<typename OTHER_T>
inline bool operator==(const base_matrix<OTHER_T, N> &other) const
template<typename OTHER_T>
inline bool operator!=(const base_matrix<OTHER_T, N> &other) const
inline base_matrix<T, N> &operator*=(const base_matrix<T, N> &other)
inline base_matrix<T, N> &operator*=(T scalar)
inline base_matrix<T, N> &operator+=(const base_matrix<T, N> &other)
inline base_matrix<T, N> &operator-=(const base_matrix<T, N> &other)

Public Static Attributes

static const size_t numRows = N
static const size_t numColumns = N

Protected Attributes

T v[N][N]