|
| __init__ () |
|
| __init__ (const LMatrix3d upper3) |
|
| __init__ (const LMatrix3d upper3, const LVecBase3d trans) |
|
| __init__ (const LMatrix4d other) |
|
| __init__ (const UnalignedLMatrix4d other) |
|
| __init__ (double e00, double e01, double e02, double e03, double e10, double e11, double e12, double e13, double e20, double e21, double e22, double e23, double e30, double e31, double e32, double e33) |
|
object | __reduce__ () |
|
str | __repr__ () |
|
| accumulate (const LMatrix4d other, double weight) |
| Computes (*this) += other * weight. More...
|
|
size_t | addHash (size_t hash) |
| Adds the vector into the running hash. More...
|
|
size_t | addHash (size_t hash, double threshold) |
| Adds the vector into the running hash. More...
|
|
bool | almostEqual (const LMatrix4d other) |
| Returns true if two matrices are memberwise equal within a default tolerance based on the numeric type. More...
|
|
bool | almostEqual (const LMatrix4d other, double threshold) |
| Returns true if two matrices are memberwise equal within a specified tolerance. This is faster than the equivalence operator as this doesn't have to guarantee that it is transitive. More...
|
|
| begin () |
| Returns an iterator that may be used to traverse the elements of the matrix, STL-style. More...
|
|
| begin () |
| Returns an iterator that may be used to traverse the elements of the matrix, STL-style. More...
|
|
int | compareTo (const LMatrix4d other) |
| This flavor of compare_to uses a default threshold value based on the numeric type. More...
|
|
int | compareTo (const LMatrix4d other, double threshold) |
| Sorts matrices lexicographically, componentwise. Returns a number less than 0 if this matrix sorts before the other one, greater than zero if it sorts after, 0 if they are equivalent (within the indicated tolerance). More...
|
|
| componentwiseMult (const LMatrix4d other) |
|
| end () |
| Returns an iterator that may be used to traverse the elements of the matrix, STL-style. More...
|
|
| end () |
| Returns an iterator that may be used to traverse the elements of the matrix, STL-style. More...
|
|
| fill (double fill_value) |
| Sets each element of the matrix to the indicated fill_value. This is of questionable value, but is sometimes useful when initializing to zero. More...
|
|
| generateHash (ChecksumHashGenerator hashgen) |
| Adds the vector to the indicated hash generator. More...
|
|
| generateHash (ChecksumHashGenerator hashgen, double scale) |
| Adds the vector to the indicated hash generator. More...
|
|
double | getCell (int row, int col) |
| Returns a particular element of the matrix. More...
|
|
LVecBase4d | getCol (int col) |
| Retrieves the indicated column of the matrix as a 4-component vector. More...
|
|
LVecBase3d | getCol3 (int col) |
| Retrieves the indicated column of the matrix as a 3-component vector, ignoring the last row. More...
|
|
list | getCols () |
|
| getData () |
| Returns the address of the first of the nine data elements in the matrix. The remaining elements occupy the next eight positions in row-major order. More...
|
|
size_t | getHash () |
| Returns a suitable hash for phash_map. More...
|
|
size_t | getHash (double threshold) |
| Returns a suitable hash for phash_map. More...
|
|
int | getNumComponents () |
| Returns the number of elements in the matrix, 16. More...
|
|
| getRow (LVecBase4d result_vec, int row) |
| Stores the indicated row of the matrix as a 4-component vector. More...
|
|
LVecBase4d | getRow (int row) |
| Retrieves the indicated row of the matrix as a 4-component vector. More...
|
|
| getRow3 (LVecBase3d result_vec, int row) |
| Stores the row column of the matrix as a 3-component vector, ignoring the last column. More...
|
|
LVecBase3d | getRow3 (int row) |
| Retrieves the row column of the matrix as a 3-component vector, ignoring the last column. More...
|
|
list | getRow3s () |
|
list | getRows () |
|
LMatrix3d | getUpper3 () |
| Retrieves the upper 3x3 submatrix. More...
|
|
bool | invertAffineFrom (const LMatrix4d other) |
| bugbug: we could optimize this for rotation/scale/translation matrices (transpose upper 3x3 and take negative of translation component) More...
|
|
bool | invertFrom (const LMatrix4d other) |
| Computes the inverse of the other matrix, and stores the result in this matrix. This is a fully general operation and makes no assumptions about the type of transform represented by the matrix. More...
|
|
bool | invertInPlace () |
| Inverts the current matrix. Returns true if the inverse is successful, false if the matrix was singular. More...
|
|
bool | isIdentity () |
| Returns true if this is (close enough to) the identity matrix, false otherwise. More...
|
|
bool | isNan () |
| Returns true if any component of the matrix is not-a-number, false otherwise. More...
|
|
| multiply (const LMatrix4d other1, const LMatrix4d other2) |
| this = other1 * other2 More...
|
|
| operator new (size_t size) |
|
bool | operator!= (const LMatrix4d other) |
|
| operator() (int row, int col) |
|
double | operator() (int row, int col) |
|
LMatrix4d | operator* (const LMatrix4d other) |
|
LMatrix4d | operator* (double scalar) |
|
LMatrix4d | operator*= (const LMatrix4d other) |
|
LMatrix4d | operator*= (double scalar) |
|
LMatrix4d | operator+= (const LMatrix4d other) |
| Performs a memberwise addition between two matrices. More...
|
|
LMatrix4d | operator-= (const LMatrix4d other) |
| Performs a memberwise addition between two matrices. More...
|
|
LMatrix4d | operator/ (double scalar) |
|
LMatrix4d | operator/= (double scalar) |
|
bool | operator< (const LMatrix4d other) |
|
LMatrix4d | operator= (const LMatrix4d other) |
|
LMatrix4d | operator= (const UnalignedLMatrix4d other) |
|
LMatrix4d | operator= (double fill_value) |
|
bool | operator== (const LMatrix4d other) |
|
LMatrix4d::Row | operator[] (int i) |
|
LMatrix4d::CRow | operator[] (int i) |
|
| output (Ostream out) |
|
| readDatagram (DatagramIterator source) |
| Reads the matrix from the Datagram using get_stdfloat(). More...
|
|
| readDatagramFixed (DatagramIterator scan) |
| Reads the matrix from the Datagram using get_float32() or get_float64(). See write_datagram_fixed(). More...
|
|
| set (double e00, double e01, double e02, double e03, double e10, double e11, double e12, double e13, double e20, double e21, double e22, double e23, double e30, double e31, double e32, double e33) |
|
| setCell (int row, int col, double value) |
| Changes a particular element of the matrix. More...
|
|
| setCol (int col, const LVecBase3d v) |
| Replaces the indicated column of the matrix with the indicated 3-component vector, ignoring the last row. More...
|
|
| setCol (int col, const LVecBase4d v) |
| Replaces the indicated column of the matrix. More...
|
|
| setRotateMat (double angle, const LVecBase3d axis, CoordinateSystem cs) |
| Sets mat to a matrix that rotates by the given angle in degrees counterclockwise about the indicated vector. More...
|
|
| setRotateMatNormaxis (double angle, const LVecBase3d axis, CoordinateSystem cs) |
| Fills mat with a matrix that rotates by the given angle in degrees counterclockwise about the indicated vector. Assumes axis has been prenormalized. More...
|
|
| setRow (int row, const LVecBase3d v) |
| Replaces the indicated row of the matrix with the indicated 3-component vector, ignoring the last column. More...
|
|
| setRow (int row, const LVecBase4d v) |
| Replaces the indicated row of the matrix. More...
|
|
| setScaleMat (const LVecBase3d scale) |
| Fills mat with a matrix that applies the indicated scale in each of the three axes. More...
|
|
| setScaleShearMat (const LVecBase3d scale, const LVecBase3d shear, CoordinateSystem cs) |
| Fills mat with a matrix that applies the indicated scale and shear. More...
|
|
| setShearMat (const LVecBase3d shear, CoordinateSystem cs) |
| Fills mat with a matrix that applies the indicated shear in each of the three planes. More...
|
|
| setTranslateMat (const LVecBase3d trans) |
| Fills mat with a matrix that applies the indicated translation. More...
|
|
| setUpper3 (const LMatrix3d upper3) |
| Sets the upper 3x3 submatrix. More...
|
|
| transposeFrom (const LMatrix4d other) |
|
| transposeInPlace () |
|
| write (Ostream out, int indent_level) |
|
| writeDatagram (Datagram destination) |
| Writes the matrix to the Datagram using add_stdfloat(). This is appropriate when you want to write the matrix using the standard width setting, especially when you are writing a bam file. More...
|
|
| writeDatagramFixed (Datagram destination) |
| Writes the matrix to the Datagram using add_float32() or add_float64(), depending on the type of floats in the matrix, regardless of the setting of Datagram::set_stdfloat_double(). This is appropriate when you want to write a fixed-width value to the datagram, especially when you are not writing a bam file. More...
|
|
LVecBase4d | xform (const LVecBase4d v) |
| 4-component vector or point times matrix. This is a fully general operation. More...
|
|
| xformInPlace (LVecBase4d v) |
| 4-component vector or point times matrix. This is a fully general operation. More...
|
|
LVecBase3d | xformPoint (const LVecBase3d v) |
| The matrix transforms a 3-component point (including translation component) and returns the result. This assumes the matrix is an affine transform. More...
|
|
LVecBase3d | xformPointGeneral (const LVecBase3d v) |
| The matrix transforms a 3-component point (including translation component) and returns the result, as a fully general operation. More...
|
|
| xformPointGeneralInPlace (LVecBase3d v) |
| The matrix transforms a 3-component point (including translation component), as a fully general operation. More...
|
|
| xformPointInPlace (LVecBase3d v) |
| The matrix transforms a 3-component point (including translation component). This assumes the matrix is an affine transform. More...
|
|
LVecBase3d | xformVec (const LVecBase3d v) |
| The matrix transforms a 3-component vector (without translation component) and returns the result. This assumes the matrix is an orthonormal transform. More...
|
|
LVecBase3d | xformVecGeneral (const LVecBase3d v) |
| The matrix transforms a 3-component vector (without translation component) and returns the result, as a fully general operation. More...
|
|
| xformVecGeneralInPlace (LVecBase3d v) |
| The matrix transforms a 3-component vector (without translation component), as a fully general operation. More...
|
|
| xformVecInPlace (LVecBase3d v) |
| The matrix transforms a 3-component vector (without translation component). This assumes the matrix is an orthonormal transform. More...
|
|
|
static const LMatrix4d | convertMat (CoordinateSystem from, CoordinateSystem to) |
| Returns a matrix that transforms from the indicated coordinate system to the indicated coordinate system. More...
|
|
static TypeHandle | getClassType () |
|
static const LMatrix4d | identMat () |
| Returns an identity matrix. More...
|
|
static const LMatrix4d | onesMat () |
| Returns an matrix filled with ones. More...
|
|
static LMatrix4d | rotateMat (double angle, const LVecBase3d axis, CoordinateSystem cs) |
| Returns a matrix that rotates by the given angle in degrees counterclockwise about the indicated vector. More...
|
|
static LMatrix4d | rotateMatNormaxis (double angle, const LVecBase3d axis, CoordinateSystem cs) |
| Returns a matrix that rotates by the given angle in degrees counterclockwise about the indicated vector. Assumes axis has been prenormalized. More...
|
|
static LMatrix4d | scaleMat (const LVecBase3d scale) |
| Returns a matrix that applies the indicated scale in each of the three axes. More...
|
|
static LMatrix4d | scaleMat (double scale) |
| Returns a matrix that applies the indicated uniform scale. More...
|
|
static LMatrix4d | scaleMat (double sx, double sy, double sz) |
| Returns a matrix that applies the indicated scale in each of the three axes. More...
|
|
static LMatrix4d | scaleShearMat (const LVecBase3d scale, const LVecBase3d shear, CoordinateSystem cs) |
| Returns a matrix that applies the indicated scale and shear. More...
|
|
static LMatrix4d | scaleShearMat (double sx, double sy, double sz, double shxy, double shxz, double shyz, CoordinateSystem cs) |
| Returns a matrix that applies the indicated scale and shear. More...
|
|
static LMatrix4d | shearMat (const LVecBase3d shear, CoordinateSystem cs) |
| Returns a matrix that applies the indicated shear in each of the three planes. More...
|
|
static LMatrix4d | shearMat (double shxy, double shxz, double shyz, CoordinateSystem cs) |
| Returns a matrix that applies the indicated shear in each of the three planes. More...
|
|
static int | size () |
| Returns 4: the number of rows of a LMatrix4. More...
|
|
static LMatrix4d | translateMat (const LVecBase3d trans) |
| Returns a matrix that applies the indicated translation. More...
|
|
static LMatrix4d | translateMat (double tx, double ty, double tz) |
| Returns a matrix that applies the indicated translation. More...
|
|
static const LMatrix4d | yToZUpMat () |
| Returns a matrix that transforms from the Y-up coordinate system to the Z-up coordinate system. More...
|
|
static const LMatrix4d | zerosMat () |
| Returns an matrix filled with zeros. More...
|
|
static const LMatrix4d | zToYUpMat () |
| Returns a matrix that transforms from the Y-up coordinate system to the Z-up coordinate system. More...
|
|