Home | History | Annotate | Download | only in dom
      1 /*
      2 * Copyright 2006 Sony Computer Entertainment Inc.
      3 *
      4 * Licensed under the MIT Open Source License, for details please see license.txt or the website
      5 * http://www.opensource.org/licenses/mit-license.php
      6 *
      7 */
      8 
      9 #include <dae.h>
     10 #include <dom/domTypes.h>
     11 #include <dae/daeDom.h>
     12 #include <dom/domCOLLADA.h>
     13 
     14 
     15 void registerDomTypes(DAE& dae)
     16 {
     17 	daeAtomicType* type = NULL;
     18 	daeAtomicTypeList& atomicTypes = dae.getAtomicTypes();
     19 
     20 	// TYPEDEF: Bool	//check if this type has an existing base
     21 	type = atomicTypes.get("xsBoolean");
     22 	if ( type == NULL ) { //register as a raw type
     23 		type = new daeRawRefType(dae);
     24 		type->_nameBindings.append("Bool");
     25 		atomicTypes.append( type );
     26 	}
     27 	else { //add binding to existing type
     28 		type->_nameBindings.append("Bool");
     29 	}
     30 
     31 	// TYPEDEF: DateTime	//check if this type has an existing base
     32 	type = atomicTypes.get("xsDateTime");
     33 	if ( type == NULL ) { //register as a raw type
     34 		type = new daeRawRefType(dae);
     35 		type->_nameBindings.append("DateTime");
     36 		atomicTypes.append( type );
     37 	}
     38 	else { //add binding to existing type
     39 		type->_nameBindings.append("DateTime");
     40 	}
     41 
     42 	// TYPEDEF: Float	//check if this type has an existing base
     43 	type = atomicTypes.get("xsDouble");
     44 	if ( type == NULL ) { //register as a raw type
     45 		type = new daeRawRefType(dae);
     46 		type->_nameBindings.append("Float");
     47 		atomicTypes.append( type );
     48 	}
     49 	else { //add binding to existing type
     50 		type->_nameBindings.append("Float");
     51 	}
     52 
     53 	// TYPEDEF: Int	//check if this type has an existing base
     54 	type = atomicTypes.get("xsLong");
     55 	if ( type == NULL ) { //register as a raw type
     56 		type = new daeRawRefType(dae);
     57 		type->_nameBindings.append("Int");
     58 		atomicTypes.append( type );
     59 	}
     60 	else { //add binding to existing type
     61 		type->_nameBindings.append("Int");
     62 	}
     63 
     64 	// TYPEDEF: Name	//check if this type has an existing base
     65 	type = atomicTypes.get("xsName");
     66 	if ( type == NULL ) { //register as a raw type
     67 		type = new daeRawRefType(dae);
     68 		type->_nameBindings.append("Name");
     69 		atomicTypes.append( type );
     70 	}
     71 	else { //add binding to existing type
     72 		type->_nameBindings.append("Name");
     73 	}
     74 
     75 	// TYPEDEF: String	//check if this type has an existing base
     76 	type = atomicTypes.get("xsString");
     77 	if ( type == NULL ) { //register as a raw type
     78 		type = new daeRawRefType(dae);
     79 		type->_nameBindings.append("String");
     80 		atomicTypes.append( type );
     81 	}
     82 	else { //add binding to existing type
     83 		type->_nameBindings.append("String");
     84 	}
     85 
     86 	// TYPEDEF: Token	//check if this type has an existing base
     87 	type = atomicTypes.get("xsToken");
     88 	if ( type == NULL ) { //register as a raw type
     89 		type = new daeRawRefType(dae);
     90 		type->_nameBindings.append("Token");
     91 		atomicTypes.append( type );
     92 	}
     93 	else { //add binding to existing type
     94 		type->_nameBindings.append("Token");
     95 	}
     96 
     97 	// TYPEDEF: Uint	//check if this type has an existing base
     98 	type = atomicTypes.get("xsUnsignedLong");
     99 	if ( type == NULL ) { //register as a raw type
    100 		type = new daeRawRefType(dae);
    101 		type->_nameBindings.append("Uint");
    102 		atomicTypes.append( type );
    103 	}
    104 	else { //add binding to existing type
    105 		type->_nameBindings.append("Uint");
    106 	}
    107 
    108 	// TYPEDEF: ListOfBools	//check if this type has an existing base
    109 	type = atomicTypes.get("Bool");
    110 	if ( type == NULL ) { //register as a raw type
    111 		type = new daeRawRefType(dae);
    112 		type->_nameBindings.append("ListOfBools");
    113 		atomicTypes.append( type );
    114 	}
    115 	else { //add binding to existing type
    116 		type->_nameBindings.append("ListOfBools");
    117 	}
    118 
    119 	// TYPEDEF: ListOfFloats	//check if this type has an existing base
    120 	type = atomicTypes.get("Float");
    121 	if ( type == NULL ) { //register as a raw type
    122 		type = new daeRawRefType(dae);
    123 		type->_nameBindings.append("ListOfFloats");
    124 		atomicTypes.append( type );
    125 	}
    126 	else { //add binding to existing type
    127 		type->_nameBindings.append("ListOfFloats");
    128 	}
    129 
    130 	// TYPEDEF: ListOfHexBinary	//check if this type has an existing base
    131 	type = atomicTypes.get("xsHexBinary");
    132 	if ( type == NULL ) { //register as a raw type
    133 		type = new daeRawRefType(dae);
    134 		type->_nameBindings.append("ListOfHexBinary");
    135 		atomicTypes.append( type );
    136 	}
    137 	else { //add binding to existing type
    138 		type->_nameBindings.append("ListOfHexBinary");
    139 	}
    140 
    141 	// TYPEDEF: ListOfInts	//check if this type has an existing base
    142 	type = atomicTypes.get("Int");
    143 	if ( type == NULL ) { //register as a raw type
    144 		type = new daeRawRefType(dae);
    145 		type->_nameBindings.append("ListOfInts");
    146 		atomicTypes.append( type );
    147 	}
    148 	else { //add binding to existing type
    149 		type->_nameBindings.append("ListOfInts");
    150 	}
    151 
    152 	// TYPEDEF: ListOfNames	//check if this type has an existing base
    153 	type = atomicTypes.get("Name");
    154 	if ( type == NULL ) { //register as a raw type
    155 		type = new daeRawRefType(dae);
    156 		type->_nameBindings.append("ListOfNames");
    157 		atomicTypes.append( type );
    158 	}
    159 	else { //add binding to existing type
    160 		type->_nameBindings.append("ListOfNames");
    161 	}
    162 
    163 	// TYPEDEF: ListOfTokens	//check if this type has an existing base
    164 	type = atomicTypes.get("Token");
    165 	if ( type == NULL ) { //register as a raw type
    166 		type = new daeRawRefType(dae);
    167 		type->_nameBindings.append("ListOfTokens");
    168 		atomicTypes.append( type );
    169 	}
    170 	else { //add binding to existing type
    171 		type->_nameBindings.append("ListOfTokens");
    172 	}
    173 
    174 	// TYPEDEF: ListOfUInts	//check if this type has an existing base
    175 	type = atomicTypes.get("Uint");
    176 	if ( type == NULL ) { //register as a raw type
    177 		type = new daeRawRefType(dae);
    178 		type->_nameBindings.append("ListOfUInts");
    179 		atomicTypes.append( type );
    180 	}
    181 	else { //add binding to existing type
    182 		type->_nameBindings.append("ListOfUInts");
    183 	}
    184 
    185 	// TYPEDEF: Bool2	//check if this type has an existing base
    186 	type = atomicTypes.get("ListOfBools");
    187 	if ( type == NULL ) { //register as a raw type
    188 		type = new daeRawRefType(dae);
    189 		type->_nameBindings.append("Bool2");
    190 		atomicTypes.append( type );
    191 	}
    192 	else { //add binding to existing type
    193 		type->_nameBindings.append("Bool2");
    194 	}
    195 
    196 	// TYPEDEF: Bool3	//check if this type has an existing base
    197 	type = atomicTypes.get("ListOfBools");
    198 	if ( type == NULL ) { //register as a raw type
    199 		type = new daeRawRefType(dae);
    200 		type->_nameBindings.append("Bool3");
    201 		atomicTypes.append( type );
    202 	}
    203 	else { //add binding to existing type
    204 		type->_nameBindings.append("Bool3");
    205 	}
    206 
    207 	// TYPEDEF: Bool4	//check if this type has an existing base
    208 	type = atomicTypes.get("ListOfBools");
    209 	if ( type == NULL ) { //register as a raw type
    210 		type = new daeRawRefType(dae);
    211 		type->_nameBindings.append("Bool4");
    212 		atomicTypes.append( type );
    213 	}
    214 	else { //add binding to existing type
    215 		type->_nameBindings.append("Bool4");
    216 	}
    217 
    218 	// TYPEDEF: Float2	//check if this type has an existing base
    219 	type = atomicTypes.get("ListOfFloats");
    220 	if ( type == NULL ) { //register as a raw type
    221 		type = new daeRawRefType(dae);
    222 		type->_nameBindings.append("Float2");
    223 		atomicTypes.append( type );
    224 	}
    225 	else { //add binding to existing type
    226 		type->_nameBindings.append("Float2");
    227 	}
    228 
    229 	// TYPEDEF: Float3	//check if this type has an existing base
    230 	type = atomicTypes.get("ListOfFloats");
    231 	if ( type == NULL ) { //register as a raw type
    232 		type = new daeRawRefType(dae);
    233 		type->_nameBindings.append("Float3");
    234 		atomicTypes.append( type );
    235 	}
    236 	else { //add binding to existing type
    237 		type->_nameBindings.append("Float3");
    238 	}
    239 
    240 	// TYPEDEF: Float4	//check if this type has an existing base
    241 	type = atomicTypes.get("ListOfFloats");
    242 	if ( type == NULL ) { //register as a raw type
    243 		type = new daeRawRefType(dae);
    244 		type->_nameBindings.append("Float4");
    245 		atomicTypes.append( type );
    246 	}
    247 	else { //add binding to existing type
    248 		type->_nameBindings.append("Float4");
    249 	}
    250 
    251 	// TYPEDEF: Float7	//check if this type has an existing base
    252 	type = atomicTypes.get("ListOfFloats");
    253 	if ( type == NULL ) { //register as a raw type
    254 		type = new daeRawRefType(dae);
    255 		type->_nameBindings.append("Float7");
    256 		atomicTypes.append( type );
    257 	}
    258 	else { //add binding to existing type
    259 		type->_nameBindings.append("Float7");
    260 	}
    261 
    262 	// TYPEDEF: Float2x2	//check if this type has an existing base
    263 	type = atomicTypes.get("ListOfFloats");
    264 	if ( type == NULL ) { //register as a raw type
    265 		type = new daeRawRefType(dae);
    266 		type->_nameBindings.append("Float2x2");
    267 		atomicTypes.append( type );
    268 	}
    269 	else { //add binding to existing type
    270 		type->_nameBindings.append("Float2x2");
    271 	}
    272 
    273 	// TYPEDEF: Float3x3	//check if this type has an existing base
    274 	type = atomicTypes.get("ListOfFloats");
    275 	if ( type == NULL ) { //register as a raw type
    276 		type = new daeRawRefType(dae);
    277 		type->_nameBindings.append("Float3x3");
    278 		atomicTypes.append( type );
    279 	}
    280 	else { //add binding to existing type
    281 		type->_nameBindings.append("Float3x3");
    282 	}
    283 
    284 	// TYPEDEF: Float4x4	//check if this type has an existing base
    285 	type = atomicTypes.get("ListOfFloats");
    286 	if ( type == NULL ) { //register as a raw type
    287 		type = new daeRawRefType(dae);
    288 		type->_nameBindings.append("Float4x4");
    289 		atomicTypes.append( type );
    290 	}
    291 	else { //add binding to existing type
    292 		type->_nameBindings.append("Float4x4");
    293 	}
    294 
    295 	// TYPEDEF: Float2x3	//check if this type has an existing base
    296 	type = atomicTypes.get("ListOfFloats");
    297 	if ( type == NULL ) { //register as a raw type
    298 		type = new daeRawRefType(dae);
    299 		type->_nameBindings.append("Float2x3");
    300 		atomicTypes.append( type );
    301 	}
    302 	else { //add binding to existing type
    303 		type->_nameBindings.append("Float2x3");
    304 	}
    305 
    306 	// TYPEDEF: Float2x4	//check if this type has an existing base
    307 	type = atomicTypes.get("ListOfFloats");
    308 	if ( type == NULL ) { //register as a raw type
    309 		type = new daeRawRefType(dae);
    310 		type->_nameBindings.append("Float2x4");
    311 		atomicTypes.append( type );
    312 	}
    313 	else { //add binding to existing type
    314 		type->_nameBindings.append("Float2x4");
    315 	}
    316 
    317 	// TYPEDEF: Float3x2	//check if this type has an existing base
    318 	type = atomicTypes.get("ListOfFloats");
    319 	if ( type == NULL ) { //register as a raw type
    320 		type = new daeRawRefType(dae);
    321 		type->_nameBindings.append("Float3x2");
    322 		atomicTypes.append( type );
    323 	}
    324 	else { //add binding to existing type
    325 		type->_nameBindings.append("Float3x2");
    326 	}
    327 
    328 	// TYPEDEF: Float3x4	//check if this type has an existing base
    329 	type = atomicTypes.get("ListOfFloats");
    330 	if ( type == NULL ) { //register as a raw type
    331 		type = new daeRawRefType(dae);
    332 		type->_nameBindings.append("Float3x4");
    333 		atomicTypes.append( type );
    334 	}
    335 	else { //add binding to existing type
    336 		type->_nameBindings.append("Float3x4");
    337 	}
    338 
    339 	// TYPEDEF: Float4x2	//check if this type has an existing base
    340 	type = atomicTypes.get("ListOfFloats");
    341 	if ( type == NULL ) { //register as a raw type
    342 		type = new daeRawRefType(dae);
    343 		type->_nameBindings.append("Float4x2");
    344 		atomicTypes.append( type );
    345 	}
    346 	else { //add binding to existing type
    347 		type->_nameBindings.append("Float4x2");
    348 	}
    349 
    350 	// TYPEDEF: Float4x3	//check if this type has an existing base
    351 	type = atomicTypes.get("ListOfFloats");
    352 	if ( type == NULL ) { //register as a raw type
    353 		type = new daeRawRefType(dae);
    354 		type->_nameBindings.append("Float4x3");
    355 		atomicTypes.append( type );
    356 	}
    357 	else { //add binding to existing type
    358 		type->_nameBindings.append("Float4x3");
    359 	}
    360 
    361 	// TYPEDEF: Int2	//check if this type has an existing base
    362 	type = atomicTypes.get("ListOfInts");
    363 	if ( type == NULL ) { //register as a raw type
    364 		type = new daeRawRefType(dae);
    365 		type->_nameBindings.append("Int2");
    366 		atomicTypes.append( type );
    367 	}
    368 	else { //add binding to existing type
    369 		type->_nameBindings.append("Int2");
    370 	}
    371 
    372 	// TYPEDEF: Int3	//check if this type has an existing base
    373 	type = atomicTypes.get("ListOfInts");
    374 	if ( type == NULL ) { //register as a raw type
    375 		type = new daeRawRefType(dae);
    376 		type->_nameBindings.append("Int3");
    377 		atomicTypes.append( type );
    378 	}
    379 	else { //add binding to existing type
    380 		type->_nameBindings.append("Int3");
    381 	}
    382 
    383 	// TYPEDEF: Int4	//check if this type has an existing base
    384 	type = atomicTypes.get("ListOfInts");
    385 	if ( type == NULL ) { //register as a raw type
    386 		type = new daeRawRefType(dae);
    387 		type->_nameBindings.append("Int4");
    388 		atomicTypes.append( type );
    389 	}
    390 	else { //add binding to existing type
    391 		type->_nameBindings.append("Int4");
    392 	}
    393 
    394 	// TYPEDEF: Int2x2	//check if this type has an existing base
    395 	type = atomicTypes.get("ListOfInts");
    396 	if ( type == NULL ) { //register as a raw type
    397 		type = new daeRawRefType(dae);
    398 		type->_nameBindings.append("Int2x2");
    399 		atomicTypes.append( type );
    400 	}
    401 	else { //add binding to existing type
    402 		type->_nameBindings.append("Int2x2");
    403 	}
    404 
    405 	// TYPEDEF: Int3x3	//check if this type has an existing base
    406 	type = atomicTypes.get("ListOfInts");
    407 	if ( type == NULL ) { //register as a raw type
    408 		type = new daeRawRefType(dae);
    409 		type->_nameBindings.append("Int3x3");
    410 		atomicTypes.append( type );
    411 	}
    412 	else { //add binding to existing type
    413 		type->_nameBindings.append("Int3x3");
    414 	}
    415 
    416 	// TYPEDEF: Int4x4	//check if this type has an existing base
    417 	type = atomicTypes.get("ListOfInts");
    418 	if ( type == NULL ) { //register as a raw type
    419 		type = new daeRawRefType(dae);
    420 		type->_nameBindings.append("Int4x4");
    421 		atomicTypes.append( type );
    422 	}
    423 	else { //add binding to existing type
    424 		type->_nameBindings.append("Int4x4");
    425 	}
    426 
    427 	// ENUM: MorphMethodType
    428 	type = new daeEnumType(dae);
    429 	type->_nameBindings.append("MorphMethodType");
    430 	((daeEnumType*)type)->_strings = new daeStringRefArray;
    431 	((daeEnumType*)type)->_values = new daeEnumArray;
    432 	((daeEnumType*)type)->_strings->append("NORMALIZED");
    433 	((daeEnumType*)type)->_values->append(MORPHMETHODTYPE_NORMALIZED);
    434 	((daeEnumType*)type)->_strings->append("RELATIVE");
    435 	((daeEnumType*)type)->_values->append(MORPHMETHODTYPE_RELATIVE);
    436 	atomicTypes.append( type );
    437 
    438 	// ENUM: NodeType
    439 	type = new daeEnumType(dae);
    440 	type->_nameBindings.append("NodeType");
    441 	((daeEnumType*)type)->_strings = new daeStringRefArray;
    442 	((daeEnumType*)type)->_values = new daeEnumArray;
    443 	((daeEnumType*)type)->_strings->append("JOINT");
    444 	((daeEnumType*)type)->_values->append(NODETYPE_JOINT);
    445 	((daeEnumType*)type)->_strings->append("NODE");
    446 	((daeEnumType*)type)->_values->append(NODETYPE_NODE);
    447 	atomicTypes.append( type );
    448 
    449 	// TYPEDEF: URIFragmentType	//check if this type has an existing base
    450 	type = atomicTypes.get("xsAnyURI");
    451 	if ( type == NULL ) { //register as a raw type
    452 		type = new daeRawRefType(dae);
    453 		type->_nameBindings.append("URIFragmentType");
    454 		atomicTypes.append( type );
    455 	}
    456 	else { //add binding to existing type
    457 		type->_nameBindings.append("URIFragmentType");
    458 	}
    459 
    460 	// ENUM: UpAxisType
    461 	type = new daeEnumType(dae);
    462 	type->_nameBindings.append("UpAxisType");
    463 	((daeEnumType*)type)->_strings = new daeStringRefArray;
    464 	((daeEnumType*)type)->_values = new daeEnumArray;
    465 	((daeEnumType*)type)->_strings->append("X_UP");
    466 	((daeEnumType*)type)->_values->append(UPAXISTYPE_X_UP);
    467 	((daeEnumType*)type)->_strings->append("Y_UP");
    468 	((daeEnumType*)type)->_values->append(UPAXISTYPE_Y_UP);
    469 	((daeEnumType*)type)->_strings->append("Z_UP");
    470 	((daeEnumType*)type)->_values->append(UPAXISTYPE_Z_UP);
    471 	atomicTypes.append( type );
    472 
    473 	// ENUM: VersionType
    474 	type = new daeEnumType(dae);
    475 	type->_nameBindings.append("VersionType");
    476 	((daeEnumType*)type)->_strings = new daeStringRefArray;
    477 	((daeEnumType*)type)->_values = new daeEnumArray;
    478 	((daeEnumType*)type)->_strings->append("1.4.0");
    479 	((daeEnumType*)type)->_values->append(VERSIONTYPE_1_4_0);
    480 	((daeEnumType*)type)->_strings->append("1.4.1");
    481 	((daeEnumType*)type)->_values->append(VERSIONTYPE_1_4_1);
    482 	atomicTypes.append( type );
    483 
    484 	// TYPEDEF: Fx_color_common	//check if this type has an existing base
    485 	type = atomicTypes.get("Float4");
    486 	if ( type == NULL ) { //register as a raw type
    487 		type = new daeRawRefType(dae);
    488 		type->_nameBindings.append("Fx_color_common");
    489 		atomicTypes.append( type );
    490 	}
    491 	else { //add binding to existing type
    492 		type->_nameBindings.append("Fx_color_common");
    493 	}
    494 
    495 	// ENUM: Fx_opaque_enum
    496 	type = new daeEnumType(dae);
    497 	type->_nameBindings.append("Fx_opaque_enum");
    498 	((daeEnumType*)type)->_strings = new daeStringRefArray;
    499 	((daeEnumType*)type)->_values = new daeEnumArray;
    500 	((daeEnumType*)type)->_strings->append("A_ONE");
    501 	((daeEnumType*)type)->_values->append(FX_OPAQUE_ENUM_A_ONE);
    502 	((daeEnumType*)type)->_strings->append("RGB_ZERO");
    503 	((daeEnumType*)type)->_values->append(FX_OPAQUE_ENUM_RGB_ZERO);
    504 	atomicTypes.append( type );
    505 
    506 	// ENUM: Fx_surface_type_enum
    507 	type = new daeEnumType(dae);
    508 	type->_nameBindings.append("Fx_surface_type_enum");
    509 	((daeEnumType*)type)->_strings = new daeStringRefArray;
    510 	((daeEnumType*)type)->_values = new daeEnumArray;
    511 	((daeEnumType*)type)->_strings->append("UNTYPED");
    512 	((daeEnumType*)type)->_values->append(FX_SURFACE_TYPE_ENUM_UNTYPED);
    513 	((daeEnumType*)type)->_strings->append("1D");
    514 	((daeEnumType*)type)->_values->append(FX_SURFACE_TYPE_ENUM_1D);
    515 	((daeEnumType*)type)->_strings->append("2D");
    516 	((daeEnumType*)type)->_values->append(FX_SURFACE_TYPE_ENUM_2D);
    517 	((daeEnumType*)type)->_strings->append("3D");
    518 	((daeEnumType*)type)->_values->append(FX_SURFACE_TYPE_ENUM_3D);
    519 	((daeEnumType*)type)->_strings->append("RECT");
    520 	((daeEnumType*)type)->_values->append(FX_SURFACE_TYPE_ENUM_RECT);
    521 	((daeEnumType*)type)->_strings->append("CUBE");
    522 	((daeEnumType*)type)->_values->append(FX_SURFACE_TYPE_ENUM_CUBE);
    523 	((daeEnumType*)type)->_strings->append("DEPTH");
    524 	((daeEnumType*)type)->_values->append(FX_SURFACE_TYPE_ENUM_DEPTH);
    525 	atomicTypes.append( type );
    526 
    527 	// ENUM: Fx_surface_face_enum
    528 	type = new daeEnumType(dae);
    529 	type->_nameBindings.append("Fx_surface_face_enum");
    530 	((daeEnumType*)type)->_strings = new daeStringRefArray;
    531 	((daeEnumType*)type)->_values = new daeEnumArray;
    532 	((daeEnumType*)type)->_strings->append("POSITIVE_X");
    533 	((daeEnumType*)type)->_values->append(FX_SURFACE_FACE_ENUM_POSITIVE_X);
    534 	((daeEnumType*)type)->_strings->append("NEGATIVE_X");
    535 	((daeEnumType*)type)->_values->append(FX_SURFACE_FACE_ENUM_NEGATIVE_X);
    536 	((daeEnumType*)type)->_strings->append("POSITIVE_Y");
    537 	((daeEnumType*)type)->_values->append(FX_SURFACE_FACE_ENUM_POSITIVE_Y);
    538 	((daeEnumType*)type)->_strings->append("NEGATIVE_Y");
    539 	((daeEnumType*)type)->_values->append(FX_SURFACE_FACE_ENUM_NEGATIVE_Y);
    540 	((daeEnumType*)type)->_strings->append("POSITIVE_Z");
    541 	((daeEnumType*)type)->_values->append(FX_SURFACE_FACE_ENUM_POSITIVE_Z);
    542 	((daeEnumType*)type)->_strings->append("NEGATIVE_Z");
    543 	((daeEnumType*)type)->_values->append(FX_SURFACE_FACE_ENUM_NEGATIVE_Z);
    544 	atomicTypes.append( type );
    545 
    546 	// ENUM: Fx_surface_format_hint_channels_enum
    547 	type = new daeEnumType(dae);
    548 	type->_nameBindings.append("Fx_surface_format_hint_channels_enum");
    549 	((daeEnumType*)type)->_strings = new daeStringRefArray;
    550 	((daeEnumType*)type)->_values = new daeEnumArray;
    551 	((daeEnumType*)type)->_strings->append("RGB");
    552 	((daeEnumType*)type)->_values->append(FX_SURFACE_FORMAT_HINT_CHANNELS_ENUM_RGB);
    553 	((daeEnumType*)type)->_strings->append("RGBA");
    554 	((daeEnumType*)type)->_values->append(FX_SURFACE_FORMAT_HINT_CHANNELS_ENUM_RGBA);
    555 	((daeEnumType*)type)->_strings->append("L");
    556 	((daeEnumType*)type)->_values->append(FX_SURFACE_FORMAT_HINT_CHANNELS_ENUM_L);
    557 	((daeEnumType*)type)->_strings->append("LA");
    558 	((daeEnumType*)type)->_values->append(FX_SURFACE_FORMAT_HINT_CHANNELS_ENUM_LA);
    559 	((daeEnumType*)type)->_strings->append("D");
    560 	((daeEnumType*)type)->_values->append(FX_SURFACE_FORMAT_HINT_CHANNELS_ENUM_D);
    561 	((daeEnumType*)type)->_strings->append("XYZ");
    562 	((daeEnumType*)type)->_values->append(FX_SURFACE_FORMAT_HINT_CHANNELS_ENUM_XYZ);
    563 	((daeEnumType*)type)->_strings->append("XYZW");
    564 	((daeEnumType*)type)->_values->append(FX_SURFACE_FORMAT_HINT_CHANNELS_ENUM_XYZW);
    565 	atomicTypes.append( type );
    566 
    567 	// ENUM: Fx_surface_format_hint_precision_enum
    568 	type = new daeEnumType(dae);
    569 	type->_nameBindings.append("Fx_surface_format_hint_precision_enum");
    570 	((daeEnumType*)type)->_strings = new daeStringRefArray;
    571 	((daeEnumType*)type)->_values = new daeEnumArray;
    572 	((daeEnumType*)type)->_strings->append("LOW");
    573 	((daeEnumType*)type)->_values->append(FX_SURFACE_FORMAT_HINT_PRECISION_ENUM_LOW);
    574 	((daeEnumType*)type)->_strings->append("MID");
    575 	((daeEnumType*)type)->_values->append(FX_SURFACE_FORMAT_HINT_PRECISION_ENUM_MID);
    576 	((daeEnumType*)type)->_strings->append("HIGH");
    577 	((daeEnumType*)type)->_values->append(FX_SURFACE_FORMAT_HINT_PRECISION_ENUM_HIGH);
    578 	atomicTypes.append( type );
    579 
    580 	// ENUM: Fx_surface_format_hint_range_enum
    581 	type = new daeEnumType(dae);
    582 	type->_nameBindings.append("Fx_surface_format_hint_range_enum");
    583 	((daeEnumType*)type)->_strings = new daeStringRefArray;
    584 	((daeEnumType*)type)->_values = new daeEnumArray;
    585 	((daeEnumType*)type)->_strings->append("SNORM");
    586 	((daeEnumType*)type)->_values->append(FX_SURFACE_FORMAT_HINT_RANGE_ENUM_SNORM);
    587 	((daeEnumType*)type)->_strings->append("UNORM");
    588 	((daeEnumType*)type)->_values->append(FX_SURFACE_FORMAT_HINT_RANGE_ENUM_UNORM);
    589 	((daeEnumType*)type)->_strings->append("SINT");
    590 	((daeEnumType*)type)->_values->append(FX_SURFACE_FORMAT_HINT_RANGE_ENUM_SINT);
    591 	((daeEnumType*)type)->_strings->append("UINT");
    592 	((daeEnumType*)type)->_values->append(FX_SURFACE_FORMAT_HINT_RANGE_ENUM_UINT);
    593 	((daeEnumType*)type)->_strings->append("FLOAT");
    594 	((daeEnumType*)type)->_values->append(FX_SURFACE_FORMAT_HINT_RANGE_ENUM_FLOAT);
    595 	atomicTypes.append( type );
    596 
    597 	// ENUM: Fx_surface_format_hint_option_enum
    598 	type = new daeEnumType(dae);
    599 	type->_nameBindings.append("Fx_surface_format_hint_option_enum");
    600 	((daeEnumType*)type)->_strings = new daeStringRefArray;
    601 	((daeEnumType*)type)->_values = new daeEnumArray;
    602 	((daeEnumType*)type)->_strings->append("SRGB_GAMMA");
    603 	((daeEnumType*)type)->_values->append(FX_SURFACE_FORMAT_HINT_OPTION_ENUM_SRGB_GAMMA);
    604 	((daeEnumType*)type)->_strings->append("NORMALIZED3");
    605 	((daeEnumType*)type)->_values->append(FX_SURFACE_FORMAT_HINT_OPTION_ENUM_NORMALIZED3);
    606 	((daeEnumType*)type)->_strings->append("NORMALIZED4");
    607 	((daeEnumType*)type)->_values->append(FX_SURFACE_FORMAT_HINT_OPTION_ENUM_NORMALIZED4);
    608 	((daeEnumType*)type)->_strings->append("COMPRESSABLE");
    609 	((daeEnumType*)type)->_values->append(FX_SURFACE_FORMAT_HINT_OPTION_ENUM_COMPRESSABLE);
    610 	atomicTypes.append( type );
    611 
    612 	// ENUM: Fx_sampler_wrap_common
    613 	type = new daeEnumType(dae);
    614 	type->_nameBindings.append("Fx_sampler_wrap_common");
    615 	((daeEnumType*)type)->_strings = new daeStringRefArray;
    616 	((daeEnumType*)type)->_values = new daeEnumArray;
    617 	((daeEnumType*)type)->_strings->append("NONE");
    618 	((daeEnumType*)type)->_values->append(FX_SAMPLER_WRAP_COMMON_NONE);
    619 	((daeEnumType*)type)->_strings->append("WRAP");
    620 	((daeEnumType*)type)->_values->append(FX_SAMPLER_WRAP_COMMON_WRAP);
    621 	((daeEnumType*)type)->_strings->append("MIRROR");
    622 	((daeEnumType*)type)->_values->append(FX_SAMPLER_WRAP_COMMON_MIRROR);
    623 	((daeEnumType*)type)->_strings->append("CLAMP");
    624 	((daeEnumType*)type)->_values->append(FX_SAMPLER_WRAP_COMMON_CLAMP);
    625 	((daeEnumType*)type)->_strings->append("BORDER");
    626 	((daeEnumType*)type)->_values->append(FX_SAMPLER_WRAP_COMMON_BORDER);
    627 	atomicTypes.append( type );
    628 
    629 	// ENUM: Fx_sampler_filter_common
    630 	type = new daeEnumType(dae);
    631 	type->_nameBindings.append("Fx_sampler_filter_common");
    632 	((daeEnumType*)type)->_strings = new daeStringRefArray;
    633 	((daeEnumType*)type)->_values = new daeEnumArray;
    634 	((daeEnumType*)type)->_strings->append("NONE");
    635 	((daeEnumType*)type)->_values->append(FX_SAMPLER_FILTER_COMMON_NONE);
    636 	((daeEnumType*)type)->_strings->append("NEAREST");
    637 	((daeEnumType*)type)->_values->append(FX_SAMPLER_FILTER_COMMON_NEAREST);
    638 	((daeEnumType*)type)->_strings->append("LINEAR");
    639 	((daeEnumType*)type)->_values->append(FX_SAMPLER_FILTER_COMMON_LINEAR);
    640 	((daeEnumType*)type)->_strings->append("NEAREST_MIPMAP_NEAREST");
    641 	((daeEnumType*)type)->_values->append(FX_SAMPLER_FILTER_COMMON_NEAREST_MIPMAP_NEAREST);
    642 	((daeEnumType*)type)->_strings->append("LINEAR_MIPMAP_NEAREST");
    643 	((daeEnumType*)type)->_values->append(FX_SAMPLER_FILTER_COMMON_LINEAR_MIPMAP_NEAREST);
    644 	((daeEnumType*)type)->_strings->append("NEAREST_MIPMAP_LINEAR");
    645 	((daeEnumType*)type)->_values->append(FX_SAMPLER_FILTER_COMMON_NEAREST_MIPMAP_LINEAR);
    646 	((daeEnumType*)type)->_strings->append("LINEAR_MIPMAP_LINEAR");
    647 	((daeEnumType*)type)->_values->append(FX_SAMPLER_FILTER_COMMON_LINEAR_MIPMAP_LINEAR);
    648 	atomicTypes.append( type );
    649 
    650 	// ENUM: Fx_modifier_enum_common
    651 	type = new daeEnumType(dae);
    652 	type->_nameBindings.append("Fx_modifier_enum_common");
    653 	((daeEnumType*)type)->_strings = new daeStringRefArray;
    654 	((daeEnumType*)type)->_values = new daeEnumArray;
    655 	((daeEnumType*)type)->_strings->append("CONST");
    656 	((daeEnumType*)type)->_values->append(FX_MODIFIER_ENUM_COMMON_CONST);
    657 	((daeEnumType*)type)->_strings->append("UNIFORM");
    658 	((daeEnumType*)type)->_values->append(FX_MODIFIER_ENUM_COMMON_UNIFORM);
    659 	((daeEnumType*)type)->_strings->append("VARYING");
    660 	((daeEnumType*)type)->_values->append(FX_MODIFIER_ENUM_COMMON_VARYING);
    661 	((daeEnumType*)type)->_strings->append("STATIC");
    662 	((daeEnumType*)type)->_values->append(FX_MODIFIER_ENUM_COMMON_STATIC);
    663 	((daeEnumType*)type)->_strings->append("VOLATILE");
    664 	((daeEnumType*)type)->_values->append(FX_MODIFIER_ENUM_COMMON_VOLATILE);
    665 	((daeEnumType*)type)->_strings->append("EXTERN");
    666 	((daeEnumType*)type)->_values->append(FX_MODIFIER_ENUM_COMMON_EXTERN);
    667 	((daeEnumType*)type)->_strings->append("SHARED");
    668 	((daeEnumType*)type)->_values->append(FX_MODIFIER_ENUM_COMMON_SHARED);
    669 	atomicTypes.append( type );
    670 
    671 	// TYPEDEF: Fx_draw_common	//check if this type has an existing base
    672 	type = atomicTypes.get("xsString");
    673 	if ( type == NULL ) { //register as a raw type
    674 		type = new daeRawRefType(dae);
    675 		type->_nameBindings.append("Fx_draw_common");
    676 		atomicTypes.append( type );
    677 	}
    678 	else { //add binding to existing type
    679 		type->_nameBindings.append("Fx_draw_common");
    680 	}
    681 
    682 	// ENUM: Fx_pipeline_stage_common
    683 	type = new daeEnumType(dae);
    684 	type->_nameBindings.append("Fx_pipeline_stage_common");
    685 	((daeEnumType*)type)->_strings = new daeStringRefArray;
    686 	((daeEnumType*)type)->_values = new daeEnumArray;
    687 	((daeEnumType*)type)->_strings->append("VERTEXPROGRAM");
    688 	((daeEnumType*)type)->_values->append(FX_PIPELINE_STAGE_COMMON_VERTEXPROGRAM);
    689 	((daeEnumType*)type)->_strings->append("FRAGMENTPROGRAM");
    690 	((daeEnumType*)type)->_values->append(FX_PIPELINE_STAGE_COMMON_FRAGMENTPROGRAM);
    691 	((daeEnumType*)type)->_strings->append("VERTEXSHADER");
    692 	((daeEnumType*)type)->_values->append(FX_PIPELINE_STAGE_COMMON_VERTEXSHADER);
    693 	((daeEnumType*)type)->_strings->append("PIXELSHADER");
    694 	((daeEnumType*)type)->_values->append(FX_PIPELINE_STAGE_COMMON_PIXELSHADER);
    695 	atomicTypes.append( type );
    696 
    697 	// TYPEDEF: GL_MAX_LIGHTS_index	//check if this type has an existing base
    698 	type = atomicTypes.get("xsNonNegativeInteger");
    699 	if ( type == NULL ) { //register as a raw type
    700 		type = new daeRawRefType(dae);
    701 		type->_nameBindings.append("GL_MAX_LIGHTS_index");
    702 		atomicTypes.append( type );
    703 	}
    704 	else { //add binding to existing type
    705 		type->_nameBindings.append("GL_MAX_LIGHTS_index");
    706 	}
    707 
    708 	// TYPEDEF: GL_MAX_CLIP_PLANES_index	//check if this type has an existing base
    709 	type = atomicTypes.get("xsNonNegativeInteger");
    710 	if ( type == NULL ) { //register as a raw type
    711 		type = new daeRawRefType(dae);
    712 		type->_nameBindings.append("GL_MAX_CLIP_PLANES_index");
    713 		atomicTypes.append( type );
    714 	}
    715 	else { //add binding to existing type
    716 		type->_nameBindings.append("GL_MAX_CLIP_PLANES_index");
    717 	}
    718 
    719 	// TYPEDEF: GL_MAX_TEXTURE_IMAGE_UNITS_index	//check if this type has an existing base
    720 	type = atomicTypes.get("xsNonNegativeInteger");
    721 	if ( type == NULL ) { //register as a raw type
    722 		type = new daeRawRefType(dae);
    723 		type->_nameBindings.append("GL_MAX_TEXTURE_IMAGE_UNITS_index");
    724 		atomicTypes.append( type );
    725 	}
    726 	else { //add binding to existing type
    727 		type->_nameBindings.append("GL_MAX_TEXTURE_IMAGE_UNITS_index");
    728 	}
    729 
    730 	// ENUM: Gl_blend_type
    731 	type = new daeEnumType(dae);
    732 	type->_nameBindings.append("Gl_blend_type");
    733 	((daeEnumType*)type)->_strings = new daeStringRefArray;
    734 	((daeEnumType*)type)->_values = new daeEnumArray;
    735 	((daeEnumType*)type)->_strings->append("ZERO");
    736 	((daeEnumType*)type)->_values->append(GL_BLEND_TYPE_ZERO);
    737 	((daeEnumType*)type)->_strings->append("ONE");
    738 	((daeEnumType*)type)->_values->append(GL_BLEND_TYPE_ONE);
    739 	((daeEnumType*)type)->_strings->append("SRC_COLOR");
    740 	((daeEnumType*)type)->_values->append(GL_BLEND_TYPE_SRC_COLOR);
    741 	((daeEnumType*)type)->_strings->append("ONE_MINUS_SRC_COLOR");
    742 	((daeEnumType*)type)->_values->append(GL_BLEND_TYPE_ONE_MINUS_SRC_COLOR);
    743 	((daeEnumType*)type)->_strings->append("DEST_COLOR");
    744 	((daeEnumType*)type)->_values->append(GL_BLEND_TYPE_DEST_COLOR);
    745 	((daeEnumType*)type)->_strings->append("ONE_MINUS_DEST_COLOR");
    746 	((daeEnumType*)type)->_values->append(GL_BLEND_TYPE_ONE_MINUS_DEST_COLOR);
    747 	((daeEnumType*)type)->_strings->append("SRC_ALPHA");
    748 	((daeEnumType*)type)->_values->append(GL_BLEND_TYPE_SRC_ALPHA);
    749 	((daeEnumType*)type)->_strings->append("ONE_MINUS_SRC_ALPHA");
    750 	((daeEnumType*)type)->_values->append(GL_BLEND_TYPE_ONE_MINUS_SRC_ALPHA);
    751 	((daeEnumType*)type)->_strings->append("DST_ALPHA");
    752 	((daeEnumType*)type)->_values->append(GL_BLEND_TYPE_DST_ALPHA);
    753 	((daeEnumType*)type)->_strings->append("ONE_MINUS_DST_ALPHA");
    754 	((daeEnumType*)type)->_values->append(GL_BLEND_TYPE_ONE_MINUS_DST_ALPHA);
    755 	((daeEnumType*)type)->_strings->append("CONSTANT_COLOR");
    756 	((daeEnumType*)type)->_values->append(GL_BLEND_TYPE_CONSTANT_COLOR);
    757 	((daeEnumType*)type)->_strings->append("ONE_MINUS_CONSTANT_COLOR");
    758 	((daeEnumType*)type)->_values->append(GL_BLEND_TYPE_ONE_MINUS_CONSTANT_COLOR);
    759 	((daeEnumType*)type)->_strings->append("CONSTANT_ALPHA");
    760 	((daeEnumType*)type)->_values->append(GL_BLEND_TYPE_CONSTANT_ALPHA);
    761 	((daeEnumType*)type)->_strings->append("ONE_MINUS_CONSTANT_ALPHA");
    762 	((daeEnumType*)type)->_values->append(GL_BLEND_TYPE_ONE_MINUS_CONSTANT_ALPHA);
    763 	((daeEnumType*)type)->_strings->append("SRC_ALPHA_SATURATE");
    764 	((daeEnumType*)type)->_values->append(GL_BLEND_TYPE_SRC_ALPHA_SATURATE);
    765 	atomicTypes.append( type );
    766 
    767 	// ENUM: Gl_face_type
    768 	type = new daeEnumType(dae);
    769 	type->_nameBindings.append("Gl_face_type");
    770 	((daeEnumType*)type)->_strings = new daeStringRefArray;
    771 	((daeEnumType*)type)->_values = new daeEnumArray;
    772 	((daeEnumType*)type)->_strings->append("FRONT");
    773 	((daeEnumType*)type)->_values->append(GL_FACE_TYPE_FRONT);
    774 	((daeEnumType*)type)->_strings->append("BACK");
    775 	((daeEnumType*)type)->_values->append(GL_FACE_TYPE_BACK);
    776 	((daeEnumType*)type)->_strings->append("FRONT_AND_BACK");
    777 	((daeEnumType*)type)->_values->append(GL_FACE_TYPE_FRONT_AND_BACK);
    778 	atomicTypes.append( type );
    779 
    780 	// ENUM: Gl_blend_equation_type
    781 	type = new daeEnumType(dae);
    782 	type->_nameBindings.append("Gl_blend_equation_type");
    783 	((daeEnumType*)type)->_strings = new daeStringRefArray;
    784 	((daeEnumType*)type)->_values = new daeEnumArray;
    785 	((daeEnumType*)type)->_strings->append("FUNC_ADD");
    786 	((daeEnumType*)type)->_values->append(GL_BLEND_EQUATION_TYPE_FUNC_ADD);
    787 	((daeEnumType*)type)->_strings->append("FUNC_SUBTRACT");
    788 	((daeEnumType*)type)->_values->append(GL_BLEND_EQUATION_TYPE_FUNC_SUBTRACT);
    789 	((daeEnumType*)type)->_strings->append("FUNC_REVERSE_SUBTRACT");
    790 	((daeEnumType*)type)->_values->append(GL_BLEND_EQUATION_TYPE_FUNC_REVERSE_SUBTRACT);
    791 	((daeEnumType*)type)->_strings->append("MIN");
    792 	((daeEnumType*)type)->_values->append(GL_BLEND_EQUATION_TYPE_MIN);
    793 	((daeEnumType*)type)->_strings->append("MAX");
    794 	((daeEnumType*)type)->_values->append(GL_BLEND_EQUATION_TYPE_MAX);
    795 	atomicTypes.append( type );
    796 
    797 	// ENUM: Gl_func_type
    798 	type = new daeEnumType(dae);
    799 	type->_nameBindings.append("Gl_func_type");
    800 	((daeEnumType*)type)->_strings = new daeStringRefArray;
    801 	((daeEnumType*)type)->_values = new daeEnumArray;
    802 	((daeEnumType*)type)->_strings->append("NEVER");
    803 	((daeEnumType*)type)->_values->append(GL_FUNC_TYPE_NEVER);
    804 	((daeEnumType*)type)->_strings->append("LESS");
    805 	((daeEnumType*)type)->_values->append(GL_FUNC_TYPE_LESS);
    806 	((daeEnumType*)type)->_strings->append("LEQUAL");
    807 	((daeEnumType*)type)->_values->append(GL_FUNC_TYPE_LEQUAL);
    808 	((daeEnumType*)type)->_strings->append("EQUAL");
    809 	((daeEnumType*)type)->_values->append(GL_FUNC_TYPE_EQUAL);
    810 	((daeEnumType*)type)->_strings->append("GREATER");
    811 	((daeEnumType*)type)->_values->append(GL_FUNC_TYPE_GREATER);
    812 	((daeEnumType*)type)->_strings->append("NOTEQUAL");
    813 	((daeEnumType*)type)->_values->append(GL_FUNC_TYPE_NOTEQUAL);
    814 	((daeEnumType*)type)->_strings->append("GEQUAL");
    815 	((daeEnumType*)type)->_values->append(GL_FUNC_TYPE_GEQUAL);
    816 	((daeEnumType*)type)->_strings->append("ALWAYS");
    817 	((daeEnumType*)type)->_values->append(GL_FUNC_TYPE_ALWAYS);
    818 	atomicTypes.append( type );
    819 
    820 	// ENUM: Gl_stencil_op_type
    821 	type = new daeEnumType(dae);
    822 	type->_nameBindings.append("Gl_stencil_op_type");
    823 	((daeEnumType*)type)->_strings = new daeStringRefArray;
    824 	((daeEnumType*)type)->_values = new daeEnumArray;
    825 	((daeEnumType*)type)->_strings->append("KEEP");
    826 	((daeEnumType*)type)->_values->append(GL_STENCIL_OP_TYPE_KEEP);
    827 	((daeEnumType*)type)->_strings->append("ZERO");
    828 	((daeEnumType*)type)->_values->append(GL_STENCIL_OP_TYPE_ZERO);
    829 	((daeEnumType*)type)->_strings->append("REPLACE");
    830 	((daeEnumType*)type)->_values->append(GL_STENCIL_OP_TYPE_REPLACE);
    831 	((daeEnumType*)type)->_strings->append("INCR");
    832 	((daeEnumType*)type)->_values->append(GL_STENCIL_OP_TYPE_INCR);
    833 	((daeEnumType*)type)->_strings->append("DECR");
    834 	((daeEnumType*)type)->_values->append(GL_STENCIL_OP_TYPE_DECR);
    835 	((daeEnumType*)type)->_strings->append("INVERT");
    836 	((daeEnumType*)type)->_values->append(GL_STENCIL_OP_TYPE_INVERT);
    837 	((daeEnumType*)type)->_strings->append("INCR_WRAP");
    838 	((daeEnumType*)type)->_values->append(GL_STENCIL_OP_TYPE_INCR_WRAP);
    839 	((daeEnumType*)type)->_strings->append("DECR_WRAP");
    840 	((daeEnumType*)type)->_values->append(GL_STENCIL_OP_TYPE_DECR_WRAP);
    841 	atomicTypes.append( type );
    842 
    843 	// ENUM: Gl_material_type
    844 	type = new daeEnumType(dae);
    845 	type->_nameBindings.append("Gl_material_type");
    846 	((daeEnumType*)type)->_strings = new daeStringRefArray;
    847 	((daeEnumType*)type)->_values = new daeEnumArray;
    848 	((daeEnumType*)type)->_strings->append("EMISSION");
    849 	((daeEnumType*)type)->_values->append(GL_MATERIAL_TYPE_EMISSION);
    850 	((daeEnumType*)type)->_strings->append("AMBIENT");
    851 	((daeEnumType*)type)->_values->append(GL_MATERIAL_TYPE_AMBIENT);
    852 	((daeEnumType*)type)->_strings->append("DIFFUSE");
    853 	((daeEnumType*)type)->_values->append(GL_MATERIAL_TYPE_DIFFUSE);
    854 	((daeEnumType*)type)->_strings->append("SPECULAR");
    855 	((daeEnumType*)type)->_values->append(GL_MATERIAL_TYPE_SPECULAR);
    856 	((daeEnumType*)type)->_strings->append("AMBIENT_AND_DIFFUSE");
    857 	((daeEnumType*)type)->_values->append(GL_MATERIAL_TYPE_AMBIENT_AND_DIFFUSE);
    858 	atomicTypes.append( type );
    859 
    860 	// ENUM: Gl_fog_type
    861 	type = new daeEnumType(dae);
    862 	type->_nameBindings.append("Gl_fog_type");
    863 	((daeEnumType*)type)->_strings = new daeStringRefArray;
    864 	((daeEnumType*)type)->_values = new daeEnumArray;
    865 	((daeEnumType*)type)->_strings->append("LINEAR");
    866 	((daeEnumType*)type)->_values->append(GL_FOG_TYPE_LINEAR);
    867 	((daeEnumType*)type)->_strings->append("EXP");
    868 	((daeEnumType*)type)->_values->append(GL_FOG_TYPE_EXP);
    869 	((daeEnumType*)type)->_strings->append("EXP2");
    870 	((daeEnumType*)type)->_values->append(GL_FOG_TYPE_EXP2);
    871 	atomicTypes.append( type );
    872 
    873 	// ENUM: Gl_fog_coord_src_type
    874 	type = new daeEnumType(dae);
    875 	type->_nameBindings.append("Gl_fog_coord_src_type");
    876 	((daeEnumType*)type)->_strings = new daeStringRefArray;
    877 	((daeEnumType*)type)->_values = new daeEnumArray;
    878 	((daeEnumType*)type)->_strings->append("FOG_COORDINATE");
    879 	((daeEnumType*)type)->_values->append(GL_FOG_COORD_SRC_TYPE_FOG_COORDINATE);
    880 	((daeEnumType*)type)->_strings->append("FRAGMENT_DEPTH");
    881 	((daeEnumType*)type)->_values->append(GL_FOG_COORD_SRC_TYPE_FRAGMENT_DEPTH);
    882 	atomicTypes.append( type );
    883 
    884 	// ENUM: Gl_front_face_type
    885 	type = new daeEnumType(dae);
    886 	type->_nameBindings.append("Gl_front_face_type");
    887 	((daeEnumType*)type)->_strings = new daeStringRefArray;
    888 	((daeEnumType*)type)->_values = new daeEnumArray;
    889 	((daeEnumType*)type)->_strings->append("CW");
    890 	((daeEnumType*)type)->_values->append(GL_FRONT_FACE_TYPE_CW);
    891 	((daeEnumType*)type)->_strings->append("CCW");
    892 	((daeEnumType*)type)->_values->append(GL_FRONT_FACE_TYPE_CCW);
    893 	atomicTypes.append( type );
    894 
    895 	// ENUM: Gl_light_model_color_control_type
    896 	type = new daeEnumType(dae);
    897 	type->_nameBindings.append("Gl_light_model_color_control_type");
    898 	((daeEnumType*)type)->_strings = new daeStringRefArray;
    899 	((daeEnumType*)type)->_values = new daeEnumArray;
    900 	((daeEnumType*)type)->_strings->append("SINGLE_COLOR");
    901 	((daeEnumType*)type)->_values->append(GL_LIGHT_MODEL_COLOR_CONTROL_TYPE_SINGLE_COLOR);
    902 	((daeEnumType*)type)->_strings->append("SEPARATE_SPECULAR_COLOR");
    903 	((daeEnumType*)type)->_values->append(GL_LIGHT_MODEL_COLOR_CONTROL_TYPE_SEPARATE_SPECULAR_COLOR);
    904 	atomicTypes.append( type );
    905 
    906 	// ENUM: Gl_logic_op_type
    907 	type = new daeEnumType(dae);
    908 	type->_nameBindings.append("Gl_logic_op_type");
    909 	((daeEnumType*)type)->_strings = new daeStringRefArray;
    910 	((daeEnumType*)type)->_values = new daeEnumArray;
    911 	((daeEnumType*)type)->_strings->append("CLEAR");
    912 	((daeEnumType*)type)->_values->append(GL_LOGIC_OP_TYPE_CLEAR);
    913 	((daeEnumType*)type)->_strings->append("AND");
    914 	((daeEnumType*)type)->_values->append(GL_LOGIC_OP_TYPE_AND);
    915 	((daeEnumType*)type)->_strings->append("AND_REVERSE");
    916 	((daeEnumType*)type)->_values->append(GL_LOGIC_OP_TYPE_AND_REVERSE);
    917 	((daeEnumType*)type)->_strings->append("COPY");
    918 	((daeEnumType*)type)->_values->append(GL_LOGIC_OP_TYPE_COPY);
    919 	((daeEnumType*)type)->_strings->append("AND_INVERTED");
    920 	((daeEnumType*)type)->_values->append(GL_LOGIC_OP_TYPE_AND_INVERTED);
    921 	((daeEnumType*)type)->_strings->append("NOOP");
    922 	((daeEnumType*)type)->_values->append(GL_LOGIC_OP_TYPE_NOOP);
    923 	((daeEnumType*)type)->_strings->append("XOR");
    924 	((daeEnumType*)type)->_values->append(GL_LOGIC_OP_TYPE_XOR);
    925 	((daeEnumType*)type)->_strings->append("OR");
    926 	((daeEnumType*)type)->_values->append(GL_LOGIC_OP_TYPE_OR);
    927 	((daeEnumType*)type)->_strings->append("NOR");
    928 	((daeEnumType*)type)->_values->append(GL_LOGIC_OP_TYPE_NOR);
    929 	((daeEnumType*)type)->_strings->append("EQUIV");
    930 	((daeEnumType*)type)->_values->append(GL_LOGIC_OP_TYPE_EQUIV);
    931 	((daeEnumType*)type)->_strings->append("INVERT");
    932 	((daeEnumType*)type)->_values->append(GL_LOGIC_OP_TYPE_INVERT);
    933 	((daeEnumType*)type)->_strings->append("OR_REVERSE");
    934 	((daeEnumType*)type)->_values->append(GL_LOGIC_OP_TYPE_OR_REVERSE);
    935 	((daeEnumType*)type)->_strings->append("COPY_INVERTED");
    936 	((daeEnumType*)type)->_values->append(GL_LOGIC_OP_TYPE_COPY_INVERTED);
    937 	((daeEnumType*)type)->_strings->append("NAND");
    938 	((daeEnumType*)type)->_values->append(GL_LOGIC_OP_TYPE_NAND);
    939 	((daeEnumType*)type)->_strings->append("SET");
    940 	((daeEnumType*)type)->_values->append(GL_LOGIC_OP_TYPE_SET);
    941 	atomicTypes.append( type );
    942 
    943 	// ENUM: Gl_polygon_mode_type
    944 	type = new daeEnumType(dae);
    945 	type->_nameBindings.append("Gl_polygon_mode_type");
    946 	((daeEnumType*)type)->_strings = new daeStringRefArray;
    947 	((daeEnumType*)type)->_values = new daeEnumArray;
    948 	((daeEnumType*)type)->_strings->append("POINT");
    949 	((daeEnumType*)type)->_values->append(GL_POLYGON_MODE_TYPE_POINT);
    950 	((daeEnumType*)type)->_strings->append("LINE");
    951 	((daeEnumType*)type)->_values->append(GL_POLYGON_MODE_TYPE_LINE);
    952 	((daeEnumType*)type)->_strings->append("FILL");
    953 	((daeEnumType*)type)->_values->append(GL_POLYGON_MODE_TYPE_FILL);
    954 	atomicTypes.append( type );
    955 
    956 	// ENUM: Gl_shade_model_type
    957 	type = new daeEnumType(dae);
    958 	type->_nameBindings.append("Gl_shade_model_type");
    959 	((daeEnumType*)type)->_strings = new daeStringRefArray;
    960 	((daeEnumType*)type)->_values = new daeEnumArray;
    961 	((daeEnumType*)type)->_strings->append("FLAT");
    962 	((daeEnumType*)type)->_values->append(GL_SHADE_MODEL_TYPE_FLAT);
    963 	((daeEnumType*)type)->_strings->append("SMOOTH");
    964 	((daeEnumType*)type)->_values->append(GL_SHADE_MODEL_TYPE_SMOOTH);
    965 	atomicTypes.append( type );
    966 
    967 	// TYPEDEF: Gl_alpha_value_type	//check if this type has an existing base
    968 	type = atomicTypes.get("xsFloat");
    969 	if ( type == NULL ) { //register as a raw type
    970 		type = new daeRawRefType(dae);
    971 		type->_nameBindings.append("Gl_alpha_value_type");
    972 		atomicTypes.append( type );
    973 	}
    974 	else { //add binding to existing type
    975 		type->_nameBindings.append("Gl_alpha_value_type");
    976 	}
    977 
    978 	// ENUM: Gl_enumeration
    979 	type = new daeEnumType(dae);
    980 	type->_nameBindings.append("Gl_enumeration");
    981 	((daeEnumType*)type)->_strings = new daeStringRefArray;
    982 	((daeEnumType*)type)->_values = new daeEnumArray;
    983 	((daeEnumType*)type)->_strings->append("ZERO");
    984 	((daeEnumType*)type)->_values->append(GL_ENUMERATION_ZERO);
    985 	((daeEnumType*)type)->_strings->append("ONE");
    986 	((daeEnumType*)type)->_values->append(GL_ENUMERATION_ONE);
    987 	((daeEnumType*)type)->_strings->append("SRC_COLOR");
    988 	((daeEnumType*)type)->_values->append(GL_ENUMERATION_SRC_COLOR);
    989 	((daeEnumType*)type)->_strings->append("ONE_MINUS_SRC_COLOR");
    990 	((daeEnumType*)type)->_values->append(GL_ENUMERATION_ONE_MINUS_SRC_COLOR);
    991 	((daeEnumType*)type)->_strings->append("DEST_COLOR");
    992 	((daeEnumType*)type)->_values->append(GL_ENUMERATION_DEST_COLOR);
    993 	((daeEnumType*)type)->_strings->append("ONE_MINUS_DEST_COLOR");
    994 	((daeEnumType*)type)->_values->append(GL_ENUMERATION_ONE_MINUS_DEST_COLOR);
    995 	((daeEnumType*)type)->_strings->append("SRC_ALPHA");
    996 	((daeEnumType*)type)->_values->append(GL_ENUMERATION_SRC_ALPHA);
    997 	((daeEnumType*)type)->_strings->append("ONE_MINUS_SRC_ALPHA");
    998 	((daeEnumType*)type)->_values->append(GL_ENUMERATION_ONE_MINUS_SRC_ALPHA);
    999 	((daeEnumType*)type)->_strings->append("DST_ALPHA");
   1000 	((daeEnumType*)type)->_values->append(GL_ENUMERATION_DST_ALPHA);
   1001 	((daeEnumType*)type)->_strings->append("ONE_MINUS_DST_ALPHA");
   1002 	((daeEnumType*)type)->_values->append(GL_ENUMERATION_ONE_MINUS_DST_ALPHA);
   1003 	((daeEnumType*)type)->_strings->append("CONSTANT_COLOR");
   1004 	((daeEnumType*)type)->_values->append(GL_ENUMERATION_CONSTANT_COLOR);
   1005 	((daeEnumType*)type)->_strings->append("ONE_MINUS_CONSTANT_COLOR");
   1006 	((daeEnumType*)type)->_values->append(GL_ENUMERATION_ONE_MINUS_CONSTANT_COLOR);
   1007 	((daeEnumType*)type)->_strings->append("CONSTANT_ALPHA");
   1008 	((daeEnumType*)type)->_values->append(GL_ENUMERATION_CONSTANT_ALPHA);
   1009 	((daeEnumType*)type)->_strings->append("ONE_MINUS_CONSTANT_ALPHA");
   1010 	((daeEnumType*)type)->_values->append(GL_ENUMERATION_ONE_MINUS_CONSTANT_ALPHA);
   1011 	((daeEnumType*)type)->_strings->append("SRC_ALPHA_SATURATE");
   1012 	((daeEnumType*)type)->_values->append(GL_ENUMERATION_SRC_ALPHA_SATURATE);
   1013 	((daeEnumType*)type)->_strings->append("FRONT");
   1014 	((daeEnumType*)type)->_values->append(GL_ENUMERATION_FRONT);
   1015 	((daeEnumType*)type)->_strings->append("BACK");
   1016 	((daeEnumType*)type)->_values->append(GL_ENUMERATION_BACK);
   1017 	((daeEnumType*)type)->_strings->append("FRONT_AND_BACK");
   1018 	((daeEnumType*)type)->_values->append(GL_ENUMERATION_FRONT_AND_BACK);
   1019 	((daeEnumType*)type)->_strings->append("FUNC_ADD");
   1020 	((daeEnumType*)type)->_values->append(GL_ENUMERATION_FUNC_ADD);
   1021 	((daeEnumType*)type)->_strings->append("FUNC_SUBTRACT");
   1022 	((daeEnumType*)type)->_values->append(GL_ENUMERATION_FUNC_SUBTRACT);
   1023 	((daeEnumType*)type)->_strings->append("FUNC_REVERSE_SUBTRACT");
   1024 	((daeEnumType*)type)->_values->append(GL_ENUMERATION_FUNC_REVERSE_SUBTRACT);
   1025 	((daeEnumType*)type)->_strings->append("MIN");
   1026 	((daeEnumType*)type)->_values->append(GL_ENUMERATION_MIN);
   1027 	((daeEnumType*)type)->_strings->append("MAX");
   1028 	((daeEnumType*)type)->_values->append(GL_ENUMERATION_MAX);
   1029 	((daeEnumType*)type)->_strings->append("NEVER");
   1030 	((daeEnumType*)type)->_values->append(GL_ENUMERATION_NEVER);
   1031 	((daeEnumType*)type)->_strings->append("LESS");
   1032 	((daeEnumType*)type)->_values->append(GL_ENUMERATION_LESS);
   1033 	((daeEnumType*)type)->_strings->append("LEQUAL");
   1034 	((daeEnumType*)type)->_values->append(GL_ENUMERATION_LEQUAL);
   1035 	((daeEnumType*)type)->_strings->append("EQUAL");
   1036 	((daeEnumType*)type)->_values->append(GL_ENUMERATION_EQUAL);
   1037 	((daeEnumType*)type)->_strings->append("GREATER");
   1038 	((daeEnumType*)type)->_values->append(GL_ENUMERATION_GREATER);
   1039 	((daeEnumType*)type)->_strings->append("NOTEQUAL");
   1040 	((daeEnumType*)type)->_values->append(GL_ENUMERATION_NOTEQUAL);
   1041 	((daeEnumType*)type)->_strings->append("GEQUAL");
   1042 	((daeEnumType*)type)->_values->append(GL_ENUMERATION_GEQUAL);
   1043 	((daeEnumType*)type)->_strings->append("ALWAYS");
   1044 	((daeEnumType*)type)->_values->append(GL_ENUMERATION_ALWAYS);
   1045 	((daeEnumType*)type)->_strings->append("KEEP");
   1046 	((daeEnumType*)type)->_values->append(GL_ENUMERATION_KEEP);
   1047 	((daeEnumType*)type)->_strings->append("REPLACE");
   1048 	((daeEnumType*)type)->_values->append(GL_ENUMERATION_REPLACE);
   1049 	((daeEnumType*)type)->_strings->append("INCR");
   1050 	((daeEnumType*)type)->_values->append(GL_ENUMERATION_INCR);
   1051 	((daeEnumType*)type)->_strings->append("DECR");
   1052 	((daeEnumType*)type)->_values->append(GL_ENUMERATION_DECR);
   1053 	((daeEnumType*)type)->_strings->append("INVERT");
   1054 	((daeEnumType*)type)->_values->append(GL_ENUMERATION_INVERT);
   1055 	((daeEnumType*)type)->_strings->append("INCR_WRAP");
   1056 	((daeEnumType*)type)->_values->append(GL_ENUMERATION_INCR_WRAP);
   1057 	((daeEnumType*)type)->_strings->append("DECR_WRAP");
   1058 	((daeEnumType*)type)->_values->append(GL_ENUMERATION_DECR_WRAP);
   1059 	((daeEnumType*)type)->_strings->append("EMISSION");
   1060 	((daeEnumType*)type)->_values->append(GL_ENUMERATION_EMISSION);
   1061 	((daeEnumType*)type)->_strings->append("AMBIENT");
   1062 	((daeEnumType*)type)->_values->append(GL_ENUMERATION_AMBIENT);
   1063 	((daeEnumType*)type)->_strings->append("DIFFUSE");
   1064 	((daeEnumType*)type)->_values->append(GL_ENUMERATION_DIFFUSE);
   1065 	((daeEnumType*)type)->_strings->append("SPECULAR");
   1066 	((daeEnumType*)type)->_values->append(GL_ENUMERATION_SPECULAR);
   1067 	((daeEnumType*)type)->_strings->append("AMBIENT_AND_DIFFUSE");
   1068 	((daeEnumType*)type)->_values->append(GL_ENUMERATION_AMBIENT_AND_DIFFUSE);
   1069 	((daeEnumType*)type)->_strings->append("LINEAR");
   1070 	((daeEnumType*)type)->_values->append(GL_ENUMERATION_LINEAR);
   1071 	((daeEnumType*)type)->_strings->append("EXP");
   1072 	((daeEnumType*)type)->_values->append(GL_ENUMERATION_EXP);
   1073 	((daeEnumType*)type)->_strings->append("EXP2");
   1074 	((daeEnumType*)type)->_values->append(GL_ENUMERATION_EXP2);
   1075 	((daeEnumType*)type)->_strings->append("FOG_COORDINATE");
   1076 	((daeEnumType*)type)->_values->append(GL_ENUMERATION_FOG_COORDINATE);
   1077 	((daeEnumType*)type)->_strings->append("FRAGMENT_DEPTH");
   1078 	((daeEnumType*)type)->_values->append(GL_ENUMERATION_FRAGMENT_DEPTH);
   1079 	((daeEnumType*)type)->_strings->append("CW");
   1080 	((daeEnumType*)type)->_values->append(GL_ENUMERATION_CW);
   1081 	((daeEnumType*)type)->_strings->append("CCW");
   1082 	((daeEnumType*)type)->_values->append(GL_ENUMERATION_CCW);
   1083 	((daeEnumType*)type)->_strings->append("SINGLE_COLOR");
   1084 	((daeEnumType*)type)->_values->append(GL_ENUMERATION_SINGLE_COLOR);
   1085 	((daeEnumType*)type)->_strings->append("SEPARATE_SPECULAR_COLOR");
   1086 	((daeEnumType*)type)->_values->append(GL_ENUMERATION_SEPARATE_SPECULAR_COLOR);
   1087 	((daeEnumType*)type)->_strings->append("CLEAR");
   1088 	((daeEnumType*)type)->_values->append(GL_ENUMERATION_CLEAR);
   1089 	((daeEnumType*)type)->_strings->append("AND");
   1090 	((daeEnumType*)type)->_values->append(GL_ENUMERATION_AND);
   1091 	((daeEnumType*)type)->_strings->append("AND_REVERSE");
   1092 	((daeEnumType*)type)->_values->append(GL_ENUMERATION_AND_REVERSE);
   1093 	((daeEnumType*)type)->_strings->append("COPY");
   1094 	((daeEnumType*)type)->_values->append(GL_ENUMERATION_COPY);
   1095 	((daeEnumType*)type)->_strings->append("AND_INVERTED");
   1096 	((daeEnumType*)type)->_values->append(GL_ENUMERATION_AND_INVERTED);
   1097 	((daeEnumType*)type)->_strings->append("NOOP");
   1098 	((daeEnumType*)type)->_values->append(GL_ENUMERATION_NOOP);
   1099 	((daeEnumType*)type)->_strings->append("XOR");
   1100 	((daeEnumType*)type)->_values->append(GL_ENUMERATION_XOR);
   1101 	((daeEnumType*)type)->_strings->append("OR");
   1102 	((daeEnumType*)type)->_values->append(GL_ENUMERATION_OR);
   1103 	((daeEnumType*)type)->_strings->append("NOR");
   1104 	((daeEnumType*)type)->_values->append(GL_ENUMERATION_NOR);
   1105 	((daeEnumType*)type)->_strings->append("EQUIV");
   1106 	((daeEnumType*)type)->_values->append(GL_ENUMERATION_EQUIV);
   1107 	((daeEnumType*)type)->_strings->append("OR_REVERSE");
   1108 	((daeEnumType*)type)->_values->append(GL_ENUMERATION_OR_REVERSE);
   1109 	((daeEnumType*)type)->_strings->append("COPY_INVERTED");
   1110 	((daeEnumType*)type)->_values->append(GL_ENUMERATION_COPY_INVERTED);
   1111 	((daeEnumType*)type)->_strings->append("NAND");
   1112 	((daeEnumType*)type)->_values->append(GL_ENUMERATION_NAND);
   1113 	((daeEnumType*)type)->_strings->append("SET");
   1114 	((daeEnumType*)type)->_values->append(GL_ENUMERATION_SET);
   1115 	((daeEnumType*)type)->_strings->append("POINT");
   1116 	((daeEnumType*)type)->_values->append(GL_ENUMERATION_POINT);
   1117 	((daeEnumType*)type)->_strings->append("LINE");
   1118 	((daeEnumType*)type)->_values->append(GL_ENUMERATION_LINE);
   1119 	((daeEnumType*)type)->_strings->append("FILL");
   1120 	((daeEnumType*)type)->_values->append(GL_ENUMERATION_FILL);
   1121 	((daeEnumType*)type)->_strings->append("FLAT");
   1122 	((daeEnumType*)type)->_values->append(GL_ENUMERATION_FLAT);
   1123 	((daeEnumType*)type)->_strings->append("SMOOTH");
   1124 	((daeEnumType*)type)->_values->append(GL_ENUMERATION_SMOOTH);
   1125 	atomicTypes.append( type );
   1126 
   1127 	// TYPEDEF: Glsl_float	//check if this type has an existing base
   1128 	type = atomicTypes.get("xsFloat");
   1129 	if ( type == NULL ) { //register as a raw type
   1130 		type = new daeRawRefType(dae);
   1131 		type->_nameBindings.append("Glsl_float");
   1132 		atomicTypes.append( type );
   1133 	}
   1134 	else { //add binding to existing type
   1135 		type->_nameBindings.append("Glsl_float");
   1136 	}
   1137 
   1138 	// TYPEDEF: Glsl_int	//check if this type has an existing base
   1139 	type = atomicTypes.get("xsInt");
   1140 	if ( type == NULL ) { //register as a raw type
   1141 		type = new daeRawRefType(dae);
   1142 		type->_nameBindings.append("Glsl_int");
   1143 		atomicTypes.append( type );
   1144 	}
   1145 	else { //add binding to existing type
   1146 		type->_nameBindings.append("Glsl_int");
   1147 	}
   1148 
   1149 	// TYPEDEF: Glsl_bool	//check if this type has an existing base
   1150 	type = atomicTypes.get("xsBoolean");
   1151 	if ( type == NULL ) { //register as a raw type
   1152 		type = new daeRawRefType(dae);
   1153 		type->_nameBindings.append("Glsl_bool");
   1154 		atomicTypes.append( type );
   1155 	}
   1156 	else { //add binding to existing type
   1157 		type->_nameBindings.append("Glsl_bool");
   1158 	}
   1159 
   1160 	// TYPEDEF: Glsl_ListOfBool	//check if this type has an existing base
   1161 	type = atomicTypes.get("Glsl_bool");
   1162 	if ( type == NULL ) { //register as a raw type
   1163 		type = new daeRawRefType(dae);
   1164 		type->_nameBindings.append("Glsl_ListOfBool");
   1165 		atomicTypes.append( type );
   1166 	}
   1167 	else { //add binding to existing type
   1168 		type->_nameBindings.append("Glsl_ListOfBool");
   1169 	}
   1170 
   1171 	// TYPEDEF: Glsl_ListOfFloat	//check if this type has an existing base
   1172 	type = atomicTypes.get("Glsl_float");
   1173 	if ( type == NULL ) { //register as a raw type
   1174 		type = new daeRawRefType(dae);
   1175 		type->_nameBindings.append("Glsl_ListOfFloat");
   1176 		atomicTypes.append( type );
   1177 	}
   1178 	else { //add binding to existing type
   1179 		type->_nameBindings.append("Glsl_ListOfFloat");
   1180 	}
   1181 
   1182 	// TYPEDEF: Glsl_ListOfInt	//check if this type has an existing base
   1183 	type = atomicTypes.get("Glsl_int");
   1184 	if ( type == NULL ) { //register as a raw type
   1185 		type = new daeRawRefType(dae);
   1186 		type->_nameBindings.append("Glsl_ListOfInt");
   1187 		atomicTypes.append( type );
   1188 	}
   1189 	else { //add binding to existing type
   1190 		type->_nameBindings.append("Glsl_ListOfInt");
   1191 	}
   1192 
   1193 	// TYPEDEF: Glsl_bool2	//check if this type has an existing base
   1194 	type = atomicTypes.get("Glsl_ListOfBool");
   1195 	if ( type == NULL ) { //register as a raw type
   1196 		type = new daeRawRefType(dae);
   1197 		type->_nameBindings.append("Glsl_bool2");
   1198 		atomicTypes.append( type );
   1199 	}
   1200 	else { //add binding to existing type
   1201 		type->_nameBindings.append("Glsl_bool2");
   1202 	}
   1203 
   1204 	// TYPEDEF: Glsl_bool3	//check if this type has an existing base
   1205 	type = atomicTypes.get("Glsl_ListOfBool");
   1206 	if ( type == NULL ) { //register as a raw type
   1207 		type = new daeRawRefType(dae);
   1208 		type->_nameBindings.append("Glsl_bool3");
   1209 		atomicTypes.append( type );
   1210 	}
   1211 	else { //add binding to existing type
   1212 		type->_nameBindings.append("Glsl_bool3");
   1213 	}
   1214 
   1215 	// TYPEDEF: Glsl_bool4	//check if this type has an existing base
   1216 	type = atomicTypes.get("Glsl_ListOfBool");
   1217 	if ( type == NULL ) { //register as a raw type
   1218 		type = new daeRawRefType(dae);
   1219 		type->_nameBindings.append("Glsl_bool4");
   1220 		atomicTypes.append( type );
   1221 	}
   1222 	else { //add binding to existing type
   1223 		type->_nameBindings.append("Glsl_bool4");
   1224 	}
   1225 
   1226 	// TYPEDEF: Glsl_float2	//check if this type has an existing base
   1227 	type = atomicTypes.get("Glsl_ListOfFloat");
   1228 	if ( type == NULL ) { //register as a raw type
   1229 		type = new daeRawRefType(dae);
   1230 		type->_nameBindings.append("Glsl_float2");
   1231 		atomicTypes.append( type );
   1232 	}
   1233 	else { //add binding to existing type
   1234 		type->_nameBindings.append("Glsl_float2");
   1235 	}
   1236 
   1237 	// TYPEDEF: Glsl_float3	//check if this type has an existing base
   1238 	type = atomicTypes.get("Glsl_ListOfFloat");
   1239 	if ( type == NULL ) { //register as a raw type
   1240 		type = new daeRawRefType(dae);
   1241 		type->_nameBindings.append("Glsl_float3");
   1242 		atomicTypes.append( type );
   1243 	}
   1244 	else { //add binding to existing type
   1245 		type->_nameBindings.append("Glsl_float3");
   1246 	}
   1247 
   1248 	// TYPEDEF: Glsl_float4	//check if this type has an existing base
   1249 	type = atomicTypes.get("Glsl_ListOfFloat");
   1250 	if ( type == NULL ) { //register as a raw type
   1251 		type = new daeRawRefType(dae);
   1252 		type->_nameBindings.append("Glsl_float4");
   1253 		atomicTypes.append( type );
   1254 	}
   1255 	else { //add binding to existing type
   1256 		type->_nameBindings.append("Glsl_float4");
   1257 	}
   1258 
   1259 	// TYPEDEF: Glsl_float2x2	//check if this type has an existing base
   1260 	type = atomicTypes.get("Glsl_ListOfFloat");
   1261 	if ( type == NULL ) { //register as a raw type
   1262 		type = new daeRawRefType(dae);
   1263 		type->_nameBindings.append("Glsl_float2x2");
   1264 		atomicTypes.append( type );
   1265 	}
   1266 	else { //add binding to existing type
   1267 		type->_nameBindings.append("Glsl_float2x2");
   1268 	}
   1269 
   1270 	// TYPEDEF: Glsl_float3x3	//check if this type has an existing base
   1271 	type = atomicTypes.get("Glsl_ListOfFloat");
   1272 	if ( type == NULL ) { //register as a raw type
   1273 		type = new daeRawRefType(dae);
   1274 		type->_nameBindings.append("Glsl_float3x3");
   1275 		atomicTypes.append( type );
   1276 	}
   1277 	else { //add binding to existing type
   1278 		type->_nameBindings.append("Glsl_float3x3");
   1279 	}
   1280 
   1281 	// TYPEDEF: Glsl_float4x4	//check if this type has an existing base
   1282 	type = atomicTypes.get("Glsl_ListOfFloat");
   1283 	if ( type == NULL ) { //register as a raw type
   1284 		type = new daeRawRefType(dae);
   1285 		type->_nameBindings.append("Glsl_float4x4");
   1286 		atomicTypes.append( type );
   1287 	}
   1288 	else { //add binding to existing type
   1289 		type->_nameBindings.append("Glsl_float4x4");
   1290 	}
   1291 
   1292 	// TYPEDEF: Glsl_int2	//check if this type has an existing base
   1293 	type = atomicTypes.get("Glsl_ListOfInt");
   1294 	if ( type == NULL ) { //register as a raw type
   1295 		type = new daeRawRefType(dae);
   1296 		type->_nameBindings.append("Glsl_int2");
   1297 		atomicTypes.append( type );
   1298 	}
   1299 	else { //add binding to existing type
   1300 		type->_nameBindings.append("Glsl_int2");
   1301 	}
   1302 
   1303 	// TYPEDEF: Glsl_int3	//check if this type has an existing base
   1304 	type = atomicTypes.get("Glsl_ListOfInt");
   1305 	if ( type == NULL ) { //register as a raw type
   1306 		type = new daeRawRefType(dae);
   1307 		type->_nameBindings.append("Glsl_int3");
   1308 		atomicTypes.append( type );
   1309 	}
   1310 	else { //add binding to existing type
   1311 		type->_nameBindings.append("Glsl_int3");
   1312 	}
   1313 
   1314 	// TYPEDEF: Glsl_int4	//check if this type has an existing base
   1315 	type = atomicTypes.get("Glsl_ListOfInt");
   1316 	if ( type == NULL ) { //register as a raw type
   1317 		type = new daeRawRefType(dae);
   1318 		type->_nameBindings.append("Glsl_int4");
   1319 		atomicTypes.append( type );
   1320 	}
   1321 	else { //add binding to existing type
   1322 		type->_nameBindings.append("Glsl_int4");
   1323 	}
   1324 
   1325 	// ENUM: Glsl_pipeline_stage
   1326 	type = new daeEnumType(dae);
   1327 	type->_nameBindings.append("Glsl_pipeline_stage");
   1328 	((daeEnumType*)type)->_strings = new daeStringRefArray;
   1329 	((daeEnumType*)type)->_values = new daeEnumArray;
   1330 	((daeEnumType*)type)->_strings->append("VERTEXPROGRAM");
   1331 	((daeEnumType*)type)->_values->append(GLSL_PIPELINE_STAGE_VERTEXPROGRAM);
   1332 	((daeEnumType*)type)->_strings->append("FRAGMENTPROGRAM");
   1333 	((daeEnumType*)type)->_values->append(GLSL_PIPELINE_STAGE_FRAGMENTPROGRAM);
   1334 	atomicTypes.append( type );
   1335 
   1336 	// TYPEDEF: Glsl_identifier	//check if this type has an existing base
   1337 	type = atomicTypes.get("xsToken");
   1338 	if ( type == NULL ) { //register as a raw type
   1339 		type = new daeRawRefType(dae);
   1340 		type->_nameBindings.append("Glsl_identifier");
   1341 		atomicTypes.append( type );
   1342 	}
   1343 	else { //add binding to existing type
   1344 		type->_nameBindings.append("Glsl_identifier");
   1345 	}
   1346 
   1347 	// TYPEDEF: Cg_bool	//check if this type has an existing base
   1348 	type = atomicTypes.get("xsBoolean");
   1349 	if ( type == NULL ) { //register as a raw type
   1350 		type = new daeRawRefType(dae);
   1351 		type->_nameBindings.append("Cg_bool");
   1352 		atomicTypes.append( type );
   1353 	}
   1354 	else { //add binding to existing type
   1355 		type->_nameBindings.append("Cg_bool");
   1356 	}
   1357 
   1358 	// TYPEDEF: Cg_float	//check if this type has an existing base
   1359 	type = atomicTypes.get("xsFloat");
   1360 	if ( type == NULL ) { //register as a raw type
   1361 		type = new daeRawRefType(dae);
   1362 		type->_nameBindings.append("Cg_float");
   1363 		atomicTypes.append( type );
   1364 	}
   1365 	else { //add binding to existing type
   1366 		type->_nameBindings.append("Cg_float");
   1367 	}
   1368 
   1369 	// TYPEDEF: Cg_int	//check if this type has an existing base
   1370 	type = atomicTypes.get("xsInt");
   1371 	if ( type == NULL ) { //register as a raw type
   1372 		type = new daeRawRefType(dae);
   1373 		type->_nameBindings.append("Cg_int");
   1374 		atomicTypes.append( type );
   1375 	}
   1376 	else { //add binding to existing type
   1377 		type->_nameBindings.append("Cg_int");
   1378 	}
   1379 
   1380 	// TYPEDEF: Cg_half	//check if this type has an existing base
   1381 	type = atomicTypes.get("xsFloat");
   1382 	if ( type == NULL ) { //register as a raw type
   1383 		type = new daeRawRefType(dae);
   1384 		type->_nameBindings.append("Cg_half");
   1385 		atomicTypes.append( type );
   1386 	}
   1387 	else { //add binding to existing type
   1388 		type->_nameBindings.append("Cg_half");
   1389 	}
   1390 
   1391 	// TYPEDEF: Cg_fixed	//check if this type has an existing base
   1392 	type = atomicTypes.get("xsFloat");
   1393 	if ( type == NULL ) { //register as a raw type
   1394 		type = new daeRawRefType(dae);
   1395 		type->_nameBindings.append("Cg_fixed");
   1396 		atomicTypes.append( type );
   1397 	}
   1398 	else { //add binding to existing type
   1399 		type->_nameBindings.append("Cg_fixed");
   1400 	}
   1401 
   1402 	// TYPEDEF: Cg_bool1	//check if this type has an existing base
   1403 	type = atomicTypes.get("xsBoolean");
   1404 	if ( type == NULL ) { //register as a raw type
   1405 		type = new daeRawRefType(dae);
   1406 		type->_nameBindings.append("Cg_bool1");
   1407 		atomicTypes.append( type );
   1408 	}
   1409 	else { //add binding to existing type
   1410 		type->_nameBindings.append("Cg_bool1");
   1411 	}
   1412 
   1413 	// TYPEDEF: Cg_float1	//check if this type has an existing base
   1414 	type = atomicTypes.get("xsFloat");
   1415 	if ( type == NULL ) { //register as a raw type
   1416 		type = new daeRawRefType(dae);
   1417 		type->_nameBindings.append("Cg_float1");
   1418 		atomicTypes.append( type );
   1419 	}
   1420 	else { //add binding to existing type
   1421 		type->_nameBindings.append("Cg_float1");
   1422 	}
   1423 
   1424 	// TYPEDEF: Cg_int1	//check if this type has an existing base
   1425 	type = atomicTypes.get("xsInt");
   1426 	if ( type == NULL ) { //register as a raw type
   1427 		type = new daeRawRefType(dae);
   1428 		type->_nameBindings.append("Cg_int1");
   1429 		atomicTypes.append( type );
   1430 	}
   1431 	else { //add binding to existing type
   1432 		type->_nameBindings.append("Cg_int1");
   1433 	}
   1434 
   1435 	// TYPEDEF: Cg_half1	//check if this type has an existing base
   1436 	type = atomicTypes.get("xsFloat");
   1437 	if ( type == NULL ) { //register as a raw type
   1438 		type = new daeRawRefType(dae);
   1439 		type->_nameBindings.append("Cg_half1");
   1440 		atomicTypes.append( type );
   1441 	}
   1442 	else { //add binding to existing type
   1443 		type->_nameBindings.append("Cg_half1");
   1444 	}
   1445 
   1446 	// TYPEDEF: Cg_fixed1	//check if this type has an existing base
   1447 	type = atomicTypes.get("xsFloat");
   1448 	if ( type == NULL ) { //register as a raw type
   1449 		type = new daeRawRefType(dae);
   1450 		type->_nameBindings.append("Cg_fixed1");
   1451 		atomicTypes.append( type );
   1452 	}
   1453 	else { //add binding to existing type
   1454 		type->_nameBindings.append("Cg_fixed1");
   1455 	}
   1456 
   1457 	// TYPEDEF: Cg_ListOfBool	//check if this type has an existing base
   1458 	type = atomicTypes.get("Cg_bool");
   1459 	if ( type == NULL ) { //register as a raw type
   1460 		type = new daeRawRefType(dae);
   1461 		type->_nameBindings.append("Cg_ListOfBool");
   1462 		atomicTypes.append( type );
   1463 	}
   1464 	else { //add binding to existing type
   1465 		type->_nameBindings.append("Cg_ListOfBool");
   1466 	}
   1467 
   1468 	// TYPEDEF: Cg_ListOfFloat	//check if this type has an existing base
   1469 	type = atomicTypes.get("Cg_float");
   1470 	if ( type == NULL ) { //register as a raw type
   1471 		type = new daeRawRefType(dae);
   1472 		type->_nameBindings.append("Cg_ListOfFloat");
   1473 		atomicTypes.append( type );
   1474 	}
   1475 	else { //add binding to existing type
   1476 		type->_nameBindings.append("Cg_ListOfFloat");
   1477 	}
   1478 
   1479 	// TYPEDEF: Cg_ListOfInt	//check if this type has an existing base
   1480 	type = atomicTypes.get("Cg_int");
   1481 	if ( type == NULL ) { //register as a raw type
   1482 		type = new daeRawRefType(dae);
   1483 		type->_nameBindings.append("Cg_ListOfInt");
   1484 		atomicTypes.append( type );
   1485 	}
   1486 	else { //add binding to existing type
   1487 		type->_nameBindings.append("Cg_ListOfInt");
   1488 	}
   1489 
   1490 	// TYPEDEF: Cg_ListOfHalf	//check if this type has an existing base
   1491 	type = atomicTypes.get("Cg_half");
   1492 	if ( type == NULL ) { //register as a raw type
   1493 		type = new daeRawRefType(dae);
   1494 		type->_nameBindings.append("Cg_ListOfHalf");
   1495 		atomicTypes.append( type );
   1496 	}
   1497 	else { //add binding to existing type
   1498 		type->_nameBindings.append("Cg_ListOfHalf");
   1499 	}
   1500 
   1501 	// TYPEDEF: Cg_ListOfFixed	//check if this type has an existing base
   1502 	type = atomicTypes.get("Cg_fixed");
   1503 	if ( type == NULL ) { //register as a raw type
   1504 		type = new daeRawRefType(dae);
   1505 		type->_nameBindings.append("Cg_ListOfFixed");
   1506 		atomicTypes.append( type );
   1507 	}
   1508 	else { //add binding to existing type
   1509 		type->_nameBindings.append("Cg_ListOfFixed");
   1510 	}
   1511 
   1512 	// TYPEDEF: Cg_bool2	//check if this type has an existing base
   1513 	type = atomicTypes.get("Cg_ListOfBool");
   1514 	if ( type == NULL ) { //register as a raw type
   1515 		type = new daeRawRefType(dae);
   1516 		type->_nameBindings.append("Cg_bool2");
   1517 		atomicTypes.append( type );
   1518 	}
   1519 	else { //add binding to existing type
   1520 		type->_nameBindings.append("Cg_bool2");
   1521 	}
   1522 
   1523 	// TYPEDEF: Cg_bool3	//check if this type has an existing base
   1524 	type = atomicTypes.get("Cg_ListOfBool");
   1525 	if ( type == NULL ) { //register as a raw type
   1526 		type = new daeRawRefType(dae);
   1527 		type->_nameBindings.append("Cg_bool3");
   1528 		atomicTypes.append( type );
   1529 	}
   1530 	else { //add binding to existing type
   1531 		type->_nameBindings.append("Cg_bool3");
   1532 	}
   1533 
   1534 	// TYPEDEF: Cg_bool4	//check if this type has an existing base
   1535 	type = atomicTypes.get("Cg_ListOfBool");
   1536 	if ( type == NULL ) { //register as a raw type
   1537 		type = new daeRawRefType(dae);
   1538 		type->_nameBindings.append("Cg_bool4");
   1539 		atomicTypes.append( type );
   1540 	}
   1541 	else { //add binding to existing type
   1542 		type->_nameBindings.append("Cg_bool4");
   1543 	}
   1544 
   1545 	// TYPEDEF: Cg_bool1x1	//check if this type has an existing base
   1546 	type = atomicTypes.get("Cg_ListOfBool");
   1547 	if ( type == NULL ) { //register as a raw type
   1548 		type = new daeRawRefType(dae);
   1549 		type->_nameBindings.append("Cg_bool1x1");
   1550 		atomicTypes.append( type );
   1551 	}
   1552 	else { //add binding to existing type
   1553 		type->_nameBindings.append("Cg_bool1x1");
   1554 	}
   1555 
   1556 	// TYPEDEF: Cg_bool1x2	//check if this type has an existing base
   1557 	type = atomicTypes.get("Cg_ListOfBool");
   1558 	if ( type == NULL ) { //register as a raw type
   1559 		type = new daeRawRefType(dae);
   1560 		type->_nameBindings.append("Cg_bool1x2");
   1561 		atomicTypes.append( type );
   1562 	}
   1563 	else { //add binding to existing type
   1564 		type->_nameBindings.append("Cg_bool1x2");
   1565 	}
   1566 
   1567 	// TYPEDEF: Cg_bool1x3	//check if this type has an existing base
   1568 	type = atomicTypes.get("Cg_ListOfBool");
   1569 	if ( type == NULL ) { //register as a raw type
   1570 		type = new daeRawRefType(dae);
   1571 		type->_nameBindings.append("Cg_bool1x3");
   1572 		atomicTypes.append( type );
   1573 	}
   1574 	else { //add binding to existing type
   1575 		type->_nameBindings.append("Cg_bool1x3");
   1576 	}
   1577 
   1578 	// TYPEDEF: Cg_bool1x4	//check if this type has an existing base
   1579 	type = atomicTypes.get("Cg_ListOfBool");
   1580 	if ( type == NULL ) { //register as a raw type
   1581 		type = new daeRawRefType(dae);
   1582 		type->_nameBindings.append("Cg_bool1x4");
   1583 		atomicTypes.append( type );
   1584 	}
   1585 	else { //add binding to existing type
   1586 		type->_nameBindings.append("Cg_bool1x4");
   1587 	}
   1588 
   1589 	// TYPEDEF: Cg_bool2x1	//check if this type has an existing base
   1590 	type = atomicTypes.get("Cg_ListOfBool");
   1591 	if ( type == NULL ) { //register as a raw type
   1592 		type = new daeRawRefType(dae);
   1593 		type->_nameBindings.append("Cg_bool2x1");
   1594 		atomicTypes.append( type );
   1595 	}
   1596 	else { //add binding to existing type
   1597 		type->_nameBindings.append("Cg_bool2x1");
   1598 	}
   1599 
   1600 	// TYPEDEF: Cg_bool2x2	//check if this type has an existing base
   1601 	type = atomicTypes.get("Cg_ListOfBool");
   1602 	if ( type == NULL ) { //register as a raw type
   1603 		type = new daeRawRefType(dae);
   1604 		type->_nameBindings.append("Cg_bool2x2");
   1605 		atomicTypes.append( type );
   1606 	}
   1607 	else { //add binding to existing type
   1608 		type->_nameBindings.append("Cg_bool2x2");
   1609 	}
   1610 
   1611 	// TYPEDEF: Cg_bool2x3	//check if this type has an existing base
   1612 	type = atomicTypes.get("Cg_ListOfBool");
   1613 	if ( type == NULL ) { //register as a raw type
   1614 		type = new daeRawRefType(dae);
   1615 		type->_nameBindings.append("Cg_bool2x3");
   1616 		atomicTypes.append( type );
   1617 	}
   1618 	else { //add binding to existing type
   1619 		type->_nameBindings.append("Cg_bool2x3");
   1620 	}
   1621 
   1622 	// TYPEDEF: Cg_bool2x4	//check if this type has an existing base
   1623 	type = atomicTypes.get("Cg_ListOfBool");
   1624 	if ( type == NULL ) { //register as a raw type
   1625 		type = new daeRawRefType(dae);
   1626 		type->_nameBindings.append("Cg_bool2x4");
   1627 		atomicTypes.append( type );
   1628 	}
   1629 	else { //add binding to existing type
   1630 		type->_nameBindings.append("Cg_bool2x4");
   1631 	}
   1632 
   1633 	// TYPEDEF: Cg_bool3x1	//check if this type has an existing base
   1634 	type = atomicTypes.get("Cg_ListOfBool");
   1635 	if ( type == NULL ) { //register as a raw type
   1636 		type = new daeRawRefType(dae);
   1637 		type->_nameBindings.append("Cg_bool3x1");
   1638 		atomicTypes.append( type );
   1639 	}
   1640 	else { //add binding to existing type
   1641 		type->_nameBindings.append("Cg_bool3x1");
   1642 	}
   1643 
   1644 	// TYPEDEF: Cg_bool3x2	//check if this type has an existing base
   1645 	type = atomicTypes.get("Cg_ListOfBool");
   1646 	if ( type == NULL ) { //register as a raw type
   1647 		type = new daeRawRefType(dae);
   1648 		type->_nameBindings.append("Cg_bool3x2");
   1649 		atomicTypes.append( type );
   1650 	}
   1651 	else { //add binding to existing type
   1652 		type->_nameBindings.append("Cg_bool3x2");
   1653 	}
   1654 
   1655 	// TYPEDEF: Cg_bool3x3	//check if this type has an existing base
   1656 	type = atomicTypes.get("Cg_ListOfBool");
   1657 	if ( type == NULL ) { //register as a raw type
   1658 		type = new daeRawRefType(dae);
   1659 		type->_nameBindings.append("Cg_bool3x3");
   1660 		atomicTypes.append( type );
   1661 	}
   1662 	else { //add binding to existing type
   1663 		type->_nameBindings.append("Cg_bool3x3");
   1664 	}
   1665 
   1666 	// TYPEDEF: Cg_bool3x4	//check if this type has an existing base
   1667 	type = atomicTypes.get("Cg_ListOfBool");
   1668 	if ( type == NULL ) { //register as a raw type
   1669 		type = new daeRawRefType(dae);
   1670 		type->_nameBindings.append("Cg_bool3x4");
   1671 		atomicTypes.append( type );
   1672 	}
   1673 	else { //add binding to existing type
   1674 		type->_nameBindings.append("Cg_bool3x4");
   1675 	}
   1676 
   1677 	// TYPEDEF: Cg_bool4x1	//check if this type has an existing base
   1678 	type = atomicTypes.get("Cg_ListOfBool");
   1679 	if ( type == NULL ) { //register as a raw type
   1680 		type = new daeRawRefType(dae);
   1681 		type->_nameBindings.append("Cg_bool4x1");
   1682 		atomicTypes.append( type );
   1683 	}
   1684 	else { //add binding to existing type
   1685 		type->_nameBindings.append("Cg_bool4x1");
   1686 	}
   1687 
   1688 	// TYPEDEF: Cg_bool4x2	//check if this type has an existing base
   1689 	type = atomicTypes.get("Cg_ListOfBool");
   1690 	if ( type == NULL ) { //register as a raw type
   1691 		type = new daeRawRefType(dae);
   1692 		type->_nameBindings.append("Cg_bool4x2");
   1693 		atomicTypes.append( type );
   1694 	}
   1695 	else { //add binding to existing type
   1696 		type->_nameBindings.append("Cg_bool4x2");
   1697 	}
   1698 
   1699 	// TYPEDEF: Cg_bool4x3	//check if this type has an existing base
   1700 	type = atomicTypes.get("Cg_ListOfBool");
   1701 	if ( type == NULL ) { //register as a raw type
   1702 		type = new daeRawRefType(dae);
   1703 		type->_nameBindings.append("Cg_bool4x3");
   1704 		atomicTypes.append( type );
   1705 	}
   1706 	else { //add binding to existing type
   1707 		type->_nameBindings.append("Cg_bool4x3");
   1708 	}
   1709 
   1710 	// TYPEDEF: Cg_bool4x4	//check if this type has an existing base
   1711 	type = atomicTypes.get("Cg_ListOfBool");
   1712 	if ( type == NULL ) { //register as a raw type
   1713 		type = new daeRawRefType(dae);
   1714 		type->_nameBindings.append("Cg_bool4x4");
   1715 		atomicTypes.append( type );
   1716 	}
   1717 	else { //add binding to existing type
   1718 		type->_nameBindings.append("Cg_bool4x4");
   1719 	}
   1720 
   1721 	// TYPEDEF: Cg_float2	//check if this type has an existing base
   1722 	type = atomicTypes.get("Cg_ListOfFloat");
   1723 	if ( type == NULL ) { //register as a raw type
   1724 		type = new daeRawRefType(dae);
   1725 		type->_nameBindings.append("Cg_float2");
   1726 		atomicTypes.append( type );
   1727 	}
   1728 	else { //add binding to existing type
   1729 		type->_nameBindings.append("Cg_float2");
   1730 	}
   1731 
   1732 	// TYPEDEF: Cg_float3	//check if this type has an existing base
   1733 	type = atomicTypes.get("Cg_ListOfFloat");
   1734 	if ( type == NULL ) { //register as a raw type
   1735 		type = new daeRawRefType(dae);
   1736 		type->_nameBindings.append("Cg_float3");
   1737 		atomicTypes.append( type );
   1738 	}
   1739 	else { //add binding to existing type
   1740 		type->_nameBindings.append("Cg_float3");
   1741 	}
   1742 
   1743 	// TYPEDEF: Cg_float4	//check if this type has an existing base
   1744 	type = atomicTypes.get("Cg_ListOfFloat");
   1745 	if ( type == NULL ) { //register as a raw type
   1746 		type = new daeRawRefType(dae);
   1747 		type->_nameBindings.append("Cg_float4");
   1748 		atomicTypes.append( type );
   1749 	}
   1750 	else { //add binding to existing type
   1751 		type->_nameBindings.append("Cg_float4");
   1752 	}
   1753 
   1754 	// TYPEDEF: Cg_float1x1	//check if this type has an existing base
   1755 	type = atomicTypes.get("Cg_ListOfFloat");
   1756 	if ( type == NULL ) { //register as a raw type
   1757 		type = new daeRawRefType(dae);
   1758 		type->_nameBindings.append("Cg_float1x1");
   1759 		atomicTypes.append( type );
   1760 	}
   1761 	else { //add binding to existing type
   1762 		type->_nameBindings.append("Cg_float1x1");
   1763 	}
   1764 
   1765 	// TYPEDEF: Cg_float1x2	//check if this type has an existing base
   1766 	type = atomicTypes.get("Cg_ListOfFloat");
   1767 	if ( type == NULL ) { //register as a raw type
   1768 		type = new daeRawRefType(dae);
   1769 		type->_nameBindings.append("Cg_float1x2");
   1770 		atomicTypes.append( type );
   1771 	}
   1772 	else { //add binding to existing type
   1773 		type->_nameBindings.append("Cg_float1x2");
   1774 	}
   1775 
   1776 	// TYPEDEF: Cg_float1x3	//check if this type has an existing base
   1777 	type = atomicTypes.get("Cg_ListOfFloat");
   1778 	if ( type == NULL ) { //register as a raw type
   1779 		type = new daeRawRefType(dae);
   1780 		type->_nameBindings.append("Cg_float1x3");
   1781 		atomicTypes.append( type );
   1782 	}
   1783 	else { //add binding to existing type
   1784 		type->_nameBindings.append("Cg_float1x3");
   1785 	}
   1786 
   1787 	// TYPEDEF: Cg_float1x4	//check if this type has an existing base
   1788 	type = atomicTypes.get("Cg_ListOfFloat");
   1789 	if ( type == NULL ) { //register as a raw type
   1790 		type = new daeRawRefType(dae);
   1791 		type->_nameBindings.append("Cg_float1x4");
   1792 		atomicTypes.append( type );
   1793 	}
   1794 	else { //add binding to existing type
   1795 		type->_nameBindings.append("Cg_float1x4");
   1796 	}
   1797 
   1798 	// TYPEDEF: Cg_float2x1	//check if this type has an existing base
   1799 	type = atomicTypes.get("Cg_ListOfFloat");
   1800 	if ( type == NULL ) { //register as a raw type
   1801 		type = new daeRawRefType(dae);
   1802 		type->_nameBindings.append("Cg_float2x1");
   1803 		atomicTypes.append( type );
   1804 	}
   1805 	else { //add binding to existing type
   1806 		type->_nameBindings.append("Cg_float2x1");
   1807 	}
   1808 
   1809 	// TYPEDEF: Cg_float2x2	//check if this type has an existing base
   1810 	type = atomicTypes.get("Cg_ListOfFloat");
   1811 	if ( type == NULL ) { //register as a raw type
   1812 		type = new daeRawRefType(dae);
   1813 		type->_nameBindings.append("Cg_float2x2");
   1814 		atomicTypes.append( type );
   1815 	}
   1816 	else { //add binding to existing type
   1817 		type->_nameBindings.append("Cg_float2x2");
   1818 	}
   1819 
   1820 	// TYPEDEF: Cg_float2x3	//check if this type has an existing base
   1821 	type = atomicTypes.get("Cg_ListOfFloat");
   1822 	if ( type == NULL ) { //register as a raw type
   1823 		type = new daeRawRefType(dae);
   1824 		type->_nameBindings.append("Cg_float2x3");
   1825 		atomicTypes.append( type );
   1826 	}
   1827 	else { //add binding to existing type
   1828 		type->_nameBindings.append("Cg_float2x3");
   1829 	}
   1830 
   1831 	// TYPEDEF: Cg_float2x4	//check if this type has an existing base
   1832 	type = atomicTypes.get("Cg_ListOfFloat");
   1833 	if ( type == NULL ) { //register as a raw type
   1834 		type = new daeRawRefType(dae);
   1835 		type->_nameBindings.append("Cg_float2x4");
   1836 		atomicTypes.append( type );
   1837 	}
   1838 	else { //add binding to existing type
   1839 		type->_nameBindings.append("Cg_float2x4");
   1840 	}
   1841 
   1842 	// TYPEDEF: Cg_float3x1	//check if this type has an existing base
   1843 	type = atomicTypes.get("Cg_ListOfFloat");
   1844 	if ( type == NULL ) { //register as a raw type
   1845 		type = new daeRawRefType(dae);
   1846 		type->_nameBindings.append("Cg_float3x1");
   1847 		atomicTypes.append( type );
   1848 	}
   1849 	else { //add binding to existing type
   1850 		type->_nameBindings.append("Cg_float3x1");
   1851 	}
   1852 
   1853 	// TYPEDEF: Cg_float3x2	//check if this type has an existing base
   1854 	type = atomicTypes.get("Cg_ListOfFloat");
   1855 	if ( type == NULL ) { //register as a raw type
   1856 		type = new daeRawRefType(dae);
   1857 		type->_nameBindings.append("Cg_float3x2");
   1858 		atomicTypes.append( type );
   1859 	}
   1860 	else { //add binding to existing type
   1861 		type->_nameBindings.append("Cg_float3x2");
   1862 	}
   1863 
   1864 	// TYPEDEF: Cg_float3x3	//check if this type has an existing base
   1865 	type = atomicTypes.get("Cg_ListOfFloat");
   1866 	if ( type == NULL ) { //register as a raw type
   1867 		type = new daeRawRefType(dae);
   1868 		type->_nameBindings.append("Cg_float3x3");
   1869 		atomicTypes.append( type );
   1870 	}
   1871 	else { //add binding to existing type
   1872 		type->_nameBindings.append("Cg_float3x3");
   1873 	}
   1874 
   1875 	// TYPEDEF: Cg_float3x4	//check if this type has an existing base
   1876 	type = atomicTypes.get("Cg_ListOfFloat");
   1877 	if ( type == NULL ) { //register as a raw type
   1878 		type = new daeRawRefType(dae);
   1879 		type->_nameBindings.append("Cg_float3x4");
   1880 		atomicTypes.append( type );
   1881 	}
   1882 	else { //add binding to existing type
   1883 		type->_nameBindings.append("Cg_float3x4");
   1884 	}
   1885 
   1886 	// TYPEDEF: Cg_float4x1	//check if this type has an existing base
   1887 	type = atomicTypes.get("Cg_ListOfFloat");
   1888 	if ( type == NULL ) { //register as a raw type
   1889 		type = new daeRawRefType(dae);
   1890 		type->_nameBindings.append("Cg_float4x1");
   1891 		atomicTypes.append( type );
   1892 	}
   1893 	else { //add binding to existing type
   1894 		type->_nameBindings.append("Cg_float4x1");
   1895 	}
   1896 
   1897 	// TYPEDEF: Cg_float4x2	//check if this type has an existing base
   1898 	type = atomicTypes.get("Cg_ListOfFloat");
   1899 	if ( type == NULL ) { //register as a raw type
   1900 		type = new daeRawRefType(dae);
   1901 		type->_nameBindings.append("Cg_float4x2");
   1902 		atomicTypes.append( type );
   1903 	}
   1904 	else { //add binding to existing type
   1905 		type->_nameBindings.append("Cg_float4x2");
   1906 	}
   1907 
   1908 	// TYPEDEF: Cg_float4x3	//check if this type has an existing base
   1909 	type = atomicTypes.get("Cg_ListOfFloat");
   1910 	if ( type == NULL ) { //register as a raw type
   1911 		type = new daeRawRefType(dae);
   1912 		type->_nameBindings.append("Cg_float4x3");
   1913 		atomicTypes.append( type );
   1914 	}
   1915 	else { //add binding to existing type
   1916 		type->_nameBindings.append("Cg_float4x3");
   1917 	}
   1918 
   1919 	// TYPEDEF: Cg_float4x4	//check if this type has an existing base
   1920 	type = atomicTypes.get("Cg_ListOfFloat");
   1921 	if ( type == NULL ) { //register as a raw type
   1922 		type = new daeRawRefType(dae);
   1923 		type->_nameBindings.append("Cg_float4x4");
   1924 		atomicTypes.append( type );
   1925 	}
   1926 	else { //add binding to existing type
   1927 		type->_nameBindings.append("Cg_float4x4");
   1928 	}
   1929 
   1930 	// TYPEDEF: Cg_int2	//check if this type has an existing base
   1931 	type = atomicTypes.get("Cg_ListOfInt");
   1932 	if ( type == NULL ) { //register as a raw type
   1933 		type = new daeRawRefType(dae);
   1934 		type->_nameBindings.append("Cg_int2");
   1935 		atomicTypes.append( type );
   1936 	}
   1937 	else { //add binding to existing type
   1938 		type->_nameBindings.append("Cg_int2");
   1939 	}
   1940 
   1941 	// TYPEDEF: Cg_int3	//check if this type has an existing base
   1942 	type = atomicTypes.get("Cg_ListOfInt");
   1943 	if ( type == NULL ) { //register as a raw type
   1944 		type = new daeRawRefType(dae);
   1945 		type->_nameBindings.append("Cg_int3");
   1946 		atomicTypes.append( type );
   1947 	}
   1948 	else { //add binding to existing type
   1949 		type->_nameBindings.append("Cg_int3");
   1950 	}
   1951 
   1952 	// TYPEDEF: Cg_int4	//check if this type has an existing base
   1953 	type = atomicTypes.get("Cg_ListOfInt");
   1954 	if ( type == NULL ) { //register as a raw type
   1955 		type = new daeRawRefType(dae);
   1956 		type->_nameBindings.append("Cg_int4");
   1957 		atomicTypes.append( type );
   1958 	}
   1959 	else { //add binding to existing type
   1960 		type->_nameBindings.append("Cg_int4");
   1961 	}
   1962 
   1963 	// TYPEDEF: Cg_int1x1	//check if this type has an existing base
   1964 	type = atomicTypes.get("Cg_ListOfInt");
   1965 	if ( type == NULL ) { //register as a raw type
   1966 		type = new daeRawRefType(dae);
   1967 		type->_nameBindings.append("Cg_int1x1");
   1968 		atomicTypes.append( type );
   1969 	}
   1970 	else { //add binding to existing type
   1971 		type->_nameBindings.append("Cg_int1x1");
   1972 	}
   1973 
   1974 	// TYPEDEF: Cg_int1x2	//check if this type has an existing base
   1975 	type = atomicTypes.get("Cg_ListOfInt");
   1976 	if ( type == NULL ) { //register as a raw type
   1977 		type = new daeRawRefType(dae);
   1978 		type->_nameBindings.append("Cg_int1x2");
   1979 		atomicTypes.append( type );
   1980 	}
   1981 	else { //add binding to existing type
   1982 		type->_nameBindings.append("Cg_int1x2");
   1983 	}
   1984 
   1985 	// TYPEDEF: Cg_int1x3	//check if this type has an existing base
   1986 	type = atomicTypes.get("Cg_ListOfInt");
   1987 	if ( type == NULL ) { //register as a raw type
   1988 		type = new daeRawRefType(dae);
   1989 		type->_nameBindings.append("Cg_int1x3");
   1990 		atomicTypes.append( type );
   1991 	}
   1992 	else { //add binding to existing type
   1993 		type->_nameBindings.append("Cg_int1x3");
   1994 	}
   1995 
   1996 	// TYPEDEF: Cg_int1x4	//check if this type has an existing base
   1997 	type = atomicTypes.get("Cg_ListOfInt");
   1998 	if ( type == NULL ) { //register as a raw type
   1999 		type = new daeRawRefType(dae);
   2000 		type->_nameBindings.append("Cg_int1x4");
   2001 		atomicTypes.append( type );
   2002 	}
   2003 	else { //add binding to existing type
   2004 		type->_nameBindings.append("Cg_int1x4");
   2005 	}
   2006 
   2007 	// TYPEDEF: Cg_int2x1	//check if this type has an existing base
   2008 	type = atomicTypes.get("Cg_ListOfInt");
   2009 	if ( type == NULL ) { //register as a raw type
   2010 		type = new daeRawRefType(dae);
   2011 		type->_nameBindings.append("Cg_int2x1");
   2012 		atomicTypes.append( type );
   2013 	}
   2014 	else { //add binding to existing type
   2015 		type->_nameBindings.append("Cg_int2x1");
   2016 	}
   2017 
   2018 	// TYPEDEF: Cg_int2x2	//check if this type has an existing base
   2019 	type = atomicTypes.get("Cg_ListOfInt");
   2020 	if ( type == NULL ) { //register as a raw type
   2021 		type = new daeRawRefType(dae);
   2022 		type->_nameBindings.append("Cg_int2x2");
   2023 		atomicTypes.append( type );
   2024 	}
   2025 	else { //add binding to existing type
   2026 		type->_nameBindings.append("Cg_int2x2");
   2027 	}
   2028 
   2029 	// TYPEDEF: Cg_int2x3	//check if this type has an existing base
   2030 	type = atomicTypes.get("Cg_ListOfInt");
   2031 	if ( type == NULL ) { //register as a raw type
   2032 		type = new daeRawRefType(dae);
   2033 		type->_nameBindings.append("Cg_int2x3");
   2034 		atomicTypes.append( type );
   2035 	}
   2036 	else { //add binding to existing type
   2037 		type->_nameBindings.append("Cg_int2x3");
   2038 	}
   2039 
   2040 	// TYPEDEF: Cg_int2x4	//check if this type has an existing base
   2041 	type = atomicTypes.get("Cg_ListOfInt");
   2042 	if ( type == NULL ) { //register as a raw type
   2043 		type = new daeRawRefType(dae);
   2044 		type->_nameBindings.append("Cg_int2x4");
   2045 		atomicTypes.append( type );
   2046 	}
   2047 	else { //add binding to existing type
   2048 		type->_nameBindings.append("Cg_int2x4");
   2049 	}
   2050 
   2051 	// TYPEDEF: Cg_int3x1	//check if this type has an existing base
   2052 	type = atomicTypes.get("Cg_ListOfInt");
   2053 	if ( type == NULL ) { //register as a raw type
   2054 		type = new daeRawRefType(dae);
   2055 		type->_nameBindings.append("Cg_int3x1");
   2056 		atomicTypes.append( type );
   2057 	}
   2058 	else { //add binding to existing type
   2059 		type->_nameBindings.append("Cg_int3x1");
   2060 	}
   2061 
   2062 	// TYPEDEF: Cg_int3x2	//check if this type has an existing base
   2063 	type = atomicTypes.get("Cg_ListOfInt");
   2064 	if ( type == NULL ) { //register as a raw type
   2065 		type = new daeRawRefType(dae);
   2066 		type->_nameBindings.append("Cg_int3x2");
   2067 		atomicTypes.append( type );
   2068 	}
   2069 	else { //add binding to existing type
   2070 		type->_nameBindings.append("Cg_int3x2");
   2071 	}
   2072 
   2073 	// TYPEDEF: Cg_int3x3	//check if this type has an existing base
   2074 	type = atomicTypes.get("Cg_ListOfInt");
   2075 	if ( type == NULL ) { //register as a raw type
   2076 		type = new daeRawRefType(dae);
   2077 		type->_nameBindings.append("Cg_int3x3");
   2078 		atomicTypes.append( type );
   2079 	}
   2080 	else { //add binding to existing type
   2081 		type->_nameBindings.append("Cg_int3x3");
   2082 	}
   2083 
   2084 	// TYPEDEF: Cg_int3x4	//check if this type has an existing base
   2085 	type = atomicTypes.get("Cg_ListOfInt");
   2086 	if ( type == NULL ) { //register as a raw type
   2087 		type = new daeRawRefType(dae);
   2088 		type->_nameBindings.append("Cg_int3x4");
   2089 		atomicTypes.append( type );
   2090 	}
   2091 	else { //add binding to existing type
   2092 		type->_nameBindings.append("Cg_int3x4");
   2093 	}
   2094 
   2095 	// TYPEDEF: Cg_int4x1	//check if this type has an existing base
   2096 	type = atomicTypes.get("Cg_ListOfInt");
   2097 	if ( type == NULL ) { //register as a raw type
   2098 		type = new daeRawRefType(dae);
   2099 		type->_nameBindings.append("Cg_int4x1");
   2100 		atomicTypes.append( type );
   2101 	}
   2102 	else { //add binding to existing type
   2103 		type->_nameBindings.append("Cg_int4x1");
   2104 	}
   2105 
   2106 	// TYPEDEF: Cg_int4x2	//check if this type has an existing base
   2107 	type = atomicTypes.get("Cg_ListOfInt");
   2108 	if ( type == NULL ) { //register as a raw type
   2109 		type = new daeRawRefType(dae);
   2110 		type->_nameBindings.append("Cg_int4x2");
   2111 		atomicTypes.append( type );
   2112 	}
   2113 	else { //add binding to existing type
   2114 		type->_nameBindings.append("Cg_int4x2");
   2115 	}
   2116 
   2117 	// TYPEDEF: Cg_int4x3	//check if this type has an existing base
   2118 	type = atomicTypes.get("Cg_ListOfInt");
   2119 	if ( type == NULL ) { //register as a raw type
   2120 		type = new daeRawRefType(dae);
   2121 		type->_nameBindings.append("Cg_int4x3");
   2122 		atomicTypes.append( type );
   2123 	}
   2124 	else { //add binding to existing type
   2125 		type->_nameBindings.append("Cg_int4x3");
   2126 	}
   2127 
   2128 	// TYPEDEF: Cg_int4x4	//check if this type has an existing base
   2129 	type = atomicTypes.get("Cg_ListOfInt");
   2130 	if ( type == NULL ) { //register as a raw type
   2131 		type = new daeRawRefType(dae);
   2132 		type->_nameBindings.append("Cg_int4x4");
   2133 		atomicTypes.append( type );
   2134 	}
   2135 	else { //add binding to existing type
   2136 		type->_nameBindings.append("Cg_int4x4");
   2137 	}
   2138 
   2139 	// TYPEDEF: Cg_half2	//check if this type has an existing base
   2140 	type = atomicTypes.get("Cg_ListOfHalf");
   2141 	if ( type == NULL ) { //register as a raw type
   2142 		type = new daeRawRefType(dae);
   2143 		type->_nameBindings.append("Cg_half2");
   2144 		atomicTypes.append( type );
   2145 	}
   2146 	else { //add binding to existing type
   2147 		type->_nameBindings.append("Cg_half2");
   2148 	}
   2149 
   2150 	// TYPEDEF: Cg_half3	//check if this type has an existing base
   2151 	type = atomicTypes.get("Cg_ListOfHalf");
   2152 	if ( type == NULL ) { //register as a raw type
   2153 		type = new daeRawRefType(dae);
   2154 		type->_nameBindings.append("Cg_half3");
   2155 		atomicTypes.append( type );
   2156 	}
   2157 	else { //add binding to existing type
   2158 		type->_nameBindings.append("Cg_half3");
   2159 	}
   2160 
   2161 	// TYPEDEF: Cg_half4	//check if this type has an existing base
   2162 	type = atomicTypes.get("Cg_ListOfHalf");
   2163 	if ( type == NULL ) { //register as a raw type
   2164 		type = new daeRawRefType(dae);
   2165 		type->_nameBindings.append("Cg_half4");
   2166 		atomicTypes.append( type );
   2167 	}
   2168 	else { //add binding to existing type
   2169 		type->_nameBindings.append("Cg_half4");
   2170 	}
   2171 
   2172 	// TYPEDEF: Cg_half1x1	//check if this type has an existing base
   2173 	type = atomicTypes.get("Cg_ListOfHalf");
   2174 	if ( type == NULL ) { //register as a raw type
   2175 		type = new daeRawRefType(dae);
   2176 		type->_nameBindings.append("Cg_half1x1");
   2177 		atomicTypes.append( type );
   2178 	}
   2179 	else { //add binding to existing type
   2180 		type->_nameBindings.append("Cg_half1x1");
   2181 	}
   2182 
   2183 	// TYPEDEF: Cg_half1x2	//check if this type has an existing base
   2184 	type = atomicTypes.get("Cg_ListOfHalf");
   2185 	if ( type == NULL ) { //register as a raw type
   2186 		type = new daeRawRefType(dae);
   2187 		type->_nameBindings.append("Cg_half1x2");
   2188 		atomicTypes.append( type );
   2189 	}
   2190 	else { //add binding to existing type
   2191 		type->_nameBindings.append("Cg_half1x2");
   2192 	}
   2193 
   2194 	// TYPEDEF: Cg_half1x3	//check if this type has an existing base
   2195 	type = atomicTypes.get("Cg_ListOfHalf");
   2196 	if ( type == NULL ) { //register as a raw type
   2197 		type = new daeRawRefType(dae);
   2198 		type->_nameBindings.append("Cg_half1x3");
   2199 		atomicTypes.append( type );
   2200 	}
   2201 	else { //add binding to existing type
   2202 		type->_nameBindings.append("Cg_half1x3");
   2203 	}
   2204 
   2205 	// TYPEDEF: Cg_half1x4	//check if this type has an existing base
   2206 	type = atomicTypes.get("Cg_ListOfHalf");
   2207 	if ( type == NULL ) { //register as a raw type
   2208 		type = new daeRawRefType(dae);
   2209 		type->_nameBindings.append("Cg_half1x4");
   2210 		atomicTypes.append( type );
   2211 	}
   2212 	else { //add binding to existing type
   2213 		type->_nameBindings.append("Cg_half1x4");
   2214 	}
   2215 
   2216 	// TYPEDEF: Cg_half2x1	//check if this type has an existing base
   2217 	type = atomicTypes.get("Cg_ListOfHalf");
   2218 	if ( type == NULL ) { //register as a raw type
   2219 		type = new daeRawRefType(dae);
   2220 		type->_nameBindings.append("Cg_half2x1");
   2221 		atomicTypes.append( type );
   2222 	}
   2223 	else { //add binding to existing type
   2224 		type->_nameBindings.append("Cg_half2x1");
   2225 	}
   2226 
   2227 	// TYPEDEF: Cg_half2x2	//check if this type has an existing base
   2228 	type = atomicTypes.get("Cg_ListOfHalf");
   2229 	if ( type == NULL ) { //register as a raw type
   2230 		type = new daeRawRefType(dae);
   2231 		type->_nameBindings.append("Cg_half2x2");
   2232 		atomicTypes.append( type );
   2233 	}
   2234 	else { //add binding to existing type
   2235 		type->_nameBindings.append("Cg_half2x2");
   2236 	}
   2237 
   2238 	// TYPEDEF: Cg_half2x3	//check if this type has an existing base
   2239 	type = atomicTypes.get("Cg_ListOfHalf");
   2240 	if ( type == NULL ) { //register as a raw type
   2241 		type = new daeRawRefType(dae);
   2242 		type->_nameBindings.append("Cg_half2x3");
   2243 		atomicTypes.append( type );
   2244 	}
   2245 	else { //add binding to existing type
   2246 		type->_nameBindings.append("Cg_half2x3");
   2247 	}
   2248 
   2249 	// TYPEDEF: Cg_half2x4	//check if this type has an existing base
   2250 	type = atomicTypes.get("Cg_ListOfHalf");
   2251 	if ( type == NULL ) { //register as a raw type
   2252 		type = new daeRawRefType(dae);
   2253 		type->_nameBindings.append("Cg_half2x4");
   2254 		atomicTypes.append( type );
   2255 	}
   2256 	else { //add binding to existing type
   2257 		type->_nameBindings.append("Cg_half2x4");
   2258 	}
   2259 
   2260 	// TYPEDEF: Cg_half3x1	//check if this type has an existing base
   2261 	type = atomicTypes.get("Cg_ListOfHalf");
   2262 	if ( type == NULL ) { //register as a raw type
   2263 		type = new daeRawRefType(dae);
   2264 		type->_nameBindings.append("Cg_half3x1");
   2265 		atomicTypes.append( type );
   2266 	}
   2267 	else { //add binding to existing type
   2268 		type->_nameBindings.append("Cg_half3x1");
   2269 	}
   2270 
   2271 	// TYPEDEF: Cg_half3x2	//check if this type has an existing base
   2272 	type = atomicTypes.get("Cg_ListOfHalf");
   2273 	if ( type == NULL ) { //register as a raw type
   2274 		type = new daeRawRefType(dae);
   2275 		type->_nameBindings.append("Cg_half3x2");
   2276 		atomicTypes.append( type );
   2277 	}
   2278 	else { //add binding to existing type
   2279 		type->_nameBindings.append("Cg_half3x2");
   2280 	}
   2281 
   2282 	// TYPEDEF: Cg_half3x3	//check if this type has an existing base
   2283 	type = atomicTypes.get("Cg_ListOfHalf");
   2284 	if ( type == NULL ) { //register as a raw type
   2285 		type = new daeRawRefType(dae);
   2286 		type->_nameBindings.append("Cg_half3x3");
   2287 		atomicTypes.append( type );
   2288 	}
   2289 	else { //add binding to existing type
   2290 		type->_nameBindings.append("Cg_half3x3");
   2291 	}
   2292 
   2293 	// TYPEDEF: Cg_half3x4	//check if this type has an existing base
   2294 	type = atomicTypes.get("Cg_ListOfHalf");
   2295 	if ( type == NULL ) { //register as a raw type
   2296 		type = new daeRawRefType(dae);
   2297 		type->_nameBindings.append("Cg_half3x4");
   2298 		atomicTypes.append( type );
   2299 	}
   2300 	else { //add binding to existing type
   2301 		type->_nameBindings.append("Cg_half3x4");
   2302 	}
   2303 
   2304 	// TYPEDEF: Cg_half4x1	//check if this type has an existing base
   2305 	type = atomicTypes.get("Cg_ListOfHalf");
   2306 	if ( type == NULL ) { //register as a raw type
   2307 		type = new daeRawRefType(dae);
   2308 		type->_nameBindings.append("Cg_half4x1");
   2309 		atomicTypes.append( type );
   2310 	}
   2311 	else { //add binding to existing type
   2312 		type->_nameBindings.append("Cg_half4x1");
   2313 	}
   2314 
   2315 	// TYPEDEF: Cg_half4x2	//check if this type has an existing base
   2316 	type = atomicTypes.get("Cg_ListOfHalf");
   2317 	if ( type == NULL ) { //register as a raw type
   2318 		type = new daeRawRefType(dae);
   2319 		type->_nameBindings.append("Cg_half4x2");
   2320 		atomicTypes.append( type );
   2321 	}
   2322 	else { //add binding to existing type
   2323 		type->_nameBindings.append("Cg_half4x2");
   2324 	}
   2325 
   2326 	// TYPEDEF: Cg_half4x3	//check if this type has an existing base
   2327 	type = atomicTypes.get("Cg_ListOfHalf");
   2328 	if ( type == NULL ) { //register as a raw type
   2329 		type = new daeRawRefType(dae);
   2330 		type->_nameBindings.append("Cg_half4x3");
   2331 		atomicTypes.append( type );
   2332 	}
   2333 	else { //add binding to existing type
   2334 		type->_nameBindings.append("Cg_half4x3");
   2335 	}
   2336 
   2337 	// TYPEDEF: Cg_half4x4	//check if this type has an existing base
   2338 	type = atomicTypes.get("Cg_ListOfHalf");
   2339 	if ( type == NULL ) { //register as a raw type
   2340 		type = new daeRawRefType(dae);
   2341 		type->_nameBindings.append("Cg_half4x4");
   2342 		atomicTypes.append( type );
   2343 	}
   2344 	else { //add binding to existing type
   2345 		type->_nameBindings.append("Cg_half4x4");
   2346 	}
   2347 
   2348 	// TYPEDEF: Cg_fixed2	//check if this type has an existing base
   2349 	type = atomicTypes.get("Cg_ListOfFixed");
   2350 	if ( type == NULL ) { //register as a raw type
   2351 		type = new daeRawRefType(dae);
   2352 		type->_nameBindings.append("Cg_fixed2");
   2353 		atomicTypes.append( type );
   2354 	}
   2355 	else { //add binding to existing type
   2356 		type->_nameBindings.append("Cg_fixed2");
   2357 	}
   2358 
   2359 	// TYPEDEF: Cg_fixed3	//check if this type has an existing base
   2360 	type = atomicTypes.get("Cg_ListOfFixed");
   2361 	if ( type == NULL ) { //register as a raw type
   2362 		type = new daeRawRefType(dae);
   2363 		type->_nameBindings.append("Cg_fixed3");
   2364 		atomicTypes.append( type );
   2365 	}
   2366 	else { //add binding to existing type
   2367 		type->_nameBindings.append("Cg_fixed3");
   2368 	}
   2369 
   2370 	// TYPEDEF: Cg_fixed4	//check if this type has an existing base
   2371 	type = atomicTypes.get("Cg_ListOfFixed");
   2372 	if ( type == NULL ) { //register as a raw type
   2373 		type = new daeRawRefType(dae);
   2374 		type->_nameBindings.append("Cg_fixed4");
   2375 		atomicTypes.append( type );
   2376 	}
   2377 	else { //add binding to existing type
   2378 		type->_nameBindings.append("Cg_fixed4");
   2379 	}
   2380 
   2381 	// TYPEDEF: Cg_fixed1x1	//check if this type has an existing base
   2382 	type = atomicTypes.get("Cg_ListOfFixed");
   2383 	if ( type == NULL ) { //register as a raw type
   2384 		type = new daeRawRefType(dae);
   2385 		type->_nameBindings.append("Cg_fixed1x1");
   2386 		atomicTypes.append( type );
   2387 	}
   2388 	else { //add binding to existing type
   2389 		type->_nameBindings.append("Cg_fixed1x1");
   2390 	}
   2391 
   2392 	// TYPEDEF: Cg_fixed1x2	//check if this type has an existing base
   2393 	type = atomicTypes.get("Cg_ListOfFixed");
   2394 	if ( type == NULL ) { //register as a raw type
   2395 		type = new daeRawRefType(dae);
   2396 		type->_nameBindings.append("Cg_fixed1x2");
   2397 		atomicTypes.append( type );
   2398 	}
   2399 	else { //add binding to existing type
   2400 		type->_nameBindings.append("Cg_fixed1x2");
   2401 	}
   2402 
   2403 	// TYPEDEF: Cg_fixed1x3	//check if this type has an existing base
   2404 	type = atomicTypes.get("Cg_ListOfFixed");
   2405 	if ( type == NULL ) { //register as a raw type
   2406 		type = new daeRawRefType(dae);
   2407 		type->_nameBindings.append("Cg_fixed1x3");
   2408 		atomicTypes.append( type );
   2409 	}
   2410 	else { //add binding to existing type
   2411 		type->_nameBindings.append("Cg_fixed1x3");
   2412 	}
   2413 
   2414 	// TYPEDEF: Cg_fixed1x4	//check if this type has an existing base
   2415 	type = atomicTypes.get("Cg_ListOfFixed");
   2416 	if ( type == NULL ) { //register as a raw type
   2417 		type = new daeRawRefType(dae);
   2418 		type->_nameBindings.append("Cg_fixed1x4");
   2419 		atomicTypes.append( type );
   2420 	}
   2421 	else { //add binding to existing type
   2422 		type->_nameBindings.append("Cg_fixed1x4");
   2423 	}
   2424 
   2425 	// TYPEDEF: Cg_fixed2x1	//check if this type has an existing base
   2426 	type = atomicTypes.get("Cg_ListOfFixed");
   2427 	if ( type == NULL ) { //register as a raw type
   2428 		type = new daeRawRefType(dae);
   2429 		type->_nameBindings.append("Cg_fixed2x1");
   2430 		atomicTypes.append( type );
   2431 	}
   2432 	else { //add binding to existing type
   2433 		type->_nameBindings.append("Cg_fixed2x1");
   2434 	}
   2435 
   2436 	// TYPEDEF: Cg_fixed2x2	//check if this type has an existing base
   2437 	type = atomicTypes.get("Cg_ListOfFixed");
   2438 	if ( type == NULL ) { //register as a raw type
   2439 		type = new daeRawRefType(dae);
   2440 		type->_nameBindings.append("Cg_fixed2x2");
   2441 		atomicTypes.append( type );
   2442 	}
   2443 	else { //add binding to existing type
   2444 		type->_nameBindings.append("Cg_fixed2x2");
   2445 	}
   2446 
   2447 	// TYPEDEF: Cg_fixed2x3	//check if this type has an existing base
   2448 	type = atomicTypes.get("Cg_ListOfFixed");
   2449 	if ( type == NULL ) { //register as a raw type
   2450 		type = new daeRawRefType(dae);
   2451 		type->_nameBindings.append("Cg_fixed2x3");
   2452 		atomicTypes.append( type );
   2453 	}
   2454 	else { //add binding to existing type
   2455 		type->_nameBindings.append("Cg_fixed2x3");
   2456 	}
   2457 
   2458 	// TYPEDEF: Cg_fixed2x4	//check if this type has an existing base
   2459 	type = atomicTypes.get("Cg_ListOfFixed");
   2460 	if ( type == NULL ) { //register as a raw type
   2461 		type = new daeRawRefType(dae);
   2462 		type->_nameBindings.append("Cg_fixed2x4");
   2463 		atomicTypes.append( type );
   2464 	}
   2465 	else { //add binding to existing type
   2466 		type->_nameBindings.append("Cg_fixed2x4");
   2467 	}
   2468 
   2469 	// TYPEDEF: Cg_fixed3x1	//check if this type has an existing base
   2470 	type = atomicTypes.get("Cg_ListOfFixed");
   2471 	if ( type == NULL ) { //register as a raw type
   2472 		type = new daeRawRefType(dae);
   2473 		type->_nameBindings.append("Cg_fixed3x1");
   2474 		atomicTypes.append( type );
   2475 	}
   2476 	else { //add binding to existing type
   2477 		type->_nameBindings.append("Cg_fixed3x1");
   2478 	}
   2479 
   2480 	// TYPEDEF: Cg_fixed3x2	//check if this type has an existing base
   2481 	type = atomicTypes.get("Cg_ListOfFixed");
   2482 	if ( type == NULL ) { //register as a raw type
   2483 		type = new daeRawRefType(dae);
   2484 		type->_nameBindings.append("Cg_fixed3x2");
   2485 		atomicTypes.append( type );
   2486 	}
   2487 	else { //add binding to existing type
   2488 		type->_nameBindings.append("Cg_fixed3x2");
   2489 	}
   2490 
   2491 	// TYPEDEF: Cg_fixed3x3	//check if this type has an existing base
   2492 	type = atomicTypes.get("Cg_ListOfFixed");
   2493 	if ( type == NULL ) { //register as a raw type
   2494 		type = new daeRawRefType(dae);
   2495 		type->_nameBindings.append("Cg_fixed3x3");
   2496 		atomicTypes.append( type );
   2497 	}
   2498 	else { //add binding to existing type
   2499 		type->_nameBindings.append("Cg_fixed3x3");
   2500 	}
   2501 
   2502 	// TYPEDEF: Cg_fixed3x4	//check if this type has an existing base
   2503 	type = atomicTypes.get("Cg_ListOfFixed");
   2504 	if ( type == NULL ) { //register as a raw type
   2505 		type = new daeRawRefType(dae);
   2506 		type->_nameBindings.append("Cg_fixed3x4");
   2507 		atomicTypes.append( type );
   2508 	}
   2509 	else { //add binding to existing type
   2510 		type->_nameBindings.append("Cg_fixed3x4");
   2511 	}
   2512 
   2513 	// TYPEDEF: Cg_fixed4x1	//check if this type has an existing base
   2514 	type = atomicTypes.get("Cg_ListOfFixed");
   2515 	if ( type == NULL ) { //register as a raw type
   2516 		type = new daeRawRefType(dae);
   2517 		type->_nameBindings.append("Cg_fixed4x1");
   2518 		atomicTypes.append( type );
   2519 	}
   2520 	else { //add binding to existing type
   2521 		type->_nameBindings.append("Cg_fixed4x1");
   2522 	}
   2523 
   2524 	// TYPEDEF: Cg_fixed4x2	//check if this type has an existing base
   2525 	type = atomicTypes.get("Cg_ListOfFixed");
   2526 	if ( type == NULL ) { //register as a raw type
   2527 		type = new daeRawRefType(dae);
   2528 		type->_nameBindings.append("Cg_fixed4x2");
   2529 		atomicTypes.append( type );
   2530 	}
   2531 	else { //add binding to existing type
   2532 		type->_nameBindings.append("Cg_fixed4x2");
   2533 	}
   2534 
   2535 	// TYPEDEF: Cg_fixed4x3	//check if this type has an existing base
   2536 	type = atomicTypes.get("Cg_ListOfFixed");
   2537 	if ( type == NULL ) { //register as a raw type
   2538 		type = new daeRawRefType(dae);
   2539 		type->_nameBindings.append("Cg_fixed4x3");
   2540 		atomicTypes.append( type );
   2541 	}
   2542 	else { //add binding to existing type
   2543 		type->_nameBindings.append("Cg_fixed4x3");
   2544 	}
   2545 
   2546 	// TYPEDEF: Cg_fixed4x4	//check if this type has an existing base
   2547 	type = atomicTypes.get("Cg_ListOfFixed");
   2548 	if ( type == NULL ) { //register as a raw type
   2549 		type = new daeRawRefType(dae);
   2550 		type->_nameBindings.append("Cg_fixed4x4");
   2551 		atomicTypes.append( type );
   2552 	}
   2553 	else { //add binding to existing type
   2554 		type->_nameBindings.append("Cg_fixed4x4");
   2555 	}
   2556 
   2557 	// ENUM: Cg_pipeline_stage
   2558 	type = new daeEnumType(dae);
   2559 	type->_nameBindings.append("Cg_pipeline_stage");
   2560 	((daeEnumType*)type)->_strings = new daeStringRefArray;
   2561 	((daeEnumType*)type)->_values = new daeEnumArray;
   2562 	((daeEnumType*)type)->_strings->append("VERTEX");
   2563 	((daeEnumType*)type)->_values->append(CG_PIPELINE_STAGE_VERTEX);
   2564 	((daeEnumType*)type)->_strings->append("FRAGMENT");
   2565 	((daeEnumType*)type)->_values->append(CG_PIPELINE_STAGE_FRAGMENT);
   2566 	atomicTypes.append( type );
   2567 
   2568 	// TYPEDEF: Cg_identifier	//check if this type has an existing base
   2569 	type = atomicTypes.get("xsToken");
   2570 	if ( type == NULL ) { //register as a raw type
   2571 		type = new daeRawRefType(dae);
   2572 		type->_nameBindings.append("Cg_identifier");
   2573 		atomicTypes.append( type );
   2574 	}
   2575 	else { //add binding to existing type
   2576 		type->_nameBindings.append("Cg_identifier");
   2577 	}
   2578 
   2579 	// TYPEDEF: GLES_MAX_LIGHTS_index	//check if this type has an existing base
   2580 	type = atomicTypes.get("xsNonNegativeInteger");
   2581 	if ( type == NULL ) { //register as a raw type
   2582 		type = new daeRawRefType(dae);
   2583 		type->_nameBindings.append("GLES_MAX_LIGHTS_index");
   2584 		atomicTypes.append( type );
   2585 	}
   2586 	else { //add binding to existing type
   2587 		type->_nameBindings.append("GLES_MAX_LIGHTS_index");
   2588 	}
   2589 
   2590 	// TYPEDEF: GLES_MAX_CLIP_PLANES_index	//check if this type has an existing base
   2591 	type = atomicTypes.get("xsNonNegativeInteger");
   2592 	if ( type == NULL ) { //register as a raw type
   2593 		type = new daeRawRefType(dae);
   2594 		type->_nameBindings.append("GLES_MAX_CLIP_PLANES_index");
   2595 		atomicTypes.append( type );
   2596 	}
   2597 	else { //add binding to existing type
   2598 		type->_nameBindings.append("GLES_MAX_CLIP_PLANES_index");
   2599 	}
   2600 
   2601 	// TYPEDEF: GLES_MAX_TEXTURE_COORDS_index	//check if this type has an existing base
   2602 	type = atomicTypes.get("xsNonNegativeInteger");
   2603 	if ( type == NULL ) { //register as a raw type
   2604 		type = new daeRawRefType(dae);
   2605 		type->_nameBindings.append("GLES_MAX_TEXTURE_COORDS_index");
   2606 		atomicTypes.append( type );
   2607 	}
   2608 	else { //add binding to existing type
   2609 		type->_nameBindings.append("GLES_MAX_TEXTURE_COORDS_index");
   2610 	}
   2611 
   2612 	// TYPEDEF: GLES_MAX_TEXTURE_IMAGE_UNITS_index	//check if this type has an existing base
   2613 	type = atomicTypes.get("xsNonNegativeInteger");
   2614 	if ( type == NULL ) { //register as a raw type
   2615 		type = new daeRawRefType(dae);
   2616 		type->_nameBindings.append("GLES_MAX_TEXTURE_IMAGE_UNITS_index");
   2617 		atomicTypes.append( type );
   2618 	}
   2619 	else { //add binding to existing type
   2620 		type->_nameBindings.append("GLES_MAX_TEXTURE_IMAGE_UNITS_index");
   2621 	}
   2622 
   2623 	// ENUM: Gles_texenv_mode_enums
   2624 	type = new daeEnumType(dae);
   2625 	type->_nameBindings.append("Gles_texenv_mode_enums");
   2626 	((daeEnumType*)type)->_strings = new daeStringRefArray;
   2627 	((daeEnumType*)type)->_values = new daeEnumArray;
   2628 	((daeEnumType*)type)->_strings->append("REPLACE");
   2629 	((daeEnumType*)type)->_values->append(GLES_TEXENV_MODE_ENUMS_REPLACE);
   2630 	((daeEnumType*)type)->_strings->append("MODULATE");
   2631 	((daeEnumType*)type)->_values->append(GLES_TEXENV_MODE_ENUMS_MODULATE);
   2632 	((daeEnumType*)type)->_strings->append("DECAL");
   2633 	((daeEnumType*)type)->_values->append(GLES_TEXENV_MODE_ENUMS_DECAL);
   2634 	((daeEnumType*)type)->_strings->append("BLEND");
   2635 	((daeEnumType*)type)->_values->append(GLES_TEXENV_MODE_ENUMS_BLEND);
   2636 	((daeEnumType*)type)->_strings->append("ADD");
   2637 	((daeEnumType*)type)->_values->append(GLES_TEXENV_MODE_ENUMS_ADD);
   2638 	atomicTypes.append( type );
   2639 
   2640 	// ENUM: Gles_texcombiner_operatorRGB_enums
   2641 	type = new daeEnumType(dae);
   2642 	type->_nameBindings.append("Gles_texcombiner_operatorRGB_enums");
   2643 	((daeEnumType*)type)->_strings = new daeStringRefArray;
   2644 	((daeEnumType*)type)->_values = new daeEnumArray;
   2645 	((daeEnumType*)type)->_strings->append("REPLACE");
   2646 	((daeEnumType*)type)->_values->append(GLES_TEXCOMBINER_OPERATORRGB_ENUMS_REPLACE);
   2647 	((daeEnumType*)type)->_strings->append("MODULATE");
   2648 	((daeEnumType*)type)->_values->append(GLES_TEXCOMBINER_OPERATORRGB_ENUMS_MODULATE);
   2649 	((daeEnumType*)type)->_strings->append("ADD");
   2650 	((daeEnumType*)type)->_values->append(GLES_TEXCOMBINER_OPERATORRGB_ENUMS_ADD);
   2651 	((daeEnumType*)type)->_strings->append("ADD_SIGNED");
   2652 	((daeEnumType*)type)->_values->append(GLES_TEXCOMBINER_OPERATORRGB_ENUMS_ADD_SIGNED);
   2653 	((daeEnumType*)type)->_strings->append("INTERPOLATE");
   2654 	((daeEnumType*)type)->_values->append(GLES_TEXCOMBINER_OPERATORRGB_ENUMS_INTERPOLATE);
   2655 	((daeEnumType*)type)->_strings->append("SUBTRACT");
   2656 	((daeEnumType*)type)->_values->append(GLES_TEXCOMBINER_OPERATORRGB_ENUMS_SUBTRACT);
   2657 	((daeEnumType*)type)->_strings->append("DOT3_RGB");
   2658 	((daeEnumType*)type)->_values->append(GLES_TEXCOMBINER_OPERATORRGB_ENUMS_DOT3_RGB);
   2659 	((daeEnumType*)type)->_strings->append("DOT3_RGBA");
   2660 	((daeEnumType*)type)->_values->append(GLES_TEXCOMBINER_OPERATORRGB_ENUMS_DOT3_RGBA);
   2661 	atomicTypes.append( type );
   2662 
   2663 	// ENUM: Gles_texcombiner_operatorAlpha_enums
   2664 	type = new daeEnumType(dae);
   2665 	type->_nameBindings.append("Gles_texcombiner_operatorAlpha_enums");
   2666 	((daeEnumType*)type)->_strings = new daeStringRefArray;
   2667 	((daeEnumType*)type)->_values = new daeEnumArray;
   2668 	((daeEnumType*)type)->_strings->append("REPLACE");
   2669 	((daeEnumType*)type)->_values->append(GLES_TEXCOMBINER_OPERATORALPHA_ENUMS_REPLACE);
   2670 	((daeEnumType*)type)->_strings->append("MODULATE");
   2671 	((daeEnumType*)type)->_values->append(GLES_TEXCOMBINER_OPERATORALPHA_ENUMS_MODULATE);
   2672 	((daeEnumType*)type)->_strings->append("ADD");
   2673 	((daeEnumType*)type)->_values->append(GLES_TEXCOMBINER_OPERATORALPHA_ENUMS_ADD);
   2674 	((daeEnumType*)type)->_strings->append("ADD_SIGNED");
   2675 	((daeEnumType*)type)->_values->append(GLES_TEXCOMBINER_OPERATORALPHA_ENUMS_ADD_SIGNED);
   2676 	((daeEnumType*)type)->_strings->append("INTERPOLATE");
   2677 	((daeEnumType*)type)->_values->append(GLES_TEXCOMBINER_OPERATORALPHA_ENUMS_INTERPOLATE);
   2678 	((daeEnumType*)type)->_strings->append("SUBTRACT");
   2679 	((daeEnumType*)type)->_values->append(GLES_TEXCOMBINER_OPERATORALPHA_ENUMS_SUBTRACT);
   2680 	atomicTypes.append( type );
   2681 
   2682 	// ENUM: Gles_texcombiner_source_enums
   2683 	type = new daeEnumType(dae);
   2684 	type->_nameBindings.append("Gles_texcombiner_source_enums");
   2685 	((daeEnumType*)type)->_strings = new daeStringRefArray;
   2686 	((daeEnumType*)type)->_values = new daeEnumArray;
   2687 	((daeEnumType*)type)->_strings->append("TEXTURE");
   2688 	((daeEnumType*)type)->_values->append(GLES_TEXCOMBINER_SOURCE_ENUMS_TEXTURE);
   2689 	((daeEnumType*)type)->_strings->append("CONSTANT");
   2690 	((daeEnumType*)type)->_values->append(GLES_TEXCOMBINER_SOURCE_ENUMS_CONSTANT);
   2691 	((daeEnumType*)type)->_strings->append("PRIMARY");
   2692 	((daeEnumType*)type)->_values->append(GLES_TEXCOMBINER_SOURCE_ENUMS_PRIMARY);
   2693 	((daeEnumType*)type)->_strings->append("PREVIOUS");
   2694 	((daeEnumType*)type)->_values->append(GLES_TEXCOMBINER_SOURCE_ENUMS_PREVIOUS);
   2695 	atomicTypes.append( type );
   2696 
   2697 	// ENUM: Gles_texcombiner_operandRGB_enums
   2698 	type = new daeEnumType(dae);
   2699 	type->_nameBindings.append("Gles_texcombiner_operandRGB_enums");
   2700 	((daeEnumType*)type)->_strings = new daeStringRefArray;
   2701 	((daeEnumType*)type)->_values = new daeEnumArray;
   2702 	((daeEnumType*)type)->_strings->append("SRC_COLOR");
   2703 	((daeEnumType*)type)->_values->append(GLES_TEXCOMBINER_OPERANDRGB_ENUMS_SRC_COLOR);
   2704 	((daeEnumType*)type)->_strings->append("ONE_MINUS_SRC_COLOR");
   2705 	((daeEnumType*)type)->_values->append(GLES_TEXCOMBINER_OPERANDRGB_ENUMS_ONE_MINUS_SRC_COLOR);
   2706 	((daeEnumType*)type)->_strings->append("SRC_ALPHA");
   2707 	((daeEnumType*)type)->_values->append(GLES_TEXCOMBINER_OPERANDRGB_ENUMS_SRC_ALPHA);
   2708 	((daeEnumType*)type)->_strings->append("ONE_MINUS_SRC_ALPHA");
   2709 	((daeEnumType*)type)->_values->append(GLES_TEXCOMBINER_OPERANDRGB_ENUMS_ONE_MINUS_SRC_ALPHA);
   2710 	atomicTypes.append( type );
   2711 
   2712 	// ENUM: Gles_texcombiner_operandAlpha_enums
   2713 	type = new daeEnumType(dae);
   2714 	type->_nameBindings.append("Gles_texcombiner_operandAlpha_enums");
   2715 	((daeEnumType*)type)->_strings = new daeStringRefArray;
   2716 	((daeEnumType*)type)->_values = new daeEnumArray;
   2717 	((daeEnumType*)type)->_strings->append("SRC_ALPHA");
   2718 	((daeEnumType*)type)->_values->append(GLES_TEXCOMBINER_OPERANDALPHA_ENUMS_SRC_ALPHA);
   2719 	((daeEnumType*)type)->_strings->append("ONE_MINUS_SRC_ALPHA");
   2720 	((daeEnumType*)type)->_values->append(GLES_TEXCOMBINER_OPERANDALPHA_ENUMS_ONE_MINUS_SRC_ALPHA);
   2721 	atomicTypes.append( type );
   2722 
   2723 	// TYPEDEF: Gles_texcombiner_argument_index_type	//check if this type has an existing base
   2724 	type = atomicTypes.get("xsNonNegativeInteger");
   2725 	if ( type == NULL ) { //register as a raw type
   2726 		type = new daeRawRefType(dae);
   2727 		type->_nameBindings.append("Gles_texcombiner_argument_index_type");
   2728 		atomicTypes.append( type );
   2729 	}
   2730 	else { //add binding to existing type
   2731 		type->_nameBindings.append("Gles_texcombiner_argument_index_type");
   2732 	}
   2733 
   2734 	// ENUM: Gles_sampler_wrap
   2735 	type = new daeEnumType(dae);
   2736 	type->_nameBindings.append("Gles_sampler_wrap");
   2737 	((daeEnumType*)type)->_strings = new daeStringRefArray;
   2738 	((daeEnumType*)type)->_values = new daeEnumArray;
   2739 	((daeEnumType*)type)->_strings->append("REPEAT");
   2740 	((daeEnumType*)type)->_values->append(GLES_SAMPLER_WRAP_REPEAT);
   2741 	((daeEnumType*)type)->_strings->append("CLAMP");
   2742 	((daeEnumType*)type)->_values->append(GLES_SAMPLER_WRAP_CLAMP);
   2743 	((daeEnumType*)type)->_strings->append("CLAMP_TO_EDGE");
   2744 	((daeEnumType*)type)->_values->append(GLES_SAMPLER_WRAP_CLAMP_TO_EDGE);
   2745 	((daeEnumType*)type)->_strings->append("MIRRORED_REPEAT");
   2746 	((daeEnumType*)type)->_values->append(GLES_SAMPLER_WRAP_MIRRORED_REPEAT);
   2747 	atomicTypes.append( type );
   2748 
   2749 	// ENUM: Gles_stencil_op_type
   2750 	type = new daeEnumType(dae);
   2751 	type->_nameBindings.append("Gles_stencil_op_type");
   2752 	((daeEnumType*)type)->_strings = new daeStringRefArray;
   2753 	((daeEnumType*)type)->_values = new daeEnumArray;
   2754 	((daeEnumType*)type)->_strings->append("KEEP");
   2755 	((daeEnumType*)type)->_values->append(GLES_STENCIL_OP_TYPE_KEEP);
   2756 	((daeEnumType*)type)->_strings->append("ZERO");
   2757 	((daeEnumType*)type)->_values->append(GLES_STENCIL_OP_TYPE_ZERO);
   2758 	((daeEnumType*)type)->_strings->append("REPLACE");
   2759 	((daeEnumType*)type)->_values->append(GLES_STENCIL_OP_TYPE_REPLACE);
   2760 	((daeEnumType*)type)->_strings->append("INCR");
   2761 	((daeEnumType*)type)->_values->append(GLES_STENCIL_OP_TYPE_INCR);
   2762 	((daeEnumType*)type)->_strings->append("DECR");
   2763 	((daeEnumType*)type)->_values->append(GLES_STENCIL_OP_TYPE_DECR);
   2764 	((daeEnumType*)type)->_strings->append("INVERT");
   2765 	((daeEnumType*)type)->_values->append(GLES_STENCIL_OP_TYPE_INVERT);
   2766 	atomicTypes.append( type );
   2767 
   2768 	// ENUM: Gles_enumeration
   2769 	type = new daeEnumType(dae);
   2770 	type->_nameBindings.append("Gles_enumeration");
   2771 	((daeEnumType*)type)->_strings = new daeStringRefArray;
   2772 	((daeEnumType*)type)->_values = new daeEnumArray;
   2773 	((daeEnumType*)type)->_strings->append("ZERO");
   2774 	((daeEnumType*)type)->_values->append(GLES_ENUMERATION_ZERO);
   2775 	((daeEnumType*)type)->_strings->append("ONE");
   2776 	((daeEnumType*)type)->_values->append(GLES_ENUMERATION_ONE);
   2777 	((daeEnumType*)type)->_strings->append("SRC_COLOR");
   2778 	((daeEnumType*)type)->_values->append(GLES_ENUMERATION_SRC_COLOR);
   2779 	((daeEnumType*)type)->_strings->append("ONE_MINUS_SRC_COLOR");
   2780 	((daeEnumType*)type)->_values->append(GLES_ENUMERATION_ONE_MINUS_SRC_COLOR);
   2781 	((daeEnumType*)type)->_strings->append("DEST_COLOR");
   2782 	((daeEnumType*)type)->_values->append(GLES_ENUMERATION_DEST_COLOR);
   2783 	((daeEnumType*)type)->_strings->append("ONE_MINUS_DEST_COLOR");
   2784 	((daeEnumType*)type)->_values->append(GLES_ENUMERATION_ONE_MINUS_DEST_COLOR);
   2785 	((daeEnumType*)type)->_strings->append("SRC_ALPHA");
   2786 	((daeEnumType*)type)->_values->append(GLES_ENUMERATION_SRC_ALPHA);
   2787 	((daeEnumType*)type)->_strings->append("ONE_MINUS_SRC_ALPHA");
   2788 	((daeEnumType*)type)->_values->append(GLES_ENUMERATION_ONE_MINUS_SRC_ALPHA);
   2789 	((daeEnumType*)type)->_strings->append("DST_ALPHA");
   2790 	((daeEnumType*)type)->_values->append(GLES_ENUMERATION_DST_ALPHA);
   2791 	((daeEnumType*)type)->_strings->append("ONE_MINUS_DST_ALPHA");
   2792 	((daeEnumType*)type)->_values->append(GLES_ENUMERATION_ONE_MINUS_DST_ALPHA);
   2793 	((daeEnumType*)type)->_strings->append("CONSTANT_COLOR");
   2794 	((daeEnumType*)type)->_values->append(GLES_ENUMERATION_CONSTANT_COLOR);
   2795 	((daeEnumType*)type)->_strings->append("ONE_MINUS_CONSTANT_COLOR");
   2796 	((daeEnumType*)type)->_values->append(GLES_ENUMERATION_ONE_MINUS_CONSTANT_COLOR);
   2797 	((daeEnumType*)type)->_strings->append("CONSTANT_ALPHA");
   2798 	((daeEnumType*)type)->_values->append(GLES_ENUMERATION_CONSTANT_ALPHA);
   2799 	((daeEnumType*)type)->_strings->append("ONE_MINUS_CONSTANT_ALPHA");
   2800 	((daeEnumType*)type)->_values->append(GLES_ENUMERATION_ONE_MINUS_CONSTANT_ALPHA);
   2801 	((daeEnumType*)type)->_strings->append("SRC_ALPHA_SATURATE");
   2802 	((daeEnumType*)type)->_values->append(GLES_ENUMERATION_SRC_ALPHA_SATURATE);
   2803 	((daeEnumType*)type)->_strings->append("FRONT");
   2804 	((daeEnumType*)type)->_values->append(GLES_ENUMERATION_FRONT);
   2805 	((daeEnumType*)type)->_strings->append("BACK");
   2806 	((daeEnumType*)type)->_values->append(GLES_ENUMERATION_BACK);
   2807 	((daeEnumType*)type)->_strings->append("FRONT_AND_BACK");
   2808 	((daeEnumType*)type)->_values->append(GLES_ENUMERATION_FRONT_AND_BACK);
   2809 	((daeEnumType*)type)->_strings->append("NEVER");
   2810 	((daeEnumType*)type)->_values->append(GLES_ENUMERATION_NEVER);
   2811 	((daeEnumType*)type)->_strings->append("LESS");
   2812 	((daeEnumType*)type)->_values->append(GLES_ENUMERATION_LESS);
   2813 	((daeEnumType*)type)->_strings->append("LEQUAL");
   2814 	((daeEnumType*)type)->_values->append(GLES_ENUMERATION_LEQUAL);
   2815 	((daeEnumType*)type)->_strings->append("EQUAL");
   2816 	((daeEnumType*)type)->_values->append(GLES_ENUMERATION_EQUAL);
   2817 	((daeEnumType*)type)->_strings->append("GREATER");
   2818 	((daeEnumType*)type)->_values->append(GLES_ENUMERATION_GREATER);
   2819 	((daeEnumType*)type)->_strings->append("NOTEQUAL");
   2820 	((daeEnumType*)type)->_values->append(GLES_ENUMERATION_NOTEQUAL);
   2821 	((daeEnumType*)type)->_strings->append("GEQUAL");
   2822 	((daeEnumType*)type)->_values->append(GLES_ENUMERATION_GEQUAL);
   2823 	((daeEnumType*)type)->_strings->append("ALWAYS");
   2824 	((daeEnumType*)type)->_values->append(GLES_ENUMERATION_ALWAYS);
   2825 	((daeEnumType*)type)->_strings->append("KEEP");
   2826 	((daeEnumType*)type)->_values->append(GLES_ENUMERATION_KEEP);
   2827 	((daeEnumType*)type)->_strings->append("REPLACE");
   2828 	((daeEnumType*)type)->_values->append(GLES_ENUMERATION_REPLACE);
   2829 	((daeEnumType*)type)->_strings->append("INCR");
   2830 	((daeEnumType*)type)->_values->append(GLES_ENUMERATION_INCR);
   2831 	((daeEnumType*)type)->_strings->append("DECR");
   2832 	((daeEnumType*)type)->_values->append(GLES_ENUMERATION_DECR);
   2833 	((daeEnumType*)type)->_strings->append("INVERT");
   2834 	((daeEnumType*)type)->_values->append(GLES_ENUMERATION_INVERT);
   2835 	((daeEnumType*)type)->_strings->append("INCR_WRAP");
   2836 	((daeEnumType*)type)->_values->append(GLES_ENUMERATION_INCR_WRAP);
   2837 	((daeEnumType*)type)->_strings->append("DECR_WRAP");
   2838 	((daeEnumType*)type)->_values->append(GLES_ENUMERATION_DECR_WRAP);
   2839 	((daeEnumType*)type)->_strings->append("EMISSION");
   2840 	((daeEnumType*)type)->_values->append(GLES_ENUMERATION_EMISSION);
   2841 	((daeEnumType*)type)->_strings->append("AMBIENT");
   2842 	((daeEnumType*)type)->_values->append(GLES_ENUMERATION_AMBIENT);
   2843 	((daeEnumType*)type)->_strings->append("DIFFUSE");
   2844 	((daeEnumType*)type)->_values->append(GLES_ENUMERATION_DIFFUSE);
   2845 	((daeEnumType*)type)->_strings->append("SPECULAR");
   2846 	((daeEnumType*)type)->_values->append(GLES_ENUMERATION_SPECULAR);
   2847 	((daeEnumType*)type)->_strings->append("AMBIENT_AND_DIFFUSE");
   2848 	((daeEnumType*)type)->_values->append(GLES_ENUMERATION_AMBIENT_AND_DIFFUSE);
   2849 	((daeEnumType*)type)->_strings->append("LINEAR");
   2850 	((daeEnumType*)type)->_values->append(GLES_ENUMERATION_LINEAR);
   2851 	((daeEnumType*)type)->_strings->append("EXP");
   2852 	((daeEnumType*)type)->_values->append(GLES_ENUMERATION_EXP);
   2853 	((daeEnumType*)type)->_strings->append("EXP2");
   2854 	((daeEnumType*)type)->_values->append(GLES_ENUMERATION_EXP2);
   2855 	((daeEnumType*)type)->_strings->append("CW");
   2856 	((daeEnumType*)type)->_values->append(GLES_ENUMERATION_CW);
   2857 	((daeEnumType*)type)->_strings->append("CCW");
   2858 	((daeEnumType*)type)->_values->append(GLES_ENUMERATION_CCW);
   2859 	((daeEnumType*)type)->_strings->append("SINGLE_COLOR");
   2860 	((daeEnumType*)type)->_values->append(GLES_ENUMERATION_SINGLE_COLOR);
   2861 	((daeEnumType*)type)->_strings->append("SEPARATE_SPECULAR_COLOR");
   2862 	((daeEnumType*)type)->_values->append(GLES_ENUMERATION_SEPARATE_SPECULAR_COLOR);
   2863 	((daeEnumType*)type)->_strings->append("CLEAR");
   2864 	((daeEnumType*)type)->_values->append(GLES_ENUMERATION_CLEAR);
   2865 	((daeEnumType*)type)->_strings->append("AND");
   2866 	((daeEnumType*)type)->_values->append(GLES_ENUMERATION_AND);
   2867 	((daeEnumType*)type)->_strings->append("AND_REVERSE");
   2868 	((daeEnumType*)type)->_values->append(GLES_ENUMERATION_AND_REVERSE);
   2869 	((daeEnumType*)type)->_strings->append("COPY");
   2870 	((daeEnumType*)type)->_values->append(GLES_ENUMERATION_COPY);
   2871 	((daeEnumType*)type)->_strings->append("AND_INVERTED");
   2872 	((daeEnumType*)type)->_values->append(GLES_ENUMERATION_AND_INVERTED);
   2873 	((daeEnumType*)type)->_strings->append("NOOP");
   2874 	((daeEnumType*)type)->_values->append(GLES_ENUMERATION_NOOP);
   2875 	((daeEnumType*)type)->_strings->append("XOR");
   2876 	((daeEnumType*)type)->_values->append(GLES_ENUMERATION_XOR);
   2877 	((daeEnumType*)type)->_strings->append("OR");
   2878 	((daeEnumType*)type)->_values->append(GLES_ENUMERATION_OR);
   2879 	((daeEnumType*)type)->_strings->append("NOR");
   2880 	((daeEnumType*)type)->_values->append(GLES_ENUMERATION_NOR);
   2881 	((daeEnumType*)type)->_strings->append("EQUIV");
   2882 	((daeEnumType*)type)->_values->append(GLES_ENUMERATION_EQUIV);
   2883 	((daeEnumType*)type)->_strings->append("OR_REVERSE");
   2884 	((daeEnumType*)type)->_values->append(GLES_ENUMERATION_OR_REVERSE);
   2885 	((daeEnumType*)type)->_strings->append("COPY_INVERTED");
   2886 	((daeEnumType*)type)->_values->append(GLES_ENUMERATION_COPY_INVERTED);
   2887 	((daeEnumType*)type)->_strings->append("NAND");
   2888 	((daeEnumType*)type)->_values->append(GLES_ENUMERATION_NAND);
   2889 	((daeEnumType*)type)->_strings->append("SET");
   2890 	((daeEnumType*)type)->_values->append(GLES_ENUMERATION_SET);
   2891 	((daeEnumType*)type)->_strings->append("POINT");
   2892 	((daeEnumType*)type)->_values->append(GLES_ENUMERATION_POINT);
   2893 	((daeEnumType*)type)->_strings->append("LINE");
   2894 	((daeEnumType*)type)->_values->append(GLES_ENUMERATION_LINE);
   2895 	((daeEnumType*)type)->_strings->append("FILL");
   2896 	((daeEnumType*)type)->_values->append(GLES_ENUMERATION_FILL);
   2897 	((daeEnumType*)type)->_strings->append("FLAT");
   2898 	((daeEnumType*)type)->_values->append(GLES_ENUMERATION_FLAT);
   2899 	((daeEnumType*)type)->_strings->append("SMOOTH");
   2900 	((daeEnumType*)type)->_values->append(GLES_ENUMERATION_SMOOTH);
   2901 	atomicTypes.append( type );
   2902 
   2903 	// TYPEDEF: Gles_rendertarget_common	//check if this type has an existing base
   2904 	type = atomicTypes.get("xsNCName");
   2905 	if ( type == NULL ) { //register as a raw type
   2906 		type = new daeRawRefType(dae);
   2907 		type->_nameBindings.append("Gles_rendertarget_common");
   2908 		atomicTypes.append( type );
   2909 	}
   2910 	else { //add binding to existing type
   2911 		type->_nameBindings.append("Gles_rendertarget_common");
   2912 	}
   2913 
   2914 	// ENUM: SpringType
   2915 	type = new daeEnumType(dae);
   2916 	type->_nameBindings.append("SpringType");
   2917 	((daeEnumType*)type)->_strings = new daeStringRefArray;
   2918 	((daeEnumType*)type)->_values = new daeEnumArray;
   2919 	((daeEnumType*)type)->_strings->append("LINEAR");
   2920 	((daeEnumType*)type)->_values->append(SPRINGTYPE_LINEAR);
   2921 	((daeEnumType*)type)->_strings->append("ANGULAR");
   2922 	((daeEnumType*)type)->_values->append(SPRINGTYPE_ANGULAR);
   2923 	atomicTypes.append( type );
   2924 
   2925 }
   2926 
   2927 daeMetaElement* registerDomElements(DAE& dae)
   2928 {
   2929 	daeMetaElement* meta = domCOLLADA::registerElement(dae);
   2930 	// Enable tracking of top level object by default
   2931 	meta->setIsTrackableForQueries(true);
   2932 	return meta;
   2933 }
   2934 
   2935 daeInt DLLSPEC colladaTypeCount() {
   2936 	return 815;
   2937 }
   2938