opynsim
Unofficial C++ Documentation
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Friends | List of all members
osc::Matrix< T, 4, 4 > Struct Template Reference

#include <matrix4x4.h>

Public Types

using column_type = Vector< T, 4 >
 
using row_type = Vector< T, 4 >
 
using value_type = column_type
 
using element_type = T
 
using size_type = size_t
 
using difference_type = ptrdiff_t
 
using reference = column_type &
 
using const_reference = const column_type &
 
using pointer = column_type *
 
using const_pointer = const column_type *
 
using iterator = column_type *
 
using const_iterator = const column_type *
 

Public Member Functions

constexpr Matrix ()=default
 
constexpr Matrix (T s)
 
constexpr Matrix (const T &x0, const T &y0, const T &z0, const T &w0, const T &x1, const T &y1, const T &z1, const T &w1, const T &x2, const T &y2, const T &z2, const T &w2, const T &x3, const T &y3, const T &z3, const T &w3)
 
constexpr Matrix (const column_type &v0, const column_type &v1, const column_type &v2, const column_type &v3)
 
template<typename X0 , typename Y0 , typename Z0 , typename W0 , typename X1 , typename Y1 , typename Z1 , typename W1 , typename X2 , typename Y2 , typename Z2 , typename W2 , typename X3 , typename Y3 , typename Z3 , typename W3 >
constexpr Matrix (const X0 &x0, const Y0 &y0, const Z0 &z0, const W0 &w0, const X1 &x1, const Y1 &y1, const Z1 &z1, const W1 &w1, const X2 &x2, const Y2 &y2, const Z2 &z2, const W2 &w2, const X3 &x3, const Y3 &y3, const Z3 &z3, const W3 &w3)
 
template<typename V1 , typename V2 , typename V3 , typename V4 >
constexpr Matrix (const Vector< V1, 4 > &v1, const Vector< V2, 4 > &v2, const Vector< V3, 4 > &v3, const Vector< V4, 4 > &v4)
 
constexpr Matrix (const Matrix< T, 3, 3 > &m)
 
template<typename U >
Matrixoperator= (const Matrix< U, 4, 4 > &m)
 
constexpr size_type size () const
 
constexpr pointer data ()
 
constexpr const_pointer data () const
 
constexpr iterator begin ()
 
constexpr const_iterator begin () const
 
constexpr iterator end ()
 
constexpr const_iterator end () const
 
constexpr reference operator[] (size_type pos)
 
constexpr const_reference operator[] (size_type pos) const
 
template<typename U >
Matrixoperator+= (U s)
 
template<typename U >
Matrixoperator+= (const Matrix< U, 4, 4 > &m)
 
template<typename U >
Matrixoperator-= (U s)
 
template<typename U >
Matrixoperator-= (const Matrix< U, 4, 4 > &m)
 
template<typename U >
Matrixoperator*= (U s)
 
template<typename U >
Matrixoperator*= (const Matrix< U, 4, 4 > &m)
 
template<typename U >
Matrixoperator/= (U s)
 
template<typename U >
Matrixoperator/= (const Matrix< U, 4, 4 > &m)
 
Matrixoperator++ ()
 
Matrixoperator-- ()
 
Matrix operator++ (int)
 
Matrix operator-- (int)
 

Friends

bool operator== (const Matrix &, const Matrix &)=default
 

Member Typedef Documentation

◆ column_type

template<typename T >
using osc::Matrix< T, 4, 4 >::column_type = Vector<T, 4>

◆ const_iterator

template<typename T >
using osc::Matrix< T, 4, 4 >::const_iterator = const column_type*

◆ const_pointer

template<typename T >
using osc::Matrix< T, 4, 4 >::const_pointer = const column_type*

◆ const_reference

template<typename T >
using osc::Matrix< T, 4, 4 >::const_reference = const column_type&

◆ difference_type

template<typename T >
using osc::Matrix< T, 4, 4 >::difference_type = ptrdiff_t

◆ element_type

template<typename T >
using osc::Matrix< T, 4, 4 >::element_type = T

◆ iterator

template<typename T >
using osc::Matrix< T, 4, 4 >::iterator = column_type*

◆ pointer

template<typename T >
using osc::Matrix< T, 4, 4 >::pointer = column_type*

◆ reference

template<typename T >
using osc::Matrix< T, 4, 4 >::reference = column_type&

◆ row_type

template<typename T >
using osc::Matrix< T, 4, 4 >::row_type = Vector<T, 4>

◆ size_type

template<typename T >
using osc::Matrix< T, 4, 4 >::size_type = size_t

◆ value_type

template<typename T >
using osc::Matrix< T, 4, 4 >::value_type = column_type

Constructor & Destructor Documentation

◆ Matrix() [1/7]

template<typename T >
constexpr osc::Matrix< T, 4, 4 >::Matrix ( )
constexprdefault

◆ Matrix() [2/7]

template<typename T >
constexpr osc::Matrix< T, 4, 4 >::Matrix ( T  s)
inlineexplicitconstexpr

◆ Matrix() [3/7]

template<typename T >
constexpr osc::Matrix< T, 4, 4 >::Matrix ( const T x0,
const T y0,
const T z0,
const T w0,
const T x1,
const T y1,
const T z1,
const T w1,
const T x2,
const T y2,
const T z2,
const T w2,
const T x3,
const T y3,
const T z3,
const T w3 
)
inlineconstexpr

