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/domInstance_material.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 SakhartchoukdomInstance_material::create(DAE& dae) 2187ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk{ 2287ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk domInstance_materialRef ref = new domInstance_material(dae); 2387ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk return ref; 2487ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk} 2587ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk 2687ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk 2787ac3e2db6d5ae163131102c066e9d19bdfdc139Alex SakhartchoukdaeMetaElement * 2887ac3e2db6d5ae163131102c066e9d19bdfdc139Alex SakhartchoukdomInstance_material::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( "instance_material" ); 3687ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk meta->registerClass(domInstance_material::create); 3787ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk 3887ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk daeMetaCMPolicy *cm = NULL; 3987ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk daeMetaElementAttribute *mea = NULL; 4087ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk cm = new daeMetaSequence( meta, cm, 0, 1, 1 ); 4187ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk 4287ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk mea = new daeMetaElementArrayAttribute( meta, cm, 0, 0, -1 ); 4387ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk mea->setName( "bind" ); 4487ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk mea->setOffset( daeOffsetOf(domInstance_material,elemBind_array) ); 4587ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk mea->setElementType( domInstance_material::domBind::registerElement(dae) ); 4687ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk cm->appendChild( mea ); 4787ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk 4887ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk mea = new daeMetaElementArrayAttribute( meta, cm, 1, 0, -1 ); 4987ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk mea->setName( "bind_vertex_input" ); 5087ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk mea->setOffset( daeOffsetOf(domInstance_material,elemBind_vertex_input_array) ); 5187ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk mea->setElementType( domInstance_material::domBind_vertex_input::registerElement(dae) ); 5287ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk cm->appendChild( mea ); 5387ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk 5487ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 ); 5587ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk mea->setName( "extra" ); 5687ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk mea->setOffset( daeOffsetOf(domInstance_material,elemExtra_array) ); 5787ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk mea->setElementType( domExtra::registerElement(dae) ); 5887ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk cm->appendChild( mea ); 5987ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk 6087ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk cm->setMaxOrdinal( 2 ); 6187ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk meta->setCMRoot( cm ); 6287ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk 6387ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk // Add attribute: symbol 6487ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk { 6587ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk daeMetaAttribute *ma = new daeMetaAttribute; 6687ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk ma->setName( "symbol" ); 6787ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk ma->setType( dae.getAtomicTypes().get("xsNCName")); 6887ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk ma->setOffset( daeOffsetOf( domInstance_material , attrSymbol )); 6987ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk ma->setContainer( meta ); 7087ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk ma->setIsRequired( true ); 7187ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk 7287ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk meta->appendAttribute(ma); 7387ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk } 7487ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk 7587ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk // Add attribute: target 7687ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk { 7787ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk daeMetaAttribute *ma = new daeMetaAttribute; 7887ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk ma->setName( "target" ); 7987ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk ma->setType( dae.getAtomicTypes().get("xsAnyURI")); 8087ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk ma->setOffset( daeOffsetOf( domInstance_material , attrTarget )); 8187ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk ma->setContainer( meta ); 8287ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk ma->setIsRequired( true ); 8387ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk 8487ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk meta->appendAttribute(ma); 8587ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk } 8687ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk 8787ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk // Add attribute: sid 8887ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk { 8987ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk daeMetaAttribute *ma = new daeMetaAttribute; 9087ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk ma->setName( "sid" ); 9187ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk ma->setType( dae.getAtomicTypes().get("xsNCName")); 9287ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk ma->setOffset( daeOffsetOf( domInstance_material , attrSid )); 9387ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk ma->setContainer( meta ); 9487ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk 9587ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk meta->appendAttribute(ma); 9687ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk } 9787ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk 9887ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk // Add attribute: name 9987ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk { 10087ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk daeMetaAttribute *ma = new daeMetaAttribute; 10187ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk ma->setName( "name" ); 10287ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk ma->setType( dae.getAtomicTypes().get("xsNCName")); 10387ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk ma->setOffset( daeOffsetOf( domInstance_material , attrName )); 10487ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk ma->setContainer( meta ); 10587ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk 10687ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk meta->appendAttribute(ma); 10787ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk } 10887ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk 10987ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk meta->setElementSize(sizeof(domInstance_material)); 11087ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk meta->validate(); 11187ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk 11287ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk return meta; 11387ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk} 11487ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk 11587ac3e2db6d5ae163131102c066e9d19bdfdc139Alex SakhartchoukdaeElementRef 11687ac3e2db6d5ae163131102c066e9d19bdfdc139Alex SakhartchoukdomInstance_material::domBind::create(DAE& dae) 11787ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk{ 11887ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk domInstance_material::domBindRef ref = new domInstance_material::domBind(dae); 11987ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk return ref; 12087ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk} 12187ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk 12287ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk 12387ac3e2db6d5ae163131102c066e9d19bdfdc139Alex SakhartchoukdaeMetaElement * 12487ac3e2db6d5ae163131102c066e9d19bdfdc139Alex SakhartchoukdomInstance_material::domBind::registerElement(DAE& dae) 12587ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk{ 12687ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk daeMetaElement* meta = dae.getMeta(ID()); 12787ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk if ( meta != NULL ) return meta; 12887ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk 12987ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk meta = new daeMetaElement(dae); 13087ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk dae.setMeta(ID(), *meta); 13187ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk meta->setName( "bind" ); 13287ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk meta->registerClass(domInstance_material::domBind::create); 13387ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk 13487ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk meta->setIsInnerClass( true ); 13587ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk 13687ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk // Add attribute: semantic 13787ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk { 13887ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk daeMetaAttribute *ma = new daeMetaAttribute; 13987ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk ma->setName( "semantic" ); 14087ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk ma->setType( dae.getAtomicTypes().get("xsNCName")); 14187ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk ma->setOffset( daeOffsetOf( domInstance_material::domBind , attrSemantic )); 14287ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk ma->setContainer( meta ); 14387ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk ma->setIsRequired( true ); 14487ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk 14587ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk meta->appendAttribute(ma); 14687ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk } 14787ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk 14887ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk // Add attribute: target 14987ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk { 15087ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk daeMetaAttribute *ma = new daeMetaAttribute; 15187ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk ma->setName( "target" ); 15287ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk ma->setType( dae.getAtomicTypes().get("xsToken")); 15387ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk ma->setOffset( daeOffsetOf( domInstance_material::domBind , attrTarget )); 15487ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk ma->setContainer( meta ); 15587ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk ma->setIsRequired( true ); 15687ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk 15787ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk meta->appendAttribute(ma); 15887ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk } 15987ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk 16087ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk meta->setElementSize(sizeof(domInstance_material::domBind)); 16187ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk meta->validate(); 16287ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk 16387ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk return meta; 16487ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk} 16587ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk 16687ac3e2db6d5ae163131102c066e9d19bdfdc139Alex SakhartchoukdaeElementRef 16787ac3e2db6d5ae163131102c066e9d19bdfdc139Alex SakhartchoukdomInstance_material::domBind_vertex_input::create(DAE& dae) 16887ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk{ 16987ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk domInstance_material::domBind_vertex_inputRef ref = new domInstance_material::domBind_vertex_input(dae); 17087ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk return ref; 17187ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk} 17287ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk 17387ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk 17487ac3e2db6d5ae163131102c066e9d19bdfdc139Alex SakhartchoukdaeMetaElement * 17587ac3e2db6d5ae163131102c066e9d19bdfdc139Alex SakhartchoukdomInstance_material::domBind_vertex_input::registerElement(DAE& dae) 17687ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk{ 17787ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk daeMetaElement* meta = dae.getMeta(ID()); 17887ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk if ( meta != NULL ) return meta; 17987ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk 18087ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk meta = new daeMetaElement(dae); 18187ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk dae.setMeta(ID(), *meta); 18287ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk meta->setName( "bind_vertex_input" ); 18387ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk meta->registerClass(domInstance_material::domBind_vertex_input::create); 18487ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk 18587ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk meta->setIsInnerClass( true ); 18687ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk 18787ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk // Add attribute: semantic 18887ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk { 18987ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk daeMetaAttribute *ma = new daeMetaAttribute; 19087ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk ma->setName( "semantic" ); 19187ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk ma->setType( dae.getAtomicTypes().get("xsNCName")); 19287ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk ma->setOffset( daeOffsetOf( domInstance_material::domBind_vertex_input , attrSemantic )); 19387ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk ma->setContainer( meta ); 19487ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk ma->setIsRequired( true ); 19587ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk 19687ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk meta->appendAttribute(ma); 19787ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk } 19887ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk 19987ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk // Add attribute: input_semantic 20087ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk { 20187ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk daeMetaAttribute *ma = new daeMetaAttribute; 20287ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk ma->setName( "input_semantic" ); 20387ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk ma->setType( dae.getAtomicTypes().get("xsNCName")); 20487ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk ma->setOffset( daeOffsetOf( domInstance_material::domBind_vertex_input , attrInput_semantic )); 20587ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk ma->setContainer( meta ); 20687ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk ma->setIsRequired( true ); 20787ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk 20887ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk meta->appendAttribute(ma); 20987ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk } 21087ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk 21187ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk // Add attribute: input_set 21287ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk { 21387ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk daeMetaAttribute *ma = new daeMetaAttribute; 21487ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk ma->setName( "input_set" ); 21587ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk ma->setType( dae.getAtomicTypes().get("Uint")); 21687ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk ma->setOffset( daeOffsetOf( domInstance_material::domBind_vertex_input , attrInput_set )); 21787ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk ma->setContainer( meta ); 21887ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk 21987ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk meta->appendAttribute(ma); 22087ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk } 22187ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk 22287ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk meta->setElementSize(sizeof(domInstance_material::domBind_vertex_input)); 22387ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk meta->validate(); 22487ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk 22587ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk return meta; 22687ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk} 22787ac3e2db6d5ae163131102c066e9d19bdfdc139Alex Sakhartchouk 228