MixedRowReferenceMatrixElements Class Reference

a data structure to represent row reference elements in a MatrixType object Each nonzero element references a row (if index is negative) or constraint (otherwise) This class allows the combining of row and constraint references in a single matrix constructor. More...

#include <OSMatrix.h>

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

List of all members.

Public Member Functions

 MixedRowReferenceMatrixElements ()
 ---------- Methods for class MixedRowReferenceMatrixElements ----------
 ~MixedRowReferenceMatrixElements ()
virtual
ENUM_MATRIX_CONSTRUCTOR_TYPE 
getNodeType ()
virtual ENUM_MATRIX_TYPE getMatrixType ()
virtual std::string getNodeName ()
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
MixedRowReferenceMatrixElements
cloneMatrixNode ()
bool IsEqual (MixedRowReferenceMatrixElements *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 (MixedRowReferenceMatrixElements *that)
 A function to make a deep copy of an instance of this class.

Public Attributes

ConReferenceMatrixValuesvalue
 The row references (indexes of core rows plus value type) of the elements.

Detailed Description

a data structure to represent row reference elements in a MatrixType object Each nonzero element references a row (if index is negative) or constraint (otherwise) This class allows the combining of row and constraint references in a single matrix constructor.

Definition at line 1264 of file OSMatrix.h.


Constructor & Destructor Documentation

MixedRowReferenceMatrixElements::MixedRowReferenceMatrixElements (  ) 

---------- Methods for class MixedRowReferenceMatrixElements ----------

Definition at line 5838 of file OSMatrix.cpp.

MixedRowReferenceMatrixElements::~MixedRowReferenceMatrixElements (  ) 

Definition at line 5846 of file OSMatrix.cpp.


Member Function Documentation

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

Reimplemented from MatrixNode.

Definition at line 5856 of file OSMatrix.cpp.

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

Implements MatrixNode.

Definition at line 5866 of file OSMatrix.cpp.

std::string MixedRowReferenceMatrixElements::getNodeName (  )  [virtual]
Returns:
the name of the matrix constructor

Implements MatrixNode.

Definition at line 5861 of file OSMatrix.cpp.

std::string MixedRowReferenceMatrixElements::getMatrixNodeInXML (  )  [virtual]

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

Returns:
the MatrixNode and its children as an OSgL string.
Remarks:
Since row reference elements do not exist in the schema, they must be separated into objective and constraint references.

These elements have to be printed in two passes: objReference elements first, followed by conReference elements

Implements MatrixNode.

Definition at line 5873 of file OSMatrix.cpp.

bool MixedRowReferenceMatrixElements::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 This is an abstract method which is required to be implemented by the concrete operator nodes that derive or extend from this class.

Implements MatrixNode.

Definition at line 6054 of file OSMatrix.cpp.

MixedRowReferenceMatrixElements * MixedRowReferenceMatrixElements::cloneMatrixNode (  )  [virtual]

Create or clone a node of this type. This is an abstract method which is required to be implemented by the concrete operator nodes that derive or extend from this class.

Implements MatrixNode.

Definition at line 6059 of file OSMatrix.cpp.

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

A function to check for the equality of two objects.

Reimplemented from MatrixElements.

Definition at line 6066 of file OSMatrix.cpp.

bool MixedRowReferenceMatrixElements::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 MatrixNode.

Definition at line 6108 of file OSMatrix.cpp.

bool MixedRowReferenceMatrixElements::deepCopyFrom ( MixedRowReferenceMatrixElements 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 MatrixNode.

Definition at line 6113 of file OSMatrix.cpp.


Member Data Documentation

The row references (indexes of core rows plus value type) of the elements.

This information is recycled from the ConReferenceMatrix class. Negative indices describe objectives (in which case the value type must be ENUM_CONREFERENCE_VALUETYPE_value).

Row reference elements are not part of the OSiL schema; they only exist in the consolidated form of a matrix (where they are the ONLY constructor).

Definition at line 1275 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