◆ Matrix() [4/7]

template<typename T >
constexpr osc::Matrix< T, 4, 4 >::Matrix ( const column_type v0,
const column_type v1,
const column_type v2,
const column_type v3 
)
inlineconstexpr

◆ Matrix() [5/7]

template<typename T >
constexpr osc::Matrix< T, 4, 4 >::Matrix ( const X0 x0,
const Y0 y0,
const Z0 z0,
const W0 w0,
const X1 &  x1,
const Y1 &  y1,
const Z1 z1,
const W1 w1,
const X2 x2,
const Y2 y2,
const Z2 z2,
const W2 w2,
const X3 x3,
const Y3 y3,
const Z3 z3,
const W3 w3 
)
inlineconstexpr

◆ Matrix() [6/7]

template<typename T >
constexpr osc::Matrix< T, 4, 4 >::Matrix ( const Vector< V1, 4 > &  v1,
const Vector< V2, 4 > &  v2,
const Vector< V3, 4 > &  v3,
const Vector< V4, 4 > &  v4 
)
inlineconstexpr

◆ Matrix() [7/7]

template<typename T >
constexpr osc::Matrix< T, 4, 4 >::Matrix ( const Matrix< T, 3, 3 > &  m)
inlineconstexpr

Member Function Documentation

◆ begin() [1/2]

template<typename T >
constexpr iterator osc::Matrix< T, 4, 4 >::begin ( )
inlineconstexpr

◆ begin() [2/2]

template<typename T >
constexpr const_iterator osc::Matrix< T, 4, 4 >::begin ( ) const
inlineconstexpr

◆ data() [1/2]

template<typename T >
constexpr pointer osc::Matrix< T, 4, 4 >::data ( )
inlineconstexpr

◆ data() [2/2]

template<typename T >
constexpr const_pointer osc::Matrix< T, 4, 4 >::data ( ) const
inlineconstexpr

◆ end() [1/2]

template<typename T >
constexpr iterator osc::Matrix< T, 4, 4 >::end ( )
inlineconstexpr

◆ end() [2/2]

template<typename T >
constexpr const_iterator osc::Matrix< T, 4, 4 >::end ( ) const
inlineconstexpr

◆ operator*=() [1/2]

template<typename T >
template<typename U >
Matrix & osc::Matrix< T, 4, 4 >::operator*= ( const Matrix< U, 4, 4 > &  m)
inline

◆ operator*=() [2/2]

template<typename T >
template<typename U >
Matrix & osc::Matrix< T, 4, 4 >::operator*= ( U  s)
inline

◆ operator++() [1/2]

template<typename T >
Matrix & osc::Matrix< T, 4, 4 >::operator++ ( )
inline

◆ operator++() [2/2]

template<typename T >
Matrix osc::Matrix< T, 4, 4 >::operator++ ( int  )
inline

◆ operator+=() [1/2]

template<typename T >
template<typename U >
Matrix & osc::Matrix< T, 4, 4 >::operator+= ( const Matrix< U, 4, 4 > &  m)
inline

◆ operator+=() [2/2]

template<typename T >
template<typename U >
Matrix & osc::Matrix< T, 4, 4 >::operator+= ( U  s)
inline

◆ operator--() [1/2]

template<typename T >
Matrix & osc::Matrix< T, 4, 4 >::operator-- ( )
inline

◆ operator--() [2/2]

template<typename T >
Matrix osc::Matrix< T, 4, 4 >::operator-- ( int  )
inline

◆ operator-=() [1/2]

template<typename T >
template<typename U >
Matrix & osc::Matrix< T, 4, 4 >::operator-= ( const Matrix< U, 4, 4 > &  m)
inline

◆ operator-=() [2/2]

template<typename T >
template<typename U >
Matrix & osc::Matrix< T, 4, 4 >::operator-= ( U  s)
inline

◆ operator/=() [1/2]

template<typename T >
template<typename U >
Matrix & osc::Matrix< T, 4, 4 >::operator/= ( const Matrix< U, 4, 4 > &  m)
inline

◆ operator/=() [2/2]

template<typename T >
template<typename U >
Matrix & osc::Matrix< T, 4, 4 >::operator/= ( U  s)
inline

◆ operator=()

template<typename T >
template<typename U >
Matrix & osc::Matrix< T, 4, 4 >::operator= ( const Matrix< U, 4, 4 > &  m)
inline

◆ operator[]() [1/2]

template<typename T >
constexpr reference osc::Matrix< T, 4, 4 >::operator[] ( size_type  pos)
inlineconstexpr

◆ operator[]() [2/2]

template<typename T >
constexpr const_reference osc::Matrix< T, 4, 4 >::operator[] ( size_type  pos) const
inlineconstexpr

◆ size()

template<typename T >
constexpr size_type osc::Matrix< T, 4, 4 >::size ( ) const
inlineconstexpr

Friends And Related Symbol Documentation

◆ operator==

template<typename T >
bool operator== ( const Matrix< T, 4, 4 > &  ,
const Matrix< T, 4, 4 > &   
)
friend

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