QCAD
Open Source 2D CAD
Loading...
Searching...
No Matches
ON_Matrix Class Reference

#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 row_count, int col_count, double **M, bool bDestructorFreeM)
 
bool Create (int, int)
 
bool Create (int, int, int, int)
 
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 (const ON_Matrix &)
 
 ON_Matrix (const ON_Xform &)
 
 ON_Matrix (int row_count, int col_count)
 
 ON_Matrix (int row_count, int col_count, double **M, bool bDestructorFreeM)
 
 ON_Matrix (int, int, int, int)
 
ON_Matrixoperator= (const ON_Matrix &)
 
ON_Matrixoperator= (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, int, int, double *, double *=NULL)
 
int RowReduce (double, ON_3dPoint *, double *=NULL)
 
void RowScale (int, double)
 
bool Scale (double s)
 
void SetDiagonal (const double *)
 
void SetDiagonal (const ON_SimpleArray< double > &)
 
void SetDiagonal (double)
 
void SetDiagonal (int, const double *)
 
bool SwapCols (int, int)
 
bool SwapRows (int, int)
 
bool Transpose ()
 
void Zero ()
 
virtual ~ON_Matrix ()
 

Public Attributes

double ** m
 

Private Member Functions

double ** ThisM ()
 
double const *constThisM () const
 

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
 

Constructor & Destructor Documentation

◆ ON_Matrix() [1/6]

ON_Matrix::ON_Matrix ( )

◆ ON_Matrix() [2/6]

ON_Matrix::ON_Matrix ( int row_count,
int col_count )

◆ ON_Matrix() [3/6]

ON_Matrix::ON_Matrix ( int row0,
int row1,
int col0,
int col1 )

◆ ON_Matrix() [4/6]

ON_Matrix::ON_Matrix ( const ON_Xform & x)

◆ ON_Matrix() [5/6]

ON_Matrix::ON_Matrix ( const ON_Matrix & src)

◆ ON_Matrix() [6/6]

ON_Matrix::ON_Matrix ( int row_count,
int col_count,
double ** M,
bool bDestructorFreeM )

◆ ~ON_Matrix()

ON_Matrix::~ON_Matrix ( )
virtual

Member Function Documentation

◆ Add()

bool ON_Matrix::Add ( const ON_Matrix & A,
const ON_Matrix & B )

◆ BackSolve() [1/3]

bool ON_Matrix::BackSolve ( double zero_tolerance,
int Bsize,
const double * B,
double * X ) const

◆ BackSolve() [2/3]

bool ON_Matrix::BackSolve ( double zero_tolerance,
int Bsize,
const ON_3dPoint * B,
ON_3dPoint * X ) const

◆ BackSolve() [3/3]

bool ON_Matrix::BackSolve ( double zero_tolerance,
int pt_dim,
int Bsize,
int Bpt_stride,
const double * Bpt,
int Xpt_stride,
double * Xpt ) const

◆ ColCount()

int ON_Matrix::ColCount ( ) const

◆ ColOp()

void ON_Matrix::ColOp ( int dest_col,
double s,
int src_col )

◆ ColScale()

void ON_Matrix::ColScale ( int dest_col,
double s )

◆ Create() [1/3]

bool ON_Matrix::Create ( int row_count,
int col_count,
double ** M,
bool bDestructorFreeM )

◆ Create() [2/3]

bool ON_Matrix::Create ( int row_count,
int col_count )

◆ Create() [3/3]

bool ON_Matrix::Create ( int ri0,
int ri1,
int ci0,
int ci1 )

◆ Destroy()

void ON_Matrix::Destroy ( )

◆ EmergencyDestroy()

void ON_Matrix::EmergencyDestroy ( )

◆ Invert()

bool ON_Matrix::Invert ( double zero_tolerance)

◆ IsColOrthoganal()

bool ON_Matrix::IsColOrthoganal ( ) const

◆ IsColOrthoNormal()

bool ON_Matrix::IsColOrthoNormal ( ) const

◆ IsRowOrthoganal()

bool ON_Matrix::IsRowOrthoganal ( ) const

◆ IsRowOrthoNormal()

bool ON_Matrix::IsRowOrthoNormal ( ) const

◆ IsSquare()

int ON_Matrix::IsSquare ( ) const

◆ IsValid()

bool ON_Matrix::IsValid ( ) const

◆ MaxCount()

int ON_Matrix::MaxCount ( ) const

◆ MinCount()

int ON_Matrix::MinCount ( ) const

◆ Multiply()

bool ON_Matrix::Multiply ( const ON_Matrix & A,
const ON_Matrix & B )

◆ operator=() [1/2]

ON_Matrix & ON_Matrix::operator= ( const ON_Matrix & src)

◆ operator=() [2/2]

ON_Matrix & ON_Matrix::operator= ( const ON_Xform & src)

◆ operator[]() [1/2]

double * ON_Matrix::operator[] ( int i)

◆ operator[]() [2/2]

const double * ON_Matrix::operator[] ( int i) const

◆ RowCount()

int ON_Matrix::RowCount ( ) const

◆ RowOp()

void ON_Matrix::RowOp ( int dest_row,
double s,
int src_row )

◆ RowReduce() [1/4]

int ON_Matrix::RowReduce ( double zero_tolerance,
double & determinant,
double & pivot )

◆ RowReduce() [2/4]

int ON_Matrix::RowReduce ( double zero_tolerance,
double * B,
double * pivot = NULL )

◆ RowReduce() [3/4]

int ON_Matrix::RowReduce ( double zero_tolerance,
int pt_dim,
int pt_stride,
double * pt,
double * pivot = NULL )

◆ RowReduce() [4/4]

int ON_Matrix::RowReduce ( double zero_tolerance,
ON_3dPoint * B,
double * pivot = NULL )

◆ RowScale()

void ON_Matrix::RowScale ( int dest_row,
double s )

◆ Scale()

bool ON_Matrix::Scale ( double s)

◆ SetDiagonal() [1/4]

void ON_Matrix::SetDiagonal ( const double * d)

◆ SetDiagonal() [2/4]

void ON_Matrix::SetDiagonal ( const ON_SimpleArray< double > & a)

◆ SetDiagonal() [3/4]

void ON_Matrix::SetDiagonal ( double d)

◆ SetDiagonal() [4/4]

void ON_Matrix::SetDiagonal ( int count,
const double * d )

◆ SwapCols()

bool ON_Matrix::SwapCols ( int col0,
int col1 )

◆ SwapRows()

bool ON_Matrix::SwapRows ( int row0,
int row1 )

◆ ThisM() [1/2]

double ** ON_Matrix::ThisM ( )
private

◆ ThisM() [2/2]

double const *const * ON_Matrix::ThisM ( ) const
private

◆ Transpose()

bool ON_Matrix::Transpose ( )

◆ Zero()

void ON_Matrix::Zero ( )

Member Data Documentation

◆ m

double** ON_Matrix::m

◆ m_cmem

void* ON_Matrix::m_cmem
private

◆ m_col_count

int ON_Matrix::m_col_count
private

◆ m_col_offset

int ON_Matrix::m_col_offset
private

◆ m_Mmem

double** ON_Matrix::m_Mmem
private

◆ m_row_count

int ON_Matrix::m_row_count
private

◆ m_row_offset

int ON_Matrix::m_row_offset
private

◆ m_rowmem

ON_SimpleArray<double*> ON_Matrix::m_rowmem
private

The documentation for this class was generated from the following files: