My Project
OSgLParserData.h
Go to the documentation of this file.
1/* $Id: OSgLParserData.h 2698 2009-06-09 04:14:07Z kmartin $ */
14#ifndef OSGLPARSERDATA_H
15#define OSGLPARSERDATA_H
16
17#include "OSGeneral.h"
18#include "OSMatrix.h"
19
20#include <stdio.h>
21#include <string>
22
23
24
34{
35public:
36
41
42 double* osglDblArray;
44
46 std::string fileName;
47 std::string source;
48 std::string fileCreator;
49 std::string licence;
54
57
58 //** the OSgLParserData class destructor */
60
61
65 void* scanner;
66
70 char *errorText;
71
75 std::string parser_errors;
76
80
83
88
93
96
99
102
104 std::vector<MatrixNode*> mtxConstructorVec;
105 std::vector<MatrixNode*> mtxBlocksVec;
106 std::vector<MatrixNode*> mtxBlkVec;
107 std::vector<int> nBlocksVec;
108
113 std::vector<int*> rowOffsets;
114 std::vector<int*> colOffsets;
115
138
158
179
188 double coef;
189 double constant;
190 int idx;
191 int incr;
195 int mult;
199
223
225 std::string category;
226 std::string conType;
227 std::string description;
228 std::string enumType;
229 std::string matrixConType;
230 std::string matrixName;
231 std::string matrixObjType;
232 std::string matrixType;
233 std::string matrixVarType;
234 std::string name;
235 std::string objType;
237 std::string shape;
238 std::string solver;
239 std::string symmetry;
240 std::string type;
241 std::string unit;
242 std::string value;
243 std::string valueType;
244 std::string varType;
245};//OSgLParserData
246
248{
249 if (osglData->osglIntArray != NULL)
250 delete[] osglData->osglIntArray;
251 osglData->osglIntArray = NULL;
252}//end osgl_empty_vectors
253
254
255#endif /*OSGLPARSERDATA_H_*/
OSgLParserData * osglData
void osgl_empty_vectors(OSgLParserData *osglData)
a generic class from which we derive matrix constructors (BaseMatrix, MatrixElements,...
Definition OSMatrix.h:51
a data structure to represent a matrix object (derived from MatrixType)
Definition OSMatrix.h:2186
this class extends OSMatrix for use, e.g., in the matrixCon section of OSoL and OSrL
Definition OSMatrix.h:2446
this class extends OSMatrix for use, e.g., in the matrixObj section of OSoL and OSrL
Definition OSMatrix.h:2392
this class extends OSMatrix for use, e.g., in the matrixVar section of OSoL and OSrL
Definition OSMatrix.h:2337
The OSgLParserData Class.
std::string fileCreator
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
std::string licence
bool targetMatrixFirstRowPresent
bool suppressFurtherErrorMessages
std::string matrixType
std::string conType
std::string value
void * scanner
scanner is used to store data in a reentrant lexer we use this to pass an OSgLParserData object to th...
std::string valueType
std::string fileName
data structure to process a GeneralFileHeader and hold the data temporarily
bool numberOfBlocksPresent
Data elements for parsing number-valued attributes and elements.
std::string symmetry
std::string matrixVarType
double * osglDblArray
std::string solver
std::vector< int * > colOffsets
MatrixNode * tempC
This matrix constructor is needed in order to properly push the constructor vector.
bool numberOfConstraintsPresent
std::string matrixObjType
std::string name
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.
std::string type
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.
std::string objType
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
std::string description
std::string varType
bool numberOfVariablesPresent
std::string category
bool numberOfMatrixVarPresent
bool numberOfEnumerationsPresent
bool ignoreDataAfterErrors
two booleans to govern the behavior after an error has been encountered
bool targetMatrixFirstColPresent
std::string unit
char * errorText
if the parser finds invalid text it is held here and we delete if the file was not valid
bool baseMatrixStartColPresent
std::string source
std::vector< MatrixNode * > mtxConstructorVec
Several vectors to process the matrix nodes into the right order.
std::string shape
std::string matrixName
bool numberOfMatrixObjPresent
std::string enumType
OSMatrixWithMatrixObjIdx ** matrixWithMatrixObjIdx
OSMatrixWithMatrixConIdx ** matrixWithMatrixConIdx