00001 #ifndef __domInstance_rigid_body_h__
00002 #define __domInstance_rigid_body_h__
00003
00004 #include <dae/daeDocument.h>
00005 #include <dom/domTypes.h>
00006 #include <dom/domElements.h>
00007
00008 #include <dom/domTargetable_float.h>
00009 #include <dom/domTranslate.h>
00010 #include <dom/domRotate.h>
00011 #include <dom/domTargetable_float3.h>
00012 #include <dom/domInstance_physics_material.h>
00013 #include <dom/domPhysics_material.h>
00014 #include <dom/domInstance_geometry.h>
00015 #include <dom/domPlane.h>
00016 #include <dom/domBox.h>
00017 #include <dom/domSphere.h>
00018 #include <dom/domCylinder.h>
00019 #include <dom/domCapsule.h>
00020 #include <dom/domExtra.h>
00021 #include <dom/domTechnique.h>
00022 class DAE;
00023
00027 class domInstance_rigid_body : public daeElement
00028 {
00029 public:
00030 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::INSTANCE_RIGID_BODY; }
00031 static daeInt ID() { return 402; }
00032 virtual daeInt typeID() const { return ID(); }
00033 public:
00034 class domTechnique_common;
00035
00036 typedef daeSmartRef<domTechnique_common> domTechnique_commonRef;
00037 typedef daeTArray<domTechnique_commonRef> domTechnique_common_Array;
00038
00043 class domTechnique_common : public daeElement
00044 {
00045 public:
00046 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::TECHNIQUE_COMMON; }
00047 static daeInt ID() { return 403; }
00048 virtual daeInt typeID() const { return ID(); }
00049 public:
00050 class domAngular_velocity;
00051
00052 typedef daeSmartRef<domAngular_velocity> domAngular_velocityRef;
00053 typedef daeTArray<domAngular_velocityRef> domAngular_velocity_Array;
00054
00059 class domAngular_velocity : public daeElement
00060 {
00061 public:
00062 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::ANGULAR_VELOCITY; }
00063 static daeInt ID() { return 404; }
00064 virtual daeInt typeID() const { return ID(); }
00065
00066
00067 public:
00072 domFloat3& getValue() { return _value; }
00077 void setValue( const domFloat3& val ) { _value = val; }
00078
00079 protected:
00083 domFloat3 _value;
00084 protected:
00088 domAngular_velocity(DAE& dae) : daeElement(dae), _value() {}
00092 virtual ~domAngular_velocity() {}
00096 virtual domAngular_velocity &operator=( const domAngular_velocity &cpy ) { (void)cpy; return *this; }
00097
00098 public:
00103 static DLLSPEC daeElementRef create(DAE& dae);
00109 static DLLSPEC daeMetaElement* registerElement(DAE& dae);
00110 };
00111
00112 class domVelocity;
00113
00114 typedef daeSmartRef<domVelocity> domVelocityRef;
00115 typedef daeTArray<domVelocityRef> domVelocity_Array;
00116
00120 class domVelocity : public daeElement
00121 {
00122 public:
00123 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::VELOCITY; }
00124 static daeInt ID() { return 405; }
00125 virtual daeInt typeID() const { return ID(); }
00126
00127
00128 public:
00133 domFloat3& getValue() { return _value; }
00138 void setValue( const domFloat3& val ) { _value = val; }
00139
00140 protected:
00144 domFloat3 _value;
00145 protected:
00149 domVelocity(DAE& dae) : daeElement(dae), _value() {}
00153 virtual ~domVelocity() {}
00157 virtual domVelocity &operator=( const domVelocity &cpy ) { (void)cpy; return *this; }
00158
00159 public:
00164 static DLLSPEC daeElementRef create(DAE& dae);
00170 static DLLSPEC daeMetaElement* registerElement(DAE& dae);
00171 };
00172
00173 class domDynamic;
00174
00175 typedef daeSmartRef<domDynamic> domDynamicRef;
00176 typedef daeTArray<domDynamicRef> domDynamic_Array;
00177
00178 class domDynamic : public daeElement
00179 {
00180 public:
00181 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::DYNAMIC; }
00182 static daeInt ID() { return 406; }
00183 virtual daeInt typeID() const { return ID(); }
00184 protected:
00190 domSid attrSid;
00191
00192
00193 public:
00198 domSid getSid() const { return attrSid; }
00203 void setSid( domSid atSid ) { *(daeStringRef*)&attrSid = atSid; _validAttributeArray[0] = true; }
00204
00209 xsBoolean& getValue() { return _value; }
00214 void setValue( const xsBoolean& val ) { _value = val; }
00215
00216 protected:
00220 xsBoolean _value;
00221 protected:
00225 domDynamic(DAE& dae) : daeElement(dae), attrSid(), _value() {}
00229 virtual ~domDynamic() {}
00233 virtual domDynamic &operator=( const domDynamic &cpy ) { (void)cpy; return *this; }
00234
00235 public:
00240 static DLLSPEC daeElementRef create(DAE& dae);
00246 static DLLSPEC daeMetaElement* registerElement(DAE& dae);
00247 };
00248
00249 class domMass_frame;
00250
00251 typedef daeSmartRef<domMass_frame> domMass_frameRef;
00252 typedef daeTArray<domMass_frameRef> domMass_frame_Array;
00253
00254 class domMass_frame : public daeElement
00255 {
00256 public:
00257 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::MASS_FRAME; }
00258 static daeInt ID() { return 407; }
00259 virtual daeInt typeID() const { return ID(); }
00260
00261 protected:
00262 domTranslate_Array elemTranslate_array;
00263 domRotate_Array elemRotate_array;
00267 daeElementRefArray _contents;
00271 daeUIntArray _contentsOrder;
00272
00276 daeTArray< daeCharArray * > _CMData;
00277
00278
00279 public:
00284 domTranslate_Array &getTranslate_array() { return elemTranslate_array; }
00289 const domTranslate_Array &getTranslate_array() const { return elemTranslate_array; }
00294 domRotate_Array &getRotate_array() { return elemRotate_array; }
00299 const domRotate_Array &getRotate_array() const { return elemRotate_array; }
00304 daeElementRefArray &getContents() { return _contents; }
00309 const daeElementRefArray &getContents() const { return _contents; }
00310
00311 protected:
00315 domMass_frame(DAE& dae) : daeElement(dae), elemTranslate_array(), elemRotate_array() {}
00319 virtual ~domMass_frame() { daeElement::deleteCMDataArray(_CMData); }
00323 virtual domMass_frame &operator=( const domMass_frame &cpy ) { (void)cpy; return *this; }
00324
00325 public:
00330 static DLLSPEC daeElementRef create(DAE& dae);
00336 static DLLSPEC daeMetaElement* registerElement(DAE& dae);
00337 };
00338
00339 class domShape;
00340
00341 typedef daeSmartRef<domShape> domShapeRef;
00342 typedef daeTArray<domShapeRef> domShape_Array;
00343
00344 class domShape : public daeElement
00345 {
00346 public:
00347 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::SHAPE; }
00348 static daeInt ID() { return 408; }
00349 virtual daeInt typeID() const { return ID(); }
00350 public:
00351 class domHollow;
00352
00353 typedef daeSmartRef<domHollow> domHollowRef;
00354 typedef daeTArray<domHollowRef> domHollow_Array;
00355
00356 class domHollow : public daeElement
00357 {
00358 public:
00359 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::HOLLOW; }
00360 static daeInt ID() { return 409; }
00361 virtual daeInt typeID() const { return ID(); }
00362 protected:
00368 domSid attrSid;
00369
00370
00371 public:
00376 domSid getSid() const { return attrSid; }
00381 void setSid( domSid atSid ) { *(daeStringRef*)&attrSid = atSid; _validAttributeArray[0] = true; }
00382
00387 xsBoolean& getValue() { return _value; }
00392 void setValue( const xsBoolean& val ) { _value = val; }
00393
00394 protected:
00398 xsBoolean _value;
00399 protected:
00403 domHollow(DAE& dae) : daeElement(dae), attrSid(), _value() {}
00407 virtual ~domHollow() {}
00411 virtual domHollow &operator=( const domHollow &cpy ) { (void)cpy; return *this; }
00412
00413 public:
00418 static DLLSPEC daeElementRef create(DAE& dae);
00424 static DLLSPEC daeMetaElement* registerElement(DAE& dae);
00425 };
00426
00427
00428
00429 protected:
00430 domHollowRef elemHollow;
00431 domTargetable_floatRef elemMass;
00432 domTargetable_floatRef elemDensity;
00433 domInstance_physics_materialRef elemInstance_physics_material;
00434 domPhysics_materialRef elemPhysics_material;
00435 domInstance_geometryRef elemInstance_geometry;
00436 domPlaneRef elemPlane;
00437 domBoxRef elemBox;
00438 domSphereRef elemSphere;
00439 domCylinderRef elemCylinder;
00440 domCapsuleRef elemCapsule;
00441 domTranslate_Array elemTranslate_array;
00442 domRotate_Array elemRotate_array;
00446 domExtra_Array elemExtra_array;
00450 daeElementRefArray _contents;
00454 daeUIntArray _contentsOrder;
00455
00459 daeTArray< daeCharArray * > _CMData;
00460
00461
00462 public:
00467 const domHollowRef getHollow() const { return elemHollow; }
00472 const domTargetable_floatRef getMass() const { return elemMass; }
00477 const domTargetable_floatRef getDensity() const { return elemDensity; }
00482 const domInstance_physics_materialRef getInstance_physics_material() const { return elemInstance_physics_material; }
00487 const domPhysics_materialRef getPhysics_material() const { return elemPhysics_material; }
00492 const domInstance_geometryRef getInstance_geometry() const { return elemInstance_geometry; }
00497 const domPlaneRef getPlane() const { return elemPlane; }
00502 const domBoxRef getBox() const { return elemBox; }
00507 const domSphereRef getSphere() const { return elemSphere; }
00512 const domCylinderRef getCylinder() const { return elemCylinder; }
00517 const domCapsuleRef getCapsule() const { return elemCapsule; }
00522 domTranslate_Array &getTranslate_array() { return elemTranslate_array; }
00527 const domTranslate_Array &getTranslate_array() const { return elemTranslate_array; }
00532 domRotate_Array &getRotate_array() { return elemRotate_array; }
00537 const domRotate_Array &getRotate_array() const { return elemRotate_array; }
00542 domExtra_Array &getExtra_array() { return elemExtra_array; }
00547 const domExtra_Array &getExtra_array() const { return elemExtra_array; }
00552 daeElementRefArray &getContents() { return _contents; }
00557 const daeElementRefArray &getContents() const { return _contents; }
00558
00559 protected:
00563 domShape(DAE& dae) : daeElement(dae), elemHollow(), elemMass(), elemDensity(), elemInstance_physics_material(), elemPhysics_material(), elemInstance_geometry(), elemPlane(), elemBox(), elemSphere(), elemCylinder(), elemCapsule(), elemTranslate_array(), elemRotate_array(), elemExtra_array() {}
00567 virtual ~domShape() { daeElement::deleteCMDataArray(_CMData); }
00571 virtual domShape &operator=( const domShape &cpy ) { (void)cpy; return *this; }
00572
00573 public:
00578 static DLLSPEC daeElementRef create(DAE& dae);
00584 static DLLSPEC daeMetaElement* registerElement(DAE& dae);
00585 };
00586
00587
00588
00589 protected:
00595 domAngular_velocityRef elemAngular_velocity;
00600 domVelocityRef elemVelocity;
00601 domDynamicRef elemDynamic;
00602 domTargetable_floatRef elemMass;
00603 domMass_frameRef elemMass_frame;
00604 domTargetable_float3Ref elemInertia;
00605 domInstance_physics_materialRef elemInstance_physics_material;
00606 domPhysics_materialRef elemPhysics_material;
00607 domShape_Array elemShape_array;
00611 daeElementRefArray _contents;
00615 daeUIntArray _contentsOrder;
00616
00620 daeTArray< daeCharArray * > _CMData;
00621
00622
00623 public:
00628 const domAngular_velocityRef getAngular_velocity() const { return elemAngular_velocity; }
00633 const domVelocityRef getVelocity() const { return elemVelocity; }
00638 const domDynamicRef getDynamic() const { return elemDynamic; }
00643 const domTargetable_floatRef getMass() const { return elemMass; }
00648 const domMass_frameRef getMass_frame() const { return elemMass_frame; }
00653 const domTargetable_float3Ref getInertia() const { return elemInertia; }
00658 const domInstance_physics_materialRef getInstance_physics_material() const { return elemInstance_physics_material; }
00663 const domPhysics_materialRef getPhysics_material() const { return elemPhysics_material; }
00668 domShape_Array &getShape_array() { return elemShape_array; }
00673 const domShape_Array &getShape_array() const { return elemShape_array; }
00678 daeElementRefArray &getContents() { return _contents; }
00683 const daeElementRefArray &getContents() const { return _contents; }
00684
00685 protected:
00689 domTechnique_common(DAE& dae) : daeElement(dae), elemAngular_velocity(), elemVelocity(), elemDynamic(), elemMass(), elemMass_frame(), elemInertia(), elemInstance_physics_material(), elemPhysics_material(), elemShape_array() {}
00693 virtual ~domTechnique_common() { daeElement::deleteCMDataArray(_CMData); }
00697 virtual domTechnique_common &operator=( const domTechnique_common &cpy ) { (void)cpy; return *this; }
00698
00699 public:
00704 static DLLSPEC daeElementRef create(DAE& dae);
00710 static DLLSPEC daeMetaElement* registerElement(DAE& dae);
00711 };
00712
00713
00714 protected:
00719 xsNCName attrBody;
00725 domSid attrSid;
00729 xsToken attrName;
00734 xsAnyURI attrTarget;
00735
00736 protected:
00742 domTechnique_commonRef elemTechnique_common;
00747 domTechnique_Array elemTechnique_array;
00751 domExtra_Array elemExtra_array;
00752
00753 public:
00758 xsNCName getBody() const { return attrBody; }
00763 void setBody( xsNCName atBody ) { *(daeStringRef*)&attrBody = atBody;}
00764
00769 domSid getSid() const { return attrSid; }
00774 void setSid( domSid atSid ) { *(daeStringRef*)&attrSid = atSid;}
00775
00780 xsToken getName() const { return attrName; }
00785 void setName( xsToken atName ) { *(daeStringRef*)&attrName = atName;}
00786
00791 xsAnyURI &getTarget() { return attrTarget; }
00796 const xsAnyURI &getTarget() const { return attrTarget; }
00801 void setTarget( const xsAnyURI &atTarget ) { attrTarget = atTarget; }
00806 void setTarget( xsString atTarget ) { attrTarget = atTarget; }
00807
00812 const domTechnique_commonRef getTechnique_common() const { return elemTechnique_common; }
00817 domTechnique_Array &getTechnique_array() { return elemTechnique_array; }
00822 const domTechnique_Array &getTechnique_array() const { return elemTechnique_array; }
00827 domExtra_Array &getExtra_array() { return elemExtra_array; }
00832 const domExtra_Array &getExtra_array() const { return elemExtra_array; }
00833 protected:
00837 domInstance_rigid_body(DAE& dae) : daeElement(dae), attrBody(), attrSid(), attrName(), attrTarget(dae, *this), elemTechnique_common(), elemTechnique_array(), elemExtra_array() {}
00841 virtual ~domInstance_rigid_body() {}
00845 virtual domInstance_rigid_body &operator=( const domInstance_rigid_body &cpy ) { (void)cpy; return *this; }
00846
00847 public:
00852 static DLLSPEC daeElementRef create(DAE& dae);
00858 static DLLSPEC daeMetaElement* registerElement(DAE& dae);
00859 };
00860
00861
00862 #endif