1 /* 2 * Copyright 2006 Sony Computer Entertainment Inc. 3 * 4 * Licensed under the MIT Open Source License, for details please see license.txt or the website 5 * http://www.opensource.org/licenses/mit-license.php 6 * 7 */ 8 9 #include <dae.h> 10 #include <dae/daeDom.h> 11 #include <dom/domFx_surface_common.h> 12 #include <dae/daeMetaCMPolicy.h> 13 #include <dae/daeMetaSequence.h> 14 #include <dae/daeMetaChoice.h> 15 #include <dae/daeMetaGroup.h> 16 #include <dae/daeMetaAny.h> 17 #include <dae/daeMetaElementAttribute.h> 18 19 daeElementRef 20 domFx_surface_common::create(DAE& dae) 21 { 22 domFx_surface_commonRef ref = new domFx_surface_common(dae); 23 return ref; 24 } 25 26 27 daeMetaElement * 28 domFx_surface_common::registerElement(DAE& dae) 29 { 30 daeMetaElement* meta = dae.getMeta(ID()); 31 if ( meta != NULL ) return meta; 32 33 meta = new daeMetaElement(dae); 34 dae.setMeta(ID(), *meta); 35 meta->setName( "fx_surface_common" ); 36 meta->registerClass(domFx_surface_common::create); 37 38 daeMetaCMPolicy *cm = NULL; 39 daeMetaElementAttribute *mea = NULL; 40 cm = new daeMetaSequence( meta, cm, 0, 1, 1 ); 41 42 mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 ); 43 mea->setName( "fx_surface_init_common" ); 44 mea->setOffset( daeOffsetOf(domFx_surface_common,elemFx_surface_init_common) ); 45 mea->setElementType( domFx_surface_init_common::registerElement(dae) ); 46 cm->appendChild( new daeMetaGroup( mea, meta, cm, 0, 0, 1 ) ); 47 48 mea = new daeMetaElementAttribute( meta, cm, 1, 0, 1 ); 49 mea->setName( "format" ); 50 mea->setOffset( daeOffsetOf(domFx_surface_common,elemFormat) ); 51 mea->setElementType( domFx_surface_common::domFormat::registerElement(dae) ); 52 cm->appendChild( mea ); 53 54 mea = new daeMetaElementAttribute( meta, cm, 2, 0, 1 ); 55 mea->setName( "format_hint" ); 56 mea->setOffset( daeOffsetOf(domFx_surface_common,elemFormat_hint) ); 57 mea->setElementType( domFx_surface_format_hint_common::registerElement(dae) ); 58 cm->appendChild( mea ); 59 60 cm = new daeMetaChoice( meta, cm, 0, 3, 0, 1 ); 61 62 mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 ); 63 mea->setName( "size" ); 64 mea->setOffset( daeOffsetOf(domFx_surface_common,elemSize) ); 65 mea->setElementType( domFx_surface_common::domSize::registerElement(dae) ); 66 cm->appendChild( mea ); 67 68 mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 ); 69 mea->setName( "viewport_ratio" ); 70 mea->setOffset( daeOffsetOf(domFx_surface_common,elemViewport_ratio) ); 71 mea->setElementType( domFx_surface_common::domViewport_ratio::registerElement(dae) ); 72 cm->appendChild( mea ); 73 74 cm->setMaxOrdinal( 0 ); 75 cm->getParent()->appendChild( cm ); 76 cm = cm->getParent(); 77 78 mea = new daeMetaElementAttribute( meta, cm, 4, 0, 1 ); 79 mea->setName( "mip_levels" ); 80 mea->setOffset( daeOffsetOf(domFx_surface_common,elemMip_levels) ); 81 mea->setElementType( domFx_surface_common::domMip_levels::registerElement(dae) ); 82 cm->appendChild( mea ); 83 84 mea = new daeMetaElementAttribute( meta, cm, 5, 0, 1 ); 85 mea->setName( "mipmap_generate" ); 86 mea->setOffset( daeOffsetOf(domFx_surface_common,elemMipmap_generate) ); 87 mea->setElementType( domFx_surface_common::domMipmap_generate::registerElement(dae) ); 88 cm->appendChild( mea ); 89 90 mea = new daeMetaElementArrayAttribute( meta, cm, 6, 0, -1 ); 91 mea->setName( "extra" ); 92 mea->setOffset( daeOffsetOf(domFx_surface_common,elemExtra_array) ); 93 mea->setElementType( domExtra::registerElement(dae) ); 94 cm->appendChild( mea ); 95 96 cm->setMaxOrdinal( 6 ); 97 meta->setCMRoot( cm ); 98 // Ordered list of sub-elements 99 meta->addContents(daeOffsetOf(domFx_surface_common,_contents)); 100 meta->addContentsOrder(daeOffsetOf(domFx_surface_common,_contentsOrder)); 101 102 meta->addCMDataArray(daeOffsetOf(domFx_surface_common,_CMData), 1); 103 // Add attribute: type 104 { 105 daeMetaAttribute *ma = new daeMetaAttribute; 106 ma->setName( "type" ); 107 ma->setType( dae.getAtomicTypes().get("Fx_surface_type_enum")); 108 ma->setOffset( daeOffsetOf( domFx_surface_common , attrType )); 109 ma->setContainer( meta ); 110 ma->setIsRequired( true ); 111 112 meta->appendAttribute(ma); 113 } 114 115 meta->setElementSize(sizeof(domFx_surface_common)); 116 meta->validate(); 117 118 return meta; 119 } 120 121 daeElementRef 122 domFx_surface_common::domFormat::create(DAE& dae) 123 { 124 domFx_surface_common::domFormatRef ref = new domFx_surface_common::domFormat(dae); 125 return ref; 126 } 127 128 129 daeMetaElement * 130 domFx_surface_common::domFormat::registerElement(DAE& dae) 131 { 132 daeMetaElement* meta = dae.getMeta(ID()); 133 if ( meta != NULL ) return meta; 134 135 meta = new daeMetaElement(dae); 136 dae.setMeta(ID(), *meta); 137 meta->setName( "format" ); 138 meta->registerClass(domFx_surface_common::domFormat::create); 139 140 meta->setIsInnerClass( true ); 141 // Add attribute: _value 142 { 143 daeMetaAttribute *ma = new daeMetaAttribute; 144 ma->setName( "_value" ); 145 ma->setType( dae.getAtomicTypes().get("xsToken")); 146 ma->setOffset( daeOffsetOf( domFx_surface_common::domFormat , _value )); 147 ma->setContainer( meta ); 148 meta->appendAttribute(ma); 149 } 150 151 meta->setElementSize(sizeof(domFx_surface_common::domFormat)); 152 meta->validate(); 153 154 return meta; 155 } 156 157 daeElementRef 158 domFx_surface_common::domSize::create(DAE& dae) 159 { 160 domFx_surface_common::domSizeRef ref = new domFx_surface_common::domSize(dae); 161 return ref; 162 } 163 164 165 daeMetaElement * 166 domFx_surface_common::domSize::registerElement(DAE& dae) 167 { 168 daeMetaElement* meta = dae.getMeta(ID()); 169 if ( meta != NULL ) return meta; 170 171 meta = new daeMetaElement(dae); 172 dae.setMeta(ID(), *meta); 173 meta->setName( "size" ); 174 meta->registerClass(domFx_surface_common::domSize::create); 175 176 meta->setIsInnerClass( true ); 177 // Add attribute: _value 178 { 179 daeMetaAttribute *ma = new daeMetaArrayAttribute; 180 ma->setName( "_value" ); 181 ma->setType( dae.getAtomicTypes().get("Int3")); 182 ma->setOffset( daeOffsetOf( domFx_surface_common::domSize , _value )); 183 ma->setContainer( meta ); 184 meta->appendAttribute(ma); 185 } 186 187 meta->setElementSize(sizeof(domFx_surface_common::domSize)); 188 meta->validate(); 189 190 return meta; 191 } 192 193 daeElementRef 194 domFx_surface_common::domViewport_ratio::create(DAE& dae) 195 { 196 domFx_surface_common::domViewport_ratioRef ref = new domFx_surface_common::domViewport_ratio(dae); 197 return ref; 198 } 199 200 201 daeMetaElement * 202 domFx_surface_common::domViewport_ratio::registerElement(DAE& dae) 203 { 204 daeMetaElement* meta = dae.getMeta(ID()); 205 if ( meta != NULL ) return meta; 206 207 meta = new daeMetaElement(dae); 208 dae.setMeta(ID(), *meta); 209 meta->setName( "viewport_ratio" ); 210 meta->registerClass(domFx_surface_common::domViewport_ratio::create); 211 212 meta->setIsInnerClass( true ); 213 // Add attribute: _value 214 { 215 daeMetaAttribute *ma = new daeMetaArrayAttribute; 216 ma->setName( "_value" ); 217 ma->setType( dae.getAtomicTypes().get("Float2")); 218 ma->setOffset( daeOffsetOf( domFx_surface_common::domViewport_ratio , _value )); 219 ma->setContainer( meta ); 220 meta->appendAttribute(ma); 221 } 222 223 meta->setElementSize(sizeof(domFx_surface_common::domViewport_ratio)); 224 meta->validate(); 225 226 return meta; 227 } 228 229 daeElementRef 230 domFx_surface_common::domMip_levels::create(DAE& dae) 231 { 232 domFx_surface_common::domMip_levelsRef ref = new domFx_surface_common::domMip_levels(dae); 233 return ref; 234 } 235 236 237 daeMetaElement * 238 domFx_surface_common::domMip_levels::registerElement(DAE& dae) 239 { 240 daeMetaElement* meta = dae.getMeta(ID()); 241 if ( meta != NULL ) return meta; 242 243 meta = new daeMetaElement(dae); 244 dae.setMeta(ID(), *meta); 245 meta->setName( "mip_levels" ); 246 meta->registerClass(domFx_surface_common::domMip_levels::create); 247 248 meta->setIsInnerClass( true ); 249 // Add attribute: _value 250 { 251 daeMetaAttribute *ma = new daeMetaAttribute; 252 ma->setName( "_value" ); 253 ma->setType( dae.getAtomicTypes().get("xsUnsignedInt")); 254 ma->setOffset( daeOffsetOf( domFx_surface_common::domMip_levels , _value )); 255 ma->setContainer( meta ); 256 meta->appendAttribute(ma); 257 } 258 259 meta->setElementSize(sizeof(domFx_surface_common::domMip_levels)); 260 meta->validate(); 261 262 return meta; 263 } 264 265 daeElementRef 266 domFx_surface_common::domMipmap_generate::create(DAE& dae) 267 { 268 domFx_surface_common::domMipmap_generateRef ref = new domFx_surface_common::domMipmap_generate(dae); 269 return ref; 270 } 271 272 273 daeMetaElement * 274 domFx_surface_common::domMipmap_generate::registerElement(DAE& dae) 275 { 276 daeMetaElement* meta = dae.getMeta(ID()); 277 if ( meta != NULL ) return meta; 278 279 meta = new daeMetaElement(dae); 280 dae.setMeta(ID(), *meta); 281 meta->setName( "mipmap_generate" ); 282 meta->registerClass(domFx_surface_common::domMipmap_generate::create); 283 284 meta->setIsInnerClass( true ); 285 // Add attribute: _value 286 { 287 daeMetaAttribute *ma = new daeMetaAttribute; 288 ma->setName( "_value" ); 289 ma->setType( dae.getAtomicTypes().get("xsBoolean")); 290 ma->setOffset( daeOffsetOf( domFx_surface_common::domMipmap_generate , _value )); 291 ma->setContainer( meta ); 292 meta->appendAttribute(ma); 293 } 294 295 meta->setElementSize(sizeof(domFx_surface_common::domMipmap_generate)); 296 meta->validate(); 297 298 return meta; 299 } 300 301