MatrixBlock Class Reference

a data structure to represent a MatrixBlock object (derived from MatrixType) More...

#include <OSMatrix.h>

Inheritance diagram for MatrixBlock:
Inheritance graph
[legend]
Collaboration diagram for MatrixBlock:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 MatrixBlock ()
 ---------- Methods for class MatrixBlock ----------
 ~MatrixBlock ()
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 bool expandElements (bool rowMajor)
 A method to expand a matrix or block The result is a GeneralSparseMatrix object of constant matrix elements, variable references, linear or nonlinear expressions, or objective and constraint references (possibly mixed).
virtual MatrixBlockcloneMatrixNode ()
 The implementation of the virtual functions.
bool IsEqual (MatrixBlock *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 (MatrixBlock *that)
 A function to make a deep copy of an instance of this class.

Public Attributes

int blockRowIdx
int blockColIdx

Detailed Description

a data structure to represent a MatrixBlock object (derived from MatrixType)

Definition at line 2500 of file OSMatrix.h.


Constructor & Destructor Documentation

MatrixBlock::MatrixBlock (  ) 

---------- Methods for class MatrixBlock ----------

Definition at line 6295 of file OSMatrix.cpp.

MatrixBlock::~MatrixBlock (  ) 

Definition at line 6305 of file OSMatrix.cpp.


Member Function Documentation

ENUM_MATRIX_CONSTRUCTOR_TYPE MatrixBlock::getNodeType (  )  [virtual]
Returns:
the value of nType

Reimplemented from MatrixNode.

Definition at line 6312 of file OSMatrix.cpp.

std::string MatrixBlock::getNodeName (  )  [virtual]
Returns:
the name of the operator

Implements MatrixNode.

Definition at line 6317 of file OSMatrix.cpp.

ENUM_MATRIX_TYPE MatrixBlock::getMatrixType (  )  [virtual]
Returns:
the type of the matrix elements

Implements MatrixNode.

Definition at line 6322 of file OSMatrix.cpp.

std::string MatrixBlock::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 6335 of file OSMatrix.cpp.

bool MatrixBlock::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:
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
Returns:
true if the submatrix aligns with the boundaries of a block

Reimplemented from MatrixType.

Definition at line 6358 of file OSMatrix.cpp.

bool MatrixBlock::expandElements ( bool  rowMajor  )  [virtual]

A method to expand a matrix or block The result is a GeneralSparseMatrix object of constant matrix elements, variable references, linear or nonlinear expressions, or objective and constraint references (possibly mixed).

(Values depend on the matrixType.) Duplicate elements are removed according to the rules formulated in the OSiL schema.

Parameters:
rowMajor can be used to store the objects in row major form.
Returns:
whether the operation was successful or not.

Reimplemented from MatrixType.

Definition at line 6363 of file OSMatrix.cpp.

MatrixBlock * MatrixBlock::cloneMatrixNode (  )  [virtual]

The implementation of the virtual functions.

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

Implements MatrixNode.

Definition at line 6368 of file OSMatrix.cpp.

bool MatrixBlock::IsEqual ( MatrixBlock that  )  [virtual]

A function to check for the equality of two objects.

Reimplemented from MatrixType.

Definition at line 6375 of file OSMatrix.cpp.

bool MatrixBlock::setRandom ( double  density,
bool  conformant,
int  iMin,
int  iMax 
)

A function to make a random instance of this class.

Parameters:
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.

Definition at line 6380 of file OSMatrix.cpp.

bool MatrixBlock::deepCopyFrom ( MatrixBlock that  ) 

A function to make a deep copy of an instance of this class.

Parameters:
that,: the instance from which information is to be copied
Returns:
whether the copy was created successfully

Reimplemented from MatrixType.

Definition at line 6385 of file OSMatrix.cpp.


Member Data Documentation

Definition at line 2503 of file OSMatrix.h.

Definition at line 2504 of file OSMatrix.h.


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

Generated on 5 Jul 2015 by  doxygen 1.6.1