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

a data structure to represent the nonzeroes of a matrix explicitly element by element More...

#include <OSMatrix.h>

+ Inheritance diagram for MatrixElements:
+ Collaboration diagram for MatrixElements:

Public Member Functions

 MatrixElements ()
 
virtual ~MatrixElements ()
 
virtual
ENUM_MATRIX_CONSTRUCTOR_TYPE 
getNodeType ()
 
virtual std::string getNodeName ()
 
virtual MatrixElementscloneMatrixNode ()
 The implementation of the virtual functions. More...
 
MatrixElementscopyNodeAndDescendants ()
 make a copy of this node and all its descendants More...
 
bool IsEqual (MatrixElements *that)
 A function to check for the equality of two objects. More...
 
virtual std::string getMatrixNodeInXML ()
 
bool setRandom (double density, bool conformant, int iMin, int iMax)
 A function to make a random instance of this class. More...
 
bool deepCopyFrom (MatrixElements *that)
 A function to make a deep copy of an instance of this class. More...
 
- Public Member Functions inherited from MatrixConstructor
 MatrixConstructor ()
 constructor More...
 
 ~MatrixConstructor ()
 destructor More...
 
bool IsEqual (MatrixConstructor *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 (MatrixConstructor *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

ConstantMatrixElementsconstantElements
 
VarReferenceMatrixElementsvarReferenceElements
 
LinearMatrixElementslinearElements
 
GeneralMatrixElementsgeneralElements
 
ObjReferenceMatrixElementsobjReferenceElements
 
ConReferenceMatrixElementsconReferenceElements
 
- 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 the nonzeroes of a matrix explicitly element by element

Definition at line 773 of file OSMatrix.h.

Constructor & Destructor Documentation

MatrixElements::MatrixElements ( )
virtual MatrixElements::~MatrixElements ( )
virtual

Member Function Documentation

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

Reimplemented from MatrixNode.

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

Implements MatrixNode.

MatrixElements * MatrixElements::cloneMatrixNode ( )
virtual

The implementation of the virtual functions.

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

Implements MatrixNode.

MatrixElements* MatrixElements::copyNodeAndDescendants ( )

make a copy of this node and all its descendants

Returns
a pointer to the duplicate node
bool MatrixElements::IsEqual ( MatrixElements that)

A function to check for the equality of two objects.

virtual std::string MatrixElements::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.

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

ConstantMatrixElements* MatrixElements::constantElements

Definition at line 776 of file OSMatrix.h.

VarReferenceMatrixElements* MatrixElements::varReferenceElements

Definition at line 777 of file OSMatrix.h.

LinearMatrixElements* MatrixElements::linearElements

Definition at line 778 of file OSMatrix.h.

GeneralMatrixElements* MatrixElements::generalElements

Definition at line 779 of file OSMatrix.h.

ObjReferenceMatrixElements* MatrixElements::objReferenceElements

Definition at line 780 of file OSMatrix.h.

ConReferenceMatrixElements* MatrixElements::conReferenceElements

Definition at line 781 of file OSMatrix.h.


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