OS  2.10.2
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 {
35 public:
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;
236  bool rowMajor;
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 
247 inline void osgl_empty_vectors( OSgLParserData* osglData)
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::matrixConIdx
int matrixConIdx
Definition: OSgLParserData.h:192
OSgLParserData::targetMatrixFirstColPresent
bool targetMatrixFirstColPresent
Definition: OSgLParserData.h:157
OSgLParserData::matrixTypePresent
bool matrixTypePresent
Definition: OSgLParserData.h:210
OSgLParserData::matrixVarType
std::string matrixVarType
Definition: OSgLParserData.h:233
OSgLParserData::enumTypePresent
bool enumTypePresent
Definition: OSgLParserData.h:206
OSMatrixWithMatrixObjIdx
this class extends OSMatrix for use, e.g., in the matrixObj section of OSoL and OSrL
Definition: OSMatrix.h:2392
OSgLParserData::fileNamePresent
bool fileNamePresent
Definition: OSgLParserData.h:50
OSgLParserData::licence
std::string licence
Definition: OSgLParserData.h:49
OSgLParserData::constantPresent
bool constantPresent
Definition: OSgLParserData.h:148
OSgLParserData::matrixCounter
int matrixCounter
We also need to keep track locally of the number of matrices.
Definition: OSgLParserData.h:95
OSgLParserData::type
std::string type
Definition: OSgLParserData.h:240
OSgLParserData::valueType
std::string valueType
Definition: OSgLParserData.h:243
OSgLParserData::incrPresent
bool incrPresent
Definition: OSgLParserData.h:150
OSgLParserData::matrixObjIdxPresent
bool matrixObjIdxPresent
Definition: OSgLParserData.h:152
OSgLParserData::rowOffsets
std::vector< int * > rowOffsets
Vectors to hold rowOffset and colOffset arrays in a place where they are easily accessible while the ...
Definition: OSgLParserData.h:113
OSgLParserData::valuePresent
bool valuePresent
Definition: OSgLParserData.h:220
OSgLParserData::descriptionPresent
bool descriptionPresent
Definition: OSgLParserData.h:205
OSgLParserData::numberOfVarIdx
int numberOfVarIdx
Definition: OSgLParserData.h:177
OSgLParserData::nonzeroCounter
int nonzeroCounter
Linear matrices need a counter to count the number of terms within each element.
Definition: OSgLParserData.h:98
OSgLParserData::numberOfRowsPresent
bool numberOfRowsPresent
Definition: OSgLParserData.h:133
OSgLParserData
The OSgLParserData Class.
Definition: OSgLParserData.h:34
OSgLParserData::baseMatrixStartColPresent
bool baseMatrixStartColPresent
Definition: OSgLParserData.h:142
OSgLParserData::numberOfConIdx
int numberOfConIdx
Definition: OSgLParserData.h:162
OSgLParserData::numberOfColumns
int numberOfColumns
Definition: OSgLParserData.h:160
OSgLParserData::matrix
OSMatrix ** matrix
We need to hold an array of <matrix> elements temporarily.
Definition: OSgLParserData.h:82
OSMatrixWithMatrixVarIdx
this class extends OSMatrix for use, e.g., in the matrixVar section of OSoL and OSrL
Definition: OSMatrix.h:2337
OSgLParserData::osglIntArray
int * osglIntArray
data structure to process an IntVector and hold the data temporarily
Definition: OSgLParserData.h:38
OSgLParserData::symmetryPresent
bool symmetryPresent
Definition: OSgLParserData.h:217
OSgLParserData::osglValArray
int * osglValArray
Definition: OSgLParserData.h:43
OSgLParserData::numberOfMatrixObj
int numberOfMatrixObj
Definition: OSgLParserData.h:169
OSgLParserData::shape
std::string shape
Definition: OSgLParserData.h:237
OSgLParserData::numberOfEnumerationsPresent
bool numberOfEnumerationsPresent
Definition: OSgLParserData.h:124
OSgLParserData::OSgLParserData
OSgLParserData()
the OSgLParserData class constructor
OSgLParserData::numberOfObjPresent
bool numberOfObjPresent
Definition: OSgLParserData.h:130
OSgLParserData::numberOfObjIdxPresent
bool numberOfObjIdxPresent
Definition: OSgLParserData.h:131
OSgLParserData::numberOfMatrixVar
int numberOfMatrixVar
Definition: OSgLParserData.h:170
OSgLParserData::numberOfConstraints
int numberOfConstraints
Definition: OSgLParserData.h:163
OSgLParserData::name
std::string name
Definition: OSgLParserData.h:234
OSgLParserData::matrixConIdxPresent
bool matrixConIdxPresent
Definition: OSgLParserData.h:151
OSgLParserData::targetMatrixFirstCol
int targetMatrixFirstCol
Definition: OSgLParserData.h:198
OSgLParserData::numberOfMatrices
int numberOfMatrices
Definition: OSgLParserData.h:167
OSgLParserData::numberOfEnumerations
int numberOfEnumerations
Definition: OSgLParserData.h:165
OSgLParserData::mtxConstructorVec
std::vector< MatrixNode * > mtxConstructorVec
Several vectors to process the matrix nodes into the right order.
Definition: OSgLParserData.h:104
OSgLParserData::baseMatrixEndColPresent
bool baseMatrixEndColPresent
Definition: OSgLParserData.h:144
OSgLParserData::incr
int incr
Definition: OSgLParserData.h:191
OSgLParserData::matrixWithMatrixConIdx
OSMatrixWithMatrixConIdx ** matrixWithMatrixConIdx
Definition: OSgLParserData.h:87
OSgLParserData::unitPresent
bool unitPresent
Definition: OSgLParserData.h:219
OSgLParserData::matrixType
std::string matrixType
Definition: OSgLParserData.h:232
OSgLParserData::scanner
void * scanner
scanner is used to store data in a reentrant lexer we use this to pass an OSgLParserData object to th...
Definition: OSgLParserData.h:65
OSgLParserData::objType
std::string objType
Definition: OSgLParserData.h:235
OSgLParserData::idxPresent
bool idxPresent
Definition: OSgLParserData.h:149
OSgLParserData::baseMatrixStartRow
int baseMatrixStartRow
Definition: OSgLParserData.h:182
OSgLParserData::baseMatrixEndCol
int baseMatrixEndCol
Definition: OSgLParserData.h:185
OSgLParserData::ignoreDataAfterErrors
bool ignoreDataAfterErrors
two booleans to govern the behavior after an error has been encountered
Definition: OSgLParserData.h:78
OSgLParserData::matrixWithMatrixObjIdx
OSMatrixWithMatrixObjIdx ** matrixWithMatrixObjIdx
Definition: OSgLParserData.h:86
OSMatrix.h
OSgLParserData::numberOfMatricesPresent
bool numberOfMatricesPresent
Definition: OSgLParserData.h:126
OSgLParserData::category
std::string category
Definition: OSgLParserData.h:225
OSgLParserData::rowMajorPresent
bool rowMajorPresent
Definition: OSgLParserData.h:214
OSgLParserData::coefPresent
bool coefPresent
Definition: OSgLParserData.h:147
OSgLParserData::varType
std::string varType
Definition: OSgLParserData.h:244
OSgLParserData::constant
double constant
Definition: OSgLParserData.h:189
OSgLParserData::numberOfItemsPresent
bool numberOfItemsPresent
Definition: OSgLParserData.h:125
OSMatrix
a data structure to represent a matrix object (derived from MatrixType)
Definition: OSMatrix.h:2186
OSgLParserData::colOffsets
std::vector< int * > colOffsets
Definition: OSgLParserData.h:114
OSgLParserData::baseMatrixStartCol
int baseMatrixStartCol
Definition: OSgLParserData.h:183
OSgLParserData::scalarMultiplierPresent
bool scalarMultiplierPresent
Definition: OSgLParserData.h:155
OSgLParserData::numberOfMatrixConPresent
bool numberOfMatrixConPresent
Definition: OSgLParserData.h:127
OSgLParserData::valueTypePresent
bool valueTypePresent
Definition: OSgLParserData.h:221
OSMatrixWithMatrixConIdx
this class extends OSMatrix for use, e.g., in the matrixCon section of OSoL and OSrL
Definition: OSMatrix.h:2446
OSgLParserData::enumType
std::string enumType
Definition: OSgLParserData.h:228
OSgLParserData::symmetry
std::string symmetry
Definition: OSgLParserData.h:239
OSgLParserData::matrixVarTypePresent
bool matrixVarTypePresent
Definition: OSgLParserData.h:211
OSgLParserData::osglTempint
int osglTempint
Definition: OSgLParserData.h:40
OSgLParserData::numberOfColumnsPresent
bool numberOfColumnsPresent
Definition: OSgLParserData.h:119
OSgLParserData::baseTranspose
bool baseTranspose
Definition: OSgLParserData.h:224
OSgLParserData::base64SizePresent
bool base64SizePresent
Definition: OSgLParserData.h:139
OSgLParserData::numberOfObjectives
int numberOfObjectives
Definition: OSgLParserData.h:173
OSgLParserData::numberOfObjIdx
int numberOfObjIdx
Definition: OSgLParserData.h:172
OSgLParserData::parser_errors
std::string parser_errors
used to accumulate error message so the parser does not die on the first error encountered
Definition: OSgLParserData.h:75
OSgLParserData::description
std::string description
Definition: OSgLParserData.h:227
OSgLParserData::numberOfBlocksPresent
bool numberOfBlocksPresent
Data elements for parsing number-valued attributes and elements.
Definition: OSgLParserData.h:118
OSgLParserData::source
std::string source
Definition: OSgLParserData.h:47
OSgLParserData::matrixConIndexes
int * matrixConIndexes
Definition: OSgLParserData.h:92
OSgLParserData::errorText
char * errorText
if the parser finds invalid text it is held here and we delete if the file was not valid
Definition: OSgLParserData.h:70
OSgLParserData::matrixVarIdxPresent
bool matrixVarIdxPresent
Definition: OSgLParserData.h:153
OSgLParserData::numberOfMatrixVarPresent
bool numberOfMatrixVarPresent
Definition: OSgLParserData.h:129
OSgLParserData::blockColIdxPresent
bool blockColIdxPresent
Definition: OSgLParserData.h:146
OSgLParserData::baseMatrixEndRowPresent
bool baseMatrixEndRowPresent
Definition: OSgLParserData.h:143
OSgLParserData::varTypePresent
bool varTypePresent
Definition: OSgLParserData.h:222
OSgLParserData::matrixObjIndexes
int * matrixObjIndexes
Definition: OSgLParserData.h:91
OSgLParserData::matrixVarIndexes
int * matrixVarIndexes
In order to use synergies in the parser, we store matrixXXXIdx in a separate vector.
Definition: OSgLParserData.h:90
MatrixNode
a generic class from which we derive matrix constructors (BaseMatrix, MatrixElements,...
Definition: OSMatrix.h:51
OSgLParserData::objTypePresent
bool objTypePresent
Definition: OSgLParserData.h:213
OSgLParserData::blockColIdx
int blockColIdx
Definition: OSgLParserData.h:187
OSgLParserData::licencePresent
bool licencePresent
Definition: OSgLParserData.h:53
OSgLParserData::matrixObjTypePresent
bool matrixObjTypePresent
Definition: OSgLParserData.h:209
OSgLParserData::~OSgLParserData
~OSgLParserData()
OSgLParserData::mtxBlkVec
std::vector< MatrixNode * > mtxBlkVec
Definition: OSgLParserData.h:106
OSgLParserData::baseMatrixStartRowPresent
bool baseMatrixStartRowPresent
Definition: OSgLParserData.h:141
OSgLParserData::fileCreatorPresent
bool fileCreatorPresent
Definition: OSgLParserData.h:52
OSgLParserData::solver
std::string solver
Definition: OSgLParserData.h:238
OSgLParserData::numberOfBlocks
int numberOfBlocks
Definition: OSgLParserData.h:159
OSgLParserData::blockRowIdx
int blockRowIdx
Definition: OSgLParserData.h:186
OSgLParserData::numberOfVarPresent
bool numberOfVarPresent
Definition: OSgLParserData.h:135
OSgLParserData::numberOfCon
int numberOfCon
Definition: OSgLParserData.h:161
OSgLParserData::fileName
std::string fileName
data structure to process a GeneralFileHeader and hold the data temporarily
Definition: OSgLParserData.h:46
OSgLParserData::numberOfElPresent
bool numberOfElPresent
Definition: OSgLParserData.h:123
OSgLParserData::osglCounter
int osglCounter
Definition: OSgLParserData.h:39
OSgLParserData::numberOfValues
int numberOfValues
Definition: OSgLParserData.h:175
OSgLParserData::matrixNamePresent
bool matrixNamePresent
Definition: OSgLParserData.h:208
OSgLParserData::numberOfVarIdxPresent
bool numberOfVarIdxPresent
Definition: OSgLParserData.h:136
OSgLParserData::baseMatrixIdxPresent
bool baseMatrixIdxPresent
Definition: OSgLParserData.h:140
OSgLParserData::solverPresent
bool solverPresent
Definition: OSgLParserData.h:216
OSgLParserData::nBlocksVec
std::vector< int > nBlocksVec
Definition: OSgLParserData.h:107
OSgLParserData::numberOfObj
int numberOfObj
Definition: OSgLParserData.h:171
OSgLParserData::numberOfObjectivesPresent
bool numberOfObjectivesPresent
Definition: OSgLParserData.h:132
OSGeneral.h
osgl_empty_vectors
void osgl_empty_vectors(OSgLParserData *osglData)
Definition: OSgLParserData.h:247
OSgLParserData::value
std::string value
Definition: OSgLParserData.h:242
OSgLParserData::numberOfVariablesPresent
bool numberOfVariablesPresent
Definition: OSgLParserData.h:137
OSgLParserData::scalarMultiplier
double scalarMultiplier
Definition: OSgLParserData.h:196
OSgLParserData::unit
std::string unit
Definition: OSgLParserData.h:241
OSgLParserData::targetMatrixFirstRow
int targetMatrixFirstRow
Definition: OSgLParserData.h:197
OSgLParserData::numberOfMatrixObjPresent
bool numberOfMatrixObjPresent
Definition: OSgLParserData.h:128
OSgLParserData::categoryPresent
bool categoryPresent
Definition: OSgLParserData.h:203
OSgLParserData::matrixVarIdx
int matrixVarIdx
Definition: OSgLParserData.h:194
OSgLParserData::numberOfConIdxPresent
bool numberOfConIdxPresent
Definition: OSgLParserData.h:121
OSgLParserData::fileCreator
std::string fileCreator
Definition: OSgLParserData.h:48
OSgLParserData::numberOfVariables
int numberOfVariables
Definition: OSgLParserData.h:178
OSgLParserData::mult
int mult
Definition: OSgLParserData.h:195
OSgLParserData::typePresent
bool typePresent
Definition: OSgLParserData.h:218
OSgLParserData::mtxBlocksVec
std::vector< MatrixNode * > mtxBlocksVec
Definition: OSgLParserData.h:105
OSgLParserData::numberOfRows
int numberOfRows
Definition: OSgLParserData.h:174
OSgLParserData::blockRowIdxPresent
bool blockRowIdxPresent
Definition: OSgLParserData.h:145
OSgLParserData::osglDblArray
double * osglDblArray
Definition: OSgLParserData.h:42
OSgLParserData::numberOfEl
int numberOfEl
Definition: OSgLParserData.h:164
OSgLParserData::namePresent
bool namePresent
Definition: OSgLParserData.h:212
OSgLParserData::sourcePresent
bool sourcePresent
Definition: OSgLParserData.h:51
OSgLParserData::matrixConType
std::string matrixConType
Definition: OSgLParserData.h:229
OSgLParserData::numberOfItems
int numberOfItems
Definition: OSgLParserData.h:166
OSgLParserData::baseMatrixEndRow
int baseMatrixEndRow
Definition: OSgLParserData.h:184
OSgLParserData::tempC
MatrixNode * tempC
This matrix constructor is needed in order to properly push the constructor vector.
Definition: OSgLParserData.h:101
OSgLParserData::matrixName
std::string matrixName
Definition: OSgLParserData.h:230
OSgLParserData::baseTransposePresent
bool baseTransposePresent
Data elements for parsing string-valued attributes and text elements.
Definition: OSgLParserData.h:202
OSgLParserData::matrixObjType
std::string matrixObjType
Definition: OSgLParserData.h:231
OSgLParserData::numberOfConstraintsPresent
bool numberOfConstraintsPresent
Definition: OSgLParserData.h:122
OSgLParserData::targetMatrixFirstRowPresent
bool targetMatrixFirstRowPresent
Definition: OSgLParserData.h:156
OSgLParserData::idx
int idx
Definition: OSgLParserData.h:190
OSgLParserData::numberOfConPresent
bool numberOfConPresent
Definition: OSgLParserData.h:120
OSgLParserData::multPresent
bool multPresent
Definition: OSgLParserData.h:154
OSgLParserData::matrixWithMatrixVarIdx
OSMatrixWithMatrixVarIdx ** matrixWithMatrixVarIdx
There are also other variants of these ...
Definition: OSgLParserData.h:85
OSgLParserData::numberOfVar
int numberOfVar
Definition: OSgLParserData.h:176
OSgLParserData::baseMatrixIdx
int baseMatrixIdx
Definition: OSgLParserData.h:181
OSgLParserData::suppressFurtherErrorMessages
bool suppressFurtherErrorMessages
Definition: OSgLParserData.h:79
OSgLParserData::matrixConTypePresent
bool matrixConTypePresent
Definition: OSgLParserData.h:207
OSgLParserData::conType
std::string conType
Definition: OSgLParserData.h:226
OSgLParserData::matrixObjIdx
int matrixObjIdx
Definition: OSgLParserData.h:193
OSgLParserData::numberOfValuesPresent
bool numberOfValuesPresent
Definition: OSgLParserData.h:134
OSgLParserData::coef
double coef
Definition: OSgLParserData.h:188
OSgLParserData::base64Size
int base64Size
Definition: OSgLParserData.h:180
OSgLParserData::numberOfMatrixCon
int numberOfMatrixCon
Definition: OSgLParserData.h:168
OSgLParserData::shapePresent
bool shapePresent
Definition: OSgLParserData.h:215
OSgLParserData::conTypePresent
bool conTypePresent
Definition: OSgLParserData.h:204
OSgLParserData::rowMajor
bool rowMajor
Definition: OSgLParserData.h:236