00001 #ifndef __domInstance_effect_h__ 00002 #define __domInstance_effect_h__ 00003 00004 #include <dae/daeDocument.h> 00005 #include <dom/domTypes.h> 00006 #include <dom/domElements.h> 00007 00008 #include <dom/domFx_setparam.h> 00009 #include <dom/domExtra.h> 00010 class DAE; 00011 00016 class domInstance_effect : public daeElement 00017 { 00018 public: 00019 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::INSTANCE_EFFECT; } 00020 static daeInt ID() { return 117; } 00021 virtual daeInt typeID() const { return ID(); } 00022 public: 00023 class domTechnique_hint; 00024 00025 typedef daeSmartRef<domTechnique_hint> domTechnique_hintRef; 00026 typedef daeTArray<domTechnique_hintRef> domTechnique_hint_Array; 00027 00031 class domTechnique_hint : public daeElement 00032 { 00033 public: 00034 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::TECHNIQUE_HINT; } 00035 static daeInt ID() { return 118; } 00036 virtual daeInt typeID() const { return ID(); } 00037 protected: // Attributes 00042 xsNCName attrPlatform; 00047 xsNCName attrProfile; 00051 xsNCName attrRef; 00052 00053 00054 public: //Accessors and Mutators 00059 xsNCName getPlatform() const { return attrPlatform; } 00064 void setPlatform( xsNCName atPlatform ) { *(daeStringRef*)&attrPlatform = atPlatform; _validAttributeArray[0] = true; } 00065 00070 xsNCName getProfile() const { return attrProfile; } 00075 void setProfile( xsNCName atProfile ) { *(daeStringRef*)&attrProfile = atProfile; _validAttributeArray[1] = true; } 00076 00081 xsNCName getRef() const { return attrRef; } 00086 void setRef( xsNCName atRef ) { *(daeStringRef*)&attrRef = atRef; _validAttributeArray[2] = true; } 00087 00088 protected: 00092 domTechnique_hint(DAE& dae) : daeElement(dae), attrPlatform(), attrProfile(), attrRef() {} 00096 virtual ~domTechnique_hint() {} 00100 virtual domTechnique_hint &operator=( const domTechnique_hint &cpy ) { (void)cpy; return *this; } 00101 00102 public: // STATIC METHODS 00107 static DLLSPEC daeElementRef create(DAE& dae); 00113 static DLLSPEC daeMetaElement* registerElement(DAE& dae); 00114 }; 00115 00116 class domSetparam; 00117 00118 typedef daeSmartRef<domSetparam> domSetparamRef; 00119 typedef daeTArray<domSetparamRef> domSetparam_Array; 00120 00124 class domSetparam : public daeElement 00125 { 00126 public: 00127 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::SETPARAM; } 00128 static daeInt ID() { return 119; } 00129 virtual daeInt typeID() const { return ID(); } 00130 protected: // Attribute 00131 xsToken attrRef; 00132 00133 protected: // Element 00134 domFx_setparamRef elemFx_setparam; 00135 00136 public: //Accessors and Mutators 00141 xsToken getRef() const { return attrRef; } 00146 void setRef( xsToken atRef ) { *(daeStringRef*)&attrRef = atRef; _validAttributeArray[0] = true; } 00147 00152 const domFx_setparamRef getFx_setparam() const { return elemFx_setparam; } 00153 protected: 00157 domSetparam(DAE& dae) : daeElement(dae), attrRef(), elemFx_setparam() {} 00161 virtual ~domSetparam() {} 00165 virtual domSetparam &operator=( const domSetparam &cpy ) { (void)cpy; return *this; } 00166 00167 public: // STATIC METHODS 00172 static DLLSPEC daeElementRef create(DAE& dae); 00178 static DLLSPEC daeMetaElement* registerElement(DAE& dae); 00179 }; 00180 00181 00182 protected: // Attributes 00189 xsAnyURI attrUrl; 00195 domSid attrSid; 00199 xsToken attrName; 00200 00201 protected: // Elements 00206 domTechnique_hint_Array elemTechnique_hint_array; 00210 domSetparam_Array elemSetparam_array; 00214 domExtra_Array elemExtra_array; 00215 00216 public: //Accessors and Mutators 00221 xsAnyURI &getUrl() { return attrUrl; } 00226 const xsAnyURI &getUrl() const { return attrUrl; } 00231 void setUrl( const xsAnyURI &atUrl ) { attrUrl = atUrl; } 00236 void setUrl( xsString atUrl ) { attrUrl = atUrl; } 00237 00242 domSid getSid() const { return attrSid; } 00247 void setSid( domSid atSid ) { *(daeStringRef*)&attrSid = atSid;} 00248 00253 xsToken getName() const { return attrName; } 00258 void setName( xsToken atName ) { *(daeStringRef*)&attrName = atName;} 00259 00264 domTechnique_hint_Array &getTechnique_hint_array() { return elemTechnique_hint_array; } 00269 const domTechnique_hint_Array &getTechnique_hint_array() const { return elemTechnique_hint_array; } 00274 domSetparam_Array &getSetparam_array() { return elemSetparam_array; } 00279 const domSetparam_Array &getSetparam_array() const { return elemSetparam_array; } 00284 domExtra_Array &getExtra_array() { return elemExtra_array; } 00289 const domExtra_Array &getExtra_array() const { return elemExtra_array; } 00290 protected: 00294 domInstance_effect(DAE& dae) : daeElement(dae), attrUrl(dae, *this), attrSid(), attrName(), elemTechnique_hint_array(), elemSetparam_array(), elemExtra_array() {} 00298 virtual ~domInstance_effect() {} 00302 virtual domInstance_effect &operator=( const domInstance_effect &cpy ) { (void)cpy; return *this; } 00303 00304 public: // STATIC METHODS 00309 static DLLSPEC daeElementRef create(DAE& dae); 00315 static DLLSPEC daeMetaElement* registerElement(DAE& dae); 00316 }; 00317 00318 00319 #endif