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 __domAsset_h__
     10 #define __domAsset_h__
     11 
     12 #include <dae/daeDocument.h>
     13 #include <dom/domTypes.h>
     14 #include <dom/domElements.h>
     15 
     16 class DAE;
     17 
     18 /**
     19  * The asset element defines asset management information regarding its parent
     20  * element.
     21  */
     22 class domAsset : public daeElement
     23 {
     24 public:
     25 	virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::ASSET; }
     26 	static daeInt ID() { return 664; }
     27 	virtual daeInt typeID() const { return ID(); }
     28 public:
     29 	class domContributor;
     30 
     31 	typedef daeSmartRef<domContributor> domContributorRef;
     32 	typedef daeTArray<domContributorRef> domContributor_Array;
     33 
     34 /**
     35  * The contributor element defines authoring information for asset management
     36  */
     37 	class domContributor : public daeElement
     38 	{
     39 	public:
     40 		virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::CONTRIBUTOR; }
     41 		static daeInt ID() { return 665; }
     42 		virtual daeInt typeID() const { return ID(); }
     43 	public:
     44 		class domAuthor;
     45 
     46 		typedef daeSmartRef<domAuthor> domAuthorRef;
     47 		typedef daeTArray<domAuthorRef> domAuthor_Array;
     48 
     49 /**
     50  * The author element contains a string with the author's name. There may
     51  * be only one author element.
     52  */
     53 		class domAuthor : public daeElement
     54 		{
     55 		public:
     56 			virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::AUTHOR; }
     57 			static daeInt ID() { return 666; }
     58 			virtual daeInt typeID() const { return ID(); }
     59 
     60 		protected:  // Value
     61 			/**
     62 			 * The xsString value of the text data of this element.
     63 			 */
     64 			xsString _value;
     65 
     66 		public:	//Accessors and Mutators
     67 			/**
     68 			 * Gets the value of this element.
     69 			 * @return Returns a xsString of the value.
     70 			 */
     71 			xsString getValue() const { return _value; }
     72 			/**
     73 			 * Sets the _value of this element.
     74 			 * @param val The new value for this element.
     75 			 */
     76 			void setValue( xsString val ) { *(daeStringRef*)&_value = val; }
     77 
     78 		protected:
     79 			/**
     80 			 * Constructor
     81 			 */
     82 			domAuthor(DAE& dae) : daeElement(dae), _value() {}
     83 			/**
     84 			 * Destructor
     85 			 */
     86 			virtual ~domAuthor() {}
     87 			/**
     88 			 * Overloaded assignment operator
     89 			 */
     90 			virtual domAuthor &operator=( const domAuthor &cpy ) { (void)cpy; return *this; }
     91 
     92 		public: // STATIC METHODS
     93 			/**
     94 			 * Creates an instance of this class and returns a daeElementRef referencing it.
     95 			 * @return a daeElementRef referencing an instance of this object.
     96 			 */
     97 			static DLLSPEC daeElementRef create(DAE& dae);
     98 			/**
     99 			 * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
    100 			 * If a daeMetaElement already exists it will return that instead of creating a new one.
    101 			 * @return A daeMetaElement describing this COLLADA element.
    102 			 */
    103 			static DLLSPEC daeMetaElement* registerElement(DAE& dae);
    104 		};
    105 
    106 		class domAuthoring_tool;
    107 
    108 		typedef daeSmartRef<domAuthoring_tool> domAuthoring_toolRef;
    109 		typedef daeTArray<domAuthoring_toolRef> domAuthoring_tool_Array;
    110 
    111 /**
    112  * The authoring_tool element contains a string with the authoring tool's
    113  * name. There may be only one authoring_tool element.
    114  */
    115 		class domAuthoring_tool : public daeElement
    116 		{
    117 		public:
    118 			virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::AUTHORING_TOOL; }
    119 			static daeInt ID() { return 667; }
    120 			virtual daeInt typeID() const { return ID(); }
    121 
    122 		protected:  // Value
    123 			/**
    124 			 * The xsString value of the text data of this element.
    125 			 */
    126 			xsString _value;
    127 
    128 		public:	//Accessors and Mutators
    129 			/**
    130 			 * Gets the value of this element.
    131 			 * @return Returns a xsString of the value.
    132 			 */
    133 			xsString getValue() const { return _value; }
    134 			/**
    135 			 * Sets the _value of this element.
    136 			 * @param val The new value for this element.
    137 			 */
    138 			void setValue( xsString val ) { *(daeStringRef*)&_value = val; }
    139 
    140 		protected:
    141 			/**
    142 			 * Constructor
    143 			 */
    144 			domAuthoring_tool(DAE& dae) : daeElement(dae), _value() {}
    145 			/**
    146 			 * Destructor
    147 			 */
    148 			virtual ~domAuthoring_tool() {}
    149 			/**
    150 			 * Overloaded assignment operator
    151 			 */
    152 			virtual domAuthoring_tool &operator=( const domAuthoring_tool &cpy ) { (void)cpy; return *this; }
    153 
    154 		public: // STATIC METHODS
    155 			/**
    156 			 * Creates an instance of this class and returns a daeElementRef referencing it.
    157 			 * @return a daeElementRef referencing an instance of this object.
    158 			 */
    159 			static DLLSPEC daeElementRef create(DAE& dae);
    160 			/**
    161 			 * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
    162 			 * If a daeMetaElement already exists it will return that instead of creating a new one.
    163 			 * @return A daeMetaElement describing this COLLADA element.
    164 			 */
    165 			static DLLSPEC daeMetaElement* registerElement(DAE& dae);
    166 		};
    167 
    168 		class domComments;
    169 
    170 		typedef daeSmartRef<domComments> domCommentsRef;
    171 		typedef daeTArray<domCommentsRef> domComments_Array;
    172 
    173 /**
    174  * The comments element contains a string with comments from this contributor.
    175  * There may be only one comments element.
    176  */
    177 		class domComments : public daeElement
    178 		{
    179 		public:
    180 			virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::COMMENTS; }
    181 			static daeInt ID() { return 668; }
    182 			virtual daeInt typeID() const { return ID(); }
    183 
    184 		protected:  // Value
    185 			/**
    186 			 * The xsString value of the text data of this element.
    187 			 */
    188 			xsString _value;
    189 
    190 		public:	//Accessors and Mutators
    191 			/**
    192 			 * Gets the value of this element.
    193 			 * @return Returns a xsString of the value.
    194 			 */
    195 			xsString getValue() const { return _value; }
    196 			/**
    197 			 * Sets the _value of this element.
    198 			 * @param val The new value for this element.
    199 			 */
    200 			void setValue( xsString val ) { *(daeStringRef*)&_value = val; }
    201 
    202 		protected:
    203 			/**
    204 			 * Constructor
    205 			 */
    206 			domComments(DAE& dae) : daeElement(dae), _value() {}
    207 			/**
    208 			 * Destructor
    209 			 */
    210 			virtual ~domComments() {}
    211 			/**
    212 			 * Overloaded assignment operator
    213 			 */
    214 			virtual domComments &operator=( const domComments &cpy ) { (void)cpy; return *this; }
    215 
    216 		public: // STATIC METHODS
    217 			/**
    218 			 * Creates an instance of this class and returns a daeElementRef referencing it.
    219 			 * @return a daeElementRef referencing an instance of this object.
    220 			 */
    221 			static DLLSPEC daeElementRef create(DAE& dae);
    222 			/**
    223 			 * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
    224 			 * If a daeMetaElement already exists it will return that instead of creating a new one.
    225 			 * @return A daeMetaElement describing this COLLADA element.
    226 			 */
    227 			static DLLSPEC daeMetaElement* registerElement(DAE& dae);
    228 		};
    229 
    230 		class domCopyright;
    231 
    232 		typedef daeSmartRef<domCopyright> domCopyrightRef;
    233 		typedef daeTArray<domCopyrightRef> domCopyright_Array;
    234 
    235 /**
    236  * The copyright element contains a string with copyright information. There
    237  * may be only one copyright element.
    238  */
    239 		class domCopyright : public daeElement
    240 		{
    241 		public:
    242 			virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::COPYRIGHT; }
    243 			static daeInt ID() { return 669; }
    244 			virtual daeInt typeID() const { return ID(); }
    245 
    246 		protected:  // Value
    247 			/**
    248 			 * The xsString value of the text data of this element.
    249 			 */
    250 			xsString _value;
    251 
    252 		public:	//Accessors and Mutators
    253 			/**
    254 			 * Gets the value of this element.
    255 			 * @return Returns a xsString of the value.
    256 			 */
    257 			xsString getValue() const { return _value; }
    258 			/**
    259 			 * Sets the _value of this element.
    260 			 * @param val The new value for this element.
    261 			 */
    262 			void setValue( xsString val ) { *(daeStringRef*)&_value = val; }
    263 
    264 		protected:
    265 			/**
    266 			 * Constructor
    267 			 */
    268 			domCopyright(DAE& dae) : daeElement(dae), _value() {}
    269 			/**
    270 			 * Destructor
    271 			 */
    272 			virtual ~domCopyright() {}
    273 			/**
    274 			 * Overloaded assignment operator
    275 			 */
    276 			virtual domCopyright &operator=( const domCopyright &cpy ) { (void)cpy; return *this; }
    277 
    278 		public: // STATIC METHODS
    279 			/**
    280 			 * Creates an instance of this class and returns a daeElementRef referencing it.
    281 			 * @return a daeElementRef referencing an instance of this object.
    282 			 */
    283 			static DLLSPEC daeElementRef create(DAE& dae);
    284 			/**
    285 			 * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
    286 			 * If a daeMetaElement already exists it will return that instead of creating a new one.
    287 			 * @return A daeMetaElement describing this COLLADA element.
    288 			 */
    289 			static DLLSPEC daeMetaElement* registerElement(DAE& dae);
    290 		};
    291 
    292 		class domSource_data;
    293 
    294 		typedef daeSmartRef<domSource_data> domSource_dataRef;
    295 		typedef daeTArray<domSource_dataRef> domSource_data_Array;
    296 
    297 /**
    298  * The source_data element contains a URI reference to the source data used
    299  * for this asset. There may be only one source_data element.
    300  */
    301 		class domSource_data : public daeElement
    302 		{
    303 		public:
    304 			virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::SOURCE_DATA; }
    305 			static daeInt ID() { return 670; }
    306 			virtual daeInt typeID() const { return ID(); }
    307 
    308 		protected:  // Value
    309 			/**
    310 			 * The xsAnyURI value of the text data of this element.
    311 			 */
    312 			xsAnyURI _value;
    313 
    314 		public:	//Accessors and Mutators
    315 			/**
    316 			 * Gets the value of this element.
    317 			 * @return Returns a xsAnyURI of the value.
    318 			 */
    319 			xsAnyURI &getValue() { return _value; }
    320 			/**
    321 			 * Gets the value of this element.
    322 			 * @return Returns a constant xsAnyURI of the value.
    323 			 */
    324 			const xsAnyURI &getValue() const { return _value; }
    325 			/**
    326 			 * Sets the _value of this element.
    327 			 * @param val The new value for this element.
    328 			 */
    329 			void setValue( const xsAnyURI &val ) { _value = val; }
    330 			/**
    331 			 * Sets the _value of this element.
    332 			 * @param val The new value for this element.
    333 			 */
    334 			void setValue( xsString val ) { _value = val; }
    335 
    336 		protected:
    337 			/**
    338 			 * Constructor
    339 			 */
    340 			domSource_data(DAE& dae) : daeElement(dae), _value(dae, *this) {}
    341 			/**
    342 			 * Destructor
    343 			 */
    344 			virtual ~domSource_data() {}
    345 			/**
    346 			 * Overloaded assignment operator
    347 			 */
    348 			virtual domSource_data &operator=( const domSource_data &cpy ) { (void)cpy; return *this; }
    349 
    350 		public: // STATIC METHODS
    351 			/**
    352 			 * Creates an instance of this class and returns a daeElementRef referencing it.
    353 			 * @return a daeElementRef referencing an instance of this object.
    354 			 */
    355 			static DLLSPEC daeElementRef create(DAE& dae);
    356 			/**
    357 			 * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
    358 			 * If a daeMetaElement already exists it will return that instead of creating a new one.
    359 			 * @return A daeMetaElement describing this COLLADA element.
    360 			 */
    361 			static DLLSPEC daeMetaElement* registerElement(DAE& dae);
    362 		};
    363 
    364 
    365 
    366 	protected:  // Elements
    367 /**
    368  * The author element contains a string with the author's name. There may
    369  * be only one author element. @see domAuthor
    370  */
    371 		domAuthorRef elemAuthor;
    372 /**
    373  * The authoring_tool element contains a string with the authoring tool's
    374  * name. There may be only one authoring_tool element. @see domAuthoring_tool
    375  */
    376 		domAuthoring_toolRef elemAuthoring_tool;
    377 /**
    378  * The comments element contains a string with comments from this contributor.
    379  * There may be only one comments element. @see domComments
    380  */
    381 		domCommentsRef elemComments;
    382 /**
    383  * The copyright element contains a string with copyright information. There
    384  * may be only one copyright element. @see domCopyright
    385  */
    386 		domCopyrightRef elemCopyright;
    387 /**
    388  * The source_data element contains a URI reference to the source data used
    389  * for this asset. There may be only one source_data element. @see domSource_data
    390  */
    391 		domSource_dataRef elemSource_data;
    392 
    393 	public:	//Accessors and Mutators
    394 		/**
    395 		 * Gets the author element.
    396 		 * @return a daeSmartRef to the author element.
    397 		 */
    398 		const domAuthorRef getAuthor() const { return elemAuthor; }
    399 		/**
    400 		 * Gets the authoring_tool element.
    401 		 * @return a daeSmartRef to the authoring_tool element.
    402 		 */
    403 		const domAuthoring_toolRef getAuthoring_tool() const { return elemAuthoring_tool; }
    404 		/**
    405 		 * Gets the comments element.
    406 		 * @return a daeSmartRef to the comments element.
    407 		 */
    408 		const domCommentsRef getComments() const { return elemComments; }
    409 		/**
    410 		 * Gets the copyright element.
    411 		 * @return a daeSmartRef to the copyright element.
    412 		 */
    413 		const domCopyrightRef getCopyright() const { return elemCopyright; }
    414 		/**
    415 		 * Gets the source_data element.
    416 		 * @return a daeSmartRef to the source_data element.
    417 		 */
    418 		const domSource_dataRef getSource_data() const { return elemSource_data; }
    419 	protected:
    420 		/**
    421 		 * Constructor
    422 		 */
    423 		domContributor(DAE& dae) : daeElement(dae), elemAuthor(), elemAuthoring_tool(), elemComments(), elemCopyright(), elemSource_data() {}
    424 		/**
    425 		 * Destructor
    426 		 */
    427 		virtual ~domContributor() {}
    428 		/**
    429 		 * Overloaded assignment operator
    430 		 */
    431 		virtual domContributor &operator=( const domContributor &cpy ) { (void)cpy; return *this; }
    432 
    433 	public: // STATIC METHODS
    434 		/**
    435 		 * Creates an instance of this class and returns a daeElementRef referencing it.
    436 		 * @return a daeElementRef referencing an instance of this object.
    437 		 */
    438 		static DLLSPEC daeElementRef create(DAE& dae);
    439 		/**
    440 		 * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
    441 		 * If a daeMetaElement already exists it will return that instead of creating a new one.
    442 		 * @return A daeMetaElement describing this COLLADA element.
    443 		 */
    444 		static DLLSPEC daeMetaElement* registerElement(DAE& dae);
    445 	};
    446 
    447 	class domCreated;
    448 
    449 	typedef daeSmartRef<domCreated> domCreatedRef;
    450 	typedef daeTArray<domCreatedRef> domCreated_Array;
    451 
    452 /**
    453  * The created element contains the date and time that the parent element
    454  * was created and is  represented in an ISO 8601 format.  The created element
    455  * may appear zero or one time.
    456  */
    457 	class domCreated : public daeElement
    458 	{
    459 	public:
    460 		virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::CREATED; }
    461 		static daeInt ID() { return 671; }
    462 		virtual daeInt typeID() const { return ID(); }
    463 
    464 	protected:  // Value
    465 		/**
    466 		 * The xsDateTime value of the text data of this element.
    467 		 */
    468 		xsDateTime _value;
    469 
    470 	public:	//Accessors and Mutators
    471 		/**
    472 		 * Gets the value of this element.
    473 		 * @return Returns a xsDateTime of the value.
    474 		 */
    475 		xsDateTime getValue() const { return _value; }
    476 		/**
    477 		 * Sets the _value of this element.
    478 		 * @param val The new value for this element.
    479 		 */
    480 		void setValue( xsDateTime val ) { *(daeStringRef*)&_value = val; }
    481 
    482 	protected:
    483 		/**
    484 		 * Constructor
    485 		 */
    486 		domCreated(DAE& dae) : daeElement(dae), _value() {}
    487 		/**
    488 		 * Destructor
    489 		 */
    490 		virtual ~domCreated() {}
    491 		/**
    492 		 * Overloaded assignment operator
    493 		 */
    494 		virtual domCreated &operator=( const domCreated &cpy ) { (void)cpy; return *this; }
    495 
    496 	public: // STATIC METHODS
    497 		/**
    498 		 * Creates an instance of this class and returns a daeElementRef referencing it.
    499 		 * @return a daeElementRef referencing an instance of this object.
    500 		 */
    501 		static DLLSPEC daeElementRef create(DAE& dae);
    502 		/**
    503 		 * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
    504 		 * If a daeMetaElement already exists it will return that instead of creating a new one.
    505 		 * @return A daeMetaElement describing this COLLADA element.
    506 		 */
    507 		static DLLSPEC daeMetaElement* registerElement(DAE& dae);
    508 	};
    509 
    510 	class domKeywords;
    511 
    512 	typedef daeSmartRef<domKeywords> domKeywordsRef;
    513 	typedef daeTArray<domKeywordsRef> domKeywords_Array;
    514 
    515 /**
    516  * The keywords element contains a list of words used as search criteria for
    517  * the parent element.  The keywords element may appear zero or more times.
    518  */
    519 	class domKeywords : public daeElement
    520 	{
    521 	public:
    522 		virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::KEYWORDS; }
    523 		static daeInt ID() { return 672; }
    524 		virtual daeInt typeID() const { return ID(); }
    525 
    526 	protected:  // Value
    527 		/**
    528 		 * The xsString value of the text data of this element.
    529 		 */
    530 		xsString _value;
    531 
    532 	public:	//Accessors and Mutators
    533 		/**
    534 		 * Gets the value of this element.
    535 		 * @return Returns a xsString of the value.
    536 		 */
    537 		xsString getValue() const { return _value; }
    538 		/**
    539 		 * Sets the _value of this element.
    540 		 * @param val The new value for this element.
    541 		 */
    542 		void setValue( xsString val ) { *(daeStringRef*)&_value = val; }
    543 
    544 	protected:
    545 		/**
    546 		 * Constructor
    547 		 */
    548 		domKeywords(DAE& dae) : daeElement(dae), _value() {}
    549 		/**
    550 		 * Destructor
    551 		 */
    552 		virtual ~domKeywords() {}
    553 		/**
    554 		 * Overloaded assignment operator
    555 		 */
    556 		virtual domKeywords &operator=( const domKeywords &cpy ) { (void)cpy; return *this; }
    557 
    558 	public: // STATIC METHODS
    559 		/**
    560 		 * Creates an instance of this class and returns a daeElementRef referencing it.
    561 		 * @return a daeElementRef referencing an instance of this object.
    562 		 */
    563 		static DLLSPEC daeElementRef create(DAE& dae);
    564 		/**
    565 		 * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
    566 		 * If a daeMetaElement already exists it will return that instead of creating a new one.
    567 		 * @return A daeMetaElement describing this COLLADA element.
    568 		 */
    569 		static DLLSPEC daeMetaElement* registerElement(DAE& dae);
    570 	};
    571 
    572 	class domModified;
    573 
    574 	typedef daeSmartRef<domModified> domModifiedRef;
    575 	typedef daeTArray<domModifiedRef> domModified_Array;
    576 
    577 /**
    578  * The modified element contains the date and time that the parent element
    579  * was last modified and  represented in an ISO 8601 format. The modified
    580  * element may appear zero or one time.
    581  */
    582 	class domModified : public daeElement
    583 	{
    584 	public:
    585 		virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::MODIFIED; }
    586 		static daeInt ID() { return 673; }
    587 		virtual daeInt typeID() const { return ID(); }
    588 
    589 	protected:  // Value
    590 		/**
    591 		 * The xsDateTime value of the text data of this element.
    592 		 */
    593 		xsDateTime _value;
    594 
    595 	public:	//Accessors and Mutators
    596 		/**
    597 		 * Gets the value of this element.
    598 		 * @return Returns a xsDateTime of the value.
    599 		 */
    600 		xsDateTime getValue() const { return _value; }
    601 		/**
    602 		 * Sets the _value of this element.
    603 		 * @param val The new value for this element.
    604 		 */
    605 		void setValue( xsDateTime val ) { *(daeStringRef*)&_value = val; }
    606 
    607 	protected:
    608 		/**
    609 		 * Constructor
    610 		 */
    611 		domModified(DAE& dae) : daeElement(dae), _value() {}
    612 		/**
    613 		 * Destructor
    614 		 */
    615 		virtual ~domModified() {}
    616 		/**
    617 		 * Overloaded assignment operator
    618 		 */
    619 		virtual domModified &operator=( const domModified &cpy ) { (void)cpy; return *this; }
    620 
    621 	public: // STATIC METHODS
    622 		/**
    623 		 * Creates an instance of this class and returns a daeElementRef referencing it.
    624 		 * @return a daeElementRef referencing an instance of this object.
    625 		 */
    626 		static DLLSPEC daeElementRef create(DAE& dae);
    627 		/**
    628 		 * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
    629 		 * If a daeMetaElement already exists it will return that instead of creating a new one.
    630 		 * @return A daeMetaElement describing this COLLADA element.
    631 		 */
    632 		static DLLSPEC daeMetaElement* registerElement(DAE& dae);
    633 	};
    634 
    635 	class domRevision;
    636 
    637 	typedef daeSmartRef<domRevision> domRevisionRef;
    638 	typedef daeTArray<domRevisionRef> domRevision_Array;
    639 
    640 /**
    641  * The revision element contains the revision information for the parent element.
    642  * The revision  element may appear zero or one time.
    643  */
    644 	class domRevision : public daeElement
    645 	{
    646 	public:
    647 		virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::REVISION; }
    648 		static daeInt ID() { return 674; }
    649 		virtual daeInt typeID() const { return ID(); }
    650 
    651 	protected:  // Value
    652 		/**
    653 		 * The xsString value of the text data of this element.
    654 		 */
    655 		xsString _value;
    656 
    657 	public:	//Accessors and Mutators
    658 		/**
    659 		 * Gets the value of this element.
    660 		 * @return Returns a xsString of the value.
    661 		 */
    662 		xsString getValue() const { return _value; }
    663 		/**
    664 		 * Sets the _value of this element.
    665 		 * @param val The new value for this element.
    666 		 */
    667 		void setValue( xsString val ) { *(daeStringRef*)&_value = val; }
    668 
    669 	protected:
    670 		/**
    671 		 * Constructor
    672 		 */
    673 		domRevision(DAE& dae) : daeElement(dae), _value() {}
    674 		/**
    675 		 * Destructor
    676 		 */
    677 		virtual ~domRevision() {}
    678 		/**
    679 		 * Overloaded assignment operator
    680 		 */
    681 		virtual domRevision &operator=( const domRevision &cpy ) { (void)cpy; return *this; }
    682 
    683 	public: // STATIC METHODS
    684 		/**
    685 		 * Creates an instance of this class and returns a daeElementRef referencing it.
    686 		 * @return a daeElementRef referencing an instance of this object.
    687 		 */
    688 		static DLLSPEC daeElementRef create(DAE& dae);
    689 		/**
    690 		 * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
    691 		 * If a daeMetaElement already exists it will return that instead of creating a new one.
    692 		 * @return A daeMetaElement describing this COLLADA element.
    693 		 */
    694 		static DLLSPEC daeMetaElement* registerElement(DAE& dae);
    695 	};
    696 
    697 	class domSubject;
    698 
    699 	typedef daeSmartRef<domSubject> domSubjectRef;
    700 	typedef daeTArray<domSubjectRef> domSubject_Array;
    701 
    702 /**
    703  * The subject element contains a description of the topical subject of the
    704  * parent element. The  subject element may appear zero or one time.
    705  */
    706 	class domSubject : public daeElement
    707 	{
    708 	public:
    709 		virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::SUBJECT; }
    710 		static daeInt ID() { return 675; }
    711 		virtual daeInt typeID() const { return ID(); }
    712 
    713 	protected:  // Value
    714 		/**
    715 		 * The xsString value of the text data of this element.
    716 		 */
    717 		xsString _value;
    718 
    719 	public:	//Accessors and Mutators
    720 		/**
    721 		 * Gets the value of this element.
    722 		 * @return Returns a xsString of the value.
    723 		 */
    724 		xsString getValue() const { return _value; }
    725 		/**
    726 		 * Sets the _value of this element.
    727 		 * @param val The new value for this element.
    728 		 */
    729 		void setValue( xsString val ) { *(daeStringRef*)&_value = val; }
    730 
    731 	protected:
    732 		/**
    733 		 * Constructor
    734 		 */
    735 		domSubject(DAE& dae) : daeElement(dae), _value() {}
    736 		/**
    737 		 * Destructor
    738 		 */
    739 		virtual ~domSubject() {}
    740 		/**
    741 		 * Overloaded assignment operator
    742 		 */
    743 		virtual domSubject &operator=( const domSubject &cpy ) { (void)cpy; return *this; }
    744 
    745 	public: // STATIC METHODS
    746 		/**
    747 		 * Creates an instance of this class and returns a daeElementRef referencing it.
    748 		 * @return a daeElementRef referencing an instance of this object.
    749 		 */
    750 		static DLLSPEC daeElementRef create(DAE& dae);
    751 		/**
    752 		 * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
    753 		 * If a daeMetaElement already exists it will return that instead of creating a new one.
    754 		 * @return A daeMetaElement describing this COLLADA element.
    755 		 */
    756 		static DLLSPEC daeMetaElement* registerElement(DAE& dae);
    757 	};
    758 
    759 	class domTitle;
    760 
    761 	typedef daeSmartRef<domTitle> domTitleRef;
    762 	typedef daeTArray<domTitleRef> domTitle_Array;
    763 
    764 /**
    765  * The title element contains the title information for the parent element.
    766  * The title element may  appear zero or one time.
    767  */
    768 	class domTitle : public daeElement
    769 	{
    770 	public:
    771 		virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::TITLE; }
    772 		static daeInt ID() { return 676; }
    773 		virtual daeInt typeID() const { return ID(); }
    774 
    775 	protected:  // Value
    776 		/**
    777 		 * The xsString value of the text data of this element.
    778 		 */
    779 		xsString _value;
    780 
    781 	public:	//Accessors and Mutators
    782 		/**
    783 		 * Gets the value of this element.
    784 		 * @return Returns a xsString of the value.
    785 		 */
    786 		xsString getValue() const { return _value; }
    787 		/**
    788 		 * Sets the _value of this element.
    789 		 * @param val The new value for this element.
    790 		 */
    791 		void setValue( xsString val ) { *(daeStringRef*)&_value = val; }
    792 
    793 	protected:
    794 		/**
    795 		 * Constructor
    796 		 */
    797 		domTitle(DAE& dae) : daeElement(dae), _value() {}
    798 		/**
    799 		 * Destructor
    800 		 */
    801 		virtual ~domTitle() {}
    802 		/**
    803 		 * Overloaded assignment operator
    804 		 */
    805 		virtual domTitle &operator=( const domTitle &cpy ) { (void)cpy; return *this; }
    806 
    807 	public: // STATIC METHODS
    808 		/**
    809 		 * Creates an instance of this class and returns a daeElementRef referencing it.
    810 		 * @return a daeElementRef referencing an instance of this object.
    811 		 */
    812 		static DLLSPEC daeElementRef create(DAE& dae);
    813 		/**
    814 		 * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
    815 		 * If a daeMetaElement already exists it will return that instead of creating a new one.
    816 		 * @return A daeMetaElement describing this COLLADA element.
    817 		 */
    818 		static DLLSPEC daeMetaElement* registerElement(DAE& dae);
    819 	};
    820 
    821 	class domUnit;
    822 
    823 	typedef daeSmartRef<domUnit> domUnitRef;
    824 	typedef daeTArray<domUnitRef> domUnit_Array;
    825 
    826 /**
    827  * The unit element contains descriptive information about unit of measure.
    828  * It has attributes for  the name of the unit and the measurement with respect
    829  * to the meter. The unit element may appear  zero or one time.
    830  */
    831 	class domUnit : public daeElement
    832 	{
    833 	public:
    834 		virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::UNIT; }
    835 		static daeInt ID() { return 677; }
    836 		virtual daeInt typeID() const { return ID(); }
    837 	protected:  // Attributes
    838 /**
    839  *  The meter attribute specifies the measurement with respect to the meter.
    840  * The default  value for the meter attribute is 1.0.
    841  */
    842 		domFloat attrMeter;
    843 /**
    844  *  The name attribute specifies the name of the unit. The default value for
    845  * the name  attribute is meter.
    846  */
    847 		xsNMTOKEN attrName;
    848 
    849 
    850 	public:	//Accessors and Mutators
    851 		/**
    852 		 * Gets the meter attribute.
    853 		 * @return Returns a domFloat of the meter attribute.
    854 		 */
    855 		domFloat getMeter() const { return attrMeter; }
    856 		/**
    857 		 * Sets the meter attribute.
    858 		 * @param atMeter The new value for the meter attribute.
    859 		 */
    860 		void setMeter( domFloat atMeter ) { attrMeter = atMeter; _validAttributeArray[0] = true; }
    861 
    862 		/**
    863 		 * Gets the name attribute.
    864 		 * @return Returns a xsNMTOKEN of the name attribute.
    865 		 */
    866 		xsNMTOKEN getName() const { return attrName; }
    867 		/**
    868 		 * Sets the name attribute.
    869 		 * @param atName The new value for the name attribute.
    870 		 */
    871 		void setName( xsNMTOKEN atName ) { *(daeStringRef*)&attrName = atName; _validAttributeArray[1] = true; }
    872 
    873 	protected:
    874 		/**
    875 		 * Constructor
    876 		 */
    877 		domUnit(DAE& dae) : daeElement(dae), attrMeter(), attrName() {}
    878 		/**
    879 		 * Destructor
    880 		 */
    881 		virtual ~domUnit() {}
    882 		/**
    883 		 * Overloaded assignment operator
    884 		 */
    885 		virtual domUnit &operator=( const domUnit &cpy ) { (void)cpy; return *this; }
    886 
    887 	public: // STATIC METHODS
    888 		/**
    889 		 * Creates an instance of this class and returns a daeElementRef referencing it.
    890 		 * @return a daeElementRef referencing an instance of this object.
    891 		 */
    892 		static DLLSPEC daeElementRef create(DAE& dae);
    893 		/**
    894 		 * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
    895 		 * If a daeMetaElement already exists it will return that instead of creating a new one.
    896 		 * @return A daeMetaElement describing this COLLADA element.
    897 		 */
    898 		static DLLSPEC daeMetaElement* registerElement(DAE& dae);
    899 	};
    900 
    901 	class domUp_axis;
    902 
    903 	typedef daeSmartRef<domUp_axis> domUp_axisRef;
    904 	typedef daeTArray<domUp_axisRef> domUp_axis_Array;
    905 
    906 /**
    907  * The up_axis element contains descriptive information about coordinate system
    908  * of the geometric  data. All coordinates are right-handed by definition.
    909  * This element specifies which axis is  considered up. The default is the
    910  * Y-axis. The up_axis element may appear zero or one time.
    911  */
    912 	class domUp_axis : public daeElement
    913 	{
    914 	public:
    915 		virtual COLLADA_TYPE::TypeEnum getElementType() const { return COLLADA_TYPE::UP_AXIS; }
    916 		static daeInt ID() { return 678; }
    917 		virtual daeInt typeID() const { return ID(); }
    918 
    919 	protected:  // Value
    920 		/**
    921 		 * The domUpAxisType value of the text data of this element.
    922 		 */
    923 		domUpAxisType _value;
    924 
    925 	public:	//Accessors and Mutators
    926 		/**
    927 		 * Gets the value of this element.
    928 		 * @return a domUpAxisType of the value.
    929 		 */
    930 		domUpAxisType getValue() const { return _value; }
    931 		/**
    932 		 * Sets the _value of this element.
    933 		 * @param val The new value for this element.
    934 		 */
    935 		void setValue( domUpAxisType val ) { _value = val; }
    936 
    937 	protected:
    938 		/**
    939 		 * Constructor
    940 		 */
    941 		domUp_axis(DAE& dae) : daeElement(dae), _value() {}
    942 		/**
    943 		 * Destructor
    944 		 */
    945 		virtual ~domUp_axis() {}
    946 		/**
    947 		 * Overloaded assignment operator
    948 		 */
    949 		virtual domUp_axis &operator=( const domUp_axis &cpy ) { (void)cpy; return *this; }
    950 
    951 	public: // STATIC METHODS
    952 		/**
    953 		 * Creates an instance of this class and returns a daeElementRef referencing it.
    954 		 * @return a daeElementRef referencing an instance of this object.
    955 		 */
    956 		static DLLSPEC daeElementRef create(DAE& dae);
    957 		/**
    958 		 * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
    959 		 * If a daeMetaElement already exists it will return that instead of creating a new one.
    960 		 * @return A daeMetaElement describing this COLLADA element.
    961 		 */
    962 		static DLLSPEC daeMetaElement* registerElement(DAE& dae);
    963 	};
    964 
    965 
    966 
    967 protected:  // Elements
    968 /**
    969  * The contributor element defines authoring information for asset management
    970  * @see domContributor
    971  */
    972 	domContributor_Array elemContributor_array;
    973 /**
    974  * The created element contains the date and time that the parent element
    975  * was created and is  represented in an ISO 8601 format.  The created element
    976  * may appear zero or one time. @see domCreated
    977  */
    978 	domCreatedRef elemCreated;
    979 /**
    980  * The keywords element contains a list of words used as search criteria for
    981  * the parent element.  The keywords element may appear zero or more times.
    982  * @see domKeywords
    983  */
    984 	domKeywordsRef elemKeywords;
    985 /**
    986  * The modified element contains the date and time that the parent element
    987  * was last modified and  represented in an ISO 8601 format. The modified
    988  * element may appear zero or one time. @see domModified
    989  */
    990 	domModifiedRef elemModified;
    991 /**
    992  * The revision element contains the revision information for the parent element.
    993  * The revision  element may appear zero or one time. @see domRevision
    994  */
    995 	domRevisionRef elemRevision;
    996 /**
    997  * The subject element contains a description of the topical subject of the
    998  * parent element. The  subject element may appear zero or one time. @see
    999  * domSubject
   1000  */
   1001 	domSubjectRef elemSubject;
   1002 /**
   1003  * The title element contains the title information for the parent element.
   1004  * The title element may  appear zero or one time. @see domTitle
   1005  */
   1006 	domTitleRef elemTitle;
   1007 /**
   1008  * The unit element contains descriptive information about unit of measure.
   1009  * It has attributes for  the name of the unit and the measurement with respect
   1010  * to the meter. The unit element may appear  zero or one time. @see domUnit
   1011  */
   1012 	domUnitRef elemUnit;
   1013 /**
   1014  * The up_axis element contains descriptive information about coordinate system
   1015  * of the geometric  data. All coordinates are right-handed by definition.
   1016  * This element specifies which axis is  considered up. The default is the
   1017  * Y-axis. The up_axis element may appear zero or one time. @see domUp_axis
   1018  */
   1019 	domUp_axisRef elemUp_axis;
   1020 
   1021 public:	//Accessors and Mutators
   1022 	/**
   1023 	 * Gets the contributor element array.
   1024 	 * @return Returns a reference to the array of contributor elements.
   1025 	 */
   1026 	domContributor_Array &getContributor_array() { return elemContributor_array; }
   1027 	/**
   1028 	 * Gets the contributor element array.
   1029 	 * @return Returns a constant reference to the array of contributor elements.
   1030 	 */
   1031 	const domContributor_Array &getContributor_array() const { return elemContributor_array; }
   1032 	/**
   1033 	 * Gets the created element.
   1034 	 * @return a daeSmartRef to the created element.
   1035 	 */
   1036 	const domCreatedRef getCreated() const { return elemCreated; }
   1037 	/**
   1038 	 * Gets the keywords element.
   1039 	 * @return a daeSmartRef to the keywords element.
   1040 	 */
   1041 	const domKeywordsRef getKeywords() const { return elemKeywords; }
   1042 	/**
   1043 	 * Gets the modified element.
   1044 	 * @return a daeSmartRef to the modified element.
   1045 	 */
   1046 	const domModifiedRef getModified() const { return elemModified; }
   1047 	/**
   1048 	 * Gets the revision element.
   1049 	 * @return a daeSmartRef to the revision element.
   1050 	 */
   1051 	const domRevisionRef getRevision() const { return elemRevision; }
   1052 	/**
   1053 	 * Gets the subject element.
   1054 	 * @return a daeSmartRef to the subject element.
   1055 	 */
   1056 	const domSubjectRef getSubject() const { return elemSubject; }
   1057 	/**
   1058 	 * Gets the title element.
   1059 	 * @return a daeSmartRef to the title element.
   1060 	 */
   1061 	const domTitleRef getTitle() const { return elemTitle; }
   1062 	/**
   1063 	 * Gets the unit element.
   1064 	 * @return a daeSmartRef to the unit element.
   1065 	 */
   1066 	const domUnitRef getUnit() const { return elemUnit; }
   1067 	/**
   1068 	 * Gets the up_axis element.
   1069 	 * @return a daeSmartRef to the up_axis element.
   1070 	 */
   1071 	const domUp_axisRef getUp_axis() const { return elemUp_axis; }
   1072 protected:
   1073 	/**
   1074 	 * Constructor
   1075 	 */
   1076 	domAsset(DAE& dae) : daeElement(dae), elemContributor_array(), elemCreated(), elemKeywords(), elemModified(), elemRevision(), elemSubject(), elemTitle(), elemUnit(), elemUp_axis() {}
   1077 	/**
   1078 	 * Destructor
   1079 	 */
   1080 	virtual ~domAsset() {}
   1081 	/**
   1082 	 * Overloaded assignment operator
   1083 	 */
   1084 	virtual domAsset &operator=( const domAsset &cpy ) { (void)cpy; return *this; }
   1085 
   1086 public: // STATIC METHODS
   1087 	/**
   1088 	 * Creates an instance of this class and returns a daeElementRef referencing it.
   1089 	 * @return a daeElementRef referencing an instance of this object.
   1090 	 */
   1091 	static DLLSPEC daeElementRef create(DAE& dae);
   1092 	/**
   1093 	 * Creates a daeMetaElement object that describes this element in the meta object reflection framework.
   1094 	 * If a daeMetaElement already exists it will return that instead of creating a new one.
   1095 	 * @return A daeMetaElement describing this COLLADA element.
   1096 	 */
   1097 	static DLLSPEC daeMetaElement* registerElement(DAE& dae);
   1098 };
   1099 
   1100 
   1101 #endif
   1102