45 FXMat3d(FXdouble a00,FXdouble a01,FXdouble a02,
46 FXdouble a10,FXdouble a11,FXdouble a12,
47 FXdouble a20,FXdouble a21,FXdouble a22);
65 FXMat3d(FXdouble a,FXdouble b,FXdouble c);
71 explicit FXMat3d(
const FXdouble s[]);
85 FXMat3d& operator=(
const FXdouble s[]);
91 FXMat3d&
set(FXdouble a00,FXdouble a01,FXdouble a02,
92 FXdouble a10,FXdouble a11,FXdouble a12,
93 FXdouble a20,FXdouble a21,FXdouble a22);
111 FXMat3d&
set(FXdouble a,FXdouble b,FXdouble c);
117 FXMat3d&
set(
const FXdouble s[]);
123 FXMat3d& operator*=(FXdouble w);
124 FXMat3d& operator/=(FXdouble w);
128 const FXVec3d& operator[](FXint i)
const {
return m[i];}
131 operator FXdouble*(){
return m[0];}
132 operator const FXdouble*()
const {
return m[0];}
135 FXMat3d operator-()
const;
141 FXbool isIdentity()
const;
144 FXMat3d& rot(
const FXQuatd& q);
147 FXMat3d& rot(
const FXVec3d& v,FXdouble c,FXdouble s);
150 FXMat3d& rot(
const FXVec3d& v,FXdouble phi);
153 FXMat3d& xrot(FXdouble c,FXdouble s);
154 FXMat3d& xrot(FXdouble phi);
157 FXMat3d& yrot(FXdouble c,FXdouble s);
158 FXMat3d& yrot(FXdouble phi);
161 FXMat3d& zrot(FXdouble c,FXdouble s);
162 FXMat3d& zrot(FXdouble phi);
165 FXMat3d& scale(FXdouble sx,FXdouble sy,FXdouble sz);
166 FXMat3d& scale(
const FXVec3d& v);
167 FXMat3d& scale(FXdouble s);
170 FXMat3d& mirror(
const FXVec3d& n);
173 FXdouble det()
const;
176 FXMat3d transpose()
const;
179 FXMat3d invert()
const;
187 extern FXAPI FXVec2d operator*(
const FXMat3d& m,
const FXVec2d& v);
188 extern FXAPI FXVec3d operator*(
const FXMat3d& m,
const FXVec3d& v);
191 extern FXAPI FXVec2d operator*(
const FXVec2d& v,
const FXMat3d& m);
192 extern FXAPI FXVec3d operator*(
const FXVec3d& v,
const FXMat3d& m);
195 extern FXAPI FXMat3d operator+(
const FXMat3d& a,
const FXMat3d& b);
196 extern FXAPI FXMat3d operator-(
const FXMat3d& a,
const FXMat3d& b);
199 extern FXAPI FXMat3d operator*(
const FXMat3d& a,
const FXMat3d& b);
202 extern FXAPI FXMat3d operator*(FXdouble x,
const FXMat3d& a);
203 extern FXAPI FXMat3d operator*(
const FXMat3d& a,FXdouble x);
204 extern FXAPI FXMat3d operator/(
const FXMat3d& a,FXdouble x);
205 extern FXAPI FXMat3d operator/(FXdouble x,
const FXMat3d& a);
208 extern FXAPI FXbool operator==(
const FXMat3d& a,
const FXMat3d& b);
209 extern FXAPI FXbool operator!=(
const FXMat3d& a,
const FXMat3d& b);
210 extern FXAPI FXbool operator==(
const FXMat3d& a,FXdouble n);
211 extern FXAPI FXbool operator!=(
const FXMat3d& a,FXdouble n);
212 extern FXAPI FXbool operator==(FXdouble n,
const FXMat3d& a);
213 extern FXAPI FXbool operator!=(FXdouble n,
const FXMat3d& a);
216 extern FXAPI FXMat3d orthogonalize(
const FXMat3d& m);
219 extern FXAPI FXStream& operator<<(FXStream& store,
const FXMat3d& m);
222 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:182
FXVec3d & operator[](FXint i)
Indexing.
Definition: FXMat3d.h:127
Definition: FX4Splitter.h:28
FXMat3d()
Default constructor; value is not initialized.
Definition: FXMat3d.h:39
Double-precision 3x3 matrix.
Definition: FXMat3d.h:33