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