| 
    HDK
    
   | 
 
#include <matrix2d.h>
Public Types | |
| typedef double | ScalarType | 
Public Member Functions | |
| GfMatrix2d ()=default | |
| Default constructor. Leaves the matrix component values undefined.  More... | |
| GfMatrix2d (double m00, double m01, double m10, double m11) | |
| GfMatrix2d (const double m[2][2]) | |
| GfMatrix2d (double s) | |
| GfMatrix2d (int s) | |
| GfMatrix2d (const GfVec2d &v) | |
| GF_API | GfMatrix2d (const std::vector< std::vector< double > > &v) | 
| GF_API | GfMatrix2d (const std::vector< std::vector< float > > &v) | 
| GF_API | GfMatrix2d (const class GfMatrix2f &m) | 
| This explicit constructor converts a "float" matrix to a "double" matrix.  More... | |
| void | SetRow (int i, const GfVec2d &v) | 
| Sets a row of the matrix from a Vec2.  More... | |
| void | SetColumn (int i, const GfVec2d &v) | 
| Sets a column of the matrix from a Vec2.  More... | |
| GfVec2d | GetRow (int i) const | 
| Gets a row of the matrix as a Vec2.  More... | |
| GfVec2d | GetColumn (int i) const | 
| Gets a column of the matrix as a Vec2.  More... | |
| GfMatrix2d & | Set (double m00, double m01, double m10, double m11) | 
| GfMatrix2d & | Set (const double m[2][2]) | 
| GfMatrix2d & | SetIdentity () | 
| Sets the matrix to the identity matrix.  More... | |
| GfMatrix2d & | SetZero () | 
| Sets the matrix to zero.  More... | |
| GF_API GfMatrix2d & | SetDiagonal (double s) | 
| Sets the matrix to s times the identity matrix.  More... | |
| GF_API GfMatrix2d & | SetDiagonal (const GfVec2d &) | 
Sets the matrix to have diagonal (v[0], v[1]).  More... | |
| GF_API double * | Get (double m[2][2]) const | 
| double * | data () | 
| const double * | data () const | 
| double * | GetArray () | 
Returns vector components as an array of double values.  More... | |
| const double * | GetArray () const | 
Returns vector components as a const array of double values.  More... | |
| double * | operator[] (int i) | 
| const double * | operator[] (int i) const | 
| GF_API bool | operator== (const GfMatrix2d &m) const | 
| GF_API bool | operator== (const GfMatrix2f &m) const | 
| bool | operator!= (const GfMatrix2d &m) const | 
| bool | operator!= (const GfMatrix2f &m) const | 
| GF_API GfMatrix2d | GetTranspose () const | 
| Returns the transpose of the matrix.  More... | |
| GF_API GfMatrix2d | GetInverse (double *det=NULL, double eps=0) const | 
| GF_API double | GetDeterminant () const | 
| Returns the determinant of the matrix.  More... | |
| GF_API GfMatrix2d & | operator*= (const GfMatrix2d &m) | 
| Post-multiplies matrix m into this matrix.  More... | |
| GF_API GfMatrix2d & | operator*= (double) | 
| Multiplies the matrix by a double.  More... | |
| GF_API GfMatrix2d & | operator+= (const GfMatrix2d &m) | 
| Adds matrix m to this matrix.  More... | |
| GF_API GfMatrix2d & | operator-= (const GfMatrix2d &m) | 
| Subtracts matrix m from this matrix.  More... | |
Static Public Attributes | |
| static const size_t | numRows = 2 | 
| static const size_t | numColumns = 2 | 
Friends | |
| class | GfMatrix2f | 
| size_t | hash_value (GfMatrix2d const &m) | 
| Hash.  More... | |
| GfMatrix2d | operator* (const GfMatrix2d &m1, double d) | 
| Returns the product of a matrix and a double.  More... | |
| GfMatrix2d | operator* (double d, const GfMatrix2d &m) | 
| GF_API friend GfMatrix2d | operator- (const GfMatrix2d &m) | 
| Returns the unary negation of matrix m.  More... | |
| GfMatrix2d | operator+ (const GfMatrix2d &m1, const GfMatrix2d &m2) | 
| Adds matrix m2 to m1.  More... | |
| GfMatrix2d | operator- (const GfMatrix2d &m1, const GfMatrix2d &m2) | 
| Subtracts matrix m2 from m1.  More... | |
| GfMatrix2d | operator* (const GfMatrix2d &m1, const GfMatrix2d &m2) | 
| Multiplies matrix m1 by m2.  More... | |
| GfMatrix2d | operator/ (const GfMatrix2d &m1, const GfMatrix2d &m2) | 
Divides matrix m1 by m2 (that is, m1 * inv(m2)).  More... | |
| GfVec2d | operator* (const GfMatrix2d &m, const GfVec2d &vec) | 
| Returns the product of a matrix m and a column vector vec.  More... | |
| GfVec2d | operator* (const GfVec2d &vec, const GfMatrix2d &m) | 
| Returns the product of row vector vec and a matrix m.  More... | |
Stores a 2x2 matrix of double elements. A basic type.
Matrices are defined to be in row-major order, so matrix[i][j] indexes the element in the i th row and the j th column. 
Definition at line 44 of file matrix2d.h.
| typedef double GfMatrix2d::ScalarType | 
Definition at line 47 of file matrix2d.h.
      
  | 
  default | 
