00001 #ifndef __domFx_common_newparam_h__ 00002 #define __domFx_common_newparam_h__ 00003 00004 #include <dae/daeDocument.h> 00005 #include <dom/domTypes.h> 00006 #include <dom/domElements.h> 00007 00008 #include <dom/domFx_sampler2D.h> 00009 class DAE; 00010 00011 class domFx_common_newparam : public daeElement 00012 { 00013 public: 00014 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FX_COMMON_NEWPARAM; } 00015 static daeInt ID() { return 197; } 00016 virtual daeInt typeID() const { return ID(); } 00017 public: 00018 class domSemantic; 00019 00020 typedef daeSmartRef<domSemantic> domSemanticRef; 00021 typedef daeTArray<domSemanticRef> domSemantic_Array; 00022 00023 class domSemantic : public daeElement 00024 { 00025 public: 00026 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::SEMANTIC; } 00027 static daeInt ID() { return 198; } 00028 virtual daeInt typeID() const { return ID(); } 00029 00030 00031 public: //Accessors and Mutators 00036 xsNCName getValue() const { return _value; } 00041 void setValue( xsNCName val ) { *(daeStringRef*)&_value = val; } 00042 00043 protected: // Value 00047 xsNCName _value; 00048 protected: 00052 domSemantic(DAE& dae) : daeElement(dae), _value() {} 00056 virtual ~domSemantic() {} 00060 virtual domSemantic &operator=( const domSemantic &cpy ) { (void)cpy; return *this; } 00061 00062 public: // STATIC METHODS 00067 static DLLSPEC daeElementRef create(DAE& dae); 00073 static DLLSPEC daeMetaElement* registerElement(DAE& dae); 00074 }; 00075 00076 class domFloat; 00077 00078 typedef daeSmartRef<domFloat> domFloatRef; 00079 typedef daeTArray<domFloatRef> domFloat_Array; 00080 00081 class domFloat : public daeElement 00082 { 00083 public: 00084 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT; } 00085 static daeInt ID() { return 199; } 00086 virtual daeInt typeID() const { return ID(); } 00087 00088 00089 public: //Accessors and Mutators 00094 ::domFloat& getValue() { return _value; } 00099 void setValue( const ::domFloat& val ) { _value = val; } 00100 00101 protected: // Value 00105 ::domFloat _value; 00106 protected: 00110 domFloat(DAE& dae) : daeElement(dae), _value() {} 00114 virtual ~domFloat() {} 00118 virtual domFloat &operator=( const domFloat &cpy ) { (void)cpy; return *this; } 00119 00120 public: // STATIC METHODS 00125 static DLLSPEC daeElementRef create(DAE& dae); 00131 static DLLSPEC daeMetaElement* registerElement(DAE& dae); 00132 }; 00133 00134 class domFloat2; 00135 00136 typedef daeSmartRef<domFloat2> domFloat2Ref; 00137 typedef daeTArray<domFloat2Ref> domFloat2_Array; 00138 00139 class domFloat2 : public daeElement 00140 { 00141 public: 00142 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT2; } 00143 static daeInt ID() { return 200; } 00144 virtual daeInt typeID() const { return ID(); } 00145 00146 00147 public: //Accessors and Mutators 00152 ::domFloat2& getValue() { return _value; } 00157 void setValue( const ::domFloat2& val ) { _value = val; } 00158 00159 protected: // Value 00163 ::domFloat2 _value; 00164 protected: 00168 domFloat2(DAE& dae) : daeElement(dae), _value() {} 00172 virtual ~domFloat2() {} 00176 virtual domFloat2 &operator=( const domFloat2 &cpy ) { (void)cpy; return *this; } 00177 00178 public: // STATIC METHODS 00183 static DLLSPEC daeElementRef create(DAE& dae); 00189 static DLLSPEC daeMetaElement* registerElement(DAE& dae); 00190 }; 00191 00192 class domFloat3; 00193 00194 typedef daeSmartRef<domFloat3> domFloat3Ref; 00195 typedef daeTArray<domFloat3Ref> domFloat3_Array; 00196 00197 class domFloat3 : public daeElement 00198 { 00199 public: 00200 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT3; } 00201 static daeInt ID() { return 201; } 00202 virtual daeInt typeID() const { return ID(); } 00203 00204 00205 public: //Accessors and Mutators 00210 ::domFloat3& getValue() { return _value; } 00215 void setValue( const ::domFloat3& val ) { _value = val; } 00216 00217 protected: // Value 00221 ::domFloat3 _value; 00222 protected: 00226 domFloat3(DAE& dae) : daeElement(dae), _value() {} 00230 virtual ~domFloat3() {} 00234 virtual domFloat3 &operator=( const domFloat3 &cpy ) { (void)cpy; return *this; } 00235 00236 public: // STATIC METHODS 00241 static DLLSPEC daeElementRef create(DAE& dae); 00247 static DLLSPEC daeMetaElement* registerElement(DAE& dae); 00248 }; 00249 00250 class domFloat4; 00251 00252 typedef daeSmartRef<domFloat4> domFloat4Ref; 00253 typedef daeTArray<domFloat4Ref> domFloat4_Array; 00254 00255 class domFloat4 : public daeElement 00256 { 00257 public: 00258 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FLOAT4; } 00259 static daeInt ID() { return 202; } 00260 virtual daeInt typeID() const { return ID(); } 00261 00262 00263 public: //Accessors and Mutators 00268 ::domFloat4& getValue() { return _value; } 00273 void setValue( const ::domFloat4& val ) { _value = val; } 00274 00275 protected: // Value 00279 ::domFloat4 _value; 00280 protected: 00284 domFloat4(DAE& dae) : daeElement(dae), _value() {} 00288 virtual ~domFloat4() {} 00292 virtual domFloat4 &operator=( const domFloat4 &cpy ) { (void)cpy; return *this; } 00293 00294 public: // STATIC METHODS 00299 static DLLSPEC daeElementRef create(DAE& dae); 00305 static DLLSPEC daeMetaElement* registerElement(DAE& dae); 00306 }; 00307 00308 00309 protected: // Attribute 00315 domSid attrSid; 00316 00317 protected: // Elements 00318 domSemanticRef elemSemantic; 00319 domFloatRef elemFloat; 00320 domFloat2Ref elemFloat2; 00321 domFloat3Ref elemFloat3; 00322 domFloat4Ref elemFloat4; 00323 domFx_sampler2DRef elemSampler2D; 00327 daeElementRefArray _contents; 00331 daeUIntArray _contentsOrder; 00332 00336 daeTArray< daeCharArray * > _CMData; 00337 00338 00339 public: //Accessors and Mutators 00344 domSid getSid() const { return attrSid; } 00349 void setSid( domSid atSid ) { *(daeStringRef*)&attrSid = atSid;} 00350 00355 const domSemanticRef getSemantic() const { return elemSemantic; } 00360 const domFloatRef getFloat() const { return elemFloat; } 00365 const domFloat2Ref getFloat2() const { return elemFloat2; } 00370 const domFloat3Ref getFloat3() const { return elemFloat3; } 00375 const domFloat4Ref getFloat4() const { return elemFloat4; } 00380 const domFx_sampler2DRef getSampler2D() const { return elemSampler2D; } 00385 daeElementRefArray &getContents() { return _contents; } 00390 const daeElementRefArray &getContents() const { return _contents; } 00391 00392 protected: 00396 domFx_common_newparam(DAE& dae) : daeElement(dae), attrSid(), elemSemantic(), elemFloat(), elemFloat2(), elemFloat3(), elemFloat4(), elemSampler2D() {} 00400 virtual ~domFx_common_newparam() { daeElement::deleteCMDataArray(_CMData); } 00404 virtual domFx_common_newparam &operator=( const domFx_common_newparam &cpy ) { (void)cpy; return *this; } 00405 00406 public: // STATIC METHODS 00411 static DLLSPEC daeElementRef create(DAE& dae); 00417 static DLLSPEC daeMetaElement* registerElement(DAE& dae); 00418 }; 00419 00420 00421 #endif