1 #ifndef __dom150Gles_newparam_h__ 2 #define __dom150Gles_newparam_h__ 3 4 #include <dae/daeDocument.h> 5 #include <1.5/dom/domTypes.h> 6 #include <1.5/dom/domElements.h> 7 8 #include <1.5/dom/domGles_param.h> 9 #include <1.5/dom/domFx_annotate.h> 10 11 class DAE; 12 namespace ColladaDOM150 { 13 14 /** 15 * Create a new, named param object in the GLES Runtime, assign it a type, 16 * an initial value, and additional attributes at declaration time. 17 */ 18 class domGles_newparam : public daeElement 19 { 20 public: getElementType()21 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::GLES_NEWPARAM; } ID()22 static daeInt ID() { return 270; } typeID()23 virtual daeInt typeID() const { return ID(); } 24 public: 25 class domSemantic; 26 27 typedef daeSmartRef<domSemantic> domSemanticRef; 28 typedef daeTArray<domSemanticRef> domSemantic_Array; 29 30 /** 31 * The semantic element allows you to specify a semantic for this new param. 32 */ 33 class domSemantic : public daeElement 34 { 35 public: getElementType()36 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::SEMANTIC; } ID()37 static daeInt ID() { return 271; } typeID()38 virtual daeInt typeID() const { return ID(); } 39 40 41 public: //Accessors and Mutators 42 /** 43 * Gets the value of this element. 44 * @return Returns a xsNCName of the value. 45 */ getValue()46 xsNCName getValue() const { return _value; } 47 /** 48 * Sets the _value of this element. 49 * @param val The new value for this element. 50 */ setValue(xsNCName val)51 void setValue( xsNCName val ) { *(daeStringRef*)&_value = val; } 52 53 protected: // Value 54 /** 55 * The xsNCName value of the text data of this element. 56 */ 57 xsNCName _value; 58 protected: 59 /** 60 * Constructor 61 */ domSemantic(DAE & dae)62 domSemantic(DAE& dae) : daeElement(dae), _value() {} 63 /** 64 * Destructor 65 */ ~domSemantic()66 virtual ~domSemantic() {} 67 /** 68 * Overloaded assignment operator 69 */ 70 virtual domSemantic &operator=( const domSemantic &cpy ) { (void)cpy; return *this; } 71 72 public: // STATIC METHODS 73 /** 74 * Creates an instance of this class and returns a daeElementRef referencing it. 75 * @return a daeElementRef referencing an instance of this object. 76 */ 77 static DLLSPEC daeElementRef create(DAE& dae); 78 /** 79 * Creates a daeMetaElement object that describes this element in the meta object reflection framework. 80 * If a daeMetaElement already exists it will return that instead of creating a new one. 81 * @return A daeMetaElement describing this COLLADA element. 82 */ 83 static DLLSPEC daeMetaElement* registerElement(DAE& dae); 84 }; 85 86 class domModifier; 87 88 typedef daeSmartRef<domModifier> domModifierRef; 89 typedef daeTArray<domModifierRef> domModifier_Array; 90 91 /** 92 * The modifier element allows you to specify a modifier for this new param. 93 */ 94 class domModifier : public daeElement 95 { 96 public: getElementType()97 virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::MODIFIER; } ID()98 static daeInt ID() { return 272; } typeID()99 virtual daeInt typeID() const { return ID(); } 100 101 102 public: //Accessors and Mutators 103 /** 104 * Gets the value of this element. 105 * @return a domFx_modifier of the value. 106 */ getValue()107 domFx_modifier& getValue() { return _value; } 108 /** 109 * Sets the _value of this element. 110 * @param val The new value for this element. 111 */ setValue(const domFx_modifier & val)112 void setValue( const domFx_modifier& val ) { _value = val; } 113 114 protected: // Value 115 /** 116 * The domFx_modifier value of the text data of this element. 117 */ 118 domFx_modifier _value; 119 protected: 120 /** 121 * Constructor 122 */ domModifier(DAE & dae)123 domModifier(DAE& dae) : daeElement(dae), _value() {} 124 /** 125 * Destructor 126 */ ~domModifier()127 virtual ~domModifier() {} 128 /** 129 * Overloaded assignment operator 130 */ 131 virtual domModifier &operator=( const domModifier &cpy ) { (void)cpy; return *this; } 132 133 public: // STATIC METHODS 134 /** 135 * Creates an instance of this class and returns a daeElementRef referencing it. 136 * @return a daeElementRef referencing an instance of this object. 137 */ 138 static DLLSPEC daeElementRef create(DAE& dae); 139 /** 140 * Creates a daeMetaElement object that describes this element in the meta object reflection framework. 141 * If a daeMetaElement already exists it will return that instead of creating a new one. 142 * @return A daeMetaElement describing this COLLADA element. 143 */ 144 static DLLSPEC daeMetaElement* registerElement(DAE& dae); 145 }; 146 147 148 protected: // Attribute 149 /** 150 * The sid attribute is a text string value containing the sub-identifier 151 * of this element. This value must be unique within the scope of the parent 152 * element. 153 */ 154 domSid attrSid; 155 156 protected: // Elements 157 /** 158 * The annotate element allows you to specify an annotation for this new param. 159 * @see domAnnotate 160 */ 161 domFx_annotate_Array elemAnnotate_array; 162 /** 163 * The semantic element allows you to specify a semantic for this new param. 164 * @see domSemantic 165 */ 166 domSemanticRef elemSemantic; 167 /** 168 * The modifier element allows you to specify a modifier for this new param. 169 * @see domModifier 170 */ 171 domModifierRef elemModifier; 172 domGles_paramRef elemGles_param; 173 174 public: //Accessors and Mutators 175 /** 176 * Gets the sid attribute. 177 * @return Returns a domSid of the sid attribute. 178 */ getSid()179 domSid getSid() const { return attrSid; } 180 /** 181 * Sets the sid attribute. 182 * @param atSid The new value for the sid attribute. 183 */ setSid(domSid atSid)184 void setSid( domSid atSid ) { *(daeStringRef*)&attrSid = atSid;} 185 186 /** 187 * Gets the annotate element array. 188 * @return Returns a reference to the array of annotate elements. 189 */ getAnnotate_array()190 domFx_annotate_Array &getAnnotate_array() { return elemAnnotate_array; } 191 /** 192 * Gets the annotate element array. 193 * @return Returns a constant reference to the array of annotate elements. 194 */ getAnnotate_array()195 const domFx_annotate_Array &getAnnotate_array() const { return elemAnnotate_array; } 196 /** 197 * Gets the semantic element. 198 * @return a daeSmartRef to the semantic element. 199 */ getSemantic()200 const domSemanticRef getSemantic() const { return elemSemantic; } 201 /** 202 * Gets the modifier element. 203 * @return a daeSmartRef to the modifier element. 204 */ getModifier()205 const domModifierRef getModifier() const { return elemModifier; } 206 /** 207 * Gets the gles_param element. 208 * @return a daeSmartRef to the gles_param element. 209 */ getGles_param()210 const domGles_paramRef getGles_param() const { return elemGles_param; } 211 protected: 212 /** 213 * Constructor 214 */ domGles_newparam(DAE & dae)215 domGles_newparam(DAE& dae) : daeElement(dae), attrSid(), elemAnnotate_array(), elemSemantic(), elemModifier(), elemGles_param() {} 216 /** 217 * Destructor 218 */ ~domGles_newparam()219 virtual ~domGles_newparam() {} 220 /** 221 * Overloaded assignment operator 222 */ 223 virtual domGles_newparam &operator=( const domGles_newparam &cpy ) { (void)cpy; return *this; } 224 225 public: // STATIC METHODS 226 /** 227 * Creates an instance of this class and returns a daeElementRef referencing it. 228 * @return a daeElementRef referencing an instance of this object. 229 */ 230 static DLLSPEC daeElementRef create(DAE& dae); 231 /** 232 * Creates a daeMetaElement object that describes this element in the meta object reflection framework. 233 * If a daeMetaElement already exists it will return that instead of creating a new one. 234 * @return A daeMetaElement describing this COLLADA element. 235 */ 236 static DLLSPEC daeMetaElement* registerElement(DAE& dae); 237 }; 238 239 240 } // ColladaDOM150 241 #endif 242