00001
00002
00003
00004
00005
00006
00007
00008
00009 #ifndef __domRigid_constraint_h__
00010 #define __domRigid_constraint_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/domTranslate.h>
00019 #include <dom/domRotate.h>
00020 #include <dom/domTargetableFloat3.h>
00021 #include <dom/domTargetableFloat.h>
00022 class DAE;
00023
00028 class domRigid_constraint : public daeElement
00029 {
00030 public:
00031 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::RIGID_CONSTRAINT; }
00032 static daeInt ID() { return 801; }
00033 virtual daeInt typeID() const { return ID(); }
00034 public:
00035 class domRef_attachment;
00036
00037 typedef daeSmartRef<domRef_attachment> domRef_attachmentRef;
00038 typedef daeTArray<domRef_attachmentRef> domRef_attachment_Array;
00039
00043 class domRef_attachment : public daeElement
00044 {
00045 public:
00046 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::REF_ATTACHMENT; }
00047 static daeInt ID() { return 802; }
00048 virtual daeInt typeID() const { return ID(); }
00049 protected:
00054 xsAnyURI attrRigid_body;
00055
00056 protected:
00060 domTranslate_Array elemTranslate_array;
00064 domRotate_Array elemRotate_array;
00068 domExtra_Array elemExtra_array;
00072 daeElementRefArray _contents;
00076 daeUIntArray _contentsOrder;
00077
00081 daeTArray< daeCharArray * > _CMData;
00082
00083
00084 public:
00089 xsAnyURI &getRigid_body() { return attrRigid_body; }
00094 const xsAnyURI &getRigid_body() const { return attrRigid_body; }
00099 void setRigid_body( const xsAnyURI &atRigid_body ) { attrRigid_body = atRigid_body; _validAttributeArray[0] = true; }
00104 void setRigid_body( xsString atRigid_body ) { attrRigid_body = atRigid_body; _validAttributeArray[0] = true; }
00105
00110 domTranslate_Array &getTranslate_array() { return elemTranslate_array; }
00115 const domTranslate_Array &getTranslate_array() const { return elemTranslate_array; }
00120 domRotate_Array &getRotate_array() { return elemRotate_array; }
00125 const domRotate_Array &getRotate_array() const { return elemRotate_array; }
00130 domExtra_Array &getExtra_array() { return elemExtra_array; }
00135 const domExtra_Array &getExtra_array() const { return elemExtra_array; }
00140 daeElementRefArray &getContents() { return _contents; }
00145 const daeElementRefArray &getContents() const { return _contents; }
00146
00147 protected:
00151 domRef_attachment(DAE& dae) : daeElement(dae), attrRigid_body(dae, *this), elemTranslate_array(), elemRotate_array(), elemExtra_array() {}
00155 virtual ~domRef_attachment() { daeElement::deleteCMDataArray(_CMData); }
00159 virtual domRef_attachment &operator=( const domRef_attachment &cpy ) { (void)cpy; return *this; }
00160
00161 public:
00166 static DLLSPEC daeElementRef create(DAE& dae);
00172 static DLLSPEC daeMetaElement* registerElement(DAE& dae);
00173 };
00174
00175 class domAttachment;
00176
00177 typedef daeSmartRef<domAttachment> domAttachmentRef;
00178 typedef daeTArray<domAttachmentRef> domAttachment_Array;
00179
00183 class domAttachment : public daeElement
00184 {
00185 public:
00186 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::ATTACHMENT; }
00187 static daeInt ID() { return 803; }
00188 virtual daeInt typeID() const { return ID(); }
00189 protected:
00194 xsAnyURI attrRigid_body;
00195
00196 protected:
00200 domTranslate_Array elemTranslate_array;
00204 domRotate_Array elemRotate_array;
00208 domExtra_Array elemExtra_array;
00212 daeElementRefArray _contents;
00216 daeUIntArray _contentsOrder;
00217
00221 daeTArray< daeCharArray * > _CMData;
00222
00223
00224 public:
00229 xsAnyURI &getRigid_body() { return attrRigid_body; }
00234 const xsAnyURI &getRigid_body() const { return attrRigid_body; }
00239 void setRigid_body( const xsAnyURI &atRigid_body ) { attrRigid_body = atRigid_body; _validAttributeArray[0] = true; }
00244 void setRigid_body( xsString atRigid_body ) { attrRigid_body = atRigid_body; _validAttributeArray[0] = true; }
00245
00250 domTranslate_Array &getTranslate_array() { return elemTranslate_array; }
00255 const domTranslate_Array &getTranslate_array() const { return elemTranslate_array; }
00260 domRotate_Array &getRotate_array() { return elemRotate_array; }
00265 const domRotate_Array &getRotate_array() const { return elemRotate_array; }
00270 domExtra_Array &getExtra_array() { return elemExtra_array; }
00275 const domExtra_Array &getExtra_array() const { return elemExtra_array; }
00280 daeElementRefArray &getContents() { return _contents; }
00285 const daeElementRefArray &getContents() const { return _contents; }
00286
00287 protected:
00291 domAttachment(DAE& dae) : daeElement(dae), attrRigid_body(dae, *this), elemTranslate_array(), elemRotate_array(), elemExtra_array() {}
00295 virtual ~domAttachment() { daeElement::deleteCMDataArray(_CMData); }
00299 virtual domAttachment &operator=( const domAttachment &cpy ) { (void)cpy; return *this; }
00300
00301 public:
00306 static DLLSPEC daeElementRef create(DAE& dae);
00312 static DLLSPEC daeMetaElement* registerElement(DAE& dae);
00313 };
00314
00315 class domTechnique_common;
00316
00317 typedef daeSmartRef<domTechnique_common> domTechnique_commonRef;
00318 typedef daeTArray<domTechnique_commonRef> domTechnique_common_Array;
00319
00324 class domTechnique_common : public daeElement
00325 {
00326 public:
00327 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::TECHNIQUE_COMMON; }
00328 static daeInt ID() { return 804; }
00329 virtual daeInt typeID() const { return ID(); }
00330 public:
00331 class domEnabled;
00332
00333 typedef daeSmartRef<domEnabled> domEnabledRef;
00334 typedef daeTArray<domEnabledRef> domEnabled_Array;
00335
00340 class domEnabled : public daeElement
00341 {
00342 public:
00343 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::ENABLED; }
00344 static daeInt ID() { return 805; }
00345 virtual daeInt typeID() const { return ID(); }
00346 protected:
00352 xsNCName attrSid;
00353
00354 protected:
00358 domBool _value;
00359
00360 public:
00365 xsNCName getSid() const { return attrSid; }
00370 void setSid( xsNCName atSid ) { *(daeStringRef*)&attrSid = atSid; _validAttributeArray[0] = true; }
00371
00376 domBool getValue() const { return _value; }
00381 void setValue( domBool val ) { _value = val; }
00382
00383 protected:
00387 domEnabled(DAE& dae) : daeElement(dae), attrSid(), _value() {}
00391 virtual ~domEnabled() {}
00395 virtual domEnabled &operator=( const domEnabled &cpy ) { (void)cpy; return *this; }
00396
00397 public:
00402 static DLLSPEC daeElementRef create(DAE& dae);
00408 static DLLSPEC daeMetaElement* registerElement(DAE& dae);
00409 };
00410
00411 class domInterpenetrate;
00412
00413 typedef daeSmartRef<domInterpenetrate> domInterpenetrateRef;
00414 typedef daeTArray<domInterpenetrateRef> domInterpenetrate_Array;
00415
00419 class domInterpenetrate : public daeElement
00420 {
00421 public:
00422 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::INTERPENETRATE; }
00423 static daeInt ID() { return 806; }
00424 virtual daeInt typeID() const { return ID(); }
00425 protected:
00431 xsNCName attrSid;
00432
00433 protected:
00437 domBool _value;
00438
00439 public:
00444 xsNCName getSid() const { return attrSid; }
00449 void setSid( xsNCName atSid ) { *(daeStringRef*)&attrSid = atSid; _validAttributeArray[0] = true; }
00450
00455 domBool getValue() const { return _value; }
00460 void setValue( domBool val ) { _value = val; }
00461
00462 protected:
00466 domInterpenetrate(DAE& dae) : daeElement(dae), attrSid(), _value() {}
00470 virtual ~domInterpenetrate() {}
00474 virtual domInterpenetrate &operator=( const domInterpenetrate &cpy ) { (void)cpy; return *this; }
00475
00476 public:
00481 static DLLSPEC daeElementRef create(DAE& dae);
00487 static DLLSPEC daeMetaElement* registerElement(DAE& dae);
00488 };
00489
00490 class domLimits;
00491
00492 typedef daeSmartRef<domLimits> domLimitsRef;
00493 typedef daeTArray<domLimitsRef> domLimits_Array;
00494
00499 class domLimits : public daeElement
00500 {
00501 public:
00502 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::LIMITS; }
00503 static daeInt ID() { return 807; }
00504 virtual daeInt typeID() const { return ID(); }
00505 public:
00506 class domSwing_cone_and_twist;
00507
00508 typedef daeSmartRef<domSwing_cone_and_twist> domSwing_cone_and_twistRef;
00509 typedef daeTArray<domSwing_cone_and_twistRef> domSwing_cone_and_twist_Array;
00510
00516 class domSwing_cone_and_twist : public daeElement
00517 {
00518 public:
00519 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::SWING_CONE_AND_TWIST; }
00520 static daeInt ID() { return 808; }
00521 virtual daeInt typeID() const { return ID(); }
00522
00523 protected:
00527 domTargetableFloat3Ref elemMin;
00531 domTargetableFloat3Ref elemMax;
00532
00533 public:
00538 const domTargetableFloat3Ref getMin() const { return elemMin; }
00543 const domTargetableFloat3Ref getMax() const { return elemMax; }
00544 protected:
00548 domSwing_cone_and_twist(DAE& dae) : daeElement(dae), elemMin(), elemMax() {}
00552 virtual ~domSwing_cone_and_twist() {}
00556 virtual domSwing_cone_and_twist &operator=( const domSwing_cone_and_twist &cpy ) { (void)cpy; return *this; }
00557
00558 public:
00563 static DLLSPEC daeElementRef create(DAE& dae);
00569 static DLLSPEC daeMetaElement* registerElement(DAE& dae);
00570 };
00571
00572 class domLinear;
00573
00574 typedef daeSmartRef<domLinear> domLinearRef;
00575 typedef daeTArray<domLinearRef> domLinear_Array;
00576
00580 class domLinear : public daeElement
00581 {
00582 public:
00583 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::LINEAR; }
00584 static daeInt ID() { return 809; }
00585 virtual daeInt typeID() const { return ID(); }
00586
00587 protected:
00591 domTargetableFloat3Ref elemMin;
00595 domTargetableFloat3Ref elemMax;
00596
00597 public:
00602 const domTargetableFloat3Ref getMin() const { return elemMin; }
00607 const domTargetableFloat3Ref getMax() const { return elemMax; }
00608 protected:
00612 domLinear(DAE& dae) : daeElement(dae), elemMin(), elemMax() {}
00616 virtual ~domLinear() {}
00620 virtual domLinear &operator=( const domLinear &cpy ) { (void)cpy; return *this; }
00621
00622 public:
00627 static DLLSPEC daeElementRef create(DAE& dae);
00633 static DLLSPEC daeMetaElement* registerElement(DAE& dae);
00634 };
00635
00636
00637
00638 protected:
00644 domSwing_cone_and_twistRef elemSwing_cone_and_twist;
00649 domLinearRef elemLinear;
00650
00651 public:
00656 const domSwing_cone_and_twistRef getSwing_cone_and_twist() const { return elemSwing_cone_and_twist; }
00661 const domLinearRef getLinear() const { return elemLinear; }
00662 protected:
00666 domLimits(DAE& dae) : daeElement(dae), elemSwing_cone_and_twist(), elemLinear() {}
00670 virtual ~domLimits() {}
00674 virtual domLimits &operator=( const domLimits &cpy ) { (void)cpy; return *this; }
00675
00676 public:
00681 static DLLSPEC daeElementRef create(DAE& dae);
00687 static DLLSPEC daeMetaElement* registerElement(DAE& dae);
00688 };
00689
00690 class domSpring;
00691
00692 typedef daeSmartRef<domSpring> domSpringRef;
00693 typedef daeTArray<domSpringRef> domSpring_Array;
00694
00698 class domSpring : public daeElement
00699 {
00700 public:
00701 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::SPRING; }
00702 static daeInt ID() { return 810; }
00703 virtual daeInt typeID() const { return ID(); }
00704 public:
00705 class domAngular;
00706
00707 typedef daeSmartRef<domAngular> domAngularRef;
00708 typedef daeTArray<domAngularRef> domAngular_Array;
00709
00713 class domAngular : public daeElement
00714 {
00715 public:
00716 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::ANGULAR; }
00717 static daeInt ID() { return 811; }
00718 virtual daeInt typeID() const { return ID(); }
00719
00720 protected:
00725 domTargetableFloatRef elemStiffness;
00729 domTargetableFloatRef elemDamping;
00733 domTargetableFloatRef elemTarget_value;
00734
00735 public:
00740 const domTargetableFloatRef getStiffness() const { return elemStiffness; }
00745 const domTargetableFloatRef getDamping() const { return elemDamping; }
00750 const domTargetableFloatRef getTarget_value() const { return elemTarget_value; }
00751 protected:
00755 domAngular(DAE& dae) : daeElement(dae), elemStiffness(), elemDamping(), elemTarget_value() {}
00759 virtual ~domAngular() {}
00763 virtual domAngular &operator=( const domAngular &cpy ) { (void)cpy; return *this; }
00764
00765 public:
00770 static DLLSPEC daeElementRef create(DAE& dae);
00776 static DLLSPEC daeMetaElement* registerElement(DAE& dae);
00777 };
00778
00779 class domLinear;
00780
00781 typedef daeSmartRef<domLinear> domLinearRef;
00782 typedef daeTArray<domLinearRef> domLinear_Array;
00783
00787 class domLinear : public daeElement
00788 {
00789 public:
00790 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::LINEAR; }
00791 static daeInt ID() { return 812; }
00792 virtual daeInt typeID() const { return ID(); }
00793
00794 protected:
00799 domTargetableFloatRef elemStiffness;
00803 domTargetableFloatRef elemDamping;
00807 domTargetableFloatRef elemTarget_value;
00808
00809 public:
00814 const domTargetableFloatRef getStiffness() const { return elemStiffness; }
00819 const domTargetableFloatRef getDamping() const { return elemDamping; }
00824 const domTargetableFloatRef getTarget_value() const { return elemTarget_value; }
00825 protected:
00829 domLinear(DAE& dae) : daeElement(dae), elemStiffness(), elemDamping(), elemTarget_value() {}
00833 virtual ~domLinear() {}
00837 virtual domLinear &operator=( const domLinear &cpy ) { (void)cpy; return *this; }
00838
00839 public:
00844 static DLLSPEC daeElementRef create(DAE& dae);
00850 static DLLSPEC daeMetaElement* registerElement(DAE& dae);
00851 };
00852
00853
00854
00855 protected:
00859 domAngularRef elemAngular;
00863 domLinearRef elemLinear;
00864
00865 public:
00870 const domAngularRef getAngular() const { return elemAngular; }
00875 const domLinearRef getLinear() const { return elemLinear; }
00876 protected:
00880 domSpring(DAE& dae) : daeElement(dae), elemAngular(), elemLinear() {}
00884 virtual ~domSpring() {}
00888 virtual domSpring &operator=( const domSpring &cpy ) { (void)cpy; return *this; }
00889
00890 public:
00895 static DLLSPEC daeElementRef create(DAE& dae);
00901 static DLLSPEC daeMetaElement* registerElement(DAE& dae);
00902 };
00903
00904
00905
00906 protected:
00911 domEnabledRef elemEnabled;
00915 domInterpenetrateRef elemInterpenetrate;
00920 domLimitsRef elemLimits;
00925 domSpringRef elemSpring;
00926
00927 public:
00932 const domEnabledRef getEnabled() const { return elemEnabled; }
00937 const domInterpenetrateRef getInterpenetrate() const { return elemInterpenetrate; }
00942 const domLimitsRef getLimits() const { return elemLimits; }
00947 const domSpringRef getSpring() const { return elemSpring; }
00948 protected:
00952 domTechnique_common(DAE& dae) : daeElement(dae), elemEnabled(), elemInterpenetrate(), elemLimits(), elemSpring() {}
00956 virtual ~domTechnique_common() {}
00960 virtual domTechnique_common &operator=( const domTechnique_common &cpy ) { (void)cpy; return *this; }
00961
00962 public:
00967 static DLLSPEC daeElementRef create(DAE& dae);
00973 static DLLSPEC daeMetaElement* registerElement(DAE& dae);
00974 };
00975
00976
00977 protected:
00983 xsNCName attrSid;
00987 xsNCName attrName;
00988
00989 protected:
00994 domRef_attachmentRef elemRef_attachment;
00998 domAttachmentRef elemAttachment;
01004 domTechnique_commonRef elemTechnique_common;
01009 domTechnique_Array elemTechnique_array;
01013 domExtra_Array elemExtra_array;
01014
01015 public:
01020 xsNCName getSid() const { return attrSid; }
01025 void setSid( xsNCName atSid ) { *(daeStringRef*)&attrSid = atSid; _validAttributeArray[0] = true; }
01026
01031 xsNCName getName() const { return attrName; }
01036 void setName( xsNCName atName ) { *(daeStringRef*)&attrName = atName; _validAttributeArray[1] = true; }
01037
01042 const domRef_attachmentRef getRef_attachment() const { return elemRef_attachment; }
01047 const domAttachmentRef getAttachment() const { return elemAttachment; }
01052 const domTechnique_commonRef getTechnique_common() const { return elemTechnique_common; }
01057 domTechnique_Array &getTechnique_array() { return elemTechnique_array; }
01062 const domTechnique_Array &getTechnique_array() const { return elemTechnique_array; }
01067 domExtra_Array &getExtra_array() { return elemExtra_array; }
01072 const domExtra_Array &getExtra_array() const { return elemExtra_array; }
01073 protected:
01077 domRigid_constraint(DAE& dae) : daeElement(dae), attrSid(), attrName(), elemRef_attachment(), elemAttachment(), elemTechnique_common(), elemTechnique_array(), elemExtra_array() {}
01081 virtual ~domRigid_constraint() {}
01085 virtual domRigid_constraint &operator=( const domRigid_constraint &cpy ) { (void)cpy; return *this; }
01086
01087 public:
01092 static DLLSPEC daeElementRef create(DAE& dae);
01098 static DLLSPEC daeMetaElement* registerElement(DAE& dae);
01099 };
01100
01101
01102 #endif