Mesh Oriented datABase  (version 5.5.1)
An array-based unstructured mesh library
Matrix3.hpp File Reference
#include <iostream>
#include <iosfwd>
#include <limits>
#include <cmath>
#include <array>
#include <algorithm>
#include <cassert>
#include "moab/MOABConfig.h"
#include "moab/ErrorHandler.hpp"
#include "moab/Util.hpp"
#include "moab/Types.hpp"
#include "moab/CartVect.hpp"
+ Include dependency graph for Matrix3.hpp:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  moab::Matrix3
 

Namespaces

 moab
 Class representing axis-aligned bounding box.
 
 moab::Matrix
 

Macros

#define MOAB_DMEMZERO(a, b)   memset( a, 0, ( b ) * sizeof( double ) )
 
#define MOAB_MATRIX3_OPERATORLESS
 

Functions

template<typename Matrix >
Matrix moab::Matrix::mmult3 (const Matrix &a, const Matrix &b)
 
template<typename Matrix >
const Matrix moab::Matrix::inverse (const Matrix &d)
 
template<typename Vector , typename Matrix >
Vector moab::Matrix::vector_matrix (const Vector &v, const Matrix &m)
 
template<typename Vector , typename Matrix >
Vector moab::Matrix::matrix_vector (const Matrix &m, const Vector &v)
 
template<typename Vector >
Matrix3 moab::outer_product (const Vector &u, const Vector &v)
 
Matrix3 moab::operator+ (const Matrix3 &a, const Matrix3 &b)
 
Matrix3 moab::operator- (const Matrix3 &a, const Matrix3 &b)
 
Matrix3 moab::operator* (const Matrix3 &a, const Matrix3 &b)
 
template<typename T >
std::vector< T > moab::operator* (const Matrix3 &m, const std::vector< T > &v)
 
template<typename T >
std::vector< T > moab::operator* (const std::vector< T > &v, const Matrix3 &m)
 
CartVect moab::operator* (const Matrix3 &m, const CartVect &v)
 
CartVect moab::operator* (const CartVect &v, const Matrix3 &m)
 
std::ostream & operator<< (std::ostream &s, const moab::Matrix3 &m)
 

Detailed Description

Author
Jason Kraftcheck (kraft.nosp@m.che@.nosp@m.cae.w.nosp@m.isc..nosp@m.edu)
Date
2006-07-18
2012-08-2 Updated by rhl to be more generic. less code that does more! TODO: Remove all 'inline' keywords as it is only a suggestion to the compiler anyways, and it will ignore it or add it when it thinks its necessary.
2016-08-03 Updated to use Eigen3 support underneath to improve performance

Definition in file Matrix3.hpp.

Macro Definition Documentation

◆ MOAB_DMEMZERO

#define MOAB_DMEMZERO (   a,
 
)    memset( a, 0, ( b ) * sizeof( double ) )

Definition at line 125 of file Matrix3.hpp.

◆ MOAB_MATRIX3_OPERATORLESS

#define MOAB_MATRIX3_OPERATORLESS

Definition at line 1192 of file Matrix3.hpp.

Function Documentation

◆ operator<<()

std::ostream& operator<< ( std::ostream &  s,
const moab::Matrix3 m 
)
inline

Definition at line 1193 of file Matrix3.hpp.

1194 {
1195  return s << "| " << m( 0, 0 ) << " " << m( 0, 1 ) << " " << m( 0, 2 ) << " | " << m( 1, 0 ) << " " << m( 1, 1 )
1196  << " " << m( 1, 2 ) << " | " << m( 2, 0 ) << " " << m( 2, 1 ) << " " << m( 2, 2 ) << " |";
1197 }