00001
00002
00003
00004
00005
00006
00007
00008
00009 #ifndef __domInstance_rigid_body_h__
00010 #define __domInstance_rigid_body_h__
00011
00012 #include <dae/daeDocument.h>
00013 #include <dom/domTypes.h>
00014 #include <dom/domElements.h>
00015
00016 #include <dom/domTechnique.h>
00017 #include <dom/domExtra.h>
00018 #include <dom/domInstance_physics_material.h>
00019 #include <dom/domPhysics_material.h>
00020 #include <dom/domTargetableFloat.h>
00021 #include <dom/domTranslate.h>
00022 #include <dom/domRotate.h>
00023 #include <dom/domTargetableFloat3.h>
00024 #include <dom/domInstance_geometry.h>
00025 #include <dom/domPlane.h>
00026 #include <dom/domBox.h>
00027 #include <dom/domSphere.h>
00028 #include <dom/domCylinder.h>
00029 #include <dom/domTapered_cylinder.h>
00030 #include <dom/domCapsule.h>
00031 #include <dom/domTapered_capsule.h>
00032 class DAE;
00033
00037 class domInstance_rigid_body : public daeElement
00038 {
00039 public:
00040 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::INSTANCE_RIGID_BODY; }
00041 static daeInt ID() { return 703; }
00042 virtual daeInt typeID() const { return ID(); }
00043 public:
00044 class domTechnique_common;
00045
00046 typedef daeSmartRef<domTechnique_common> domTechnique_commonRef;
00047 typedef daeTArray<domTechnique_commonRef> domTechnique_common_Array;
00048
00053 class domTechnique_common : public daeElement
00054 {
00055 public:
00056 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::TECHNIQUE_COMMON; }
00057 static daeInt ID() { return 704; }
00058 virtual daeInt typeID() const { return ID(); }
00059 public:
00060 class domAngular_velocity;
00061
00062 typedef daeSmartRef<domAngular_velocity> domAngular_velocityRef;
00063 typedef daeTArray<domAngular_velocityRef> domAngular_velocity_Array;
00064
00069 class domAngular_velocity : public daeElement
00070 {
00071 public:
00072 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::ANGULAR_VELOCITY; }
00073 static daeInt ID() { return 705; }
00074 virtual daeInt typeID() const { return ID(); }
00075
00076 protected:
00080 domFloat3 _value;
00081
00082 public:
00087 domFloat3 &getValue() { return _value; }
00092 const domFloat3 &getValue() const { return _value; }
00097 void setValue( const domFloat3 &val ) { _value = val; }
00098
00099 protected:
00103 domAngular_velocity(DAE& dae) : daeElement(dae), _value() {}
00107 virtual ~domAngular_velocity() {}
00111 virtual domAngular_velocity &operator=( const domAngular_velocity &cpy ) { (void)cpy; return *this; }
00112
00113 public:
00118 static DLLSPEC daeElementRef create(DAE& dae);
00124 static DLLSPEC daeMetaElement* registerElement(DAE& dae);
00125 };
00126
00127 class domVelocity;
00128
00129 typedef daeSmartRef<domVelocity> domVelocityRef;
00130 typedef daeTArray<domVelocityRef> domVelocity_Array;
00131
00135 class domVelocity : public daeElement
00136 {
00137 public:
00138 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::VELOCITY; }
00139 static daeInt ID() { return 706; }
00140 virtual daeInt typeID() const { return ID(); }
00141
00142 protected:
00146 domFloat3 _value;
00147
00148 public:
00153 domFloat3 &getValue() { return _value; }
00158 const domFloat3 &getValue() const { return _value; }
00163 void setValue( const domFloat3 &val ) { _value = val; }
00164
00165 protected:
00169 domVelocity(DAE& dae) : daeElement(dae), _value() {}
00173 virtual ~domVelocity() {}
00177 virtual domVelocity &operator=( const domVelocity &cpy ) { (void)cpy; return *this; }
00178
00179 public:
00184 static DLLSPEC daeElementRef create(DAE& dae);
00190 static DLLSPEC daeMetaElement* registerElement(DAE& dae);
00191 };
00192
00193 class domDynamic;
00194
00195 typedef daeSmartRef<domDynamic> domDynamicRef;
00196 typedef daeTArray<domDynamicRef> domDynamic_Array;
00197
00198 class domDynamic : public daeElement
00199 {
00200 public:
00201 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::DYNAMIC; }
00202 static daeInt ID() { return 707; }
00203 virtual daeInt typeID() const { return ID(); }
00204 protected:
00210 xsNCName attrSid;
00211
00212 protected:
00216 domBool _value;
00217
00218 public:
00223 xsNCName getSid() const { return attrSid; }
00228 void setSid( xsNCName atSid ) { *(daeStringRef*)&attrSid = atSid; _validAttributeArray[0] = true; }
00229
00234 domBool getValue() const { return _value; }
00239 void setValue( domBool val ) { _value = val; }
00240
00241 protected:
00245 domDynamic(DAE& dae) : daeElement(dae), attrSid(), _value() {}
00249 virtual ~domDynamic() {}
00253 virtual domDynamic &operator=( const domDynamic &cpy ) { (void)cpy; return *this; }
00254
00255 public:
00260 static DLLSPEC daeElementRef create(DAE& dae);
00266 static DLLSPEC daeMetaElement* registerElement(DAE& dae);
00267 };
00268
00269 class domMass_frame;
00270
00271 typedef daeSmartRef<domMass_frame> domMass_frameRef;
00272 typedef daeTArray<domMass_frameRef> domMass_frame_Array;
00273
00274 class domMass_frame : public daeElement
00275 {
00276 public:
00277 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::MASS_FRAME; }
00278 static daeInt ID() { return 708; }
00279 virtual daeInt typeID() const { return ID(); }
00280
00281 protected:
00282 domTranslate_Array elemTranslate_array;
00283 domRotate_Array elemRotate_array;
00287 daeElementRefArray _contents;
00291 daeUIntArray _contentsOrder;
00292
00296 daeTArray< daeCharArray * > _CMData;
00297
00298
00299 public:
00304 domTranslate_Array &getTranslate_array() { return elemTranslate_array; }
00309 const domTranslate_Array &getTranslate_array() const { return elemTranslate_array; }
00314 domRotate_Array &getRotate_array() { return elemRotate_array; }
00319 const domRotate_Array &getRotate_array() const { return elemRotate_array; }
00324 daeElementRefArray &getContents() { return _contents; }
00329 const daeElementRefArray &getContents() const { return _contents; }
00330
00331 protected:
00335 domMass_frame(DAE& dae) : daeElement(dae), elemTranslate_array(), elemRotate_array() {}
00339 virtual ~domMass_frame() { daeElement::deleteCMDataArray(_CMData); }
00343 virtual domMass_frame &operator=( const domMass_frame &cpy ) { (void)cpy; return *this; }
00344
00345 public:
00350 static DLLSPEC daeElementRef create(DAE& dae);
00356 static DLLSPEC daeMetaElement* registerElement(DAE& dae);
00357 };
00358
00359 class domShape;
00360
00361 typedef daeSmartRef<domShape> domShapeRef;
00362 typedef daeTArray<domShapeRef> domShape_Array;
00363
00364 class domShape : public daeElement
00365 {
00366 public:
00367 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::SHAPE; }
00368 static daeInt ID() { return 709; }
00369 virtual daeInt typeID() const { return ID(); }
00370 public:
00371 class domHollow;
00372
00373 typedef daeSmartRef<domHollow> domHollowRef;
00374 typedef daeTArray<domHollowRef> domHollow_Array;
00375
00376 class domHollow : public daeElement
00377 {
00378 public:
00379 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::HOLLOW; }
00380 static daeInt ID() { return 710; }
00381 virtual daeInt typeID() const { return ID(); }
00382 protected:
00388 xsNCName attrSid;
00389
00390 protected:
00394 domBool _value;
00395
00396 public:
00401 xsNCName getSid() const { return attrSid; }
00406 void setSid( xsNCName atSid ) { *(daeStringRef*)&attrSid = atSid; _validAttributeArray[0] = true; }
00407
00412 domBool getValue() const { return _value; }
00417 void setValue( domBool val ) { _value = val; }
00418
00419 protected:
00423 domHollow(DAE& dae) : daeElement(dae), attrSid(), _value() {}
00427 virtual ~domHollow() {}
00431 virtual domHollow &operator=( const domHollow &cpy ) { (void)cpy; return *this; }
00432
00433 public:
00438 static DLLSPEC daeElementRef create(DAE& dae);
00444 static DLLSPEC daeMetaElement* registerElement(DAE& dae);
00445 };
00446
00447
00448
00449 protected:
00450 domHollowRef elemHollow;
00451 domTargetableFloatRef elemMass;
00452 domTargetableFloatRef elemDensity;
00453 domInstance_physics_materialRef elemInstance_physics_material;
00454 domPhysics_materialRef elemPhysics_material;
00455 domInstance_geometryRef elemInstance_geometry;
00456 domPlaneRef elemPlane;
00457 domBoxRef elemBox;
00458 domSphereRef elemSphere;
00459 domCylinderRef elemCylinder;
00460 domTapered_cylinderRef elemTapered_cylinder;
00461 domCapsuleRef elemCapsule;
00462 domTapered_capsuleRef elemTapered_capsule;
00463 domTranslate_Array elemTranslate_array;
00464 domRotate_Array elemRotate_array;
00468 domExtra_Array elemExtra_array;
00472 daeElementRefArray _contents;
00476 daeUIntArray _contentsOrder;
00477
00481 daeTArray< daeCharArray * > _CMData;
00482
00483
00484 public:
00489 const domHollowRef getHollow() const { return elemHollow; }
00494 const domTargetableFloatRef getMass() const { return elemMass; }
00499 const domTargetableFloatRef getDensity() const { return elemDensity; }
00504 const domInstance_physics_materialRef getInstance_physics_material() const { return elemInstance_physics_material; }
00509 const domPhysics_materialRef getPhysics_material() const { return elemPhysics_material; }
00514 const domInstance_geometryRef getInstance_geometry() const { return elemInstance_geometry; }
00519 const domPlaneRef getPlane() const { return elemPlane; }
00524 const domBoxRef getBox() const { return elemBox; }
00529 const domSphereRef getSphere() const { return elemSphere; }
00534 const domCylinderRef getCylinder() const { return elemCylinder; }
00539 const domTapered_cylinderRef getTapered_cylinder() const { return elemTapered_cylinder; }
00544 const domCapsuleRef getCapsule() const { return elemCapsule; }
00549 const domTapered_capsuleRef getTapered_capsule() const { return elemTapered_capsule; }
00554 domTranslate_Array &getTranslate_array() { return elemTranslate_array; }
00559 const domTranslate_Array &getTranslate_array() const { return elemTranslate_array; }
00564 domRotate_Array &getRotate_array() { return elemRotate_array; }
00569 const domRotate_Array &getRotate_array() const { return elemRotate_array; }
00574 domExtra_Array &getExtra_array() { return elemExtra_array; }
00579 const domExtra_Array &getExtra_array() const { return elemExtra_array; }
00584 daeElementRefArray &getContents() { return _contents; }
00589 const daeElementRefArray &getContents() const { return _contents; }
00590
00591 protected:
00595 domShape(DAE& dae) : daeElement(dae), elemHollow(), elemMass(), elemDensity(), elemInstance_physics_material(), elemPhysics_material(), elemInstance_geometry(), elemPlane(), elemBox(), elemSphere(), elemCylinder(), elemTapered_cylinder(), elemCapsule(), elemTapered_capsule(), elemTranslate_array(), elemRotate_array(), elemExtra_array() {}
00599 virtual ~domShape() { daeElement::deleteCMDataArray(_CMData); }
00603 virtual domShape &operator=( const domShape &cpy ) { (void)cpy; return *this; }
00604
00605 public:
00610 static DLLSPEC daeElementRef create(DAE& dae);
00616 static DLLSPEC daeMetaElement* registerElement(DAE& dae);
00617 };
00618
00619
00620
00621 protected:
00627 domAngular_velocityRef elemAngular_velocity;
00632 domVelocityRef elemVelocity;
00633 domDynamicRef elemDynamic;
00634 domTargetableFloatRef elemMass;
00635 domMass_frameRef elemMass_frame;
00636 domTargetableFloat3Ref elemInertia;
00637 domInstance_physics_materialRef elemInstance_physics_material;
00638 domPhysics_materialRef elemPhysics_material;
00639 domShape_Array elemShape_array;
00643 daeElementRefArray _contents;
00647 daeUIntArray _contentsOrder;
00648
00652 daeTArray< daeCharArray * > _CMData;
00653
00654
00655 public:
00660 const domAngular_velocityRef getAngular_velocity() const { return elemAngular_velocity; }
00665 const domVelocityRef getVelocity() const { return elemVelocity; }
00670 const domDynamicRef getDynamic() const { return elemDynamic; }
00675 const domTargetableFloatRef getMass() const { return elemMass; }
00680 const domMass_frameRef getMass_frame() const { return elemMass_frame; }
00685 const domTargetableFloat3Ref getInertia() const { return elemInertia; }
00690 const domInstance_physics_materialRef getInstance_physics_material() const { return elemInstance_physics_material; }
00695 const domPhysics_materialRef getPhysics_material() const { return elemPhysics_material; }
00700 domShape_Array &getShape_array() { return elemShape_array; }
00705 const domShape_Array &getShape_array() const { return elemShape_array; }
00710 daeElementRefArray &getContents() { return _contents; }
00715 const daeElementRefArray &getContents() const { return _contents; }
00716
00717 protected:
00721 domTechnique_common(DAE& dae) : daeElement(dae), elemAngular_velocity(), elemVelocity(), elemDynamic(), elemMass(), elemMass_frame(), elemInertia(), elemInstance_physics_material(), elemPhysics_material(), elemShape_array() {}
00725 virtual ~domTechnique_common() { daeElement::deleteCMDataArray(_CMData); }
00729 virtual domTechnique_common &operator=( const domTechnique_common &cpy ) { (void)cpy; return *this; }
00730
00731 public:
00736 static DLLSPEC daeElementRef create(DAE& dae);
00742 static DLLSPEC daeMetaElement* registerElement(DAE& dae);
00743 };
00744
00745
00746 protected:
00751 xsNCName attrBody;
00757 xsNCName attrSid;
00761 xsNCName attrName;
00766 xsAnyURI attrTarget;
00767
00768 protected:
00774 domTechnique_commonRef elemTechnique_common;
00779 domTechnique_Array elemTechnique_array;
00783 domExtra_Array elemExtra_array;
00784
00785 public:
00790 xsNCName getBody() const { return attrBody; }
00795 void setBody( xsNCName atBody ) { *(daeStringRef*)&attrBody = atBody; _validAttributeArray[0] = true; }
00796
00801 xsNCName getSid() const { return attrSid; }
00806 void setSid( xsNCName atSid ) { *(daeStringRef*)&attrSid = atSid; _validAttributeArray[1] = true; }
00807
00812 xsNCName getName() const { return attrName; }
00817 void setName( xsNCName atName ) { *(daeStringRef*)&attrName = atName; _validAttributeArray[2] = true; }
00818
00823 xsAnyURI &getTarget() { return attrTarget; }
00828 const xsAnyURI &getTarget() const { return attrTarget; }
00833 void setTarget( const xsAnyURI &atTarget ) { attrTarget = atTarget; _validAttributeArray[3] = true; }
00838 void setTarget( xsString atTarget ) { attrTarget = atTarget; _validAttributeArray[3] = true; }
00839
00844 const domTechnique_commonRef getTechnique_common() const { return elemTechnique_common; }
00849 domTechnique_Array &getTechnique_array() { return elemTechnique_array; }
00854 const domTechnique_Array &getTechnique_array() const { return elemTechnique_array; }
00859 domExtra_Array &getExtra_array() { return elemExtra_array; }
00864 const domExtra_Array &getExtra_array() const { return elemExtra_array; }
00865 protected:
00869 domInstance_rigid_body(DAE& dae) : daeElement(dae), attrBody(), attrSid(), attrName(), attrTarget(dae, *this), elemTechnique_common(), elemTechnique_array(), elemExtra_array() {}
00873 virtual ~domInstance_rigid_body() {}
00877 virtual domInstance_rigid_body &operator=( const domInstance_rigid_body &cpy ) { (void)cpy; return *this; }
00878
00879 public:
00884 static DLLSPEC daeElementRef create(DAE& dae);
00890 static DLLSPEC daeMetaElement* registerElement(DAE& dae);
00891 };
00892
00893
00894 #endif