00001
00002
00003
00004
00005
00006
00007
00008
00009 #ifndef __domRigid_body_h__
00010 #define __domRigid_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
00040 class domRigid_body : public daeElement
00041 {
00042 public:
00043 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::RIGID_BODY; }
00044 static daeInt ID() { return 795; }
00045 virtual daeInt typeID() const { return ID(); }
00046 public:
00047 class domTechnique_common;
00048
00049 typedef daeSmartRef<domTechnique_common> domTechnique_commonRef;
00050 typedef daeTArray<domTechnique_commonRef> domTechnique_common_Array;
00051
00056 class domTechnique_common : public daeElement
00057 {
00058 public:
00059 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::TECHNIQUE_COMMON; }
00060 static daeInt ID() { return 796; }
00061 virtual daeInt typeID() const { return ID(); }
00062 public:
00063 class domDynamic;
00064
00065 typedef daeSmartRef<domDynamic> domDynamicRef;
00066 typedef daeTArray<domDynamicRef> domDynamic_Array;
00067
00071 class domDynamic : public daeElement
00072 {
00073 public:
00074 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::DYNAMIC; }
00075 static daeInt ID() { return 797; }
00076 virtual daeInt typeID() const { return ID(); }
00077 protected:
00083 xsNCName attrSid;
00084
00085 protected:
00089 domBool _value;
00090
00091 public:
00096 xsNCName getSid() const { return attrSid; }
00101 void setSid( xsNCName atSid ) { *(daeStringRef*)&attrSid = atSid; _validAttributeArray[0] = true; }
00102
00107 domBool getValue() const { return _value; }
00112 void setValue( domBool val ) { _value = val; }
00113
00114 protected:
00118 domDynamic(DAE& dae) : daeElement(dae), attrSid(), _value() {}
00122 virtual ~domDynamic() {}
00126 virtual domDynamic &operator=( const domDynamic &cpy ) { (void)cpy; return *this; }
00127
00128 public:
00133 static DLLSPEC daeElementRef create(DAE& dae);
00139 static DLLSPEC daeMetaElement* registerElement(DAE& dae);
00140 };
00141
00142 class domMass_frame;
00143
00144 typedef daeSmartRef<domMass_frame> domMass_frameRef;
00145 typedef daeTArray<domMass_frameRef> domMass_frame_Array;
00146
00153 class domMass_frame : public daeElement
00154 {
00155 public:
00156 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::MASS_FRAME; }
00157 static daeInt ID() { return 798; }
00158 virtual daeInt typeID() const { return ID(); }
00159
00160 protected:
00161 domTranslate_Array elemTranslate_array;
00162 domRotate_Array elemRotate_array;
00166 daeElementRefArray _contents;
00170 daeUIntArray _contentsOrder;
00171
00175 daeTArray< daeCharArray * > _CMData;
00176
00177
00178 public:
00183 domTranslate_Array &getTranslate_array() { return elemTranslate_array; }
00188 const domTranslate_Array &getTranslate_array() const { return elemTranslate_array; }
00193 domRotate_Array &getRotate_array() { return elemRotate_array; }
00198 const domRotate_Array &getRotate_array() const { return elemRotate_array; }
00203 daeElementRefArray &getContents() { return _contents; }
00208 const daeElementRefArray &getContents() const { return _contents; }
00209
00210 protected:
00214 domMass_frame(DAE& dae) : daeElement(dae), elemTranslate_array(), elemRotate_array() {}
00218 virtual ~domMass_frame() { daeElement::deleteCMDataArray(_CMData); }
00222 virtual domMass_frame &operator=( const domMass_frame &cpy ) { (void)cpy; return *this; }
00223
00224 public:
00229 static DLLSPEC daeElementRef create(DAE& dae);
00235 static DLLSPEC daeMetaElement* registerElement(DAE& dae);
00236 };
00237
00238 class domShape;
00239
00240 typedef daeSmartRef<domShape> domShapeRef;
00241 typedef daeTArray<domShapeRef> domShape_Array;
00242
00246 class domShape : public daeElement
00247 {
00248 public:
00249 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::SHAPE; }
00250 static daeInt ID() { return 799; }
00251 virtual daeInt typeID() const { return ID(); }
00252 public:
00253 class domHollow;
00254
00255 typedef daeSmartRef<domHollow> domHollowRef;
00256 typedef daeTArray<domHollowRef> domHollow_Array;
00257
00261 class domHollow : public daeElement
00262 {
00263 public:
00264 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::HOLLOW; }
00265 static daeInt ID() { return 800; }
00266 virtual daeInt typeID() const { return ID(); }
00267 protected:
00273 xsNCName attrSid;
00274
00275 protected:
00279 domBool _value;
00280
00281 public:
00286 xsNCName getSid() const { return attrSid; }
00291 void setSid( xsNCName atSid ) { *(daeStringRef*)&attrSid = atSid; _validAttributeArray[0] = true; }
00292
00297 domBool getValue() const { return _value; }
00302 void setValue( domBool val ) { _value = val; }
00303
00304 protected:
00308 domHollow(DAE& dae) : daeElement(dae), attrSid(), _value() {}
00312 virtual ~domHollow() {}
00316 virtual domHollow &operator=( const domHollow &cpy ) { (void)cpy; return *this; }
00317
00318 public:
00323 static DLLSPEC daeElementRef create(DAE& dae);
00329 static DLLSPEC daeMetaElement* registerElement(DAE& dae);
00330 };
00331
00332
00333
00334 protected:
00338 domHollowRef elemHollow;
00342 domTargetableFloatRef elemMass;
00346 domTargetableFloatRef elemDensity;
00350 domInstance_physics_materialRef elemInstance_physics_material;
00354 domPhysics_materialRef elemPhysics_material;
00358 domInstance_geometryRef elemInstance_geometry;
00362 domPlaneRef elemPlane;
00366 domBoxRef elemBox;
00370 domSphereRef elemSphere;
00374 domCylinderRef elemCylinder;
00378 domTapered_cylinderRef elemTapered_cylinder;
00382 domCapsuleRef elemCapsule;
00386 domTapered_capsuleRef elemTapered_capsule;
00390 domTranslate_Array elemTranslate_array;
00394 domRotate_Array elemRotate_array;
00398 domExtra_Array elemExtra_array;
00402 daeElementRefArray _contents;
00406 daeUIntArray _contentsOrder;
00407
00411 daeTArray< daeCharArray * > _CMData;
00412
00413
00414 public:
00419 const domHollowRef getHollow() const { return elemHollow; }
00424 const domTargetableFloatRef getMass() const { return elemMass; }
00429 const domTargetableFloatRef getDensity() const { return elemDensity; }
00434 const domInstance_physics_materialRef getInstance_physics_material() const { return elemInstance_physics_material; }
00439 const domPhysics_materialRef getPhysics_material() const { return elemPhysics_material; }
00444 const domInstance_geometryRef getInstance_geometry() const { return elemInstance_geometry; }
00449 const domPlaneRef getPlane() const { return elemPlane; }
00454 const domBoxRef getBox() const { return elemBox; }
00459 const domSphereRef getSphere() const { return elemSphere; }
00464 const domCylinderRef getCylinder() const { return elemCylinder; }
00469 const domTapered_cylinderRef getTapered_cylinder() const { return elemTapered_cylinder; }
00474 const domCapsuleRef getCapsule() const { return elemCapsule; }
00479 const domTapered_capsuleRef getTapered_capsule() const { return elemTapered_capsule; }
00484 domTranslate_Array &getTranslate_array() { return elemTranslate_array; }
00489 const domTranslate_Array &getTranslate_array() const { return elemTranslate_array; }
00494 domRotate_Array &getRotate_array() { return elemRotate_array; }
00499 const domRotate_Array &getRotate_array() const { return elemRotate_array; }
00504 domExtra_Array &getExtra_array() { return elemExtra_array; }
00509 const domExtra_Array &getExtra_array() const { return elemExtra_array; }
00514 daeElementRefArray &getContents() { return _contents; }
00519 const daeElementRefArray &getContents() const { return _contents; }
00520
00521 protected:
00525 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() {}
00529 virtual ~domShape() { daeElement::deleteCMDataArray(_CMData); }
00533 virtual domShape &operator=( const domShape &cpy ) { (void)cpy; return *this; }
00534
00535 public:
00540 static DLLSPEC daeElementRef create(DAE& dae);
00546 static DLLSPEC daeMetaElement* registerElement(DAE& dae);
00547 };
00548
00549
00550
00551 protected:
00555 domDynamicRef elemDynamic;
00559 domTargetableFloatRef elemMass;
00566 domMass_frameRef elemMass_frame;
00572 domTargetableFloat3Ref elemInertia;
00576 domInstance_physics_materialRef elemInstance_physics_material;
00580 domPhysics_materialRef elemPhysics_material;
00584 domShape_Array elemShape_array;
00588 daeElementRefArray _contents;
00592 daeUIntArray _contentsOrder;
00593
00597 daeTArray< daeCharArray * > _CMData;
00598
00599
00600 public:
00605 const domDynamicRef getDynamic() const { return elemDynamic; }
00610 const domTargetableFloatRef getMass() const { return elemMass; }
00615 const domMass_frameRef getMass_frame() const { return elemMass_frame; }
00620 const domTargetableFloat3Ref getInertia() const { return elemInertia; }
00625 const domInstance_physics_materialRef getInstance_physics_material() const { return elemInstance_physics_material; }
00630 const domPhysics_materialRef getPhysics_material() const { return elemPhysics_material; }
00635 domShape_Array &getShape_array() { return elemShape_array; }
00640 const domShape_Array &getShape_array() const { return elemShape_array; }
00645 daeElementRefArray &getContents() { return _contents; }
00650 const daeElementRefArray &getContents() const { return _contents; }
00651
00652 protected:
00656 domTechnique_common(DAE& dae) : daeElement(dae), elemDynamic(), elemMass(), elemMass_frame(), elemInertia(), elemInstance_physics_material(), elemPhysics_material(), elemShape_array() {}
00660 virtual ~domTechnique_common() { daeElement::deleteCMDataArray(_CMData); }
00664 virtual domTechnique_common &operator=( const domTechnique_common &cpy ) { (void)cpy; return *this; }
00665
00666 public:
00671 static DLLSPEC daeElementRef create(DAE& dae);
00677 static DLLSPEC daeMetaElement* registerElement(DAE& dae);
00678 };
00679
00680
00681 protected:
00687 xsNCName attrSid;
00691 xsNCName attrName;
00692
00693 protected:
00699 domTechnique_commonRef elemTechnique_common;
00704 domTechnique_Array elemTechnique_array;
00708 domExtra_Array elemExtra_array;
00709
00710 public:
00715 xsNCName getSid() const { return attrSid; }
00720 void setSid( xsNCName atSid ) { *(daeStringRef*)&attrSid = atSid; _validAttributeArray[0] = true; }
00721
00726 xsNCName getName() const { return attrName; }
00731 void setName( xsNCName atName ) { *(daeStringRef*)&attrName = atName; _validAttributeArray[1] = true; }
00732
00737 const domTechnique_commonRef getTechnique_common() const { return elemTechnique_common; }
00742 domTechnique_Array &getTechnique_array() { return elemTechnique_array; }
00747 const domTechnique_Array &getTechnique_array() const { return elemTechnique_array; }
00752 domExtra_Array &getExtra_array() { return elemExtra_array; }
00757 const domExtra_Array &getExtra_array() const { return elemExtra_array; }
00758 protected:
00762 domRigid_body(DAE& dae) : daeElement(dae), attrSid(), attrName(), elemTechnique_common(), elemTechnique_array(), elemExtra_array() {}
00766 virtual ~domRigid_body() {}
00770 virtual domRigid_body &operator=( const domRigid_body &cpy ) { (void)cpy; return *this; }
00771
00772 public:
00777 static DLLSPEC daeElementRef create(DAE& dae);
00783 static DLLSPEC daeMetaElement* registerElement(DAE& dae);
00784 };
00785
00786
00787 #endif