a data structure to represent a matrix object (derived from MatrixType) More...
#include <OSMatrix.h>


Public Member Functions | |
| OSMatrix () | |
| ---------- Methods for class OSMatrix ---------- | |
| ~OSMatrix () | |
| OSMatrix * | createConstructorTreeFromPrefix (std::vector< MatrixNode * > mtxConstructorVec) |
| virtual ENUM_MATRIX_CONSTRUCTOR_TYPE | getNodeType () |
| virtual std::string | getNodeName () |
| virtual ENUM_MATRIX_TYPE | getMatrixType () |
| virtual bool | expandElements (bool rowMajor) |
| A method to process a matrixType into a specific block structure. | |
| 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. | |
| bool | isBlockDiagonal () |
| A method to check whether a matrix is block-diagonal. | |
| bool | setMatrix (std::string name, int numberOfRows, int numberOfColumns, ENUM_MATRIX_SYMMETRY symmetry, ENUM_MATRIX_TYPE matrixType, unsigned int inumberOfChildren, MatrixNode **m_mChildren) |
| add values to this matrix. | |
| virtual std::string | getMatrixNodeInXML () |
| virtual OSMatrix * | cloneMatrixNode () |
| The implementation of the virtual functions. | |
| bool | IsEqual (OSMatrix *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 (OSMatrix *that) |
| A function to make a deep copy of an instance of this class. | |
Public Attributes | |
| int | idx |
| std::string | name |
a data structure to represent a matrix object (derived from MatrixType)
Definition at line 2185 of file OSMatrix.h.
| OSMatrix::OSMatrix | ( | ) |
---------- Methods for class OSMatrix ----------
Definition at line 2968 of file OSMatrix.cpp.
| OSMatrix::~OSMatrix | ( | ) |
Definition at line 2979 of file OSMatrix.cpp.
| OSMatrix * OSMatrix::createConstructorTreeFromPrefix | ( | std::vector< MatrixNode * > | mtxConstructorVec | ) |
Take a vector of MatrixNodes in prefix format and create a matrix root node
| mtxConstructorVec | holds a vector of pointers to matrix constructors, mtxConstructorVec and blocks in prefix format |
Definition at line 2987 of file OSMatrix.cpp.
| ENUM_MATRIX_CONSTRUCTOR_TYPE OSMatrix::getNodeType | ( | ) | [virtual] |
Reimplemented from MatrixNode.
Definition at line 3010 of file OSMatrix.cpp.
| std::string OSMatrix::getNodeName | ( | ) | [virtual] |
Implements MatrixNode.
Definition at line 3015 of file OSMatrix.cpp.
| ENUM_MATRIX_TYPE OSMatrix::getMatrixType | ( | ) | [virtual] |
Implements MatrixNode.
Definition at line 3020 of file OSMatrix.cpp.
| bool OSMatrix::expandElements | ( | bool | rowMajor | ) | [virtual] |
A method to process a matrixType into a specific block structure.
| rowOffset | defines a partition of the matrix rows into the blocks | |
| colOffset | defines a partition of the matrix columns into the blocks | |
| rowMajor | controls whether the blocks are stored by row or by column | |
| symmetry | can be used to store only the upper or lower triangle, depending on the parameter value --- see OSParameters.h for definitions |
| rowMajor | can be used to store the objects in row major form. |
Reimplemented from MatrixType.
Definition at line 3031 of file OSMatrix.cpp.
| bool OSMatrix::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.
| firstRow | gives the number of the first row in the submatrix (zero-based) | |
| firstColumn | gives the number of the first column in the submatrix (zero-based) | |
| nRows | gives the number of rows in the submatrix | |
| nColumns | gives the number of columns in the submatrix |
Reimplemented from MatrixType.
Definition at line 3411 of file OSMatrix.cpp.
| bool OSMatrix::isBlockDiagonal | ( | ) |
A method to check whether a matrix is block-diagonal.
| bool OSMatrix::setMatrix | ( | std::string | name, | |
| int | numberOfRows, | |||
| int | numberOfColumns, | |||
| ENUM_MATRIX_SYMMETRY | symmetry, | |||
| ENUM_MATRIX_TYPE | matrixType, | |||
| unsigned int | inumberOfChildren, | |||
| MatrixNode ** | m_mChildren | |||
| ) |
add values to this matrix.
| name | holds the matrix name; use null or empty std::string ("") if no matrix name. | |
| numberOfRows | holds the number of rows. It is required. Use 1 for column vectors. | |
| numberOfColumns | holds the number of columns. It is required. Use 1 for row vectors. | |
| symmetry | holds the type of symmetry used in the definition of the matrix. For more information see the enumeration ENUM_MATRIX_SYMMETRY in OSGeneral.h. If no symmetry, use ENUM_MATRIX_SYMMETRY_none. | |
| matrixType | tracks the type of elements contained in this matrix. For more information see the enumeration ENUM_MATRIX_TYPE in OSGeneral.h. If unsure, use ENUM_MATRIX_TYPE_unknown. | |
| inumberOfChildren | is the number of MatrixNode child elements, i.e., the number of matrix constructors in the m_mChildren array. | |
| m_mChildren | is the array of matrix constructors used in the definition of this matrix. |
Definition at line 3668 of file OSMatrix.cpp.
| std::string OSMatrix::getMatrixNodeInXML | ( | ) | [virtual] |
The following method writes a matrix node in OSgL format. it is used by OSgLWriter to write a <matrix> element.
Implements MatrixNode.
Reimplemented in OSMatrixWithMatrixVarIdx, OSMatrixWithMatrixObjIdx, and OSMatrixWithMatrixConIdx.
Definition at line 3683 of file OSMatrix.cpp.
| OSMatrix * OSMatrix::cloneMatrixNode | ( | ) | [virtual] |
The implementation of the virtual functions.
Implements MatrixNode.
Reimplemented in OSMatrixWithMatrixVarIdx, OSMatrixWithMatrixObjIdx, and OSMatrixWithMatrixConIdx.
Definition at line 3708 of file OSMatrix.cpp.
| bool OSMatrix::IsEqual | ( | OSMatrix * | that | ) | [virtual] |
A function to check for the equality of two objects.
Reimplemented from MatrixType.
Reimplemented in OSMatrixWithMatrixVarIdx, OSMatrixWithMatrixObjIdx, and OSMatrixWithMatrixConIdx.
Definition at line 3715 of file OSMatrix.cpp.
| bool OSMatrix::setRandom | ( | double | density, | |
| bool | conformant, | |||
| int | iMin, | |||
| int | iMax | |||
| ) |
A function to make a random instance of this class.
| density,: | corresponds to the probability that a particular child element is created | |
| conformant,: | if true enforces side constraints not enforceable in the schema (e.g., agreement of "numberOfXXX" attributes and <XXX> children) | |
| iMin,: | lowest index value (inclusive) that a variable reference in this matrix can take | |
| iMax,: | greatest index value (inclusive) that a variable reference in this matrix can take |
Reimplemented from MatrixType.
Reimplemented in OSMatrixWithMatrixVarIdx, OSMatrixWithMatrixObjIdx, and OSMatrixWithMatrixConIdx.
| bool OSMatrix::deepCopyFrom | ( | OSMatrix * | that | ) |
A function to make a deep copy of an instance of this class.
| that,: | the instance from which information is to be copied |
Reimplemented from MatrixType.
Reimplemented in OSMatrixWithMatrixVarIdx, OSMatrixWithMatrixObjIdx, and OSMatrixWithMatrixConIdx.
| int OSMatrix::idx |
Definition at line 2188 of file OSMatrix.h.
| std::string OSMatrix::name |
Definition at line 2189 of file OSMatrix.h.
1.6.1