17 # pragma warning (push)
18 # pragma warning( disable : 4127 )
70 float r1c1,
float r1c2,
float r1c3,
float r1c4,
71 float r2c1,
float r2c2,
float r2c3,
float r2c4,
72 float r3c1,
float r3c2,
float r3c3,
float r3c4,
73 float r4c1,
float r4c2,
float r4c3,
float r4c4);
123 float updirection = -1.0f)
const;
128 return (
float*)&elt[r];
134 return (
const float*)&elt[r];
138 inline operator float* () {
139 return (
float*)&elt[0][0];
142 inline operator const float* ()
const {
143 return (
const float*)&elt[0][0];
149 for (
int r = 0; r < 4; ++r) {
150 for (
int c = 0; c < 4; ++c) {
151 result.
elt[r][c] = elt[r][c] + other.
elt[r][c];
179 float upDirection = -1.0f);
188 float upDirection = -1.0f);
203 float upDirection = -1.0f);
294 double r1c1,
double r1c2,
double r1c3,
double r1c4,
295 double r2c1,
double r2c2,
double r2c3,
double r2c4,
296 double r3c1,
double r3c2,
double r3c3,
double r3c4,
297 double r4c1,
double r4c2,
double r4c3,
double r4c4);
318 float upDirection = -1.0f);
323 return (
double*)&elt[r];
329 return (
const double*)&elt[r];
332 inline operator double* () {
333 return (
double*)&elt[0][0];
336 inline operator const double* ()
const {
337 return (
const double*)&elt[0][0];
345 # pragma warning (pop)
float subDeterminant(int excludeRow, int excludeCol) const
Definition: Matrix4.cpp:469
static const Matrix4 & zero()
Definition: Matrix4.cpp:97
bool operator!=(const Matrix4 &other) const
Definition: Matrix4.cpp:398
static Matrix4 diagonal(float e00, float e11, float e22, float e33)
Definition: Matrix4.h:92
float * operator[](int r)
Definition: Matrix4.h:125
float x
Definition: Vector3.h:62
static Matrix4 scale(float s)
Definition: Matrix4.h:252
bool operator!=(const Matrix4float64 &other) const
Definition: Matrix4.cpp:599
static Matrix4 scale(const Vector3 &v)
Definition: Matrix4.h:239
Vector4 column(int c) const
Definition: Matrix4.cpp:333
bool operator>(const Matrix4 &) const
A rigid body RT (rotation-translation) transformation.
Definition: CoordinateFrame.h:59
void setColumn(int c, const Vector4 &v)
Definition: Matrix4.cpp:321
static Matrix4 perspectiveProjection(double left, double right, double bottom, double top, double nearval, double farval, float upDirection=-1.0f)
Definition: Matrix4.cpp:189
static Matrix4 translation(const Vector3 &v)
Definition: Matrix4.h:257
const double * operator[](int r) const
Definition: Matrix4.h:326
Matrix4 transpose() const
Definition: Matrix4.cpp:386
Matrix4 cofactor() const
Definition: Matrix4.cpp:449
static const Matrix4float64 & zero()
Definition: Matrix4.cpp:593
bool any(float x)
Definition: g3dmath.h:424
static Matrix4 rollDegrees(float deg)
Definition: Matrix4.h:274
double * operator[](int r)
Definition: Matrix4.h:320
bool operator==(const Matrix4float64 &other) const
Definition: Matrix4.cpp:604
const float * operator[](int r) const
Definition: Matrix4.h:131
static Matrix4 yawDegrees(float deg)
Definition: Matrix4.h:266
void getPerspectiveProjectionParameters(double &left, double &right, double &bottom, double &top, double &nearval, double &farval, float updirection=-1.0f) const
Definition: Matrix4.cpp:226
float y
Definition: Vector3.h:62
static Matrix3 fromAxisAngle(const Vector3 &rkAxis, float fRadians)
Definition: Matrix3.cpp:1346
Any toAny() const
Definition: Matrix4.cpp:75
bool operator<(const Matrix4 &) const
static const Vector3 & unitX()
Definition: Vector3.cpp:121
static const Vector3 & zero()
Definition: Vector3.cpp:119
Easy loading and saving of human-readable configuration files.
Definition: Any.h:184
void deserialize(class BinaryInput &b)
Definition: Matrix4.cpp:533
Matrix4 operator*(const Matrix4 &other) const
Definition: Matrix4.cpp:342
class Matrix2 upper2x2() const
Definition: Matrix4.cpp:141
static const Matrix4 & identity()
Definition: Matrix4.cpp:87
double toRadians(double deg)
Definition: g3dmath.h:798
static const Vector3 & unitY()
Definition: Vector3.cpp:122
#define debugAssert(exp)
Definition: debugAssert.h:160
class Vector3 homoMul(const class Vector3 &v, float w) const
Definition: Matrix4.cpp:368
G3D::int16 z
Definition: Vector3int16.h:46
void serialize(class BinaryOutput &b) const
Definition: Matrix4.cpp:524
bool operator==(const Matrix4 &other) const
Definition: Matrix4.cpp:403
Definition: Matrix4.h:281
G3D::int16 y
Definition: Vector2int16.h:38
bool operator<=(const Matrix4 &) const
const Vector4 & row(int r) const
Definition: Matrix4.cpp:328
static Matrix4 translation(float x, float y, float z)
Definition: Matrix4.h:261
void setRow(int r, const class Vector4 &v)
Definition: Matrix4.cpp:314
bool left(const int *a, const int *b, const int *c)
Definition: RecastContour.cpp:487
static const Vector3 & unitZ()
Definition: Vector3.cpp:123
Matrix4 operator+(const Matrix4 &other) const
Definition: Matrix4.h:147
class Matrix3 upper3x3() const
Definition: Matrix4.cpp:134
Vector4 operator*(const Vector4 &vector) const
Definition: Matrix4.cpp:625
std::string toString() const
Definition: Matrix4.cpp:541
Matrix4()
Definition: Matrix4.cpp:305
float z
Definition: Vector3.h:62
static Matrix4 orthogonalProjection(float left, float right, float bottom, float top, float nearval, float farval, float upDirection=-1.0f)
Definition: Matrix4.cpp:156
Definition: BinaryOutput.h:52
float elt[4][4]
Definition: Matrix4.h:39
bool operator>=(const Matrix4 &) const
static Matrix4 pitchDegrees(float deg)
Definition: Matrix4.h:270
class CoordinateFrame approxCoordinateFrame() const
Definition: Matrix4.cpp:507
static Matrix4 scale(float x, float y, float z)
Definition: Matrix4.h:247
Matrix4float64()
Definition: Matrix4.cpp:562
#define const
Definition: zconf.h:217
G3D::int16 x
Definition: Vector2int16.h:37
float determinant() const
Definition: Matrix4.cpp:424
Matrix4 inverse() const
Definition: Matrix4.cpp:436
static Matrix4float64 perspectiveProjection(double left, double right, double bottom, double top, double nearval, double farval, float upDirection=-1.0f)
Definition: Matrix4.cpp:639
static const Matrix4float64 & identity()
Definition: Matrix4.cpp:583
static const Matrix3 & identity()
Definition: Matrix3.cpp:70
Matrix4 adjoint() const
Definition: Matrix4.cpp:431