1 /** 2 * @file CSGRotation.h 3 * @brief Definition of the CSGRotation class. 4 * @author SBMLTeam 5 * 6 * <!-------------------------------------------------------------------------- 7 * This file is part of libSBML. Please visit http://sbml.org for more 8 * information about SBML, and the latest version of libSBML. 9 * 10 * Copyright (C) 2020 jointly by the following organizations: 11 * 1. California Institute of Technology, Pasadena, CA, USA 12 * 2. University of Heidelberg, Heidelberg, Germany 13 * 3. University College London, London, UK 14 * 15 * Copyright (C) 2019 jointly by the following organizations: 16 * 1. California Institute of Technology, Pasadena, CA, USA 17 * 2. University of Heidelberg, Heidelberg, Germany 18 * 19 * Copyright (C) 2013-2018 jointly by the following organizations: 20 * 1. California Institute of Technology, Pasadena, CA, USA 21 * 2. EMBL European Bioinformatics Institute (EMBL-EBI), Hinxton, UK 22 * 3. University of Heidelberg, Heidelberg, Germany 23 * 24 * Copyright (C) 2009-2013 jointly by the following organizations: 25 * 1. California Institute of Technology, Pasadena, CA, USA 26 * 2. EMBL European Bioinformatics Institute (EMBL-EBI), Hinxton, UK 27 * 28 * Copyright (C) 2006-2008 by the California Institute of Technology, 29 * Pasadena, CA, USA 30 * 31 * Copyright (C) 2002-2005 jointly by the following organizations: 32 * 1. California Institute of Technology, Pasadena, CA, USA 33 * 2. Japan Science and Technology Agency, Japan 34 * 35 * This library is free software; you can redistribute it and/or modify it 36 * under the terms of the GNU Lesser General Public License as published by the 37 * Free Software Foundation. A copy of the license agreement is provided in the 38 * file named "LICENSE.txt" included with this software distribution and also 39 * available online as http://sbml.org/software/libsbml/license.html 40 * ------------------------------------------------------------------------ --> 41 * 42 * @class CSGRotation 43 * @sbmlbrief{spatial} TODO:Definition of the CSGRotation class. 44 */ 45 46 47 #ifndef CSGRotation_H__ 48 #define CSGRotation_H__ 49 50 51 #include <sbml/common/extern.h> 52 #include <sbml/common/sbmlfwd.h> 53 #include <sbml/packages/spatial/common/spatialfwd.h> 54 55 56 #ifdef __cplusplus 57 58 59 #include <string> 60 61 62 #include <sbml/packages/spatial/sbml/CSGTransformation.h> 63 #include <sbml/packages/spatial/extension/SpatialExtension.h> 64 65 66 LIBSBML_CPP_NAMESPACE_BEGIN 67 68 69 class LIBSBML_EXTERN CSGRotation : public CSGTransformation 70 { 71 protected: 72 73 /** @cond doxygenLibsbmlInternal */ 74 75 double mRotateX; 76 bool mIsSetRotateX; 77 double mRotateY; 78 bool mIsSetRotateY; 79 double mRotateZ; 80 bool mIsSetRotateZ; 81 double mRotateAngleInRadians; 82 bool mIsSetRotateAngleInRadians; 83 84 /** @endcond */ 85 86 public: 87 88 /** 89 * Creates a new CSGRotation using the given SBML Level, Version and 90 * “spatial” package version. 91 * 92 * @param level an unsigned int, the SBML Level to assign to this 93 * CSGRotation. 94 * 95 * @param version an unsigned int, the SBML Version to assign to this 96 * CSGRotation. 97 * 98 * @param pkgVersion an unsigned int, the SBML Spatial Version to assign to 99 * this CSGRotation. 100 * 101 * @copydetails doc_note_setting_lv_pkg 102 */ 103 CSGRotation(unsigned int level = SpatialExtension::getDefaultLevel(), 104 unsigned int version = SpatialExtension::getDefaultVersion(), 105 unsigned int pkgVersion = 106 SpatialExtension::getDefaultPackageVersion()); 107 108 109 /** 110 * Creates a new CSGRotation using the given SpatialPkgNamespaces object. 111 * 112 * @copydetails doc_what_are_sbml_package_namespaces 113 * 114 * @param spatialns the SpatialPkgNamespaces object. 115 * 116 * @copydetails doc_note_setting_lv_pkg 117 */ 118 CSGRotation(SpatialPkgNamespaces *spatialns); 119 120 121 /** 122 * Copy constructor for CSGRotation. 123 * 124 * @param orig the CSGRotation instance to copy. 125 */ 126 CSGRotation(const CSGRotation& orig); 127 128 129 /** 130 * Assignment operator for CSGRotation. 131 * 132 * @param rhs the CSGRotation object whose values are to be used as the basis 133 * of the assignment. 134 */ 135 CSGRotation& operator=(const CSGRotation& rhs); 136 137 138 /** 139 * Creates and returns a deep copy of this CSGRotation object. 140 * 141 * @return a (deep) copy of this CSGRotation object. 142 */ 143 virtual CSGRotation* clone() const; 144 145 146 /** 147 * Destructor for CSGRotation. 148 */ 149 virtual ~CSGRotation(); 150 151 152 /** 153 * Returns the value of the "rotateX" attribute of this CSGRotation. 154 * 155 * @return the value of the "rotateX" attribute of this CSGRotation as a 156 * double. 157 */ 158 double getRotateX() const; 159 160 161 /** 162 * Returns the value of the "rotateY" attribute of this CSGRotation. 163 * 164 * @return the value of the "rotateY" attribute of this CSGRotation as a 165 * double. 166 */ 167 double getRotateY() const; 168 169 170 /** 171 * Returns the value of the "rotateZ" attribute of this CSGRotation. 172 * 173 * @return the value of the "rotateZ" attribute of this CSGRotation as a 174 * double. 175 */ 176 double getRotateZ() const; 177 178 179 /** 180 * Returns the value of the "rotateAngleInRadians" attribute of this 181 * CSGRotation. 182 * 183 * @return the value of the "rotateAngleInRadians" attribute of this 184 * CSGRotation as a double. 185 */ 186 double getRotateAngleInRadians() const; 187 188 189 /** 190 * Predicate returning @c true if this CSGRotation's "rotateX" attribute is 191 * set. 192 * 193 * @return @c true if this CSGRotation's "rotateX" attribute has been set, 194 * otherwise @c false is returned. 195 */ 196 bool isSetRotateX() const; 197 198 199 /** 200 * Predicate returning @c true if this CSGRotation's "rotateY" attribute is 201 * set. 202 * 203 * @return @c true if this CSGRotation's "rotateY" attribute has been set, 204 * otherwise @c false is returned. 205 */ 206 bool isSetRotateY() const; 207 208 209 /** 210 * Predicate returning @c true if this CSGRotation's "rotateZ" attribute is 211 * set. 212 * 213 * @return @c true if this CSGRotation's "rotateZ" attribute has been set, 214 * otherwise @c false is returned. 215 */ 216 bool isSetRotateZ() const; 217 218 219 /** 220 * Predicate returning @c true if this CSGRotation's "rotateAngleInRadians" 221 * attribute is set. 222 * 223 * @return @c true if this CSGRotation's "rotateAngleInRadians" attribute has 224 * been set, otherwise @c false is returned. 225 */ 226 bool isSetRotateAngleInRadians() const; 227 228 229 /** 230 * Sets the value of the "rotateX" attribute of this CSGRotation. 231 * 232 * @param rotateX double value of the "rotateX" attribute to be set. 233 * 234 * @copydetails doc_returns_success_code 235 * @li @sbmlconstant{LIBSBML_OPERATION_SUCCESS, OperationReturnValues_t} 236 * @li @sbmlconstant{LIBSBML_INVALID_ATTRIBUTE_VALUE, 237 * OperationReturnValues_t} 238 */ 239 int setRotateX(double rotateX); 240 241 242 /** 243 * Sets the value of the "rotateY" attribute of this CSGRotation. 244 * 245 * @param rotateY double value of the "rotateY" attribute to be set. 246 * 247 * @copydetails doc_returns_success_code 248 * @li @sbmlconstant{LIBSBML_OPERATION_SUCCESS, OperationReturnValues_t} 249 * @li @sbmlconstant{LIBSBML_INVALID_ATTRIBUTE_VALUE, 250 * OperationReturnValues_t} 251 */ 252 int setRotateY(double rotateY); 253 254 255 /** 256 * Sets the value of the "rotateZ" attribute of this CSGRotation. 257 * 258 * @param rotateZ double value of the "rotateZ" attribute to be set. 259 * 260 * @copydetails doc_returns_success_code 261 * @li @sbmlconstant{LIBSBML_OPERATION_SUCCESS, OperationReturnValues_t} 262 * @li @sbmlconstant{LIBSBML_INVALID_ATTRIBUTE_VALUE, 263 * OperationReturnValues_t} 264 */ 265 int setRotateZ(double rotateZ); 266 267 268 /** 269 * Sets the value of the "rotateAngleInRadians" attribute of this 270 * CSGRotation. 271 * 272 * @param rotateAngleInRadians double value of the "rotateAngleInRadians" 273 * attribute to be set. 274 * 275 * @copydetails doc_returns_success_code 276 * @li @sbmlconstant{LIBSBML_OPERATION_SUCCESS, OperationReturnValues_t} 277 * @li @sbmlconstant{LIBSBML_INVALID_ATTRIBUTE_VALUE, 278 * OperationReturnValues_t} 279 */ 280 int setRotateAngleInRadians(double rotateAngleInRadians); 281 282 283 /** 284 * Unsets the value of the "rotateX" attribute of this CSGRotation. 285 * 286 * @copydetails doc_returns_success_code 287 * @li @sbmlconstant{LIBSBML_OPERATION_SUCCESS, OperationReturnValues_t} 288 * @li @sbmlconstant{LIBSBML_OPERATION_FAILED, OperationReturnValues_t} 289 */ 290 int unsetRotateX(); 291 292 293 /** 294 * Unsets the value of the "rotateY" attribute of this CSGRotation. 295 * 296 * @copydetails doc_returns_success_code 297 * @li @sbmlconstant{LIBSBML_OPERATION_SUCCESS, OperationReturnValues_t} 298 * @li @sbmlconstant{LIBSBML_OPERATION_FAILED, OperationReturnValues_t} 299 */ 300 int unsetRotateY(); 301 302 303 /** 304 * Unsets the value of the "rotateZ" attribute of this CSGRotation. 305 * 306 * @copydetails doc_returns_success_code 307 * @li @sbmlconstant{LIBSBML_OPERATION_SUCCESS, OperationReturnValues_t} 308 * @li @sbmlconstant{LIBSBML_OPERATION_FAILED, OperationReturnValues_t} 309 */ 310 int unsetRotateZ(); 311 312 313 /** 314 * Unsets the value of the "rotateAngleInRadians" attribute of this 315 * CSGRotation. 316 * 317 * @copydetails doc_returns_success_code 318 * @li @sbmlconstant{LIBSBML_OPERATION_SUCCESS, OperationReturnValues_t} 319 * @li @sbmlconstant{LIBSBML_OPERATION_FAILED, OperationReturnValues_t} 320 */ 321 int unsetRotateAngleInRadians(); 322 323 324 /** 325 * Returns the XML element name of this CSGRotation object. 326 * 327 * For CSGRotation, the XML element name is always @c "csgRotation". 328 * 329 * @return the name of this element, i.e. @c "csgRotation". 330 */ 331 virtual const std::string& getElementName() const; 332 333 334 /** 335 * Returns the libSBML type code for this CSGRotation object. 336 * 337 * @copydetails doc_what_are_typecodes 338 * 339 * @return the SBML type code for this object: 340 * @sbmlconstant{SBML_SPATIAL_CSGROTATION, SBMLSpatialTypeCode_t}. 341 * 342 * @copydetails doc_warning_typecodes_not_unique 343 * 344 * @see getElementName() 345 * @see getPackageName() 346 */ 347 virtual int getTypeCode() const; 348 349 350 /** 351 * Predicate returning @c true if all the required attributes for this 352 * CSGRotation object have been set. 353 * 354 * @return @c true to indicate that all the required attributes of this 355 * CSGRotation have been set, otherwise @c false is returned. 356 * 357 * 358 * @note The required attributes for the CSGRotation object are: 359 * @li "rotateX" 360 * @li "rotateAngleInRadians" 361 */ 362 virtual bool hasRequiredAttributes() const; 363 364 365 366 /** @cond doxygenLibsbmlInternal */ 367 368 /** 369 * Write any contained elements 370 */ 371 virtual void writeElements(XMLOutputStream& stream) const; 372 373 /** @endcond */ 374 375 376 377 /** @cond doxygenLibsbmlInternal */ 378 379 /** 380 * Accepts the given SBMLVisitor 381 */ 382 virtual bool accept(SBMLVisitor& v) const; 383 384 /** @endcond */ 385 386 387 388 /** @cond doxygenLibsbmlInternal */ 389 390 /** 391 * Sets the parent SBMLDocument 392 */ 393 virtual void setSBMLDocument(SBMLDocument* d); 394 395 /** @endcond */ 396 397 398 399 /** @cond doxygenLibsbmlInternal */ 400 401 /** 402 * Enables/disables the given package with this element 403 */ 404 virtual void enablePackageInternal(const std::string& pkgURI, 405 const std::string& pkgPrefix, 406 bool flag); 407 408 /** @endcond */ 409 410 411 412 413 #ifndef SWIG 414 415 416 417 /** @cond doxygenLibsbmlInternal */ 418 419 /** 420 * Gets the value of the "attributeName" attribute of this CSGRotation. 421 * 422 * @param attributeName, the name of the attribute to retrieve. 423 * 424 * @param value, the address of the value to record. 425 * 426 * @copydetails doc_returns_success_code 427 * @li @sbmlconstant{LIBSBML_OPERATION_SUCCESS, OperationReturnValues_t} 428 * @li @sbmlconstant{LIBSBML_OPERATION_FAILED, OperationReturnValues_t} 429 */ 430 virtual int getAttribute(const std::string& attributeName, bool& value) 431 const; 432 433 /** @endcond */ 434 435 436 437 /** @cond doxygenLibsbmlInternal */ 438 439 /** 440 * Gets the value of the "attributeName" attribute of this CSGRotation. 441 * 442 * @param attributeName, the name of the attribute to retrieve. 443 * 444 * @param value, the address of the value to record. 445 * 446 * @copydetails doc_returns_success_code 447 * @li @sbmlconstant{LIBSBML_OPERATION_SUCCESS, OperationReturnValues_t} 448 * @li @sbmlconstant{LIBSBML_OPERATION_FAILED, OperationReturnValues_t} 449 */ 450 virtual int getAttribute(const std::string& attributeName, int& value) const; 451 452 /** @endcond */ 453 454 455 456 /** @cond doxygenLibsbmlInternal */ 457 458 /** 459 * Gets the value of the "attributeName" attribute of this CSGRotation. 460 * 461 * @param attributeName, the name of the attribute to retrieve. 462 * 463 * @param value, the address of the value to record. 464 * 465 * @copydetails doc_returns_success_code 466 * @li @sbmlconstant{LIBSBML_OPERATION_SUCCESS, OperationReturnValues_t} 467 * @li @sbmlconstant{LIBSBML_OPERATION_FAILED, OperationReturnValues_t} 468 */ 469 virtual int getAttribute(const std::string& attributeName, 470 double& value) const; 471 472 /** @endcond */ 473 474 475 476 /** @cond doxygenLibsbmlInternal */ 477 478 /** 479 * Gets the value of the "attributeName" attribute of this CSGRotation. 480 * 481 * @param attributeName, the name of the attribute to retrieve. 482 * 483 * @param value, the address of the value to record. 484 * 485 * @copydetails doc_returns_success_code 486 * @li @sbmlconstant{LIBSBML_OPERATION_SUCCESS, OperationReturnValues_t} 487 * @li @sbmlconstant{LIBSBML_OPERATION_FAILED, OperationReturnValues_t} 488 */ 489 virtual int getAttribute(const std::string& attributeName, 490 unsigned int& value) const; 491 492 /** @endcond */ 493 494 495 496 /** @cond doxygenLibsbmlInternal */ 497 498 /** 499 * Gets the value of the "attributeName" attribute of this CSGRotation. 500 * 501 * @param attributeName, the name of the attribute to retrieve. 502 * 503 * @param value, the address of the value to record. 504 * 505 * @copydetails doc_returns_success_code 506 * @li @sbmlconstant{LIBSBML_OPERATION_SUCCESS, OperationReturnValues_t} 507 * @li @sbmlconstant{LIBSBML_OPERATION_FAILED, OperationReturnValues_t} 508 */ 509 virtual int getAttribute(const std::string& attributeName, 510 std::string& value) const; 511 512 /** @endcond */ 513 514 515 516 /** @cond doxygenLibsbmlInternal */ 517 518 /** 519 * Predicate returning @c true if this CSGRotation's attribute 520 * "attributeName" is set. 521 * 522 * @param attributeName, the name of the attribute to query. 523 * 524 * @return @c true if this CSGRotation's attribute "attributeName" has been 525 * set, otherwise @c false is returned. 526 */ 527 virtual bool isSetAttribute(const std::string& attributeName) const; 528 529 /** @endcond */ 530 531 532 533 /** @cond doxygenLibsbmlInternal */ 534 535 /** 536 * Sets the value of the "attributeName" attribute of this CSGRotation. 537 * 538 * @param attributeName, the name of the attribute to set. 539 * 540 * @param value, the value of the attribute to set. 541 * 542 * @copydetails doc_returns_success_code 543 * @li @sbmlconstant{LIBSBML_OPERATION_SUCCESS, OperationReturnValues_t} 544 * @li @sbmlconstant{LIBSBML_OPERATION_FAILED, OperationReturnValues_t} 545 */ 546 virtual int setAttribute(const std::string& attributeName, bool value); 547 548 /** @endcond */ 549 550 551 552 /** @cond doxygenLibsbmlInternal */ 553 554 /** 555 * Sets the value of the "attributeName" attribute of this CSGRotation. 556 * 557 * @param attributeName, the name of the attribute to set. 558 * 559 * @param value, the value of the attribute to set. 560 * 561 * @copydetails doc_returns_success_code 562 * @li @sbmlconstant{LIBSBML_OPERATION_SUCCESS, OperationReturnValues_t} 563 * @li @sbmlconstant{LIBSBML_OPERATION_FAILED, OperationReturnValues_t} 564 */ 565 virtual int setAttribute(const std::string& attributeName, int value); 566 567 /** @endcond */ 568 569 570 571 /** @cond doxygenLibsbmlInternal */ 572 573 /** 574 * Sets the value of the "attributeName" attribute of this CSGRotation. 575 * 576 * @param attributeName, the name of the attribute to set. 577 * 578 * @param value, the value of the attribute to set. 579 * 580 * @copydetails doc_returns_success_code 581 * @li @sbmlconstant{LIBSBML_OPERATION_SUCCESS, OperationReturnValues_t} 582 * @li @sbmlconstant{LIBSBML_OPERATION_FAILED, OperationReturnValues_t} 583 */ 584 virtual int setAttribute(const std::string& attributeName, double value); 585 586 /** @endcond */ 587 588 589 590 /** @cond doxygenLibsbmlInternal */ 591 592 /** 593 * Sets the value of the "attributeName" attribute of this CSGRotation. 594 * 595 * @param attributeName, the name of the attribute to set. 596 * 597 * @param value, the value of the attribute to set. 598 * 599 * @copydetails doc_returns_success_code 600 * @li @sbmlconstant{LIBSBML_OPERATION_SUCCESS, OperationReturnValues_t} 601 * @li @sbmlconstant{LIBSBML_OPERATION_FAILED, OperationReturnValues_t} 602 */ 603 virtual int setAttribute(const std::string& attributeName, 604 unsigned int value); 605 606 /** @endcond */ 607 608 609 610 /** @cond doxygenLibsbmlInternal */ 611 612 /** 613 * Sets the value of the "attributeName" attribute of this CSGRotation. 614 * 615 * @param attributeName, the name of the attribute to set. 616 * 617 * @param value, the value of the attribute to set. 618 * 619 * @copydetails doc_returns_success_code 620 * @li @sbmlconstant{LIBSBML_OPERATION_SUCCESS, OperationReturnValues_t} 621 * @li @sbmlconstant{LIBSBML_OPERATION_FAILED, OperationReturnValues_t} 622 */ 623 virtual int setAttribute(const std::string& attributeName, 624 const std::string& value); 625 626 /** @endcond */ 627 628 629 630 /** @cond doxygenLibsbmlInternal */ 631 632 /** 633 * Unsets the value of the "attributeName" attribute of this CSGRotation. 634 * 635 * @param attributeName, the name of the attribute to query. 636 * 637 * @copydetails doc_returns_success_code 638 * @li @sbmlconstant{LIBSBML_OPERATION_SUCCESS, OperationReturnValues_t} 639 * @li @sbmlconstant{LIBSBML_OPERATION_FAILED, OperationReturnValues_t} 640 */ 641 virtual int unsetAttribute(const std::string& attributeName); 642 643 /** @endcond */ 644 645 646 647 648 #endif /* !SWIG */ 649 650 651 protected: 652 653 654 /** @cond doxygenLibsbmlInternal */ 655 656 /** 657 * Creates a new object from the next XMLToken on the XMLInputStream 658 */ 659 virtual SBase* createObject(XMLInputStream& stream); 660 661 /** @endcond */ 662 663 664 665 /** @cond doxygenLibsbmlInternal */ 666 667 /** 668 * Adds the expected attributes for this element 669 */ 670 virtual void addExpectedAttributes(ExpectedAttributes& attributes); 671 672 /** @endcond */ 673 674 675 676 /** @cond doxygenLibsbmlInternal */ 677 678 /** 679 * Reads the expected attributes into the member data variables 680 */ 681 virtual void readAttributes(const XMLAttributes& attributes, 682 const ExpectedAttributes& expectedAttributes); 683 684 /** @endcond */ 685 686 687 688 /** @cond doxygenLibsbmlInternal */ 689 690 /** 691 * Writes the attributes to the stream 692 */ 693 virtual void writeAttributes(XMLOutputStream& stream) const; 694 695 /** @endcond */ 696 697 698 }; 699 700 701 702 LIBSBML_CPP_NAMESPACE_END 703 704 705 706 707 #endif /* __cplusplus */ 708 709 710 711 712 #ifndef SWIG 713 714 715 716 717 LIBSBML_CPP_NAMESPACE_BEGIN 718 719 720 721 722 BEGIN_C_DECLS 723 724 725 /** 726 * Creates a new CSGRotation_t using the given SBML Level, Version and 727 * “spatial” package version. 728 * 729 * @param level an unsigned int, the SBML Level to assign to this 730 * CSGRotation_t. 731 * 732 * @param version an unsigned int, the SBML Version to assign to this 733 * CSGRotation_t. 734 * 735 * @param pkgVersion an unsigned int, the SBML Spatial Version to assign to 736 * this CSGRotation_t. 737 * 738 * @copydetails doc_note_setting_lv_pkg 739 * 740 * @copydetails doc_returned_owned_pointer 741 * 742 * @memberof CSGRotation_t 743 */ 744 LIBSBML_EXTERN 745 CSGRotation_t * 746 CSGRotation_create(unsigned int level, 747 unsigned int version, 748 unsigned int pkgVersion); 749 750 751 /** 752 * Creates and returns a deep copy of this CSGRotation_t object. 753 * 754 * @param csgr the CSGRotation_t structure. 755 * 756 * @return a (deep) copy of this CSGRotation_t object. 757 * 758 * @copydetails doc_returned_owned_pointer 759 * 760 * @memberof CSGRotation_t 761 */ 762 LIBSBML_EXTERN 763 CSGRotation_t* 764 CSGRotation_clone(const CSGRotation_t* csgr); 765 766 767 /** 768 * Frees this CSGRotation_t object. 769 * 770 * @param csgr the CSGRotation_t structure. 771 * 772 * @memberof CSGRotation_t 773 */ 774 LIBSBML_EXTERN 775 void 776 CSGRotation_free(CSGRotation_t* csgr); 777 778 779 /** 780 * Returns the value of the "rotateX" attribute of this CSGRotation_t. 781 * 782 * @param csgr the CSGRotation_t structure whose rotateX is sought. 783 * 784 * @return the value of the "rotateX" attribute of this CSGRotation_t as a 785 * double. 786 * 787 * @memberof CSGRotation_t 788 */ 789 LIBSBML_EXTERN 790 double 791 CSGRotation_getRotateX(const CSGRotation_t * csgr); 792 793 794 /** 795 * Returns the value of the "rotateY" attribute of this CSGRotation_t. 796 * 797 * @param csgr the CSGRotation_t structure whose rotateY is sought. 798 * 799 * @return the value of the "rotateY" attribute of this CSGRotation_t as a 800 * double. 801 * 802 * @memberof CSGRotation_t 803 */ 804 LIBSBML_EXTERN 805 double 806 CSGRotation_getRotateY(const CSGRotation_t * csgr); 807 808 809 /** 810 * Returns the value of the "rotateZ" attribute of this CSGRotation_t. 811 * 812 * @param csgr the CSGRotation_t structure whose rotateZ is sought. 813 * 814 * @return the value of the "rotateZ" attribute of this CSGRotation_t as a 815 * double. 816 * 817 * @memberof CSGRotation_t 818 */ 819 LIBSBML_EXTERN 820 double 821 CSGRotation_getRotateZ(const CSGRotation_t * csgr); 822 823 824 /** 825 * Returns the value of the "rotateAngleInRadians" attribute of this 826 * CSGRotation_t. 827 * 828 * @param csgr the CSGRotation_t structure whose rotateAngleInRadians is 829 * sought. 830 * 831 * @return the value of the "rotateAngleInRadians" attribute of this 832 * CSGRotation_t as a double. 833 * 834 * @memberof CSGRotation_t 835 */ 836 LIBSBML_EXTERN 837 double 838 CSGRotation_getRotateAngleInRadians(const CSGRotation_t * csgr); 839 840 841 /** 842 * Predicate returning @c 1 (true) if this CSGRotation_t's "rotateX" attribute 843 * is set. 844 * 845 * @param csgr the CSGRotation_t structure. 846 * 847 * @return @c 1 (true) if this CSGRotation_t's "rotateX" attribute has been 848 * set, otherwise @c 0 (false) is returned. 849 * 850 * @memberof CSGRotation_t 851 */ 852 LIBSBML_EXTERN 853 int 854 CSGRotation_isSetRotateX(const CSGRotation_t * csgr); 855 856 857 /** 858 * Predicate returning @c 1 (true) if this CSGRotation_t's "rotateY" attribute 859 * is set. 860 * 861 * @param csgr the CSGRotation_t structure. 862 * 863 * @return @c 1 (true) if this CSGRotation_t's "rotateY" attribute has been 864 * set, otherwise @c 0 (false) is returned. 865 * 866 * @memberof CSGRotation_t 867 */ 868 LIBSBML_EXTERN 869 int 870 CSGRotation_isSetRotateY(const CSGRotation_t * csgr); 871 872 873 /** 874 * Predicate returning @c 1 (true) if this CSGRotation_t's "rotateZ" attribute 875 * is set. 876 * 877 * @param csgr the CSGRotation_t structure. 878 * 879 * @return @c 1 (true) if this CSGRotation_t's "rotateZ" attribute has been 880 * set, otherwise @c 0 (false) is returned. 881 * 882 * @memberof CSGRotation_t 883 */ 884 LIBSBML_EXTERN 885 int 886 CSGRotation_isSetRotateZ(const CSGRotation_t * csgr); 887 888 889 /** 890 * Predicate returning @c 1 (true) if this CSGRotation_t's 891 * "rotateAngleInRadians" attribute is set. 892 * 893 * @param csgr the CSGRotation_t structure. 894 * 895 * @return @c 1 (true) if this CSGRotation_t's "rotateAngleInRadians" attribute 896 * has been set, otherwise @c 0 (false) is returned. 897 * 898 * @memberof CSGRotation_t 899 */ 900 LIBSBML_EXTERN 901 int 902 CSGRotation_isSetRotateAngleInRadians(const CSGRotation_t * csgr); 903 904 905 /** 906 * Sets the value of the "rotateX" attribute of this CSGRotation_t. 907 * 908 * @param csgr the CSGRotation_t structure. 909 * 910 * @param rotateX double value of the "rotateX" attribute to be set. 911 * 912 * @copydetails doc_returns_success_code 913 * @li @sbmlconstant{LIBSBML_OPERATION_SUCCESS, OperationReturnValues_t} 914 * @li @sbmlconstant{LIBSBML_INVALID_ATTRIBUTE_VALUE, OperationReturnValues_t} 915 * @li @sbmlconstant{LIBSBML_INVALID_OBJECT, OperationReturnValues_t} 916 * 917 * @memberof CSGRotation_t 918 */ 919 LIBSBML_EXTERN 920 int 921 CSGRotation_setRotateX(CSGRotation_t * csgr, double rotateX); 922 923 924 /** 925 * Sets the value of the "rotateY" attribute of this CSGRotation_t. 926 * 927 * @param csgr the CSGRotation_t structure. 928 * 929 * @param rotateY double value of the "rotateY" attribute to be set. 930 * 931 * @copydetails doc_returns_success_code 932 * @li @sbmlconstant{LIBSBML_OPERATION_SUCCESS, OperationReturnValues_t} 933 * @li @sbmlconstant{LIBSBML_INVALID_ATTRIBUTE_VALUE, OperationReturnValues_t} 934 * @li @sbmlconstant{LIBSBML_INVALID_OBJECT, OperationReturnValues_t} 935 * 936 * @memberof CSGRotation_t 937 */ 938 LIBSBML_EXTERN 939 int 940 CSGRotation_setRotateY(CSGRotation_t * csgr, double rotateY); 941 942 943 /** 944 * Sets the value of the "rotateZ" attribute of this CSGRotation_t. 945 * 946 * @param csgr the CSGRotation_t structure. 947 * 948 * @param rotateZ double value of the "rotateZ" attribute to be set. 949 * 950 * @copydetails doc_returns_success_code 951 * @li @sbmlconstant{LIBSBML_OPERATION_SUCCESS, OperationReturnValues_t} 952 * @li @sbmlconstant{LIBSBML_INVALID_ATTRIBUTE_VALUE, OperationReturnValues_t} 953 * @li @sbmlconstant{LIBSBML_INVALID_OBJECT, OperationReturnValues_t} 954 * 955 * @memberof CSGRotation_t 956 */ 957 LIBSBML_EXTERN 958 int 959 CSGRotation_setRotateZ(CSGRotation_t * csgr, double rotateZ); 960 961 962 /** 963 * Sets the value of the "rotateAngleInRadians" attribute of this 964 * CSGRotation_t. 965 * 966 * @param csgr the CSGRotation_t structure. 967 * 968 * @param rotateAngleInRadians double value of the "rotateAngleInRadians" 969 * attribute to be set. 970 * 971 * @copydetails doc_returns_success_code 972 * @li @sbmlconstant{LIBSBML_OPERATION_SUCCESS, OperationReturnValues_t} 973 * @li @sbmlconstant{LIBSBML_INVALID_ATTRIBUTE_VALUE, OperationReturnValues_t} 974 * @li @sbmlconstant{LIBSBML_INVALID_OBJECT, OperationReturnValues_t} 975 * 976 * @memberof CSGRotation_t 977 */ 978 LIBSBML_EXTERN 979 int 980 CSGRotation_setRotateAngleInRadians(CSGRotation_t * csgr, 981 double rotateAngleInRadians); 982 983 984 /** 985 * Unsets the value of the "rotateX" attribute of this CSGRotation_t. 986 * 987 * @param csgr the CSGRotation_t structure. 988 * 989 * @copydetails doc_returns_success_code 990 * @li @sbmlconstant{LIBSBML_OPERATION_SUCCESS, OperationReturnValues_t} 991 * @li @sbmlconstant{LIBSBML_OPERATION_FAILED, OperationReturnValues_t} 992 * @li @sbmlconstant{LIBSBML_INVALID_OBJECT, OperationReturnValues_t} 993 * 994 * @memberof CSGRotation_t 995 */ 996 LIBSBML_EXTERN 997 int 998 CSGRotation_unsetRotateX(CSGRotation_t * csgr); 999 1000 1001 /** 1002 * Unsets the value of the "rotateY" attribute of this CSGRotation_t. 1003 * 1004 * @param csgr the CSGRotation_t structure. 1005 * 1006 * @copydetails doc_returns_success_code 1007 * @li @sbmlconstant{LIBSBML_OPERATION_SUCCESS, OperationReturnValues_t} 1008 * @li @sbmlconstant{LIBSBML_OPERATION_FAILED, OperationReturnValues_t} 1009 * @li @sbmlconstant{LIBSBML_INVALID_OBJECT, OperationReturnValues_t} 1010 * 1011 * @memberof CSGRotation_t 1012 */ 1013 LIBSBML_EXTERN 1014 int 1015 CSGRotation_unsetRotateY(CSGRotation_t * csgr); 1016 1017 1018 /** 1019 * Unsets the value of the "rotateZ" attribute of this CSGRotation_t. 1020 * 1021 * @param csgr the CSGRotation_t structure. 1022 * 1023 * @copydetails doc_returns_success_code 1024 * @li @sbmlconstant{LIBSBML_OPERATION_SUCCESS, OperationReturnValues_t} 1025 * @li @sbmlconstant{LIBSBML_OPERATION_FAILED, OperationReturnValues_t} 1026 * @li @sbmlconstant{LIBSBML_INVALID_OBJECT, OperationReturnValues_t} 1027 * 1028 * @memberof CSGRotation_t 1029 */ 1030 LIBSBML_EXTERN 1031 int 1032 CSGRotation_unsetRotateZ(CSGRotation_t * csgr); 1033 1034 1035 /** 1036 * Unsets the value of the "rotateAngleInRadians" attribute of this 1037 * CSGRotation_t. 1038 * 1039 * @param csgr the CSGRotation_t structure. 1040 * 1041 * @copydetails doc_returns_success_code 1042 * @li @sbmlconstant{LIBSBML_OPERATION_SUCCESS, OperationReturnValues_t} 1043 * @li @sbmlconstant{LIBSBML_OPERATION_FAILED, OperationReturnValues_t} 1044 * @li @sbmlconstant{LIBSBML_INVALID_OBJECT, OperationReturnValues_t} 1045 * 1046 * @memberof CSGRotation_t 1047 */ 1048 LIBSBML_EXTERN 1049 int 1050 CSGRotation_unsetRotateAngleInRadians(CSGRotation_t * csgr); 1051 1052 1053 /** 1054 * Predicate returning @c 1 (true) if all the required attributes for this 1055 * CSGRotation_t object have been set. 1056 * 1057 * @param csgr the CSGRotation_t structure. 1058 * 1059 * @return @c 1 (true) to indicate that all the required attributes of this 1060 * CSGRotation_t have been set, otherwise @c 0 (false) is returned. 1061 * 1062 * 1063 * @note The required attributes for the CSGRotation_t object are: 1064 * @li "rotateX" 1065 * @li "rotateAngleInRadians" 1066 * 1067 * @memberof CSGRotation_t 1068 */ 1069 LIBSBML_EXTERN 1070 int 1071 CSGRotation_hasRequiredAttributes(const CSGRotation_t * csgr); 1072 1073 1074 1075 1076 END_C_DECLS 1077 1078 1079 1080 1081 LIBSBML_CPP_NAMESPACE_END 1082 1083 1084 1085 1086 #endif /* !SWIG */ 1087 1088 1089 1090 1091 #endif /* !CSGRotation_H__ */ 1092 1093 1094