OpenVDB: Mat< SIZE, T > Class Template Reference

OpenVDB 9.0.0

Public Types | Public Member Functions | Static Public Member Functions | Protected Attributes | Friends | List of all members
Mat< SIZE, T > Class Template Reference

`#include <openvdb/math/Mat.h>`

Inherited by Mat3< double >, Mat4< double >, and Mat4< Real >.

## Public Types
enum | SIZE_ { size = SIZE }
using | value_type = T
using | ValueType = T

## Public Member Functions
| Mat ()=default
std::string | str (unsigned indentation=0) const
T * | asPointer ()
| Direct access to the internal data. More...
const T * | asPointer () const
T * | operator[] (int i)
| Array style reference to ith row. More...
const T * | operator[] (int i) const
void | write (std::ostream &os) const
void | read (std::istream &is)
T | absMax () const
| Return the maximum of the absolute of all elements in this matrix. More...
bool | isNan () const
| True if a Nan is present in this matrix. More...
bool | isInfinite () const
| True if an Inf is present in this matrix. More...
bool | isFinite () const
| True if no Nan or Inf values are present. More...
bool | isZero () const
| True if all elements are exactly zero. More...

## Static Public Member Functions
static unsigned | numRows ()
static unsigned | numColumns ()
static unsigned | numElements ()

## Protected Attributes
T | mm [SIZE *SIZE]

## Friends
std::ostream & | operator<< (std::ostream &ostr, const Mat< SIZE, T > &m)
| Write a Mat to an output stream. More...

## Detailed Description

template<unsigned SIZE, typename T>
class openvdb::v9_0::math::Mat< SIZE, T >

A base class for square matrices.

## Member Typedef Documentation

## ◆ value_type

using value_type = T

## ◆ ValueType

using ValueType = T

## Member Enumeration Documentation

## ◆ SIZE_

enum SIZE_

Enumerator
size |

## Constructor & Destructor Documentation

## ◆ Mat()

Mat | ( |  | ) |
| default

Trivial constructor, the matrix is NOT initialized

Note
  destructor, copy constructor, assignment operator and move constructor are left to be defined by the compiler (default)

## Member Function Documentation

## ◆ absMax()

T absMax | ( |  | ) | const
| inline

Return the maximum of the absolute of all elements in this matrix.

## ◆ asPointer() [1/2]

T * asPointer | ( |  | ) |
| inline

Direct access to the internal data.

## ◆ asPointer() [2/2]

const T * asPointer | ( |  | ) | const
| inline

## ◆ isFinite()

bool isFinite | ( |  | ) | const
| inline

True if no Nan or Inf values are present.

## ◆ isInfinite()

bool isInfinite | ( |  | ) | const
| inline

True if an Inf is present in this matrix.

## ◆ isNan()

bool isNan | ( |  | ) | const
| inline

True if a Nan is present in this matrix.

## ◆ isZero()

bool isZero | ( |  | ) | const
| inline

True if all elements are exactly zero.

## ◆ numColumns()

static unsigned numColumns | ( |  | ) |
| inlinestatic

## ◆ numElements()

static unsigned numElements | ( |  | ) |
| inlinestatic

## ◆ numRows()

static unsigned numRows | ( |  | ) |
| inlinestatic

## ◆ operator[]() [1/2]

T * operator[] | ( | int | i | ) |
| inline

Array style reference to ith row.

## ◆ operator[]() [2/2]

const T * operator[] | ( | int | i | ) | const
| inline

## ◆ read()

void read | ( | std::istream & | is | ) |
| inline

## ◆ str()

std::string str | ( | unsigned | indentation = `0` | ) | const
| inline

Returns
  string representation of matrix Since output is multiline, optional indentation argument prefixes each newline with that much white space. It does not indent the first line, since you might be calling this inline:

cout << "matrix: " << mat.str(7)

matrix: [[1 2] [3 4]]

## ◆ write()

void write | ( | std::ostream & | os | ) | const
| inline

## Friends And Related Function Documentation

## ◆ operator<<

std::ostream & operator<< | ( | std::ostream & | ostr,
|  | const Mat< SIZE, T > & | m
| ) |  |
| friend

Write a Mat to an output stream.

## Member Data Documentation

## ◆ mm

T mm[SIZE *SIZE]
| protected