Default constructor. Leaves the matrix component values undefined.
      
  | 
  inline | 
Constructor. Initializes the matrix from 4 independent double values, specified in row-major order. For example, parameter m10 specifies the value in row 1 and column 0. 
Definition at line 58 of file matrix2d.h.
      
  | 
  inline | 
Constructor. Initializes the matrix from a 2x2 array of double values, specified in row-major order. 
Definition at line 66 of file matrix2d.h.
      
  | 
  inlineexplicit | 
Constructor. Explicitly initializes the matrix to s times the identity matrix.
Definition at line 72 of file matrix2d.h.
      
  | 
  inlineexplicit | 
This explicit constructor initializes the matrix to s times the identity matrix. 
Definition at line 78 of file matrix2d.h.
      
  | 
  inlineexplicit | 
Constructor. Explicitly initializes the matrix to diagonal form, with the i th element on the diagonal set to v[i]. 
Definition at line 84 of file matrix2d.h.
      
  | 
  explicit | 
Constructor. Initialize the matrix from a vector of vectors of double. The vector is expected to be 2x2. If it is too big, only the first 2 rows and/or columns will be used. If it is too small, uninitialized elements will be filled in with the corresponding elements from an identity matrix.
Constructor. Initialize the matrix from a vector of vectors of float. The vector is expected to be 2x2. If it is too big, only the first 2 rows and/or columns will be used. If it is too small, uninitialized elements will be filled in with the corresponding elements from an identity matrix.
      
  | 
  explicit | 
This explicit constructor converts a "float" matrix to a "double" matrix.
      
  | 
  inline | 
Returns raw access to components of matrix as an array of double values. Components are in row-major order. 
Definition at line 177 of file matrix2d.h.
      
  | 
  inline | 
Returns const raw access to components of matrix as an array of double values. Components are in row-major order. 
Definition at line 183 of file matrix2d.h.
| GF_API double* GfMatrix2d::Get | ( | double | m[2][2] | ) | const | 
Fills a 2x2 array of double values with the values in the matrix, specified in row-major order. 
      
  | 
  inline | 
Returns vector components as an array of double values. 
Definition at line 188 of file matrix2d.h.
      
  | 
  inline | 
Returns vector components as a const array of double values. 
Definition at line 193 of file matrix2d.h.
Gets a column of the matrix as a Vec2.
Definition at line 128 of file matrix2d.h.
| GF_API double GfMatrix2d::GetDeterminant | ( | ) | const | 
Returns the determinant of the matrix.
| GF_API GfMatrix2d GfMatrix2d::GetInverse | ( | double * | det = NULL,  | 
        
| double | eps = 0  | 
        ||
| ) | const | 
Returns the inverse of the matrix, or FLT_MAX * SetIdentity() if the matrix is singular. (FLT_MAX is the largest value a float can have, as defined by the system.) The matrix is considered singular if the determinant is less than or equal to the optional parameter eps. If det is non-null, *det is set to the determinant. 
Gets a row of the matrix as a Vec2.
Definition at line 123 of file matrix2d.h.
| GF_API GfMatrix2d GfMatrix2d::GetTranspose | ( | ) | const | 
Returns the transpose of the matrix.
      
  | 
  inline | 
