16 #define DO_INLINE_MATRIX3 1
18 #if DO_INLINE_MATRIX3 >= 1
19 #define MATRIX3_INLINE inline
21 #define MATRIX3_INLINE
54 MATRIX3_INLINE Matrix3(
const Vec3&,
const Vec3&,
const Vec3&);
55 MATRIX3_INLINE Matrix3(
const double[3][3]);
56 MATRIX3_INLINE Matrix3(
const Matrix3&);
57 MATRIX3_INLINE
virtual ~Matrix3();
59 MATRIX3_INLINE
double det();
63 MATRIX3_INLINE Matrix3
inv();
65 MATRIX3_INLINE Matrix3
trans()
const;
66 MATRIX3_INLINE
Vec3 operator *(
const Vec3&)
const;
67 MATRIX3_INLINE Matrix3 operator *(
double)
const;
68 MATRIX3_INLINE Matrix3 operator /(
double)
const;
69 MATRIX3_INLINE Matrix3 operator *(
const Matrix3&)
const;
70 MATRIX3_INLINE Matrix3& operator +=(
const Matrix3&);
71 MATRIX3_INLINE Matrix3
operator +(
const Matrix3&)
const;
72 MATRIX3_INLINE Matrix3
operator -(
const Matrix3&)
const;
73 MATRIX3_INLINE
bool operator==(
const Matrix3&)
const;
74 MATRIX3_INLINE Matrix3 &operator=(
const Matrix3&);
75 MATRIX3_INLINE
double trace()
const;
76 MATRIX3_INLINE
double norm()
const;
78 MATRIX3_INLINE
double operator()(
int i,
int j)
const {
return m[i][j];}
80 MATRIX3_INLINE
double& operator()(
int i,
int j){
return m[i][j];}
82 MATRIX3_INLINE
friend Matrix3 operator*(
double,
const Matrix3&);
85 MATRIX3_INLINE
friend Matrix3
star(
const Vec3&);
88 MATRIX3_INLINE
static Matrix3
Unit();
94 MATRIX3_INLINE
friend ostream& operator<<(ostream&,
const Matrix3&);
97 #if DO_INLINE_MATRIX3 >= 1
98 #include "Foundation/Matrix3.hpp"