1/*
2* Copyright 2006 Sony Computer Entertainment Inc.
3*
4* Licensed under the MIT Open Source License, for details please see license.txt or the website
5* http://www.opensource.org/licenses/mit-license.php
6*
7*/
8
9#ifndef __domFx_sampler1D_common_h__
10#define __domFx_sampler1D_common_h__
11
12#include <dae/daeDocument.h>
13#include <dom/domTypes.h>
14#include <dom/domElements.h>
15
16#include <dom/domExtra.h>
17class DAE;
18
19/**
20 * A one-dimensional texture sampler.
21 */
22class domFx_sampler1D_common_complexType
23{
24public:
25	class domSource;
26
27	typedef daeSmartRef<domSource> domSourceRef;
28	typedef daeTArray<domSourceRef> domSource_Array;
29
30	class domSource : public daeElement
31	{
32	public:
33		virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::SOURCE; }
34		static daeInt ID() { return 28; }
35		virtual daeInt typeID() const { return ID(); }
36
37	protected:  // Value
38		/**
39		 * The xsNCName value of the text data of this element.
40		 */
41		xsNCName _value;
42
43	public:	//Accessors and Mutators
44		/**
45		 * Gets the value of this element.
46		 * @return Returns a xsNCName of the value.
47		 */
48		xsNCName getValue() const { return _value; }
49		/**
50		 * Sets the _value of this element.
51		 * @param val The new value for this element.
52		 */
53		void setValue( xsNCName val ) { *(daeStringRef*)&_value = val; }
54
55	protected:
56		/**
57		 * Constructor
58		 */
59		domSource(DAE& dae) : daeElement(dae), _value() {}
60		/**
61		 * Destructor
62		 */
63		virtual ~domSource() {}
64		/**
65		 * Overloaded assignment operator
66		 */
67		virtual domSource &operator=( const domSource &cpy ) { (void)cpy; return *this; }
68
69	public: // STATIC METHODS
70		/**
71		 * Creates an instance of this class and returns a daeElementRef referencing it.
72		 * @return a daeElementRef referencing an instance of this object.
73		 */
74		static DLLSPEC daeElementRef create(DAE& dae);
75		/**
76		 * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
77		 * If a daeMetaElement already exists it will return that instead of creating a new one.
78		 * @return A daeMetaElement describing this COLLADA element.
79		 */
80		static DLLSPEC daeMetaElement* registerElement(DAE& dae);
81	};
82
83	class domWrap_s;
84
85	typedef daeSmartRef<domWrap_s> domWrap_sRef;
86	typedef daeTArray<domWrap_sRef> domWrap_s_Array;
87
88	class domWrap_s : public daeElement
89	{
90	public:
91		virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::WRAP_S; }
92		static daeInt ID() { return 29; }
93		virtual daeInt typeID() const { return ID(); }
94
95	protected:  // Value
96		/**
97		 * The domFx_sampler_wrap_common value of the text data of this element.
98		 */
99		domFx_sampler_wrap_common _value;
100
101	public:	//Accessors and Mutators
102		/**
103		 * Gets the value of this element.
104		 * @return a domFx_sampler_wrap_common of the value.
105		 */
106		domFx_sampler_wrap_common getValue() const { return _value; }
107		/**
108		 * Sets the _value of this element.
109		 * @param val The new value for this element.
110		 */
111		void setValue( domFx_sampler_wrap_common val ) { _value = val; }
112
113	protected:
114		/**
115		 * Constructor
116		 */
117		domWrap_s(DAE& dae) : daeElement(dae), _value() {}
118		/**
119		 * Destructor
120		 */
121		virtual ~domWrap_s() {}
122		/**
123		 * Overloaded assignment operator
124		 */
125		virtual domWrap_s &operator=( const domWrap_s &cpy ) { (void)cpy; return *this; }
126
127	public: // STATIC METHODS
128		/**
129		 * Creates an instance of this class and returns a daeElementRef referencing it.
130		 * @return a daeElementRef referencing an instance of this object.
131		 */
132		static DLLSPEC daeElementRef create(DAE& dae);
133		/**
134		 * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
135		 * If a daeMetaElement already exists it will return that instead of creating a new one.
136		 * @return A daeMetaElement describing this COLLADA element.
137		 */
138		static DLLSPEC daeMetaElement* registerElement(DAE& dae);
139	};
140
141	class domMinfilter;
142
143	typedef daeSmartRef<domMinfilter> domMinfilterRef;
144	typedef daeTArray<domMinfilterRef> domMinfilter_Array;
145
146	class domMinfilter : public daeElement
147	{
148	public:
149		virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::MINFILTER; }
150		static daeInt ID() { return 30; }
151		virtual daeInt typeID() const { return ID(); }
152
153	protected:  // Value
154		/**
155		 * The domFx_sampler_filter_common value of the text data of this element.
156		 */
157		domFx_sampler_filter_common _value;
158
159	public:	//Accessors and Mutators
160		/**
161		 * Gets the value of this element.
162		 * @return a domFx_sampler_filter_common of the value.
163		 */
164		domFx_sampler_filter_common getValue() const { return _value; }
165		/**
166		 * Sets the _value of this element.
167		 * @param val The new value for this element.
168		 */
169		void setValue( domFx_sampler_filter_common val ) { _value = val; }
170
171	protected:
172		/**
173		 * Constructor
174		 */
175		domMinfilter(DAE& dae) : daeElement(dae), _value() {}
176		/**
177		 * Destructor
178		 */
179		virtual ~domMinfilter() {}
180		/**
181		 * Overloaded assignment operator
182		 */
183		virtual domMinfilter &operator=( const domMinfilter &cpy ) { (void)cpy; return *this; }
184
185	public: // STATIC METHODS
186		/**
187		 * Creates an instance of this class and returns a daeElementRef referencing it.
188		 * @return a daeElementRef referencing an instance of this object.
189		 */
190		static DLLSPEC daeElementRef create(DAE& dae);
191		/**
192		 * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
193		 * If a daeMetaElement already exists it will return that instead of creating a new one.
194		 * @return A daeMetaElement describing this COLLADA element.
195		 */
196		static DLLSPEC daeMetaElement* registerElement(DAE& dae);
197	};
198
199	class domMagfilter;
200
201	typedef daeSmartRef<domMagfilter> domMagfilterRef;
202	typedef daeTArray<domMagfilterRef> domMagfilter_Array;
203
204	class domMagfilter : public daeElement
205	{
206	public:
207		virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::MAGFILTER; }
208		static daeInt ID() { return 31; }
209		virtual daeInt typeID() const { return ID(); }
210
211	protected:  // Value
212		/**
213		 * The domFx_sampler_filter_common value of the text data of this element.
214		 */
215		domFx_sampler_filter_common _value;
216
217	public:	//Accessors and Mutators
218		/**
219		 * Gets the value of this element.
220		 * @return a domFx_sampler_filter_common of the value.
221		 */
222		domFx_sampler_filter_common getValue() const { return _value; }
223		/**
224		 * Sets the _value of this element.
225		 * @param val The new value for this element.
226		 */
227		void setValue( domFx_sampler_filter_common val ) { _value = val; }
228
229	protected:
230		/**
231		 * Constructor
232		 */
233		domMagfilter(DAE& dae) : daeElement(dae), _value() {}
234		/**
235		 * Destructor
236		 */
237		virtual ~domMagfilter() {}
238		/**
239		 * Overloaded assignment operator
240		 */
241		virtual domMagfilter &operator=( const domMagfilter &cpy ) { (void)cpy; return *this; }
242
243	public: // STATIC METHODS
244		/**
245		 * Creates an instance of this class and returns a daeElementRef referencing it.
246		 * @return a daeElementRef referencing an instance of this object.
247		 */
248		static DLLSPEC daeElementRef create(DAE& dae);
249		/**
250		 * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
251		 * If a daeMetaElement already exists it will return that instead of creating a new one.
252		 * @return A daeMetaElement describing this COLLADA element.
253		 */
254		static DLLSPEC daeMetaElement* registerElement(DAE& dae);
255	};
256
257	class domMipfilter;
258
259	typedef daeSmartRef<domMipfilter> domMipfilterRef;
260	typedef daeTArray<domMipfilterRef> domMipfilter_Array;
261
262	class domMipfilter : public daeElement
263	{
264	public:
265		virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::MIPFILTER; }
266		static daeInt ID() { return 32; }
267		virtual daeInt typeID() const { return ID(); }
268
269	protected:  // Value
270		/**
271		 * The domFx_sampler_filter_common value of the text data of this element.
272		 */
273		domFx_sampler_filter_common _value;
274
275	public:	//Accessors and Mutators
276		/**
277		 * Gets the value of this element.
278		 * @return a domFx_sampler_filter_common of the value.
279		 */
280		domFx_sampler_filter_common getValue() const { return _value; }
281		/**
282		 * Sets the _value of this element.
283		 * @param val The new value for this element.
284		 */
285		void setValue( domFx_sampler_filter_common val ) { _value = val; }
286
287	protected:
288		/**
289		 * Constructor
290		 */
291		domMipfilter(DAE& dae) : daeElement(dae), _value() {}
292		/**
293		 * Destructor
294		 */
295		virtual ~domMipfilter() {}
296		/**
297		 * Overloaded assignment operator
298		 */
299		virtual domMipfilter &operator=( const domMipfilter &cpy ) { (void)cpy; return *this; }
300
301	public: // STATIC METHODS
302		/**
303		 * Creates an instance of this class and returns a daeElementRef referencing it.
304		 * @return a daeElementRef referencing an instance of this object.
305		 */
306		static DLLSPEC daeElementRef create(DAE& dae);
307		/**
308		 * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
309		 * If a daeMetaElement already exists it will return that instead of creating a new one.
310		 * @return A daeMetaElement describing this COLLADA element.
311		 */
312		static DLLSPEC daeMetaElement* registerElement(DAE& dae);
313	};
314
315	class domBorder_color;
316
317	typedef daeSmartRef<domBorder_color> domBorder_colorRef;
318	typedef daeTArray<domBorder_colorRef> domBorder_color_Array;
319
320	class domBorder_color : public daeElement
321	{
322	public:
323		virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::BORDER_COLOR; }
324		static daeInt ID() { return 33; }
325		virtual daeInt typeID() const { return ID(); }
326
327	protected:  // Value
328		/**
329		 * The domFx_color_common value of the text data of this element.
330		 */
331		domFx_color_common _value;
332
333	public:	//Accessors and Mutators
334		/**
335		 * Gets the _value array.
336		 * @return Returns a domFx_color_common reference of the _value array.
337		 */
338		domFx_color_common &getValue() { return _value; }
339		/**
340		 * Gets the _value array.
341		 * @return Returns a constant domFx_color_common reference of the _value array.
342		 */
343		const domFx_color_common &getValue() const { return _value; }
344		/**
345		 * Sets the _value array.
346		 * @param val The new value for the _value array.
347		 */
348		void setValue( const domFx_color_common &val ) { _value = val; }
349
350	protected:
351		/**
352		 * Constructor
353		 */
354		domBorder_color(DAE& dae) : daeElement(dae), _value() {}
355		/**
356		 * Destructor
357		 */
358		virtual ~domBorder_color() {}
359		/**
360		 * Overloaded assignment operator
361		 */
362		virtual domBorder_color &operator=( const domBorder_color &cpy ) { (void)cpy; return *this; }
363
364	public: // STATIC METHODS
365		/**
366		 * Creates an instance of this class and returns a daeElementRef referencing it.
367		 * @return a daeElementRef referencing an instance of this object.
368		 */
369		static DLLSPEC daeElementRef create(DAE& dae);
370		/**
371		 * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
372		 * If a daeMetaElement already exists it will return that instead of creating a new one.
373		 * @return A daeMetaElement describing this COLLADA element.
374		 */
375		static DLLSPEC daeMetaElement* registerElement(DAE& dae);
376	};
377
378	class domMipmap_maxlevel;
379
380	typedef daeSmartRef<domMipmap_maxlevel> domMipmap_maxlevelRef;
381	typedef daeTArray<domMipmap_maxlevelRef> domMipmap_maxlevel_Array;
382
383	class domMipmap_maxlevel : public daeElement
384	{
385	public:
386		virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::MIPMAP_MAXLEVEL; }
387		static daeInt ID() { return 34; }
388		virtual daeInt typeID() const { return ID(); }
389
390	protected:  // Value
391		/**
392		 * The xsUnsignedByte value of the text data of this element.
393		 */
394		xsUnsignedByte _value;
395
396	public:	//Accessors and Mutators
397		/**
398		 * Gets the value of this element.
399		 * @return a xsUnsignedByte of the value.
400		 */
401		xsUnsignedByte getValue() const { return _value; }
402		/**
403		 * Sets the _value of this element.
404		 * @param val The new value for this element.
405		 */
406		void setValue( xsUnsignedByte val ) { _value = val; }
407
408	protected:
409		/**
410		 * Constructor
411		 */
412		domMipmap_maxlevel(DAE& dae) : daeElement(dae), _value() {}
413		/**
414		 * Destructor
415		 */
416		virtual ~domMipmap_maxlevel() {}
417		/**
418		 * Overloaded assignment operator
419		 */
420		virtual domMipmap_maxlevel &operator=( const domMipmap_maxlevel &cpy ) { (void)cpy; return *this; }
421
422	public: // STATIC METHODS
423		/**
424		 * Creates an instance of this class and returns a daeElementRef referencing it.
425		 * @return a daeElementRef referencing an instance of this object.
426		 */
427		static DLLSPEC daeElementRef create(DAE& dae);
428		/**
429		 * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
430		 * If a daeMetaElement already exists it will return that instead of creating a new one.
431		 * @return A daeMetaElement describing this COLLADA element.
432		 */
433		static DLLSPEC daeMetaElement* registerElement(DAE& dae);
434	};
435
436	class domMipmap_bias;
437
438	typedef daeSmartRef<domMipmap_bias> domMipmap_biasRef;
439	typedef daeTArray<domMipmap_biasRef> domMipmap_bias_Array;
440
441	class domMipmap_bias : public daeElement
442	{
443	public:
444		virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::MIPMAP_BIAS; }
445		static daeInt ID() { return 35; }
446		virtual daeInt typeID() const { return ID(); }
447
448	protected:  // Value
449		/**
450		 * The xsFloat value of the text data of this element.
451		 */
452		xsFloat _value;
453
454	public:	//Accessors and Mutators
455		/**
456		 * Gets the value of this element.
457		 * @return a xsFloat of the value.
458		 */
459		xsFloat getValue() const { return _value; }
460		/**
461		 * Sets the _value of this element.
462		 * @param val The new value for this element.
463		 */
464		void setValue( xsFloat val ) { _value = val; }
465
466	protected:
467		/**
468		 * Constructor
469		 */
470		domMipmap_bias(DAE& dae) : daeElement(dae), _value() {}
471		/**
472		 * Destructor
473		 */
474		virtual ~domMipmap_bias() {}
475		/**
476		 * Overloaded assignment operator
477		 */
478		virtual domMipmap_bias &operator=( const domMipmap_bias &cpy ) { (void)cpy; return *this; }
479
480	public: // STATIC METHODS
481		/**
482		 * Creates an instance of this class and returns a daeElementRef referencing it.
483		 * @return a daeElementRef referencing an instance of this object.
484		 */
485		static DLLSPEC daeElementRef create(DAE& dae);
486		/**
487		 * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
488		 * If a daeMetaElement already exists it will return that instead of creating a new one.
489		 * @return A daeMetaElement describing this COLLADA element.
490		 */
491		static DLLSPEC daeMetaElement* registerElement(DAE& dae);
492	};
493
494
495
496protected:  // Elements
497	domSourceRef elemSource;
498	domWrap_sRef elemWrap_s;
499	domMinfilterRef elemMinfilter;
500	domMagfilterRef elemMagfilter;
501	domMipfilterRef elemMipfilter;
502	domBorder_colorRef elemBorder_color;
503	domMipmap_maxlevelRef elemMipmap_maxlevel;
504	domMipmap_biasRef elemMipmap_bias;
505	domExtra_Array elemExtra_array;
506
507public:	//Accessors and Mutators
508	/**
509	 * Gets the source element.
510	 * @return a daeSmartRef to the source element.
511	 */
512	const domSourceRef getSource() const { return elemSource; }
513	/**
514	 * Gets the wrap_s element.
515	 * @return a daeSmartRef to the wrap_s element.
516	 */
517	const domWrap_sRef getWrap_s() const { return elemWrap_s; }
518	/**
519	 * Gets the minfilter element.
520	 * @return a daeSmartRef to the minfilter element.
521	 */
522	const domMinfilterRef getMinfilter() const { return elemMinfilter; }
523	/**
524	 * Gets the magfilter element.
525	 * @return a daeSmartRef to the magfilter element.
526	 */
527	const domMagfilterRef getMagfilter() const { return elemMagfilter; }
528	/**
529	 * Gets the mipfilter element.
530	 * @return a daeSmartRef to the mipfilter element.
531	 */
532	const domMipfilterRef getMipfilter() const { return elemMipfilter; }
533	/**
534	 * Gets the border_color element.
535	 * @return a daeSmartRef to the border_color element.
536	 */
537	const domBorder_colorRef getBorder_color() const { return elemBorder_color; }
538	/**
539	 * Gets the mipmap_maxlevel element.
540	 * @return a daeSmartRef to the mipmap_maxlevel element.
541	 */
542	const domMipmap_maxlevelRef getMipmap_maxlevel() const { return elemMipmap_maxlevel; }
543	/**
544	 * Gets the mipmap_bias element.
545	 * @return a daeSmartRef to the mipmap_bias element.
546	 */
547	const domMipmap_biasRef getMipmap_bias() const { return elemMipmap_bias; }
548	/**
549	 * Gets the extra element array.
550	 * @return Returns a reference to the array of extra elements.
551	 */
552	domExtra_Array &getExtra_array() { return elemExtra_array; }
553	/**
554	 * Gets the extra element array.
555	 * @return Returns a constant reference to the array of extra elements.
556	 */
557	const domExtra_Array &getExtra_array() const { return elemExtra_array; }
558protected:
559	/**
560	 * Constructor
561	 */
562	domFx_sampler1D_common_complexType(DAE& dae, daeElement* elt) : elemSource(), elemWrap_s(), elemMinfilter(), elemMagfilter(), elemMipfilter(), elemBorder_color(), elemMipmap_maxlevel(), elemMipmap_bias(), elemExtra_array() {}
563	/**
564	 * Destructor
565	 */
566	virtual ~domFx_sampler1D_common_complexType() {}
567	/**
568	 * Overloaded assignment operator
569	 */
570	virtual domFx_sampler1D_common_complexType &operator=( const domFx_sampler1D_common_complexType &cpy ) { (void)cpy; return *this; }
571};
572
573/**
574 * An element of type domFx_sampler1D_common_complexType.
575 */
576class domFx_sampler1D_common : public daeElement, public domFx_sampler1D_common_complexType
577{
578public:
579	virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FX_SAMPLER1D_COMMON; }
580	static daeInt ID() { return 36; }
581	virtual daeInt typeID() const { return ID(); }
582protected:
583	/**
584	 * Constructor
585	 */
586	domFx_sampler1D_common(DAE& dae) : daeElement(dae), domFx_sampler1D_common_complexType(dae, this) {}
587	/**
588	 * Destructor
589	 */
590	virtual ~domFx_sampler1D_common() {}
591	/**
592	 * Overloaded assignment operator
593	 */
594	virtual domFx_sampler1D_common &operator=( const domFx_sampler1D_common &cpy ) { (void)cpy; return *this; }
595
596public: // STATIC METHODS
597	/**
598	 * Creates an instance of this class and returns a daeElementRef referencing it.
599	 * @return a daeElementRef referencing an instance of this object.
600	 */
601	static DLLSPEC daeElementRef create(DAE& dae);
602	/**
603	 * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
604	 * If a daeMetaElement already exists it will return that instead of creating a new one.
605	 * @return A daeMetaElement describing this COLLADA element.
606	 */
607	static DLLSPEC daeMetaElement* registerElement(DAE& dae);
608};
609
610
611#endif
612