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