00001 #ifndef __domRigid_constraint_h__
00002 #define __domRigid_constraint_h__
00003
00004 #include <dae/daeDocument.h>
00005 #include <dom/domTypes.h>
00006 #include <dom/domElements.h>
00007
00008 #include <dom/domTranslate.h>
00009 #include <dom/domRotate.h>
00010 #include <dom/domExtra.h>
00011 #include <dom/domTargetable_float3.h>
00012 #include <dom/domTargetable_float.h>
00013 #include <dom/domTechnique.h>
00014 class DAE;
00015
00020 class domRigid_constraint : public daeElement
00021 {
00022 public:
00023 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::RIGID_CONSTRAINT; }
00024 static daeInt ID() { return 374; }
00025 virtual daeInt typeID() const { return ID(); }
00026 public:
00027 class domRef_attachment;
00028
00029 typedef daeSmartRef<domRef_attachment> domRef_attachmentRef;
00030 typedef daeTArray<domRef_attachmentRef> domRef_attachment_Array;
00031
00035 class domRef_attachment : public daeElement
00036 {
00037 public:
00038 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::REF_ATTACHMENT; }
00039 static daeInt ID() { return 375; }
00040 virtual daeInt typeID() const { return ID(); }
00041 protected:
00046 xsAnyURI attrRigid_body;
00047
00048 protected:
00052 domTranslate_Array elemTranslate_array;
00056 domRotate_Array elemRotate_array;
00060 domExtra_Array elemExtra_array;
00064 daeElementRefArray _contents;
00068 daeUIntArray _contentsOrder;
00069
00073 daeTArray< daeCharArray * > _CMData;
00074
00075
00076 public:
00081 xsAnyURI &getRigid_body() { return attrRigid_body; }
00086 const xsAnyURI &getRigid_body() const { return attrRigid_body; }
00091 void setRigid_body( const xsAnyURI &atRigid_body ) { attrRigid_body = atRigid_body; _validAttributeArray[0] = true; }
00096 void setRigid_body( xsString atRigid_body ) { attrRigid_body = atRigid_body; _validAttributeArray[0] = true; }
00097
00102 domTranslate_Array &getTranslate_array() { return elemTranslate_array; }
00107 const domTranslate_Array &getTranslate_array() const { return elemTranslate_array; }
00112 domRotate_Array &getRotate_array() { return elemRotate_array; }
00117 const domRotate_Array &getRotate_array() const { return elemRotate_array; }
00122 domExtra_Array &getExtra_array() { return elemExtra_array; }
00127 const domExtra_Array &getExtra_array() const { return elemExtra_array; }
00132 daeElementRefArray &getContents() { return _contents; }
00137 const daeElementRefArray &getContents() const { return _contents; }
00138
00139 protected:
00143 domRef_attachment(DAE& dae) : daeElement(dae), attrRigid_body(dae, *this), elemTranslate_array(), elemRotate_array(), elemExtra_array() {}
00147 virtual ~domRef_attachment() { daeElement::deleteCMDataArray(_CMData); }
00151 virtual domRef_attachment &operator=( const domRef_attachment &cpy ) { (void)cpy; return *this; }
00152
00153 public:
00158 static DLLSPEC daeElementRef create(DAE& dae);
00164 static DLLSPEC daeMetaElement* registerElement(DAE& dae);
00165 };
00166
00167 class domAttachment;
00168
00169 typedef daeSmartRef<domAttachment> domAttachmentRef;
00170 typedef daeTArray<domAttachmentRef> domAttachment_Array;
00171
00175 class domAttachment : public daeElement
00176 {
00177 public:
00178 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::ATTACHMENT; }
00179 static daeInt ID() { return 376; }
00180 virtual daeInt typeID() const { return ID(); }
00181 protected:
00186 xsAnyURI attrRigid_body;
00187
00188 protected:
00192 domTranslate_Array elemTranslate_array;
00196 domRotate_Array elemRotate_array;
00200 domExtra_Array elemExtra_array;
00204 daeElementRefArray _contents;
00208 daeUIntArray _contentsOrder;
00209
00213 daeTArray< daeCharArray * > _CMData;
00214
00215
00216 public:
00221 xsAnyURI &getRigid_body() { return attrRigid_body; }
00226 const xsAnyURI &getRigid_body() const { return attrRigid_body; }
00231 void setRigid_body( const xsAnyURI &atRigid_body ) { attrRigid_body = atRigid_body; _validAttributeArray[0] = true; }
00236 void setRigid_body( xsString atRigid_body ) { attrRigid_body = atRigid_body; _validAttributeArray[0] = true; }
00237
00242 domTranslate_Array &getTranslate_array() { return elemTranslate_array; }
00247 const domTranslate_Array &getTranslate_array() const { return elemTranslate_array; }
00252 domRotate_Array &getRotate_array() { return elemRotate_array; }
00257 const domRotate_Array &getRotate_array() const { return elemRotate_array; }
00262 domExtra_Array &getExtra_array() { return elemExtra_array; }
00267 const domExtra_Array &getExtra_array() const { return elemExtra_array; }
00272 daeElementRefArray &getContents() { return _contents; }
00277 const daeElementRefArray &getContents() const { return _contents; }
00278
00279 protected:
00283 domAttachment(DAE& dae) : daeElement(dae), attrRigid_body(dae, *this), elemTranslate_array(), elemRotate_array(), elemExtra_array() {}
00287 virtual ~domAttachment() { daeElement::deleteCMDataArray(_CMData); }
00291 virtual domAttachment &operator=( const domAttachment &cpy ) { (void)cpy; return *this; }
00292
00293 public:
00298 static DLLSPEC daeElementRef create(DAE& dae);
00304 static DLLSPEC daeMetaElement* registerElement(DAE& dae);
00305 };
00306
00307 class domTechnique_common;
00308
00309 typedef daeSmartRef<domTechnique_common> domTechnique_commonRef;
00310 typedef daeTArray<domTechnique_commonRef> domTechnique_common_Array;
00311
00316 class domTechnique_common : public daeElement
00317 {
00318 public:
00319 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::TECHNIQUE_COMMON; }
00320 static daeInt ID() { return 377; }
00321 virtual daeInt typeID() const { return ID(); }
00322 public:
00323 class domEnabled;
00324
00325 typedef daeSmartRef<domEnabled> domEnabledRef;
00326 typedef daeTArray<domEnabledRef> domEnabled_Array;
00327
00332 class domEnabled : public daeElement
00333 {
00334 public:
00335 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::ENABLED; }
00336 static daeInt ID() { return 378; }
00337 virtual daeInt typeID() const { return ID(); }
00338 protected:
00344 domSid attrSid;
00345
00346
00347 public:
00352 domSid getSid() const { return attrSid; }
00357 void setSid( domSid atSid ) { *(daeStringRef*)&attrSid = atSid; _validAttributeArray[0] = true; }
00358
00363 xsBoolean& getValue() { return _value; }
00368 void setValue( const xsBoolean& val ) { _value = val; }
00369
00370 protected:
00374 xsBoolean _value;
00375 protected:
00379 domEnabled(DAE& dae) : daeElement(dae), attrSid(), _value() {}
00383 virtual ~domEnabled() {}
00387 virtual domEnabled &operator=( const domEnabled &cpy ) { (void)cpy; return *this; }
00388
00389 public:
00394 static DLLSPEC daeElementRef create(DAE& dae);
00400 static DLLSPEC daeMetaElement* registerElement(DAE& dae);
00401 };
00402
00403 class domInterpenetrate;
00404
00405 typedef daeSmartRef<domInterpenetrate> domInterpenetrateRef;
00406 typedef daeTArray<domInterpenetrateRef> domInterpenetrate_Array;
00407
00411 class domInterpenetrate : public daeElement
00412 {
00413 public:
00414 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::INTERPENETRATE; }
00415 static daeInt ID() { return 379; }
00416 virtual daeInt typeID() const { return ID(); }
00417 protected:
00423 domSid attrSid;
00424
00425
00426 public:
00431 domSid getSid() const { return attrSid; }
00436 void setSid( domSid atSid ) { *(daeStringRef*)&attrSid = atSid; _validAttributeArray[0] = true; }
00437
00442 xsBoolean& getValue() { return _value; }
00447 void setValue( const xsBoolean& val ) { _value = val; }
00448
00449 protected:
00453 xsBoolean _value;
00454 protected:
00458 domInterpenetrate(DAE& dae) : daeElement(dae), attrSid(), _value() {}
00462 virtual ~domInterpenetrate() {}
00466 virtual domInterpenetrate &operator=( const domInterpenetrate &cpy ) { (void)cpy; return *this; }
00467
00468 public:
00473 static DLLSPEC daeElementRef create(DAE& dae);
00479 static DLLSPEC daeMetaElement* registerElement(DAE& dae);
00480 };
00481
00482 class domLimits;
00483
00484 typedef daeSmartRef<domLimits> domLimitsRef;
00485 typedef daeTArray<domLimitsRef> domLimits_Array;
00486
00491 class domLimits : public daeElement
00492 {
00493 public:
00494 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::LIMITS; }
00495 static daeInt ID() { return 380; }
00496 virtual daeInt typeID() const { return ID(); }
00497 public:
00498 class domSwing_cone_and_twist;
00499
00500 typedef daeSmartRef<domSwing_cone_and_twist> domSwing_cone_and_twistRef;
00501 typedef daeTArray<domSwing_cone_and_twistRef> domSwing_cone_and_twist_Array;
00502
00508 class domSwing_cone_and_twist : public daeElement
00509 {
00510 public:
00511 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::SWING_CONE_AND_TWIST; }
00512 static daeInt ID() { return 381; }
00513 virtual daeInt typeID() const { return ID(); }
00514
00515 protected:
00519 domTargetable_float3Ref elemMin;
00523 domTargetable_float3Ref elemMax;
00524
00525 public:
00530 const domTargetable_float3Ref getMin() const { return elemMin; }
00535 const domTargetable_float3Ref getMax() const { return elemMax; }
00536 protected:
00540 domSwing_cone_and_twist(DAE& dae) : daeElement(dae), elemMin(), elemMax() {}
00544 virtual ~domSwing_cone_and_twist() {}
00548 virtual domSwing_cone_and_twist &operator=( const domSwing_cone_and_twist &cpy ) { (void)cpy; return *this; }
00549
00550 public:
00555 static DLLSPEC daeElementRef create(DAE& dae);
00561 static DLLSPEC daeMetaElement* registerElement(DAE& dae);
00562 };
00563
00564 class domLinear;
00565
00566 typedef daeSmartRef<domLinear> domLinearRef;
00567 typedef daeTArray<domLinearRef> domLinear_Array;
00568
00572 class domLinear : public daeElement
00573 {
00574 public:
00575 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::LINEAR; }
00576 static daeInt ID() { return 382; }
00577 virtual daeInt typeID() const { return ID(); }
00578
00579 protected:
00583 domTargetable_float3Ref elemMin;
00587 domTargetable_float3Ref elemMax;
00588
00589 public:
00594 const domTargetable_float3Ref getMin() const { return elemMin; }
00599 const domTargetable_float3Ref getMax() const { return elemMax; }
00600 protected:
00604 domLinear(DAE& dae) : daeElement(dae), elemMin(), elemMax() {}
00608 virtual ~domLinear() {}
00612 virtual domLinear &operator=( const domLinear &cpy ) { (void)cpy; return *this; }
00613
00614 public:
00619 static DLLSPEC daeElementRef create(DAE& dae);
00625 static DLLSPEC daeMetaElement* registerElement(DAE& dae);
00626 };
00627
00628
00629
00630 protected:
00636 domSwing_cone_and_twistRef elemSwing_cone_and_twist;
00641 domLinearRef elemLinear;
00642
00643 public:
00648 const domSwing_cone_and_twistRef getSwing_cone_and_twist() const { return elemSwing_cone_and_twist; }
00653 const domLinearRef getLinear() const { return elemLinear; }
00654 protected:
00658 domLimits(DAE& dae) : daeElement(dae), elemSwing_cone_and_twist(), elemLinear() {}
00662 virtual ~domLimits() {}
00666 virtual domLimits &operator=( const domLimits &cpy ) { (void)cpy; return *this; }
00667
00668 public:
00673 static DLLSPEC daeElementRef create(DAE& dae);
00679 static DLLSPEC daeMetaElement* registerElement(DAE& dae);
00680 };
00681
00682 class domSpring;
00683
00684 typedef daeSmartRef<domSpring> domSpringRef;
00685 typedef daeTArray<domSpringRef> domSpring_Array;
00686
00690 class domSpring : public daeElement
00691 {
00692 public:
00693 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::SPRING; }
00694 static daeInt ID() { return 383; }
00695 virtual daeInt typeID() const { return ID(); }
00696 public:
00697 class domAngular;
00698
00699 typedef daeSmartRef<domAngular> domAngularRef;
00700 typedef daeTArray<domAngularRef> domAngular_Array;
00701
00705 class domAngular : public daeElement
00706 {
00707 public:
00708 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::ANGULAR; }
00709 static daeInt ID() { return 384; }
00710 virtual daeInt typeID() const { return ID(); }
00711
00712 protected:
00717 domTargetable_floatRef elemStiffness;
00721 domTargetable_floatRef elemDamping;
00725 domTargetable_floatRef elemTarget_value;
00726
00727 public:
00732 const domTargetable_floatRef getStiffness() const { return elemStiffness; }
00737 const domTargetable_floatRef getDamping() const { return elemDamping; }
00742 const domTargetable_floatRef getTarget_value() const { return elemTarget_value; }
00743 protected:
00747 domAngular(DAE& dae) : daeElement(dae), elemStiffness(), elemDamping(), elemTarget_value() {}
00751 virtual ~domAngular() {}
00755 virtual domAngular &operator=( const domAngular &cpy ) { (void)cpy; return *this; }
00756
00757 public:
00762 static DLLSPEC daeElementRef create(DAE& dae);
00768 static DLLSPEC daeMetaElement* registerElement(DAE& dae);
00769 };
00770
00771 class domLinear;
00772
00773 typedef daeSmartRef<domLinear> domLinearRef;
00774 typedef daeTArray<domLinearRef> domLinear_Array;
00775
00779 class domLinear : public daeElement
00780 {
00781 public:
00782 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::LINEAR; }
00783 static daeInt ID() { return 385; }
00784 virtual daeInt typeID() const { return ID(); }
00785
00786 protected:
00791 domTargetable_floatRef elemStiffness;
00795 domTargetable_floatRef elemDamping;
00799 domTargetable_floatRef elemTarget_value;
00800
00801 public:
00806 const domTargetable_floatRef getStiffness() const { return elemStiffness; }
00811 const domTargetable_floatRef getDamping() const { return elemDamping; }
00816 const domTargetable_floatRef getTarget_value() const { return elemTarget_value; }
00817 protected:
00821 domLinear(DAE& dae) : daeElement(dae), elemStiffness(), elemDamping(), elemTarget_value() {}
00825 virtual ~domLinear() {}
00829 virtual domLinear &operator=( const domLinear &cpy ) { (void)cpy; return *this; }
00830
00831 public:
00836 static DLLSPEC daeElementRef create(DAE& dae);
00842 static DLLSPEC daeMetaElement* registerElement(DAE& dae);
00843 };
00844
00845
00846
00847 protected:
00851 domAngularRef elemAngular;
00855 domLinearRef elemLinear;
00856
00857 public:
00862 const domAngularRef getAngular() const { return elemAngular; }
00867 const domLinearRef getLinear() const { return elemLinear; }
00868 protected:
00872 domSpring(DAE& dae) : daeElement(dae), elemAngular(), elemLinear() {}
00876 virtual ~domSpring() {}
00880 virtual domSpring &operator=( const domSpring &cpy ) { (void)cpy; return *this; }
00881
00882 public:
00887 static DLLSPEC daeElementRef create(DAE& dae);
00893 static DLLSPEC daeMetaElement* registerElement(DAE& dae);
00894 };
00895
00896
00897
00898 protected:
00903 domEnabledRef elemEnabled;
00907 domInterpenetrateRef elemInterpenetrate;
00912 domLimitsRef elemLimits;
00916 domSpringRef elemSpring;
00917
00918 public:
00923 const domEnabledRef getEnabled() const { return elemEnabled; }
00928 const domInterpenetrateRef getInterpenetrate() const { return elemInterpenetrate; }
00933 const domLimitsRef getLimits() const { return elemLimits; }
00938 const domSpringRef getSpring() const { return elemSpring; }
00939 protected:
00943 domTechnique_common(DAE& dae) : daeElement(dae), elemEnabled(), elemInterpenetrate(), elemLimits(), elemSpring() {}
00947 virtual ~domTechnique_common() {}
00951 virtual domTechnique_common &operator=( const domTechnique_common &cpy ) { (void)cpy; return *this; }
00952
00953 public:
00958 static DLLSPEC daeElementRef create(DAE& dae);
00964 static DLLSPEC daeMetaElement* registerElement(DAE& dae);
00965 };
00966
00967
00968 protected:
00974 domSid attrSid;
00978 xsToken attrName;
00979
00980 protected:
00985 domRef_attachmentRef elemRef_attachment;
00989 domAttachmentRef elemAttachment;
00995 domTechnique_commonRef elemTechnique_common;
01000 domTechnique_Array elemTechnique_array;
01004 domExtra_Array elemExtra_array;
01005
01006 public:
01011 domSid getSid() const { return attrSid; }
01016 void setSid( domSid atSid ) { *(daeStringRef*)&attrSid = atSid;}
01017
01022 xsToken getName() const { return attrName; }
01027 void setName( xsToken atName ) { *(daeStringRef*)&attrName = atName;}
01028
01033 const domRef_attachmentRef getRef_attachment() const { return elemRef_attachment; }
01038 const domAttachmentRef getAttachment() const { return elemAttachment; }
01043 const domTechnique_commonRef getTechnique_common() const { return elemTechnique_common; }
01048 domTechnique_Array &getTechnique_array() { return elemTechnique_array; }
01053 const domTechnique_Array &getTechnique_array() const { return elemTechnique_array; }
01058 domExtra_Array &getExtra_array() { return elemExtra_array; }
01063 const domExtra_Array &getExtra_array() const { return elemExtra_array; }
01064 protected:
01068 domRigid_constraint(DAE& dae) : daeElement(dae), attrSid(), attrName(), elemRef_attachment(), elemAttachment(), elemTechnique_common(), elemTechnique_array(), elemExtra_array() {}
01072 virtual ~domRigid_constraint() {}
01076 virtual domRigid_constraint &operator=( const domRigid_constraint &cpy ) { (void)cpy; return *this; }
01077
01078 public:
01083 static DLLSPEC daeElementRef create(DAE& dae);
01089 static DLLSPEC daeMetaElement* registerElement(DAE& dae);
01090 };
01091
01092
01093 #endif