HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
simd::matrix44 Class Reference

#include <simd.h>

Public Member Functions

OIIO_FORCEINLINE matrix44 ()
 
OIIO_FORCEINLINE matrix44 (const Imath::M44f &M)
 Construct from a reference to an Imath::M44f. More...
 
OIIO_FORCEINLINE matrix44 (const float *f)
 Construct from a float array. More...
 
OIIO_FORCEINLINE matrix44 (const vfloat4 &a, const vfloat4 &b, const vfloat4 &c, const vfloat4 &d)
 Construct from 4 vfloat4 rows. More...
 
OIIO_FORCEINLINE matrix44 (const float *a, const float *b, const float *c, const float *d)
 Construct from 4 float[4] rows. More...
 
OIIO_FORCEINLINE matrix44 (float f00, float f01, float f02, float f03, float f10, float f11, float f12, float f13, float f20, float f21, float f22, float f23, float f30, float f31, float f32, float f33)
 Construct from 16 floats. More...
 
const Imath::M44f & M44f () const
 Present as an Imath::M44f. More...
 
vfloat4 operator[] (int i) const
 Return one row. More...
 
matrix44 transposed () const
 Return the transposed matrix. More...
 
vfloat3 transformp (const vfloat3 &V) const
 Transform 3-point V by 4x4 matrix M. More...
 
vfloat3 transformv (const vfloat3 &V) const
 Transform 3-vector V by 4x4 matrix M. More...
 
vfloat3 transformvT (const vfloat3 &V) const
 Transform 3-vector V by the transpose of 4x4 matrix M. More...
 
bool operator== (const matrix44 &m) const
 
bool operator== (const Imath::M44f &m) const
 
bool operator!= (const matrix44 &m) const
 
bool operator!= (const Imath::M44f &m) const
 
matrix44 inverse () const
 Return the inverse of the matrix. More...
 

Friends

vfloat4 operator* (const vfloat4 &V, const matrix44 &M)
 
vfloat4 operator* (const matrix44 &M, const vfloat4 &V)
 
bool operator== (const Imath::M44f &a, const matrix44 &b)
 
bool operator!= (const Imath::M44f &a, const matrix44 &b)
 
std::ostream & operator<< (std::ostream &cout, const matrix44 &M)
 Stream output. More...
 

Detailed Description

SIMD-based 4x4 matrix. This is guaranteed to have memory layout (when not in registers) isomorphic to Imath::M44f.

Definition at line 2298 of file simd.h.

Constructor & Destructor Documentation

OIIO_FORCEINLINE simd::matrix44::matrix44 ( )
inline

Definition at line 2301 of file simd.h.

OIIO_FORCEINLINE simd::matrix44::matrix44 ( const Imath::M44f M)
inlineexplicit

Construct from a reference to an Imath::M44f.

Definition at line 2308 of file simd.h.

OIIO_FORCEINLINE simd::matrix44::matrix44 ( const float f)
inlineexplicit

Construct from a float array.

Definition at line 2320 of file simd.h.

OIIO_FORCEINLINE simd::matrix44::matrix44 ( const vfloat4 a,
const vfloat4 b,
const vfloat4 c,
const vfloat4 d 
)
inlineexplicit

Construct from 4 vfloat4 rows.

Definition at line 2332 of file simd.h.

OIIO_FORCEINLINE simd::matrix44::matrix44 ( const float a,
const float b,
const float c,
const float d 
)
inlineexplicit

Construct from 4 float[4] rows.

Definition at line 2344 of file simd.h.

OIIO_FORCEINLINE simd::matrix44::matrix44 ( float  f00,
float  f01,
float  f02,
float  f03,
float  f10,
float  f11,
float  f12,
float  f13,
float  f20,
float  f21,
float  f22,
float  f23,
float  f30,
float  f31,
float  f32,
float  f33 
)
inline

Construct from 16 floats.

Definition at line 2357 of file simd.h.

Member Function Documentation

OIIO_FORCEINLINE matrix44 simd::matrix44::inverse ( ) const

Return the inverse of the matrix.

Definition at line 8264 of file simd.h.

OIIO_FORCEINLINE const Imath::M44f & simd::matrix44::M44f ( ) const

Present as an Imath::M44f.

Definition at line 8128 of file simd.h.

Definition at line 8244 of file simd.h.

Definition at line 8256 of file simd.h.

OIIO_FORCEINLINE bool simd::matrix44::operator== ( const matrix44 m) const

Definition at line 8224 of file simd.h.

OIIO_FORCEINLINE bool simd::matrix44::operator== ( const Imath::M44f m) const

Definition at line 8236 of file simd.h.

OIIO_FORCEINLINE vfloat4 simd::matrix44::operator[] ( int  i) const

Return one row.

Definition at line 8133 of file simd.h.

OIIO_FORCEINLINE vfloat3 simd::matrix44::transformp ( const vfloat3 V) const

Transform 3-point V by 4x4 matrix M.

Definition at line 8153 of file simd.h.

OIIO_FORCEINLINE vfloat3 simd::matrix44::transformv ( const vfloat3 V) const

Transform 3-vector V by 4x4 matrix M.

Definition at line 8166 of file simd.h.

OIIO_FORCEINLINE vfloat3 simd::matrix44::transformvT ( const vfloat3 V) const

Transform 3-vector V by the transpose of 4x4 matrix M.

Definition at line 8178 of file simd.h.

OIIO_FORCEINLINE matrix44 simd::matrix44::transposed ( ) const

Return the transposed matrix.

Definition at line 8142 of file simd.h.

Friends And Related Function Documentation

bool operator!= ( const Imath::M44f a,
const matrix44 b 
)
friend

Definition at line 8260 of file simd.h.

vfloat4 operator* ( const vfloat4 V,
const matrix44 M 
)
friend

Definition at line 8191 of file simd.h.

vfloat4 operator* ( const matrix44 M,
const vfloat4 V 
)
friend

Definition at line 8201 of file simd.h.

std::ostream& operator<< ( std::ostream &  cout,
const matrix44 M 
)
friend

Stream output.

Definition at line 8347 of file simd.h.

bool operator== ( const Imath::M44f a,
const matrix44 b 
)
friend

Definition at line 8240 of file simd.h.


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