00001 #ifndef __domCg_newparam_h__ 00002 #define __domCg_newparam_h__ 00003 00004 #include <dae/daeDocument.h> 00005 #include <dom/domTypes.h> 00006 #include <dom/domElements.h> 00007 00008 #include <dom/domCg_param.h> 00009 #include <dom/domFx_annotate.h> 00010 class DAE; 00011 00016 class domCg_newparam : public daeElement 00017 { 00018 public: 00019 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::CG_NEWPARAM; } 00020 static daeInt ID() { return 246; } 00021 virtual daeInt typeID() const { return ID(); } 00022 public: 00023 class domSemantic; 00024 00025 typedef daeSmartRef<domSemantic> domSemanticRef; 00026 typedef daeTArray<domSemanticRef> domSemantic_Array; 00027 00031 class domSemantic : public daeElement 00032 { 00033 public: 00034 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::SEMANTIC; } 00035 static daeInt ID() { return 247; } 00036 virtual daeInt typeID() const { return ID(); } 00037 00038 00039 public: //Accessors and Mutators 00044 xsNCName getValue() const { return _value; } 00049 void setValue( xsNCName val ) { *(daeStringRef*)&_value = val; } 00050 00051 protected: // Value 00055 xsNCName _value; 00056 protected: 00060 domSemantic(DAE& dae) : daeElement(dae), _value() {} 00064 virtual ~domSemantic() {} 00068 virtual domSemantic &operator=( const domSemantic &cpy ) { (void)cpy; return *this; } 00069 00070 public: // STATIC METHODS 00075 static DLLSPEC daeElementRef create(DAE& dae); 00081 static DLLSPEC daeMetaElement* registerElement(DAE& dae); 00082 }; 00083 00084 class domModifier; 00085 00086 typedef daeSmartRef<domModifier> domModifierRef; 00087 typedef daeTArray<domModifierRef> domModifier_Array; 00088 00092 class domModifier : public daeElement 00093 { 00094 public: 00095 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::MODIFIER; } 00096 static daeInt ID() { return 248; } 00097 virtual daeInt typeID() const { return ID(); } 00098 00099 00100 public: //Accessors and Mutators 00105 domFx_modifier& getValue() { return _value; } 00110 void setValue( const domFx_modifier& val ) { _value = val; } 00111 00112 protected: // Value 00116 domFx_modifier _value; 00117 protected: 00121 domModifier(DAE& dae) : daeElement(dae), _value() {} 00125 virtual ~domModifier() {} 00129 virtual domModifier &operator=( const domModifier &cpy ) { (void)cpy; return *this; } 00130 00131 public: // STATIC METHODS 00136 static DLLSPEC daeElementRef create(DAE& dae); 00142 static DLLSPEC daeMetaElement* registerElement(DAE& dae); 00143 }; 00144 00145 00146 protected: // Attribute 00147 domSid attrSid; 00148 00149 protected: // Elements 00154 domFx_annotate_Array elemAnnotate_array; 00159 domSemanticRef elemSemantic; 00164 domModifierRef elemModifier; 00165 domCg_paramRef elemCg_param; 00166 00167 public: //Accessors and Mutators 00172 domSid getSid() const { return attrSid; } 00177 void setSid( domSid atSid ) { *(daeStringRef*)&attrSid = atSid;} 00178 00183 domFx_annotate_Array &getAnnotate_array() { return elemAnnotate_array; } 00188 const domFx_annotate_Array &getAnnotate_array() const { return elemAnnotate_array; } 00193 const domSemanticRef getSemantic() const { return elemSemantic; } 00198 const domModifierRef getModifier() const { return elemModifier; } 00203 const domCg_paramRef getCg_param() const { return elemCg_param; } 00204 protected: 00208 domCg_newparam(DAE& dae) : daeElement(dae), attrSid(), elemAnnotate_array(), elemSemantic(), elemModifier(), elemCg_param() {} 00212 virtual ~domCg_newparam() {} 00216 virtual domCg_newparam &operator=( const domCg_newparam &cpy ) { (void)cpy; return *this; } 00217 00218 public: // STATIC METHODS 00223 static DLLSPEC daeElementRef create(DAE& dae); 00229 static DLLSPEC daeMetaElement* registerElement(DAE& dae); 00230 }; 00231 00232 00233 #endif