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 <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