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