187ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk/* 287ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk* Copyright 2006 Sony Computer Entertainment Inc. 387ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk* 487ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk* Licensed under the MIT Open Source License, for details please see license.txt or the website 587ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk* http://www.opensource.org/licenses/mit-license.php 687ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk* 787ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk*/ 887ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk 987ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk#include <dae.h> 1087ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk#include <dae/daeDom.h> 1187ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk#include <dom/domGles_texcombiner_argumentRGB_type.h> 1287ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk#include <dae/daeMetaCMPolicy.h> 1387ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk#include <dae/daeMetaSequence.h> 1487ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk#include <dae/daeMetaChoice.h> 1587ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk#include <dae/daeMetaGroup.h> 1687ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk#include <dae/daeMetaAny.h> 1787ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk#include <dae/daeMetaElementAttribute.h> 1887ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk 1987ac3e2db6d5ae163131102c066e9d19bdfdc139Alex SakhartchoukdaeElementRef 2087ac3e2db6d5ae163131102c066e9d19bdfdc139Alex SakhartchoukdomGles_texcombiner_argumentRGB_type::create(DAE& dae) 2187ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk{ 2287ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk domGles_texcombiner_argumentRGB_typeRef ref = new domGles_texcombiner_argumentRGB_type(dae); 2387ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk return ref; 2487ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk} 2587ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk 2687ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk 2787ac3e2db6d5ae163131102c066e9d19bdfdc139Alex SakhartchoukdaeMetaElement * 2887ac3e2db6d5ae163131102c066e9d19bdfdc139Alex SakhartchoukdomGles_texcombiner_argumentRGB_type::registerElement(DAE& dae) 2987ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk{ 3087ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk daeMetaElement* meta = dae.getMeta(ID()); 3187ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk if ( meta != NULL ) return meta; 3287ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk 3387ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk meta = new daeMetaElement(dae); 3487ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk dae.setMeta(ID(), *meta); 3587ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk meta->setName( "gles_texcombiner_argumentRGB_type" ); 3687ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk meta->registerClass(domGles_texcombiner_argumentRGB_type::create); 3787ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk 3887ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk 3987ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk // Add attribute: source 4087ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk { 4187ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk daeMetaAttribute *ma = new daeMetaAttribute; 4287ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk ma->setName( "source" ); 4387ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk ma->setType( dae.getAtomicTypes().get("Gles_texcombiner_source_enums")); 4487ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk ma->setOffset( daeOffsetOf( domGles_texcombiner_argumentRGB_type , attrSource )); 4587ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk ma->setContainer( meta ); 4687ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk 4787ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk meta->appendAttribute(ma); 4887ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk } 4987ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk 5087ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk // Add attribute: operand 5187ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk { 5287ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk daeMetaAttribute *ma = new daeMetaAttribute; 5387ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk ma->setName( "operand" ); 5487ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk ma->setType( dae.getAtomicTypes().get("Gles_texcombiner_operandRGB_enums")); 5587ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk ma->setOffset( daeOffsetOf( domGles_texcombiner_argumentRGB_type , attrOperand )); 5687ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk ma->setContainer( meta ); 5787ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk ma->setDefaultString( "SRC_COLOR"); 5887ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk 5987ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk meta->appendAttribute(ma); 6087ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk } 6187ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk 6287ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk // Add attribute: unit 6387ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk { 6487ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk daeMetaAttribute *ma = new daeMetaAttribute; 6587ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk ma->setName( "unit" ); 6687ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk ma->setType( dae.getAtomicTypes().get("xsNCName")); 6787ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk ma->setOffset( daeOffsetOf( domGles_texcombiner_argumentRGB_type , attrUnit )); 6887ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk ma->setContainer( meta ); 6987ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk ma->setIsRequired( false ); 7087ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk 7187ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk meta->appendAttribute(ma); 7287ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk } 7387ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk 7487ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk meta->setElementSize(sizeof(domGles_texcombiner_argumentRGB_type)); 7587ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk meta->validate(); 7687ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk 7787ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk return meta; 7887ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk} 7987ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk 80