#include <opennurbs_matrix.h>
Public Member Functions | |
bool | Add (const ON_Matrix &A, const ON_Matrix &B) |
bool | BackSolve (double, int, const double *, double *) const |
bool | BackSolve (double, int, const ON_3dPoint *, ON_3dPoint *) const |
bool | BackSolve (double, int, int, int, const double *, int, double *) const |
int | ColCount () const |
void | ColOp (int, double, int) |
void | ColScale (int, double) |
bool | Create (int, int) |
bool | Create (int, int, int, int) |
bool | Create (int row_count, int col_count, double **M, bool bDestructorFreeM) |
void | Destroy () |
void | EmergencyDestroy () |
bool | Invert (double) |
bool | IsColOrthoganal () const |
bool | IsColOrthoNormal () const |
bool | IsRowOrthoganal () const |
bool | IsRowOrthoNormal () const |
int | IsSquare () const |
bool | IsValid () const |
int | MaxCount () const |
int | MinCount () const |
bool | Multiply (const ON_Matrix &A, const ON_Matrix &B) |
ON_Matrix () | |
ON_Matrix (int row_count, int col_count) | |
ON_Matrix (int, int, int, int) | |
ON_Matrix (const ON_Xform &) | |
ON_Matrix (const ON_Matrix &) | |
ON_Matrix (int row_count, int col_count, double **M, bool bDestructorFreeM) | |
ON_Matrix & | operator= (const ON_Matrix &) |
ON_Matrix & | operator= (const ON_Xform &) |
double * | operator[] (int) |
const double * | operator[] (int) const |
int | RowCount () const |
void | RowOp (int, double, int) |
int | RowReduce (double, double &, double &) |
int | RowReduce (double, double *, double *=NULL) |
int | RowReduce (double, ON_3dPoint *, double *=NULL) |
int | RowReduce (double, int, int, double *, double *=NULL) |
void | RowScale (int, double) |
bool | Scale (double s) |
void | SetDiagonal (double) |
void | SetDiagonal (const double *) |
void | SetDiagonal (int, const double *) |
void | SetDiagonal (const ON_SimpleArray< double > &) |
bool | SwapCols (int, int) |
bool | SwapRows (int, int) |
bool | Transpose () |
void | Zero () |
virtual | ~ON_Matrix () |
Public Attributes | |
double ** | m |
Private Member Functions | |
double const *const * | ThisM () const |
double ** | ThisM () |
Private Attributes | |
void * | m_cmem |
int | m_col_count |
int | m_col_offset |
double ** | m_Mmem |
int | m_row_count |
int | m_row_offset |
ON_SimpleArray< double * > | m_rowmem |
Definition at line 22 of file opennurbs_matrix.h.
Definition at line 60 of file opennurbs_matrix.cpp.
ON_Matrix::ON_Matrix | ( | int | row_count, |
int | col_count | ||
) |
Definition at line 71 of file opennurbs_matrix.cpp.
ON_Matrix::ON_Matrix | ( | int | row0, |
int | row1, | ||
int | col0, | ||
int | col1 | ||
) |
Definition at line 83 of file opennurbs_matrix.cpp.
ON_Matrix::ON_Matrix | ( | const ON_Xform & | x | ) |
Definition at line 95 of file opennurbs_matrix.cpp.
ON_Matrix::ON_Matrix | ( | const ON_Matrix & | src | ) |
Definition at line 107 of file opennurbs_matrix.cpp.
ON_Matrix::ON_Matrix | ( | int | row_count, |
int | col_count, | ||
double ** | M, | ||
bool | bDestructorFreeM | ||
) |
Definition at line 119 of file opennurbs_matrix.cpp.
ON_Matrix::~ON_Matrix | ( | ) | [virtual] |
Definition at line 136 of file opennurbs_matrix.cpp.
bool ON_Matrix::Add | ( | const ON_Matrix & | A, |
const ON_Matrix & | B | ||
) |
Definition at line 1145 of file opennurbs_matrix.cpp.
bool ON_Matrix::BackSolve | ( | double | zero_tolerance, |
int | Bsize, | ||
const double * | B, | ||
double * | X | ||
) | const |
Definition at line 754 of file opennurbs_matrix.cpp.
bool ON_Matrix::BackSolve | ( | double | zero_tolerance, |
int | Bsize, | ||
const ON_3dPoint * | B, | ||
ON_3dPoint * | X | ||
) | const |
Definition at line 787 of file opennurbs_matrix.cpp.
bool ON_Matrix::BackSolve | ( | double | zero_tolerance, |
int | pt_dim, | ||
int | Bsize, | ||
int | Bpt_stride, | ||
const double * | Bpt, | ||
int | Xpt_stride, | ||
double * | Xpt | ||
) | const |
Definition at line 832 of file opennurbs_matrix.cpp.
int ON_Matrix::ColCount | ( | ) | const |
Definition at line 160 of file opennurbs_matrix.cpp.
void ON_Matrix::ColOp | ( | int | dest_col, |
double | s, | ||
int | src_col | ||
) |
Definition at line 486 of file opennurbs_matrix.cpp.
void ON_Matrix::ColScale | ( | int | dest_col, |
double | s | ||
) |
Definition at line 475 of file opennurbs_matrix.cpp.
bool ON_Matrix::Create | ( | int | row_count, |
int | col_count | ||
) |
Definition at line 175 of file opennurbs_matrix.cpp.
bool ON_Matrix::Create | ( | int | ri0, |
int | ri1, | ||
int | ci0, | ||
int | ci1 | ||
) |
Definition at line 236 of file opennurbs_matrix.cpp.
bool ON_Matrix::Create | ( | int | row_count, |
int | col_count, | ||
double ** | M, | ||
bool | bDestructorFreeM | ||
) |
Definition at line 269 of file opennurbs_matrix.cpp.
void ON_Matrix::Destroy | ( | ) |
Definition at line 288 of file opennurbs_matrix.cpp.
void ON_Matrix::EmergencyDestroy | ( | void | ) |
Definition at line 313 of file opennurbs_matrix.cpp.
bool ON_Matrix::Invert | ( | double | zero_tolerance | ) |
Definition at line 1044 of file opennurbs_matrix.cpp.
bool ON_Matrix::IsColOrthoganal | ( | ) | const |
Definition at line 1006 of file opennurbs_matrix.cpp.
bool ON_Matrix::IsColOrthoNormal | ( | ) | const |
Definition at line 1025 of file opennurbs_matrix.cpp.
bool ON_Matrix::IsRowOrthoganal | ( | ) | const |
Definition at line 968 of file opennurbs_matrix.cpp.
bool ON_Matrix::IsRowOrthoNormal | ( | ) | const |
Definition at line 987 of file opennurbs_matrix.cpp.
int ON_Matrix::IsSquare | ( | ) | const |
Definition at line 963 of file opennurbs_matrix.cpp.
bool ON_Matrix::IsValid | ( | ) | const |
Definition at line 954 of file opennurbs_matrix.cpp.
int ON_Matrix::MaxCount | ( | ) | const |
Definition at line 170 of file opennurbs_matrix.cpp.
int ON_Matrix::MinCount | ( | ) | const |
Definition at line 165 of file opennurbs_matrix.cpp.
bool ON_Matrix::Multiply | ( | const ON_Matrix & | A, |
const ON_Matrix & | B | ||
) |
Definition at line 1114 of file opennurbs_matrix.cpp.
Definition at line 326 of file opennurbs_matrix.cpp.
Definition at line 353 of file opennurbs_matrix.cpp.
double * ON_Matrix::operator[] | ( | int | i | ) |
Definition at line 50 of file opennurbs_matrix.cpp.
const double * ON_Matrix::operator[] | ( | int | i | ) | const |
Definition at line 55 of file opennurbs_matrix.cpp.
int ON_Matrix::RowCount | ( | ) | const |
Definition at line 155 of file opennurbs_matrix.cpp.
void ON_Matrix::RowOp | ( | int | dest_row, |
double | s, | ||
int | src_row | ||
) |
Definition at line 467 of file opennurbs_matrix.cpp.
int ON_Matrix::RowReduce | ( | double | zero_tolerance, |
double & | determinant, | ||
double & | pivot | ||
) |
Definition at line 499 of file opennurbs_matrix.cpp.
int ON_Matrix::RowReduce | ( | double | zero_tolerance, |
double * | B, | ||
double * | pivot = NULL |
||
) |
Definition at line 557 of file opennurbs_matrix.cpp.
int ON_Matrix::RowReduce | ( | double | zero_tolerance, |
ON_3dPoint * | B, | ||
double * | pivot = NULL |
||
) |
Definition at line 615 of file opennurbs_matrix.cpp.
int ON_Matrix::RowReduce | ( | double | zero_tolerance, |
int | pt_dim, | ||
int | pt_stride, | ||
double * | pt, | ||
double * | pivot = NULL |
||
) |
Definition at line 675 of file opennurbs_matrix.cpp.
void ON_Matrix::RowScale | ( | int | dest_row, |
double | s | ||
) |
Definition at line 460 of file opennurbs_matrix.cpp.
bool ON_Matrix::Scale | ( | double | s | ) |
Definition at line 1166 of file opennurbs_matrix.cpp.
void ON_Matrix::SetDiagonal | ( | double | d | ) |
Definition at line 915 of file opennurbs_matrix.cpp.
void ON_Matrix::SetDiagonal | ( | const double * | d | ) |
Definition at line 927 of file opennurbs_matrix.cpp.
void ON_Matrix::SetDiagonal | ( | int | count, |
const double * | d | ||
) |
Definition at line 942 of file opennurbs_matrix.cpp.
void ON_Matrix::SetDiagonal | ( | const ON_SimpleArray< double > & | a | ) |
Definition at line 949 of file opennurbs_matrix.cpp.
bool ON_Matrix::SwapCols | ( | int | col0, |
int | col1 | ||
) |
Definition at line 438 of file opennurbs_matrix.cpp.
bool ON_Matrix::SwapRows | ( | int | row0, |
int | row1 | ||
) |
Definition at line 421 of file opennurbs_matrix.cpp.
double const *const * ON_Matrix::ThisM | ( | ) | const [private] |
Definition at line 31 of file opennurbs_matrix.cpp.
double ** ON_Matrix::ThisM | ( | ) | [private] |
Definition at line 40 of file opennurbs_matrix.cpp.
bool ON_Matrix::Transpose | ( | ) |
Definition at line 376 of file opennurbs_matrix.cpp.
void ON_Matrix::Zero | ( | ) |
Definition at line 900 of file opennurbs_matrix.cpp.
double** ON_Matrix::m |
Definition at line 378 of file opennurbs_matrix.h.
void* ON_Matrix::m_cmem [private] |
Definition at line 389 of file opennurbs_matrix.h.
int ON_Matrix::m_col_count [private] |
Definition at line 383 of file opennurbs_matrix.h.
int ON_Matrix::m_col_offset [private] |
Definition at line 388 of file opennurbs_matrix.h.
double** ON_Matrix::m_Mmem [private] |
Definition at line 386 of file opennurbs_matrix.h.
int ON_Matrix::m_row_count [private] |
Definition at line 382 of file opennurbs_matrix.h.
int ON_Matrix::m_row_offset [private] |
Definition at line 387 of file opennurbs_matrix.h.
ON_SimpleArray<double*> ON_Matrix::m_rowmem [private] |
Definition at line 385 of file opennurbs_matrix.h.