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 <1.4/dom/domInstance_rigid_body.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
20 namespace ColladaDOM141 {
21 daeElementRef
create(DAE & dae)22 domInstance_rigid_body::create(DAE& dae)
23 {
24 domInstance_rigid_bodyRef ref = new domInstance_rigid_body(dae);
25 return ref;
26 }
27
28
29 daeMetaElement *
registerElement(DAE & dae)30 domInstance_rigid_body::registerElement(DAE& dae)
31 {
32 daeMetaElement* meta = dae.getMeta(ID());
33 if ( meta != NULL ) return meta;
34
35 meta = new daeMetaElement(dae);
36 dae.setMeta(ID(), *meta);
37 meta->setName( "instance_rigid_body" );
38 meta->registerClass(domInstance_rigid_body::create);
39
40 daeMetaCMPolicy *cm = NULL;
41 daeMetaElementAttribute *mea = NULL;
42 cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
43
44 mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
45 mea->setName( "technique_common" );
46 mea->setOffset( daeOffsetOf(domInstance_rigid_body,elemTechnique_common) );
47 mea->setElementType( domInstance_rigid_body::domTechnique_common::registerElement(dae) );
48 cm->appendChild( mea );
49
50 mea = new daeMetaElementArrayAttribute( meta, cm, 1, 0, -1 );
51 mea->setName( "technique" );
52 mea->setOffset( daeOffsetOf(domInstance_rigid_body,elemTechnique_array) );
53 mea->setElementType( domTechnique::registerElement(dae) );
54 cm->appendChild( mea );
55
56 mea = new daeMetaElementArrayAttribute( meta, cm, 2, 0, -1 );
57 mea->setName( "extra" );
58 mea->setOffset( daeOffsetOf(domInstance_rigid_body,elemExtra_array) );
59 mea->setElementType( domExtra::registerElement(dae) );
60 cm->appendChild( mea );
61
62 cm->setMaxOrdinal( 2 );
63 meta->setCMRoot( cm );
64
65 // Add attribute: body
66 {
67 daeMetaAttribute *ma = new daeMetaAttribute;
68 ma->setName( "body" );
69 ma->setType( dae.getAtomicTypes().get("xsNCName"));
70 ma->setOffset( daeOffsetOf( domInstance_rigid_body , attrBody ));
71 ma->setContainer( meta );
72 ma->setIsRequired( true );
73
74 meta->appendAttribute(ma);
75 }
76
77 // Add attribute: sid
78 {
79 daeMetaAttribute *ma = new daeMetaAttribute;
80 ma->setName( "sid" );
81 ma->setType( dae.getAtomicTypes().get("xsNCName"));
82 ma->setOffset( daeOffsetOf( domInstance_rigid_body , attrSid ));
83 ma->setContainer( meta );
84
85 meta->appendAttribute(ma);
86 }
87
88 // Add attribute: name
89 {
90 daeMetaAttribute *ma = new daeMetaAttribute;
91 ma->setName( "name" );
92 ma->setType( dae.getAtomicTypes().get("xsNCName"));
93 ma->setOffset( daeOffsetOf( domInstance_rigid_body , attrName ));
94 ma->setContainer( meta );
95
96 meta->appendAttribute(ma);
97 }
98
99 // Add attribute: target
100 {
101 daeMetaAttribute *ma = new daeMetaAttribute;
102 ma->setName( "target" );
103 ma->setType( dae.getAtomicTypes().get("xsAnyURI"));
104 ma->setOffset( daeOffsetOf( domInstance_rigid_body , attrTarget ));
105 ma->setContainer( meta );
106 ma->setIsRequired( true );
107
108 meta->appendAttribute(ma);
109 }
110
111 meta->setElementSize(sizeof(domInstance_rigid_body));
112 meta->validate();
113
114 return meta;
115 }
116
117 daeElementRef
create(DAE & dae)118 domInstance_rigid_body::domTechnique_common::create(DAE& dae)
119 {
120 domInstance_rigid_body::domTechnique_commonRef ref = new domInstance_rigid_body::domTechnique_common(dae);
121 return ref;
122 }
123
124
125 daeMetaElement *
registerElement(DAE & dae)126 domInstance_rigid_body::domTechnique_common::registerElement(DAE& dae)
127 {
128 daeMetaElement* meta = dae.getMeta(ID());
129 if ( meta != NULL ) return meta;
130
131 meta = new daeMetaElement(dae);
132 dae.setMeta(ID(), *meta);
133 meta->setName( "technique_common" );
134 meta->registerClass(domInstance_rigid_body::domTechnique_common::create);
135
136 meta->setIsInnerClass( true );
137 daeMetaCMPolicy *cm = NULL;
138 daeMetaElementAttribute *mea = NULL;
139 cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
140
141 mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
142 mea->setName( "angular_velocity" );
143 mea->setOffset( daeOffsetOf(domInstance_rigid_body::domTechnique_common,elemAngular_velocity) );
144 mea->setElementType( domInstance_rigid_body::domTechnique_common::domAngular_velocity::registerElement(dae) );
145 cm->appendChild( mea );
146
147 mea = new daeMetaElementAttribute( meta, cm, 1, 0, 1 );
148 mea->setName( "velocity" );
149 mea->setOffset( daeOffsetOf(domInstance_rigid_body::domTechnique_common,elemVelocity) );
150 mea->setElementType( domInstance_rigid_body::domTechnique_common::domVelocity::registerElement(dae) );
151 cm->appendChild( mea );
152
153 mea = new daeMetaElementAttribute( meta, cm, 2, 0, 1 );
154 mea->setName( "dynamic" );
155 mea->setOffset( daeOffsetOf(domInstance_rigid_body::domTechnique_common,elemDynamic) );
156 mea->setElementType( domInstance_rigid_body::domTechnique_common::domDynamic::registerElement(dae) );
157 cm->appendChild( mea );
158
159 mea = new daeMetaElementAttribute( meta, cm, 3, 0, 1 );
160 mea->setName( "mass" );
161 mea->setOffset( daeOffsetOf(domInstance_rigid_body::domTechnique_common,elemMass) );
162 mea->setElementType( domTargetableFloat::registerElement(dae) );
163 cm->appendChild( mea );
164
165 mea = new daeMetaElementAttribute( meta, cm, 4, 0, 1 );
166 mea->setName( "mass_frame" );
167 mea->setOffset( daeOffsetOf(domInstance_rigid_body::domTechnique_common,elemMass_frame) );
168 mea->setElementType( domInstance_rigid_body::domTechnique_common::domMass_frame::registerElement(dae) );
169 cm->appendChild( mea );
170
171 mea = new daeMetaElementAttribute( meta, cm, 5, 0, 1 );
172 mea->setName( "inertia" );
173 mea->setOffset( daeOffsetOf(domInstance_rigid_body::domTechnique_common,elemInertia) );
174 mea->setElementType( domTargetableFloat3::registerElement(dae) );
175 cm->appendChild( mea );
176
177 cm = new daeMetaChoice( meta, cm, 0, 6, 0, 1 );
178
179 mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
180 mea->setName( "instance_physics_material" );
181 mea->setOffset( daeOffsetOf(domInstance_rigid_body::domTechnique_common,elemInstance_physics_material) );
182 mea->setElementType( domInstance_physics_material::registerElement(dae) );
183 cm->appendChild( mea );
184
185 mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
186 mea->setName( "physics_material" );
187 mea->setOffset( daeOffsetOf(domInstance_rigid_body::domTechnique_common,elemPhysics_material) );
188 mea->setElementType( domPhysics_material::registerElement(dae) );
189 cm->appendChild( mea );
190
191 cm->setMaxOrdinal( 0 );
192 cm->getParent()->appendChild( cm );
193 cm = cm->getParent();
194
195 mea = new daeMetaElementArrayAttribute( meta, cm, 7, 0, -1 );
196 mea->setName( "shape" );
197 mea->setOffset( daeOffsetOf(domInstance_rigid_body::domTechnique_common,elemShape_array) );
198 mea->setElementType( domInstance_rigid_body::domTechnique_common::domShape::registerElement(dae) );
199 cm->appendChild( mea );
200
201 cm->setMaxOrdinal( 7 );
202 meta->setCMRoot( cm );
203 // Ordered list of sub-elements
204 meta->addContents(daeOffsetOf(domInstance_rigid_body::domTechnique_common,_contents));
205 meta->addContentsOrder(daeOffsetOf(domInstance_rigid_body::domTechnique_common,_contentsOrder));
206
207 meta->addCMDataArray(daeOffsetOf(domInstance_rigid_body::domTechnique_common,_CMData), 1);
208 meta->setElementSize(sizeof(domInstance_rigid_body::domTechnique_common));
209 meta->validate();
210
211 return meta;
212 }
213
214 daeElementRef
create(DAE & dae)215 domInstance_rigid_body::domTechnique_common::domAngular_velocity::create(DAE& dae)
216 {
217 domInstance_rigid_body::domTechnique_common::domAngular_velocityRef ref = new domInstance_rigid_body::domTechnique_common::domAngular_velocity(dae);
218 return ref;
219 }
220
221
222 daeMetaElement *
registerElement(DAE & dae)223 domInstance_rigid_body::domTechnique_common::domAngular_velocity::registerElement(DAE& dae)
224 {
225 daeMetaElement* meta = dae.getMeta(ID());
226 if ( meta != NULL ) return meta;
227
228 meta = new daeMetaElement(dae);
229 dae.setMeta(ID(), *meta);
230 meta->setName( "angular_velocity" );
231 meta->registerClass(domInstance_rigid_body::domTechnique_common::domAngular_velocity::create);
232
233 meta->setIsInnerClass( true );
234 // Add attribute: _value
235 {
236 daeMetaAttribute *ma = new daeMetaArrayAttribute;
237 ma->setName( "_value" );
238 ma->setType( dae.getAtomicTypes().get("Float3"));
239 ma->setOffset( daeOffsetOf( domInstance_rigid_body::domTechnique_common::domAngular_velocity , _value ));
240 ma->setContainer( meta );
241 meta->appendAttribute(ma);
242 }
243
244 meta->setElementSize(sizeof(domInstance_rigid_body::domTechnique_common::domAngular_velocity));
245 meta->validate();
246
247 return meta;
248 }
249
250 daeElementRef
create(DAE & dae)251 domInstance_rigid_body::domTechnique_common::domVelocity::create(DAE& dae)
252 {
253 domInstance_rigid_body::domTechnique_common::domVelocityRef ref = new domInstance_rigid_body::domTechnique_common::domVelocity(dae);
254 return ref;
255 }
256
257
258 daeMetaElement *
registerElement(DAE & dae)259 domInstance_rigid_body::domTechnique_common::domVelocity::registerElement(DAE& dae)
260 {
261 daeMetaElement* meta = dae.getMeta(ID());
262 if ( meta != NULL ) return meta;
263
264 meta = new daeMetaElement(dae);
265 dae.setMeta(ID(), *meta);
266 meta->setName( "velocity" );
267 meta->registerClass(domInstance_rigid_body::domTechnique_common::domVelocity::create);
268
269 meta->setIsInnerClass( true );
270 // Add attribute: _value
271 {
272 daeMetaAttribute *ma = new daeMetaArrayAttribute;
273 ma->setName( "_value" );
274 ma->setType( dae.getAtomicTypes().get("Float3"));
275 ma->setOffset( daeOffsetOf( domInstance_rigid_body::domTechnique_common::domVelocity , _value ));
276 ma->setContainer( meta );
277 meta->appendAttribute(ma);
278 }
279
280 meta->setElementSize(sizeof(domInstance_rigid_body::domTechnique_common::domVelocity));
281 meta->validate();
282
283 return meta;
284 }
285
286 daeElementRef
create(DAE & dae)287 domInstance_rigid_body::domTechnique_common::domDynamic::create(DAE& dae)
288 {
289 domInstance_rigid_body::domTechnique_common::domDynamicRef ref = new domInstance_rigid_body::domTechnique_common::domDynamic(dae);
290 return ref;
291 }
292
293
294 daeMetaElement *
registerElement(DAE & dae)295 domInstance_rigid_body::domTechnique_common::domDynamic::registerElement(DAE& dae)
296 {
297 daeMetaElement* meta = dae.getMeta(ID());
298 if ( meta != NULL ) return meta;
299
300 meta = new daeMetaElement(dae);
301 dae.setMeta(ID(), *meta);
302 meta->setName( "dynamic" );
303 meta->registerClass(domInstance_rigid_body::domTechnique_common::domDynamic::create);
304
305 meta->setIsInnerClass( true );
306 // Add attribute: _value
307 {
308 daeMetaAttribute *ma = new daeMetaAttribute;
309 ma->setName( "_value" );
310 ma->setType( dae.getAtomicTypes().get("Bool"));
311 ma->setOffset( daeOffsetOf( domInstance_rigid_body::domTechnique_common::domDynamic , _value ));
312 ma->setContainer( meta );
313 meta->appendAttribute(ma);
314 }
315
316 // Add attribute: sid
317 {
318 daeMetaAttribute *ma = new daeMetaAttribute;
319 ma->setName( "sid" );
320 ma->setType( dae.getAtomicTypes().get("xsNCName"));
321 ma->setOffset( daeOffsetOf( domInstance_rigid_body::domTechnique_common::domDynamic , attrSid ));
322 ma->setContainer( meta );
323
324 meta->appendAttribute(ma);
325 }
326
327 meta->setElementSize(sizeof(domInstance_rigid_body::domTechnique_common::domDynamic));
328 meta->validate();
329
330 return meta;
331 }
332
333 daeElementRef
create(DAE & dae)334 domInstance_rigid_body::domTechnique_common::domMass_frame::create(DAE& dae)
335 {
336 domInstance_rigid_body::domTechnique_common::domMass_frameRef ref = new domInstance_rigid_body::domTechnique_common::domMass_frame(dae);
337 return ref;
338 }
339
340
341 daeMetaElement *
registerElement(DAE & dae)342 domInstance_rigid_body::domTechnique_common::domMass_frame::registerElement(DAE& dae)
343 {
344 daeMetaElement* meta = dae.getMeta(ID());
345 if ( meta != NULL ) return meta;
346
347 meta = new daeMetaElement(dae);
348 dae.setMeta(ID(), *meta);
349 meta->setName( "mass_frame" );
350 meta->registerClass(domInstance_rigid_body::domTechnique_common::domMass_frame::create);
351
352 meta->setIsInnerClass( true );
353 daeMetaCMPolicy *cm = NULL;
354 daeMetaElementAttribute *mea = NULL;
355 cm = new daeMetaChoice( meta, cm, 0, 0, 1, -1 );
356
357 mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
358 mea->setName( "translate" );
359 mea->setOffset( daeOffsetOf(domInstance_rigid_body::domTechnique_common::domMass_frame,elemTranslate_array) );
360 mea->setElementType( domTranslate::registerElement(dae) );
361 cm->appendChild( mea );
362
363 mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
364 mea->setName( "rotate" );
365 mea->setOffset( daeOffsetOf(domInstance_rigid_body::domTechnique_common::domMass_frame,elemRotate_array) );
366 mea->setElementType( domRotate::registerElement(dae) );
367 cm->appendChild( mea );
368
369 cm->setMaxOrdinal( 3000 );
370 meta->setCMRoot( cm );
371 // Ordered list of sub-elements
372 meta->addContents(daeOffsetOf(domInstance_rigid_body::domTechnique_common::domMass_frame,_contents));
373 meta->addContentsOrder(daeOffsetOf(domInstance_rigid_body::domTechnique_common::domMass_frame,_contentsOrder));
374
375 meta->addCMDataArray(daeOffsetOf(domInstance_rigid_body::domTechnique_common::domMass_frame,_CMData), 1);
376 meta->setElementSize(sizeof(domInstance_rigid_body::domTechnique_common::domMass_frame));
377 meta->validate();
378
379 return meta;
380 }
381
382 daeElementRef
create(DAE & dae)383 domInstance_rigid_body::domTechnique_common::domShape::create(DAE& dae)
384 {
385 domInstance_rigid_body::domTechnique_common::domShapeRef ref = new domInstance_rigid_body::domTechnique_common::domShape(dae);
386 return ref;
387 }
388
389
390 daeMetaElement *
registerElement(DAE & dae)391 domInstance_rigid_body::domTechnique_common::domShape::registerElement(DAE& dae)
392 {
393 daeMetaElement* meta = dae.getMeta(ID());
394 if ( meta != NULL ) return meta;
395
396 meta = new daeMetaElement(dae);
397 dae.setMeta(ID(), *meta);
398 meta->setName( "shape" );
399 meta->registerClass(domInstance_rigid_body::domTechnique_common::domShape::create);
400
401 meta->setIsInnerClass( true );
402 daeMetaCMPolicy *cm = NULL;
403 daeMetaElementAttribute *mea = NULL;
404 cm = new daeMetaSequence( meta, cm, 0, 1, 1 );
405
406 mea = new daeMetaElementAttribute( meta, cm, 0, 0, 1 );
407 mea->setName( "hollow" );
408 mea->setOffset( daeOffsetOf(domInstance_rigid_body::domTechnique_common::domShape,elemHollow) );
409 mea->setElementType( domInstance_rigid_body::domTechnique_common::domShape::domHollow::registerElement(dae) );
410 cm->appendChild( mea );
411
412 mea = new daeMetaElementAttribute( meta, cm, 1, 0, 1 );
413 mea->setName( "mass" );
414 mea->setOffset( daeOffsetOf(domInstance_rigid_body::domTechnique_common::domShape,elemMass) );
415 mea->setElementType( domTargetableFloat::registerElement(dae) );
416 cm->appendChild( mea );
417
418 mea = new daeMetaElementAttribute( meta, cm, 2, 0, 1 );
419 mea->setName( "density" );
420 mea->setOffset( daeOffsetOf(domInstance_rigid_body::domTechnique_common::domShape,elemDensity) );
421 mea->setElementType( domTargetableFloat::registerElement(dae) );
422 cm->appendChild( mea );
423
424 cm = new daeMetaChoice( meta, cm, 0, 3, 0, 1 );
425
426 mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
427 mea->setName( "instance_physics_material" );
428 mea->setOffset( daeOffsetOf(domInstance_rigid_body::domTechnique_common::domShape,elemInstance_physics_material) );
429 mea->setElementType( domInstance_physics_material::registerElement(dae) );
430 cm->appendChild( mea );
431
432 mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
433 mea->setName( "physics_material" );
434 mea->setOffset( daeOffsetOf(domInstance_rigid_body::domTechnique_common::domShape,elemPhysics_material) );
435 mea->setElementType( domPhysics_material::registerElement(dae) );
436 cm->appendChild( mea );
437
438 cm->setMaxOrdinal( 0 );
439 cm->getParent()->appendChild( cm );
440 cm = cm->getParent();
441
442 cm = new daeMetaChoice( meta, cm, 1, 4, 1, 1 );
443
444 mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
445 mea->setName( "instance_geometry" );
446 mea->setOffset( daeOffsetOf(domInstance_rigid_body::domTechnique_common::domShape,elemInstance_geometry) );
447 mea->setElementType( domInstance_geometry::registerElement(dae) );
448 cm->appendChild( mea );
449
450 mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
451 mea->setName( "plane" );
452 mea->setOffset( daeOffsetOf(domInstance_rigid_body::domTechnique_common::domShape,elemPlane) );
453 mea->setElementType( domPlane::registerElement(dae) );
454 cm->appendChild( mea );
455
456 mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
457 mea->setName( "box" );
458 mea->setOffset( daeOffsetOf(domInstance_rigid_body::domTechnique_common::domShape,elemBox) );
459 mea->setElementType( domBox::registerElement(dae) );
460 cm->appendChild( mea );
461
462 mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
463 mea->setName( "sphere" );
464 mea->setOffset( daeOffsetOf(domInstance_rigid_body::domTechnique_common::domShape,elemSphere) );
465 mea->setElementType( domSphere::registerElement(dae) );
466 cm->appendChild( mea );
467
468 mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
469 mea->setName( "cylinder" );
470 mea->setOffset( daeOffsetOf(domInstance_rigid_body::domTechnique_common::domShape,elemCylinder) );
471 mea->setElementType( domCylinder::registerElement(dae) );
472 cm->appendChild( mea );
473
474 mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
475 mea->setName( "tapered_cylinder" );
476 mea->setOffset( daeOffsetOf(domInstance_rigid_body::domTechnique_common::domShape,elemTapered_cylinder) );
477 mea->setElementType( domTapered_cylinder::registerElement(dae) );
478 cm->appendChild( mea );
479
480 mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
481 mea->setName( "capsule" );
482 mea->setOffset( daeOffsetOf(domInstance_rigid_body::domTechnique_common::domShape,elemCapsule) );
483 mea->setElementType( domCapsule::registerElement(dae) );
484 cm->appendChild( mea );
485
486 mea = new daeMetaElementAttribute( meta, cm, 0, 1, 1 );
487 mea->setName( "tapered_capsule" );
488 mea->setOffset( daeOffsetOf(domInstance_rigid_body::domTechnique_common::domShape,elemTapered_capsule) );
489 mea->setElementType( domTapered_capsule::registerElement(dae) );
490 cm->appendChild( mea );
491
492 cm->setMaxOrdinal( 0 );
493 cm->getParent()->appendChild( cm );
494 cm = cm->getParent();
495
496 cm = new daeMetaChoice( meta, cm, 2, 5, 0, -1 );
497
498 mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
499 mea->setName( "translate" );
500 mea->setOffset( daeOffsetOf(domInstance_rigid_body::domTechnique_common::domShape,elemTranslate_array) );
501 mea->setElementType( domTranslate::registerElement(dae) );
502 cm->appendChild( mea );
503
504 mea = new daeMetaElementArrayAttribute( meta, cm, 0, 1, 1 );
505 mea->setName( "rotate" );
506 mea->setOffset( daeOffsetOf(domInstance_rigid_body::domTechnique_common::domShape,elemRotate_array) );
507 mea->setElementType( domRotate::registerElement(dae) );
508 cm->appendChild( mea );
509
510 cm->setMaxOrdinal( 0 );
511 cm->getParent()->appendChild( cm );
512 cm = cm->getParent();
513
514 mea = new daeMetaElementArrayAttribute( meta, cm, 3006, 0, -1 );
515 mea->setName( "extra" );
516 mea->setOffset( daeOffsetOf(domInstance_rigid_body::domTechnique_common::domShape,elemExtra_array) );
517 mea->setElementType( domExtra::registerElement(dae) );
518 cm->appendChild( mea );
519
520 cm->setMaxOrdinal( 3006 );
521 meta->setCMRoot( cm );
522 // Ordered list of sub-elements
523 meta->addContents(daeOffsetOf(domInstance_rigid_body::domTechnique_common::domShape,_contents));
524 meta->addContentsOrder(daeOffsetOf(domInstance_rigid_body::domTechnique_common::domShape,_contentsOrder));
525
526 meta->addCMDataArray(daeOffsetOf(domInstance_rigid_body::domTechnique_common::domShape,_CMData), 3);
527 meta->setElementSize(sizeof(domInstance_rigid_body::domTechnique_common::domShape));
528 meta->validate();
529
530 return meta;
531 }
532
533 daeElementRef
create(DAE & dae)534 domInstance_rigid_body::domTechnique_common::domShape::domHollow::create(DAE& dae)
535 {
536 domInstance_rigid_body::domTechnique_common::domShape::domHollowRef ref = new domInstance_rigid_body::domTechnique_common::domShape::domHollow(dae);
537 return ref;
538 }
539
540
541 daeMetaElement *
registerElement(DAE & dae)542 domInstance_rigid_body::domTechnique_common::domShape::domHollow::registerElement(DAE& dae)
543 {
544 daeMetaElement* meta = dae.getMeta(ID());
545 if ( meta != NULL ) return meta;
546
547 meta = new daeMetaElement(dae);
548 dae.setMeta(ID(), *meta);
549 meta->setName( "hollow" );
550 meta->registerClass(domInstance_rigid_body::domTechnique_common::domShape::domHollow::create);
551
552 meta->setIsInnerClass( true );
553 // Add attribute: _value
554 {
555 daeMetaAttribute *ma = new daeMetaAttribute;
556 ma->setName( "_value" );
557 ma->setType( dae.getAtomicTypes().get("Bool"));
558 ma->setOffset( daeOffsetOf( domInstance_rigid_body::domTechnique_common::domShape::domHollow , _value ));
559 ma->setContainer( meta );
560 meta->appendAttribute(ma);
561 }
562
563 // Add attribute: sid
564 {
565 daeMetaAttribute *ma = new daeMetaAttribute;
566 ma->setName( "sid" );
567 ma->setType( dae.getAtomicTypes().get("xsNCName"));
568 ma->setOffset( daeOffsetOf( domInstance_rigid_body::domTechnique_common::domShape::domHollow , attrSid ));
569 ma->setContainer( meta );
570
571 meta->appendAttribute(ma);
572 }
573
574 meta->setElementSize(sizeof(domInstance_rigid_body::domTechnique_common::domShape::domHollow));
575 meta->validate();
576
577 return meta;
578 }
579
580 } // ColladaDOM141
581