OpenVDB 10.0.1
Loading...
Searching...
No Matches
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>

Inheritance diagram for Mat< SIZE, T >:
Mat3< double > Mat4< double > 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)
 
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

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::v10_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