My Project
BaseMatrix Class Reference

a data structure to represent a point of departure for constructing a matrix by modifying parts of a previously defined matrix More...

#include <OSMatrix.h>

Inheritance diagram for BaseMatrix:
MatrixConstructor MatrixNode

Public Member Functions

 BaseMatrix ()
 Standard constructor and destructor methods.
 
 ~BaseMatrix ()
 
virtual ENUM_MATRIX_CONSTRUCTOR_TYPE getNodeType ()
 
virtual std::string getNodeName ()
 
virtual ENUM_MATRIX_TYPE getMatrixType ()
 
virtual std::string getMatrixNodeInXML ()
 
virtual bool alignsOnBlockBoundary (int firstRow, int firstColumn, int nRows, int nCols)
 Check whether a submatrix aligns with the block partition of a matrix or block or other constructor.
 
virtual BaseMatrixcloneMatrixNode ()
 The implementation of the virtual functions.
 
bool IsEqual (BaseMatrix *that)
 A function to check for the equality of two objects.
 
- Public Member Functions inherited from MatrixConstructor
 MatrixConstructor ()
 constructor
 
virtual ~MatrixConstructor ()
 destructor
 
- Public Member Functions inherited from MatrixNode
 MatrixNode ()
 default constructor
 
virtual ~MatrixNode ()
 destructor
 
std::vector< MatrixNode * > getPrefixFromNodeTree ()
 
std::vector< MatrixNode * > preOrderMatrixNodeTraversal (std::vector< MatrixNode * > *prefixVector)
 
std::vector< MatrixNode * > getPostfixFromNodeTree ()
 
std::vector< MatrixNode * > postOrderMatrixNodeTraversal (std::vector< MatrixNode * > *postfixVector)
 
virtual bool IsEqual (MatrixNode *that)
 A function to check for the equality of two objects.
 
bool setRandom (double density, bool conformant, int iMin, int iMax)
 A function to make a random instance of this class.
 
bool deepCopyFrom (MatrixNode *that)
 A function to make a deep copy of an instance of this class.
 

Public Attributes

int baseMatrixIdx
 the index of the base matrix
 
OSMatrixbaseMatrix
 a pointer to the base matrix
 
int targetMatrixFirstRow
 to pinpoint the position of the upper left corner of the base matrix within the target matrix
 
int targetMatrixFirstCol
 
int baseMatrixStartRow
 to select the position of the upper left corner of the portion of the base matrix that is to be selected
 
int baseMatrixStartCol
 
int baseMatrixEndRow
 to select the position of the lower right corner of the portion of the base matrix that is to be selected
 
int baseMatrixEndCol
 
bool baseTranspose
 to allow the base matrix to be transposed before it is attached to the target matrix
 
double scalarMultiplier
 to allow the base matrix to be scaled before it is attached to the target matrix
 
- Public Attributes inherited from MatrixNode
ENUM_MATRIX_TYPE matrixType
 matrixType tracks the type of elements contained in this MatrixNode, which may be useful in solver selection For an enumeration of the possible types see OSParameters.h
 
ENUM_MATRIX_CONSTRUCTOR_TYPE nType
 nType is a unique integer assigned to each type of matrix node (see OSParameters.h)
 
unsigned int inumberOfChildren
 inumberOfChildren is the number of MatrixNode child elements For the matrix types (OSMatrix and MatrixBlock) this number is not fixed and is temporarily set to 0
 
MatrixNode ** m_mChildren
 m_mChildren holds all the children, that is, nodes used in the definition or construction of the current node.
 

Detailed Description

a data structure to represent a point of departure for constructing a matrix by modifying parts of a previously defined matrix

Definition at line 1536 of file OSMatrix.h.

Constructor & Destructor Documentation

◆ BaseMatrix()

BaseMatrix::BaseMatrix ( )

Standard constructor and destructor methods.

-------— Methods for class BaseMatrix -------—

Definition at line 3906 of file OSMatrix.cpp.

◆ ~BaseMatrix()

BaseMatrix::~BaseMatrix ( )

