1 #include <dae.h>
2 #include <dae/daeDom.h>
3 #include <1.5/dom/domParam.h>
4 #include <dae/daeMetaCMPolicy.h>
5 #include <dae/daeMetaSequence.h>
6 #include <dae/daeMetaChoice.h>
7 #include <dae/daeMetaGroup.h>
8 #include <dae/daeMetaAny.h>
9 #include <dae/daeMetaElementAttribute.h>
10 
11 
12 namespace ColladaDOM150 {
13 daeElementRef
create(DAE & dae)14 domParam::create(DAE& dae)
15 {
16 	domParamRef ref = new domParam(dae);
17 	return ref;
18 }
19 
20 
21 daeMetaElement *
registerElement(DAE & dae)22 domParam::registerElement(DAE& dae)
23 {
24 	daeMetaElement* meta = dae.getMeta(ID());
25 	if ( meta != NULL ) return meta;
26 
27 	meta = new daeMetaElement(dae);
28 	dae.setMeta(ID(), *meta);
29 	meta->setName( "param" );
30 	meta->registerClass(domParam::create);
31 
32 	//	Add attribute: _value
33 	{
34 		daeMetaAttribute *ma = new daeMetaAttribute;
35 		ma->setName( "_value" );
36 		ma->setType( dae.getAtomicTypes().get("xsString"));
37 		ma->setOffset( daeOffsetOf( domParam , _value ));
38 		ma->setContainer( meta );
39 		meta->appendAttribute(ma);
40 	}
41 
42 	//	Add attribute: name
43 	{
44 		daeMetaAttribute *ma = new daeMetaAttribute;
45 		ma->setName( "name" );
46 		ma->setType( dae.getAtomicTypes().get("xsToken"));
47 		ma->setOffset( daeOffsetOf( domParam , attrName ));
48 		ma->setContainer( meta );
49 
50 		meta->appendAttribute(ma);
51 	}
52 
53 	//	Add attribute: sid
54 	{
55 		daeMetaAttribute *ma = new daeMetaAttribute;
56 		ma->setName( "sid" );
57 		ma->setType( dae.getAtomicTypes().get("Sid"));
58 		ma->setOffset( daeOffsetOf( domParam , attrSid ));
59 		ma->setContainer( meta );
60 
61 		meta->appendAttribute(ma);
62 	}
63 
64 	//	Add attribute: semantic
65 	{
66 		daeMetaAttribute *ma = new daeMetaAttribute;
67 		ma->setName( "semantic" );
68 		ma->setType( dae.getAtomicTypes().get("xsNMTOKEN"));
69 		ma->setOffset( daeOffsetOf( domParam , attrSemantic ));
70 		ma->setContainer( meta );
71 
72 		meta->appendAttribute(ma);
73 	}
74 
75 	//	Add attribute: type
76 	{
77 		daeMetaAttribute *ma = new daeMetaAttribute;
78 		ma->setName( "type" );
79 		ma->setType( dae.getAtomicTypes().get("xsNMTOKEN"));
80 		ma->setOffset( daeOffsetOf( domParam , attrType ));
81 		ma->setContainer( meta );
82 		ma->setIsRequired( true );
83 
84 		meta->appendAttribute(ma);
85 	}
86 
87 	meta->setElementSize(sizeof(domParam));
88 	meta->validate();
89 
90 	return meta;
91 }
92 
93 } // ColladaDOM150
94