Gemmi C++ API
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
gemmi::Mat33 Struct Reference

#include <math.hpp>

Public Types

typedef double row_t[3]
 

Public Member Functions

const row_toperator[] (int i) const
 
row_toperator[] (int i)
 
 Mat33 ()=default
 
 Mat33 (double d)
 
 Mat33 (double a1, double a2, double a3, double b1, double b2, double b3, double c1, double c2, double c3)
 
Vec3 row_copy (int i) const
 
Vec3 column_copy (int i) const
 
Mat33 operator+ (const Mat33 &b) const
 
Mat33 operator- (const Mat33 &b) const
 
Vec3 multiply (const Vec3 &p) const
 
Vec3 left_multiply (const Vec3 &p) const
 
Mat33 multiply_by_diagonal (const Vec3 &p) const
 
Mat33 multiply (const Mat33 &b) const
 
Mat33 transpose () const
 
double trace () const
 
bool approx (const Mat33 &other, double epsilon) const
 
bool has_nan () const
 
double determinant () const
 
Mat33 inverse () const
 
bool is_identity () const
 
double column_dot (int i, int j) const
 
bool is_upper_triangular () const
 

Static Public Member Functions

static Mat33 from_columns (const Vec3 &c1, const Vec3 &c2, const Vec3 &c3)
 

Public Attributes

double a [3][3] = { {1.,0.,0.}, {0.,1.,0.}, {0.,0.,1.} }
 

Detailed Description

Definition at line 115 of file math.hpp.

Member Typedef Documentation

◆ row_t

typedef double gemmi::Mat33::row_t[3]

Definition at line 119 of file math.hpp.

Constructor & Destructor Documentation

◆ Mat33() [1/3]

gemmi::Mat33::Mat33 ( )
default

◆ Mat33() [2/3]

gemmi::Mat33::Mat33 ( double  d)
inlineexplicit

Definition at line 124 of file math.hpp.

◆ Mat33() [3/3]

gemmi::Mat33::Mat33 ( double  a1,
double  a2,
double  a3,
double  b1,
double  b2,
double  b3,
double  c1,
double  c2,
double  c3 
)
inline

Definition at line 125 of file math.hpp.

Member Function Documentation

◆ operator[]() [1/2]

const row_t & gemmi::Mat33::operator[] ( int  i) const
inline

Definition at line 120 of file math.hpp.

◆ operator[]() [2/2]

row_t & gemmi::Mat33::operator[] ( int  i)
inline

Definition at line 121 of file math.hpp.

◆ from_columns()

static Mat33 gemmi::Mat33::from_columns ( const Vec3 c1,
const Vec3 c2,
const Vec3 c3 
)
inlinestatic

Definition at line 129 of file math.hpp.

◆ row_copy()

Vec3 gemmi::Mat33::row_copy ( int  i) const
inline

Definition at line 133 of file math.hpp.

◆ column_copy()

Vec3 gemmi::Mat33::column_copy ( int  i) const
inline

Definition at line 139 of file math.hpp.

◆ operator+()

Mat33 gemmi::Mat33::operator+ ( const Mat33 b) const
inline

Definition at line 145 of file math.hpp.

◆ operator-()

Mat33 gemmi::Mat33::operator- ( const Mat33 b) const
inline

Definition at line 150 of file math.hpp.

◆ multiply() [1/2]

Vec3 gemmi::Mat33::multiply ( const Vec3 p) const
inline

Definition at line 156 of file math.hpp.

◆ left_multiply()

Vec3 gemmi::Mat33::left_multiply ( const Vec3 p) const
inline

Definition at line 161 of file math.hpp.

◆ multiply_by_diagonal()

Mat33 gemmi::Mat33::multiply_by_diagonal ( const Vec3 p) const
inline

Definition at line 167 of file math.hpp.

◆ multiply() [2/2]

Mat33 gemmi::Mat33::multiply ( const Mat33 b) const
inline

Definition at line 172 of file math.hpp.

◆ transpose()

Mat33 gemmi::Mat33::transpose ( ) const
inline

Definition at line 179 of file math.hpp.

◆ trace()

double gemmi::Mat33::trace ( ) const
inline

Definition at line 184 of file math.hpp.

◆ approx()

bool gemmi::Mat33::approx ( const Mat33 other,
double  epsilon 
) const
inline

Definition at line 186 of file math.hpp.

◆ has_nan()

bool gemmi::Mat33::has_nan ( ) const
inline

Definition at line 193 of file math.hpp.

◆ determinant()

double gemmi::Mat33::determinant ( ) const
inline

Definition at line 201 of file math.hpp.

◆ inverse()

Mat33 gemmi::Mat33::inverse ( ) const
inline

Definition at line 206 of file math.hpp.

◆ is_identity()

bool gemmi::Mat33::is_identity ( ) const
inline

Definition at line 220 of file math.hpp.

◆ column_dot()

double gemmi::Mat33::column_dot ( int  i,
int  j 
) const
inline

Definition at line 226 of file math.hpp.

◆ is_upper_triangular()

bool gemmi::Mat33::is_upper_triangular ( ) const
inline

Definition at line 230 of file math.hpp.

Member Data Documentation

◆ a

double gemmi::Mat33::a[3][3] = { {1.,0.,0.}, {0.,1.,0.}, {0.,0.,1.} }

Definition at line 116 of file math.hpp.


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