Tests for element-wise matrix inequality. All elements must match exactly for matrices to be considered equal.
Definition at line 229 of file matrix2d.h.
      
  | 
  inline | 
Tests for element-wise matrix inequality. All elements must match exactly for matrices to be considered equal.
Definition at line 235 of file matrix2d.h.
| GF_API GfMatrix2d& GfMatrix2d::operator*= | ( | const GfMatrix2d & | m | ) | 
Post-multiplies matrix m into this matrix.
| GF_API GfMatrix2d& GfMatrix2d::operator*= | ( | double | ) | 
Multiplies the matrix by a double.
| GF_API GfMatrix2d& GfMatrix2d::operator+= | ( | const GfMatrix2d & | m | ) | 
Adds matrix m to this matrix.
| GF_API GfMatrix2d& GfMatrix2d::operator-= | ( | const GfMatrix2d & | m | ) | 
Subtracts matrix m from this matrix.
| GF_API bool GfMatrix2d::operator== | ( | const GfMatrix2d & | m | ) | const | 
Tests for element-wise matrix equality. All elements must match exactly for matrices to be considered equal.
| GF_API bool GfMatrix2d::operator== | ( | const GfMatrix2f & | m | ) | const | 
Tests for element-wise matrix equality. All elements must match exactly for matrices to be considered equal.
      
  | 
  inline | 
Accesses an indexed row i of the matrix as an array of 2 double values so that standard indexing (such as m[0][1]) works correctly. 
Definition at line 200 of file matrix2d.h.
      
  | 
  inline | 
Accesses an indexed row i of the matrix as an array of 2 double values so that standard indexing (such as m[0][1]) works correctly. 
Definition at line 205 of file matrix2d.h.
      
  | 
  inline | 
Sets the matrix from 4 independent double values, specified in row-major order. For example, parameter m10 specifies the value in row 1 and column 0. 
Definition at line 135 of file matrix2d.h.
      
  | 
  inline | 
Sets the matrix from a 2x2 array of double values, specified in row-major order. 
Definition at line 144 of file matrix2d.h.
Sets a column of the matrix from a Vec2.
Definition at line 117 of file matrix2d.h.
| GF_API GfMatrix2d& GfMatrix2d::SetDiagonal | ( | double | s | ) | 
Sets the matrix to s times the identity matrix.
| GF_API GfMatrix2d& GfMatrix2d::SetDiagonal | ( | const GfVec2d & | ) | 
Sets the matrix to have diagonal (v[0], v[1]). 
      
  | 
  inline | 
Sets the matrix to the identity matrix.
Definition at line 153 of file matrix2d.h.
Sets a row of the matrix from a Vec2.
Definition at line 111 of file matrix2d.h.
      
  | 
  inline | 
Sets the matrix to zero.
Definition at line 158 of file matrix2d.h.
      
  | 
  friend | 
Definition at line 338 of file matrix2d.h.
      
  | 
  friend | 
Hash.
Definition at line 208 of file matrix2d.h.
      
  | 
  friend | 
Returns the product of a matrix and a double.
Definition at line 265 of file matrix2d.h.
      
  | 
  friend | 
Definition at line 273 of file matrix2d.h.
      
  | 
  friend | 
Multiplies matrix m1 by m2.
Definition at line 307 of file matrix2d.h.
      
  | 
  friend | 
Returns the product of a matrix m and a column vector vec.
Definition at line 321 of file matrix2d.h.
      
  | 
  friend | 
Returns the product of row vector vec and a matrix m.
Definition at line 327 of file matrix2d.h.
      
  | 
  friend | 
Adds matrix m2 to m1.
Definition at line 291 of file matrix2d.h.
      
  | 
  friend | 
Returns the unary negation of matrix m.
      
  | 
  friend | 
Subtracts matrix m2 from m1.
Definition at line 299 of file matrix2d.h.
      
  | 
  friend | 
Divides matrix m1 by m2 (that is, m1 * inv(m2)). 
Definition at line 315 of file matrix2d.h.
      
  | 
  static | 
Definition at line 50 of file matrix2d.h.
      
  | 
  static | 
Definition at line 49 of file matrix2d.h.