|
| LMatrix3f (const LMatrix3f &other) |
|
| LMatrix3f (float e00, float e01, float e02, float e10, float e11, float e12, float e20, float e21, float e22) |
|
| LMatrix3f (const EMatrix3 &m) |
|
size_t | add_hash (size_t hash) const |
| Adds the vector into the running hash. More...
|
|
size_t | add_hash (size_t hash, float threshold) const |
| Adds the vector into the running hash. More...
|
|
bool | almost_equal (const LMatrix3f &other, float threshold) const |
| Returns true if two matrices are memberwise equal within a specified tolerance. More...
|
|
bool | almost_equal (const LMatrix3f &other) const |
| Returns true if two matrices are memberwise equal within a default tolerance based on the numeric type. More...
|
|
iterator | begin () |
| Returns an iterator that may be used to traverse the elements of the matrix, STL-style. More...
|
|
const_iterator | begin () const |
| Returns an iterator that may be used to traverse the elements of the matrix, STL-style. More...
|
|
int | compare_to (const LMatrix3f &other) const |
| This flavor of compare_to uses a default threshold value based on the numeric type. More...
|
|
int | compare_to (const LMatrix3f &other, float threshold) const |
| Sorts matrices lexicographically, componentwise. More...
|
|
void | componentwise_mult (const LMatrix3f &other) |
|
float | determinant () const |
| Returns the determinant of the matrix. More...
|
|
iterator | end () |
| Returns an iterator that may be used to traverse the elements of the matrix, STL-style. More...
|
|
const_iterator | end () const |
| Returns an iterator that may be used to traverse the elements of the matrix, STL-style. More...
|
|
void | fill (float fill_value) |
| Sets each element of the matrix to the indicated fill_value. More...
|
|
void | generate_hash (ChecksumHashGenerator &hashgen) const |
| Adds the vector to the indicated hash generator. More...
|
|
void | generate_hash (ChecksumHashGenerator &hashgen, float threshold) const |
| Adds the vector to the indicated hash generator. More...
|
|
float | get_cell (int row, int col) const |
| Returns a particular element of the matrix. More...
|
|
LVecBase3f | get_col (int col) const |
| Returns the indicated column of the matrix as a three-component vector. More...
|
|
LVecBase2f | get_col2 (int col) const |
| Returns the indicated column of the matrix as a two-component vector, ignoring the last row. More...
|
|
const float * | get_data () const |
| Returns the address of the first of the nine data elements in the matrix. More...
|
|
size_t | get_hash () const |
| Returns a suitable hash for phash_map. More...
|
|
size_t | get_hash (float threshold) const |
| Returns a suitable hash for phash_map. More...
|
|
int | get_num_components () const |
| Returns the number of elements in the matrix, nine. More...
|
|
LVecBase3f | get_row (int row) const |
| Returns the indicated row of the matrix as a three-component vector. More...
|
|
void | get_row (LVecBase3f &result_vec, int row) const |
| Stores the indicated row of the matrix as a three-component vector. More...
|
|
LVecBase2f | get_row2 (int row) const |
| Returns the indicated row of the matrix as a two-component vector, ignoring the last column. More...
|
|
bool | invert_from (const LMatrix3f &other) |
| Computes the inverse of the other matrix, and stores the result in this matrix. More...
|
|
bool | invert_in_place () |
| Inverts the current matrix. More...
|
|
bool | invert_transpose_from (const LMatrix3f &other) |
| Simultaneously computes the inverse of the indicated matrix, and then the transpose of that inverse. More...
|
|
bool | invert_transpose_from (const LMatrix4f &other) |
| Simultaneously computes the inverse of the indicated matrix, and then the transpose of that inverse. More...
|
|
bool | is_identity () const |
| Returns true if this is (close enough to) the identity matrix, false otherwise. More...
|
|
bool | is_nan () const |
| Returns true if any component of the matrix is not-a-number, false otherwise. More...
|
|
| MAKE_SEQ (get_rows, size, get_row) |
|
| MAKE_SEQ (get_cols, size, get_col) |
|
| MAKE_SEQ (get_col2s, size, get_col2) |
|
| MAKE_SEQ (get_row2s, size, get_row2) |
|
void | multiply (const LMatrix3f &other1, const LMatrix3f &other2) |
|
bool | operator!= (const LMatrix3f &other) const |
|
float & | operator() (int row, int col) |
|
float | operator() (int row, int col) const |
|
LMatrix3f | operator* (const LMatrix3f &other) const |
|
LMatrix3f | operator* (float scalar) const |
|
LMatrix3f & | operator*= (const LMatrix3f &other) |
|
LMatrix3f & | operator*= (float scalar) |
| Performs a memberwise scale. More...
|
|
LMatrix3f & | operator+= (const LMatrix3f &other) |
| Performs a memberwise addition between two matrices. More...
|
|
LMatrix3f & | operator-= (const LMatrix3f &other) |
| Performs a memberwise subtraction between two matrices. More...
|
|
LMatrix3f | operator/ (float scalar) const |
|
LMatrix3f & | operator/= (float scalar) |
| Performs a memberwise scale. More...
|
|
bool | operator< (const LMatrix3f &other) const |
| This performs a lexicographical comparison. More...
|
|
LMatrix3f & | operator= (const LMatrix3f &other) |
|
LMatrix3f & | operator= (float fill_value) |
|
bool | operator== (const LMatrix3f &other) const |
|
CRow | operator[] (int i) const |
|
Row | operator[] (int i) |
|
void | output (ostream &out) const |
|
void | read_datagram (DatagramIterator &source) |
| Reads the matrix from the Datagram using get_stdfloat(). More...
|
|
void | read_datagram_fixed (DatagramIterator &scan) |
| Reads the matrix from the Datagram using get_float32() or get_float64(). More...
|
|
void | set (float e00, float e01, float e02, float e10, float e11, float e12, float e20, float e21, float e22) |
|
void | set_cell (int row, int col, float value) |
| Changes a particular element of the matrix. More...
|
|
void | set_col (int col, const LVecBase3f &v) |
| Replaces the indicated column of the matrix from a three-component vector. More...
|
|
void | set_col (int col, const LVecBase2f &v) |
| Replaces the indicated column of the matrix from a two-component vector, ignoring the last row. More...
|
|
void | set_rotate_mat (float angle) |
| Fills mat with a matrix that rotates by the given angle in degrees counterclockwise. More...
|
|
void | set_rotate_mat (float angle, const LVecBase3f &axis, CoordinateSystem cs=CS_default) |
| Fills mat with a matrix that rotates by the given angle in degrees counterclockwise about the indicated vector. More...
|
|
void | set_rotate_mat_normaxis (float angle, const LVecBase3f &axis, CoordinateSystem cs=CS_default) |
| Fills mat with a matrix that rotates by the given angle in degrees counterclockwise about the indicated vector. More...
|
|
void | set_row (int row, const LVecBase3f &v) |
| Replaces the indicated row of the matrix from a three-component vector. More...
|
|
void | set_row (int row, const LVecBase2f &v) |
| Replaces the indicated row of the matrix from a two-component vector, ignoring the last column. More...
|
|
void | set_scale_mat (const LVecBase2f &scale) |
| Fills mat with a matrix that applies the indicated scale in each of the two axes. More...
|
|
void | set_scale_mat (const LVecBase3f &scale) |
| Fills mat with a matrix that applies the indicated scale in each of the three axes. More...
|
|
void | set_scale_shear_mat (const LVecBase3f &scale, const LVecBase3f &shear, CoordinateSystem cs=CS_default) |
| Fills mat with a matrix that applies the indicated scale and shear. More...
|
|
void | set_shear_mat (const LVecBase3f &shear, CoordinateSystem cs=CS_default) |
| Fills mat with a matrix that applies the indicated shear in each of the three planes. More...
|
|
void | set_translate_mat (const LVecBase2f &trans) |
| Fills mat with a matrix that applies the indicated translation. More...
|
|
void | transpose_from (const LMatrix3f &other) |
|
void | transpose_in_place () |
|
void | write (ostream &out, int indent_level=0) const |
|
void | write_datagram (Datagram &destination) const |
| Writes the matrix to the Datagram using add_stdfloat(). More...
|
|
void | write_datagram_fixed (Datagram &destination) const |
| 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(). More...
|
|
LVecBase3f | xform (const LVecBase3f &v) const |
| 3-component vector or point times matrix. More...
|
|
void | xform_in_place (LVecBase3f &v) const |
| 3-component vector or point times matrix. More...
|
|
LVecBase2f | xform_point (const LVecBase2f &v) const |
| The matrix transforms a 2-component point (including translation component) and returns the result. More...
|
|
void | xform_point_in_place (LVecBase2f &v) const |
| The matrix transforms a 2-component point (including translation component). More...
|
|
LVecBase2f | xform_vec (const LVecBase2f &v) const |
| The matrix transforms a 2-component vector (without translation component) and returns the result. More...
|
|
LVecBase3f | xform_vec (const LVecBase3f &v) const |
| The matrix transforms a 3-component vector and returns the result. More...
|
|
LVecBase3f | xform_vec_general (const LVecBase3f &v) const |
| The matrix transforms a 3-component vector (without translation component) and returns the result, as a fully general operation. More...
|
|
void | xform_vec_general_in_place (LVecBase3f &v) const |
| The matrix transforms a 3-component vector (without translation component), as a fully general operation. More...
|
|
void | xform_vec_in_place (LVecBase2f &v) const |
| The matrix transforms a 2-component vector (without translation component). More...
|
|
void | xform_vec_in_place (LVecBase3f &v) const |
| The matrix transforms a 3-component vector. More...
|
|
|
static const LMatrix3f & | convert_mat (CoordinateSystem from, CoordinateSystem to) |
| Returns a matrix that transforms from the indicated coordinate system to the indicated coordinate system. More...
|
|
static TypeHandle | get_class_type () |
|
static const LMatrix3f & | ident_mat () |
| Returns an identity matrix. More...
|
|
static void | init_type () |
|
static LMatrix3f | rotate_mat (float angle) |
| Returns a matrix that rotates by the given angle in degrees counterclockwise. More...
|
|
static LMatrix3f | rotate_mat (float angle, const LVecBase3f &axis, CoordinateSystem cs=CS_default) |
| Returns a matrix that rotates by the given angle in degrees counterclockwise about the indicated vector. More...
|
|
static LMatrix3f | rotate_mat_normaxis (float angle, const LVecBase3f &axis, CoordinateSystem cs=CS_default) |
| Returns a matrix that rotates by the given angle in degrees counterclockwise about the indicated vector. More...
|
|
static LMatrix3f | scale_mat (const LVecBase2f &scale) |
| Returns a matrix that applies the indicated scale in each of the two axes. More...
|
|
static LMatrix3f | scale_mat (float sx, float sy) |
| Returns a matrix that applies the indicated scale in each of the two axes. More...
|
|
static LMatrix3f | scale_mat (const LVecBase3f &scale) |
| Returns a matrix that applies the indicated scale in each of the three axes. More...
|
|
static LMatrix3f | scale_mat (float sx, float sy, float sz) |
| Returns a matrix that applies the indicated scale in each of the three axes. More...
|
|
static LMatrix3f | scale_shear_mat (const LVecBase3f &scale, const LVecBase3f &shear, CoordinateSystem cs=CS_default) |
| Returns a matrix that applies the indicated scale and shear. More...
|
|
static LMatrix3f | scale_shear_mat (float sx, float sy, float sz, float shxy, float shxz, float shyz, CoordinateSystem cs=CS_default) |
| Returns a matrix that applies the indicated scale and shear. More...
|
|
static LMatrix3f | shear_mat (const LVecBase3f &shear, CoordinateSystem cs=CS_default) |
| Returns a matrix that applies the indicated shear in each of the three planes. More...
|
|
static LMatrix3f | shear_mat (float shxy, float shxz, float shyz, CoordinateSystem cs=CS_default) |
| Returns a matrix that applies the indicated shear in each of the three planes. More...
|
|
static int | size () |
| Returns 3: the number of rows of a LMatrix3. More...
|
|
static LMatrix3f | translate_mat (const LVecBase2f &trans) |
| Returns a matrix that applies the indicated translation. More...
|
|
static LMatrix3f | translate_mat (float tx, float ty) |
| Returns a matrix that applies the indicated translation. More...
|
|
This is a 3-by-3 transform matrix.
It typically will represent either a rotation-and-scale (no translation) matrix in 3-d, or a full affine matrix (rotation, scale, translation) in 2-d, e.g. for a texture matrix.
Definition at line 110 of file lmatrix.h.