57 FXMat3d(FXdouble a,FXdouble b,FXdouble c);
60 FXMat3d(FXdouble a00,FXdouble a01,FXdouble a02,
61 FXdouble a10,FXdouble a11,FXdouble a12,
62 FXdouble a20,FXdouble a21,FXdouble a22);
82 FXMat3d& operator=(
const FXdouble s[]);
97 FXMat3d&
set(
const FXdouble s[]);
100 FXMat3d&
set(FXdouble a,FXdouble b,FXdouble c);
103 FXMat3d&
set(FXdouble a00,FXdouble a01,FXdouble a02,
104 FXdouble a10,FXdouble a11,FXdouble a12,
105 FXdouble a20,FXdouble a21,FXdouble a22);
117 FXMat3d& operator*=(FXdouble w);
118 FXMat3d& operator/=(FXdouble w);
122 const FXVec3d& operator[](FXint i)
const {
return m[i];}
125 operator FXdouble*(){
return m[0];}
126 operator const FXdouble*()
const {
return m[0];}
129 FXMat3d operator-()
const;
135 FXbool isIdentity()
const;
138 FXMat3d& rot(
const FXQuatd& q);
141 FXMat3d& rot(
const FXVec3d& v,FXdouble c,FXdouble s);
144 FXMat3d& rot(
const FXVec3d& v,FXdouble phi);
147 FXMat3d& xrot(FXdouble c,FXdouble s);
148 FXMat3d& xrot(FXdouble phi);
151 FXMat3d& yrot(FXdouble c,FXdouble s);
152 FXMat3d& yrot(FXdouble phi);
155 FXMat3d& zrot(FXdouble c,FXdouble s);
156 FXMat3d& zrot(FXdouble phi);
159 FXMat3d& scale(FXdouble sx,FXdouble sy,FXdouble sz);
160 FXMat3d& scale(
const FXVec3d& v);
161 FXMat3d& scale(FXdouble s);
164 FXMat3d& mirror(
const FXVec3d& n);
167 FXdouble det()
const;
170 FXMat3d transpose()
const;
173 FXMat3d invert()
const;
181 extern FXAPI FXVec2d operator*(
const FXMat3d& m,
const FXVec2d& v);
182 extern FXAPI FXVec3d operator*(
const FXMat3d& m,
const FXVec3d& v);
185 extern FXAPI FXVec2d operator*(
const FXVec2d& v,
const FXMat3d& m);
186 extern FXAPI FXVec3d operator*(
const FXVec3d& v,
const FXMat3d& m);
189 extern FXAPI FXMat3d operator+(
const FXMat3d& a,
const FXMat3d& b);
190 extern FXAPI FXMat3d operator-(
const FXMat3d& a,
const FXMat3d& b);
193 extern FXAPI FXMat3d operator*(
const FXMat3d& a,
const FXMat3d& b);
196 extern FXAPI FXMat3d operator*(FXdouble x,
const FXMat3d& a);
197 extern FXAPI FXMat3d operator*(
const FXMat3d& a,FXdouble x);
198 extern FXAPI FXMat3d operator/(
const FXMat3d& a,FXdouble x);
199 extern FXAPI FXMat3d operator/(FXdouble x,
const FXMat3d& a);
202 extern FXAPI FXbool operator==(
const FXMat3d& a,
const FXMat3d& b);
203 extern FXAPI FXbool operator!=(
const FXMat3d& a,
const FXMat3d& b);
204 extern FXAPI FXbool operator==(
const FXMat3d& a,FXdouble n);
205 extern FXAPI FXbool operator!=(
const FXMat3d& a,FXdouble n);
206 extern FXAPI FXbool operator==(FXdouble n,
const FXMat3d& a);
207 extern FXAPI FXbool operator!=(FXdouble n,
const FXMat3d& a);
210 extern FXAPI FXMat3d orthogonalize(
const FXMat3d& m);
213 extern FXAPI FXStream& operator<<(FXStream& store,
const FXMat3d& m);
216 extern FXAPI FXStream& operator>>(FXStream& store,FXMat3d& m);
Double-precision quaternion.
Definition: FXQuatd.h:32
Double-precision 3-element vector.
Definition: FXVec3d.h:28
Double-precision 4x4 matrix.
Definition: FXMat4d.h:32
Double-precision 2x2 matrix.
Definition: FXMat2d.h:31
~FXMat3d()
Destructor.
Definition: FXMat3d.h:176
FXVec3d & operator[](FXint i)
Indexing.
Definition: FXMat3d.h:121
Definition: FX4Splitter.h:28
FXMat3d()
Default constructor; value is not initialized.
Definition: FXMat3d.h:39
Double-precision 3x3 matrix.
Definition: FXMat3d.h:33