HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
ImathMatrix.h File Reference
#include "ImathExport.h"
#include "ImathNamespace.h"
#include "ImathFun.h"
#include "ImathPlatform.h"
#include "ImathShear.h"
#include "ImathVec.h"
#include <cstring>
#include <iomanip>
#include <iostream>
#include <limits>
#include <string.h>
+ Include dependency graph for ImathMatrix.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  Matrix22< T >
 
class  Matrix33< T >
 
class  Matrix44< T >
 

Typedefs

typedef Matrix22< floatM22f
 2x2 matrix of float More...
 
typedef Matrix22< double > M22d
 2x2 matrix of double More...
 
typedef Matrix33< floatM33f
 3x3 matrix of float More...
 
typedef Matrix33< double > M33d
 3x3 matrix of double More...
 
typedef Matrix44< floatM44f
 4x4 matrix of float More...
 
typedef Matrix44< double > M44d
 4x4 matrix of double More...
 

Functions

template<class T >
std::ostream & operator<< (std::ostream &s, const Matrix22< T > &m)
 
template<class T >
std::ostream & operator<< (std::ostream &s, const Matrix33< T > &m)
 
template<class T >
std::ostream & operator<< (std::ostream &s, const Matrix44< T > &m)
 
template<class S , class T >
IMATH_HOSTDEVICE const Vec2< S > & operator*= (Vec2< S > &v, const Matrix22< T > &m) IMATH_NOEXCEPT
 Vector-matrix multiplication: v *= m. More...
 
template<class S , class T >
IMATH_HOSTDEVICE Vec2< S > operator* (const Vec2< S > &v, const Matrix22< T > &m) IMATH_NOEXCEPT
 Vector-matrix multiplication: r = v * m. More...
 
template<class S , class T >
IMATH_HOSTDEVICE const Vec2< S > & operator*= (Vec2< S > &v, const Matrix33< T > &m) IMATH_NOEXCEPT
 Vector-matrix multiplication: v *= m. More...
 
template<class S , class T >
IMATH_HOSTDEVICE Vec2< S > operator* (const Vec2< S > &v, const Matrix33< T > &m) IMATH_NOEXCEPT
 Vector-matrix multiplication: r = v * m. More...
 
template<class S , class T >
IMATH_HOSTDEVICE const Vec3< S > & operator*= (Vec3< S > &v, const Matrix33< T > &m) IMATH_NOEXCEPT
 Vector-matrix multiplication: v *= m. More...
 
template<class S , class T >
IMATH_HOSTDEVICE Vec3< S > operator* (const Vec3< S > &v, const Matrix33< T > &m) IMATH_NOEXCEPT
 Vector-matrix multiplication: r = v * m. More...
 
template<class S , class T >
IMATH_HOSTDEVICE const Vec3< S > & operator*= (Vec3< S > &v, const Matrix44< T > &m) IMATH_NOEXCEPT
 Vector-matrix multiplication: v *= m. More...
 
template<class S , class T >
IMATH_HOSTDEVICE Vec3< S > operator* (const Vec3< S > &v, const Matrix44< T > &m) IMATH_NOEXCEPT
 Vector-matrix multiplication: r = v * m. More...
 
template<class S , class T >
IMATH_HOSTDEVICE const Vec4< S > & operator*= (Vec4< S > &v, const Matrix44< T > &m) IMATH_NOEXCEPT
 Vector-matrix multiplication: v *= m. More...
 
template<class S , class T >
IMATH_HOSTDEVICE Vec4< S > operator* (const Vec4< S > &v, const Matrix44< T > &m) IMATH_NOEXCEPT
 Vector-matrix multiplication: r = v * m. More...
 
template<class T >
IMATH_HOSTDEVICE Matrix22< T > operator* (T a, const Matrix22< T > &v) IMATH_NOEXCEPT
 Matrix-scalar multiplication. More...
 
template<class T >
IMATH_HOSTDEVICE Matrix33< T >
constexpr 
operator* (T a, const Matrix33< T > &v) IMATH_NOEXCEPT
 Matrix-scalar multiplication. More...
 
template<class T >
IMATH_HOSTDEVICE Matrix44< T > operator* (T a, const Matrix44< T > &v) IMATH_NOEXCEPT
 Matrix-scalar multiplication. More...
 
template<class S , class T >
IMATH_HOSTDEVICE Vec3< S >
IMATH_HOSTDEVICE 
operator* (const Vec3< S > &v, const Matrix44< T > &m) IMATH_NOEXCEPT
 Vector-matrix multiplication: r = v * m. More...
 
template<class S , class T >
IMATH_HOSTDEVICE const Vec4< S >
&IMATH_HOSTDEVICE 
operator*= (Vec4< S > &v, const Matrix44< T > &m) IMATH_NOEXCEPT
 Vector-matrix multiplication: v *= m. More...
 
template<class S , class T >
IMATH_HOSTDEVICE Vec4< S >
IMATH_HOSTDEVICE 
operator* (const Vec4< S > &v, const Matrix44< T > &m) IMATH_NOEXCEPT
 Vector-matrix multiplication: r = v * m. More...
 

Variables

IMATH_INTERNAL_NAMESPACE_HEADER_ENTER
enum IMATH_EXPORT_ENUM 
Uninitialized
 

Typedef Documentation

typedef Matrix22<double> M22d

2x2 matrix of double

Definition at line 1128 of file ImathMatrix.h.

typedef Matrix22<float> M22f

2x2 matrix of float

Definition at line 1125 of file ImathMatrix.h.

typedef Matrix33<double> M33d

3x3 matrix of double

Definition at line 1134 of file ImathMatrix.h.

typedef Matrix33<float> M33f

3x3 matrix of float

Definition at line 1131 of file ImathMatrix.h.

