00001 #ifndef __domGlsl_value_h__
00002 #define __domGlsl_value_h__
00003
00004 #include <dae/daeDocument.h>
00005 #include <dom/domTypes.h>
00006 #include <dom/domElements.h>
00007
00008 #include <dom/domFx_sampler1D.h>
00009 #include <dom/domFx_sampler2D.h>
00010 #include <dom/domFx_sampler3D.h>
00011 #include <dom/domFx_samplerCUBE.h>
00012 #include <dom/domFx_samplerRECT.h>
00013 #include <dom/domFx_samplerDEPTH.h>
00014 #include <dom/domGlsl_array.h>
00015 class DAE;
00016
00020 class domGlsl_value : public daeElement
00021 {
00022 public:
00023 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::GLSL_VALUE; }
00024 static daeInt ID() { return 747; }
00025 virtual daeInt typeID() const { return ID(); }
00026 public:
00027 class domBool;
00028
00029 typedef daeSmartRef<domBool> domBoolRef;
00030 typedef daeTArray<domBoolRef> domBool_Array;
00031
00032 class domBool : public daeElement
00033 {
00034 public:
00035 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::BOOL; }
00036 static daeInt ID() { return 748; }
00037 virtual daeInt typeID() const { return ID(); }
00038
00039
00040 public:
00045 xsBoolean& getValue() { return _value; }
00050 void setValue( const xsBoolean& val ) { _value = val; }
00051
00052 protected:
00056 xsBoolean _value;
00057 protected:
00061 domBool(DAE& dae) : daeElement(dae), _value() {}
00065 virtual ~domBool() {}
00069 virtual domBool &operator=( const domBool &cpy ) { (void)cpy; return *this; }
00070
00071 public:
00076 static DLLSPEC daeElementRef create(DAE& dae);
00082 static DLLSPEC daeMetaElement* registerElement(DAE& dae);
00083 };
00084
00085 class domBool2;
00086
00087 typedef daeSmartRef<domBool2> domBool2Ref;
00088 typedef daeTArray<domBool2Ref> domBool2_Array;
00089
00090 class domBool2 : public daeElement
00091 {
00092 public:
00093 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::BOOL2; }
00094 static daeInt ID() { return 749; }
00095 virtual daeInt typeID() const { return ID(); }
00096
00097
00098 public:
00103 ::domBool2& getValue() { return _value; }
00108 void setValue( const ::domBool2& val ) { _value = val; }
00109
00110 protected:
00114 ::domBool2 _value;
00115 protected:
00119 domBool2(DAE& dae) : daeElement(dae), _value() {}
00123 virtual ~domBool2() {}
00127 virtual domBool2 &operator=( const domBool2 &cpy ) { (void)cpy; return *this; }
00128
00129 public:
00134 static DLLSPEC daeElementRef create(DAE& dae);
00140 static DLLSPEC daeMetaElement* registerElement(DAE& dae);
00141 };
00142
00143 class domBool3;
00144
00145 typedef daeSmartRef<domBool3> domBool3Ref;
00146 typedef daeTArray<domBool3Ref> domBool3_Array;
00147
00148 class domBool3 : public daeElement
00149 {
00150 public:
00151 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::BOOL3; }
00152 static daeInt ID() { return 750; }
00153 virtual daeInt typeID() const { return ID(); }
00154
00155
00156 public:
00161 ::domBool3& getValue() { return _value; }
00166 void setValue( const ::domBool3& val ) { _value = val; }
00167
00168 protected:
00172 ::domBool3 _value;
00173 protected:
00177 domBool3(DAE& dae) : daeElement(dae), _value() {}
00181 virtual ~domBool3() {}
00185 virtual domBool3 &operator=( const domBool3 &cpy ) { (void)cpy; return *this; }
00186
00187 public:
00192 static DLLSPEC daeElementRef create(DAE& dae);
00198 static DLLSPEC daeMetaElement* registerElement(DAE& dae);
00199 };
00200
00201 class domBool4;
00202
00203 typedef daeSmartRef<domBool4> domBool4Ref;
00204 typedef daeTArray<domBool4Ref> domBool4_Array;
00205
00206 class domBool4 : public daeElement
00207 {
00208 public:
00209 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::BOOL4; }
00210 static daeInt ID() { return 751; }
00211 virtual daeInt typeID() const { return ID(); }
00212
00213
00214 public:
00219 ::domBool4& getValue() { return _value; }
00224 void setValue( const ::domBool4& val ) { _value = val; }
00225
00226 protected:
00230 ::domBool4 _value;
00231 protected:
00235 domBool4(DAE& dae) : daeElement(dae), _value() {}
00239 virtual ~domBool4() {}
00243 virtual domBool4 &operator=( const domBool4 &cpy ) { (void)cpy; return *this; }
00244
00245 public:
00250 static DLLSPEC daeElementRef create(DAE& dae);
00256 static DLLSPEC daeMetaElement* registerElement(DAE& dae);
00257 };
00258
00259 class domFloat;
00260
00261 typedef daeSmartRef<domFloat> domFloatRef;
00262 typedef daeTArray<domFloatRef> domFloat_Array;
00263
00264 class domFloat : public daeElement
00265 {
00266 public:
00267 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT; }
00268 static daeInt ID() { return 752; }
00269 virtual daeInt typeID() const { return ID(); }
00270
00271
00272 public:
00277 ::domFloat& getValue() { return _value; }
00282 void setValue( const ::domFloat& val ) { _value = val; }
00283
00284 protected:
00288 ::domFloat _value;
00289 protected:
00293 domFloat(DAE& dae) : daeElement(dae), _value() {}
00297 virtual ~domFloat() {}
00301 virtual domFloat &operator=( const domFloat &cpy ) { (void)cpy; return *this; }
00302
00303 public:
00308 static DLLSPEC daeElementRef create(DAE& dae);
00314 static DLLSPEC daeMetaElement* registerElement(DAE& dae);
00315 };
00316
00317 class domFloat2;
00318
00319 typedef daeSmartRef<domFloat2> domFloat2Ref;
00320 typedef daeTArray<domFloat2Ref> domFloat2_Array;
00321
00322 class domFloat2 : public daeElement
00323 {
00324 public:
00325 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT2; }
00326 static daeInt ID() { return 753; }
00327 virtual daeInt typeID() const { return ID(); }
00328
00329
00330 public:
00335 ::domFloat2& getValue() { return _value; }
00340 void setValue( const ::domFloat2& val ) { _value = val; }
00341
00342 protected:
00346 ::domFloat2 _value;
00347 protected:
00351 domFloat2(DAE& dae) : daeElement(dae), _value() {}
00355 virtual ~domFloat2() {}
00359 virtual domFloat2 &operator=( const domFloat2 &cpy ) { (void)cpy; return *this; }
00360
00361 public:
00366 static DLLSPEC daeElementRef create(DAE& dae);
00372 static DLLSPEC daeMetaElement* registerElement(DAE& dae);
00373 };
00374
00375 class domFloat3;
00376
00377 typedef daeSmartRef<domFloat3> domFloat3Ref;
00378 typedef daeTArray<domFloat3Ref> domFloat3_Array;
00379
00380 class domFloat3 : public daeElement
00381 {
00382 public:
00383 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT3; }
00384 static daeInt ID() { return 754; }
00385 virtual daeInt typeID() const { return ID(); }
00386
00387
00388 public:
00393 ::domFloat3& getValue() { return _value; }
00398 void setValue( const ::domFloat3& val ) { _value = val; }
00399
00400 protected:
00404 ::domFloat3 _value;
00405 protected:
00409 domFloat3(DAE& dae) : daeElement(dae), _value() {}
00413 virtual ~domFloat3() {}
00417 virtual domFloat3 &operator=( const domFloat3 &cpy ) { (void)cpy; return *this; }
00418
00419 public:
00424 static DLLSPEC daeElementRef create(DAE& dae);
00430 static DLLSPEC daeMetaElement* registerElement(DAE& dae);
00431 };
00432
00433 class domFloat4;
00434
00435 typedef daeSmartRef<domFloat4> domFloat4Ref;
00436 typedef daeTArray<domFloat4Ref> domFloat4_Array;
00437
00438 class domFloat4 : public daeElement
00439 {
00440 public:
00441 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT4; }
00442 static daeInt ID() { return 755; }
00443 virtual daeInt typeID() const { return ID(); }
00444
00445
00446 public:
00451 ::domFloat4& getValue() { return _value; }
00456 void setValue( const ::domFloat4& val ) { _value = val; }
00457
00458 protected:
00462 ::domFloat4 _value;
00463 protected:
00467 domFloat4(DAE& dae) : daeElement(dae), _value() {}
00471 virtual ~domFloat4() {}
00475 virtual domFloat4 &operator=( const domFloat4 &cpy ) { (void)cpy; return *this; }
00476
00477 public:
00482 static DLLSPEC daeElementRef create(DAE& dae);
00488 static DLLSPEC daeMetaElement* registerElement(DAE& dae);
00489 };
00490
00491 class domFloat2x2;
00492
00493 typedef daeSmartRef<domFloat2x2> domFloat2x2Ref;
00494 typedef daeTArray<domFloat2x2Ref> domFloat2x2_Array;
00495
00496 class domFloat2x2 : public daeElement
00497 {
00498 public:
00499 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT2X2; }
00500 static daeInt ID() { return 756; }
00501 virtual daeInt typeID() const { return ID(); }
00502
00503
00504 public:
00509 ::domFloat2x2& getValue() { return _value; }
00514 void setValue( const ::domFloat2x2& val ) { _value = val; }
00515
00516 protected:
00520 ::domFloat2x2 _value;
00521 protected:
00525 domFloat2x2(DAE& dae) : daeElement(dae), _value() {}
00529 virtual ~domFloat2x2() {}
00533 virtual domFloat2x2 &operator=( const domFloat2x2 &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 class domFloat3x3;
00550
00551 typedef daeSmartRef<domFloat3x3> domFloat3x3Ref;
00552 typedef daeTArray<domFloat3x3Ref> domFloat3x3_Array;
00553
00554 class domFloat3x3 : public daeElement
00555 {
00556 public:
00557 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT3X3; }
00558 static daeInt ID() { return 757; }
00559 virtual daeInt typeID() const { return ID(); }
00560
00561
00562 public:
00567 ::domFloat3x3& getValue() { return _value; }
00572 void setValue( const ::domFloat3x3& val ) { _value = val; }
00573
00574 protected:
00578 ::domFloat3x3 _value;
00579 protected:
00583 domFloat3x3(DAE& dae) : daeElement(dae), _value() {}
00587 virtual ~domFloat3x3() {}
00591 virtual domFloat3x3 &operator=( const domFloat3x3 &cpy ) { (void)cpy; return *this; }
00592
00593 public:
00598 static DLLSPEC daeElementRef create(DAE& dae);
00604 static DLLSPEC daeMetaElement* registerElement(DAE& dae);
00605 };
00606
00607 class domFloat4x4;
00608
00609 typedef daeSmartRef<domFloat4x4> domFloat4x4Ref;
00610 typedef daeTArray<domFloat4x4Ref> domFloat4x4_Array;
00611
00612 class domFloat4x4 : public daeElement
00613 {
00614 public:
00615 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT4X4; }
00616 static daeInt ID() { return 758; }
00617 virtual daeInt typeID() const { return ID(); }
00618
00619
00620 public:
00625 ::domFloat4x4& getValue() { return _value; }
00630 void setValue( const ::domFloat4x4& val ) { _value = val; }
00631
00632 protected:
00636 ::domFloat4x4 _value;
00637 protected:
00641 domFloat4x4(DAE& dae) : daeElement(dae), _value() {}
00645 virtual ~domFloat4x4() {}
00649 virtual domFloat4x4 &operator=( const domFloat4x4 &cpy ) { (void)cpy; return *this; }
00650
00651 public:
00656 static DLLSPEC daeElementRef create(DAE& dae);
00662 static DLLSPEC daeMetaElement* registerElement(DAE& dae);
00663 };
00664
00665 class domInt;
00666
00667 typedef daeSmartRef<domInt> domIntRef;
00668 typedef daeTArray<domIntRef> domInt_Array;
00669
00670 class domInt : public daeElement
00671 {
00672 public:
00673 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::INT; }
00674 static daeInt ID() { return 759; }
00675 virtual daeInt typeID() const { return ID(); }
00676
00677
00678 public:
00683 ::domInt& getValue() { return _value; }
00688 void setValue( const ::domInt& val ) { _value = val; }
00689
00690 protected:
00694 ::domInt _value;
00695 protected:
00699 domInt(DAE& dae) : daeElement(dae), _value() {}
00703 virtual ~domInt() {}
00707 virtual domInt &operator=( const domInt &cpy ) { (void)cpy; return *this; }
00708
00709 public:
00714 static DLLSPEC daeElementRef create(DAE& dae);
00720 static DLLSPEC daeMetaElement* registerElement(DAE& dae);
00721 };
00722
00723 class domInt2;
00724
00725 typedef daeSmartRef<domInt2> domInt2Ref;
00726 typedef daeTArray<domInt2Ref> domInt2_Array;
00727
00728 class domInt2 : public daeElement
00729 {
00730 public:
00731 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::INT2; }
00732 static daeInt ID() { return 760; }
00733 virtual daeInt typeID() const { return ID(); }
00734
00735
00736 public:
00741 ::domInt2& getValue() { return _value; }
00746 void setValue( const ::domInt2& val ) { _value = val; }
00747
00748 protected:
00752 ::domInt2 _value;
00753 protected:
00757 domInt2(DAE& dae) : daeElement(dae), _value() {}
00761 virtual ~domInt2() {}
00765 virtual domInt2 &operator=( const domInt2 &cpy ) { (void)cpy; return *this; }
00766
00767 public:
00772 static DLLSPEC daeElementRef create(DAE& dae);
00778 static DLLSPEC daeMetaElement* registerElement(DAE& dae);
00779 };
00780
00781 class domInt3;
00782
00783 typedef daeSmartRef<domInt3> domInt3Ref;
00784 typedef daeTArray<domInt3Ref> domInt3_Array;
00785
00786 class domInt3 : public daeElement
00787 {
00788 public:
00789 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::INT3; }
00790 static daeInt ID() { return 761; }
00791 virtual daeInt typeID() const { return ID(); }
00792
00793
00794 public:
00799 ::domInt3& getValue() { return _value; }
00804 void setValue( const ::domInt3& val ) { _value = val; }
00805
00806 protected:
00810 ::domInt3 _value;
00811 protected:
00815 domInt3(DAE& dae) : daeElement(dae), _value() {}
00819 virtual ~domInt3() {}
00823 virtual domInt3 &operator=( const domInt3 &cpy ) { (void)cpy; return *this; }
00824
00825 public:
00830 static DLLSPEC daeElementRef create(DAE& dae);
00836 static DLLSPEC daeMetaElement* registerElement(DAE& dae);
00837 };
00838
00839 class domInt4;
00840
00841 typedef daeSmartRef<domInt4> domInt4Ref;
00842 typedef daeTArray<domInt4Ref> domInt4_Array;
00843
00844 class domInt4 : public daeElement
00845 {
00846 public:
00847 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::INT4; }
00848 static daeInt ID() { return 762; }
00849 virtual daeInt typeID() const { return ID(); }
00850
00851
00852 public:
00857 ::domInt4& getValue() { return _value; }
00862 void setValue( const ::domInt4& val ) { _value = val; }
00863
00864 protected:
00868 ::domInt4 _value;
00869 protected:
00873 domInt4(DAE& dae) : daeElement(dae), _value() {}
00877 virtual ~domInt4() {}
00881 virtual domInt4 &operator=( const domInt4 &cpy ) { (void)cpy; return *this; }
00882
00883 public:
00888 static DLLSPEC daeElementRef create(DAE& dae);
00894 static DLLSPEC daeMetaElement* registerElement(DAE& dae);
00895 };
00896
00897 class domEnum;
00898
00899 typedef daeSmartRef<domEnum> domEnumRef;
00900 typedef daeTArray<domEnumRef> domEnum_Array;
00901
00902 class domEnum : public daeElement
00903 {
00904 public:
00905 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::ENUM; }
00906 static daeInt ID() { return 763; }
00907 virtual daeInt typeID() const { return ID(); }
00908
00909
00910 public:
00915 domGl_enumeration& getValue() { return _value; }
00920 void setValue( const domGl_enumeration& val ) { _value = val; }
00921
00922 protected:
00926 domGl_enumeration _value;
00927 protected:
00931 domEnum(DAE& dae) : daeElement(dae), _value() {}
00935 virtual ~domEnum() {}
00939 virtual domEnum &operator=( const domEnum &cpy ) { (void)cpy; return *this; }
00940
00941 public:
00946 static DLLSPEC daeElementRef create(DAE& dae);
00952 static DLLSPEC daeMetaElement* registerElement(DAE& dae);
00953 };
00954
00955
00956
00957 protected:
00958 domBoolRef elemBool;
00959 domBool2Ref elemBool2;
00960 domBool3Ref elemBool3;
00961 domBool4Ref elemBool4;
00962 domFloatRef elemFloat;
00963 domFloat2Ref elemFloat2;
00964 domFloat3Ref elemFloat3;
00965 domFloat4Ref elemFloat4;
00966 domFloat2x2Ref elemFloat2x2;
00967 domFloat3x3Ref elemFloat3x3;
00968 domFloat4x4Ref elemFloat4x4;
00969 domIntRef elemInt;
00970 domInt2Ref elemInt2;
00971 domInt3Ref elemInt3;
00972 domInt4Ref elemInt4;
00973 domFx_sampler1DRef elemSampler1D;
00974 domFx_sampler2DRef elemSampler2D;
00975 domFx_sampler3DRef elemSampler3D;
00976 domFx_samplerCUBERef elemSamplerCUBE;
00977 domFx_samplerRECTRef elemSamplerRECT;
00978 domFx_samplerDEPTHRef elemSamplerDEPTH;
00979 domEnumRef elemEnum;
00980 domGlsl_arrayRef elemArray;
00984 daeElementRefArray _contents;
00988 daeUIntArray _contentsOrder;
00989
00993 daeTArray< daeCharArray * > _CMData;
00994
00995
00996 public:
01001 const domBoolRef getBool() const { return elemBool; }
01006 const domBool2Ref getBool2() const { return elemBool2; }
01011 const domBool3Ref getBool3() const { return elemBool3; }
01016 const domBool4Ref getBool4() const { return elemBool4; }
01021 const domFloatRef getFloat() const { return elemFloat; }
01026 const domFloat2Ref getFloat2() const { return elemFloat2; }
01031 const domFloat3Ref getFloat3() const { return elemFloat3; }
01036 const domFloat4Ref getFloat4() const { return elemFloat4; }
01041 const domFloat2x2Ref getFloat2x2() const { return elemFloat2x2; }
01046 const domFloat3x3Ref getFloat3x3() const { return elemFloat3x3; }
01051 const domFloat4x4Ref getFloat4x4() const { return elemFloat4x4; }
01056 const domIntRef getInt() const { return elemInt; }
01061 const domInt2Ref getInt2() const { return elemInt2; }
01066 const domInt3Ref getInt3() const { return elemInt3; }
01071 const domInt4Ref getInt4() const { return elemInt4; }
01076 const domFx_sampler1DRef getSampler1D() const { return elemSampler1D; }
01081 const domFx_sampler2DRef getSampler2D() const { return elemSampler2D; }
01086 const domFx_sampler3DRef getSampler3D() const { return elemSampler3D; }
01091 const domFx_samplerCUBERef getSamplerCUBE() const { return elemSamplerCUBE; }
01096 const domFx_samplerRECTRef getSamplerRECT() const { return elemSamplerRECT; }
01101 const domFx_samplerDEPTHRef getSamplerDEPTH() const { return elemSamplerDEPTH; }
01106 const domEnumRef getEnum() const { return elemEnum; }
01111 const domGlsl_arrayRef getArray() const { return elemArray; }
01116 daeElementRefArray &getContents() { return _contents; }
01121 const daeElementRefArray &getContents() const { return _contents; }
01122
01123 protected:
01127 domGlsl_value(DAE& dae) : daeElement(dae), elemBool(), elemBool2(), elemBool3(), elemBool4(), elemFloat(), elemFloat2(), elemFloat3(), elemFloat4(), elemFloat2x2(), elemFloat3x3(), elemFloat4x4(), elemInt(), elemInt2(), elemInt3(), elemInt4(), elemSampler1D(), elemSampler2D(), elemSampler3D(), elemSamplerCUBE(), elemSamplerRECT(), elemSamplerDEPTH(), elemEnum(), elemArray() {}
01131 virtual ~domGlsl_value() { daeElement::deleteCMDataArray(_CMData); }
01135 virtual domGlsl_value &operator=( const domGlsl_value &cpy ) { (void)cpy; return *this; }
01136
01137 public:
01142 static DLLSPEC daeElementRef create(DAE& dae);
01148 static DLLSPEC daeMetaElement* registerElement(DAE& dae);
01149 };
01150
01151
01152 #endif