OS  2.9.3
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Public Member Functions | Public Attributes | List of all members
OSMatrix Class Reference

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

#include <OSMatrix.h>

+ Inheritance diagram for OSMatrix:
+ Collaboration diagram for OSMatrix:

Public Member Functions

 OSMatrix ()
 
 ~OSMatrix ()
 
OSMatrixcreateConstructorTreeFromPrefix (std::vector< MatrixNode * > mtxConstructorVec)
 
virtual
ENUM_MATRIX_CONSTRUCTOR_TYPE 
getNodeType ()
 
virtual std::string getNodeName ()
 
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. More...
 
virtual std::string getMatrixNodeInXML ()
 
virtual OSMatrixcloneMatrixNode ()
 The implementation of the virtual functions. More...
 
bool IsEqual (OSMatrix *that)
 A function to check for the equality of two objects. More...
 
bool setRandom (double density, bool conformant, int iMin, int iMax)
 A function to make a random instance of this class. More...
 
bool deepCopyFrom (OSMatrix *that)
 A function to make a deep copy of an instance of this class. More...
 
- Public Member Functions inherited from MatrixType
 MatrixType ()
 
 ~MatrixType ()
 
bool IsEqual (MatrixType *that)
 A function to check for the equality of two objects. More...
 
bool setRandom (double density, bool conformant, int iMin, int iMax)
 A function to make a random instance of this class. More...
 
bool deepCopyFrom (MatrixType *that)
 A function to make a deep copy of an instance of this class. More...
 
- Public Member Functions inherited from MatrixNode
 MatrixNode ()
 default constructor More...
 
virtual ~MatrixNode ()
 destructor More...
 
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. More...
 
bool setRandom (double density, bool conformant, int iMin, int iMax)
 A function to make a random instance of this class. More...
 
bool deepCopyFrom (MatrixNode *that)
 A function to make a deep copy of an instance of this class. More...
 

Public Attributes

int idx
 
std::string name
 
- Public Attributes inherited from MatrixType
int numberOfRows
 
int numberOfColumns
 
ENUM_MATRIX_SYMMETRY symmetry
 
- 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 More...
 
ENUM_MATRIX_CONSTRUCTOR_TYPE nType
 nType is a unique integer assigned to each type of matrix node More...
 
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 More...
 
MatrixNode ** m_mChildren
 m_mChildren holds all the children, that is, nodes used in the definition or construction of the current node. More...
 

Detailed Description

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

Definition at line 1137 of file OSMatrix.h.

Constructor & Destructor Documentation

OSMatrix::OSMatrix ( )
OSMatrix::~OSMatrix ( )

Member Function Documentation

OSMatrix* OSMatrix::createConstructorTreeFromPrefix ( std::vector< MatrixNode * >  mtxConstructorVec)

Take a vector of MatrixNodes in prefix format and create a matrix root node

Parameters
mtxConstructorVecholds a vector of pointers to matrix constructors, mtxConstructorVec and blocks in prefix format
Returns
a pointer to an OSMatrix which is the root of a list of constructors.
virtual ENUM_MATRIX_CONSTRUCTOR_TYPE OSMatrix::getNodeType ( )
virtual
Returns
the value of nType

Reimplemented from MatrixNode.

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

Implements MatrixNode.

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.

Parameters
nameholds the matrix name; use null or empty std::string ("") if no matrix name.
numberOfRowsholds the number of rows. It is required. Use 1 for column vectors.
numberOfColumnsholds the number of columns. It is required. Use 1 for row vectors.
symmetryholds 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.
matrixTypetracks 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.
inumberOfChildrenis the number of MatrixNode child elements, i.e., the number of matrix constructors in the m_mChildren array.
m_mChildrenis the array of matrix constructors used in the definition of this matrix.
Returns
whether the matrix was added successfully.
virtual 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.

Returns
the MatrixNode and its children as an OSgL string.

Implements MatrixNode.

OSMatrix * OSMatrix::cloneMatrixNode ( )
virtual

The implementation of the virtual functions.

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

Implements MatrixNode.

bool OSMatrix::IsEqual ( OSMatrix that)

A function to check for the equality of two objects.

bool OSMatrix::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
bool OSMatrix::deepCopyFrom ( OSMatrix 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

Member Data Documentation

int OSMatrix::idx

Definition at line 1140 of file OSMatrix.h.

std::string OSMatrix::name

Definition at line 1141 of file OSMatrix.h.


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