typedef Matrix44<double> M44d

4x4 matrix of double

Examples:
field3d/f3d_io.C.

Definition at line 1140 of file ImathMatrix.h.

typedef Matrix44<float> M44f

4x4 matrix of float

Definition at line 1137 of file ImathMatrix.h.

Function Documentation

template<class S , class T >
IMATH_HOSTDEVICE Vec2< S > operator* ( const Vec2< S > &  v,
const Matrix22< T > &  m 
)
inline

Vector-matrix multiplication: r = v * m.

Definition at line 4673 of file ImathMatrix.h.

template<class S , class T >
IMATH_HOSTDEVICE Vec2< S > operator* ( const Vec2< S > &  v,
const Matrix33< T > &  m 
)
inline

Vector-matrix multiplication: r = v * m.

Definition at line 4697 of file ImathMatrix.h.

template<class S , class T >
IMATH_HOSTDEVICE Vec3< S > operator* ( const Vec3< S > &  v,
const Matrix33< T > &  m 
)
inline

Vector-matrix multiplication: r = v * m.

Definition at line 4723 of file ImathMatrix.h.

template<class S , class T >
IMATH_HOSTDEVICE Vec3<S> operator* ( const Vec3< S > &  v,
const Matrix44< T > &  m 
)
inline

Vector-matrix multiplication: r = v * m.

Definition at line 4750 of file ImathMatrix.h.

template<class S , class T >
IMATH_HOSTDEVICE Vec4<S> operator* ( const Vec4< S > &  v,
const Matrix44< T > &  m 
)
inline

Vector-matrix multiplication: r = v * m.

Definition at line 4779 of file ImathMatrix.h.

template<class T >
IMATH_HOSTDEVICE Matrix22<T> operator* ( a,
const Matrix22< T > &  v 
)
inline

Matrix-scalar multiplication.

Definition at line 1452 of file ImathMatrix.h.

template<class T >
IMATH_HOSTDEVICE Matrix33<T> constexpr operator* ( a,
const Matrix33< T > &  v 
)
inline

Matrix-scalar multiplication.

Definition at line 2152 of file ImathMatrix.h.

template<class T >
IMATH_HOSTDEVICE Matrix44<T> operator* ( a,
const Matrix44< T > &  v 
)
inline

Matrix-scalar multiplication.

Definition at line 3577 of file ImathMatrix.h.

template<class S , class T >
IMATH_HOSTDEVICE Vec3<S> IMATH_HOSTDEVICE operator* ( const Vec3< S > &  v,
const Matrix44< T > &  m 
)
inline

Vector-matrix multiplication: r = v * m.

Definition at line 4750 of file ImathMatrix.h.

template<class S , class T >
IMATH_HOSTDEVICE Vec4<S> IMATH_HOSTDEVICE operator* ( const Vec4< S > &  v,
const Matrix44< T > &  m 
)
inline

Vector-matrix multiplication: r = v * m.

Definition at line 4779 of file ImathMatrix.h.

template<class S , class T >
IMATH_HOSTDEVICE const Vec2< S > & operator*= ( Vec2< S > &  v,
const Matrix22< T > &  m 
)
inline

Vector-matrix multiplication: v *= m.

Definition at line 4660 of file ImathMatrix.h.

template<class S , class T >
IMATH_HOSTDEVICE const Vec2< S > & operator*= ( Vec2< S > &  v,
const Matrix33< T > &  m 
)
inline

Vector-matrix multiplication: v *= m.

Definition at line 4683 of file ImathMatrix.h.

template<class S , class T >
IMATH_HOSTDEVICE const Vec3< S > & operator*= ( Vec3< S > &  v,
const Matrix33< T > &  m 
)
inline

Vector-matrix multiplication: v *= m.

Definition at line 4708 of file ImathMatrix.h.

template<class S , class T >
IMATH_HOSTDEVICE const Vec3< S > & operator*= ( Vec3< S > &  v,
const Matrix44< T > &  m 
)
inline

Vector-matrix multiplication: v *= m.

Definition at line 4734 of file ImathMatrix.h.

template<class S , class T >
IMATH_HOSTDEVICE const Vec4<S>& operator*= ( Vec4< S > &  v,
const Matrix44< T > &  m 
)
inline

Vector-matrix multiplication: v *= m.

Definition at line 4762 of file ImathMatrix.h.

template<class S , class T >
IMATH_HOSTDEVICE const Vec4<S>& IMATH_HOSTDEVICE operator*= ( Vec4< S > &  v,
const Matrix44< T > &  m 
)
inline

Vector-matrix multiplication: v *= m.

Definition at line 4762 of file ImathMatrix.h.

template<class T >
std::ostream & operator<< ( std::ostream &  s,
const Matrix22< T > &  m 
)

Stream output, as: (m00 m01 m10 m11)

Definition at line 4556 of file ImathMatrix.h.

template<class T >
std::ostream & operator<< ( std::ostream &  s,
const Matrix33< T > &  m 
)

Stream output, as: (m00 m01 m02 m10 m11 m12 m20 m21 m22)

Definition at line 4584 of file ImathMatrix.h.

template<class T >
std::ostream & operator<< ( std::ostream &  s,
const Matrix44< T > &  m 
)

Stream output, as:

(m00 m01 m02 m03
 m10 m11 m12 m13
 m20 m21 m22 m23
 m30 m31 m32 m33)  

Definition at line 4618 of file ImathMatrix.h.

Variable Documentation

IMATH_INTERNAL_NAMESPACE_HEADER_ENTER enum IMATH_EXPORT_ENUM Uninitialized

Enum used to indicate uninitialized construction of Matrix22, Matrix33, Matrix44

Definition at line 36 of file ImathMatrix.h.