14#ifndef OSGLPARSERDATA_H
15#define OSGLPARSERDATA_H
OSgLParserData * osglData
void osgl_empty_vectors(OSgLParserData *osglData)
a generic class from which we derive matrix constructors (BaseMatrix, MatrixElements,...
a data structure to represent a matrix object (derived from MatrixType)
this class extends OSMatrix for use, e.g., in the matrixCon section of OSoL and OSrL
this class extends OSMatrix for use, e.g., in the matrixObj section of OSoL and OSrL
this class extends OSMatrix for use, e.g., in the matrixVar section of OSoL and OSrL
The OSgLParserData Class.
bool numberOfMatrixConPresent
int * osglIntArray
data structure to process an IntVector and hold the data temporarily
std::vector< int > nBlocksVec
std::string matrixConType
std::vector< MatrixNode * > mtxBlocksVec
bool numberOfObjectivesPresent
bool targetMatrixFirstRowPresent
bool numberOfItemsPresent
bool suppressFurtherErrorMessages
bool matrixVarTypePresent
bool matrixConTypePresent
void * scanner
scanner is used to store data in a reentrant lexer we use this to pass an OSgLParserData object to th...
std::string fileName
data structure to process a GeneralFileHeader and hold the data temporarily
bool numberOfColumnsPresent
bool numberOfBlocksPresent
Data elements for parsing number-valued attributes and elements.
bool numberOfValuesPresent
bool baseMatrixIdxPresent
bool numberOfConIdxPresent
std::string matrixVarType
std::vector< int * > colOffsets
MatrixNode * tempC
This matrix constructor is needed in order to properly push the constructor vector.
bool numberOfConstraintsPresent
bool numberOfObjIdxPresent
std::string matrixObjType
bool baseMatrixStartRowPresent
OSMatrix ** matrix
We need to hold an array of <matrix> elements temporarily.
int matrixCounter
We also need to keep track locally of the number of matrices.
bool baseTransposePresent
Data elements for parsing string-valued attributes and text elements.
std::vector< int * > rowOffsets
Vectors to hold rowOffset and colOffset arrays in a place where they are easily accessible while the ...
int nonzeroCounter
Linear matrices need a counter to count the number of terms within each element.
int * matrixVarIndexes
In order to use synergies in the parser, we store matrixXXXIdx in a separate vector.
bool scalarMultiplierPresent
OSMatrixWithMatrixVarIdx ** matrixWithMatrixVarIdx
There are also other variants of these ...
OSgLParserData()
the OSgLParserData class constructor
std::vector< MatrixNode * > mtxBlkVec
std::string parser_errors
used to accumulate error message so the parser does not die on the first error encountered
bool baseMatrixEndColPresent
bool numberOfVariablesPresent
bool baseMatrixEndRowPresent
bool numberOfMatrixVarPresent
bool numberOfMatricesPresent
bool numberOfEnumerationsPresent
bool matrixObjTypePresent
bool ignoreDataAfterErrors
two booleans to govern the behavior after an error has been encountered
bool targetMatrixFirstColPresent
char * errorText
if the parser finds invalid text it is held here and we delete if the file was not valid
bool baseMatrixStartColPresent
std::vector< MatrixNode * > mtxConstructorVec
Several vectors to process the matrix nodes into the right order.
bool numberOfMatrixObjPresent
OSMatrixWithMatrixObjIdx ** matrixWithMatrixObjIdx
bool numberOfVarIdxPresent
OSMatrixWithMatrixConIdx ** matrixWithMatrixConIdx