OWL
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
owl::common::LinearSpace3< T > Struct Template Reference

3D Linear Transform (3x3 Matrix) More...

#include <LinearSpace.h>

Public Types

using scalar_t = typename T::scalar_t
 
using vector_t = T
 

Public Member Functions

__both__ LinearSpace3 ()
 
inline LinearSpace3 (const LinearSpace3 &other)=default
 
__both__ LinearSpace3operator= (const LinearSpace3 &other)
 
template<typename L1 >
__both__ LinearSpace3 (const LinearSpace3< L1 > &s)
 
__both__ LinearSpace3 (const vector_t &vx, const vector_t &vy, const vector_t &vz)
 
__both__ LinearSpace3 (const QuaternionT< scalar_t > &q)
 
__both__ LinearSpace3 (const scalar_t &m00, const scalar_t &m01, const scalar_t &m02, const scalar_t &m10, const scalar_t &m11, const scalar_t &m12, const scalar_t &m20, const scalar_t &m21, const scalar_t &m22)
 
__both__ const scalar_t det () const
 
__both__ const LinearSpace3 adjoint () const
 
__both__ const LinearSpace3 inverse () const
 
__both__ const LinearSpace3 transposed () const
 
__both__ const vector_t row0 () const
 
__both__ const vector_t row1 () const
 
__both__ const vector_t row2 () const
 
__both__ LinearSpace3 (const ZeroTy &)
 Constants.
 
__both__ LinearSpace3 (const OneTy &)
 

Static Public Member Functions

static __both__ LinearSpace3 scale (const vector_t &s)
 
static __both__ LinearSpace3 rotate (const vector_t &_u, const scalar_t &r)
 
static __both__ QuaternionT< scalar_t > rotation (const LinearSpace3 &a)
 

Public Attributes

vx
 
vy
 
vz
 

Detailed Description

template<typename T>
struct owl::common::LinearSpace3< T >

3D Linear Transform (3x3 Matrix)

Constructor & Destructor Documentation

◆ LinearSpace3() [1/4]

template<typename T >
__both__ owl::common::LinearSpace3< T >::LinearSpace3 ( )
inline

default matrix constructor

◆ LinearSpace3() [2/4]

template<typename T >
__both__ owl::common::LinearSpace3< T >::LinearSpace3 ( const vector_t &  vx,
const vector_t &  vy,
const vector_t &  vz 
)
inline

matrix construction from column vectors

◆ LinearSpace3() [3/4]

template<typename T >
__both__ owl::common::LinearSpace3< T >::LinearSpace3 ( const QuaternionT< scalar_t > &  q)
inline

construction from quaternion

◆ LinearSpace3() [4/4]

template<typename T >
__both__ owl::common::LinearSpace3< T >::LinearSpace3 ( const scalar_t &  m00,
const scalar_t &  m01,
const scalar_t &  m02,
const scalar_t &  m10,
const scalar_t &  m11,
const scalar_t &  m12,
const scalar_t &  m20,
const scalar_t &  m21,
const scalar_t &  m22 
)
inline

matrix construction from row mayor data

Member Function Documentation

◆ adjoint()

template<typename T >
__both__ const LinearSpace3 owl::common::LinearSpace3< T >::adjoint ( ) const
inline

compute adjoint matrix

◆ det()

template<typename T >
__both__ const scalar_t owl::common::LinearSpace3< T >::det ( ) const
inline

compute the determinant of the matrix

◆ inverse()

template<typename T >
__both__ const LinearSpace3 owl::common::LinearSpace3< T >::inverse ( ) const
inline

compute inverse matrix

◆ rotate()

template<typename T >
static __both__ LinearSpace3 owl::common::LinearSpace3< T >::rotate ( const vector_t &  _u,
const scalar_t &  r 
)
inlinestatic

return matrix for rotation around arbitrary axis

◆ rotation()

template<typename T >
static __both__ QuaternionT< scalar_t > owl::common::LinearSpace3< T >::rotation ( const LinearSpace3< T > &  a)
inlinestatic

return quaternion for given rotation matrix

◆ row0()

template<typename T >
__both__ const vector_t owl::common::LinearSpace3< T >::row0 ( ) const
inline

returns first row of matrix

◆ row1()

template<typename T >
__both__ const vector_t owl::common::LinearSpace3< T >::row1 ( ) const
inline

returns second row of matrix

◆ row2()

template<typename T >
__both__ const vector_t owl::common::LinearSpace3< T >::row2 ( ) const
inline

returns third row of matrix

◆ scale()

template<typename T >
static __both__ LinearSpace3 owl::common::LinearSpace3< T >::scale ( const vector_t &  s)
inlinestatic

return matrix for scaling

◆ transposed()

template<typename T >
__both__ const LinearSpace3 owl::common::LinearSpace3< T >::transposed ( ) const
inline

compute transposed matrix

Member Data Documentation

◆ vx

template<typename T >
T owl::common::LinearSpace3< T >::vx

the column vectors of the matrix


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