00001 #ifndef __domGlsl_newparam_h__ 00002 #define __domGlsl_newparam_h__ 00003 00004 #include <dae/daeDocument.h> 00005 #include <dom/domTypes.h> 00006 #include <dom/domElements.h> 00007 00008 #include <dom/domGlsl_value.h> 00009 #include <dom/domFx_annotate.h> 00010 class DAE; 00011 00012 class domGlsl_newparam : public daeElement 00013 { 00014 public: 00015 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::GLSL_NEWPARAM; } 00016 static daeInt ID() { return 228; } 00017 virtual daeInt typeID() const { return ID(); } 00018 public: 00019 class domSemantic; 00020 00021 typedef daeSmartRef<domSemantic> domSemanticRef; 00022 typedef daeTArray<domSemanticRef> domSemantic_Array; 00023 00024 class domSemantic : public daeElement 00025 { 00026 public: 00027 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::SEMANTIC; } 00028 static daeInt ID() { return 229; } 00029 virtual daeInt typeID() const { return ID(); } 00030 00031 00032 public: //Accessors and Mutators 00037 xsNCName getValue() const { return _value; } 00042 void setValue( xsNCName val ) { *(daeStringRef*)&_value = val; } 00043 00044 protected: // Value 00048 xsNCName _value; 00049 protected: 00053 domSemantic(DAE& dae) : daeElement(dae), _value() {} 00057 virtual ~domSemantic() {} 00061 virtual domSemantic &operator=( const domSemantic &cpy ) { (void)cpy; return *this; } 00062 00063 public: // STATIC METHODS 00068 static DLLSPEC daeElementRef create(DAE& dae); 00074 static DLLSPEC daeMetaElement* registerElement(DAE& dae); 00075 }; 00076 00077 class domModifier; 00078 00079 typedef daeSmartRef<domModifier> domModifierRef; 00080 typedef daeTArray<domModifierRef> domModifier_Array; 00081 00082 class domModifier : public daeElement 00083 { 00084 public: 00085 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::MODIFIER; } 00086 static daeInt ID() { return 230; } 00087 virtual daeInt typeID() const { return ID(); } 00088 00089 00090 public: //Accessors and Mutators 00095 domFx_modifier& getValue() { return _value; } 00100 void setValue( const domFx_modifier& val ) { _value = val; } 00101 00102 protected: // Value 00106 domFx_modifier _value; 00107 protected: 00111 domModifier(DAE& dae) : daeElement(dae), _value() {} 00115 virtual ~domModifier() {} 00119 virtual domModifier &operator=( const domModifier &cpy ) { (void)cpy; return *this; } 00120 00121 public: // STATIC METHODS 00126 static DLLSPEC daeElementRef create(DAE& dae); 00132 static DLLSPEC daeMetaElement* registerElement(DAE& dae); 00133 }; 00134 00135 00136 protected: // Attribute 00137 domSid attrSid; 00138 00139 protected: // Elements 00140 domFx_annotate_Array elemAnnotate_array; 00141 domSemanticRef elemSemantic; 00142 domModifierRef elemModifier; 00143 domGlsl_valueRef elemGlsl_value; 00144 00145 public: //Accessors and Mutators 00150 domSid getSid() const { return attrSid; } 00155 void setSid( domSid atSid ) { *(daeStringRef*)&attrSid = atSid;} 00156 00161 domFx_annotate_Array &getAnnotate_array() { return elemAnnotate_array; } 00166 const domFx_annotate_Array &getAnnotate_array() const { return elemAnnotate_array; } 00171 const domSemanticRef getSemantic() const { return elemSemantic; } 00176 const domModifierRef getModifier() const { return elemModifier; } 00181 const domGlsl_valueRef getGlsl_value() const { return elemGlsl_value; } 00182 protected: 00186 domGlsl_newparam(DAE& dae) : daeElement(dae), attrSid(), elemAnnotate_array(), elemSemantic(), elemModifier(), elemGlsl_value() {} 00190 virtual ~domGlsl_newparam() {} 00194 virtual domGlsl_newparam &operator=( const domGlsl_newparam &cpy ) { (void)cpy; return *this; } 00195 00196 public: // STATIC METHODS 00201 static DLLSPEC daeElementRef create(DAE& dae); 00207 static DLLSPEC daeMetaElement* registerElement(DAE& dae); 00208 }; 00209 00210 00211 #endif