Home | History | Annotate | Download | only in dom
      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 __domGles_pipeline_settings_h__
     10 #define __domGles_pipeline_settings_h__
     11 
     12 #include <dae/daeDocument.h>
     13 #include <dom/domTypes.h>
     14 #include <dom/domElements.h>
     15 
     16 #include <dom/domGles_texture_pipeline.h>
     17 class DAE;
     18 
     19 /**
     20  * A group that contains the renderstates available for the GLES profile.
     21  */
     22 class domGles_pipeline_settings : public daeElement
     23 {
     24 public:
     25 	virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::GLES_PIPELINE_SETTINGS; }
     26 	static daeInt ID() { return 488; }
     27 	virtual daeInt typeID() const { return ID(); }
     28 public:
     29 	class domAlpha_func;
     30 
     31 	typedef daeSmartRef<domAlpha_func> domAlpha_funcRef;
     32 	typedef daeTArray<domAlpha_funcRef> domAlpha_func_Array;
     33 
     34 	class domAlpha_func : public daeElement
     35 	{
     36 	public:
     37 		virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::ALPHA_FUNC; }
     38 		static daeInt ID() { return 489; }
     39 		virtual daeInt typeID() const { return ID(); }
     40 	public:
     41 		class domFunc;
     42 
     43 		typedef daeSmartRef<domFunc> domFuncRef;
     44 		typedef daeTArray<domFuncRef> domFunc_Array;
     45 
     46 		class domFunc : public daeElement
     47 		{
     48 		public:
     49 			virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FUNC; }
     50 			static daeInt ID() { return 490; }
     51 			virtual daeInt typeID() const { return ID(); }
     52 		protected:  // Attributes
     53 			domGl_func_type attrValue;
     54 			xsNCName attrParam;
     55 
     56 
     57 		public:	//Accessors and Mutators
     58 			/**
     59 			 * Gets the value attribute.
     60 			 * @return Returns a domGl_func_type of the value attribute.
     61 			 */
     62 			domGl_func_type getValue() const { return attrValue; }
     63 			/**
     64 			 * Sets the value attribute.
     65 			 * @param atValue The new value for the value attribute.
     66 			 */
     67 			void setValue( domGl_func_type atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
     68 
     69 			/**
     70 			 * Gets the param attribute.
     71 			 * @return Returns a xsNCName of the param attribute.
     72 			 */
     73 			xsNCName getParam() const { return attrParam; }
     74 			/**
     75 			 * Sets the param attribute.
     76 			 * @param atParam The new value for the param attribute.
     77 			 */
     78 			void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
     79 
     80 		protected:
     81 			/**
     82 			 * Constructor
     83 			 */
     84 			domFunc(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
     85 			/**
     86 			 * Destructor
     87 			 */
     88 			virtual ~domFunc() {}
     89 			/**
     90 			 * Overloaded assignment operator
     91 			 */
     92 			virtual domFunc &operator=( const domFunc &cpy ) { (void)cpy; return *this; }
     93 
     94 		public: // STATIC METHODS
     95 			/**
     96 			 * Creates an instance of this class and returns a daeElementRef referencing it.
     97 			 * @return a daeElementRef referencing an instance of this object.
     98 			 */
     99 			static DLLSPEC daeElementRef create(DAE& dae);
    100 			/**
    101 			 * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
    102 			 * If a daeMetaElement already exists it will return that instead of creating a new one.
    103 			 * @return A daeMetaElement describing this COLLADA element.
    104 			 */
    105 			static DLLSPEC daeMetaElement* registerElement(DAE& dae);
    106 		};
    107 
    108 		class domValue;
    109 
    110 		typedef daeSmartRef<domValue> domValueRef;
    111 		typedef daeTArray<domValueRef> domValue_Array;
    112 
    113 		class domValue : public daeElement
    114 		{
    115 		public:
    116 			virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::VALUE; }
    117 			static daeInt ID() { return 491; }
    118 			virtual daeInt typeID() const { return ID(); }
    119 		protected:  // Attributes
    120 			domGl_alpha_value_type attrValue;
    121 			xsNCName attrParam;
    122 
    123 
    124 		public:	//Accessors and Mutators
    125 			/**
    126 			 * Gets the value attribute.
    127 			 * @return Returns a domGl_alpha_value_type of the value attribute.
    128 			 */
    129 			domGl_alpha_value_type getValue() const { return attrValue; }
    130 			/**
    131 			 * Sets the value attribute.
    132 			 * @param atValue The new value for the value attribute.
    133 			 */
    134 			void setValue( domGl_alpha_value_type atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
    135 
    136 			/**
    137 			 * Gets the param attribute.
    138 			 * @return Returns a xsNCName of the param attribute.
    139 			 */
    140 			xsNCName getParam() const { return attrParam; }
    141 			/**
    142 			 * Sets the param attribute.
    143 			 * @param atParam The new value for the param attribute.
    144 			 */
    145 			void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
    146 
    147 		protected:
    148 			/**
    149 			 * Constructor
    150 			 */
    151 			domValue(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
    152 			/**
    153 			 * Destructor
    154 			 */
    155 			virtual ~domValue() {}
    156 			/**
    157 			 * Overloaded assignment operator
    158 			 */
    159 			virtual domValue &operator=( const domValue &cpy ) { (void)cpy; return *this; }
    160 
    161 		public: // STATIC METHODS
    162 			/**
    163 			 * Creates an instance of this class and returns a daeElementRef referencing it.
    164 			 * @return a daeElementRef referencing an instance of this object.
    165 			 */
    166 			static DLLSPEC daeElementRef create(DAE& dae);
    167 			/**
    168 			 * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
    169 			 * If a daeMetaElement already exists it will return that instead of creating a new one.
    170 			 * @return A daeMetaElement describing this COLLADA element.
    171 			 */
    172 			static DLLSPEC daeMetaElement* registerElement(DAE& dae);
    173 		};
    174 
    175 
    176 
    177 	protected:  // Elements
    178 		domFuncRef elemFunc;
    179 		domValueRef elemValue;
    180 
    181 	public:	//Accessors and Mutators
    182 		/**
    183 		 * Gets the func element.
    184 		 * @return a daeSmartRef to the func element.
    185 		 */
    186 		const domFuncRef getFunc() const { return elemFunc; }
    187 		/**
    188 		 * Gets the value element.
    189 		 * @return a daeSmartRef to the value element.
    190 		 */
    191 		const domValueRef getValue() const { return elemValue; }
    192 	protected:
    193 		/**
    194 		 * Constructor
    195 		 */
    196 		domAlpha_func(DAE& dae) : daeElement(dae), elemFunc(), elemValue() {}
    197 		/**
    198 		 * Destructor
    199 		 */
    200 		virtual ~domAlpha_func() {}
    201 		/**
    202 		 * Overloaded assignment operator
    203 		 */
    204 		virtual domAlpha_func &operator=( const domAlpha_func &cpy ) { (void)cpy; return *this; }
    205 
    206 	public: // STATIC METHODS
    207 		/**
    208 		 * Creates an instance of this class and returns a daeElementRef referencing it.
    209 		 * @return a daeElementRef referencing an instance of this object.
    210 		 */
    211 		static DLLSPEC daeElementRef create(DAE& dae);
    212 		/**
    213 		 * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
    214 		 * If a daeMetaElement already exists it will return that instead of creating a new one.
    215 		 * @return A daeMetaElement describing this COLLADA element.
    216 		 */
    217 		static DLLSPEC daeMetaElement* registerElement(DAE& dae);
    218 	};
    219 
    220 	class domBlend_func;
    221 
    222 	typedef daeSmartRef<domBlend_func> domBlend_funcRef;
    223 	typedef daeTArray<domBlend_funcRef> domBlend_func_Array;
    224 
    225 	class domBlend_func : public daeElement
    226 	{
    227 	public:
    228 		virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::BLEND_FUNC; }
    229 		static daeInt ID() { return 492; }
    230 		virtual daeInt typeID() const { return ID(); }
    231 	public:
    232 		class domSrc;
    233 
    234 		typedef daeSmartRef<domSrc> domSrcRef;
    235 		typedef daeTArray<domSrcRef> domSrc_Array;
    236 
    237 		class domSrc : public daeElement
    238 		{
    239 		public:
    240 			virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::SRC; }
    241 			static daeInt ID() { return 493; }
    242 			virtual daeInt typeID() const { return ID(); }
    243 		protected:  // Attributes
    244 			domGl_blend_type attrValue;
    245 			xsNCName attrParam;
    246 
    247 
    248 		public:	//Accessors and Mutators
    249 			/**
    250 			 * Gets the value attribute.
    251 			 * @return Returns a domGl_blend_type of the value attribute.
    252 			 */
    253 			domGl_blend_type getValue() const { return attrValue; }
    254 			/**
    255 			 * Sets the value attribute.
    256 			 * @param atValue The new value for the value attribute.
    257 			 */
    258 			void setValue( domGl_blend_type atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
    259 
    260 			/**
    261 			 * Gets the param attribute.
    262 			 * @return Returns a xsNCName of the param attribute.
    263 			 */
    264 			xsNCName getParam() const { return attrParam; }
    265 			/**
    266 			 * Sets the param attribute.
    267 			 * @param atParam The new value for the param attribute.
    268 			 */
    269 			void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
    270 
    271 		protected:
    272 			/**
    273 			 * Constructor
    274 			 */
    275 			domSrc(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
    276 			/**
    277 			 * Destructor
    278 			 */
    279 			virtual ~domSrc() {}
    280 			/**
    281 			 * Overloaded assignment operator
    282 			 */
    283 			virtual domSrc &operator=( const domSrc &cpy ) { (void)cpy; return *this; }
    284 
    285 		public: // STATIC METHODS
    286 			/**
    287 			 * Creates an instance of this class and returns a daeElementRef referencing it.
    288 			 * @return a daeElementRef referencing an instance of this object.
    289 			 */
    290 			static DLLSPEC daeElementRef create(DAE& dae);
    291 			/**
    292 			 * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
    293 			 * If a daeMetaElement already exists it will return that instead of creating a new one.
    294 			 * @return A daeMetaElement describing this COLLADA element.
    295 			 */
    296 			static DLLSPEC daeMetaElement* registerElement(DAE& dae);
    297 		};
    298 
    299 		class domDest;
    300 
    301 		typedef daeSmartRef<domDest> domDestRef;
    302 		typedef daeTArray<domDestRef> domDest_Array;
    303 
    304 		class domDest : public daeElement
    305 		{
    306 		public:
    307 			virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::DEST; }
    308 			static daeInt ID() { return 494; }
    309 			virtual daeInt typeID() const { return ID(); }
    310 		protected:  // Attributes
    311 			domGl_blend_type attrValue;
    312 			xsNCName attrParam;
    313 
    314 
    315 		public:	//Accessors and Mutators
    316 			/**
    317 			 * Gets the value attribute.
    318 			 * @return Returns a domGl_blend_type of the value attribute.
    319 			 */
    320 			domGl_blend_type getValue() const { return attrValue; }
    321 			/**
    322 			 * Sets the value attribute.
    323 			 * @param atValue The new value for the value attribute.
    324 			 */
    325 			void setValue( domGl_blend_type atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
    326 
    327 			/**
    328 			 * Gets the param attribute.
    329 			 * @return Returns a xsNCName of the param attribute.
    330 			 */
    331 			xsNCName getParam() const { return attrParam; }
    332 			/**
    333 			 * Sets the param attribute.
    334 			 * @param atParam The new value for the param attribute.
    335 			 */
    336 			void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
    337 
    338 		protected:
    339 			/**
    340 			 * Constructor
    341 			 */
    342 			domDest(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
    343 			/**
    344 			 * Destructor
    345 			 */
    346 			virtual ~domDest() {}
    347 			/**
    348 			 * Overloaded assignment operator
    349 			 */
    350 			virtual domDest &operator=( const domDest &cpy ) { (void)cpy; return *this; }
    351 
    352 		public: // STATIC METHODS
    353 			/**
    354 			 * Creates an instance of this class and returns a daeElementRef referencing it.
    355 			 * @return a daeElementRef referencing an instance of this object.
    356 			 */
    357 			static DLLSPEC daeElementRef create(DAE& dae);
    358 			/**
    359 			 * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
    360 			 * If a daeMetaElement already exists it will return that instead of creating a new one.
    361 			 * @return A daeMetaElement describing this COLLADA element.
    362 			 */
    363 			static DLLSPEC daeMetaElement* registerElement(DAE& dae);
    364 		};
    365 
    366 
    367 
    368 	protected:  // Elements
    369 		domSrcRef elemSrc;
    370 		domDestRef elemDest;
    371 
    372 	public:	//Accessors and Mutators
    373 		/**
    374 		 * Gets the src element.
    375 		 * @return a daeSmartRef to the src element.
    376 		 */
    377 		const domSrcRef getSrc() const { return elemSrc; }
    378 		/**
    379 		 * Gets the dest element.
    380 		 * @return a daeSmartRef to the dest element.
    381 		 */
    382 		const domDestRef getDest() const { return elemDest; }
    383 	protected:
    384 		/**
    385 		 * Constructor
    386 		 */
    387 		domBlend_func(DAE& dae) : daeElement(dae), elemSrc(), elemDest() {}
    388 		/**
    389 		 * Destructor
    390 		 */
    391 		virtual ~domBlend_func() {}
    392 		/**
    393 		 * Overloaded assignment operator
    394 		 */
    395 		virtual domBlend_func &operator=( const domBlend_func &cpy ) { (void)cpy; return *this; }
    396 
    397 	public: // STATIC METHODS
    398 		/**
    399 		 * Creates an instance of this class and returns a daeElementRef referencing it.
    400 		 * @return a daeElementRef referencing an instance of this object.
    401 		 */
    402 		static DLLSPEC daeElementRef create(DAE& dae);
    403 		/**
    404 		 * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
    405 		 * If a daeMetaElement already exists it will return that instead of creating a new one.
    406 		 * @return A daeMetaElement describing this COLLADA element.
    407 		 */
    408 		static DLLSPEC daeMetaElement* registerElement(DAE& dae);
    409 	};
    410 
    411 	class domClear_color;
    412 
    413 	typedef daeSmartRef<domClear_color> domClear_colorRef;
    414 	typedef daeTArray<domClear_colorRef> domClear_color_Array;
    415 
    416 	class domClear_color : public daeElement
    417 	{
    418 	public:
    419 		virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::CLEAR_COLOR; }
    420 		static daeInt ID() { return 495; }
    421 		virtual daeInt typeID() const { return ID(); }
    422 	protected:  // Attributes
    423 		domFloat4 attrValue;
    424 		xsNCName attrParam;
    425 
    426 
    427 	public:	//Accessors and Mutators
    428 		/**
    429 		 * Gets the value array attribute.
    430 		 * @return Returns a domFloat4 reference of the value array attribute.
    431 		 */
    432 		domFloat4 &getValue() { return attrValue; }
    433 		/**
    434 		 * Gets the value array attribute.
    435 		 * @return Returns a constant domFloat4 reference of the value array attribute.
    436 		 */
    437 		const domFloat4 &getValue() const { return attrValue; }
    438 		/**
    439 		 * Sets the value array attribute.
    440 		 * @param atValue The new value for the value array attribute.
    441 		 */
    442 		void setValue( const domFloat4 &atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
    443 
    444 		/**
    445 		 * Gets the param attribute.
    446 		 * @return Returns a xsNCName of the param attribute.
    447 		 */
    448 		xsNCName getParam() const { return attrParam; }
    449 		/**
    450 		 * Sets the param attribute.
    451 		 * @param atParam The new value for the param attribute.
    452 		 */
    453 		void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
    454 
    455 	protected:
    456 		/**
    457 		 * Constructor
    458 		 */
    459 		domClear_color(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
    460 		/**
    461 		 * Destructor
    462 		 */
    463 		virtual ~domClear_color() {}
    464 		/**
    465 		 * Overloaded assignment operator
    466 		 */
    467 		virtual domClear_color &operator=( const domClear_color &cpy ) { (void)cpy; return *this; }
    468 
    469 	public: // STATIC METHODS
    470 		/**
    471 		 * Creates an instance of this class and returns a daeElementRef referencing it.
    472 		 * @return a daeElementRef referencing an instance of this object.
    473 		 */
    474 		static DLLSPEC daeElementRef create(DAE& dae);
    475 		/**
    476 		 * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
    477 		 * If a daeMetaElement already exists it will return that instead of creating a new one.
    478 		 * @return A daeMetaElement describing this COLLADA element.
    479 		 */
    480 		static DLLSPEC daeMetaElement* registerElement(DAE& dae);
    481 	};
    482 
    483 	class domClear_stencil;
    484 
    485 	typedef daeSmartRef<domClear_stencil> domClear_stencilRef;
    486 	typedef daeTArray<domClear_stencilRef> domClear_stencil_Array;
    487 
    488 	class domClear_stencil : public daeElement
    489 	{
    490 	public:
    491 		virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::CLEAR_STENCIL; }
    492 		static daeInt ID() { return 496; }
    493 		virtual daeInt typeID() const { return ID(); }
    494 	protected:  // Attributes
    495 		domInt attrValue;
    496 		xsNCName attrParam;
    497 
    498 
    499 	public:	//Accessors and Mutators
    500 		/**
    501 		 * Gets the value attribute.
    502 		 * @return Returns a domInt of the value attribute.
    503 		 */
    504 		domInt getValue() const { return attrValue; }
    505 		/**
    506 		 * Sets the value attribute.
    507 		 * @param atValue The new value for the value attribute.
    508 		 */
    509 		void setValue( domInt atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
    510 
    511 		/**
    512 		 * Gets the param attribute.
    513 		 * @return Returns a xsNCName of the param attribute.
    514 		 */
    515 		xsNCName getParam() const { return attrParam; }
    516 		/**
    517 		 * Sets the param attribute.
    518 		 * @param atParam The new value for the param attribute.
    519 		 */
    520 		void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
    521 
    522 	protected:
    523 		/**
    524 		 * Constructor
    525 		 */
    526 		domClear_stencil(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
    527 		/**
    528 		 * Destructor
    529 		 */
    530 		virtual ~domClear_stencil() {}
    531 		/**
    532 		 * Overloaded assignment operator
    533 		 */
    534 		virtual domClear_stencil &operator=( const domClear_stencil &cpy ) { (void)cpy; return *this; }
    535 
    536 	public: // STATIC METHODS
    537 		/**
    538 		 * Creates an instance of this class and returns a daeElementRef referencing it.
    539 		 * @return a daeElementRef referencing an instance of this object.
    540 		 */
    541 		static DLLSPEC daeElementRef create(DAE& dae);
    542 		/**
    543 		 * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
    544 		 * If a daeMetaElement already exists it will return that instead of creating a new one.
    545 		 * @return A daeMetaElement describing this COLLADA element.
    546 		 */
    547 		static DLLSPEC daeMetaElement* registerElement(DAE& dae);
    548 	};
    549 
    550 	class domClear_depth;
    551 
    552 	typedef daeSmartRef<domClear_depth> domClear_depthRef;
    553 	typedef daeTArray<domClear_depthRef> domClear_depth_Array;
    554 
    555 	class domClear_depth : public daeElement
    556 	{
    557 	public:
    558 		virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::CLEAR_DEPTH; }
    559 		static daeInt ID() { return 497; }
    560 		virtual daeInt typeID() const { return ID(); }
    561 	protected:  // Attributes
    562 		domFloat attrValue;
    563 		xsNCName attrParam;
    564 
    565 
    566 	public:	//Accessors and Mutators
    567 		/**
    568 		 * Gets the value attribute.
    569 		 * @return Returns a domFloat of the value attribute.
    570 		 */
    571 		domFloat getValue() const { return attrValue; }
    572 		/**
    573 		 * Sets the value attribute.
    574 		 * @param atValue The new value for the value attribute.
    575 		 */
    576 		void setValue( domFloat atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
    577 
    578 		/**
    579 		 * Gets the param attribute.
    580 		 * @return Returns a xsNCName of the param attribute.
    581 		 */
    582 		xsNCName getParam() const { return attrParam; }
    583 		/**
    584 		 * Sets the param attribute.
    585 		 * @param atParam The new value for the param attribute.
    586 		 */
    587 		void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
    588 
    589 	protected:
    590 		/**
    591 		 * Constructor
    592 		 */
    593 		domClear_depth(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
    594 		/**
    595 		 * Destructor
    596 		 */
    597 		virtual ~domClear_depth() {}
    598 		/**
    599 		 * Overloaded assignment operator
    600 		 */
    601 		virtual domClear_depth &operator=( const domClear_depth &cpy ) { (void)cpy; return *this; }
    602 
    603 	public: // STATIC METHODS
    604 		/**
    605 		 * Creates an instance of this class and returns a daeElementRef referencing it.
    606 		 * @return a daeElementRef referencing an instance of this object.
    607 		 */
    608 		static DLLSPEC daeElementRef create(DAE& dae);
    609 		/**
    610 		 * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
    611 		 * If a daeMetaElement already exists it will return that instead of creating a new one.
    612 		 * @return A daeMetaElement describing this COLLADA element.
    613 		 */
    614 		static DLLSPEC daeMetaElement* registerElement(DAE& dae);
    615 	};
    616 
    617 	class domClip_plane;
    618 
    619 	typedef daeSmartRef<domClip_plane> domClip_planeRef;
    620 	typedef daeTArray<domClip_planeRef> domClip_plane_Array;
    621 
    622 	class domClip_plane : public daeElement
    623 	{
    624 	public:
    625 		virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::CLIP_PLANE; }
    626 		static daeInt ID() { return 498; }
    627 		virtual daeInt typeID() const { return ID(); }
    628 	protected:  // Attributes
    629 		domBool4 attrValue;
    630 		xsNCName attrParam;
    631 		domGLES_MAX_CLIP_PLANES_index attrIndex;
    632 
    633 
    634 	public:	//Accessors and Mutators
    635 		/**
    636 		 * Gets the value array attribute.
    637 		 * @return Returns a domBool4 reference of the value array attribute.
    638 		 */
    639 		domBool4 &getValue() { return attrValue; }
    640 		/**
    641 		 * Gets the value array attribute.
    642 		 * @return Returns a constant domBool4 reference of the value array attribute.
    643 		 */
    644 		const domBool4 &getValue() const { return attrValue; }
    645 		/**
    646 		 * Sets the value array attribute.
    647 		 * @param atValue The new value for the value array attribute.
    648 		 */
    649 		void setValue( const domBool4 &atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
    650 
    651 		/**
    652 		 * Gets the param attribute.
    653 		 * @return Returns a xsNCName of the param attribute.
    654 		 */
    655 		xsNCName getParam() const { return attrParam; }
    656 		/**
    657 		 * Sets the param attribute.
    658 		 * @param atParam The new value for the param attribute.
    659 		 */
    660 		void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
    661 
    662 		/**
    663 		 * Gets the index attribute.
    664 		 * @return Returns a domGLES_MAX_CLIP_PLANES_index of the index attribute.
    665 		 */
    666 		domGLES_MAX_CLIP_PLANES_index getIndex() const { return attrIndex; }
    667 		/**
    668 		 * Sets the index attribute.
    669 		 * @param atIndex The new value for the index attribute.
    670 		 */
    671 		void setIndex( domGLES_MAX_CLIP_PLANES_index atIndex ) { attrIndex = atIndex; _validAttributeArray[2] = true; }
    672 
    673 	protected:
    674 		/**
    675 		 * Constructor
    676 		 */
    677 		domClip_plane(DAE& dae) : daeElement(dae), attrValue(), attrParam(), attrIndex() {}
    678 		/**
    679 		 * Destructor
    680 		 */
    681 		virtual ~domClip_plane() {}
    682 		/**
    683 		 * Overloaded assignment operator
    684 		 */
    685 		virtual domClip_plane &operator=( const domClip_plane &cpy ) { (void)cpy; return *this; }
    686 
    687 	public: // STATIC METHODS
    688 		/**
    689 		 * Creates an instance of this class and returns a daeElementRef referencing it.
    690 		 * @return a daeElementRef referencing an instance of this object.
    691 		 */
    692 		static DLLSPEC daeElementRef create(DAE& dae);
    693 		/**
    694 		 * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
    695 		 * If a daeMetaElement already exists it will return that instead of creating a new one.
    696 		 * @return A daeMetaElement describing this COLLADA element.
    697 		 */
    698 		static DLLSPEC daeMetaElement* registerElement(DAE& dae);
    699 	};
    700 
    701 	class domColor_mask;
    702 
    703 	typedef daeSmartRef<domColor_mask> domColor_maskRef;
    704 	typedef daeTArray<domColor_maskRef> domColor_mask_Array;
    705 
    706 	class domColor_mask : public daeElement
    707 	{
    708 	public:
    709 		virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::COLOR_MASK; }
    710 		static daeInt ID() { return 499; }
    711 		virtual daeInt typeID() const { return ID(); }
    712 	protected:  // Attributes
    713 		domBool4 attrValue;
    714 		xsNCName attrParam;
    715 
    716 
    717 	public:	//Accessors and Mutators
    718 		/**
    719 		 * Gets the value array attribute.
    720 		 * @return Returns a domBool4 reference of the value array attribute.
    721 		 */
    722 		domBool4 &getValue() { return attrValue; }
    723 		/**
    724 		 * Gets the value array attribute.
    725 		 * @return Returns a constant domBool4 reference of the value array attribute.
    726 		 */
    727 		const domBool4 &getValue() const { return attrValue; }
    728 		/**
    729 		 * Sets the value array attribute.
    730 		 * @param atValue The new value for the value array attribute.
    731 		 */
    732 		void setValue( const domBool4 &atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
    733 
    734 		/**
    735 		 * Gets the param attribute.
    736 		 * @return Returns a xsNCName of the param attribute.
    737 		 */
    738 		xsNCName getParam() const { return attrParam; }
    739 		/**
    740 		 * Sets the param attribute.
    741 		 * @param atParam The new value for the param attribute.
    742 		 */
    743 		void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
    744 
    745 	protected:
    746 		/**
    747 		 * Constructor
    748 		 */
    749 		domColor_mask(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
    750 		/**
    751 		 * Destructor
    752 		 */
    753 		virtual ~domColor_mask() {}
    754 		/**
    755 		 * Overloaded assignment operator
    756 		 */
    757 		virtual domColor_mask &operator=( const domColor_mask &cpy ) { (void)cpy; return *this; }
    758 
    759 	public: // STATIC METHODS
    760 		/**
    761 		 * Creates an instance of this class and returns a daeElementRef referencing it.
    762 		 * @return a daeElementRef referencing an instance of this object.
    763 		 */
    764 		static DLLSPEC daeElementRef create(DAE& dae);
    765 		/**
    766 		 * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
    767 		 * If a daeMetaElement already exists it will return that instead of creating a new one.
    768 		 * @return A daeMetaElement describing this COLLADA element.
    769 		 */
    770 		static DLLSPEC daeMetaElement* registerElement(DAE& dae);
    771 	};
    772 
    773 	class domCull_face;
    774 
    775 	typedef daeSmartRef<domCull_face> domCull_faceRef;
    776 	typedef daeTArray<domCull_faceRef> domCull_face_Array;
    777 
    778 	class domCull_face : public daeElement
    779 	{
    780 	public:
    781 		virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::CULL_FACE; }
    782 		static daeInt ID() { return 500; }
    783 		virtual daeInt typeID() const { return ID(); }
    784 	protected:  // Attributes
    785 		domGl_face_type attrValue;
    786 		xsNCName attrParam;
    787 
    788 
    789 	public:	//Accessors and Mutators
    790 		/**
    791 		 * Gets the value attribute.
    792 		 * @return Returns a domGl_face_type of the value attribute.
    793 		 */
    794 		domGl_face_type getValue() const { return attrValue; }
    795 		/**
    796 		 * Sets the value attribute.
    797 		 * @param atValue The new value for the value attribute.
    798 		 */
    799 		void setValue( domGl_face_type atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
    800 
    801 		/**
    802 		 * Gets the param attribute.
    803 		 * @return Returns a xsNCName of the param attribute.
    804 		 */
    805 		xsNCName getParam() const { return attrParam; }
    806 		/**
    807 		 * Sets the param attribute.
    808 		 * @param atParam The new value for the param attribute.
    809 		 */
    810 		void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
    811 
    812 	protected:
    813 		/**
    814 		 * Constructor
    815 		 */
    816 		domCull_face(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
    817 		/**
    818 		 * Destructor
    819 		 */
    820 		virtual ~domCull_face() {}
    821 		/**
    822 		 * Overloaded assignment operator
    823 		 */
    824 		virtual domCull_face &operator=( const domCull_face &cpy ) { (void)cpy; return *this; }
    825 
    826 	public: // STATIC METHODS
    827 		/**
    828 		 * Creates an instance of this class and returns a daeElementRef referencing it.
    829 		 * @return a daeElementRef referencing an instance of this object.
    830 		 */
    831 		static DLLSPEC daeElementRef create(DAE& dae);
    832 		/**
    833 		 * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
    834 		 * If a daeMetaElement already exists it will return that instead of creating a new one.
    835 		 * @return A daeMetaElement describing this COLLADA element.
    836 		 */
    837 		static DLLSPEC daeMetaElement* registerElement(DAE& dae);
    838 	};
    839 
    840 	class domDepth_func;
    841 
    842 	typedef daeSmartRef<domDepth_func> domDepth_funcRef;
    843 	typedef daeTArray<domDepth_funcRef> domDepth_func_Array;
    844 
    845 	class domDepth_func : public daeElement
    846 	{
    847 	public:
    848 		virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::DEPTH_FUNC; }
    849 		static daeInt ID() { return 501; }
    850 		virtual daeInt typeID() const { return ID(); }
    851 	protected:  // Attributes
    852 		domGl_func_type attrValue;
    853 		xsNCName attrParam;
    854 
    855 
    856 	public:	//Accessors and Mutators
    857 		/**
    858 		 * Gets the value attribute.
    859 		 * @return Returns a domGl_func_type of the value attribute.
    860 		 */
    861 		domGl_func_type getValue() const { return attrValue; }
    862 		/**
    863 		 * Sets the value attribute.
    864 		 * @param atValue The new value for the value attribute.
    865 		 */
    866 		void setValue( domGl_func_type atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
    867 
    868 		/**
    869 		 * Gets the param attribute.
    870 		 * @return Returns a xsNCName of the param attribute.
    871 		 */
    872 		xsNCName getParam() const { return attrParam; }
    873 		/**
    874 		 * Sets the param attribute.
    875 		 * @param atParam The new value for the param attribute.
    876 		 */
    877 		void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
    878 
    879 	protected:
    880 		/**
    881 		 * Constructor
    882 		 */
    883 		domDepth_func(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
    884 		/**
    885 		 * Destructor
    886 		 */
    887 		virtual ~domDepth_func() {}
    888 		/**
    889 		 * Overloaded assignment operator
    890 		 */
    891 		virtual domDepth_func &operator=( const domDepth_func &cpy ) { (void)cpy; return *this; }
    892 
    893 	public: // STATIC METHODS
    894 		/**
    895 		 * Creates an instance of this class and returns a daeElementRef referencing it.
    896 		 * @return a daeElementRef referencing an instance of this object.
    897 		 */
    898 		static DLLSPEC daeElementRef create(DAE& dae);
    899 		/**
    900 		 * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
    901 		 * If a daeMetaElement already exists it will return that instead of creating a new one.
    902 		 * @return A daeMetaElement describing this COLLADA element.
    903 		 */
    904 		static DLLSPEC daeMetaElement* registerElement(DAE& dae);
    905 	};
    906 
    907 	class domDepth_mask;
    908 
    909 	typedef daeSmartRef<domDepth_mask> domDepth_maskRef;
    910 	typedef daeTArray<domDepth_maskRef> domDepth_mask_Array;
    911 
    912 	class domDepth_mask : public daeElement
    913 	{
    914 	public:
    915 		virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::DEPTH_MASK; }
    916 		static daeInt ID() { return 502; }
    917 		virtual daeInt typeID() const { return ID(); }
    918 	protected:  // Attributes
    919 		domBool attrValue;
    920 		xsNCName attrParam;
    921 
    922 
    923 	public:	//Accessors and Mutators
    924 		/**
    925 		 * Gets the value attribute.
    926 		 * @return Returns a domBool of the value attribute.
    927 		 */
    928 		domBool getValue() const { return attrValue; }
    929 		/**
    930 		 * Sets the value attribute.
    931 		 * @param atValue The new value for the value attribute.
    932 		 */
    933 		void setValue( domBool atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
    934 
    935 		/**
    936 		 * Gets the param attribute.
    937 		 * @return Returns a xsNCName of the param attribute.
    938 		 */
    939 		xsNCName getParam() const { return attrParam; }
    940 		/**
    941 		 * Sets the param attribute.
    942 		 * @param atParam The new value for the param attribute.
    943 		 */
    944 		void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
    945 
    946 	protected:
    947 		/**
    948 		 * Constructor
    949 		 */
    950 		domDepth_mask(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
    951 		/**
    952 		 * Destructor
    953 		 */
    954 		virtual ~domDepth_mask() {}
    955 		/**
    956 		 * Overloaded assignment operator
    957 		 */
    958 		virtual domDepth_mask &operator=( const domDepth_mask &cpy ) { (void)cpy; return *this; }
    959 
    960 	public: // STATIC METHODS
    961 		/**
    962 		 * Creates an instance of this class and returns a daeElementRef referencing it.
    963 		 * @return a daeElementRef referencing an instance of this object.
    964 		 */
    965 		static DLLSPEC daeElementRef create(DAE& dae);
    966 		/**
    967 		 * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
    968 		 * If a daeMetaElement already exists it will return that instead of creating a new one.
    969 		 * @return A daeMetaElement describing this COLLADA element.
    970 		 */
    971 		static DLLSPEC daeMetaElement* registerElement(DAE& dae);
    972 	};
    973 
    974 	class domDepth_range;
    975 
    976 	typedef daeSmartRef<domDepth_range> domDepth_rangeRef;
    977 	typedef daeTArray<domDepth_rangeRef> domDepth_range_Array;
    978 
    979 	class domDepth_range : public daeElement
    980 	{
    981 	public:
    982 		virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::DEPTH_RANGE; }
    983 		static daeInt ID() { return 503; }
    984 		virtual daeInt typeID() const { return ID(); }
    985 	protected:  // Attributes
    986 		domFloat2 attrValue;
    987 		xsNCName attrParam;
    988 
    989 
    990 	public:	//Accessors and Mutators
    991 		/**
    992 		 * Gets the value array attribute.
    993 		 * @return Returns a domFloat2 reference of the value array attribute.
    994 		 */
    995 		domFloat2 &getValue() { return attrValue; }
    996 		/**
    997 		 * Gets the value array attribute.
    998 		 * @return Returns a constant domFloat2 reference of the value array attribute.
    999 		 */
   1000 		const domFloat2 &getValue() const { return attrValue; }
   1001 		/**
   1002 		 * Sets the value array attribute.
   1003 		 * @param atValue The new value for the value array attribute.
   1004 		 */
   1005 		void setValue( const domFloat2 &atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
   1006 
   1007 		/**
   1008 		 * Gets the param attribute.
   1009 		 * @return Returns a xsNCName of the param attribute.
   1010 		 */
   1011 		xsNCName getParam() const { return attrParam; }
   1012 		/**
   1013 		 * Sets the param attribute.
   1014 		 * @param atParam The new value for the param attribute.
   1015 		 */
   1016 		void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
   1017 
   1018 	protected:
   1019 		/**
   1020 		 * Constructor
   1021 		 */
   1022 		domDepth_range(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
   1023 		/**
   1024 		 * Destructor
   1025 		 */
   1026 		virtual ~domDepth_range() {}
   1027 		/**
   1028 		 * Overloaded assignment operator
   1029 		 */
   1030 		virtual domDepth_range &operator=( const domDepth_range &cpy ) { (void)cpy; return *this; }
   1031 
   1032 	public: // STATIC METHODS
   1033 		/**
   1034 		 * Creates an instance of this class and returns a daeElementRef referencing it.
   1035 		 * @return a daeElementRef referencing an instance of this object.
   1036 		 */
   1037 		static DLLSPEC daeElementRef create(DAE& dae);
   1038 		/**
   1039 		 * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
   1040 		 * If a daeMetaElement already exists it will return that instead of creating a new one.
   1041 		 * @return A daeMetaElement describing this COLLADA element.
   1042 		 */
   1043 		static DLLSPEC daeMetaElement* registerElement(DAE& dae);
   1044 	};
   1045 
   1046 	class domFog_color;
   1047 
   1048 	typedef daeSmartRef<domFog_color> domFog_colorRef;
   1049 	typedef daeTArray<domFog_colorRef> domFog_color_Array;
   1050 
   1051 	class domFog_color : public daeElement
   1052 	{
   1053 	public:
   1054 		virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FOG_COLOR; }
   1055 		static daeInt ID() { return 504; }
   1056 		virtual daeInt typeID() const { return ID(); }
   1057 	protected:  // Attributes
   1058 		domFloat4 attrValue;
   1059 		xsNCName attrParam;
   1060 
   1061 
   1062 	public:	//Accessors and Mutators
   1063 		/**
   1064 		 * Gets the value array attribute.
   1065 		 * @return Returns a domFloat4 reference of the value array attribute.
   1066 		 */
   1067 		domFloat4 &getValue() { return attrValue; }
   1068 		/**
   1069 		 * Gets the value array attribute.
   1070 		 * @return Returns a constant domFloat4 reference of the value array attribute.
   1071 		 */
   1072 		const domFloat4 &getValue() const { return attrValue; }
   1073 		/**
   1074 		 * Sets the value array attribute.
   1075 		 * @param atValue The new value for the value array attribute.
   1076 		 */
   1077 		void setValue( const domFloat4 &atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
   1078 
   1079 		/**
   1080 		 * Gets the param attribute.
   1081 		 * @return Returns a xsNCName of the param attribute.
   1082 		 */
   1083 		xsNCName getParam() const { return attrParam; }
   1084 		/**
   1085 		 * Sets the param attribute.
   1086 		 * @param atParam The new value for the param attribute.
   1087 		 */
   1088 		void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
   1089 
   1090 	protected:
   1091 		/**
   1092 		 * Constructor
   1093 		 */
   1094 		domFog_color(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
   1095 		/**
   1096 		 * Destructor
   1097 		 */
   1098 		virtual ~domFog_color() {}
   1099 		/**
   1100 		 * Overloaded assignment operator
   1101 		 */
   1102 		virtual domFog_color &operator=( const domFog_color &cpy ) { (void)cpy; return *this; }
   1103 
   1104 	public: // STATIC METHODS
   1105 		/**
   1106 		 * Creates an instance of this class and returns a daeElementRef referencing it.
   1107 		 * @return a daeElementRef referencing an instance of this object.
   1108 		 */
   1109 		static DLLSPEC daeElementRef create(DAE& dae);
   1110 		/**
   1111 		 * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
   1112 		 * If a daeMetaElement already exists it will return that instead of creating a new one.
   1113 		 * @return A daeMetaElement describing this COLLADA element.
   1114 		 */
   1115 		static DLLSPEC daeMetaElement* registerElement(DAE& dae);
   1116 	};
   1117 
   1118 	class domFog_density;
   1119 
   1120 	typedef daeSmartRef<domFog_density> domFog_densityRef;
   1121 	typedef daeTArray<domFog_densityRef> domFog_density_Array;
   1122 
   1123 	class domFog_density : public daeElement
   1124 	{
   1125 	public:
   1126 		virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FOG_DENSITY; }
   1127 		static daeInt ID() { return 505; }
   1128 		virtual daeInt typeID() const { return ID(); }
   1129 	protected:  // Attributes
   1130 		domFloat attrValue;
   1131 		xsNCName attrParam;
   1132 
   1133 
   1134 	public:	//Accessors and Mutators
   1135 		/**
   1136 		 * Gets the value attribute.
   1137 		 * @return Returns a domFloat of the value attribute.
   1138 		 */
   1139 		domFloat getValue() const { return attrValue; }
   1140 		/**
   1141 		 * Sets the value attribute.
   1142 		 * @param atValue The new value for the value attribute.
   1143 		 */
   1144 		void setValue( domFloat atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
   1145 
   1146 		/**
   1147 		 * Gets the param attribute.
   1148 		 * @return Returns a xsNCName of the param attribute.
   1149 		 */
   1150 		xsNCName getParam() const { return attrParam; }
   1151 		/**
   1152 		 * Sets the param attribute.
   1153 		 * @param atParam The new value for the param attribute.
   1154 		 */
   1155 		void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
   1156 
   1157 	protected:
   1158 		/**
   1159 		 * Constructor
   1160 		 */
   1161 		domFog_density(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
   1162 		/**
   1163 		 * Destructor
   1164 		 */
   1165 		virtual ~domFog_density() {}
   1166 		/**
   1167 		 * Overloaded assignment operator
   1168 		 */
   1169 		virtual domFog_density &operator=( const domFog_density &cpy ) { (void)cpy; return *this; }
   1170 
   1171 	public: // STATIC METHODS
   1172 		/**
   1173 		 * Creates an instance of this class and returns a daeElementRef referencing it.
   1174 		 * @return a daeElementRef referencing an instance of this object.
   1175 		 */
   1176 		static DLLSPEC daeElementRef create(DAE& dae);
   1177 		/**
   1178 		 * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
   1179 		 * If a daeMetaElement already exists it will return that instead of creating a new one.
   1180 		 * @return A daeMetaElement describing this COLLADA element.
   1181 		 */
   1182 		static DLLSPEC daeMetaElement* registerElement(DAE& dae);
   1183 	};
   1184 
   1185 	class domFog_mode;
   1186 
   1187 	typedef daeSmartRef<domFog_mode> domFog_modeRef;
   1188 	typedef daeTArray<domFog_modeRef> domFog_mode_Array;
   1189 
   1190 	class domFog_mode : public daeElement
   1191 	{
   1192 	public:
   1193 		virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FOG_MODE; }
   1194 		static daeInt ID() { return 506; }
   1195 		virtual daeInt typeID() const { return ID(); }
   1196 	protected:  // Attributes
   1197 		domGl_fog_type attrValue;
   1198 		xsNCName attrParam;
   1199 
   1200 
   1201 	public:	//Accessors and Mutators
   1202 		/**
   1203 		 * Gets the value attribute.
   1204 		 * @return Returns a domGl_fog_type of the value attribute.
   1205 		 */
   1206 		domGl_fog_type getValue() const { return attrValue; }
   1207 		/**
   1208 		 * Sets the value attribute.
   1209 		 * @param atValue The new value for the value attribute.
   1210 		 */
   1211 		void setValue( domGl_fog_type atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
   1212 
   1213 		/**
   1214 		 * Gets the param attribute.
   1215 		 * @return Returns a xsNCName of the param attribute.
   1216 		 */
   1217 		xsNCName getParam() const { return attrParam; }
   1218 		/**
   1219 		 * Sets the param attribute.
   1220 		 * @param atParam The new value for the param attribute.
   1221 		 */
   1222 		void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
   1223 
   1224 	protected:
   1225 		/**
   1226 		 * Constructor
   1227 		 */
   1228 		domFog_mode(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
   1229 		/**
   1230 		 * Destructor
   1231 		 */
   1232 		virtual ~domFog_mode() {}
   1233 		/**
   1234 		 * Overloaded assignment operator
   1235 		 */
   1236 		virtual domFog_mode &operator=( const domFog_mode &cpy ) { (void)cpy; return *this; }
   1237 
   1238 	public: // STATIC METHODS
   1239 		/**
   1240 		 * Creates an instance of this class and returns a daeElementRef referencing it.
   1241 		 * @return a daeElementRef referencing an instance of this object.
   1242 		 */
   1243 		static DLLSPEC daeElementRef create(DAE& dae);
   1244 		/**
   1245 		 * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
   1246 		 * If a daeMetaElement already exists it will return that instead of creating a new one.
   1247 		 * @return A daeMetaElement describing this COLLADA element.
   1248 		 */
   1249 		static DLLSPEC daeMetaElement* registerElement(DAE& dae);
   1250 	};
   1251 
   1252 	class domFog_start;
   1253 
   1254 	typedef daeSmartRef<domFog_start> domFog_startRef;
   1255 	typedef daeTArray<domFog_startRef> domFog_start_Array;
   1256 
   1257 	class domFog_start : public daeElement
   1258 	{
   1259 	public:
   1260 		virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FOG_START; }
   1261 		static daeInt ID() { return 507; }
   1262 		virtual daeInt typeID() const { return ID(); }
   1263 	protected:  // Attributes
   1264 		domFloat attrValue;
   1265 		xsNCName attrParam;
   1266 
   1267 
   1268 	public:	//Accessors and Mutators
   1269 		/**
   1270 		 * Gets the value attribute.
   1271 		 * @return Returns a domFloat of the value attribute.
   1272 		 */
   1273 		domFloat getValue() const { return attrValue; }
   1274 		/**
   1275 		 * Sets the value attribute.
   1276 		 * @param atValue The new value for the value attribute.
   1277 		 */
   1278 		void setValue( domFloat atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
   1279 
   1280 		/**
   1281 		 * Gets the param attribute.
   1282 		 * @return Returns a xsNCName of the param attribute.
   1283 		 */
   1284 		xsNCName getParam() const { return attrParam; }
   1285 		/**
   1286 		 * Sets the param attribute.
   1287 		 * @param atParam The new value for the param attribute.
   1288 		 */
   1289 		void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
   1290 
   1291 	protected:
   1292 		/**
   1293 		 * Constructor
   1294 		 */
   1295 		domFog_start(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
   1296 		/**
   1297 		 * Destructor
   1298 		 */
   1299 		virtual ~domFog_start() {}
   1300 		/**
   1301 		 * Overloaded assignment operator
   1302 		 */
   1303 		virtual domFog_start &operator=( const domFog_start &cpy ) { (void)cpy; return *this; }
   1304 
   1305 	public: // STATIC METHODS
   1306 		/**
   1307 		 * Creates an instance of this class and returns a daeElementRef referencing it.
   1308 		 * @return a daeElementRef referencing an instance of this object.
   1309 		 */
   1310 		static DLLSPEC daeElementRef create(DAE& dae);
   1311 		/**
   1312 		 * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
   1313 		 * If a daeMetaElement already exists it will return that instead of creating a new one.
   1314 		 * @return A daeMetaElement describing this COLLADA element.
   1315 		 */
   1316 		static DLLSPEC daeMetaElement* registerElement(DAE& dae);
   1317 	};
   1318 
   1319 	class domFog_end;
   1320 
   1321 	typedef daeSmartRef<domFog_end> domFog_endRef;
   1322 	typedef daeTArray<domFog_endRef> domFog_end_Array;
   1323 
   1324 	class domFog_end : public daeElement
   1325 	{
   1326 	public:
   1327 		virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FOG_END; }
   1328 		static daeInt ID() { return 508; }
   1329 		virtual daeInt typeID() const { return ID(); }
   1330 	protected:  // Attributes
   1331 		domFloat attrValue;
   1332 		xsNCName attrParam;
   1333 
   1334 
   1335 	public:	//Accessors and Mutators
   1336 		/**
   1337 		 * Gets the value attribute.
   1338 		 * @return Returns a domFloat of the value attribute.
   1339 		 */
   1340 		domFloat getValue() const { return attrValue; }
   1341 		/**
   1342 		 * Sets the value attribute.
   1343 		 * @param atValue The new value for the value attribute.
   1344 		 */
   1345 		void setValue( domFloat atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
   1346 
   1347 		/**
   1348 		 * Gets the param attribute.
   1349 		 * @return Returns a xsNCName of the param attribute.
   1350 		 */
   1351 		xsNCName getParam() const { return attrParam; }
   1352 		/**
   1353 		 * Sets the param attribute.
   1354 		 * @param atParam The new value for the param attribute.
   1355 		 */
   1356 		void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
   1357 
   1358 	protected:
   1359 		/**
   1360 		 * Constructor
   1361 		 */
   1362 		domFog_end(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
   1363 		/**
   1364 		 * Destructor
   1365 		 */
   1366 		virtual ~domFog_end() {}
   1367 		/**
   1368 		 * Overloaded assignment operator
   1369 		 */
   1370 		virtual domFog_end &operator=( const domFog_end &cpy ) { (void)cpy; return *this; }
   1371 
   1372 	public: // STATIC METHODS
   1373 		/**
   1374 		 * Creates an instance of this class and returns a daeElementRef referencing it.
   1375 		 * @return a daeElementRef referencing an instance of this object.
   1376 		 */
   1377 		static DLLSPEC daeElementRef create(DAE& dae);
   1378 		/**
   1379 		 * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
   1380 		 * If a daeMetaElement already exists it will return that instead of creating a new one.
   1381 		 * @return A daeMetaElement describing this COLLADA element.
   1382 		 */
   1383 		static DLLSPEC daeMetaElement* registerElement(DAE& dae);
   1384 	};
   1385 
   1386 	class domFront_face;
   1387 
   1388 	typedef daeSmartRef<domFront_face> domFront_faceRef;
   1389 	typedef daeTArray<domFront_faceRef> domFront_face_Array;
   1390 
   1391 	class domFront_face : public daeElement
   1392 	{
   1393 	public:
   1394 		virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FRONT_FACE; }
   1395 		static daeInt ID() { return 509; }
   1396 		virtual daeInt typeID() const { return ID(); }
   1397 	protected:  // Attributes
   1398 		domGl_front_face_type attrValue;
   1399 		xsNCName attrParam;
   1400 
   1401 
   1402 	public:	//Accessors and Mutators
   1403 		/**
   1404 		 * Gets the value attribute.
   1405 		 * @return Returns a domGl_front_face_type of the value attribute.
   1406 		 */
   1407 		domGl_front_face_type getValue() const { return attrValue; }
   1408 		/**
   1409 		 * Sets the value attribute.
   1410 		 * @param atValue The new value for the value attribute.
   1411 		 */
   1412 		void setValue( domGl_front_face_type atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
   1413 
   1414 		/**
   1415 		 * Gets the param attribute.
   1416 		 * @return Returns a xsNCName of the param attribute.
   1417 		 */
   1418 		xsNCName getParam() const { return attrParam; }
   1419 		/**
   1420 		 * Sets the param attribute.
   1421 		 * @param atParam The new value for the param attribute.
   1422 		 */
   1423 		void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
   1424 
   1425 	protected:
   1426 		/**
   1427 		 * Constructor
   1428 		 */
   1429 		domFront_face(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
   1430 		/**
   1431 		 * Destructor
   1432 		 */
   1433 		virtual ~domFront_face() {}
   1434 		/**
   1435 		 * Overloaded assignment operator
   1436 		 */
   1437 		virtual domFront_face &operator=( const domFront_face &cpy ) { (void)cpy; return *this; }
   1438 
   1439 	public: // STATIC METHODS
   1440 		/**
   1441 		 * Creates an instance of this class and returns a daeElementRef referencing it.
   1442 		 * @return a daeElementRef referencing an instance of this object.
   1443 		 */
   1444 		static DLLSPEC daeElementRef create(DAE& dae);
   1445 		/**
   1446 		 * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
   1447 		 * If a daeMetaElement already exists it will return that instead of creating a new one.
   1448 		 * @return A daeMetaElement describing this COLLADA element.
   1449 		 */
   1450 		static DLLSPEC daeMetaElement* registerElement(DAE& dae);
   1451 	};
   1452 
   1453 	class domTexture_pipeline;
   1454 
   1455 	typedef daeSmartRef<domTexture_pipeline> domTexture_pipelineRef;
   1456 	typedef daeTArray<domTexture_pipelineRef> domTexture_pipeline_Array;
   1457 
   1458 	class domTexture_pipeline : public daeElement
   1459 	{
   1460 	public:
   1461 		virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::TEXTURE_PIPELINE; }
   1462 		static daeInt ID() { return 510; }
   1463 		virtual daeInt typeID() const { return ID(); }
   1464 	protected:  // Attribute
   1465 		xsNCName attrParam;
   1466 
   1467 	protected:  // Element
   1468 		domGles_texture_pipelineRef elemValue;
   1469 
   1470 	public:	//Accessors and Mutators
   1471 		/**
   1472 		 * Gets the param attribute.
   1473 		 * @return Returns a xsNCName of the param attribute.
   1474 		 */
   1475 		xsNCName getParam() const { return attrParam; }
   1476 		/**
   1477 		 * Sets the param attribute.
   1478 		 * @param atParam The new value for the param attribute.
   1479 		 */
   1480 		void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[0] = true; }
   1481 
   1482 		/**
   1483 		 * Gets the value element.
   1484 		 * @return a daeSmartRef to the value element.
   1485 		 */
   1486 		const domGles_texture_pipelineRef getValue() const { return elemValue; }
   1487 	protected:
   1488 		/**
   1489 		 * Constructor
   1490 		 */
   1491 		domTexture_pipeline(DAE& dae) : daeElement(dae), attrParam(), elemValue() {}
   1492 		/**
   1493 		 * Destructor
   1494 		 */
   1495 		virtual ~domTexture_pipeline() {}
   1496 		/**
   1497 		 * Overloaded assignment operator
   1498 		 */
   1499 		virtual domTexture_pipeline &operator=( const domTexture_pipeline &cpy ) { (void)cpy; return *this; }
   1500 
   1501 	public: // STATIC METHODS
   1502 		/**
   1503 		 * Creates an instance of this class and returns a daeElementRef referencing it.
   1504 		 * @return a daeElementRef referencing an instance of this object.
   1505 		 */
   1506 		static DLLSPEC daeElementRef create(DAE& dae);
   1507 		/**
   1508 		 * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
   1509 		 * If a daeMetaElement already exists it will return that instead of creating a new one.
   1510 		 * @return A daeMetaElement describing this COLLADA element.
   1511 		 */
   1512 		static DLLSPEC daeMetaElement* registerElement(DAE& dae);
   1513 	};
   1514 
   1515 	class domLogic_op;
   1516 
   1517 	typedef daeSmartRef<domLogic_op> domLogic_opRef;
   1518 	typedef daeTArray<domLogic_opRef> domLogic_op_Array;
   1519 
   1520 	class domLogic_op : public daeElement
   1521 	{
   1522 	public:
   1523 		virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::LOGIC_OP; }
   1524 		static daeInt ID() { return 511; }
   1525 		virtual daeInt typeID() const { return ID(); }
   1526 	protected:  // Attributes
   1527 		domGl_logic_op_type attrValue;
   1528 		xsNCName attrParam;
   1529 
   1530 
   1531 	public:	//Accessors and Mutators
   1532 		/**
   1533 		 * Gets the value attribute.
   1534 		 * @return Returns a domGl_logic_op_type of the value attribute.
   1535 		 */
   1536 		domGl_logic_op_type getValue() const { return attrValue; }
   1537 		/**
   1538 		 * Sets the value attribute.
   1539 		 * @param atValue The new value for the value attribute.
   1540 		 */
   1541 		void setValue( domGl_logic_op_type atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
   1542 
   1543 		/**
   1544 		 * Gets the param attribute.
   1545 		 * @return Returns a xsNCName of the param attribute.
   1546 		 */
   1547 		xsNCName getParam() const { return attrParam; }
   1548 		/**
   1549 		 * Sets the param attribute.
   1550 		 * @param atParam The new value for the param attribute.
   1551 		 */
   1552 		void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
   1553 
   1554 	protected:
   1555 		/**
   1556 		 * Constructor
   1557 		 */
   1558 		domLogic_op(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
   1559 		/**
   1560 		 * Destructor
   1561 		 */
   1562 		virtual ~domLogic_op() {}
   1563 		/**
   1564 		 * Overloaded assignment operator
   1565 		 */
   1566 		virtual domLogic_op &operator=( const domLogic_op &cpy ) { (void)cpy; return *this; }
   1567 
   1568 	public: // STATIC METHODS
   1569 		/**
   1570 		 * Creates an instance of this class and returns a daeElementRef referencing it.
   1571 		 * @return a daeElementRef referencing an instance of this object.
   1572 		 */
   1573 		static DLLSPEC daeElementRef create(DAE& dae);
   1574 		/**
   1575 		 * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
   1576 		 * If a daeMetaElement already exists it will return that instead of creating a new one.
   1577 		 * @return A daeMetaElement describing this COLLADA element.
   1578 		 */
   1579 		static DLLSPEC daeMetaElement* registerElement(DAE& dae);
   1580 	};
   1581 
   1582 	class domLight_ambient;
   1583 
   1584 	typedef daeSmartRef<domLight_ambient> domLight_ambientRef;
   1585 	typedef daeTArray<domLight_ambientRef> domLight_ambient_Array;
   1586 
   1587 	class domLight_ambient : public daeElement
   1588 	{
   1589 	public:
   1590 		virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::LIGHT_AMBIENT; }
   1591 		static daeInt ID() { return 512; }
   1592 		virtual daeInt typeID() const { return ID(); }
   1593 	protected:  // Attributes
   1594 		domFloat4 attrValue;
   1595 		xsNCName attrParam;
   1596 		domGLES_MAX_LIGHTS_index attrIndex;
   1597 
   1598 
   1599 	public:	//Accessors and Mutators
   1600 		/**
   1601 		 * Gets the value array attribute.
   1602 		 * @return Returns a domFloat4 reference of the value array attribute.
   1603 		 */
   1604 		domFloat4 &getValue() { return attrValue; }
   1605 		/**
   1606 		 * Gets the value array attribute.
   1607 		 * @return Returns a constant domFloat4 reference of the value array attribute.
   1608 		 */
   1609 		const domFloat4 &getValue() const { return attrValue; }
   1610 		/**
   1611 		 * Sets the value array attribute.
   1612 		 * @param atValue The new value for the value array attribute.
   1613 		 */
   1614 		void setValue( const domFloat4 &atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
   1615 
   1616 		/**
   1617 		 * Gets the param attribute.
   1618 		 * @return Returns a xsNCName of the param attribute.
   1619 		 */
   1620 		xsNCName getParam() const { return attrParam; }
   1621 		/**
   1622 		 * Sets the param attribute.
   1623 		 * @param atParam The new value for the param attribute.
   1624 		 */
   1625 		void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
   1626 
   1627 		/**
   1628 		 * Gets the index attribute.
   1629 		 * @return Returns a domGLES_MAX_LIGHTS_index of the index attribute.
   1630 		 */
   1631 		domGLES_MAX_LIGHTS_index getIndex() const { return attrIndex; }
   1632 		/**
   1633 		 * Sets the index attribute.
   1634 		 * @param atIndex The new value for the index attribute.
   1635 		 */
   1636 		void setIndex( domGLES_MAX_LIGHTS_index atIndex ) { attrIndex = atIndex; _validAttributeArray[2] = true; }
   1637 
   1638 	protected:
   1639 		/**
   1640 		 * Constructor
   1641 		 */
   1642 		domLight_ambient(DAE& dae) : daeElement(dae), attrValue(), attrParam(), attrIndex() {}
   1643 		/**
   1644 		 * Destructor
   1645 		 */
   1646 		virtual ~domLight_ambient() {}
   1647 		/**
   1648 		 * Overloaded assignment operator
   1649 		 */
   1650 		virtual domLight_ambient &operator=( const domLight_ambient &cpy ) { (void)cpy; return *this; }
   1651 
   1652 	public: // STATIC METHODS
   1653 		/**
   1654 		 * Creates an instance of this class and returns a daeElementRef referencing it.
   1655 		 * @return a daeElementRef referencing an instance of this object.
   1656 		 */
   1657 		static DLLSPEC daeElementRef create(DAE& dae);
   1658 		/**
   1659 		 * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
   1660 		 * If a daeMetaElement already exists it will return that instead of creating a new one.
   1661 		 * @return A daeMetaElement describing this COLLADA element.
   1662 		 */
   1663 		static DLLSPEC daeMetaElement* registerElement(DAE& dae);
   1664 	};
   1665 
   1666 	class domLight_diffuse;
   1667 
   1668 	typedef daeSmartRef<domLight_diffuse> domLight_diffuseRef;
   1669 	typedef daeTArray<domLight_diffuseRef> domLight_diffuse_Array;
   1670 
   1671 	class domLight_diffuse : public daeElement
   1672 	{
   1673 	public:
   1674 		virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::LIGHT_DIFFUSE; }
   1675 		static daeInt ID() { return 513; }
   1676 		virtual daeInt typeID() const { return ID(); }
   1677 	protected:  // Attributes
   1678 		domFloat4 attrValue;
   1679 		xsNCName attrParam;
   1680 		domGLES_MAX_LIGHTS_index attrIndex;
   1681 
   1682 
   1683 	public:	//Accessors and Mutators
   1684 		/**
   1685 		 * Gets the value array attribute.
   1686 		 * @return Returns a domFloat4 reference of the value array attribute.
   1687 		 */
   1688 		domFloat4 &getValue() { return attrValue; }
   1689 		/**
   1690 		 * Gets the value array attribute.
   1691 		 * @return Returns a constant domFloat4 reference of the value array attribute.
   1692 		 */
   1693 		const domFloat4 &getValue() const { return attrValue; }
   1694 		/**
   1695 		 * Sets the value array attribute.
   1696 		 * @param atValue The new value for the value array attribute.
   1697 		 */
   1698 		void setValue( const domFloat4 &atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
   1699 
   1700 		/**
   1701 		 * Gets the param attribute.
   1702 		 * @return Returns a xsNCName of the param attribute.
   1703 		 */
   1704 		xsNCName getParam() const { return attrParam; }
   1705 		/**
   1706 		 * Sets the param attribute.
   1707 		 * @param atParam The new value for the param attribute.
   1708 		 */
   1709 		void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
   1710 
   1711 		/**
   1712 		 * Gets the index attribute.
   1713 		 * @return Returns a domGLES_MAX_LIGHTS_index of the index attribute.
   1714 		 */
   1715 		domGLES_MAX_LIGHTS_index getIndex() const { return attrIndex; }
   1716 		/**
   1717 		 * Sets the index attribute.
   1718 		 * @param atIndex The new value for the index attribute.
   1719 		 */
   1720 		void setIndex( domGLES_MAX_LIGHTS_index atIndex ) { attrIndex = atIndex; _validAttributeArray[2] = true; }
   1721 
   1722 	protected:
   1723 		/**
   1724 		 * Constructor
   1725 		 */
   1726 		domLight_diffuse(DAE& dae) : daeElement(dae), attrValue(), attrParam(), attrIndex() {}
   1727 		/**
   1728 		 * Destructor
   1729 		 */
   1730 		virtual ~domLight_diffuse() {}
   1731 		/**
   1732 		 * Overloaded assignment operator
   1733 		 */
   1734 		virtual domLight_diffuse &operator=( const domLight_diffuse &cpy ) { (void)cpy; return *this; }
   1735 
   1736 	public: // STATIC METHODS
   1737 		/**
   1738 		 * Creates an instance of this class and returns a daeElementRef referencing it.
   1739 		 * @return a daeElementRef referencing an instance of this object.
   1740 		 */
   1741 		static DLLSPEC daeElementRef create(DAE& dae);
   1742 		/**
   1743 		 * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
   1744 		 * If a daeMetaElement already exists it will return that instead of creating a new one.
   1745 		 * @return A daeMetaElement describing this COLLADA element.
   1746 		 */
   1747 		static DLLSPEC daeMetaElement* registerElement(DAE& dae);
   1748 	};
   1749 
   1750 	class domLight_specular;
   1751 
   1752 	typedef daeSmartRef<domLight_specular> domLight_specularRef;
   1753 	typedef daeTArray<domLight_specularRef> domLight_specular_Array;
   1754 
   1755 	class domLight_specular : public daeElement
   1756 	{
   1757 	public:
   1758 		virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::LIGHT_SPECULAR; }
   1759 		static daeInt ID() { return 514; }
   1760 		virtual daeInt typeID() const { return ID(); }
   1761 	protected:  // Attributes
   1762 		domFloat4 attrValue;
   1763 		xsNCName attrParam;
   1764 		domGLES_MAX_LIGHTS_index attrIndex;
   1765 
   1766 
   1767 	public:	//Accessors and Mutators
   1768 		/**
   1769 		 * Gets the value array attribute.
   1770 		 * @return Returns a domFloat4 reference of the value array attribute.
   1771 		 */
   1772 		domFloat4 &getValue() { return attrValue; }
   1773 		/**
   1774 		 * Gets the value array attribute.
   1775 		 * @return Returns a constant domFloat4 reference of the value array attribute.
   1776 		 */
   1777 		const domFloat4 &getValue() const { return attrValue; }
   1778 		/**
   1779 		 * Sets the value array attribute.
   1780 		 * @param atValue The new value for the value array attribute.
   1781 		 */
   1782 		void setValue( const domFloat4 &atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
   1783 
   1784 		/**
   1785 		 * Gets the param attribute.
   1786 		 * @return Returns a xsNCName of the param attribute.
   1787 		 */
   1788 		xsNCName getParam() const { return attrParam; }
   1789 		/**
   1790 		 * Sets the param attribute.
   1791 		 * @param atParam The new value for the param attribute.
   1792 		 */
   1793 		void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
   1794 
   1795 		/**
   1796 		 * Gets the index attribute.
   1797 		 * @return Returns a domGLES_MAX_LIGHTS_index of the index attribute.
   1798 		 */
   1799 		domGLES_MAX_LIGHTS_index getIndex() const { return attrIndex; }
   1800 		/**
   1801 		 * Sets the index attribute.
   1802 		 * @param atIndex The new value for the index attribute.
   1803 		 */
   1804 		void setIndex( domGLES_MAX_LIGHTS_index atIndex ) { attrIndex = atIndex; _validAttributeArray[2] = true; }
   1805 
   1806 	protected:
   1807 		/**
   1808 		 * Constructor
   1809 		 */
   1810 		domLight_specular(DAE& dae) : daeElement(dae), attrValue(), attrParam(), attrIndex() {}
   1811 		/**
   1812 		 * Destructor
   1813 		 */
   1814 		virtual ~domLight_specular() {}
   1815 		/**
   1816 		 * Overloaded assignment operator
   1817 		 */
   1818 		virtual domLight_specular &operator=( const domLight_specular &cpy ) { (void)cpy; return *this; }
   1819 
   1820 	public: // STATIC METHODS
   1821 		/**
   1822 		 * Creates an instance of this class and returns a daeElementRef referencing it.
   1823 		 * @return a daeElementRef referencing an instance of this object.
   1824 		 */
   1825 		static DLLSPEC daeElementRef create(DAE& dae);
   1826 		/**
   1827 		 * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
   1828 		 * If a daeMetaElement already exists it will return that instead of creating a new one.
   1829 		 * @return A daeMetaElement describing this COLLADA element.
   1830 		 */
   1831 		static DLLSPEC daeMetaElement* registerElement(DAE& dae);
   1832 	};
   1833 
   1834 	class domLight_position;
   1835 
   1836 	typedef daeSmartRef<domLight_position> domLight_positionRef;
   1837 	typedef daeTArray<domLight_positionRef> domLight_position_Array;
   1838 
   1839 	class domLight_position : public daeElement
   1840 	{
   1841 	public:
   1842 		virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::LIGHT_POSITION; }
   1843 		static daeInt ID() { return 515; }
   1844 		virtual daeInt typeID() const { return ID(); }
   1845 	protected:  // Attributes
   1846 		domFloat4 attrValue;
   1847 		xsNCName attrParam;
   1848 		domGLES_MAX_LIGHTS_index attrIndex;
   1849 
   1850 
   1851 	public:	//Accessors and Mutators
   1852 		/**
   1853 		 * Gets the value array attribute.
   1854 		 * @return Returns a domFloat4 reference of the value array attribute.
   1855 		 */
   1856 		domFloat4 &getValue() { return attrValue; }
   1857 		/**
   1858 		 * Gets the value array attribute.
   1859 		 * @return Returns a constant domFloat4 reference of the value array attribute.
   1860 		 */
   1861 		const domFloat4 &getValue() const { return attrValue; }
   1862 		/**
   1863 		 * Sets the value array attribute.
   1864 		 * @param atValue The new value for the value array attribute.
   1865 		 */
   1866 		void setValue( const domFloat4 &atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
   1867 
   1868 		/**
   1869 		 * Gets the param attribute.
   1870 		 * @return Returns a xsNCName of the param attribute.
   1871 		 */
   1872 		xsNCName getParam() const { return attrParam; }
   1873 		/**
   1874 		 * Sets the param attribute.
   1875 		 * @param atParam The new value for the param attribute.
   1876 		 */
   1877 		void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
   1878 
   1879 		/**
   1880 		 * Gets the index attribute.
   1881 		 * @return Returns a domGLES_MAX_LIGHTS_index of the index attribute.
   1882 		 */
   1883 		domGLES_MAX_LIGHTS_index getIndex() const { return attrIndex; }
   1884 		/**
   1885 		 * Sets the index attribute.
   1886 		 * @param atIndex The new value for the index attribute.
   1887 		 */
   1888 		void setIndex( domGLES_MAX_LIGHTS_index atIndex ) { attrIndex = atIndex; _validAttributeArray[2] = true; }
   1889 
   1890 	protected:
   1891 		/**
   1892 		 * Constructor
   1893 		 */
   1894 		domLight_position(DAE& dae) : daeElement(dae), attrValue(), attrParam(), attrIndex() {}
   1895 		/**
   1896 		 * Destructor
   1897 		 */
   1898 		virtual ~domLight_position() {}
   1899 		/**
   1900 		 * Overloaded assignment operator
   1901 		 */
   1902 		virtual domLight_position &operator=( const domLight_position &cpy ) { (void)cpy; return *this; }
   1903 
   1904 	public: // STATIC METHODS
   1905 		/**
   1906 		 * Creates an instance of this class and returns a daeElementRef referencing it.
   1907 		 * @return a daeElementRef referencing an instance of this object.
   1908 		 */
   1909 		static DLLSPEC daeElementRef create(DAE& dae);
   1910 		/**
   1911 		 * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
   1912 		 * If a daeMetaElement already exists it will return that instead of creating a new one.
   1913 		 * @return A daeMetaElement describing this COLLADA element.
   1914 		 */
   1915 		static DLLSPEC daeMetaElement* registerElement(DAE& dae);
   1916 	};
   1917 
   1918 	class domLight_constant_attenuation;
   1919 
   1920 	typedef daeSmartRef<domLight_constant_attenuation> domLight_constant_attenuationRef;
   1921 	typedef daeTArray<domLight_constant_attenuationRef> domLight_constant_attenuation_Array;
   1922 
   1923 	class domLight_constant_attenuation : public daeElement
   1924 	{
   1925 	public:
   1926 		virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::LIGHT_CONSTANT_ATTENUATION; }
   1927 		static daeInt ID() { return 516; }
   1928 		virtual daeInt typeID() const { return ID(); }
   1929 	protected:  // Attributes
   1930 		domFloat attrValue;
   1931 		xsNCName attrParam;
   1932 		domGLES_MAX_LIGHTS_index attrIndex;
   1933 
   1934 
   1935 	public:	//Accessors and Mutators
   1936 		/**
   1937 		 * Gets the value attribute.
   1938 		 * @return Returns a domFloat of the value attribute.
   1939 		 */
   1940 		domFloat getValue() const { return attrValue; }
   1941 		/**
   1942 		 * Sets the value attribute.
   1943 		 * @param atValue The new value for the value attribute.
   1944 		 */
   1945 		void setValue( domFloat atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
   1946 
   1947 		/**
   1948 		 * Gets the param attribute.
   1949 		 * @return Returns a xsNCName of the param attribute.
   1950 		 */
   1951 		xsNCName getParam() const { return attrParam; }
   1952 		/**
   1953 		 * Sets the param attribute.
   1954 		 * @param atParam The new value for the param attribute.
   1955 		 */
   1956 		void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
   1957 
   1958 		/**
   1959 		 * Gets the index attribute.
   1960 		 * @return Returns a domGLES_MAX_LIGHTS_index of the index attribute.
   1961 		 */
   1962 		domGLES_MAX_LIGHTS_index getIndex() const { return attrIndex; }
   1963 		/**
   1964 		 * Sets the index attribute.
   1965 		 * @param atIndex The new value for the index attribute.
   1966 		 */
   1967 		void setIndex( domGLES_MAX_LIGHTS_index atIndex ) { attrIndex = atIndex; _validAttributeArray[2] = true; }
   1968 
   1969 	protected:
   1970 		/**
   1971 		 * Constructor
   1972 		 */
   1973 		domLight_constant_attenuation(DAE& dae) : daeElement(dae), attrValue(), attrParam(), attrIndex() {}
   1974 		/**
   1975 		 * Destructor
   1976 		 */
   1977 		virtual ~domLight_constant_attenuation() {}
   1978 		/**
   1979 		 * Overloaded assignment operator
   1980 		 */
   1981 		virtual domLight_constant_attenuation &operator=( const domLight_constant_attenuation &cpy ) { (void)cpy; return *this; }
   1982 
   1983 	public: // STATIC METHODS
   1984 		/**
   1985 		 * Creates an instance of this class and returns a daeElementRef referencing it.
   1986 		 * @return a daeElementRef referencing an instance of this object.
   1987 		 */
   1988 		static DLLSPEC daeElementRef create(DAE& dae);
   1989 		/**
   1990 		 * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
   1991 		 * If a daeMetaElement already exists it will return that instead of creating a new one.
   1992 		 * @return A daeMetaElement describing this COLLADA element.
   1993 		 */
   1994 		static DLLSPEC daeMetaElement* registerElement(DAE& dae);
   1995 	};
   1996 
   1997 	class domLight_linear_attenutation;
   1998 
   1999 	typedef daeSmartRef<domLight_linear_attenutation> domLight_linear_attenutationRef;
   2000 	typedef daeTArray<domLight_linear_attenutationRef> domLight_linear_attenutation_Array;
   2001 
   2002 	class domLight_linear_attenutation : public daeElement
   2003 	{
   2004 	public:
   2005 		virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::LIGHT_LINEAR_ATTENUTATION; }
   2006 		static daeInt ID() { return 517; }
   2007 		virtual daeInt typeID() const { return ID(); }
   2008 	protected:  // Attributes
   2009 		domFloat attrValue;
   2010 		xsNCName attrParam;
   2011 		domGLES_MAX_LIGHTS_index attrIndex;
   2012 
   2013 
   2014 	public:	//Accessors and Mutators
   2015 		/**
   2016 		 * Gets the value attribute.
   2017 		 * @return Returns a domFloat of the value attribute.
   2018 		 */
   2019 		domFloat getValue() const { return attrValue; }
   2020 		/**
   2021 		 * Sets the value attribute.
   2022 		 * @param atValue The new value for the value attribute.
   2023 		 */
   2024 		void setValue( domFloat atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
   2025 
   2026 		/**
   2027 		 * Gets the param attribute.
   2028 		 * @return Returns a xsNCName of the param attribute.
   2029 		 */
   2030 		xsNCName getParam() const { return attrParam; }
   2031 		/**
   2032 		 * Sets the param attribute.
   2033 		 * @param atParam The new value for the param attribute.
   2034 		 */
   2035 		void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
   2036 
   2037 		/**
   2038 		 * Gets the index attribute.
   2039 		 * @return Returns a domGLES_MAX_LIGHTS_index of the index attribute.
   2040 		 */
   2041 		domGLES_MAX_LIGHTS_index getIndex() const { return attrIndex; }
   2042 		/**
   2043 		 * Sets the index attribute.
   2044 		 * @param atIndex The new value for the index attribute.
   2045 		 */
   2046 		void setIndex( domGLES_MAX_LIGHTS_index atIndex ) { attrIndex = atIndex; _validAttributeArray[2] = true; }
   2047 
   2048 	protected:
   2049 		/**
   2050 		 * Constructor
   2051 		 */
   2052 		domLight_linear_attenutation(DAE& dae) : daeElement(dae), attrValue(), attrParam(), attrIndex() {}
   2053 		/**
   2054 		 * Destructor
   2055 		 */
   2056 		virtual ~domLight_linear_attenutation() {}
   2057 		/**
   2058 		 * Overloaded assignment operator
   2059 		 */
   2060 		virtual domLight_linear_attenutation &operator=( const domLight_linear_attenutation &cpy ) { (void)cpy; return *this; }
   2061 
   2062 	public: // STATIC METHODS
   2063 		/**
   2064 		 * Creates an instance of this class and returns a daeElementRef referencing it.
   2065 		 * @return a daeElementRef referencing an instance of this object.
   2066 		 */
   2067 		static DLLSPEC daeElementRef create(DAE& dae);
   2068 		/**
   2069 		 * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
   2070 		 * If a daeMetaElement already exists it will return that instead of creating a new one.
   2071 		 * @return A daeMetaElement describing this COLLADA element.
   2072 		 */
   2073 		static DLLSPEC daeMetaElement* registerElement(DAE& dae);
   2074 	};
   2075 
   2076 	class domLight_quadratic_attenuation;
   2077 
   2078 	typedef daeSmartRef<domLight_quadratic_attenuation> domLight_quadratic_attenuationRef;
   2079 	typedef daeTArray<domLight_quadratic_attenuationRef> domLight_quadratic_attenuation_Array;
   2080 
   2081 	class domLight_quadratic_attenuation : public daeElement
   2082 	{
   2083 	public:
   2084 		virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::LIGHT_QUADRATIC_ATTENUATION; }
   2085 		static daeInt ID() { return 518; }
   2086 		virtual daeInt typeID() const { return ID(); }
   2087 	protected:  // Attributes
   2088 		domFloat attrValue;
   2089 		xsNCName attrParam;
   2090 		domGLES_MAX_LIGHTS_index attrIndex;
   2091 
   2092 
   2093 	public:	//Accessors and Mutators
   2094 		/**
   2095 		 * Gets the value attribute.
   2096 		 * @return Returns a domFloat of the value attribute.
   2097 		 */
   2098 		domFloat getValue() const { return attrValue; }
   2099 		/**
   2100 		 * Sets the value attribute.
   2101 		 * @param atValue The new value for the value attribute.
   2102 		 */
   2103 		void setValue( domFloat atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
   2104 
   2105 		/**
   2106 		 * Gets the param attribute.
   2107 		 * @return Returns a xsNCName of the param attribute.
   2108 		 */
   2109 		xsNCName getParam() const { return attrParam; }
   2110 		/**
   2111 		 * Sets the param attribute.
   2112 		 * @param atParam The new value for the param attribute.
   2113 		 */
   2114 		void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
   2115 
   2116 		/**
   2117 		 * Gets the index attribute.
   2118 		 * @return Returns a domGLES_MAX_LIGHTS_index of the index attribute.
   2119 		 */
   2120 		domGLES_MAX_LIGHTS_index getIndex() const { return attrIndex; }
   2121 		/**
   2122 		 * Sets the index attribute.
   2123 		 * @param atIndex The new value for the index attribute.
   2124 		 */
   2125 		void setIndex( domGLES_MAX_LIGHTS_index atIndex ) { attrIndex = atIndex; _validAttributeArray[2] = true; }
   2126 
   2127 	protected:
   2128 		/**
   2129 		 * Constructor
   2130 		 */
   2131 		domLight_quadratic_attenuation(DAE& dae) : daeElement(dae), attrValue(), attrParam(), attrIndex() {}
   2132 		/**
   2133 		 * Destructor
   2134 		 */
   2135 		virtual ~domLight_quadratic_attenuation() {}
   2136 		/**
   2137 		 * Overloaded assignment operator
   2138 		 */
   2139 		virtual domLight_quadratic_attenuation &operator=( const domLight_quadratic_attenuation &cpy ) { (void)cpy; return *this; }
   2140 
   2141 	public: // STATIC METHODS
   2142 		/**
   2143 		 * Creates an instance of this class and returns a daeElementRef referencing it.
   2144 		 * @return a daeElementRef referencing an instance of this object.
   2145 		 */
   2146 		static DLLSPEC daeElementRef create(DAE& dae);
   2147 		/**
   2148 		 * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
   2149 		 * If a daeMetaElement already exists it will return that instead of creating a new one.
   2150 		 * @return A daeMetaElement describing this COLLADA element.
   2151 		 */
   2152 		static DLLSPEC daeMetaElement* registerElement(DAE& dae);
   2153 	};
   2154 
   2155 	class domLight_spot_cutoff;
   2156 
   2157 	typedef daeSmartRef<domLight_spot_cutoff> domLight_spot_cutoffRef;
   2158 	typedef daeTArray<domLight_spot_cutoffRef> domLight_spot_cutoff_Array;
   2159 
   2160 	class domLight_spot_cutoff : public daeElement
   2161 	{
   2162 	public:
   2163 		virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::LIGHT_SPOT_CUTOFF; }
   2164 		static daeInt ID() { return 519; }
   2165 		virtual daeInt typeID() const { return ID(); }
   2166 	protected:  // Attributes
   2167 		domFloat attrValue;
   2168 		xsNCName attrParam;
   2169 		domGLES_MAX_LIGHTS_index attrIndex;
   2170 
   2171 
   2172 	public:	//Accessors and Mutators
   2173 		/**
   2174 		 * Gets the value attribute.
   2175 		 * @return Returns a domFloat of the value attribute.
   2176 		 */
   2177 		domFloat getValue() const { return attrValue; }
   2178 		/**
   2179 		 * Sets the value attribute.
   2180 		 * @param atValue The new value for the value attribute.
   2181 		 */
   2182 		void setValue( domFloat atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
   2183 
   2184 		/**
   2185 		 * Gets the param attribute.
   2186 		 * @return Returns a xsNCName of the param attribute.
   2187 		 */
   2188 		xsNCName getParam() const { return attrParam; }
   2189 		/**
   2190 		 * Sets the param attribute.
   2191 		 * @param atParam The new value for the param attribute.
   2192 		 */
   2193 		void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
   2194 
   2195 		/**
   2196 		 * Gets the index attribute.
   2197 		 * @return Returns a domGLES_MAX_LIGHTS_index of the index attribute.
   2198 		 */
   2199 		domGLES_MAX_LIGHTS_index getIndex() const { return attrIndex; }
   2200 		/**
   2201 		 * Sets the index attribute.
   2202 		 * @param atIndex The new value for the index attribute.
   2203 		 */
   2204 		void setIndex( domGLES_MAX_LIGHTS_index atIndex ) { attrIndex = atIndex; _validAttributeArray[2] = true; }
   2205 
   2206 	protected:
   2207 		/**
   2208 		 * Constructor
   2209 		 */
   2210 		domLight_spot_cutoff(DAE& dae) : daeElement(dae), attrValue(), attrParam(), attrIndex() {}
   2211 		/**
   2212 		 * Destructor
   2213 		 */
   2214 		virtual ~domLight_spot_cutoff() {}
   2215 		/**
   2216 		 * Overloaded assignment operator
   2217 		 */
   2218 		virtual domLight_spot_cutoff &operator=( const domLight_spot_cutoff &cpy ) { (void)cpy; return *this; }
   2219 
   2220 	public: // STATIC METHODS
   2221 		/**
   2222 		 * Creates an instance of this class and returns a daeElementRef referencing it.
   2223 		 * @return a daeElementRef referencing an instance of this object.
   2224 		 */
   2225 		static DLLSPEC daeElementRef create(DAE& dae);
   2226 		/**
   2227 		 * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
   2228 		 * If a daeMetaElement already exists it will return that instead of creating a new one.
   2229 		 * @return A daeMetaElement describing this COLLADA element.
   2230 		 */
   2231 		static DLLSPEC daeMetaElement* registerElement(DAE& dae);
   2232 	};
   2233 
   2234 	class domLight_spot_direction;
   2235 
   2236 	typedef daeSmartRef<domLight_spot_direction> domLight_spot_directionRef;
   2237 	typedef daeTArray<domLight_spot_directionRef> domLight_spot_direction_Array;
   2238 
   2239 	class domLight_spot_direction : public daeElement
   2240 	{
   2241 	public:
   2242 		virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::LIGHT_SPOT_DIRECTION; }
   2243 		static daeInt ID() { return 520; }
   2244 		virtual daeInt typeID() const { return ID(); }
   2245 	protected:  // Attributes
   2246 		domFloat3 attrValue;
   2247 		xsNCName attrParam;
   2248 		domGLES_MAX_LIGHTS_index attrIndex;
   2249 
   2250 
   2251 	public:	//Accessors and Mutators
   2252 		/**
   2253 		 * Gets the value array attribute.
   2254 		 * @return Returns a domFloat3 reference of the value array attribute.
   2255 		 */
   2256 		domFloat3 &getValue() { return attrValue; }
   2257 		/**
   2258 		 * Gets the value array attribute.
   2259 		 * @return Returns a constant domFloat3 reference of the value array attribute.
   2260 		 */
   2261 		const domFloat3 &getValue() const { return attrValue; }
   2262 		/**
   2263 		 * Sets the value array attribute.
   2264 		 * @param atValue The new value for the value array attribute.
   2265 		 */
   2266 		void setValue( const domFloat3 &atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
   2267 
   2268 		/**
   2269 		 * Gets the param attribute.
   2270 		 * @return Returns a xsNCName of the param attribute.
   2271 		 */
   2272 		xsNCName getParam() const { return attrParam; }
   2273 		/**
   2274 		 * Sets the param attribute.
   2275 		 * @param atParam The new value for the param attribute.
   2276 		 */
   2277 		void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
   2278 
   2279 		/**
   2280 		 * Gets the index attribute.
   2281 		 * @return Returns a domGLES_MAX_LIGHTS_index of the index attribute.
   2282 		 */
   2283 		domGLES_MAX_LIGHTS_index getIndex() const { return attrIndex; }
   2284 		/**
   2285 		 * Sets the index attribute.
   2286 		 * @param atIndex The new value for the index attribute.
   2287 		 */
   2288 		void setIndex( domGLES_MAX_LIGHTS_index atIndex ) { attrIndex = atIndex; _validAttributeArray[2] = true; }
   2289 
   2290 	protected:
   2291 		/**
   2292 		 * Constructor
   2293 		 */
   2294 		domLight_spot_direction(DAE& dae) : daeElement(dae), attrValue(), attrParam(), attrIndex() {}
   2295 		/**
   2296 		 * Destructor
   2297 		 */
   2298 		virtual ~domLight_spot_direction() {}
   2299 		/**
   2300 		 * Overloaded assignment operator
   2301 		 */
   2302 		virtual domLight_spot_direction &operator=( const domLight_spot_direction &cpy ) { (void)cpy; return *this; }
   2303 
   2304 	public: // STATIC METHODS
   2305 		/**
   2306 		 * Creates an instance of this class and returns a daeElementRef referencing it.
   2307 		 * @return a daeElementRef referencing an instance of this object.
   2308 		 */
   2309 		static DLLSPEC daeElementRef create(DAE& dae);
   2310 		/**
   2311 		 * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
   2312 		 * If a daeMetaElement already exists it will return that instead of creating a new one.
   2313 		 * @return A daeMetaElement describing this COLLADA element.
   2314 		 */
   2315 		static DLLSPEC daeMetaElement* registerElement(DAE& dae);
   2316 	};
   2317 
   2318 	class domLight_spot_exponent;
   2319 
   2320 	typedef daeSmartRef<domLight_spot_exponent> domLight_spot_exponentRef;
   2321 	typedef daeTArray<domLight_spot_exponentRef> domLight_spot_exponent_Array;
   2322 
   2323 	class domLight_spot_exponent : public daeElement
   2324 	{
   2325 	public:
   2326 		virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::LIGHT_SPOT_EXPONENT; }
   2327 		static daeInt ID() { return 521; }
   2328 		virtual daeInt typeID() const { return ID(); }
   2329 	protected:  // Attributes
   2330 		domFloat attrValue;
   2331 		xsNCName attrParam;
   2332 		domGLES_MAX_LIGHTS_index attrIndex;
   2333 
   2334 
   2335 	public:	//Accessors and Mutators
   2336 		/**
   2337 		 * Gets the value attribute.
   2338 		 * @return Returns a domFloat of the value attribute.
   2339 		 */
   2340 		domFloat getValue() const { return attrValue; }
   2341 		/**
   2342 		 * Sets the value attribute.
   2343 		 * @param atValue The new value for the value attribute.
   2344 		 */
   2345 		void setValue( domFloat atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
   2346 
   2347 		/**
   2348 		 * Gets the param attribute.
   2349 		 * @return Returns a xsNCName of the param attribute.
   2350 		 */
   2351 		xsNCName getParam() const { return attrParam; }
   2352 		/**
   2353 		 * Sets the param attribute.
   2354 		 * @param atParam The new value for the param attribute.
   2355 		 */
   2356 		void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
   2357 
   2358 		/**
   2359 		 * Gets the index attribute.
   2360 		 * @return Returns a domGLES_MAX_LIGHTS_index of the index attribute.
   2361 		 */
   2362 		domGLES_MAX_LIGHTS_index getIndex() const { return attrIndex; }
   2363 		/**
   2364 		 * Sets the index attribute.
   2365 		 * @param atIndex The new value for the index attribute.
   2366 		 */
   2367 		void setIndex( domGLES_MAX_LIGHTS_index atIndex ) { attrIndex = atIndex; _validAttributeArray[2] = true; }
   2368 
   2369 	protected:
   2370 		/**
   2371 		 * Constructor
   2372 		 */
   2373 		domLight_spot_exponent(DAE& dae) : daeElement(dae), attrValue(), attrParam(), attrIndex() {}
   2374 		/**
   2375 		 * Destructor
   2376 		 */
   2377 		virtual ~domLight_spot_exponent() {}
   2378 		/**
   2379 		 * Overloaded assignment operator
   2380 		 */
   2381 		virtual domLight_spot_exponent &operator=( const domLight_spot_exponent &cpy ) { (void)cpy; return *this; }
   2382 
   2383 	public: // STATIC METHODS
   2384 		/**
   2385 		 * Creates an instance of this class and returns a daeElementRef referencing it.
   2386 		 * @return a daeElementRef referencing an instance of this object.
   2387 		 */
   2388 		static DLLSPEC daeElementRef create(DAE& dae);
   2389 		/**
   2390 		 * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
   2391 		 * If a daeMetaElement already exists it will return that instead of creating a new one.
   2392 		 * @return A daeMetaElement describing this COLLADA element.
   2393 		 */
   2394 		static DLLSPEC daeMetaElement* registerElement(DAE& dae);
   2395 	};
   2396 
   2397 	class domLight_model_ambient;
   2398 
   2399 	typedef daeSmartRef<domLight_model_ambient> domLight_model_ambientRef;
   2400 	typedef daeTArray<domLight_model_ambientRef> domLight_model_ambient_Array;
   2401 
   2402 	class domLight_model_ambient : public daeElement
   2403 	{
   2404 	public:
   2405 		virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::LIGHT_MODEL_AMBIENT; }
   2406 		static daeInt ID() { return 522; }
   2407 		virtual daeInt typeID() const { return ID(); }
   2408 	protected:  // Attributes
   2409 		domFloat4 attrValue;
   2410 		xsNCName attrParam;
   2411 
   2412 
   2413 	public:	//Accessors and Mutators
   2414 		/**
   2415 		 * Gets the value array attribute.
   2416 		 * @return Returns a domFloat4 reference of the value array attribute.
   2417 		 */
   2418 		domFloat4 &getValue() { return attrValue; }
   2419 		/**
   2420 		 * Gets the value array attribute.
   2421 		 * @return Returns a constant domFloat4 reference of the value array attribute.
   2422 		 */
   2423 		const domFloat4 &getValue() const { return attrValue; }
   2424 		/**
   2425 		 * Sets the value array attribute.
   2426 		 * @param atValue The new value for the value array attribute.
   2427 		 */
   2428 		void setValue( const domFloat4 &atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
   2429 
   2430 		/**
   2431 		 * Gets the param attribute.
   2432 		 * @return Returns a xsNCName of the param attribute.
   2433 		 */
   2434 		xsNCName getParam() const { return attrParam; }
   2435 		/**
   2436 		 * Sets the param attribute.
   2437 		 * @param atParam The new value for the param attribute.
   2438 		 */
   2439 		void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
   2440 
   2441 	protected:
   2442 		/**
   2443 		 * Constructor
   2444 		 */
   2445 		domLight_model_ambient(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
   2446 		/**
   2447 		 * Destructor
   2448 		 */
   2449 		virtual ~domLight_model_ambient() {}
   2450 		/**
   2451 		 * Overloaded assignment operator
   2452 		 */
   2453 		virtual domLight_model_ambient &operator=( const domLight_model_ambient &cpy ) { (void)cpy; return *this; }
   2454 
   2455 	public: // STATIC METHODS
   2456 		/**
   2457 		 * Creates an instance of this class and returns a daeElementRef referencing it.
   2458 		 * @return a daeElementRef referencing an instance of this object.
   2459 		 */
   2460 		static DLLSPEC daeElementRef create(DAE& dae);
   2461 		/**
   2462 		 * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
   2463 		 * If a daeMetaElement already exists it will return that instead of creating a new one.
   2464 		 * @return A daeMetaElement describing this COLLADA element.
   2465 		 */
   2466 		static DLLSPEC daeMetaElement* registerElement(DAE& dae);
   2467 	};
   2468 
   2469 	class domLine_width;
   2470 
   2471 	typedef daeSmartRef<domLine_width> domLine_widthRef;
   2472 	typedef daeTArray<domLine_widthRef> domLine_width_Array;
   2473 
   2474 	class domLine_width : public daeElement
   2475 	{
   2476 	public:
   2477 		virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::LINE_WIDTH; }
   2478 		static daeInt ID() { return 523; }
   2479 		virtual daeInt typeID() const { return ID(); }
   2480 	protected:  // Attributes
   2481 		domFloat attrValue;
   2482 		xsNCName attrParam;
   2483 
   2484 
   2485 	public:	//Accessors and Mutators
   2486 		/**
   2487 		 * Gets the value attribute.
   2488 		 * @return Returns a domFloat of the value attribute.
   2489 		 */
   2490 		domFloat getValue() const { return attrValue; }
   2491 		/**
   2492 		 * Sets the value attribute.
   2493 		 * @param atValue The new value for the value attribute.
   2494 		 */
   2495 		void setValue( domFloat atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
   2496 
   2497 		/**
   2498 		 * Gets the param attribute.
   2499 		 * @return Returns a xsNCName of the param attribute.
   2500 		 */
   2501 		xsNCName getParam() const { return attrParam; }
   2502 		/**
   2503 		 * Sets the param attribute.
   2504 		 * @param atParam The new value for the param attribute.
   2505 		 */
   2506 		void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
   2507 
   2508 	protected:
   2509 		/**
   2510 		 * Constructor
   2511 		 */
   2512 		domLine_width(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
   2513 		/**
   2514 		 * Destructor
   2515 		 */
   2516 		virtual ~domLine_width() {}
   2517 		/**
   2518 		 * Overloaded assignment operator
   2519 		 */
   2520 		virtual domLine_width &operator=( const domLine_width &cpy ) { (void)cpy; return *this; }
   2521 
   2522 	public: // STATIC METHODS
   2523 		/**
   2524 		 * Creates an instance of this class and returns a daeElementRef referencing it.
   2525 		 * @return a daeElementRef referencing an instance of this object.
   2526 		 */
   2527 		static DLLSPEC daeElementRef create(DAE& dae);
   2528 		/**
   2529 		 * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
   2530 		 * If a daeMetaElement already exists it will return that instead of creating a new one.
   2531 		 * @return A daeMetaElement describing this COLLADA element.
   2532 		 */
   2533 		static DLLSPEC daeMetaElement* registerElement(DAE& dae);
   2534 	};
   2535 
   2536 	class domMaterial_ambient;
   2537 
   2538 	typedef daeSmartRef<domMaterial_ambient> domMaterial_ambientRef;
   2539 	typedef daeTArray<domMaterial_ambientRef> domMaterial_ambient_Array;
   2540 
   2541 	class domMaterial_ambient : public daeElement
   2542 	{
   2543 	public:
   2544 		virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::MATERIAL_AMBIENT; }
   2545 		static daeInt ID() { return 524; }
   2546 		virtual daeInt typeID() const { return ID(); }
   2547 	protected:  // Attributes
   2548 		domFloat4 attrValue;
   2549 		xsNCName attrParam;
   2550 
   2551 
   2552 	public:	//Accessors and Mutators
   2553 		/**
   2554 		 * Gets the value array attribute.
   2555 		 * @return Returns a domFloat4 reference of the value array attribute.
   2556 		 */
   2557 		domFloat4 &getValue() { return attrValue; }
   2558 		/**
   2559 		 * Gets the value array attribute.
   2560 		 * @return Returns a constant domFloat4 reference of the value array attribute.
   2561 		 */
   2562 		const domFloat4 &getValue() const { return attrValue; }
   2563 		/**
   2564 		 * Sets the value array attribute.
   2565 		 * @param atValue The new value for the value array attribute.
   2566 		 */
   2567 		void setValue( const domFloat4 &atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
   2568 
   2569 		/**
   2570 		 * Gets the param attribute.
   2571 		 * @return Returns a xsNCName of the param attribute.
   2572 		 */
   2573 		xsNCName getParam() const { return attrParam; }
   2574 		/**
   2575 		 * Sets the param attribute.
   2576 		 * @param atParam The new value for the param attribute.
   2577 		 */
   2578 		void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
   2579 
   2580 	protected:
   2581 		/**
   2582 		 * Constructor
   2583 		 */
   2584 		domMaterial_ambient(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
   2585 		/**
   2586 		 * Destructor
   2587 		 */
   2588 		virtual ~domMaterial_ambient() {}
   2589 		/**
   2590 		 * Overloaded assignment operator
   2591 		 */
   2592 		virtual domMaterial_ambient &operator=( const domMaterial_ambient &cpy ) { (void)cpy; return *this; }
   2593 
   2594 	public: // STATIC METHODS
   2595 		/**
   2596 		 * Creates an instance of this class and returns a daeElementRef referencing it.
   2597 		 * @return a daeElementRef referencing an instance of this object.
   2598 		 */
   2599 		static DLLSPEC daeElementRef create(DAE& dae);
   2600 		/**
   2601 		 * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
   2602 		 * If a daeMetaElement already exists it will return that instead of creating a new one.
   2603 		 * @return A daeMetaElement describing this COLLADA element.
   2604 		 */
   2605 		static DLLSPEC daeMetaElement* registerElement(DAE& dae);
   2606 	};
   2607 
   2608 	class domMaterial_diffuse;
   2609 
   2610 	typedef daeSmartRef<domMaterial_diffuse> domMaterial_diffuseRef;
   2611 	typedef daeTArray<domMaterial_diffuseRef> domMaterial_diffuse_Array;
   2612 
   2613 	class domMaterial_diffuse : public daeElement
   2614 	{
   2615 	public:
   2616 		virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::MATERIAL_DIFFUSE; }
   2617 		static daeInt ID() { return 525; }
   2618 		virtual daeInt typeID() const { return ID(); }
   2619 	protected:  // Attributes
   2620 		domFloat4 attrValue;
   2621 		xsNCName attrParam;
   2622 
   2623 
   2624 	public:	//Accessors and Mutators
   2625 		/**
   2626 		 * Gets the value array attribute.
   2627 		 * @return Returns a domFloat4 reference of the value array attribute.
   2628 		 */
   2629 		domFloat4 &getValue() { return attrValue; }
   2630 		/**
   2631 		 * Gets the value array attribute.
   2632 		 * @return Returns a constant domFloat4 reference of the value array attribute.
   2633 		 */
   2634 		const domFloat4 &getValue() const { return attrValue; }
   2635 		/**
   2636 		 * Sets the value array attribute.
   2637 		 * @param atValue The new value for the value array attribute.
   2638 		 */
   2639 		void setValue( const domFloat4 &atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
   2640 
   2641 		/**
   2642 		 * Gets the param attribute.
   2643 		 * @return Returns a xsNCName of the param attribute.
   2644 		 */
   2645 		xsNCName getParam() const { return attrParam; }
   2646 		/**
   2647 		 * Sets the param attribute.
   2648 		 * @param atParam The new value for the param attribute.
   2649 		 */
   2650 		void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
   2651 
   2652 	protected:
   2653 		/**
   2654 		 * Constructor
   2655 		 */
   2656 		domMaterial_diffuse(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
   2657 		/**
   2658 		 * Destructor
   2659 		 */
   2660 		virtual ~domMaterial_diffuse() {}
   2661 		/**
   2662 		 * Overloaded assignment operator
   2663 		 */
   2664 		virtual domMaterial_diffuse &operator=( const domMaterial_diffuse &cpy ) { (void)cpy; return *this; }
   2665 
   2666 	public: // STATIC METHODS
   2667 		/**
   2668 		 * Creates an instance of this class and returns a daeElementRef referencing it.
   2669 		 * @return a daeElementRef referencing an instance of this object.
   2670 		 */
   2671 		static DLLSPEC daeElementRef create(DAE& dae);
   2672 		/**
   2673 		 * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
   2674 		 * If a daeMetaElement already exists it will return that instead of creating a new one.
   2675 		 * @return A daeMetaElement describing this COLLADA element.
   2676 		 */
   2677 		static DLLSPEC daeMetaElement* registerElement(DAE& dae);
   2678 	};
   2679 
   2680 	class domMaterial_emission;
   2681 
   2682 	typedef daeSmartRef<domMaterial_emission> domMaterial_emissionRef;
   2683 	typedef daeTArray<domMaterial_emissionRef> domMaterial_emission_Array;
   2684 
   2685 	class domMaterial_emission : public daeElement
   2686 	{
   2687 	public:
   2688 		virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::MATERIAL_EMISSION; }
   2689 		static daeInt ID() { return 526; }
   2690 		virtual daeInt typeID() const { return ID(); }
   2691 	protected:  // Attributes
   2692 		domFloat4 attrValue;
   2693 		xsNCName attrParam;
   2694 
   2695 
   2696 	public:	//Accessors and Mutators
   2697 		/**
   2698 		 * Gets the value array attribute.
   2699 		 * @return Returns a domFloat4 reference of the value array attribute.
   2700 		 */
   2701 		domFloat4 &getValue() { return attrValue; }
   2702 		/**
   2703 		 * Gets the value array attribute.
   2704 		 * @return Returns a constant domFloat4 reference of the value array attribute.
   2705 		 */
   2706 		const domFloat4 &getValue() const { return attrValue; }
   2707 		/**
   2708 		 * Sets the value array attribute.
   2709 		 * @param atValue The new value for the value array attribute.
   2710 		 */
   2711 		void setValue( const domFloat4 &atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
   2712 
   2713 		/**
   2714 		 * Gets the param attribute.
   2715 		 * @return Returns a xsNCName of the param attribute.
   2716 		 */
   2717 		xsNCName getParam() const { return attrParam; }
   2718 		/**
   2719 		 * Sets the param attribute.
   2720 		 * @param atParam The new value for the param attribute.
   2721 		 */
   2722 		void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
   2723 
   2724 	protected:
   2725 		/**
   2726 		 * Constructor
   2727 		 */
   2728 		domMaterial_emission(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
   2729 		/**
   2730 		 * Destructor
   2731 		 */
   2732 		virtual ~domMaterial_emission() {}
   2733 		/**
   2734 		 * Overloaded assignment operator
   2735 		 */
   2736 		virtual domMaterial_emission &operator=( const domMaterial_emission &cpy ) { (void)cpy; return *this; }
   2737 
   2738 	public: // STATIC METHODS
   2739 		/**
   2740 		 * Creates an instance of this class and returns a daeElementRef referencing it.
   2741 		 * @return a daeElementRef referencing an instance of this object.
   2742 		 */
   2743 		static DLLSPEC daeElementRef create(DAE& dae);
   2744 		/**
   2745 		 * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
   2746 		 * If a daeMetaElement already exists it will return that instead of creating a new one.
   2747 		 * @return A daeMetaElement describing this COLLADA element.
   2748 		 */
   2749 		static DLLSPEC daeMetaElement* registerElement(DAE& dae);
   2750 	};
   2751 
   2752 	class domMaterial_shininess;
   2753 
   2754 	typedef daeSmartRef<domMaterial_shininess> domMaterial_shininessRef;
   2755 	typedef daeTArray<domMaterial_shininessRef> domMaterial_shininess_Array;
   2756 
   2757 	class domMaterial_shininess : public daeElement
   2758 	{
   2759 	public:
   2760 		virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::MATERIAL_SHININESS; }
   2761 		static daeInt ID() { return 527; }
   2762 		virtual daeInt typeID() const { return ID(); }
   2763 	protected:  // Attributes
   2764 		domFloat attrValue;
   2765 		xsNCName attrParam;
   2766 
   2767 
   2768 	public:	//Accessors and Mutators
   2769 		/**
   2770 		 * Gets the value attribute.
   2771 		 * @return Returns a domFloat of the value attribute.
   2772 		 */
   2773 		domFloat getValue() const { return attrValue; }
   2774 		/**
   2775 		 * Sets the value attribute.
   2776 		 * @param atValue The new value for the value attribute.
   2777 		 */
   2778 		void setValue( domFloat atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
   2779 
   2780 		/**
   2781 		 * Gets the param attribute.
   2782 		 * @return Returns a xsNCName of the param attribute.
   2783 		 */
   2784 		xsNCName getParam() const { return attrParam; }
   2785 		/**
   2786 		 * Sets the param attribute.
   2787 		 * @param atParam The new value for the param attribute.
   2788 		 */
   2789 		void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
   2790 
   2791 	protected:
   2792 		/**
   2793 		 * Constructor
   2794 		 */
   2795 		domMaterial_shininess(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
   2796 		/**
   2797 		 * Destructor
   2798 		 */
   2799 		virtual ~domMaterial_shininess() {}
   2800 		/**
   2801 		 * Overloaded assignment operator
   2802 		 */
   2803 		virtual domMaterial_shininess &operator=( const domMaterial_shininess &cpy ) { (void)cpy; return *this; }
   2804 
   2805 	public: // STATIC METHODS
   2806 		/**
   2807 		 * Creates an instance of this class and returns a daeElementRef referencing it.
   2808 		 * @return a daeElementRef referencing an instance of this object.
   2809 		 */
   2810 		static DLLSPEC daeElementRef create(DAE& dae);
   2811 		/**
   2812 		 * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
   2813 		 * If a daeMetaElement already exists it will return that instead of creating a new one.
   2814 		 * @return A daeMetaElement describing this COLLADA element.
   2815 		 */
   2816 		static DLLSPEC daeMetaElement* registerElement(DAE& dae);
   2817 	};
   2818 
   2819 	class domMaterial_specular;
   2820 
   2821 	typedef daeSmartRef<domMaterial_specular> domMaterial_specularRef;
   2822 	typedef daeTArray<domMaterial_specularRef> domMaterial_specular_Array;
   2823 
   2824 	class domMaterial_specular : public daeElement
   2825 	{
   2826 	public:
   2827 		virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::MATERIAL_SPECULAR; }
   2828 		static daeInt ID() { return 528; }
   2829 		virtual daeInt typeID() const { return ID(); }
   2830 	protected:  // Attributes
   2831 		domFloat4 attrValue;
   2832 		xsNCName attrParam;
   2833 
   2834 
   2835 	public:	//Accessors and Mutators
   2836 		/**
   2837 		 * Gets the value array attribute.
   2838 		 * @return Returns a domFloat4 reference of the value array attribute.
   2839 		 */
   2840 		domFloat4 &getValue() { return attrValue; }
   2841 		/**
   2842 		 * Gets the value array attribute.
   2843 		 * @return Returns a constant domFloat4 reference of the value array attribute.
   2844 		 */
   2845 		const domFloat4 &getValue() const { return attrValue; }
   2846 		/**
   2847 		 * Sets the value array attribute.
   2848 		 * @param atValue The new value for the value array attribute.
   2849 		 */
   2850 		void setValue( const domFloat4 &atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
   2851 
   2852 		/**
   2853 		 * Gets the param attribute.
   2854 		 * @return Returns a xsNCName of the param attribute.
   2855 		 */
   2856 		xsNCName getParam() const { return attrParam; }
   2857 		/**
   2858 		 * Sets the param attribute.
   2859 		 * @param atParam The new value for the param attribute.
   2860 		 */
   2861 		void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
   2862 
   2863 	protected:
   2864 		/**
   2865 		 * Constructor
   2866 		 */
   2867 		domMaterial_specular(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
   2868 		/**
   2869 		 * Destructor
   2870 		 */
   2871 		virtual ~domMaterial_specular() {}
   2872 		/**
   2873 		 * Overloaded assignment operator
   2874 		 */
   2875 		virtual domMaterial_specular &operator=( const domMaterial_specular &cpy ) { (void)cpy; return *this; }
   2876 
   2877 	public: // STATIC METHODS
   2878 		/**
   2879 		 * Creates an instance of this class and returns a daeElementRef referencing it.
   2880 		 * @return a daeElementRef referencing an instance of this object.
   2881 		 */
   2882 		static DLLSPEC daeElementRef create(DAE& dae);
   2883 		/**
   2884 		 * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
   2885 		 * If a daeMetaElement already exists it will return that instead of creating a new one.
   2886 		 * @return A daeMetaElement describing this COLLADA element.
   2887 		 */
   2888 		static DLLSPEC daeMetaElement* registerElement(DAE& dae);
   2889 	};
   2890 
   2891 	class domModel_view_matrix;
   2892 
   2893 	typedef daeSmartRef<domModel_view_matrix> domModel_view_matrixRef;
   2894 	typedef daeTArray<domModel_view_matrixRef> domModel_view_matrix_Array;
   2895 
   2896 	class domModel_view_matrix : public daeElement
   2897 	{
   2898 	public:
   2899 		virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::MODEL_VIEW_MATRIX; }
   2900 		static daeInt ID() { return 529; }
   2901 		virtual daeInt typeID() const { return ID(); }
   2902 	protected:  // Attributes
   2903 		domFloat4x4 attrValue;
   2904 		xsNCName attrParam;
   2905 
   2906 
   2907 	public:	//Accessors and Mutators
   2908 		/**
   2909 		 * Gets the value array attribute.
   2910 		 * @return Returns a domFloat4x4 reference of the value array attribute.
   2911 		 */
   2912 		domFloat4x4 &getValue() { return attrValue; }
   2913 		/**
   2914 		 * Gets the value array attribute.
   2915 		 * @return Returns a constant domFloat4x4 reference of the value array attribute.
   2916 		 */
   2917 		const domFloat4x4 &getValue() const { return attrValue; }
   2918 		/**
   2919 		 * Sets the value array attribute.
   2920 		 * @param atValue The new value for the value array attribute.
   2921 		 */
   2922 		void setValue( const domFloat4x4 &atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
   2923 
   2924 		/**
   2925 		 * Gets the param attribute.
   2926 		 * @return Returns a xsNCName of the param attribute.
   2927 		 */
   2928 		xsNCName getParam() const { return attrParam; }
   2929 		/**
   2930 		 * Sets the param attribute.
   2931 		 * @param atParam The new value for the param attribute.
   2932 		 */
   2933 		void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
   2934 
   2935 	protected:
   2936 		/**
   2937 		 * Constructor
   2938 		 */
   2939 		domModel_view_matrix(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
   2940 		/**
   2941 		 * Destructor
   2942 		 */
   2943 		virtual ~domModel_view_matrix() {}
   2944 		/**
   2945 		 * Overloaded assignment operator
   2946 		 */
   2947 		virtual domModel_view_matrix &operator=( const domModel_view_matrix &cpy ) { (void)cpy; return *this; }
   2948 
   2949 	public: // STATIC METHODS
   2950 		/**
   2951 		 * Creates an instance of this class and returns a daeElementRef referencing it.
   2952 		 * @return a daeElementRef referencing an instance of this object.
   2953 		 */
   2954 		static DLLSPEC daeElementRef create(DAE& dae);
   2955 		/**
   2956 		 * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
   2957 		 * If a daeMetaElement already exists it will return that instead of creating a new one.
   2958 		 * @return A daeMetaElement describing this COLLADA element.
   2959 		 */
   2960 		static DLLSPEC daeMetaElement* registerElement(DAE& dae);
   2961 	};
   2962 
   2963 	class domPoint_distance_attenuation;
   2964 
   2965 	typedef daeSmartRef<domPoint_distance_attenuation> domPoint_distance_attenuationRef;
   2966 	typedef daeTArray<domPoint_distance_attenuationRef> domPoint_distance_attenuation_Array;
   2967 
   2968 	class domPoint_distance_attenuation : public daeElement
   2969 	{
   2970 	public:
   2971 		virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::POINT_DISTANCE_ATTENUATION; }
   2972 		static daeInt ID() { return 530; }
   2973 		virtual daeInt typeID() const { return ID(); }
   2974 	protected:  // Attributes
   2975 		domFloat3 attrValue;
   2976 		xsNCName attrParam;
   2977 
   2978 
   2979 	public:	//Accessors and Mutators
   2980 		/**
   2981 		 * Gets the value array attribute.
   2982 		 * @return Returns a domFloat3 reference of the value array attribute.
   2983 		 */
   2984 		domFloat3 &getValue() { return attrValue; }
   2985 		/**
   2986 		 * Gets the value array attribute.
   2987 		 * @return Returns a constant domFloat3 reference of the value array attribute.
   2988 		 */
   2989 		const domFloat3 &getValue() const { return attrValue; }
   2990 		/**
   2991 		 * Sets the value array attribute.
   2992 		 * @param atValue The new value for the value array attribute.
   2993 		 */
   2994 		void setValue( const domFloat3 &atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
   2995 
   2996 		/**
   2997 		 * Gets the param attribute.
   2998 		 * @return Returns a xsNCName of the param attribute.
   2999 		 */
   3000 		xsNCName getParam() const { return attrParam; }
   3001 		/**
   3002 		 * Sets the param attribute.
   3003 		 * @param atParam The new value for the param attribute.
   3004 		 */
   3005 		void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
   3006 
   3007 	protected:
   3008 		/**
   3009 		 * Constructor
   3010 		 */
   3011 		domPoint_distance_attenuation(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
   3012 		/**
   3013 		 * Destructor
   3014 		 */
   3015 		virtual ~domPoint_distance_attenuation() {}
   3016 		/**
   3017 		 * Overloaded assignment operator
   3018 		 */
   3019 		virtual domPoint_distance_attenuation &operator=( const domPoint_distance_attenuation &cpy ) { (void)cpy; return *this; }
   3020 
   3021 	public: // STATIC METHODS
   3022 		/**
   3023 		 * Creates an instance of this class and returns a daeElementRef referencing it.
   3024 		 * @return a daeElementRef referencing an instance of this object.
   3025 		 */
   3026 		static DLLSPEC daeElementRef create(DAE& dae);
   3027 		/**
   3028 		 * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
   3029 		 * If a daeMetaElement already exists it will return that instead of creating a new one.
   3030 		 * @return A daeMetaElement describing this COLLADA element.
   3031 		 */
   3032 		static DLLSPEC daeMetaElement* registerElement(DAE& dae);
   3033 	};
   3034 
   3035 	class domPoint_fade_threshold_size;
   3036 
   3037 	typedef daeSmartRef<domPoint_fade_threshold_size> domPoint_fade_threshold_sizeRef;
   3038 	typedef daeTArray<domPoint_fade_threshold_sizeRef> domPoint_fade_threshold_size_Array;
   3039 
   3040 	class domPoint_fade_threshold_size : public daeElement
   3041 	{
   3042 	public:
   3043 		virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::POINT_FADE_THRESHOLD_SIZE; }
   3044 		static daeInt ID() { return 531; }
   3045 		virtual daeInt typeID() const { return ID(); }
   3046 	protected:  // Attributes
   3047 		domFloat attrValue;
   3048 		xsNCName attrParam;
   3049 
   3050 
   3051 	public:	//Accessors and Mutators
   3052 		/**
   3053 		 * Gets the value attribute.
   3054 		 * @return Returns a domFloat of the value attribute.
   3055 		 */
   3056 		domFloat getValue() const { return attrValue; }
   3057 		/**
   3058 		 * Sets the value attribute.
   3059 		 * @param atValue The new value for the value attribute.
   3060 		 */
   3061 		void setValue( domFloat atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
   3062 
   3063 		/**
   3064 		 * Gets the param attribute.
   3065 		 * @return Returns a xsNCName of the param attribute.
   3066 		 */
   3067 		xsNCName getParam() const { return attrParam; }
   3068 		/**
   3069 		 * Sets the param attribute.
   3070 		 * @param atParam The new value for the param attribute.
   3071 		 */
   3072 		void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
   3073 
   3074 	protected:
   3075 		/**
   3076 		 * Constructor
   3077 		 */
   3078 		domPoint_fade_threshold_size(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
   3079 		/**
   3080 		 * Destructor
   3081 		 */
   3082 		virtual ~domPoint_fade_threshold_size() {}
   3083 		/**
   3084 		 * Overloaded assignment operator
   3085 		 */
   3086 		virtual domPoint_fade_threshold_size &operator=( const domPoint_fade_threshold_size &cpy ) { (void)cpy; return *this; }
   3087 
   3088 	public: // STATIC METHODS
   3089 		/**
   3090 		 * Creates an instance of this class and returns a daeElementRef referencing it.
   3091 		 * @return a daeElementRef referencing an instance of this object.
   3092 		 */
   3093 		static DLLSPEC daeElementRef create(DAE& dae);
   3094 		/**
   3095 		 * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
   3096 		 * If a daeMetaElement already exists it will return that instead of creating a new one.
   3097 		 * @return A daeMetaElement describing this COLLADA element.
   3098 		 */
   3099 		static DLLSPEC daeMetaElement* registerElement(DAE& dae);
   3100 	};
   3101 
   3102 	class domPoint_size;
   3103 
   3104 	typedef daeSmartRef<domPoint_size> domPoint_sizeRef;
   3105 	typedef daeTArray<domPoint_sizeRef> domPoint_size_Array;
   3106 
   3107 	class domPoint_size : public daeElement
   3108 	{
   3109 	public:
   3110 		virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::POINT_SIZE; }
   3111 		static daeInt ID() { return 532; }
   3112 		virtual daeInt typeID() const { return ID(); }
   3113 	protected:  // Attributes
   3114 		domFloat attrValue;
   3115 		xsNCName attrParam;
   3116 
   3117 
   3118 	public:	//Accessors and Mutators
   3119 		/**
   3120 		 * Gets the value attribute.
   3121 		 * @return Returns a domFloat of the value attribute.
   3122 		 */
   3123 		domFloat getValue() const { return attrValue; }
   3124 		/**
   3125 		 * Sets the value attribute.
   3126 		 * @param atValue The new value for the value attribute.
   3127 		 */
   3128 		void setValue( domFloat atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
   3129 
   3130 		/**
   3131 		 * Gets the param attribute.
   3132 		 * @return Returns a xsNCName of the param attribute.
   3133 		 */
   3134 		xsNCName getParam() const { return attrParam; }
   3135 		/**
   3136 		 * Sets the param attribute.
   3137 		 * @param atParam The new value for the param attribute.
   3138 		 */
   3139 		void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
   3140 
   3141 	protected:
   3142 		/**
   3143 		 * Constructor
   3144 		 */
   3145 		domPoint_size(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
   3146 		/**
   3147 		 * Destructor
   3148 		 */
   3149 		virtual ~domPoint_size() {}
   3150 		/**
   3151 		 * Overloaded assignment operator
   3152 		 */
   3153 		virtual domPoint_size &operator=( const domPoint_size &cpy ) { (void)cpy; return *this; }
   3154 
   3155 	public: // STATIC METHODS
   3156 		/**
   3157 		 * Creates an instance of this class and returns a daeElementRef referencing it.
   3158 		 * @return a daeElementRef referencing an instance of this object.
   3159 		 */
   3160 		static DLLSPEC daeElementRef create(DAE& dae);
   3161 		/**
   3162 		 * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
   3163 		 * If a daeMetaElement already exists it will return that instead of creating a new one.
   3164 		 * @return A daeMetaElement describing this COLLADA element.
   3165 		 */
   3166 		static DLLSPEC daeMetaElement* registerElement(DAE& dae);
   3167 	};
   3168 
   3169 	class domPoint_size_min;
   3170 
   3171 	typedef daeSmartRef<domPoint_size_min> domPoint_size_minRef;
   3172 	typedef daeTArray<domPoint_size_minRef> domPoint_size_min_Array;
   3173 
   3174 	class domPoint_size_min : public daeElement
   3175 	{
   3176 	public:
   3177 		virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::POINT_SIZE_MIN; }
   3178 		static daeInt ID() { return 533; }
   3179 		virtual daeInt typeID() const { return ID(); }
   3180 	protected:  // Attributes
   3181 		domFloat attrValue;
   3182 		xsNCName attrParam;
   3183 
   3184 
   3185 	public:	//Accessors and Mutators
   3186 		/**
   3187 		 * Gets the value attribute.
   3188 		 * @return Returns a domFloat of the value attribute.
   3189 		 */
   3190 		domFloat getValue() const { return attrValue; }
   3191 		/**
   3192 		 * Sets the value attribute.
   3193 		 * @param atValue The new value for the value attribute.
   3194 		 */
   3195 		void setValue( domFloat atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
   3196 
   3197 		/**
   3198 		 * Gets the param attribute.
   3199 		 * @return Returns a xsNCName of the param attribute.
   3200 		 */
   3201 		xsNCName getParam() const { return attrParam; }
   3202 		/**
   3203 		 * Sets the param attribute.
   3204 		 * @param atParam The new value for the param attribute.
   3205 		 */
   3206 		void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
   3207 
   3208 	protected:
   3209 		/**
   3210 		 * Constructor
   3211 		 */
   3212 		domPoint_size_min(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
   3213 		/**
   3214 		 * Destructor
   3215 		 */
   3216 		virtual ~domPoint_size_min() {}
   3217 		/**
   3218 		 * Overloaded assignment operator
   3219 		 */
   3220 		virtual domPoint_size_min &operator=( const domPoint_size_min &cpy ) { (void)cpy; return *this; }
   3221 
   3222 	public: // STATIC METHODS
   3223 		/**
   3224 		 * Creates an instance of this class and returns a daeElementRef referencing it.
   3225 		 * @return a daeElementRef referencing an instance of this object.
   3226 		 */
   3227 		static DLLSPEC daeElementRef create(DAE& dae);
   3228 		/**
   3229 		 * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
   3230 		 * If a daeMetaElement already exists it will return that instead of creating a new one.
   3231 		 * @return A daeMetaElement describing this COLLADA element.
   3232 		 */
   3233 		static DLLSPEC daeMetaElement* registerElement(DAE& dae);
   3234 	};
   3235 
   3236 	class domPoint_size_max;
   3237 
   3238 	typedef daeSmartRef<domPoint_size_max> domPoint_size_maxRef;
   3239 	typedef daeTArray<domPoint_size_maxRef> domPoint_size_max_Array;
   3240 
   3241 	class domPoint_size_max : public daeElement
   3242 	{
   3243 	public:
   3244 		virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::POINT_SIZE_MAX; }
   3245 		static daeInt ID() { return 534; }
   3246 		virtual daeInt typeID() const { return ID(); }
   3247 	protected:  // Attributes
   3248 		domFloat attrValue;
   3249 		xsNCName attrParam;
   3250 
   3251 
   3252 	public:	//Accessors and Mutators
   3253 		/**
   3254 		 * Gets the value attribute.
   3255 		 * @return Returns a domFloat of the value attribute.
   3256 		 */
   3257 		domFloat getValue() const { return attrValue; }
   3258 		/**
   3259 		 * Sets the value attribute.
   3260 		 * @param atValue The new value for the value attribute.
   3261 		 */
   3262 		void setValue( domFloat atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
   3263 
   3264 		/**
   3265 		 * Gets the param attribute.
   3266 		 * @return Returns a xsNCName of the param attribute.
   3267 		 */
   3268 		xsNCName getParam() const { return attrParam; }
   3269 		/**
   3270 		 * Sets the param attribute.
   3271 		 * @param atParam The new value for the param attribute.
   3272 		 */
   3273 		void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
   3274 
   3275 	protected:
   3276 		/**
   3277 		 * Constructor
   3278 		 */
   3279 		domPoint_size_max(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
   3280 		/**
   3281 		 * Destructor
   3282 		 */
   3283 		virtual ~domPoint_size_max() {}
   3284 		/**
   3285 		 * Overloaded assignment operator
   3286 		 */
   3287 		virtual domPoint_size_max &operator=( const domPoint_size_max &cpy ) { (void)cpy; return *this; }
   3288 
   3289 	public: // STATIC METHODS
   3290 		/**
   3291 		 * Creates an instance of this class and returns a daeElementRef referencing it.
   3292 		 * @return a daeElementRef referencing an instance of this object.
   3293 		 */
   3294 		static DLLSPEC daeElementRef create(DAE& dae);
   3295 		/**
   3296 		 * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
   3297 		 * If a daeMetaElement already exists it will return that instead of creating a new one.
   3298 		 * @return A daeMetaElement describing this COLLADA element.
   3299 		 */
   3300 		static DLLSPEC daeMetaElement* registerElement(DAE& dae);
   3301 	};
   3302 
   3303 	class domPolygon_offset;
   3304 
   3305 	typedef daeSmartRef<domPolygon_offset> domPolygon_offsetRef;
   3306 	typedef daeTArray<domPolygon_offsetRef> domPolygon_offset_Array;
   3307 
   3308 	class domPolygon_offset : public daeElement
   3309 	{
   3310 	public:
   3311 		virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::POLYGON_OFFSET; }
   3312 		static daeInt ID() { return 535; }
   3313 		virtual daeInt typeID() const { return ID(); }
   3314 	protected:  // Attributes
   3315 		domFloat2 attrValue;
   3316 		xsNCName attrParam;
   3317 
   3318 
   3319 	public:	//Accessors and Mutators
   3320 		/**
   3321 		 * Gets the value array attribute.
   3322 		 * @return Returns a domFloat2 reference of the value array attribute.
   3323 		 */
   3324 		domFloat2 &getValue() { return attrValue; }
   3325 		/**
   3326 		 * Gets the value array attribute.
   3327 		 * @return Returns a constant domFloat2 reference of the value array attribute.
   3328 		 */
   3329 		const domFloat2 &getValue() const { return attrValue; }
   3330 		/**
   3331 		 * Sets the value array attribute.
   3332 		 * @param atValue The new value for the value array attribute.
   3333 		 */
   3334 		void setValue( const domFloat2 &atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
   3335 
   3336 		/**
   3337 		 * Gets the param attribute.
   3338 		 * @return Returns a xsNCName of the param attribute.
   3339 		 */
   3340 		xsNCName getParam() const { return attrParam; }
   3341 		/**
   3342 		 * Sets the param attribute.
   3343 		 * @param atParam The new value for the param attribute.
   3344 		 */
   3345 		void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
   3346 
   3347 	protected:
   3348 		/**
   3349 		 * Constructor
   3350 		 */
   3351 		domPolygon_offset(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
   3352 		/**
   3353 		 * Destructor
   3354 		 */
   3355 		virtual ~domPolygon_offset() {}
   3356 		/**
   3357 		 * Overloaded assignment operator
   3358 		 */
   3359 		virtual domPolygon_offset &operator=( const domPolygon_offset &cpy ) { (void)cpy; return *this; }
   3360 
   3361 	public: // STATIC METHODS
   3362 		/**
   3363 		 * Creates an instance of this class and returns a daeElementRef referencing it.
   3364 		 * @return a daeElementRef referencing an instance of this object.
   3365 		 */
   3366 		static DLLSPEC daeElementRef create(DAE& dae);
   3367 		/**
   3368 		 * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
   3369 		 * If a daeMetaElement already exists it will return that instead of creating a new one.
   3370 		 * @return A daeMetaElement describing this COLLADA element.
   3371 		 */
   3372 		static DLLSPEC daeMetaElement* registerElement(DAE& dae);
   3373 	};
   3374 
   3375 	class domProjection_matrix;
   3376 
   3377 	typedef daeSmartRef<domProjection_matrix> domProjection_matrixRef;
   3378 	typedef daeTArray<domProjection_matrixRef> domProjection_matrix_Array;
   3379 
   3380 	class domProjection_matrix : public daeElement
   3381 	{
   3382 	public:
   3383 		virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::PROJECTION_MATRIX; }
   3384 		static daeInt ID() { return 536; }
   3385 		virtual daeInt typeID() const { return ID(); }
   3386 	protected:  // Attributes
   3387 		domFloat4x4 attrValue;
   3388 		xsNCName attrParam;
   3389 
   3390 
   3391 	public:	//Accessors and Mutators
   3392 		/**
   3393 		 * Gets the value array attribute.
   3394 		 * @return Returns a domFloat4x4 reference of the value array attribute.
   3395 		 */
   3396 		domFloat4x4 &getValue() { return attrValue; }
   3397 		/**
   3398 		 * Gets the value array attribute.
   3399 		 * @return Returns a constant domFloat4x4 reference of the value array attribute.
   3400 		 */
   3401 		const domFloat4x4 &getValue() const { return attrValue; }
   3402 		/**
   3403 		 * Sets the value array attribute.
   3404 		 * @param atValue The new value for the value array attribute.
   3405 		 */
   3406 		void setValue( const domFloat4x4 &atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
   3407 
   3408 		/**
   3409 		 * Gets the param attribute.
   3410 		 * @return Returns a xsNCName of the param attribute.
   3411 		 */
   3412 		xsNCName getParam() const { return attrParam; }
   3413 		/**
   3414 		 * Sets the param attribute.
   3415 		 * @param atParam The new value for the param attribute.
   3416 		 */
   3417 		void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
   3418 
   3419 	protected:
   3420 		/**
   3421 		 * Constructor
   3422 		 */
   3423 		domProjection_matrix(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
   3424 		/**
   3425 		 * Destructor
   3426 		 */
   3427 		virtual ~domProjection_matrix() {}
   3428 		/**
   3429 		 * Overloaded assignment operator
   3430 		 */
   3431 		virtual domProjection_matrix &operator=( const domProjection_matrix &cpy ) { (void)cpy; return *this; }
   3432 
   3433 	public: // STATIC METHODS
   3434 		/**
   3435 		 * Creates an instance of this class and returns a daeElementRef referencing it.
   3436 		 * @return a daeElementRef referencing an instance of this object.
   3437 		 */
   3438 		static DLLSPEC daeElementRef create(DAE& dae);
   3439 		/**
   3440 		 * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
   3441 		 * If a daeMetaElement already exists it will return that instead of creating a new one.
   3442 		 * @return A daeMetaElement describing this COLLADA element.
   3443 		 */
   3444 		static DLLSPEC daeMetaElement* registerElement(DAE& dae);
   3445 	};
   3446 
   3447 	class domScissor;
   3448 
   3449 	typedef daeSmartRef<domScissor> domScissorRef;
   3450 	typedef daeTArray<domScissorRef> domScissor_Array;
   3451 
   3452 	class domScissor : public daeElement
   3453 	{
   3454 	public:
   3455 		virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::SCISSOR; }
   3456 		static daeInt ID() { return 537; }
   3457 		virtual daeInt typeID() const { return ID(); }
   3458 	protected:  // Attributes
   3459 		domInt4 attrValue;
   3460 		xsNCName attrParam;
   3461 
   3462 
   3463 	public:	//Accessors and Mutators
   3464 		/**
   3465 		 * Gets the value array attribute.
   3466 		 * @return Returns a domInt4 reference of the value array attribute.
   3467 		 */
   3468 		domInt4 &getValue() { return attrValue; }
   3469 		/**
   3470 		 * Gets the value array attribute.
   3471 		 * @return Returns a constant domInt4 reference of the value array attribute.
   3472 		 */
   3473 		const domInt4 &getValue() const { return attrValue; }
   3474 		/**
   3475 		 * Sets the value array attribute.
   3476 		 * @param atValue The new value for the value array attribute.
   3477 		 */
   3478 		void setValue( const domInt4 &atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
   3479 
   3480 		/**
   3481 		 * Gets the param attribute.
   3482 		 * @return Returns a xsNCName of the param attribute.
   3483 		 */
   3484 		xsNCName getParam() const { return attrParam; }
   3485 		/**
   3486 		 * Sets the param attribute.
   3487 		 * @param atParam The new value for the param attribute.
   3488 		 */
   3489 		void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
   3490 
   3491 	protected:
   3492 		/**
   3493 		 * Constructor
   3494 		 */
   3495 		domScissor(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
   3496 		/**
   3497 		 * Destructor
   3498 		 */
   3499 		virtual ~domScissor() {}
   3500 		/**
   3501 		 * Overloaded assignment operator
   3502 		 */
   3503 		virtual domScissor &operator=( const domScissor &cpy ) { (void)cpy; return *this; }
   3504 
   3505 	public: // STATIC METHODS
   3506 		/**
   3507 		 * Creates an instance of this class and returns a daeElementRef referencing it.
   3508 		 * @return a daeElementRef referencing an instance of this object.
   3509 		 */
   3510 		static DLLSPEC daeElementRef create(DAE& dae);
   3511 		/**
   3512 		 * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
   3513 		 * If a daeMetaElement already exists it will return that instead of creating a new one.
   3514 		 * @return A daeMetaElement describing this COLLADA element.
   3515 		 */
   3516 		static DLLSPEC daeMetaElement* registerElement(DAE& dae);
   3517 	};
   3518 
   3519 	class domShade_model;
   3520 
   3521 	typedef daeSmartRef<domShade_model> domShade_modelRef;
   3522 	typedef daeTArray<domShade_modelRef> domShade_model_Array;
   3523 
   3524 	class domShade_model : public daeElement
   3525 	{
   3526 	public:
   3527 		virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::SHADE_MODEL; }
   3528 		static daeInt ID() { return 538; }
   3529 		virtual daeInt typeID() const { return ID(); }
   3530 	protected:  // Attributes
   3531 		domGl_shade_model_type attrValue;
   3532 		xsNCName attrParam;
   3533 
   3534 
   3535 	public:	//Accessors and Mutators
   3536 		/**
   3537 		 * Gets the value attribute.
   3538 		 * @return Returns a domGl_shade_model_type of the value attribute.
   3539 		 */
   3540 		domGl_shade_model_type getValue() const { return attrValue; }
   3541 		/**
   3542 		 * Sets the value attribute.
   3543 		 * @param atValue The new value for the value attribute.
   3544 		 */
   3545 		void setValue( domGl_shade_model_type atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
   3546 
   3547 		/**
   3548 		 * Gets the param attribute.
   3549 		 * @return Returns a xsNCName of the param attribute.
   3550 		 */
   3551 		xsNCName getParam() const { return attrParam; }
   3552 		/**
   3553 		 * Sets the param attribute.
   3554 		 * @param atParam The new value for the param attribute.
   3555 		 */
   3556 		void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
   3557 
   3558 	protected:
   3559 		/**
   3560 		 * Constructor
   3561 		 */
   3562 		domShade_model(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
   3563 		/**
   3564 		 * Destructor
   3565 		 */
   3566 		virtual ~domShade_model() {}
   3567 		/**
   3568 		 * Overloaded assignment operator
   3569 		 */
   3570 		virtual domShade_model &operator=( const domShade_model &cpy ) { (void)cpy; return *this; }
   3571 
   3572 	public: // STATIC METHODS
   3573 		/**
   3574 		 * Creates an instance of this class and returns a daeElementRef referencing it.
   3575 		 * @return a daeElementRef referencing an instance of this object.
   3576 		 */
   3577 		static DLLSPEC daeElementRef create(DAE& dae);
   3578 		/**
   3579 		 * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
   3580 		 * If a daeMetaElement already exists it will return that instead of creating a new one.
   3581 		 * @return A daeMetaElement describing this COLLADA element.
   3582 		 */
   3583 		static DLLSPEC daeMetaElement* registerElement(DAE& dae);
   3584 	};
   3585 
   3586 	class domStencil_func;
   3587 
   3588 	typedef daeSmartRef<domStencil_func> domStencil_funcRef;
   3589 	typedef daeTArray<domStencil_funcRef> domStencil_func_Array;
   3590 
   3591 	class domStencil_func : public daeElement
   3592 	{
   3593 	public:
   3594 		virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::STENCIL_FUNC; }
   3595 		static daeInt ID() { return 539; }
   3596 		virtual daeInt typeID() const { return ID(); }
   3597 	public:
   3598 		class domFunc;
   3599 
   3600 		typedef daeSmartRef<domFunc> domFuncRef;
   3601 		typedef daeTArray<domFuncRef> domFunc_Array;
   3602 
   3603 		class domFunc : public daeElement
   3604 		{
   3605 		public:
   3606 			virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FUNC; }
   3607 			static daeInt ID() { return 540; }
   3608 			virtual daeInt typeID() const { return ID(); }
   3609 		protected:  // Attributes
   3610 			domGl_func_type attrValue;
   3611 			xsNCName attrParam;
   3612 
   3613 
   3614 		public:	//Accessors and Mutators
   3615 			/**
   3616 			 * Gets the value attribute.
   3617 			 * @return Returns a domGl_func_type of the value attribute.
   3618 			 */
   3619 			domGl_func_type getValue() const { return attrValue; }
   3620 			/**
   3621 			 * Sets the value attribute.
   3622 			 * @param atValue The new value for the value attribute.
   3623 			 */
   3624 			void setValue( domGl_func_type atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
   3625 
   3626 			/**
   3627 			 * Gets the param attribute.
   3628 			 * @return Returns a xsNCName of the param attribute.
   3629 			 */
   3630 			xsNCName getParam() const { return attrParam; }
   3631 			/**
   3632 			 * Sets the param attribute.
   3633 			 * @param atParam The new value for the param attribute.
   3634 			 */
   3635 			void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
   3636 
   3637 		protected:
   3638 			/**
   3639 			 * Constructor
   3640 			 */
   3641 			domFunc(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
   3642 			/**
   3643 			 * Destructor
   3644 			 */
   3645 			virtual ~domFunc() {}
   3646 			/**
   3647 			 * Overloaded assignment operator
   3648 			 */
   3649 			virtual domFunc &operator=( const domFunc &cpy ) { (void)cpy; return *this; }
   3650 
   3651 		public: // STATIC METHODS
   3652 			/**
   3653 			 * Creates an instance of this class and returns a daeElementRef referencing it.
   3654 			 * @return a daeElementRef referencing an instance of this object.
   3655 			 */
   3656 			static DLLSPEC daeElementRef create(DAE& dae);
   3657 			/**
   3658 			 * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
   3659 			 * If a daeMetaElement already exists it will return that instead of creating a new one.
   3660 			 * @return A daeMetaElement describing this COLLADA element.
   3661 			 */
   3662 			static DLLSPEC daeMetaElement* registerElement(DAE& dae);
   3663 		};
   3664 
   3665 		class domRef;
   3666 
   3667 		typedef daeSmartRef<domRef> domRefRef;
   3668 		typedef daeTArray<domRefRef> domRef_Array;
   3669 
   3670 		class domRef : public daeElement
   3671 		{
   3672 		public:
   3673 			virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::REF; }
   3674 			static daeInt ID() { return 541; }
   3675 			virtual daeInt typeID() const { return ID(); }
   3676 		protected:  // Attributes
   3677 			xsUnsignedByte attrValue;
   3678 			xsNCName attrParam;
   3679 
   3680 
   3681 		public:	//Accessors and Mutators
   3682 			/**
   3683 			 * Gets the value attribute.
   3684 			 * @return Returns a xsUnsignedByte of the value attribute.
   3685 			 */
   3686 			xsUnsignedByte getValue() const { return attrValue; }
   3687 			/**
   3688 			 * Sets the value attribute.
   3689 			 * @param atValue The new value for the value attribute.
   3690 			 */
   3691 			void setValue( xsUnsignedByte atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
   3692 
   3693 			/**
   3694 			 * Gets the param attribute.
   3695 			 * @return Returns a xsNCName of the param attribute.
   3696 			 */
   3697 			xsNCName getParam() const { return attrParam; }
   3698 			/**
   3699 			 * Sets the param attribute.
   3700 			 * @param atParam The new value for the param attribute.
   3701 			 */
   3702 			void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
   3703 
   3704 		protected:
   3705 			/**
   3706 			 * Constructor
   3707 			 */
   3708 			domRef(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
   3709 			/**
   3710 			 * Destructor
   3711 			 */
   3712 			virtual ~domRef() {}
   3713 			/**
   3714 			 * Overloaded assignment operator
   3715 			 */
   3716 			virtual domRef &operator=( const domRef &cpy ) { (void)cpy; return *this; }
   3717 
   3718 		public: // STATIC METHODS
   3719 			/**
   3720 			 * Creates an instance of this class and returns a daeElementRef referencing it.
   3721 			 * @return a daeElementRef referencing an instance of this object.
   3722 			 */
   3723 			static DLLSPEC daeElementRef create(DAE& dae);
   3724 			/**
   3725 			 * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
   3726 			 * If a daeMetaElement already exists it will return that instead of creating a new one.
   3727 			 * @return A daeMetaElement describing this COLLADA element.
   3728 			 */
   3729 			static DLLSPEC daeMetaElement* registerElement(DAE& dae);
   3730 		};
   3731 
   3732 		class domMask;
   3733 
   3734 		typedef daeSmartRef<domMask> domMaskRef;
   3735 		typedef daeTArray<domMaskRef> domMask_Array;
   3736 
   3737 		class domMask : public daeElement
   3738 		{
   3739 		public:
   3740 			virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::MASK; }
   3741 			static daeInt ID() { return 542; }
   3742 			virtual daeInt typeID() const { return ID(); }
   3743 		protected:  // Attributes
   3744 			xsUnsignedByte attrValue;
   3745 			xsNCName attrParam;
   3746 
   3747 
   3748 		public:	//Accessors and Mutators
   3749 			/**
   3750 			 * Gets the value attribute.
   3751 			 * @return Returns a xsUnsignedByte of the value attribute.
   3752 			 */
   3753 			xsUnsignedByte getValue() const { return attrValue; }
   3754 			/**
   3755 			 * Sets the value attribute.
   3756 			 * @param atValue The new value for the value attribute.
   3757 			 */
   3758 			void setValue( xsUnsignedByte atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
   3759 
   3760 			/**
   3761 			 * Gets the param attribute.
   3762 			 * @return Returns a xsNCName of the param attribute.
   3763 			 */
   3764 			xsNCName getParam() const { return attrParam; }
   3765 			/**
   3766 			 * Sets the param attribute.
   3767 			 * @param atParam The new value for the param attribute.
   3768 			 */
   3769 			void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
   3770 
   3771 		protected:
   3772 			/**
   3773 			 * Constructor
   3774 			 */
   3775 			domMask(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
   3776 			/**
   3777 			 * Destructor
   3778 			 */
   3779 			virtual ~domMask() {}
   3780 			/**
   3781 			 * Overloaded assignment operator
   3782 			 */
   3783 			virtual domMask &operator=( const domMask &cpy ) { (void)cpy; return *this; }
   3784 
   3785 		public: // STATIC METHODS
   3786 			/**
   3787 			 * Creates an instance of this class and returns a daeElementRef referencing it.
   3788 			 * @return a daeElementRef referencing an instance of this object.
   3789 			 */
   3790 			static DLLSPEC daeElementRef create(DAE& dae);
   3791 			/**
   3792 			 * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
   3793 			 * If a daeMetaElement already exists it will return that instead of creating a new one.
   3794 			 * @return A daeMetaElement describing this COLLADA element.
   3795 			 */
   3796 			static DLLSPEC daeMetaElement* registerElement(DAE& dae);
   3797 		};
   3798 
   3799 
   3800 
   3801 	protected:  // Elements
   3802 		domFuncRef elemFunc;
   3803 		domRefRef elemRef;
   3804 		domMaskRef elemMask;
   3805 
   3806 	public:	//Accessors and Mutators
   3807 		/**
   3808 		 * Gets the func element.
   3809 		 * @return a daeSmartRef to the func element.
   3810 		 */
   3811 		const domFuncRef getFunc() const { return elemFunc; }
   3812 		/**
   3813 		 * Gets the ref element.
   3814 		 * @return a daeSmartRef to the ref element.
   3815 		 */
   3816 		const domRefRef getRef() const { return elemRef; }
   3817 		/**
   3818 		 * Gets the mask element.
   3819 		 * @return a daeSmartRef to the mask element.
   3820 		 */
   3821 		const domMaskRef getMask() const { return elemMask; }
   3822 	protected:
   3823 		/**
   3824 		 * Constructor
   3825 		 */
   3826 		domStencil_func(DAE& dae) : daeElement(dae), elemFunc(), elemRef(), elemMask() {}
   3827 		/**
   3828 		 * Destructor
   3829 		 */
   3830 		virtual ~domStencil_func() {}
   3831 		/**
   3832 		 * Overloaded assignment operator
   3833 		 */
   3834 		virtual domStencil_func &operator=( const domStencil_func &cpy ) { (void)cpy; return *this; }
   3835 
   3836 	public: // STATIC METHODS
   3837 		/**
   3838 		 * Creates an instance of this class and returns a daeElementRef referencing it.
   3839 		 * @return a daeElementRef referencing an instance of this object.
   3840 		 */
   3841 		static DLLSPEC daeElementRef create(DAE& dae);
   3842 		/**
   3843 		 * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
   3844 		 * If a daeMetaElement already exists it will return that instead of creating a new one.
   3845 		 * @return A daeMetaElement describing this COLLADA element.
   3846 		 */
   3847 		static DLLSPEC daeMetaElement* registerElement(DAE& dae);
   3848 	};
   3849 
   3850 	class domStencil_mask;
   3851 
   3852 	typedef daeSmartRef<domStencil_mask> domStencil_maskRef;
   3853 	typedef daeTArray<domStencil_maskRef> domStencil_mask_Array;
   3854 
   3855 	class domStencil_mask : public daeElement
   3856 	{
   3857 	public:
   3858 		virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::STENCIL_MASK; }
   3859 		static daeInt ID() { return 543; }
   3860 		virtual daeInt typeID() const { return ID(); }
   3861 	protected:  // Attributes
   3862 		domInt attrValue;
   3863 		xsNCName attrParam;
   3864 
   3865 
   3866 	public:	//Accessors and Mutators
   3867 		/**
   3868 		 * Gets the value attribute.
   3869 		 * @return Returns a domInt of the value attribute.
   3870 		 */
   3871 		domInt getValue() const { return attrValue; }
   3872 		/**
   3873 		 * Sets the value attribute.
   3874 		 * @param atValue The new value for the value attribute.
   3875 		 */
   3876 		void setValue( domInt atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
   3877 
   3878 		/**
   3879 		 * Gets the param attribute.
   3880 		 * @return Returns a xsNCName of the param attribute.
   3881 		 */
   3882 		xsNCName getParam() const { return attrParam; }
   3883 		/**
   3884 		 * Sets the param attribute.
   3885 		 * @param atParam The new value for the param attribute.
   3886 		 */
   3887 		void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
   3888 
   3889 	protected:
   3890 		/**
   3891 		 * Constructor
   3892 		 */
   3893 		domStencil_mask(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
   3894 		/**
   3895 		 * Destructor
   3896 		 */
   3897 		virtual ~domStencil_mask() {}
   3898 		/**
   3899 		 * Overloaded assignment operator
   3900 		 */
   3901 		virtual domStencil_mask &operator=( const domStencil_mask &cpy ) { (void)cpy; return *this; }
   3902 
   3903 	public: // STATIC METHODS
   3904 		/**
   3905 		 * Creates an instance of this class and returns a daeElementRef referencing it.
   3906 		 * @return a daeElementRef referencing an instance of this object.
   3907 		 */
   3908 		static DLLSPEC daeElementRef create(DAE& dae);
   3909 		/**
   3910 		 * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
   3911 		 * If a daeMetaElement already exists it will return that instead of creating a new one.
   3912 		 * @return A daeMetaElement describing this COLLADA element.
   3913 		 */
   3914 		static DLLSPEC daeMetaElement* registerElement(DAE& dae);
   3915 	};
   3916 
   3917 	class domStencil_op;
   3918 
   3919 	typedef daeSmartRef<domStencil_op> domStencil_opRef;
   3920 	typedef daeTArray<domStencil_opRef> domStencil_op_Array;
   3921 
   3922 	class domStencil_op : public daeElement
   3923 	{
   3924 	public:
   3925 		virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::STENCIL_OP; }
   3926 		static daeInt ID() { return 544; }
   3927 		virtual daeInt typeID() const { return ID(); }
   3928 	public:
   3929 		class domFail;
   3930 
   3931 		typedef daeSmartRef<domFail> domFailRef;
   3932 		typedef daeTArray<domFailRef> domFail_Array;
   3933 
   3934 		class domFail : public daeElement
   3935 		{
   3936 		public:
   3937 			virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FAIL; }
   3938 			static daeInt ID() { return 545; }
   3939 			virtual daeInt typeID() const { return ID(); }
   3940 		protected:  // Attributes
   3941 			domGles_stencil_op_type attrValue;
   3942 			xsNCName attrParam;
   3943 
   3944 
   3945 		public:	//Accessors and Mutators
   3946 			/**
   3947 			 * Gets the value attribute.
   3948 			 * @return Returns a domGles_stencil_op_type of the value attribute.
   3949 			 */
   3950 			domGles_stencil_op_type getValue() const { return attrValue; }
   3951 			/**
   3952 			 * Sets the value attribute.
   3953 			 * @param atValue The new value for the value attribute.
   3954 			 */
   3955 			void setValue( domGles_stencil_op_type atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
   3956 
   3957 			/**
   3958 			 * Gets the param attribute.
   3959 			 * @return Returns a xsNCName of the param attribute.
   3960 			 */
   3961 			xsNCName getParam() const { return attrParam; }
   3962 			/**
   3963 			 * Sets the param attribute.
   3964 			 * @param atParam The new value for the param attribute.
   3965 			 */
   3966 			void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
   3967 
   3968 		protected:
   3969 			/**
   3970 			 * Constructor
   3971 			 */
   3972 			domFail(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
   3973 			/**
   3974 			 * Destructor
   3975 			 */
   3976 			virtual ~domFail() {}
   3977 			/**
   3978 			 * Overloaded assignment operator
   3979 			 */
   3980 			virtual domFail &operator=( const domFail &cpy ) { (void)cpy; return *this; }
   3981 
   3982 		public: // STATIC METHODS
   3983 			/**
   3984 			 * Creates an instance of this class and returns a daeElementRef referencing it.
   3985 			 * @return a daeElementRef referencing an instance of this object.
   3986 			 */
   3987 			static DLLSPEC daeElementRef create(DAE& dae);
   3988 			/**
   3989 			 * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
   3990 			 * If a daeMetaElement already exists it will return that instead of creating a new one.
   3991 			 * @return A daeMetaElement describing this COLLADA element.
   3992 			 */
   3993 			static DLLSPEC daeMetaElement* registerElement(DAE& dae);
   3994 		};
   3995 
   3996 		class domZfail;
   3997 
   3998 		typedef daeSmartRef<domZfail> domZfailRef;
   3999 		typedef daeTArray<domZfailRef> domZfail_Array;
   4000 
   4001 		class domZfail : public daeElement
   4002 		{
   4003 		public:
   4004 			virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::ZFAIL; }
   4005 			static daeInt ID() { return 546; }
   4006 			virtual daeInt typeID() const { return ID(); }
   4007 		protected:  // Attributes
   4008 			domGles_stencil_op_type attrValue;
   4009 			xsNCName attrParam;
   4010 
   4011 
   4012 		public:	//Accessors and Mutators
   4013 			/**
   4014 			 * Gets the value attribute.
   4015 			 * @return Returns a domGles_stencil_op_type of the value attribute.
   4016 			 */
   4017 			domGles_stencil_op_type getValue() const { return attrValue; }
   4018 			/**
   4019 			 * Sets the value attribute.
   4020 			 * @param atValue The new value for the value attribute.
   4021 			 */
   4022 			void setValue( domGles_stencil_op_type atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
   4023 
   4024 			/**
   4025 			 * Gets the param attribute.
   4026 			 * @return Returns a xsNCName of the param attribute.
   4027 			 */
   4028 			xsNCName getParam() const { return attrParam; }
   4029 			/**
   4030 			 * Sets the param attribute.
   4031 			 * @param atParam The new value for the param attribute.
   4032 			 */
   4033 			void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
   4034 
   4035 		protected:
   4036 			/**
   4037 			 * Constructor
   4038 			 */
   4039 			domZfail(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
   4040 			/**
   4041 			 * Destructor
   4042 			 */
   4043 			virtual ~domZfail() {}
   4044 			/**
   4045 			 * Overloaded assignment operator
   4046 			 */
   4047 			virtual domZfail &operator=( const domZfail &cpy ) { (void)cpy; return *this; }
   4048 
   4049 		public: // STATIC METHODS
   4050 			/**
   4051 			 * Creates an instance of this class and returns a daeElementRef referencing it.
   4052 			 * @return a daeElementRef referencing an instance of this object.
   4053 			 */
   4054 			static DLLSPEC daeElementRef create(DAE& dae);
   4055 			/**
   4056 			 * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
   4057 			 * If a daeMetaElement already exists it will return that instead of creating a new one.
   4058 			 * @return A daeMetaElement describing this COLLADA element.
   4059 			 */
   4060 			static DLLSPEC daeMetaElement* registerElement(DAE& dae);
   4061 		};
   4062 
   4063 		class domZpass;
   4064 
   4065 		typedef daeSmartRef<domZpass> domZpassRef;
   4066 		typedef daeTArray<domZpassRef> domZpass_Array;
   4067 
   4068 		class domZpass : public daeElement
   4069 		{
   4070 		public:
   4071 			virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::ZPASS; }
   4072 			static daeInt ID() { return 547; }
   4073 			virtual daeInt typeID() const { return ID(); }
   4074 		protected:  // Attributes
   4075 			domGles_stencil_op_type attrValue;
   4076 			xsNCName attrParam;
   4077 
   4078 
   4079 		public:	//Accessors and Mutators
   4080 			/**
   4081 			 * Gets the value attribute.
   4082 			 * @return Returns a domGles_stencil_op_type of the value attribute.
   4083 			 */
   4084 			domGles_stencil_op_type getValue() const { return attrValue; }
   4085 			/**
   4086 			 * Sets the value attribute.
   4087 			 * @param atValue The new value for the value attribute.
   4088 			 */
   4089 			void setValue( domGles_stencil_op_type atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
   4090 
   4091 			/**
   4092 			 * Gets the param attribute.
   4093 			 * @return Returns a xsNCName of the param attribute.
   4094 			 */
   4095 			xsNCName getParam() const { return attrParam; }
   4096 			/**
   4097 			 * Sets the param attribute.
   4098 			 * @param atParam The new value for the param attribute.
   4099 			 */
   4100 			void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
   4101 
   4102 		protected:
   4103 			/**
   4104 			 * Constructor
   4105 			 */
   4106 			domZpass(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
   4107 			/**
   4108 			 * Destructor
   4109 			 */
   4110 			virtual ~domZpass() {}
   4111 			/**
   4112 			 * Overloaded assignment operator
   4113 			 */
   4114 			virtual domZpass &operator=( const domZpass &cpy ) { (void)cpy; return *this; }
   4115 
   4116 		public: // STATIC METHODS
   4117 			/**
   4118 			 * Creates an instance of this class and returns a daeElementRef referencing it.
   4119 			 * @return a daeElementRef referencing an instance of this object.
   4120 			 */
   4121 			static DLLSPEC daeElementRef create(DAE& dae);
   4122 			/**
   4123 			 * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
   4124 			 * If a daeMetaElement already exists it will return that instead of creating a new one.
   4125 			 * @return A daeMetaElement describing this COLLADA element.
   4126 			 */
   4127 			static DLLSPEC daeMetaElement* registerElement(DAE& dae);
   4128 		};
   4129 
   4130 
   4131 
   4132 	protected:  // Elements
   4133 		domFailRef elemFail;
   4134 		domZfailRef elemZfail;
   4135 		domZpassRef elemZpass;
   4136 
   4137 	public:	//Accessors and Mutators
   4138 		/**
   4139 		 * Gets the fail element.
   4140 		 * @return a daeSmartRef to the fail element.
   4141 		 */
   4142 		const domFailRef getFail() const { return elemFail; }
   4143 		/**
   4144 		 * Gets the zfail element.
   4145 		 * @return a daeSmartRef to the zfail element.
   4146 		 */
   4147 		const domZfailRef getZfail() const { return elemZfail; }
   4148 		/**
   4149 		 * Gets the zpass element.
   4150 		 * @return a daeSmartRef to the zpass element.
   4151 		 */
   4152 		const domZpassRef getZpass() const { return elemZpass; }
   4153 	protected:
   4154 		/**
   4155 		 * Constructor
   4156 		 */
   4157 		domStencil_op(DAE& dae) : daeElement(dae), elemFail(), elemZfail(), elemZpass() {}
   4158 		/**
   4159 		 * Destructor
   4160 		 */
   4161 		virtual ~domStencil_op() {}
   4162 		/**
   4163 		 * Overloaded assignment operator
   4164 		 */
   4165 		virtual domStencil_op &operator=( const domStencil_op &cpy ) { (void)cpy; return *this; }
   4166 
   4167 	public: // STATIC METHODS
   4168 		/**
   4169 		 * Creates an instance of this class and returns a daeElementRef referencing it.
   4170 		 * @return a daeElementRef referencing an instance of this object.
   4171 		 */
   4172 		static DLLSPEC daeElementRef create(DAE& dae);
   4173 		/**
   4174 		 * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
   4175 		 * If a daeMetaElement already exists it will return that instead of creating a new one.
   4176 		 * @return A daeMetaElement describing this COLLADA element.
   4177 		 */
   4178 		static DLLSPEC daeMetaElement* registerElement(DAE& dae);
   4179 	};
   4180 
   4181 	class domAlpha_test_enable;
   4182 
   4183 	typedef daeSmartRef<domAlpha_test_enable> domAlpha_test_enableRef;
   4184 	typedef daeTArray<domAlpha_test_enableRef> domAlpha_test_enable_Array;
   4185 
   4186 	class domAlpha_test_enable : public daeElement
   4187 	{
   4188 	public:
   4189 		virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::ALPHA_TEST_ENABLE; }
   4190 		static daeInt ID() { return 548; }
   4191 		virtual daeInt typeID() const { return ID(); }
   4192 	protected:  // Attributes
   4193 		domBool attrValue;
   4194 		xsNCName attrParam;
   4195 
   4196 
   4197 	public:	//Accessors and Mutators
   4198 		/**
   4199 		 * Gets the value attribute.
   4200 		 * @return Returns a domBool of the value attribute.
   4201 		 */
   4202 		domBool getValue() const { return attrValue; }
   4203 		/**
   4204 		 * Sets the value attribute.
   4205 		 * @param atValue The new value for the value attribute.
   4206 		 */
   4207 		void setValue( domBool atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
   4208 
   4209 		/**
   4210 		 * Gets the param attribute.
   4211 		 * @return Returns a xsNCName of the param attribute.
   4212 		 */
   4213 		xsNCName getParam() const { return attrParam; }
   4214 		/**
   4215 		 * Sets the param attribute.
   4216 		 * @param atParam The new value for the param attribute.
   4217 		 */
   4218 		void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
   4219 
   4220 	protected:
   4221 		/**
   4222 		 * Constructor
   4223 		 */
   4224 		domAlpha_test_enable(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
   4225 		/**
   4226 		 * Destructor
   4227 		 */
   4228 		virtual ~domAlpha_test_enable() {}
   4229 		/**
   4230 		 * Overloaded assignment operator
   4231 		 */
   4232 		virtual domAlpha_test_enable &operator=( const domAlpha_test_enable &cpy ) { (void)cpy; return *this; }
   4233 
   4234 	public: // STATIC METHODS
   4235 		/**
   4236 		 * Creates an instance of this class and returns a daeElementRef referencing it.
   4237 		 * @return a daeElementRef referencing an instance of this object.
   4238 		 */
   4239 		static DLLSPEC daeElementRef create(DAE& dae);
   4240 		/**
   4241 		 * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
   4242 		 * If a daeMetaElement already exists it will return that instead of creating a new one.
   4243 		 * @return A daeMetaElement describing this COLLADA element.
   4244 		 */
   4245 		static DLLSPEC daeMetaElement* registerElement(DAE& dae);
   4246 	};
   4247 
   4248 	class domBlend_enable;
   4249 
   4250 	typedef daeSmartRef<domBlend_enable> domBlend_enableRef;
   4251 	typedef daeTArray<domBlend_enableRef> domBlend_enable_Array;
   4252 
   4253 	class domBlend_enable : public daeElement
   4254 	{
   4255 	public:
   4256 		virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::BLEND_ENABLE; }
   4257 		static daeInt ID() { return 549; }
   4258 		virtual daeInt typeID() const { return ID(); }
   4259 	protected:  // Attributes
   4260 		domBool attrValue;
   4261 		xsNCName attrParam;
   4262 
   4263 
   4264 	public:	//Accessors and Mutators
   4265 		/**
   4266 		 * Gets the value attribute.
   4267 		 * @return Returns a domBool of the value attribute.
   4268 		 */
   4269 		domBool getValue() const { return attrValue; }
   4270 		/**
   4271 		 * Sets the value attribute.
   4272 		 * @param atValue The new value for the value attribute.
   4273 		 */
   4274 		void setValue( domBool atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
   4275 
   4276 		/**
   4277 		 * Gets the param attribute.
   4278 		 * @return Returns a xsNCName of the param attribute.
   4279 		 */
   4280 		xsNCName getParam() const { return attrParam; }
   4281 		/**
   4282 		 * Sets the param attribute.
   4283 		 * @param atParam The new value for the param attribute.
   4284 		 */
   4285 		void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
   4286 
   4287 	protected:
   4288 		/**
   4289 		 * Constructor
   4290 		 */
   4291 		domBlend_enable(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
   4292 		/**
   4293 		 * Destructor
   4294 		 */
   4295 		virtual ~domBlend_enable() {}
   4296 		/**
   4297 		 * Overloaded assignment operator
   4298 		 */
   4299 		virtual domBlend_enable &operator=( const domBlend_enable &cpy ) { (void)cpy; return *this; }
   4300 
   4301 	public: // STATIC METHODS
   4302 		/**
   4303 		 * Creates an instance of this class and returns a daeElementRef referencing it.
   4304 		 * @return a daeElementRef referencing an instance of this object.
   4305 		 */
   4306 		static DLLSPEC daeElementRef create(DAE& dae);
   4307 		/**
   4308 		 * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
   4309 		 * If a daeMetaElement already exists it will return that instead of creating a new one.
   4310 		 * @return A daeMetaElement describing this COLLADA element.
   4311 		 */
   4312 		static DLLSPEC daeMetaElement* registerElement(DAE& dae);
   4313 	};
   4314 
   4315 	class domClip_plane_enable;
   4316 
   4317 	typedef daeSmartRef<domClip_plane_enable> domClip_plane_enableRef;
   4318 	typedef daeTArray<domClip_plane_enableRef> domClip_plane_enable_Array;
   4319 
   4320 	class domClip_plane_enable : public daeElement
   4321 	{
   4322 	public:
   4323 		virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::CLIP_PLANE_ENABLE; }
   4324 		static daeInt ID() { return 550; }
   4325 		virtual daeInt typeID() const { return ID(); }
   4326 	protected:  // Attributes
   4327 		domBool attrValue;
   4328 		xsNCName attrParam;
   4329 		domGLES_MAX_CLIP_PLANES_index attrIndex;
   4330 
   4331 
   4332 	public:	//Accessors and Mutators
   4333 		/**
   4334 		 * Gets the value attribute.
   4335 		 * @return Returns a domBool of the value attribute.
   4336 		 */
   4337 		domBool getValue() const { return attrValue; }
   4338 		/**
   4339 		 * Sets the value attribute.
   4340 		 * @param atValue The new value for the value attribute.
   4341 		 */
   4342 		void setValue( domBool atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
   4343 
   4344 		/**
   4345 		 * Gets the param attribute.
   4346 		 * @return Returns a xsNCName of the param attribute.
   4347 		 */
   4348 		xsNCName getParam() const { return attrParam; }
   4349 		/**
   4350 		 * Sets the param attribute.
   4351 		 * @param atParam The new value for the param attribute.
   4352 		 */
   4353 		void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
   4354 
   4355 		/**
   4356 		 * Gets the index attribute.
   4357 		 * @return Returns a domGLES_MAX_CLIP_PLANES_index of the index attribute.
   4358 		 */
   4359 		domGLES_MAX_CLIP_PLANES_index getIndex() const { return attrIndex; }
   4360 		/**
   4361 		 * Sets the index attribute.
   4362 		 * @param atIndex The new value for the index attribute.
   4363 		 */
   4364 		void setIndex( domGLES_MAX_CLIP_PLANES_index atIndex ) { attrIndex = atIndex; _validAttributeArray[2] = true; }
   4365 
   4366 	protected:
   4367 		/**
   4368 		 * Constructor
   4369 		 */
   4370 		domClip_plane_enable(DAE& dae) : daeElement(dae), attrValue(), attrParam(), attrIndex() {}
   4371 		/**
   4372 		 * Destructor
   4373 		 */
   4374 		virtual ~domClip_plane_enable() {}
   4375 		/**
   4376 		 * Overloaded assignment operator
   4377 		 */
   4378 		virtual domClip_plane_enable &operator=( const domClip_plane_enable &cpy ) { (void)cpy; return *this; }
   4379 
   4380 	public: // STATIC METHODS
   4381 		/**
   4382 		 * Creates an instance of this class and returns a daeElementRef referencing it.
   4383 		 * @return a daeElementRef referencing an instance of this object.
   4384 		 */
   4385 		static DLLSPEC daeElementRef create(DAE& dae);
   4386 		/**
   4387 		 * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
   4388 		 * If a daeMetaElement already exists it will return that instead of creating a new one.
   4389 		 * @return A daeMetaElement describing this COLLADA element.
   4390 		 */
   4391 		static DLLSPEC daeMetaElement* registerElement(DAE& dae);
   4392 	};
   4393 
   4394 	class domColor_logic_op_enable;
   4395 
   4396 	typedef daeSmartRef<domColor_logic_op_enable> domColor_logic_op_enableRef;
   4397 	typedef daeTArray<domColor_logic_op_enableRef> domColor_logic_op_enable_Array;
   4398 
   4399 	class domColor_logic_op_enable : public daeElement
   4400 	{
   4401 	public:
   4402 		virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::COLOR_LOGIC_OP_ENABLE; }
   4403 		static daeInt ID() { return 551; }
   4404 		virtual daeInt typeID() const { return ID(); }
   4405 	protected:  // Attributes
   4406 		domBool attrValue;
   4407 		xsNCName attrParam;
   4408 
   4409 
   4410 	public:	//Accessors and Mutators
   4411 		/**
   4412 		 * Gets the value attribute.
   4413 		 * @return Returns a domBool of the value attribute.
   4414 		 */
   4415 		domBool getValue() const { return attrValue; }
   4416 		/**
   4417 		 * Sets the value attribute.
   4418 		 * @param atValue The new value for the value attribute.
   4419 		 */
   4420 		void setValue( domBool atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
   4421 
   4422 		/**
   4423 		 * Gets the param attribute.
   4424 		 * @return Returns a xsNCName of the param attribute.
   4425 		 */
   4426 		xsNCName getParam() const { return attrParam; }
   4427 		/**
   4428 		 * Sets the param attribute.
   4429 		 * @param atParam The new value for the param attribute.
   4430 		 */
   4431 		void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
   4432 
   4433 	protected:
   4434 		/**
   4435 		 * Constructor
   4436 		 */
   4437 		domColor_logic_op_enable(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
   4438 		/**
   4439 		 * Destructor
   4440 		 */
   4441 		virtual ~domColor_logic_op_enable() {}
   4442 		/**
   4443 		 * Overloaded assignment operator
   4444 		 */
   4445 		virtual domColor_logic_op_enable &operator=( const domColor_logic_op_enable &cpy ) { (void)cpy; return *this; }
   4446 
   4447 	public: // STATIC METHODS
   4448 		/**
   4449 		 * Creates an instance of this class and returns a daeElementRef referencing it.
   4450 		 * @return a daeElementRef referencing an instance of this object.
   4451 		 */
   4452 		static DLLSPEC daeElementRef create(DAE& dae);
   4453 		/**
   4454 		 * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
   4455 		 * If a daeMetaElement already exists it will return that instead of creating a new one.
   4456 		 * @return A daeMetaElement describing this COLLADA element.
   4457 		 */
   4458 		static DLLSPEC daeMetaElement* registerElement(DAE& dae);
   4459 	};
   4460 
   4461 	class domColor_material_enable;
   4462 
   4463 	typedef daeSmartRef<domColor_material_enable> domColor_material_enableRef;
   4464 	typedef daeTArray<domColor_material_enableRef> domColor_material_enable_Array;
   4465 
   4466 	class domColor_material_enable : public daeElement
   4467 	{
   4468 	public:
   4469 		virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::COLOR_MATERIAL_ENABLE; }
   4470 		static daeInt ID() { return 552; }
   4471 		virtual daeInt typeID() const { return ID(); }
   4472 	protected:  // Attributes
   4473 		domBool attrValue;
   4474 		xsNCName attrParam;
   4475 
   4476 
   4477 	public:	//Accessors and Mutators
   4478 		/**
   4479 		 * Gets the value attribute.
   4480 		 * @return Returns a domBool of the value attribute.
   4481 		 */
   4482 		domBool getValue() const { return attrValue; }
   4483 		/**
   4484 		 * Sets the value attribute.
   4485 		 * @param atValue The new value for the value attribute.
   4486 		 */
   4487 		void setValue( domBool atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
   4488 
   4489 		/**
   4490 		 * Gets the param attribute.
   4491 		 * @return Returns a xsNCName of the param attribute.
   4492 		 */
   4493 		xsNCName getParam() const { return attrParam; }
   4494 		/**
   4495 		 * Sets the param attribute.
   4496 		 * @param atParam The new value for the param attribute.
   4497 		 */
   4498 		void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
   4499 
   4500 	protected:
   4501 		/**
   4502 		 * Constructor
   4503 		 */
   4504 		domColor_material_enable(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
   4505 		/**
   4506 		 * Destructor
   4507 		 */
   4508 		virtual ~domColor_material_enable() {}
   4509 		/**
   4510 		 * Overloaded assignment operator
   4511 		 */
   4512 		virtual domColor_material_enable &operator=( const domColor_material_enable &cpy ) { (void)cpy; return *this; }
   4513 
   4514 	public: // STATIC METHODS
   4515 		/**
   4516 		 * Creates an instance of this class and returns a daeElementRef referencing it.
   4517 		 * @return a daeElementRef referencing an instance of this object.
   4518 		 */
   4519 		static DLLSPEC daeElementRef create(DAE& dae);
   4520 		/**
   4521 		 * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
   4522 		 * If a daeMetaElement already exists it will return that instead of creating a new one.
   4523 		 * @return A daeMetaElement describing this COLLADA element.
   4524 		 */
   4525 		static DLLSPEC daeMetaElement* registerElement(DAE& dae);
   4526 	};
   4527 
   4528 	class domCull_face_enable;
   4529 
   4530 	typedef daeSmartRef<domCull_face_enable> domCull_face_enableRef;
   4531 	typedef daeTArray<domCull_face_enableRef> domCull_face_enable_Array;
   4532 
   4533 	class domCull_face_enable : public daeElement
   4534 	{
   4535 	public:
   4536 		virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::CULL_FACE_ENABLE; }
   4537 		static daeInt ID() { return 553; }
   4538 		virtual daeInt typeID() const { return ID(); }
   4539 	protected:  // Attributes
   4540 		domBool attrValue;
   4541 		xsNCName attrParam;
   4542 
   4543 
   4544 	public:	//Accessors and Mutators
   4545 		/**
   4546 		 * Gets the value attribute.
   4547 		 * @return Returns a domBool of the value attribute.
   4548 		 */
   4549 		domBool getValue() const { return attrValue; }
   4550 		/**
   4551 		 * Sets the value attribute.
   4552 		 * @param atValue The new value for the value attribute.
   4553 		 */
   4554 		void setValue( domBool atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
   4555 
   4556 		/**
   4557 		 * Gets the param attribute.
   4558 		 * @return Returns a xsNCName of the param attribute.
   4559 		 */
   4560 		xsNCName getParam() const { return attrParam; }
   4561 		/**
   4562 		 * Sets the param attribute.
   4563 		 * @param atParam The new value for the param attribute.
   4564 		 */
   4565 		void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
   4566 
   4567 	protected:
   4568 		/**
   4569 		 * Constructor
   4570 		 */
   4571 		domCull_face_enable(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
   4572 		/**
   4573 		 * Destructor
   4574 		 */
   4575 		virtual ~domCull_face_enable() {}
   4576 		/**
   4577 		 * Overloaded assignment operator
   4578 		 */
   4579 		virtual domCull_face_enable &operator=( const domCull_face_enable &cpy ) { (void)cpy; return *this; }
   4580 
   4581 	public: // STATIC METHODS
   4582 		/**
   4583 		 * Creates an instance of this class and returns a daeElementRef referencing it.
   4584 		 * @return a daeElementRef referencing an instance of this object.
   4585 		 */
   4586 		static DLLSPEC daeElementRef create(DAE& dae);
   4587 		/**
   4588 		 * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
   4589 		 * If a daeMetaElement already exists it will return that instead of creating a new one.
   4590 		 * @return A daeMetaElement describing this COLLADA element.
   4591 		 */
   4592 		static DLLSPEC daeMetaElement* registerElement(DAE& dae);
   4593 	};
   4594 
   4595 	class domDepth_test_enable;
   4596 
   4597 	typedef daeSmartRef<domDepth_test_enable> domDepth_test_enableRef;
   4598 	typedef daeTArray<domDepth_test_enableRef> domDepth_test_enable_Array;
   4599 
   4600 	class domDepth_test_enable : public daeElement
   4601 	{
   4602 	public:
   4603 		virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::DEPTH_TEST_ENABLE; }
   4604 		static daeInt ID() { return 554; }
   4605 		virtual daeInt typeID() const { return ID(); }
   4606 	protected:  // Attributes
   4607 		domBool attrValue;
   4608 		xsNCName attrParam;
   4609 
   4610 
   4611 	public:	//Accessors and Mutators
   4612 		/**
   4613 		 * Gets the value attribute.
   4614 		 * @return Returns a domBool of the value attribute.
   4615 		 */
   4616 		domBool getValue() const { return attrValue; }
   4617 		/**
   4618 		 * Sets the value attribute.
   4619 		 * @param atValue The new value for the value attribute.
   4620 		 */
   4621 		void setValue( domBool atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
   4622 
   4623 		/**
   4624 		 * Gets the param attribute.
   4625 		 * @return Returns a xsNCName of the param attribute.
   4626 		 */
   4627 		xsNCName getParam() const { return attrParam; }
   4628 		/**
   4629 		 * Sets the param attribute.
   4630 		 * @param atParam The new value for the param attribute.
   4631 		 */
   4632 		void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
   4633 
   4634 	protected:
   4635 		/**
   4636 		 * Constructor
   4637 		 */
   4638 		domDepth_test_enable(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
   4639 		/**
   4640 		 * Destructor
   4641 		 */
   4642 		virtual ~domDepth_test_enable() {}
   4643 		/**
   4644 		 * Overloaded assignment operator
   4645 		 */
   4646 		virtual domDepth_test_enable &operator=( const domDepth_test_enable &cpy ) { (void)cpy; return *this; }
   4647 
   4648 	public: // STATIC METHODS
   4649 		/**
   4650 		 * Creates an instance of this class and returns a daeElementRef referencing it.
   4651 		 * @return a daeElementRef referencing an instance of this object.
   4652 		 */
   4653 		static DLLSPEC daeElementRef create(DAE& dae);
   4654 		/**
   4655 		 * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
   4656 		 * If a daeMetaElement already exists it will return that instead of creating a new one.
   4657 		 * @return A daeMetaElement describing this COLLADA element.
   4658 		 */
   4659 		static DLLSPEC daeMetaElement* registerElement(DAE& dae);
   4660 	};
   4661 
   4662 	class domDither_enable;
   4663 
   4664 	typedef daeSmartRef<domDither_enable> domDither_enableRef;
   4665 	typedef daeTArray<domDither_enableRef> domDither_enable_Array;
   4666 
   4667 	class domDither_enable : public daeElement
   4668 	{
   4669 	public:
   4670 		virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::DITHER_ENABLE; }
   4671 		static daeInt ID() { return 555; }
   4672 		virtual daeInt typeID() const { return ID(); }
   4673 	protected:  // Attributes
   4674 		domBool attrValue;
   4675 		xsNCName attrParam;
   4676 
   4677 
   4678 	public:	//Accessors and Mutators
   4679 		/**
   4680 		 * Gets the value attribute.
   4681 		 * @return Returns a domBool of the value attribute.
   4682 		 */
   4683 		domBool getValue() const { return attrValue; }
   4684 		/**
   4685 		 * Sets the value attribute.
   4686 		 * @param atValue The new value for the value attribute.
   4687 		 */
   4688 		void setValue( domBool atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
   4689 
   4690 		/**
   4691 		 * Gets the param attribute.
   4692 		 * @return Returns a xsNCName of the param attribute.
   4693 		 */
   4694 		xsNCName getParam() const { return attrParam; }
   4695 		/**
   4696 		 * Sets the param attribute.
   4697 		 * @param atParam The new value for the param attribute.
   4698 		 */
   4699 		void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
   4700 
   4701 	protected:
   4702 		/**
   4703 		 * Constructor
   4704 		 */
   4705 		domDither_enable(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
   4706 		/**
   4707 		 * Destructor
   4708 		 */
   4709 		virtual ~domDither_enable() {}
   4710 		/**
   4711 		 * Overloaded assignment operator
   4712 		 */
   4713 		virtual domDither_enable &operator=( const domDither_enable &cpy ) { (void)cpy; return *this; }
   4714 
   4715 	public: // STATIC METHODS
   4716 		/**
   4717 		 * Creates an instance of this class and returns a daeElementRef referencing it.
   4718 		 * @return a daeElementRef referencing an instance of this object.
   4719 		 */
   4720 		static DLLSPEC daeElementRef create(DAE& dae);
   4721 		/**
   4722 		 * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
   4723 		 * If a daeMetaElement already exists it will return that instead of creating a new one.
   4724 		 * @return A daeMetaElement describing this COLLADA element.
   4725 		 */
   4726 		static DLLSPEC daeMetaElement* registerElement(DAE& dae);
   4727 	};
   4728 
   4729 	class domFog_enable;
   4730 
   4731 	typedef daeSmartRef<domFog_enable> domFog_enableRef;
   4732 	typedef daeTArray<domFog_enableRef> domFog_enable_Array;
   4733 
   4734 	class domFog_enable : public daeElement
   4735 	{
   4736 	public:
   4737 		virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::FOG_ENABLE; }
   4738 		static daeInt ID() { return 556; }
   4739 		virtual daeInt typeID() const { return ID(); }
   4740 	protected:  // Attributes
   4741 		domBool attrValue;
   4742 		xsNCName attrParam;
   4743 
   4744 
   4745 	public:	//Accessors and Mutators
   4746 		/**
   4747 		 * Gets the value attribute.
   4748 		 * @return Returns a domBool of the value attribute.
   4749 		 */
   4750 		domBool getValue() const { return attrValue; }
   4751 		/**
   4752 		 * Sets the value attribute.
   4753 		 * @param atValue The new value for the value attribute.
   4754 		 */
   4755 		void setValue( domBool atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
   4756 
   4757 		/**
   4758 		 * Gets the param attribute.
   4759 		 * @return Returns a xsNCName of the param attribute.
   4760 		 */
   4761 		xsNCName getParam() const { return attrParam; }
   4762 		/**
   4763 		 * Sets the param attribute.
   4764 		 * @param atParam The new value for the param attribute.
   4765 		 */
   4766 		void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
   4767 
   4768 	protected:
   4769 		/**
   4770 		 * Constructor
   4771 		 */
   4772 		domFog_enable(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
   4773 		/**
   4774 		 * Destructor
   4775 		 */
   4776 		virtual ~domFog_enable() {}
   4777 		/**
   4778 		 * Overloaded assignment operator
   4779 		 */
   4780 		virtual domFog_enable &operator=( const domFog_enable &cpy ) { (void)cpy; return *this; }
   4781 
   4782 	public: // STATIC METHODS
   4783 		/**
   4784 		 * Creates an instance of this class and returns a daeElementRef referencing it.
   4785 		 * @return a daeElementRef referencing an instance of this object.
   4786 		 */
   4787 		static DLLSPEC daeElementRef create(DAE& dae);
   4788 		/**
   4789 		 * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
   4790 		 * If a daeMetaElement already exists it will return that instead of creating a new one.
   4791 		 * @return A daeMetaElement describing this COLLADA element.
   4792 		 */
   4793 		static DLLSPEC daeMetaElement* registerElement(DAE& dae);
   4794 	};
   4795 
   4796 	class domTexture_pipeline_enable;
   4797 
   4798 	typedef daeSmartRef<domTexture_pipeline_enable> domTexture_pipeline_enableRef;
   4799 	typedef daeTArray<domTexture_pipeline_enableRef> domTexture_pipeline_enable_Array;
   4800 
   4801 	class domTexture_pipeline_enable : public daeElement
   4802 	{
   4803 	public:
   4804 		virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::TEXTURE_PIPELINE_ENABLE; }
   4805 		static daeInt ID() { return 557; }
   4806 		virtual daeInt typeID() const { return ID(); }
   4807 	protected:  // Attributes
   4808 		domBool attrValue;
   4809 		xsNCName attrParam;
   4810 
   4811 
   4812 	public:	//Accessors and Mutators
   4813 		/**
   4814 		 * Gets the value attribute.
   4815 		 * @return Returns a domBool of the value attribute.
   4816 		 */
   4817 		domBool getValue() const { return attrValue; }
   4818 		/**
   4819 		 * Sets the value attribute.
   4820 		 * @param atValue The new value for the value attribute.
   4821 		 */
   4822 		void setValue( domBool atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
   4823 
   4824 		/**
   4825 		 * Gets the param attribute.
   4826 		 * @return Returns a xsNCName of the param attribute.
   4827 		 */
   4828 		xsNCName getParam() const { return attrParam; }
   4829 		/**
   4830 		 * Sets the param attribute.
   4831 		 * @param atParam The new value for the param attribute.
   4832 		 */
   4833 		void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
   4834 
   4835 	protected:
   4836 		/**
   4837 		 * Constructor
   4838 		 */
   4839 		domTexture_pipeline_enable(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
   4840 		/**
   4841 		 * Destructor
   4842 		 */
   4843 		virtual ~domTexture_pipeline_enable() {}
   4844 		/**
   4845 		 * Overloaded assignment operator
   4846 		 */
   4847 		virtual domTexture_pipeline_enable &operator=( const domTexture_pipeline_enable &cpy ) { (void)cpy; return *this; }
   4848 
   4849 	public: // STATIC METHODS
   4850 		/**
   4851 		 * Creates an instance of this class and returns a daeElementRef referencing it.
   4852 		 * @return a daeElementRef referencing an instance of this object.
   4853 		 */
   4854 		static DLLSPEC daeElementRef create(DAE& dae);
   4855 		/**
   4856 		 * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
   4857 		 * If a daeMetaElement already exists it will return that instead of creating a new one.
   4858 		 * @return A daeMetaElement describing this COLLADA element.
   4859 		 */
   4860 		static DLLSPEC daeMetaElement* registerElement(DAE& dae);
   4861 	};
   4862 
   4863 	class domLight_enable;
   4864 
   4865 	typedef daeSmartRef<domLight_enable> domLight_enableRef;
   4866 	typedef daeTArray<domLight_enableRef> domLight_enable_Array;
   4867 
   4868 	class domLight_enable : public daeElement
   4869 	{
   4870 	public:
   4871 		virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::LIGHT_ENABLE; }
   4872 		static daeInt ID() { return 558; }
   4873 		virtual daeInt typeID() const { return ID(); }
   4874 	protected:  // Attributes
   4875 		domBool attrValue;
   4876 		xsNCName attrParam;
   4877 		domGLES_MAX_LIGHTS_index attrIndex;
   4878 
   4879 
   4880 	public:	//Accessors and Mutators
   4881 		/**
   4882 		 * Gets the value attribute.
   4883 		 * @return Returns a domBool of the value attribute.
   4884 		 */
   4885 		domBool getValue() const { return attrValue; }
   4886 		/**
   4887 		 * Sets the value attribute.
   4888 		 * @param atValue The new value for the value attribute.
   4889 		 */
   4890 		void setValue( domBool atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
   4891 
   4892 		/**
   4893 		 * Gets the param attribute.
   4894 		 * @return Returns a xsNCName of the param attribute.
   4895 		 */
   4896 		xsNCName getParam() const { return attrParam; }
   4897 		/**
   4898 		 * Sets the param attribute.
   4899 		 * @param atParam The new value for the param attribute.
   4900 		 */
   4901 		void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
   4902 
   4903 		/**
   4904 		 * Gets the index attribute.
   4905 		 * @return Returns a domGLES_MAX_LIGHTS_index of the index attribute.
   4906 		 */
   4907 		domGLES_MAX_LIGHTS_index getIndex() const { return attrIndex; }
   4908 		/**
   4909 		 * Sets the index attribute.
   4910 		 * @param atIndex The new value for the index attribute.
   4911 		 */
   4912 		void setIndex( domGLES_MAX_LIGHTS_index atIndex ) { attrIndex = atIndex; _validAttributeArray[2] = true; }
   4913 
   4914 	protected:
   4915 		/**
   4916 		 * Constructor
   4917 		 */
   4918 		domLight_enable(DAE& dae) : daeElement(dae), attrValue(), attrParam(), attrIndex() {}
   4919 		/**
   4920 		 * Destructor
   4921 		 */
   4922 		virtual ~domLight_enable() {}
   4923 		/**
   4924 		 * Overloaded assignment operator
   4925 		 */
   4926 		virtual domLight_enable &operator=( const domLight_enable &cpy ) { (void)cpy; return *this; }
   4927 
   4928 	public: // STATIC METHODS
   4929 		/**
   4930 		 * Creates an instance of this class and returns a daeElementRef referencing it.
   4931 		 * @return a daeElementRef referencing an instance of this object.
   4932 		 */
   4933 		static DLLSPEC daeElementRef create(DAE& dae);
   4934 		/**
   4935 		 * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
   4936 		 * If a daeMetaElement already exists it will return that instead of creating a new one.
   4937 		 * @return A daeMetaElement describing this COLLADA element.
   4938 		 */
   4939 		static DLLSPEC daeMetaElement* registerElement(DAE& dae);
   4940 	};
   4941 
   4942 	class domLighting_enable;
   4943 
   4944 	typedef daeSmartRef<domLighting_enable> domLighting_enableRef;
   4945 	typedef daeTArray<domLighting_enableRef> domLighting_enable_Array;
   4946 
   4947 	class domLighting_enable : public daeElement
   4948 	{
   4949 	public:
   4950 		virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::LIGHTING_ENABLE; }
   4951 		static daeInt ID() { return 559; }
   4952 		virtual daeInt typeID() const { return ID(); }
   4953 	protected:  // Attributes
   4954 		domBool attrValue;
   4955 		xsNCName attrParam;
   4956 
   4957 
   4958 	public:	//Accessors and Mutators
   4959 		/**
   4960 		 * Gets the value attribute.
   4961 		 * @return Returns a domBool of the value attribute.
   4962 		 */
   4963 		domBool getValue() const { return attrValue; }
   4964 		/**
   4965 		 * Sets the value attribute.
   4966 		 * @param atValue The new value for the value attribute.
   4967 		 */
   4968 		void setValue( domBool atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
   4969 
   4970 		/**
   4971 		 * Gets the param attribute.
   4972 		 * @return Returns a xsNCName of the param attribute.
   4973 		 */
   4974 		xsNCName getParam() const { return attrParam; }
   4975 		/**
   4976 		 * Sets the param attribute.
   4977 		 * @param atParam The new value for the param attribute.
   4978 		 */
   4979 		void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
   4980 
   4981 	protected:
   4982 		/**
   4983 		 * Constructor
   4984 		 */
   4985 		domLighting_enable(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
   4986 		/**
   4987 		 * Destructor
   4988 		 */
   4989 		virtual ~domLighting_enable() {}
   4990 		/**
   4991 		 * Overloaded assignment operator
   4992 		 */
   4993 		virtual domLighting_enable &operator=( const domLighting_enable &cpy ) { (void)cpy; return *this; }
   4994 
   4995 	public: // STATIC METHODS
   4996 		/**
   4997 		 * Creates an instance of this class and returns a daeElementRef referencing it.
   4998 		 * @return a daeElementRef referencing an instance of this object.
   4999 		 */
   5000 		static DLLSPEC daeElementRef create(DAE& dae);
   5001 		/**
   5002 		 * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
   5003 		 * If a daeMetaElement already exists it will return that instead of creating a new one.
   5004 		 * @return A daeMetaElement describing this COLLADA element.
   5005 		 */
   5006 		static DLLSPEC daeMetaElement* registerElement(DAE& dae);
   5007 	};
   5008 
   5009 	class domLight_model_two_side_enable;
   5010 
   5011 	typedef daeSmartRef<domLight_model_two_side_enable> domLight_model_two_side_enableRef;
   5012 	typedef daeTArray<domLight_model_two_side_enableRef> domLight_model_two_side_enable_Array;
   5013 
   5014 	class domLight_model_two_side_enable : public daeElement
   5015 	{
   5016 	public:
   5017 		virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::LIGHT_MODEL_TWO_SIDE_ENABLE; }
   5018 		static daeInt ID() { return 560; }
   5019 		virtual daeInt typeID() const { return ID(); }
   5020 	protected:  // Attributes
   5021 		domBool attrValue;
   5022 		xsNCName attrParam;
   5023 
   5024 
   5025 	public:	//Accessors and Mutators
   5026 		/**
   5027 		 * Gets the value attribute.
   5028 		 * @return Returns a domBool of the value attribute.
   5029 		 */
   5030 		domBool getValue() const { return attrValue; }
   5031 		/**
   5032 		 * Sets the value attribute.
   5033 		 * @param atValue The new value for the value attribute.
   5034 		 */
   5035 		void setValue( domBool atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
   5036 
   5037 		/**
   5038 		 * Gets the param attribute.
   5039 		 * @return Returns a xsNCName of the param attribute.
   5040 		 */
   5041 		xsNCName getParam() const { return attrParam; }
   5042 		/**
   5043 		 * Sets the param attribute.
   5044 		 * @param atParam The new value for the param attribute.
   5045 		 */
   5046 		void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
   5047 
   5048 	protected:
   5049 		/**
   5050 		 * Constructor
   5051 		 */
   5052 		domLight_model_two_side_enable(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
   5053 		/**
   5054 		 * Destructor
   5055 		 */
   5056 		virtual ~domLight_model_two_side_enable() {}
   5057 		/**
   5058 		 * Overloaded assignment operator
   5059 		 */
   5060 		virtual domLight_model_two_side_enable &operator=( const domLight_model_two_side_enable &cpy ) { (void)cpy; return *this; }
   5061 
   5062 	public: // STATIC METHODS
   5063 		/**
   5064 		 * Creates an instance of this class and returns a daeElementRef referencing it.
   5065 		 * @return a daeElementRef referencing an instance of this object.
   5066 		 */
   5067 		static DLLSPEC daeElementRef create(DAE& dae);
   5068 		/**
   5069 		 * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
   5070 		 * If a daeMetaElement already exists it will return that instead of creating a new one.
   5071 		 * @return A daeMetaElement describing this COLLADA element.
   5072 		 */
   5073 		static DLLSPEC daeMetaElement* registerElement(DAE& dae);
   5074 	};
   5075 
   5076 	class domLine_smooth_enable;
   5077 
   5078 	typedef daeSmartRef<domLine_smooth_enable> domLine_smooth_enableRef;
   5079 	typedef daeTArray<domLine_smooth_enableRef> domLine_smooth_enable_Array;
   5080 
   5081 	class domLine_smooth_enable : public daeElement
   5082 	{
   5083 	public:
   5084 		virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::LINE_SMOOTH_ENABLE; }
   5085 		static daeInt ID() { return 561; }
   5086 		virtual daeInt typeID() const { return ID(); }
   5087 	protected:  // Attributes
   5088 		domBool attrValue;
   5089 		xsNCName attrParam;
   5090 
   5091 
   5092 	public:	//Accessors and Mutators
   5093 		/**
   5094 		 * Gets the value attribute.
   5095 		 * @return Returns a domBool of the value attribute.
   5096 		 */
   5097 		domBool getValue() const { return attrValue; }
   5098 		/**
   5099 		 * Sets the value attribute.
   5100 		 * @param atValue The new value for the value attribute.
   5101 		 */
   5102 		void setValue( domBool atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
   5103 
   5104 		/**
   5105 		 * Gets the param attribute.
   5106 		 * @return Returns a xsNCName of the param attribute.
   5107 		 */
   5108 		xsNCName getParam() const { return attrParam; }
   5109 		/**
   5110 		 * Sets the param attribute.
   5111 		 * @param atParam The new value for the param attribute.
   5112 		 */
   5113 		void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
   5114 
   5115 	protected:
   5116 		/**
   5117 		 * Constructor
   5118 		 */
   5119 		domLine_smooth_enable(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
   5120 		/**
   5121 		 * Destructor
   5122 		 */
   5123 		virtual ~domLine_smooth_enable() {}
   5124 		/**
   5125 		 * Overloaded assignment operator
   5126 		 */
   5127 		virtual domLine_smooth_enable &operator=( const domLine_smooth_enable &cpy ) { (void)cpy; return *this; }
   5128 
   5129 	public: // STATIC METHODS
   5130 		/**
   5131 		 * Creates an instance of this class and returns a daeElementRef referencing it.
   5132 		 * @return a daeElementRef referencing an instance of this object.
   5133 		 */
   5134 		static DLLSPEC daeElementRef create(DAE& dae);
   5135 		/**
   5136 		 * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
   5137 		 * If a daeMetaElement already exists it will return that instead of creating a new one.
   5138 		 * @return A daeMetaElement describing this COLLADA element.
   5139 		 */
   5140 		static DLLSPEC daeMetaElement* registerElement(DAE& dae);
   5141 	};
   5142 
   5143 	class domMultisample_enable;
   5144 
   5145 	typedef daeSmartRef<domMultisample_enable> domMultisample_enableRef;
   5146 	typedef daeTArray<domMultisample_enableRef> domMultisample_enable_Array;
   5147 
   5148 	class domMultisample_enable : public daeElement
   5149 	{
   5150 	public:
   5151 		virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::MULTISAMPLE_ENABLE; }
   5152 		static daeInt ID() { return 562; }
   5153 		virtual daeInt typeID() const { return ID(); }
   5154 	protected:  // Attributes
   5155 		domBool attrValue;
   5156 		xsNCName attrParam;
   5157 
   5158 
   5159 	public:	//Accessors and Mutators
   5160 		/**
   5161 		 * Gets the value attribute.
   5162 		 * @return Returns a domBool of the value attribute.
   5163 		 */
   5164 		domBool getValue() const { return attrValue; }
   5165 		/**
   5166 		 * Sets the value attribute.
   5167 		 * @param atValue The new value for the value attribute.
   5168 		 */
   5169 		void setValue( domBool atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
   5170 
   5171 		/**
   5172 		 * Gets the param attribute.
   5173 		 * @return Returns a xsNCName of the param attribute.
   5174 		 */
   5175 		xsNCName getParam() const { return attrParam; }
   5176 		/**
   5177 		 * Sets the param attribute.
   5178 		 * @param atParam The new value for the param attribute.
   5179 		 */
   5180 		void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
   5181 
   5182 	protected:
   5183 		/**
   5184 		 * Constructor
   5185 		 */
   5186 		domMultisample_enable(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
   5187 		/**
   5188 		 * Destructor
   5189 		 */
   5190 		virtual ~domMultisample_enable() {}
   5191 		/**
   5192 		 * Overloaded assignment operator
   5193 		 */
   5194 		virtual domMultisample_enable &operator=( const domMultisample_enable &cpy ) { (void)cpy; return *this; }
   5195 
   5196 	public: // STATIC METHODS
   5197 		/**
   5198 		 * Creates an instance of this class and returns a daeElementRef referencing it.
   5199 		 * @return a daeElementRef referencing an instance of this object.
   5200 		 */
   5201 		static DLLSPEC daeElementRef create(DAE& dae);
   5202 		/**
   5203 		 * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
   5204 		 * If a daeMetaElement already exists it will return that instead of creating a new one.
   5205 		 * @return A daeMetaElement describing this COLLADA element.
   5206 		 */
   5207 		static DLLSPEC daeMetaElement* registerElement(DAE& dae);
   5208 	};
   5209 
   5210 	class domNormalize_enable;
   5211 
   5212 	typedef daeSmartRef<domNormalize_enable> domNormalize_enableRef;
   5213 	typedef daeTArray<domNormalize_enableRef> domNormalize_enable_Array;
   5214 
   5215 	class domNormalize_enable : public daeElement
   5216 	{
   5217 	public:
   5218 		virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::NORMALIZE_ENABLE; }
   5219 		static daeInt ID() { return 563; }
   5220 		virtual daeInt typeID() const { return ID(); }
   5221 	protected:  // Attributes
   5222 		domBool attrValue;
   5223 		xsNCName attrParam;
   5224 
   5225 
   5226 	public:	//Accessors and Mutators
   5227 		/**
   5228 		 * Gets the value attribute.
   5229 		 * @return Returns a domBool of the value attribute.
   5230 		 */
   5231 		domBool getValue() const { return attrValue; }
   5232 		/**
   5233 		 * Sets the value attribute.
   5234 		 * @param atValue The new value for the value attribute.
   5235 		 */
   5236 		void setValue( domBool atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
   5237 
   5238 		/**
   5239 		 * Gets the param attribute.
   5240 		 * @return Returns a xsNCName of the param attribute.
   5241 		 */
   5242 		xsNCName getParam() const { return attrParam; }
   5243 		/**
   5244 		 * Sets the param attribute.
   5245 		 * @param atParam The new value for the param attribute.
   5246 		 */
   5247 		void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
   5248 
   5249 	protected:
   5250 		/**
   5251 		 * Constructor
   5252 		 */
   5253 		domNormalize_enable(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
   5254 		/**
   5255 		 * Destructor
   5256 		 */
   5257 		virtual ~domNormalize_enable() {}
   5258 		/**
   5259 		 * Overloaded assignment operator
   5260 		 */
   5261 		virtual domNormalize_enable &operator=( const domNormalize_enable &cpy ) { (void)cpy; return *this; }
   5262 
   5263 	public: // STATIC METHODS
   5264 		/**
   5265 		 * Creates an instance of this class and returns a daeElementRef referencing it.
   5266 		 * @return a daeElementRef referencing an instance of this object.
   5267 		 */
   5268 		static DLLSPEC daeElementRef create(DAE& dae);
   5269 		/**
   5270 		 * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
   5271 		 * If a daeMetaElement already exists it will return that instead of creating a new one.
   5272 		 * @return A daeMetaElement describing this COLLADA element.
   5273 		 */
   5274 		static DLLSPEC daeMetaElement* registerElement(DAE& dae);
   5275 	};
   5276 
   5277 	class domPoint_smooth_enable;
   5278 
   5279 	typedef daeSmartRef<domPoint_smooth_enable> domPoint_smooth_enableRef;
   5280 	typedef daeTArray<domPoint_smooth_enableRef> domPoint_smooth_enable_Array;
   5281 
   5282 	class domPoint_smooth_enable : public daeElement
   5283 	{
   5284 	public:
   5285 		virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::POINT_SMOOTH_ENABLE; }
   5286 		static daeInt ID() { return 564; }
   5287 		virtual daeInt typeID() const { return ID(); }
   5288 	protected:  // Attributes
   5289 		domBool attrValue;
   5290 		xsNCName attrParam;
   5291 
   5292 
   5293 	public:	//Accessors and Mutators
   5294 		/**
   5295 		 * Gets the value attribute.
   5296 		 * @return Returns a domBool of the value attribute.
   5297 		 */
   5298 		domBool getValue() const { return attrValue; }
   5299 		/**
   5300 		 * Sets the value attribute.
   5301 		 * @param atValue The new value for the value attribute.
   5302 		 */
   5303 		void setValue( domBool atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
   5304 
   5305 		/**
   5306 		 * Gets the param attribute.
   5307 		 * @return Returns a xsNCName of the param attribute.
   5308 		 */
   5309 		xsNCName getParam() const { return attrParam; }
   5310 		/**
   5311 		 * Sets the param attribute.
   5312 		 * @param atParam The new value for the param attribute.
   5313 		 */
   5314 		void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
   5315 
   5316 	protected:
   5317 		/**
   5318 		 * Constructor
   5319 		 */
   5320 		domPoint_smooth_enable(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
   5321 		/**
   5322 		 * Destructor
   5323 		 */
   5324 		virtual ~domPoint_smooth_enable() {}
   5325 		/**
   5326 		 * Overloaded assignment operator
   5327 		 */
   5328 		virtual domPoint_smooth_enable &operator=( const domPoint_smooth_enable &cpy ) { (void)cpy; return *this; }
   5329 
   5330 	public: // STATIC METHODS
   5331 		/**
   5332 		 * Creates an instance of this class and returns a daeElementRef referencing it.
   5333 		 * @return a daeElementRef referencing an instance of this object.
   5334 		 */
   5335 		static DLLSPEC daeElementRef create(DAE& dae);
   5336 		/**
   5337 		 * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
   5338 		 * If a daeMetaElement already exists it will return that instead of creating a new one.
   5339 		 * @return A daeMetaElement describing this COLLADA element.
   5340 		 */
   5341 		static DLLSPEC daeMetaElement* registerElement(DAE& dae);
   5342 	};
   5343 
   5344 	class domPolygon_offset_fill_enable;
   5345 
   5346 	typedef daeSmartRef<domPolygon_offset_fill_enable> domPolygon_offset_fill_enableRef;
   5347 	typedef daeTArray<domPolygon_offset_fill_enableRef> domPolygon_offset_fill_enable_Array;
   5348 
   5349 	class domPolygon_offset_fill_enable : public daeElement
   5350 	{
   5351 	public:
   5352 		virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::POLYGON_OFFSET_FILL_ENABLE; }
   5353 		static daeInt ID() { return 565; }
   5354 		virtual daeInt typeID() const { return ID(); }
   5355 	protected:  // Attributes
   5356 		domBool attrValue;
   5357 		xsNCName attrParam;
   5358 
   5359 
   5360 	public:	//Accessors and Mutators
   5361 		/**
   5362 		 * Gets the value attribute.
   5363 		 * @return Returns a domBool of the value attribute.
   5364 		 */
   5365 		domBool getValue() const { return attrValue; }
   5366 		/**
   5367 		 * Sets the value attribute.
   5368 		 * @param atValue The new value for the value attribute.
   5369 		 */
   5370 		void setValue( domBool atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
   5371 
   5372 		/**
   5373 		 * Gets the param attribute.
   5374 		 * @return Returns a xsNCName of the param attribute.
   5375 		 */
   5376 		xsNCName getParam() const { return attrParam; }
   5377 		/**
   5378 		 * Sets the param attribute.
   5379 		 * @param atParam The new value for the param attribute.
   5380 		 */
   5381 		void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
   5382 
   5383 	protected:
   5384 		/**
   5385 		 * Constructor
   5386 		 */
   5387 		domPolygon_offset_fill_enable(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
   5388 		/**
   5389 		 * Destructor
   5390 		 */
   5391 		virtual ~domPolygon_offset_fill_enable() {}
   5392 		/**
   5393 		 * Overloaded assignment operator
   5394 		 */
   5395 		virtual domPolygon_offset_fill_enable &operator=( const domPolygon_offset_fill_enable &cpy ) { (void)cpy; return *this; }
   5396 
   5397 	public: // STATIC METHODS
   5398 		/**
   5399 		 * Creates an instance of this class and returns a daeElementRef referencing it.
   5400 		 * @return a daeElementRef referencing an instance of this object.
   5401 		 */
   5402 		static DLLSPEC daeElementRef create(DAE& dae);
   5403 		/**
   5404 		 * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
   5405 		 * If a daeMetaElement already exists it will return that instead of creating a new one.
   5406 		 * @return A daeMetaElement describing this COLLADA element.
   5407 		 */
   5408 		static DLLSPEC daeMetaElement* registerElement(DAE& dae);
   5409 	};
   5410 
   5411 	class domRescale_normal_enable;
   5412 
   5413 	typedef daeSmartRef<domRescale_normal_enable> domRescale_normal_enableRef;
   5414 	typedef daeTArray<domRescale_normal_enableRef> domRescale_normal_enable_Array;
   5415 
   5416 	class domRescale_normal_enable : public daeElement
   5417 	{
   5418 	public:
   5419 		virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::RESCALE_NORMAL_ENABLE; }
   5420 		static daeInt ID() { return 566; }
   5421 		virtual daeInt typeID() const { return ID(); }
   5422 	protected:  // Attributes
   5423 		domBool attrValue;
   5424 		xsNCName attrParam;
   5425 
   5426 
   5427 	public:	//Accessors and Mutators
   5428 		/**
   5429 		 * Gets the value attribute.
   5430 		 * @return Returns a domBool of the value attribute.
   5431 		 */
   5432 		domBool getValue() const { return attrValue; }
   5433 		/**
   5434 		 * Sets the value attribute.
   5435 		 * @param atValue The new value for the value attribute.
   5436 		 */
   5437 		void setValue( domBool atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
   5438 
   5439 		/**
   5440 		 * Gets the param attribute.
   5441 		 * @return Returns a xsNCName of the param attribute.
   5442 		 */
   5443 		xsNCName getParam() const { return attrParam; }
   5444 		/**
   5445 		 * Sets the param attribute.
   5446 		 * @param atParam The new value for the param attribute.
   5447 		 */
   5448 		void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
   5449 
   5450 	protected:
   5451 		/**
   5452 		 * Constructor
   5453 		 */
   5454 		domRescale_normal_enable(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
   5455 		/**
   5456 		 * Destructor
   5457 		 */
   5458 		virtual ~domRescale_normal_enable() {}
   5459 		/**
   5460 		 * Overloaded assignment operator
   5461 		 */
   5462 		virtual domRescale_normal_enable &operator=( const domRescale_normal_enable &cpy ) { (void)cpy; return *this; }
   5463 
   5464 	public: // STATIC METHODS
   5465 		/**
   5466 		 * Creates an instance of this class and returns a daeElementRef referencing it.
   5467 		 * @return a daeElementRef referencing an instance of this object.
   5468 		 */
   5469 		static DLLSPEC daeElementRef create(DAE& dae);
   5470 		/**
   5471 		 * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
   5472 		 * If a daeMetaElement already exists it will return that instead of creating a new one.
   5473 		 * @return A daeMetaElement describing this COLLADA element.
   5474 		 */
   5475 		static DLLSPEC daeMetaElement* registerElement(DAE& dae);
   5476 	};
   5477 
   5478 	class domSample_alpha_to_coverage_enable;
   5479 
   5480 	typedef daeSmartRef<domSample_alpha_to_coverage_enable> domSample_alpha_to_coverage_enableRef;
   5481 	typedef daeTArray<domSample_alpha_to_coverage_enableRef> domSample_alpha_to_coverage_enable_Array;
   5482 
   5483 	class domSample_alpha_to_coverage_enable : public daeElement
   5484 	{
   5485 	public:
   5486 		virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::SAMPLE_ALPHA_TO_COVERAGE_ENABLE; }
   5487 		static daeInt ID() { return 567; }
   5488 		virtual daeInt typeID() const { return ID(); }
   5489 	protected:  // Attributes
   5490 		domBool attrValue;
   5491 		xsNCName attrParam;
   5492 
   5493 
   5494 	public:	//Accessors and Mutators
   5495 		/**
   5496 		 * Gets the value attribute.
   5497 		 * @return Returns a domBool of the value attribute.
   5498 		 */
   5499 		domBool getValue() const { return attrValue; }
   5500 		/**
   5501 		 * Sets the value attribute.
   5502 		 * @param atValue The new value for the value attribute.
   5503 		 */
   5504 		void setValue( domBool atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
   5505 
   5506 		/**
   5507 		 * Gets the param attribute.
   5508 		 * @return Returns a xsNCName of the param attribute.
   5509 		 */
   5510 		xsNCName getParam() const { return attrParam; }
   5511 		/**
   5512 		 * Sets the param attribute.
   5513 		 * @param atParam The new value for the param attribute.
   5514 		 */
   5515 		void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
   5516 
   5517 	protected:
   5518 		/**
   5519 		 * Constructor
   5520 		 */
   5521 		domSample_alpha_to_coverage_enable(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
   5522 		/**
   5523 		 * Destructor
   5524 		 */
   5525 		virtual ~domSample_alpha_to_coverage_enable() {}
   5526 		/**
   5527 		 * Overloaded assignment operator
   5528 		 */
   5529 		virtual domSample_alpha_to_coverage_enable &operator=( const domSample_alpha_to_coverage_enable &cpy ) { (void)cpy; return *this; }
   5530 
   5531 	public: // STATIC METHODS
   5532 		/**
   5533 		 * Creates an instance of this class and returns a daeElementRef referencing it.
   5534 		 * @return a daeElementRef referencing an instance of this object.
   5535 		 */
   5536 		static DLLSPEC daeElementRef create(DAE& dae);
   5537 		/**
   5538 		 * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
   5539 		 * If a daeMetaElement already exists it will return that instead of creating a new one.
   5540 		 * @return A daeMetaElement describing this COLLADA element.
   5541 		 */
   5542 		static DLLSPEC daeMetaElement* registerElement(DAE& dae);
   5543 	};
   5544 
   5545 	class domSample_alpha_to_one_enable;
   5546 
   5547 	typedef daeSmartRef<domSample_alpha_to_one_enable> domSample_alpha_to_one_enableRef;
   5548 	typedef daeTArray<domSample_alpha_to_one_enableRef> domSample_alpha_to_one_enable_Array;
   5549 
   5550 	class domSample_alpha_to_one_enable : public daeElement
   5551 	{
   5552 	public:
   5553 		virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::SAMPLE_ALPHA_TO_ONE_ENABLE; }
   5554 		static daeInt ID() { return 568; }
   5555 		virtual daeInt typeID() const { return ID(); }
   5556 	protected:  // Attributes
   5557 		domBool attrValue;
   5558 		xsNCName attrParam;
   5559 
   5560 
   5561 	public:	//Accessors and Mutators
   5562 		/**
   5563 		 * Gets the value attribute.
   5564 		 * @return Returns a domBool of the value attribute.
   5565 		 */
   5566 		domBool getValue() const { return attrValue; }
   5567 		/**
   5568 		 * Sets the value attribute.
   5569 		 * @param atValue The new value for the value attribute.
   5570 		 */
   5571 		void setValue( domBool atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
   5572 
   5573 		/**
   5574 		 * Gets the param attribute.
   5575 		 * @return Returns a xsNCName of the param attribute.
   5576 		 */
   5577 		xsNCName getParam() const { return attrParam; }
   5578 		/**
   5579 		 * Sets the param attribute.
   5580 		 * @param atParam The new value for the param attribute.
   5581 		 */
   5582 		void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
   5583 
   5584 	protected:
   5585 		/**
   5586 		 * Constructor
   5587 		 */
   5588 		domSample_alpha_to_one_enable(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
   5589 		/**
   5590 		 * Destructor
   5591 		 */
   5592 		virtual ~domSample_alpha_to_one_enable() {}
   5593 		/**
   5594 		 * Overloaded assignment operator
   5595 		 */
   5596 		virtual domSample_alpha_to_one_enable &operator=( const domSample_alpha_to_one_enable &cpy ) { (void)cpy; return *this; }
   5597 
   5598 	public: // STATIC METHODS
   5599 		/**
   5600 		 * Creates an instance of this class and returns a daeElementRef referencing it.
   5601 		 * @return a daeElementRef referencing an instance of this object.
   5602 		 */
   5603 		static DLLSPEC daeElementRef create(DAE& dae);
   5604 		/**
   5605 		 * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
   5606 		 * If a daeMetaElement already exists it will return that instead of creating a new one.
   5607 		 * @return A daeMetaElement describing this COLLADA element.
   5608 		 */
   5609 		static DLLSPEC daeMetaElement* registerElement(DAE& dae);
   5610 	};
   5611 
   5612 	class domSample_coverage_enable;
   5613 
   5614 	typedef daeSmartRef<domSample_coverage_enable> domSample_coverage_enableRef;
   5615 	typedef daeTArray<domSample_coverage_enableRef> domSample_coverage_enable_Array;
   5616 
   5617 	class domSample_coverage_enable : public daeElement
   5618 	{
   5619 	public:
   5620 		virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::SAMPLE_COVERAGE_ENABLE; }
   5621 		static daeInt ID() { return 569; }
   5622 		virtual daeInt typeID() const { return ID(); }
   5623 	protected:  // Attributes
   5624 		domBool attrValue;
   5625 		xsNCName attrParam;
   5626 
   5627 
   5628 	public:	//Accessors and Mutators
   5629 		/**
   5630 		 * Gets the value attribute.
   5631 		 * @return Returns a domBool of the value attribute.
   5632 		 */
   5633 		domBool getValue() const { return attrValue; }
   5634 		/**
   5635 		 * Sets the value attribute.
   5636 		 * @param atValue The new value for the value attribute.
   5637 		 */
   5638 		void setValue( domBool atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
   5639 
   5640 		/**
   5641 		 * Gets the param attribute.
   5642 		 * @return Returns a xsNCName of the param attribute.
   5643 		 */
   5644 		xsNCName getParam() const { return attrParam; }
   5645 		/**
   5646 		 * Sets the param attribute.
   5647 		 * @param atParam The new value for the param attribute.
   5648 		 */
   5649 		void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
   5650 
   5651 	protected:
   5652 		/**
   5653 		 * Constructor
   5654 		 */
   5655 		domSample_coverage_enable(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
   5656 		/**
   5657 		 * Destructor
   5658 		 */
   5659 		virtual ~domSample_coverage_enable() {}
   5660 		/**
   5661 		 * Overloaded assignment operator
   5662 		 */
   5663 		virtual domSample_coverage_enable &operator=( const domSample_coverage_enable &cpy ) { (void)cpy; return *this; }
   5664 
   5665 	public: // STATIC METHODS
   5666 		/**
   5667 		 * Creates an instance of this class and returns a daeElementRef referencing it.
   5668 		 * @return a daeElementRef referencing an instance of this object.
   5669 		 */
   5670 		static DLLSPEC daeElementRef create(DAE& dae);
   5671 		/**
   5672 		 * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
   5673 		 * If a daeMetaElement already exists it will return that instead of creating a new one.
   5674 		 * @return A daeMetaElement describing this COLLADA element.
   5675 		 */
   5676 		static DLLSPEC daeMetaElement* registerElement(DAE& dae);
   5677 	};
   5678 
   5679 	class domScissor_test_enable;
   5680 
   5681 	typedef daeSmartRef<domScissor_test_enable> domScissor_test_enableRef;
   5682 	typedef daeTArray<domScissor_test_enableRef> domScissor_test_enable_Array;
   5683 
   5684 	class domScissor_test_enable : public daeElement
   5685 	{
   5686 	public:
   5687 		virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::SCISSOR_TEST_ENABLE; }
   5688 		static daeInt ID() { return 570; }
   5689 		virtual daeInt typeID() const { return ID(); }
   5690 	protected:  // Attributes
   5691 		domBool attrValue;
   5692 		xsNCName attrParam;
   5693 
   5694 
   5695 	public:	//Accessors and Mutators
   5696 		/**
   5697 		 * Gets the value attribute.
   5698 		 * @return Returns a domBool of the value attribute.
   5699 		 */
   5700 		domBool getValue() const { return attrValue; }
   5701 		/**
   5702 		 * Sets the value attribute.
   5703 		 * @param atValue The new value for the value attribute.
   5704 		 */
   5705 		void setValue( domBool atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
   5706 
   5707 		/**
   5708 		 * Gets the param attribute.
   5709 		 * @return Returns a xsNCName of the param attribute.
   5710 		 */
   5711 		xsNCName getParam() const { return attrParam; }
   5712 		/**
   5713 		 * Sets the param attribute.
   5714 		 * @param atParam The new value for the param attribute.
   5715 		 */
   5716 		void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
   5717 
   5718 	protected:
   5719 		/**
   5720 		 * Constructor
   5721 		 */
   5722 		domScissor_test_enable(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
   5723 		/**
   5724 		 * Destructor
   5725 		 */
   5726 		virtual ~domScissor_test_enable() {}
   5727 		/**
   5728 		 * Overloaded assignment operator
   5729 		 */
   5730 		virtual domScissor_test_enable &operator=( const domScissor_test_enable &cpy ) { (void)cpy; return *this; }
   5731 
   5732 	public: // STATIC METHODS
   5733 		/**
   5734 		 * Creates an instance of this class and returns a daeElementRef referencing it.
   5735 		 * @return a daeElementRef referencing an instance of this object.
   5736 		 */
   5737 		static DLLSPEC daeElementRef create(DAE& dae);
   5738 		/**
   5739 		 * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
   5740 		 * If a daeMetaElement already exists it will return that instead of creating a new one.
   5741 		 * @return A daeMetaElement describing this COLLADA element.
   5742 		 */
   5743 		static DLLSPEC daeMetaElement* registerElement(DAE& dae);
   5744 	};
   5745 
   5746 	class domStencil_test_enable;
   5747 
   5748 	typedef daeSmartRef<domStencil_test_enable> domStencil_test_enableRef;
   5749 	typedef daeTArray<domStencil_test_enableRef> domStencil_test_enable_Array;
   5750 
   5751 	class domStencil_test_enable : public daeElement
   5752 	{
   5753 	public:
   5754 		virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::STENCIL_TEST_ENABLE; }
   5755 		static daeInt ID() { return 571; }
   5756 		virtual daeInt typeID() const { return ID(); }
   5757 	protected:  // Attributes
   5758 		domBool attrValue;
   5759 		xsNCName attrParam;
   5760 
   5761 
   5762 	public:	//Accessors and Mutators
   5763 		/**
   5764 		 * Gets the value attribute.
   5765 		 * @return Returns a domBool of the value attribute.
   5766 		 */
   5767 		domBool getValue() const { return attrValue; }
   5768 		/**
   5769 		 * Sets the value attribute.
   5770 		 * @param atValue The new value for the value attribute.
   5771 		 */
   5772 		void setValue( domBool atValue ) { attrValue = atValue; _validAttributeArray[0] = true; }
   5773 
   5774 		/**
   5775 		 * Gets the param attribute.
   5776 		 * @return Returns a xsNCName of the param attribute.
   5777 		 */
   5778 		xsNCName getParam() const { return attrParam; }
   5779 		/**
   5780 		 * Sets the param attribute.
   5781 		 * @param atParam The new value for the param attribute.
   5782 		 */
   5783 		void setParam( xsNCName atParam ) { *(daeStringRef*)&attrParam = atParam; _validAttributeArray[1] = true; }
   5784 
   5785 	protected:
   5786 		/**
   5787 		 * Constructor
   5788 		 */
   5789 		domStencil_test_enable(DAE& dae) : daeElement(dae), attrValue(), attrParam() {}
   5790 		/**
   5791 		 * Destructor
   5792 		 */
   5793 		virtual ~domStencil_test_enable() {}
   5794 		/**
   5795 		 * Overloaded assignment operator
   5796 		 */
   5797 		virtual domStencil_test_enable &operator=( const domStencil_test_enable &cpy ) { (void)cpy; return *this; }
   5798 
   5799 	public: // STATIC METHODS
   5800 		/**
   5801 		 * Creates an instance of this class and returns a daeElementRef referencing it.
   5802 		 * @return a daeElementRef referencing an instance of this object.
   5803 		 */
   5804 		static DLLSPEC daeElementRef create(DAE& dae);
   5805 		/**
   5806 		 * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
   5807 		 * If a daeMetaElement already exists it will return that instead of creating a new one.
   5808 		 * @return A daeMetaElement describing this COLLADA element.
   5809 		 */
   5810 		static DLLSPEC daeMetaElement* registerElement(DAE& dae);
   5811 	};
   5812 
   5813 
   5814 
   5815 protected:  // Elements
   5816 	domAlpha_funcRef elemAlpha_func;
   5817 	domBlend_funcRef elemBlend_func;
   5818 	domClear_colorRef elemClear_color;
   5819 	domClear_stencilRef elemClear_stencil;
   5820 	domClear_depthRef elemClear_depth;
   5821 	domClip_planeRef elemClip_plane;
   5822 	domColor_maskRef elemColor_mask;
   5823 	domCull_faceRef elemCull_face;
   5824 	domDepth_funcRef elemDepth_func;
   5825 	domDepth_maskRef elemDepth_mask;
   5826 	domDepth_rangeRef elemDepth_range;
   5827 	domFog_colorRef elemFog_color;
   5828 	domFog_densityRef elemFog_density;
   5829 	domFog_modeRef elemFog_mode;
   5830 	domFog_startRef elemFog_start;
   5831 	domFog_endRef elemFog_end;
   5832 	domFront_faceRef elemFront_face;
   5833 	domTexture_pipelineRef elemTexture_pipeline;
   5834 	domLogic_opRef elemLogic_op;
   5835 	domLight_ambientRef elemLight_ambient;
   5836 	domLight_diffuseRef elemLight_diffuse;
   5837 	domLight_specularRef elemLight_specular;
   5838 	domLight_positionRef elemLight_position;
   5839 	domLight_constant_attenuationRef elemLight_constant_attenuation;
   5840 	domLight_linear_attenutationRef elemLight_linear_attenutation;
   5841 	domLight_quadratic_attenuationRef elemLight_quadratic_attenuation;
   5842 	domLight_spot_cutoffRef elemLight_spot_cutoff;
   5843 	domLight_spot_directionRef elemLight_spot_direction;
   5844 	domLight_spot_exponentRef elemLight_spot_exponent;
   5845 	domLight_model_ambientRef elemLight_model_ambient;
   5846 	domLine_widthRef elemLine_width;
   5847 	domMaterial_ambientRef elemMaterial_ambient;
   5848 	domMaterial_diffuseRef elemMaterial_diffuse;
   5849 	domMaterial_emissionRef elemMaterial_emission;
   5850 	domMaterial_shininessRef elemMaterial_shininess;
   5851 	domMaterial_specularRef elemMaterial_specular;
   5852 	domModel_view_matrixRef elemModel_view_matrix;
   5853 	domPoint_distance_attenuationRef elemPoint_distance_attenuation;
   5854 	domPoint_fade_threshold_sizeRef elemPoint_fade_threshold_size;
   5855 	domPoint_sizeRef elemPoint_size;
   5856 	domPoint_size_minRef elemPoint_size_min;
   5857 	domPoint_size_maxRef elemPoint_size_max;
   5858 	domPolygon_offsetRef elemPolygon_offset;
   5859 	domProjection_matrixRef elemProjection_matrix;
   5860 	domScissorRef elemScissor;
   5861 	domShade_modelRef elemShade_model;
   5862 	domStencil_funcRef elemStencil_func;
   5863 	domStencil_maskRef elemStencil_mask;
   5864 	domStencil_opRef elemStencil_op;
   5865 	domAlpha_test_enableRef elemAlpha_test_enable;
   5866 	domBlend_enableRef elemBlend_enable;
   5867 	domClip_plane_enableRef elemClip_plane_enable;
   5868 	domColor_logic_op_enableRef elemColor_logic_op_enable;
   5869 	domColor_material_enableRef elemColor_material_enable;
   5870 	domCull_face_enableRef elemCull_face_enable;
   5871 	domDepth_test_enableRef elemDepth_test_enable;
   5872 	domDither_enableRef elemDither_enable;
   5873 	domFog_enableRef elemFog_enable;
   5874 	domTexture_pipeline_enableRef elemTexture_pipeline_enable;
   5875 	domLight_enableRef elemLight_enable;
   5876 	domLighting_enableRef elemLighting_enable;
   5877 	domLight_model_two_side_enableRef elemLight_model_two_side_enable;
   5878 	domLine_smooth_enableRef elemLine_smooth_enable;
   5879 	domMultisample_enableRef elemMultisample_enable;
   5880 	domNormalize_enableRef elemNormalize_enable;
   5881 	domPoint_smooth_enableRef elemPoint_smooth_enable;
   5882 	domPolygon_offset_fill_enableRef elemPolygon_offset_fill_enable;
   5883 	domRescale_normal_enableRef elemRescale_normal_enable;
   5884 	domSample_alpha_to_coverage_enableRef elemSample_alpha_to_coverage_enable;
   5885 	domSample_alpha_to_one_enableRef elemSample_alpha_to_one_enable;
   5886 	domSample_coverage_enableRef elemSample_coverage_enable;
   5887 	domScissor_test_enableRef elemScissor_test_enable;
   5888 	domStencil_test_enableRef elemStencil_test_enable;
   5889 	/**
   5890 	 * Used to preserve order in elements that do not specify strict sequencing of sub-elements.
   5891 	 */
   5892 	daeElementRefArray _contents;
   5893 	/**
   5894 	 * Used to preserve order in elements that have a complex content model.
   5895 	 */
   5896 	daeUIntArray       _contentsOrder;
   5897 
   5898 	/**
   5899 	 * Used to store information needed for some content model objects.
   5900 	 */
   5901 	daeTArray< daeCharArray * > _CMData;
   5902 
   5903 
   5904 public:	//Accessors and Mutators
   5905 	/**
   5906 	 * Gets the alpha_func element.
   5907 	 * @return a daeSmartRef to the alpha_func element.
   5908 	 */
   5909 	const domAlpha_funcRef getAlpha_func() const { return elemAlpha_func; }
   5910 	/**
   5911 	 * Gets the blend_func element.
   5912 	 * @return a daeSmartRef to the blend_func element.
   5913 	 */
   5914 	const domBlend_funcRef getBlend_func() const { return elemBlend_func; }
   5915 	/**
   5916 	 * Gets the clear_color element.
   5917 	 * @return a daeSmartRef to the clear_color element.
   5918 	 */
   5919 	const domClear_colorRef getClear_color() const { return elemClear_color; }
   5920 	/**
   5921 	 * Gets the clear_stencil element.
   5922 	 * @return a daeSmartRef to the clear_stencil element.
   5923 	 */
   5924 	const domClear_stencilRef getClear_stencil() const { return elemClear_stencil; }
   5925 	/**
   5926 	 * Gets the clear_depth element.
   5927 	 * @return a daeSmartRef to the clear_depth element.
   5928 	 */
   5929 	const domClear_depthRef getClear_depth() const { return elemClear_depth; }
   5930 	/**
   5931 	 * Gets the clip_plane element.
   5932 	 * @return a daeSmartRef to the clip_plane element.
   5933 	 */
   5934 	const domClip_planeRef getClip_plane() const { return elemClip_plane; }
   5935 	/**
   5936 	 * Gets the color_mask element.
   5937 	 * @return a daeSmartRef to the color_mask element.
   5938 	 */
   5939 	const domColor_maskRef getColor_mask() const { return elemColor_mask; }
   5940 	/**
   5941 	 * Gets the cull_face element.
   5942 	 * @return a daeSmartRef to the cull_face element.
   5943 	 */
   5944 	const domCull_faceRef getCull_face() const { return elemCull_face; }
   5945 	/**
   5946 	 * Gets the depth_func element.
   5947 	 * @return a daeSmartRef to the depth_func element.
   5948 	 */
   5949 	const domDepth_funcRef getDepth_func() const { return elemDepth_func; }
   5950 	/**
   5951 	 * Gets the depth_mask element.
   5952 	 * @return a daeSmartRef to the depth_mask element.
   5953 	 */
   5954 	const domDepth_maskRef getDepth_mask() const { return elemDepth_mask; }
   5955 	/**
   5956 	 * Gets the depth_range element.
   5957 	 * @return a daeSmartRef to the depth_range element.
   5958 	 */
   5959 	const domDepth_rangeRef getDepth_range() const { return elemDepth_range; }
   5960 	/**
   5961 	 * Gets the fog_color element.
   5962 	 * @return a daeSmartRef to the fog_color element.
   5963 	 */
   5964 	const domFog_colorRef getFog_color() const { return elemFog_color; }
   5965 	/**
   5966 	 * Gets the fog_density element.
   5967 	 * @return a daeSmartRef to the fog_density element.
   5968 	 */
   5969 	const domFog_densityRef getFog_density() const { return elemFog_density; }
   5970 	/**
   5971 	 * Gets the fog_mode element.
   5972 	 * @return a daeSmartRef to the fog_mode element.
   5973 	 */
   5974 	const domFog_modeRef getFog_mode() const { return elemFog_mode; }
   5975 	/**
   5976 	 * Gets the fog_start element.
   5977 	 * @return a daeSmartRef to the fog_start element.
   5978 	 */
   5979 	const domFog_startRef getFog_start() const { return elemFog_start; }
   5980 	/**
   5981 	 * Gets the fog_end element.
   5982 	 * @return a daeSmartRef to the fog_end element.
   5983 	 */
   5984 	const domFog_endRef getFog_end() const { return elemFog_end; }
   5985 	/**
   5986 	 * Gets the front_face element.
   5987 	 * @return a daeSmartRef to the front_face element.
   5988 	 */
   5989 	const domFront_faceRef getFront_face() const { return elemFront_face; }
   5990 	/**
   5991 	 * Gets the texture_pipeline element.
   5992 	 * @return a daeSmartRef to the texture_pipeline element.
   5993 	 */
   5994 	const domTexture_pipelineRef getTexture_pipeline() const { return elemTexture_pipeline; }
   5995 	/**
   5996 	 * Gets the logic_op element.
   5997 	 * @return a daeSmartRef to the logic_op element.
   5998 	 */
   5999 	const domLogic_opRef getLogic_op() const { return elemLogic_op; }
   6000 	/**
   6001 	 * Gets the light_ambient element.
   6002 	 * @return a daeSmartRef to the light_ambient element.
   6003 	 */
   6004 	const domLight_ambientRef getLight_ambient() const { return elemLight_ambient; }
   6005 	/**
   6006 	 * Gets the light_diffuse element.
   6007 	 * @return a daeSmartRef to the light_diffuse element.
   6008 	 */
   6009 	const domLight_diffuseRef getLight_diffuse() const { return elemLight_diffuse; }
   6010 	/**
   6011 	 * Gets the light_specular element.
   6012 	 * @return a daeSmartRef to the light_specular element.
   6013 	 */
   6014 	const domLight_specularRef getLight_specular() const { return elemLight_specular; }
   6015 	/**
   6016 	 * Gets the light_position element.
   6017 	 * @return a daeSmartRef to the light_position element.
   6018 	 */
   6019 	const domLight_positionRef getLight_position() const { return elemLight_position; }
   6020 	/**
   6021 	 * Gets the light_constant_attenuation element.
   6022 	 * @return a daeSmartRef to the light_constant_attenuation element.
   6023 	 */
   6024 	const domLight_constant_attenuationRef getLight_constant_attenuation() const { return elemLight_constant_attenuation; }
   6025 	/**
   6026 	 * Gets the light_linear_attenutation element.
   6027 	 * @return a daeSmartRef to the light_linear_attenutation element.
   6028 	 */
   6029 	const domLight_linear_attenutationRef getLight_linear_attenutation() const { return elemLight_linear_attenutation; }
   6030 	/**
   6031 	 * Gets the light_quadratic_attenuation element.
   6032 	 * @return a daeSmartRef to the light_quadratic_attenuation element.
   6033 	 */
   6034 	const domLight_quadratic_attenuationRef getLight_quadratic_attenuation() const { return elemLight_quadratic_attenuation; }
   6035 	/**
   6036 	 * Gets the light_spot_cutoff element.
   6037 	 * @return a daeSmartRef to the light_spot_cutoff element.
   6038 	 */
   6039 	const domLight_spot_cutoffRef getLight_spot_cutoff() const { return elemLight_spot_cutoff; }
   6040 	/**
   6041 	 * Gets the light_spot_direction element.
   6042 	 * @return a daeSmartRef to the light_spot_direction element.
   6043 	 */
   6044 	const domLight_spot_directionRef getLight_spot_direction() const { return elemLight_spot_direction; }
   6045 	/**
   6046 	 * Gets the light_spot_exponent element.
   6047 	 * @return a daeSmartRef to the light_spot_exponent element.
   6048 	 */
   6049 	const domLight_spot_exponentRef getLight_spot_exponent() const { return elemLight_spot_exponent; }
   6050 	/**
   6051 	 * Gets the light_model_ambient element.
   6052 	 * @return a daeSmartRef to the light_model_ambient element.
   6053 	 */
   6054 	const domLight_model_ambientRef getLight_model_ambient() const { return elemLight_model_ambient; }
   6055 	/**
   6056 	 * Gets the line_width element.
   6057 	 * @return a daeSmartRef to the line_width element.
   6058 	 */
   6059 	const domLine_widthRef getLine_width() const { return elemLine_width; }
   6060 	/**
   6061 	 * Gets the material_ambient element.
   6062 	 * @return a daeSmartRef to the material_ambient element.
   6063 	 */
   6064 	const domMaterial_ambientRef getMaterial_ambient() const { return elemMaterial_ambient; }
   6065 	/**
   6066 	 * Gets the material_diffuse element.
   6067 	 * @return a daeSmartRef to the material_diffuse element.
   6068 	 */
   6069 	const domMaterial_diffuseRef getMaterial_diffuse() const { return elemMaterial_diffuse; }
   6070 	/**
   6071 	 * Gets the material_emission element.
   6072 	 * @return a daeSmartRef to the material_emission element.
   6073 	 */
   6074 	const domMaterial_emissionRef getMaterial_emission() const { return elemMaterial_emission; }
   6075 	/**
   6076 	 * Gets the material_shininess element.
   6077 	 * @return a daeSmartRef to the material_shininess element.
   6078 	 */
   6079 	const domMaterial_shininessRef getMaterial_shininess() const { return elemMaterial_shininess; }
   6080 	/**
   6081 	 * Gets the material_specular element.
   6082 	 * @return a daeSmartRef to the material_specular element.
   6083 	 */
   6084 	const domMaterial_specularRef getMaterial_specular() const { return elemMaterial_specular; }
   6085 	/**
   6086 	 * Gets the model_view_matrix element.
   6087 	 * @return a daeSmartRef to the model_view_matrix element.
   6088 	 */
   6089 	const domModel_view_matrixRef getModel_view_matrix() const { return elemModel_view_matrix; }
   6090 	/**
   6091 	 * Gets the point_distance_attenuation element.
   6092 	 * @return a daeSmartRef to the point_distance_attenuation element.
   6093 	 */
   6094 	const domPoint_distance_attenuationRef getPoint_distance_attenuation() const { return elemPoint_distance_attenuation; }
   6095 	/**
   6096 	 * Gets the point_fade_threshold_size element.
   6097 	 * @return a daeSmartRef to the point_fade_threshold_size element.
   6098 	 */
   6099 	const domPoint_fade_threshold_sizeRef getPoint_fade_threshold_size() const { return elemPoint_fade_threshold_size; }
   6100 	/**
   6101 	 * Gets the point_size element.
   6102 	 * @return a daeSmartRef to the point_size element.
   6103 	 */
   6104 	const domPoint_sizeRef getPoint_size() const { return elemPoint_size; }
   6105 	/**
   6106 	 * Gets the point_size_min element.
   6107 	 * @return a daeSmartRef to the point_size_min element.
   6108 	 */
   6109 	const domPoint_size_minRef getPoint_size_min() const { return elemPoint_size_min; }
   6110 	/**
   6111 	 * Gets the point_size_max element.
   6112 	 * @return a daeSmartRef to the point_size_max element.
   6113 	 */
   6114 	const domPoint_size_maxRef getPoint_size_max() const { return elemPoint_size_max; }
   6115 	/**
   6116 	 * Gets the polygon_offset element.
   6117 	 * @return a daeSmartRef to the polygon_offset element.
   6118 	 */
   6119 	const domPolygon_offsetRef getPolygon_offset() const { return elemPolygon_offset; }
   6120 	/**
   6121 	 * Gets the projection_matrix element.
   6122 	 * @return a daeSmartRef to the projection_matrix element.
   6123 	 */
   6124 	const domProjection_matrixRef getProjection_matrix() const { return elemProjection_matrix; }
   6125 	/**
   6126 	 * Gets the scissor element.
   6127 	 * @return a daeSmartRef to the scissor element.
   6128 	 */
   6129 	const domScissorRef getScissor() const { return elemScissor; }
   6130 	/**
   6131 	 * Gets the shade_model element.
   6132 	 * @return a daeSmartRef to the shade_model element.
   6133 	 */
   6134 	const domShade_modelRef getShade_model() const { return elemShade_model; }
   6135 	/**
   6136 	 * Gets the stencil_func element.
   6137 	 * @return a daeSmartRef to the stencil_func element.
   6138 	 */
   6139 	const domStencil_funcRef getStencil_func() const { return elemStencil_func; }
   6140 	/**
   6141 	 * Gets the stencil_mask element.
   6142 	 * @return a daeSmartRef to the stencil_mask element.
   6143 	 */
   6144 	const domStencil_maskRef getStencil_mask() const { return elemStencil_mask; }
   6145 	/**
   6146 	 * Gets the stencil_op element.
   6147 	 * @return a daeSmartRef to the stencil_op element.
   6148 	 */
   6149 	const domStencil_opRef getStencil_op() const { return elemStencil_op; }
   6150 	/**
   6151 	 * Gets the alpha_test_enable element.
   6152 	 * @return a daeSmartRef to the alpha_test_enable element.
   6153 	 */
   6154 	const domAlpha_test_enableRef getAlpha_test_enable() const { return elemAlpha_test_enable; }
   6155 	/**
   6156 	 * Gets the blend_enable element.
   6157 	 * @return a daeSmartRef to the blend_enable element.
   6158 	 */
   6159 	const domBlend_enableRef getBlend_enable() const { return elemBlend_enable; }
   6160 	/**
   6161 	 * Gets the clip_plane_enable element.
   6162 	 * @return a daeSmartRef to the clip_plane_enable element.
   6163 	 */
   6164 	const domClip_plane_enableRef getClip_plane_enable() const { return elemClip_plane_enable; }
   6165 	/**
   6166 	 * Gets the color_logic_op_enable element.
   6167 	 * @return a daeSmartRef to the color_logic_op_enable element.
   6168 	 */
   6169 	const domColor_logic_op_enableRef getColor_logic_op_enable() const { return elemColor_logic_op_enable; }
   6170 	/**
   6171 	 * Gets the color_material_enable element.
   6172 	 * @return a daeSmartRef to the color_material_enable element.
   6173 	 */
   6174 	const domColor_material_enableRef getColor_material_enable() const { return elemColor_material_enable; }
   6175 	/**
   6176 	 * Gets the cull_face_enable element.
   6177 	 * @return a daeSmartRef to the cull_face_enable element.
   6178 	 */
   6179 	const domCull_face_enableRef getCull_face_enable() const { return elemCull_face_enable; }
   6180 	/**
   6181 	 * Gets the depth_test_enable element.
   6182 	 * @return a daeSmartRef to the depth_test_enable element.
   6183 	 */
   6184 	const domDepth_test_enableRef getDepth_test_enable() const { return elemDepth_test_enable; }
   6185 	/**
   6186 	 * Gets the dither_enable element.
   6187 	 * @return a daeSmartRef to the dither_enable element.
   6188 	 */
   6189 	const domDither_enableRef getDither_enable() const { return elemDither_enable; }
   6190 	/**
   6191 	 * Gets the fog_enable element.
   6192 	 * @return a daeSmartRef to the fog_enable element.
   6193 	 */
   6194 	const domFog_enableRef getFog_enable() const { return elemFog_enable; }
   6195 	/**
   6196 	 * Gets the texture_pipeline_enable element.
   6197 	 * @return a daeSmartRef to the texture_pipeline_enable element.
   6198 	 */
   6199 	const domTexture_pipeline_enableRef getTexture_pipeline_enable() const { return elemTexture_pipeline_enable; }
   6200 	/**
   6201 	 * Gets the light_enable element.
   6202 	 * @return a daeSmartRef to the light_enable element.
   6203 	 */
   6204 	const domLight_enableRef getLight_enable() const { return elemLight_enable; }
   6205 	/**
   6206 	 * Gets the lighting_enable element.
   6207 	 * @return a daeSmartRef to the lighting_enable element.
   6208 	 */
   6209 	const domLighting_enableRef getLighting_enable() const { return elemLighting_enable; }
   6210 	/**
   6211 	 * Gets the light_model_two_side_enable element.
   6212 	 * @return a daeSmartRef to the light_model_two_side_enable element.
   6213 	 */
   6214 	const domLight_model_two_side_enableRef getLight_model_two_side_enable() const { return elemLight_model_two_side_enable; }
   6215 	/**
   6216 	 * Gets the line_smooth_enable element.
   6217 	 * @return a daeSmartRef to the line_smooth_enable element.
   6218 	 */
   6219 	const domLine_smooth_enableRef getLine_smooth_enable() const { return elemLine_smooth_enable; }
   6220 	/**
   6221 	 * Gets the multisample_enable element.
   6222 	 * @return a daeSmartRef to the multisample_enable element.
   6223 	 */
   6224 	const domMultisample_enableRef getMultisample_enable() const { return elemMultisample_enable; }
   6225 	/**
   6226 	 * Gets the normalize_enable element.
   6227 	 * @return a daeSmartRef to the normalize_enable element.
   6228 	 */
   6229 	const domNormalize_enableRef getNormalize_enable() const { return elemNormalize_enable; }
   6230 	/**
   6231 	 * Gets the point_smooth_enable element.
   6232 	 * @return a daeSmartRef to the point_smooth_enable element.
   6233 	 */
   6234 	const domPoint_smooth_enableRef getPoint_smooth_enable() const { return elemPoint_smooth_enable; }
   6235 	/**
   6236 	 * Gets the polygon_offset_fill_enable element.
   6237 	 * @return a daeSmartRef to the polygon_offset_fill_enable element.
   6238 	 */
   6239 	const domPolygon_offset_fill_enableRef getPolygon_offset_fill_enable() const { return elemPolygon_offset_fill_enable; }
   6240 	/**
   6241 	 * Gets the rescale_normal_enable element.
   6242 	 * @return a daeSmartRef to the rescale_normal_enable element.
   6243 	 */
   6244 	const domRescale_normal_enableRef getRescale_normal_enable() const { return elemRescale_normal_enable; }
   6245 	/**
   6246 	 * Gets the sample_alpha_to_coverage_enable element.
   6247 	 * @return a daeSmartRef to the sample_alpha_to_coverage_enable element.
   6248 	 */
   6249 	const domSample_alpha_to_coverage_enableRef getSample_alpha_to_coverage_enable() const { return elemSample_alpha_to_coverage_enable; }
   6250 	/**
   6251 	 * Gets the sample_alpha_to_one_enable element.
   6252 	 * @return a daeSmartRef to the sample_alpha_to_one_enable element.
   6253 	 */
   6254 	const domSample_alpha_to_one_enableRef getSample_alpha_to_one_enable() const { return elemSample_alpha_to_one_enable; }
   6255 	/**
   6256 	 * Gets the sample_coverage_enable element.
   6257 	 * @return a daeSmartRef to the sample_coverage_enable element.
   6258 	 */
   6259 	const domSample_coverage_enableRef getSample_coverage_enable() const { return elemSample_coverage_enable; }
   6260 	/**
   6261 	 * Gets the scissor_test_enable element.
   6262 	 * @return a daeSmartRef to the scissor_test_enable element.
   6263 	 */
   6264 	const domScissor_test_enableRef getScissor_test_enable() const { return elemScissor_test_enable; }
   6265 	/**
   6266 	 * Gets the stencil_test_enable element.
   6267 	 * @return a daeSmartRef to the stencil_test_enable element.
   6268 	 */
   6269 	const domStencil_test_enableRef getStencil_test_enable() const { return elemStencil_test_enable; }
   6270 	/**
   6271 	 * Gets the _contents array.
   6272 	 * @return Returns a reference to the _contents element array.
   6273 	 */
   6274 	daeElementRefArray &getContents() { return _contents; }
   6275 	/**
   6276 	 * Gets the _contents array.
   6277 	 * @return Returns a constant reference to the _contents element array.
   6278 	 */
   6279 	const daeElementRefArray &getContents() const { return _contents; }
   6280 
   6281 protected:
   6282 	/**
   6283 	 * Constructor
   6284 	 */
   6285 	domGles_pipeline_settings(DAE& dae) : daeElement(dae), elemAlpha_func(), elemBlend_func(), elemClear_color(), elemClear_stencil(), elemClear_depth(), elemClip_plane(), elemColor_mask(), elemCull_face(), elemDepth_func(), elemDepth_mask(), elemDepth_range(), elemFog_color(), elemFog_density(), elemFog_mode(), elemFog_start(), elemFog_end(), elemFront_face(), elemTexture_pipeline(), elemLogic_op(), elemLight_ambient(), elemLight_diffuse(), elemLight_specular(), elemLight_position(), elemLight_constant_attenuation(), elemLight_linear_attenutation(), elemLight_quadratic_attenuation(), elemLight_spot_cutoff(), elemLight_spot_direction(), elemLight_spot_exponent(), elemLight_model_ambient(), elemLine_width(), elemMaterial_ambient(), elemMaterial_diffuse(), elemMaterial_emission(), elemMaterial_shininess(), elemMaterial_specular(), elemModel_view_matrix(), elemPoint_distance_attenuation(), elemPoint_fade_threshold_size(), elemPoint_size(), elemPoint_size_min(), elemPoint_size_max(), elemPolygon_offset(), elemProjection_matrix(), elemScissor(), elemShade_model(), elemStencil_func(), elemStencil_mask(), elemStencil_op(), elemAlpha_test_enable(), elemBlend_enable(), elemClip_plane_enable(), elemColor_logic_op_enable(), elemColor_material_enable(), elemCull_face_enable(), elemDepth_test_enable(), elemDither_enable(), elemFog_enable(), elemTexture_pipeline_enable(), elemLight_enable(), elemLighting_enable(), elemLight_model_two_side_enable(), elemLine_smooth_enable(), elemMultisample_enable(), elemNormalize_enable(), elemPoint_smooth_enable(), elemPolygon_offset_fill_enable(), elemRescale_normal_enable(), elemSample_alpha_to_coverage_enable(), elemSample_alpha_to_one_enable(), elemSample_coverage_enable(), elemScissor_test_enable(), elemStencil_test_enable() {}
   6286 	/**
   6287 	 * Destructor
   6288 	 */
   6289 	virtual ~domGles_pipeline_settings() { daeElement::deleteCMDataArray(_CMData); }
   6290 	/**
   6291 	 * Overloaded assignment operator
   6292 	 */
   6293 	virtual domGles_pipeline_settings &operator=( const domGles_pipeline_settings &cpy ) { (void)cpy; return *this; }
   6294 
   6295 public: // STATIC METHODS
   6296 	/**
   6297 	 * Creates an instance of this class and returns a daeElementRef referencing it.
   6298 	 * @return a daeElementRef referencing an instance of this object.
   6299 	 */
   6300 	static DLLSPEC daeElementRef create(DAE& dae);
   6301 	/**
   6302 	 * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
   6303 	 * If a daeMetaElement already exists it will return that instead of creating a new one.
   6304 	 * @return A daeMetaElement describing this COLLADA element.
   6305 	 */
   6306 	static DLLSPEC daeMetaElement* registerElement(DAE& dae);
   6307 };
   6308 
   6309 
   6310 #endif
   6311