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