Definition at line 3924 of file OSMatrix.cpp.

Member Function Documentation

◆ getNodeType()

ENUM_MATRIX_CONSTRUCTOR_TYPE BaseMatrix::getNodeType ( )
virtual
Returns
the value of nType

Reimplemented from MatrixNode.

Definition at line 3931 of file OSMatrix.cpp.

◆ getNodeName()

std::string BaseMatrix::getNodeName ( )
virtual
Returns
the name of the operator

Implements MatrixNode.

Definition at line 3936 of file OSMatrix.cpp.

◆ getMatrixType()

ENUM_MATRIX_TYPE BaseMatrix::getMatrixType ( )
virtual
Returns
the type of the matrix elements

Implements MatrixNode.

Definition at line 3941 of file OSMatrix.cpp.

◆ getMatrixNodeInXML()

std::string BaseMatrix::getMatrixNodeInXML ( )
virtual

The following method writes a matrix node in OSgL format. it is used by OSgLWriter to write a <matrix> element.

Returns
the MatrixNode and its children as an OSgL string.

Implements MatrixNode.

Definition at line 3946 of file OSMatrix.cpp.

◆ alignsOnBlockBoundary()

bool BaseMatrix::alignsOnBlockBoundary ( int firstRow,
int firstColumn,
int nRows,
int nCols )
virtual

Check whether a submatrix aligns with the block partition of a matrix or block or other constructor.

Parameters
firstRowgives the number of the first row in the submatrix (zero-based)
firstColumngives the number of the first column in the submatrix (zero-based)
nRowsgives the number of rows in the submatrix
nColumnsgives the number of columns in the submatrix
Returns
true if the submatrix aligns with the boundaries of a block

Implements MatrixNode.

Definition at line 3971 of file OSMatrix.cpp.

◆ cloneMatrixNode()

BaseMatrix * BaseMatrix::cloneMatrixNode ( )
virtual

The implementation of the virtual functions.

Returns
a pointer to a new MatrixNode of the proper type.

Implements MatrixNode.

Definition at line 3976 of file OSMatrix.cpp.

◆ IsEqual()

bool BaseMatrix::IsEqual ( BaseMatrix * that)

A function to check for the equality of two objects.

Definition at line 3983 of file OSMatrix.cpp.

Member Data Documentation

◆ baseMatrixIdx

int BaseMatrix::baseMatrixIdx

the index of the base matrix

Definition at line 1542 of file OSMatrix.h.

◆ baseMatrix

OSMatrix* BaseMatrix::baseMatrix

a pointer to the base matrix

Definition at line 1547 of file OSMatrix.h.

◆ targetMatrixFirstRow

int BaseMatrix::targetMatrixFirstRow

to pinpoint the position of the upper left corner of the base matrix within the target matrix

Definition at line 1552 of file OSMatrix.h.

◆ targetMatrixFirstCol

int BaseMatrix::targetMatrixFirstCol

Definition at line 1553 of file OSMatrix.h.

◆ baseMatrixStartRow

int BaseMatrix::baseMatrixStartRow

to select the position of the upper left corner of the portion of the base matrix that is to be selected

Definition at line 1559 of file OSMatrix.h.

◆ baseMatrixStartCol

int BaseMatrix::baseMatrixStartCol

Definition at line 1560 of file OSMatrix.h.

◆ baseMatrixEndRow

int BaseMatrix::baseMatrixEndRow

to select the position of the lower right corner of the portion of the base matrix that is to be selected

Definition at line 1566 of file OSMatrix.h.

◆ baseMatrixEndCol

int BaseMatrix::baseMatrixEndCol

Definition at line 1567 of file OSMatrix.h.

◆ baseTranspose

bool BaseMatrix::baseTranspose

to allow the base matrix to be transposed before it is attached to the target matrix

Definition at line 1572 of file OSMatrix.h.

◆ scalarMultiplier

double BaseMatrix::scalarMultiplier

to allow the base matrix to be scaled before it is attached to the target matrix

Definition at line 1577 of file OSMatrix.h.


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