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 <dae/daeDom.h> 11 #include <dom/domProfile_GLES.h> 12 #include <dae/daeMetaCMPolicy.h> 13 #include <dae/daeMetaSequence.h> 14 #include <dae/daeMetaChoice.h> 15 #include <dae/daeMetaGroup.h> 16 #include <dae/daeMetaAny.h> 17 #include <dae/daeMetaElementAttribute.h> 18 19 daeElementRef 20 domProfile_GLES::create(DAE& dae) 21 { 22 domProfile_GLESRef ref = new domProfile_GLES(dae); 23 return ref; 24 } 25 26 27 daeMetaElement * 28 domProfile_GLES::registerElement(DAE& dae) 29 { 30 daeMetaElement* meta = dae.getMeta(ID()); 31 if ( meta != NULL ) return meta; 32 33 meta = new daeMetaElement(dae); 34 dae.setMeta(ID(), *meta); 35 meta->setName( "profile_GLES" ); 36 meta->registerClass(domProfile_GLES::create); 37 38 daeMetaCMPolicy *cm = NULL; 39 daeMetaElementAttribute *mea = NULL; 40 cm = new daeMetaSequence( meta, cm, 0, 1, 1 ); 41 42 mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 ); 43 mea->setName( "asset" ); 44 mea->setOffset( daeOffsetOf(domProfile_GLES,elemAsset) ); 45 mea->setElementType( domAsset::registerElement(dae) ); 46 cm->appendChild( mea ); 47 48 cm = new daeMetaChoice( meta, cm, 0, 1, 0, -1 ); 49 50 mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 ); 51 mea->setName( "image" ); 52 mea->setOffset( daeOffsetOf(domProfile_GLES,elemImage_array) ); 53 mea->setElementType( domImage::registerElement(dae) ); 54 cm->appendChild( mea ); 55 56 mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 ); 57 mea->setName( "newparam" ); 58 mea->setOffset( daeOffsetOf(domProfile_GLES,elemNewparam_array) ); 59 mea->setElementType( domGles_newparam::registerElement(dae) ); 60 cm->appendChild( mea ); 61 62 cm->setMaxOrdinal( 0 ); 63 cm->getParent()->appendChild( cm ); 64 cm = cm->getParent(); 65 66 mea = new daeMetaElementArrayAttribute( meta, cm, 3002, 1, -1 ); 67 mea->setName( "technique" ); 68 mea->setOffset( daeOffsetOf(domProfile_GLES,elemTechnique_array) ); 69 mea->setElementType( domProfile_GLES::domTechnique::registerElement(dae) ); 70 cm->appendChild( mea ); 71 72 mea = new daeMetaElementArrayAttribute( meta, cm, 3003, 0, -1 ); 73 mea->setName( "extra" ); 74 mea->setOffset( daeOffsetOf(domProfile_GLES,elemExtra_array) ); 75 mea->setElementType( domExtra::registerElement(dae) ); 76 cm->appendChild( mea ); 77 78 cm->setMaxOrdinal( 3003 ); 79 meta->setCMRoot( cm ); 80 // Ordered list of sub-elements 81 meta->addContents(daeOffsetOf(domProfile_GLES,_contents)); 82 meta->addContentsOrder(daeOffsetOf(domProfile_GLES,_contentsOrder)); 83 84 meta->addCMDataArray(daeOffsetOf(domProfile_GLES,_CMData), 1); 85 // Add attribute: id 86 { 87 daeMetaAttribute *ma = new daeMetaAttribute; 88 ma->setName( "id" ); 89 ma->setType( dae.getAtomicTypes().get("xsID")); 90 ma->setOffset( daeOffsetOf( domProfile_GLES , attrId )); 91 ma->setContainer( meta ); 92 ma->setIsRequired( false ); 93 94 meta->appendAttribute(ma); 95 } 96 97 // Add attribute: platform 98 { 99 daeMetaAttribute *ma = new daeMetaAttribute; 100 ma->setName( "platform" ); 101 ma->setType( dae.getAtomicTypes().get("xsNCName")); 102 ma->setOffset( daeOffsetOf( domProfile_GLES , attrPlatform )); 103 ma->setContainer( meta ); 104 ma->setDefaultString( "PC"); 105 ma->setIsRequired( false ); 106 107 meta->appendAttribute(ma); 108 } 109 110 meta->setElementSize(sizeof(domProfile_GLES)); 111 meta->validate(); 112 113 return meta; 114 } 115 116 daeElementRef 117 domProfile_GLES::domTechnique::create(DAE& dae) 118 { 119 domProfile_GLES::domTechniqueRef ref = new domProfile_GLES::domTechnique(dae); 120 return ref; 121 } 122 123 124 daeMetaElement * 125 domProfile_GLES::domTechnique::registerElement(DAE& dae) 126 { 127 daeMetaElement* meta = dae.getMeta(ID()); 128 if ( meta != NULL ) return meta; 129 130 meta = new daeMetaElement(dae); 131 dae.setMeta(ID(), *meta); 132 meta->setName( "technique" ); 133 meta->registerClass(domProfile_GLES::domTechnique::create); 134 135 meta->setIsInnerClass( true ); 136 daeMetaCMPolicy *cm = NULL; 137 daeMetaElementAttribute *mea = NULL; 138 cm = new daeMetaSequence( meta, cm, 0, 1, 1 ); 139 140 mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 ); 141 mea->setName( "asset" ); 142 mea->setOffset( daeOffsetOf(domProfile_GLES::domTechnique,elemAsset) ); 143 mea->setElementType( domAsset::registerElement(dae) ); 144 cm->appendChild( mea ); 145 146 mea = new daeMetaElementArrayAttribute( meta, cm, 1, 0, -1 ); 147 mea->setName( "annotate" ); 148 mea->setOffset( daeOffsetOf(domProfile_GLES::domTechnique,elemAnnotate_array) ); 149 mea->setElementType( domFx_annotate_common::registerElement(dae) ); 150 cm->appendChild( mea ); 151 152 cm = new daeMetaChoice( meta, cm, 0, 2, 0, -1 ); 153 154 mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 ); 155 mea->setName( "image" ); 156 mea->setOffset( daeOffsetOf(domProfile_GLES::domTechnique,elemImage_array) ); 157 mea->setElementType( domImage::registerElement(dae) ); 158 cm->appendChild( mea ); 159 160 mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 ); 161 mea->setName( "newparam" ); 162 mea->setOffset( daeOffsetOf(domProfile_GLES::domTechnique,elemNewparam_array) ); 163 mea->setElementType( domGles_newparam::registerElement(dae) ); 164 cm->appendChild( mea ); 165 166 mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 ); 167 mea->setName( "setparam" ); 168 mea->setOffset( daeOffsetOf(domProfile_GLES::domTechnique,elemSetparam_array) ); 169 mea->setElementType( domProfile_GLES::domTechnique::domSetparam::registerElement(dae) ); 170 cm->appendChild( mea ); 171 172 cm->setMaxOrdinal( 0 ); 173 cm->getParent()->appendChild( cm ); 174 cm = cm->getParent(); 175 176 mea = new daeMetaElementArrayAttribute( meta, cm, 3003, 1, -1 ); 177 mea->setName( "pass" ); 178 mea->setOffset( daeOffsetOf(domProfile_GLES::domTechnique,elemPass_array) ); 179 mea->setElementType( domProfile_GLES::domTechnique::domPass::registerElement(dae) ); 180 cm->appendChild( mea ); 181 182 mea = new daeMetaElementArrayAttribute( meta, cm, 3004, 0, -1 ); 183 mea->setName( "extra" ); 184 mea->setOffset( daeOffsetOf(domProfile_GLES::domTechnique,elemExtra_array) ); 185 mea->setElementType( domExtra::registerElement(dae) ); 186 cm->appendChild( mea ); 187 188 cm->setMaxOrdinal( 3004 ); 189 meta->setCMRoot( cm ); 190 // Ordered list of sub-elements 191 meta->addContents(daeOffsetOf(domProfile_GLES::domTechnique,_contents)); 192 meta->addContentsOrder(daeOffsetOf(domProfile_GLES::domTechnique,_contentsOrder)); 193 194 meta->addCMDataArray(daeOffsetOf(domProfile_GLES::domTechnique,_CMData), 1); 195 // Add attribute: id 196 { 197 daeMetaAttribute *ma = new daeMetaAttribute; 198 ma->setName( "id" ); 199 ma->setType( dae.getAtomicTypes().get("xsID")); 200 ma->setOffset( daeOffsetOf( domProfile_GLES::domTechnique , attrId )); 201 ma->setContainer( meta ); 202 203 meta->appendAttribute(ma); 204 } 205 206 // Add attribute: sid 207 { 208 daeMetaAttribute *ma = new daeMetaAttribute; 209 ma->setName( "sid" ); 210 ma->setType( dae.getAtomicTypes().get("xsNCName")); 211 ma->setOffset( daeOffsetOf( domProfile_GLES::domTechnique , attrSid )); 212 ma->setContainer( meta ); 213 ma->setIsRequired( true ); 214 215 meta->appendAttribute(ma); 216 } 217 218 meta->setElementSize(sizeof(domProfile_GLES::domTechnique)); 219 meta->validate(); 220 221 return meta; 222 } 223 224 daeElementRef 225 domProfile_GLES::domTechnique::domSetparam::create(DAE& dae) 226 { 227 domProfile_GLES::domTechnique::domSetparamRef ref = new domProfile_GLES::domTechnique::domSetparam(dae); 228 return ref; 229 } 230 231 232 daeMetaElement * 233 domProfile_GLES::domTechnique::domSetparam::registerElement(DAE& dae) 234 { 235 daeMetaElement* meta = dae.getMeta(ID()); 236 if ( meta != NULL ) return meta; 237 238 meta = new daeMetaElement(dae); 239 dae.setMeta(ID(), *meta); 240 meta->setName( "setparam" ); 241 meta->registerClass(domProfile_GLES::domTechnique::domSetparam::create); 242 243 meta->setIsInnerClass( true ); 244 daeMetaCMPolicy *cm = NULL; 245 daeMetaElementAttribute *mea = NULL; 246 cm = new daeMetaSequence( meta, cm, 0, 1, 1 ); 247 248 mea = new daeMetaElementArrayAttribute( meta, cm, 0, 0, -1 ); 249 mea->setName( "annotate" ); 250 mea->setOffset( daeOffsetOf(domProfile_GLES::domTechnique::domSetparam,elemAnnotate_array) ); 251 mea->setElementType( domFx_annotate_common::registerElement(dae) ); 252 cm->appendChild( mea ); 253 254 mea = new daeMetaElementAttribute( meta, cm, 1, 1, 1 ); 255 mea->setName( "gles_basic_type_common" ); 256 mea->setOffset( daeOffsetOf(domProfile_GLES::domTechnique::domSetparam,elemGles_basic_type_common) ); 257 mea->setElementType( domGles_basic_type_common::registerElement(dae) ); 258 cm->appendChild( new daeMetaGroup( mea, meta, cm, 1, 1, 1 ) ); 259 260 cm->setMaxOrdinal( 1 ); 261 meta->setCMRoot( cm ); 262 263 // Add attribute: ref 264 { 265 daeMetaAttribute *ma = new daeMetaAttribute; 266 ma->setName( "ref" ); 267 ma->setType( dae.getAtomicTypes().get("xsNCName")); 268 ma->setOffset( daeOffsetOf( domProfile_GLES::domTechnique::domSetparam , attrRef )); 269 ma->setContainer( meta ); 270 ma->setIsRequired( true ); 271 272 meta->appendAttribute(ma); 273 } 274 275 meta->setElementSize(sizeof(domProfile_GLES::domTechnique::domSetparam)); 276 meta->validate(); 277 278 return meta; 279 } 280 281 daeElementRef 282 domProfile_GLES::domTechnique::domPass::create(DAE& dae) 283 { 284 domProfile_GLES::domTechnique::domPassRef ref = new domProfile_GLES::domTechnique::domPass(dae); 285 return ref; 286 } 287 288 289 daeMetaElement * 290 domProfile_GLES::domTechnique::domPass::registerElement(DAE& dae) 291 { 292 daeMetaElement* meta = dae.getMeta(ID()); 293 if ( meta != NULL ) return meta; 294 295 meta = new daeMetaElement(dae); 296 dae.setMeta(ID(), *meta); 297 meta->setName( "pass" ); 298 meta->registerClass(domProfile_GLES::domTechnique::domPass::create); 299 300 meta->setIsInnerClass( true ); 301 daeMetaCMPolicy *cm = NULL; 302 daeMetaElementAttribute *mea = NULL; 303 cm = new daeMetaSequence( meta, cm, 0, 1, 1 ); 304 305 mea = new daeMetaElementArrayAttribute( meta, cm, 0, 0, -1 ); 306 mea->setName( "annotate" ); 307 mea->setOffset( daeOffsetOf(domProfile_GLES::domTechnique::domPass,elemAnnotate_array) ); 308 mea->setElementType( domFx_annotate_common::registerElement(dae) ); 309 cm->appendChild( mea ); 310 311 mea = new daeMetaElementAttribute( meta, cm, 1, 0, 1 ); 312 mea->setName( "color_target" ); 313 mea->setOffset( daeOffsetOf(domProfile_GLES::domTechnique::domPass,elemColor_target) ); 314 mea->setElementType( domProfile_GLES::domTechnique::domPass::domColor_target::registerElement(dae) ); 315 cm->appendChild( mea ); 316 317 mea = new daeMetaElementAttribute( meta, cm, 2, 0, 1 ); 318 mea->setName( "depth_target" ); 319 mea->setOffset( daeOffsetOf(domProfile_GLES::domTechnique::domPass,elemDepth_target) ); 320 mea->setElementType( domProfile_GLES::domTechnique::domPass::domDepth_target::registerElement(dae) ); 321 cm->appendChild( mea ); 322 323 mea = new daeMetaElementAttribute( meta, cm, 3, 0, 1 ); 324 mea->setName( "stencil_target" ); 325 mea->setOffset( daeOffsetOf(domProfile_GLES::domTechnique::domPass,elemStencil_target) ); 326 mea->setElementType( domProfile_GLES::domTechnique::domPass::domStencil_target::registerElement(dae) ); 327 cm->appendChild( mea ); 328 329 mea = new daeMetaElementAttribute( meta, cm, 4, 0, 1 ); 330 mea->setName( "color_clear" ); 331 mea->setOffset( daeOffsetOf(domProfile_GLES::domTechnique::domPass,elemColor_clear) ); 332 mea->setElementType( domProfile_GLES::domTechnique::domPass::domColor_clear::registerElement(dae) ); 333 cm->appendChild( mea ); 334 335 mea = new daeMetaElementAttribute( meta, cm, 5, 0, 1 ); 336 mea->setName( "depth_clear" ); 337 mea->setOffset( daeOffsetOf(domProfile_GLES::domTechnique::domPass,elemDepth_clear) ); 338 mea->setElementType( domProfile_GLES::domTechnique::domPass::domDepth_clear::registerElement(dae) ); 339 cm->appendChild( mea ); 340 341 mea = new daeMetaElementAttribute( meta, cm, 6, 0, 1 ); 342 mea->setName( "stencil_clear" ); 343 mea->setOffset( daeOffsetOf(domProfile_GLES::domTechnique::domPass,elemStencil_clear) ); 344 mea->setElementType( domProfile_GLES::domTechnique::domPass::domStencil_clear::registerElement(dae) ); 345 cm->appendChild( mea ); 346 347 mea = new daeMetaElementAttribute( meta, cm, 7, 0, 1 ); 348 mea->setName( "draw" ); 349 mea->setOffset( daeOffsetOf(domProfile_GLES::domTechnique::domPass,elemDraw) ); 350 mea->setElementType( domProfile_GLES::domTechnique::domPass::domDraw::registerElement(dae) ); 351 cm->appendChild( mea ); 352 353 cm = new daeMetaChoice( meta, cm, 0, 8, 0, -1 ); 354 355 mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 ); 356 mea->setName( "gles_pipeline_settings" ); 357 mea->setOffset( daeOffsetOf(domProfile_GLES::domTechnique::domPass,elemGles_pipeline_settings_array) ); 358 mea->setElementType( domGles_pipeline_settings::registerElement(dae) ); 359 cm->appendChild( new daeMetaGroup( mea, meta, cm, 0, 1, 1 ) ); 360 361 cm->setMaxOrdinal( 0 ); 362 cm->getParent()->appendChild( cm ); 363 cm = cm->getParent(); 364 365 mea = new daeMetaElementArrayAttribute( meta, cm, 3009, 0, -1 ); 366 mea->setName( "extra" ); 367 mea->setOffset( daeOffsetOf(domProfile_GLES::domTechnique::domPass,elemExtra_array) ); 368 mea->setElementType( domExtra::registerElement(dae) ); 369 cm->appendChild( mea ); 370 371 cm->setMaxOrdinal( 3009 ); 372 meta->setCMRoot( cm ); 373 // Ordered list of sub-elements 374 meta->addContents(daeOffsetOf(domProfile_GLES::domTechnique::domPass,_contents)); 375 meta->addContentsOrder(daeOffsetOf(domProfile_GLES::domTechnique::domPass,_contentsOrder)); 376 377 meta->addCMDataArray(daeOffsetOf(domProfile_GLES::domTechnique::domPass,_CMData), 1); 378 // Add attribute: sid 379 { 380 daeMetaAttribute *ma = new daeMetaAttribute; 381 ma->setName( "sid" ); 382 ma->setType( dae.getAtomicTypes().get("xsNCName")); 383 ma->setOffset( daeOffsetOf( domProfile_GLES::domTechnique::domPass , attrSid )); 384 ma->setContainer( meta ); 385 ma->setIsRequired( false ); 386 387 meta->appendAttribute(ma); 388 } 389 390 meta->setElementSize(sizeof(domProfile_GLES::domTechnique::domPass)); 391 meta->validate(); 392 393 return meta; 394 } 395 396 daeElementRef 397 domProfile_GLES::domTechnique::domPass::domColor_target::create(DAE& dae) 398 { 399 domProfile_GLES::domTechnique::domPass::domColor_targetRef ref = new domProfile_GLES::domTechnique::domPass::domColor_target(dae); 400 return ref; 401 } 402 403 404 daeMetaElement * 405 domProfile_GLES::domTechnique::domPass::domColor_target::registerElement(DAE& dae) 406 { 407 daeMetaElement* meta = dae.getMeta(ID()); 408 if ( meta != NULL ) return meta; 409 410 meta = new daeMetaElement(dae); 411 dae.setMeta(ID(), *meta); 412 meta->setName( "color_target" ); 413 meta->registerClass(domProfile_GLES::domTechnique::domPass::domColor_target::create); 414 415 meta->setIsInnerClass( true ); 416 // Add attribute: _value 417 { 418 daeMetaAttribute *ma = new daeMetaAttribute; 419 ma->setName( "_value" ); 420 ma->setType( dae.getAtomicTypes().get("Gles_rendertarget_common")); 421 ma->setOffset( daeOffsetOf( domProfile_GLES::domTechnique::domPass::domColor_target , _value )); 422 ma->setContainer( meta ); 423 meta->appendAttribute(ma); 424 } 425 426 meta->setElementSize(sizeof(domProfile_GLES::domTechnique::domPass::domColor_target)); 427 meta->validate(); 428 429 return meta; 430 } 431 432 daeElementRef 433 domProfile_GLES::domTechnique::domPass::domDepth_target::create(DAE& dae) 434 { 435 domProfile_GLES::domTechnique::domPass::domDepth_targetRef ref = new domProfile_GLES::domTechnique::domPass::domDepth_target(dae); 436 return ref; 437 } 438 439 440 daeMetaElement * 441 domProfile_GLES::domTechnique::domPass::domDepth_target::registerElement(DAE& dae) 442 { 443 daeMetaElement* meta = dae.getMeta(ID()); 444 if ( meta != NULL ) return meta; 445 446 meta = new daeMetaElement(dae); 447 dae.setMeta(ID(), *meta); 448 meta->setName( "depth_target" ); 449 meta->registerClass(domProfile_GLES::domTechnique::domPass::domDepth_target::create); 450 451 meta->setIsInnerClass( true ); 452 // Add attribute: _value 453 { 454 daeMetaAttribute *ma = new daeMetaAttribute; 455 ma->setName( "_value" ); 456 ma->setType( dae.getAtomicTypes().get("Gles_rendertarget_common")); 457 ma->setOffset( daeOffsetOf( domProfile_GLES::domTechnique::domPass::domDepth_target , _value )); 458 ma->setContainer( meta ); 459 meta->appendAttribute(ma); 460 } 461 462 meta->setElementSize(sizeof(domProfile_GLES::domTechnique::domPass::domDepth_target)); 463 meta->validate(); 464 465 return meta; 466 } 467 468 daeElementRef 469 domProfile_GLES::domTechnique::domPass::domStencil_target::create(DAE& dae) 470 { 471 domProfile_GLES::domTechnique::domPass::domStencil_targetRef ref = new domProfile_GLES::domTechnique::domPass::domStencil_target(dae); 472 return ref; 473 } 474 475 476 daeMetaElement * 477 domProfile_GLES::domTechnique::domPass::domStencil_target::registerElement(DAE& dae) 478 { 479 daeMetaElement* meta = dae.getMeta(ID()); 480 if ( meta != NULL ) return meta; 481 482 meta = new daeMetaElement(dae); 483 dae.setMeta(ID(), *meta); 484 meta->setName( "stencil_target" ); 485 meta->registerClass(domProfile_GLES::domTechnique::domPass::domStencil_target::create); 486 487 meta->setIsInnerClass( true ); 488 // Add attribute: _value 489 { 490 daeMetaAttribute *ma = new daeMetaAttribute; 491 ma->setName( "_value" ); 492 ma->setType( dae.getAtomicTypes().get("Gles_rendertarget_common")); 493 ma->setOffset( daeOffsetOf( domProfile_GLES::domTechnique::domPass::domStencil_target , _value )); 494 ma->setContainer( meta ); 495 meta->appendAttribute(ma); 496 } 497 498 meta->setElementSize(sizeof(domProfile_GLES::domTechnique::domPass::domStencil_target)); 499 meta->validate(); 500 501 return meta; 502 } 503 504 daeElementRef 505 domProfile_GLES::domTechnique::domPass::domColor_clear::create(DAE& dae) 506 { 507 domProfile_GLES::domTechnique::domPass::domColor_clearRef ref = new domProfile_GLES::domTechnique::domPass::domColor_clear(dae); 508 return ref; 509 } 510 511 512 daeMetaElement * 513 domProfile_GLES::domTechnique::domPass::domColor_clear::registerElement(DAE& dae) 514 { 515 daeMetaElement* meta = dae.getMeta(ID()); 516 if ( meta != NULL ) return meta; 517 518 meta = new daeMetaElement(dae); 519 dae.setMeta(ID(), *meta); 520 meta->setName( "color_clear" ); 521 meta->registerClass(domProfile_GLES::domTechnique::domPass::domColor_clear::create); 522 523 meta->setIsInnerClass( true ); 524 // Add attribute: _value 525 { 526 daeMetaAttribute *ma = new daeMetaArrayAttribute; 527 ma->setName( "_value" ); 528 ma->setType( dae.getAtomicTypes().get("Fx_color_common")); 529 ma->setOffset( daeOffsetOf( domProfile_GLES::domTechnique::domPass::domColor_clear , _value )); 530 ma->setContainer( meta ); 531 meta->appendAttribute(ma); 532 } 533 534 meta->setElementSize(sizeof(domProfile_GLES::domTechnique::domPass::domColor_clear)); 535 meta->validate(); 536 537 return meta; 538 } 539 540 daeElementRef 541 domProfile_GLES::domTechnique::domPass::domDepth_clear::create(DAE& dae) 542 { 543 domProfile_GLES::domTechnique::domPass::domDepth_clearRef ref = new domProfile_GLES::domTechnique::domPass::domDepth_clear(dae); 544 return ref; 545 } 546 547 548 daeMetaElement * 549 domProfile_GLES::domTechnique::domPass::domDepth_clear::registerElement(DAE& dae) 550 { 551 daeMetaElement* meta = dae.getMeta(ID()); 552 if ( meta != NULL ) return meta; 553 554 meta = new daeMetaElement(dae); 555 dae.setMeta(ID(), *meta); 556 meta->setName( "depth_clear" ); 557 meta->registerClass(domProfile_GLES::domTechnique::domPass::domDepth_clear::create); 558 559 meta->setIsInnerClass( true ); 560 // Add attribute: _value 561 { 562 daeMetaAttribute *ma = new daeMetaAttribute; 563 ma->setName( "_value" ); 564 ma->setType( dae.getAtomicTypes().get("Float")); 565 ma->setOffset( daeOffsetOf( domProfile_GLES::domTechnique::domPass::domDepth_clear , _value )); 566 ma->setContainer( meta ); 567 meta->appendAttribute(ma); 568 } 569 570 meta->setElementSize(sizeof(domProfile_GLES::domTechnique::domPass::domDepth_clear)); 571 meta->validate(); 572 573 return meta; 574 } 575 576 daeElementRef 577 domProfile_GLES::domTechnique::domPass::domStencil_clear::create(DAE& dae) 578 { 579 domProfile_GLES::domTechnique::domPass::domStencil_clearRef ref = new domProfile_GLES::domTechnique::domPass::domStencil_clear(dae); 580 return ref; 581 } 582 583 584 daeMetaElement * 585 domProfile_GLES::domTechnique::domPass::domStencil_clear::registerElement(DAE& dae) 586 { 587 daeMetaElement* meta = dae.getMeta(ID()); 588 if ( meta != NULL ) return meta; 589 590 meta = new daeMetaElement(dae); 591 dae.setMeta(ID(), *meta); 592 meta->setName( "stencil_clear" ); 593 meta->registerClass(domProfile_GLES::domTechnique::domPass::domStencil_clear::create); 594 595 meta->setIsInnerClass( true ); 596 // Add attribute: _value 597 { 598 daeMetaAttribute *ma = new daeMetaAttribute; 599 ma->setName( "_value" ); 600 ma->setType( dae.getAtomicTypes().get("xsByte")); 601 ma->setOffset( daeOffsetOf( domProfile_GLES::domTechnique::domPass::domStencil_clear , _value )); 602 ma->setContainer( meta ); 603 meta->appendAttribute(ma); 604 } 605 606 meta->setElementSize(sizeof(domProfile_GLES::domTechnique::domPass::domStencil_clear)); 607 meta->validate(); 608 609 return meta; 610 } 611 612 daeElementRef 613 domProfile_GLES::domTechnique::domPass::domDraw::create(DAE& dae) 614 { 615 domProfile_GLES::domTechnique::domPass::domDrawRef ref = new domProfile_GLES::domTechnique::domPass::domDraw(dae); 616 return ref; 617 } 618 619 620 daeMetaElement * 621 domProfile_GLES::domTechnique::domPass::domDraw::registerElement(DAE& dae) 622 { 623 daeMetaElement* meta = dae.getMeta(ID()); 624 if ( meta != NULL ) return meta; 625 626 meta = new daeMetaElement(dae); 627 dae.setMeta(ID(), *meta); 628 meta->setName( "draw" ); 629 meta->registerClass(domProfile_GLES::domTechnique::domPass::domDraw::create); 630 631 meta->setIsInnerClass( true ); 632 // Add attribute: _value 633 { 634 daeMetaAttribute *ma = new daeMetaAttribute; 635 ma->setName( "_value" ); 636 ma->setType( dae.getAtomicTypes().get("Fx_draw_common")); 637 ma->setOffset( daeOffsetOf( domProfile_GLES::domTechnique::domPass::domDraw , _value )); 638 ma->setContainer( meta ); 639 meta->appendAttribute(ma); 640 } 641 642 meta->setElementSize(sizeof(domProfile_GLES::domTechnique::domPass::domDraw)); 643 meta->validate(); 644 645 return meta; 646 } 647 648