1 #include <dae.h> 2 #include <dae/daeDom.h> 3 #include <1.5/dom/domInt_array.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)14domInt_array::create(DAE& dae) 15 { 16 domInt_arrayRef ref = new domInt_array(dae); 17 return ref; 18 } 19 20 21 daeMetaElement * registerElement(DAE & dae)22domInt_array::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( "int_array" ); 30 meta->registerClass(domInt_array::create); 31 32 // Add attribute: _value 33 { 34 daeMetaAttribute *ma = new daeMetaArrayAttribute; 35 ma->setName( "_value" ); 36 ma->setType( dae.getAtomicTypes().get("List_of_ints")); 37 ma->setOffset( daeOffsetOf( domInt_array , _value )); 38 ma->setContainer( meta ); 39 meta->appendAttribute(ma); 40 } 41 42 // Add attribute: id 43 { 44 daeMetaAttribute *ma = new daeMetaAttribute; 45 ma->setName( "id" ); 46 ma->setType( dae.getAtomicTypes().get("xsID")); 47 ma->setOffset( daeOffsetOf( domInt_array , attrId )); 48 ma->setContainer( meta ); 49 50 meta->appendAttribute(ma); 51 } 52 53 // Add attribute: name 54 { 55 daeMetaAttribute *ma = new daeMetaAttribute; 56 ma->setName( "name" ); 57 ma->setType( dae.getAtomicTypes().get("xsToken")); 58 ma->setOffset( daeOffsetOf( domInt_array , attrName )); 59 ma->setContainer( meta ); 60 61 meta->appendAttribute(ma); 62 } 63 64 // Add attribute: count 65 { 66 daeMetaAttribute *ma = new daeMetaAttribute; 67 ma->setName( "count" ); 68 ma->setType( dae.getAtomicTypes().get("Uint")); 69 ma->setOffset( daeOffsetOf( domInt_array , attrCount )); 70 ma->setContainer( meta ); 71 ma->setIsRequired( true ); 72 73 meta->appendAttribute(ma); 74 } 75 76 // Add attribute: minInclusive 77 { 78 daeMetaAttribute *ma = new daeMetaAttribute; 79 ma->setName( "minInclusive" ); 80 ma->setType( dae.getAtomicTypes().get("xsInteger")); 81 ma->setOffset( daeOffsetOf( domInt_array , attrMinInclusive )); 82 ma->setContainer( meta ); 83 ma->setDefaultString( "-2147483648"); 84 85 meta->appendAttribute(ma); 86 } 87 88 // Add attribute: maxInclusive 89 { 90 daeMetaAttribute *ma = new daeMetaAttribute; 91 ma->setName( "maxInclusive" ); 92 ma->setType( dae.getAtomicTypes().get("xsInteger")); 93 ma->setOffset( daeOffsetOf( domInt_array , attrMaxInclusive )); 94 ma->setContainer( meta ); 95 ma->setDefaultString( "2147483647"); 96 97 meta->appendAttribute(ma); 98 } 99 100 meta->setElementSize(sizeof(domInt_array)); 101 meta->validate(); 102 103 return meta; 104 } 105 106 } // ColladaDOM150 107