1 /** 2 * @file SedFitMapping.h 3 * @brief Definition of the SedFitMapping class. 4 * @author DEVISER 5 * 6 * <!-------------------------------------------------------------------------- 7 * This file is part of libSEDML. Please visit http://sed-ml.org for more 8 * information about SED-ML. The latest version of libSEDML can be found on 9 * github: https://github.com/fbergmann/libSEDML/ 10 * 11 12 * Copyright (c) 2013-2019, Frank T. Bergmann 13 * All rights reserved. 14 * 15 16 * Redistribution and use in source and binary forms, with or without 17 * modification, are permitted provided that the following conditions are met: 18 * 19 20 * 1. Redistributions of source code must retain the above copyright notice, 21 * this 22 * list of conditions and the following disclaimer. 23 * 2. Redistributions in binary form must reproduce the above copyright notice, 24 * this list of conditions and the following disclaimer in the documentation 25 * and/or other materials provided with the distribution. 26 * 27 * This library is free software; you can redistribute it and/or modify it 28 * under the terms of the GNU Lesser General Public License as published by the 29 * Free Software Foundation. A copy of the license agreement is provided in the 30 * file named "LICENSE.txt" included with this software distribution and also 31 * available online as http://sbml.org/software/libsbml/license.html 32 * ------------------------------------------------------------------------ --> 33 * 34 * @class SedFitMapping 35 * @sbmlbrief{sedml} TODO:Definition of the SedFitMapping class. 36 */ 37 38 /** 39 * <!-- ~ ~ ~ ~ ~ Start of common documentation strings ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 40 * The following text is used as common documentation blocks copied multiple 41 * times elsewhere in this file. The use of @class is a hack needed because 42 * Doxygen's @copydetails command has limited functionality. Symbols 43 * beginning with "doc_" are marked as ignored in our Doxygen configuration. 44 * ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ --> 45 * 46 * 47 * @class doc_sedfitmapping_type 48 * 49 * @par 50 * The attribute "type" on a SedFitMapping object is used to TODO:add 51 * explanation 52 * 53 * In the SBML 54 * Level 3 Version 1 Sedml specification, the following are the 55 * allowable values for "type": 56 * <ul> 57 * <li> @c "time", TODO:add description 58 * 59 * <li> @c "experimentalCondition", TODO:add description 60 * 61 * <li> @c "observable", TODO:add description 62 * 63 * </ul> 64 */ 65 66 67 #ifndef SedFitMapping_H__ 68 #define SedFitMapping_H__ 69 70 71 #include <sedml/common/extern.h> 72 #include <sedml/common/sedmlfwd.h> 73 #include <sedml/common/SedmlEnumerations.h> 74 75 76 #ifdef __cplusplus 77 78 79 #include <string> 80 81 82 #include <sedml/SedBase.h> 83 #include <sbml/common/libsbml-namespace.h> 84 85 86 LIBSEDML_CPP_NAMESPACE_BEGIN 87 88 89 class LIBSEDML_EXTERN SedFitMapping : public SedBase 90 { 91 protected: 92 93 /** @cond doxygenLibSEDMLInternal */ 94 95 std::string mDataSource; 96 std::string mTarget; 97 MappingType_t mType; 98 double mWeight; 99 bool mIsSetWeight; 100 std::string mPointWeight; 101 102 /** @endcond */ 103 104 public: 105 106 /** 107 * Creates a new SedFitMapping using the given SED-ML Level and @ p version 108 * values. 109 * 110 * @param level an unsigned int, the SED-ML Level to assign to this 111 * SedFitMapping. 112 * 113 * @param version an unsigned int, the SED-ML Version to assign to this 114 * SedFitMapping. 115 * 116 * @copydetails doc_note_setting_lv_pkg 117 */ 118 SedFitMapping(unsigned int level = SEDML_DEFAULT_LEVEL, 119 unsigned int version = SEDML_DEFAULT_VERSION); 120 121 122 /** 123 * Creates a new SedFitMapping using the given SedNamespaces object @p 124 * sedmlns. 125 * 126 * @param sedmlns the SedNamespaces object. 127 * 128 * @copydetails doc_note_setting_lv_pkg 129 */ 130 SedFitMapping(SedNamespaces *sedmlns); 131 132 133 /** 134 * Copy constructor for SedFitMapping. 135 * 136 * @param orig the SedFitMapping instance to copy. 137 */ 138 SedFitMapping(const SedFitMapping& orig); 139 140 141 /** 142 * Assignment operator for SedFitMapping. 143 * 144 * @param rhs the SedFitMapping object whose values are to be used as the 145 * basis of the assignment. 146 */ 147 SedFitMapping& operator=(const SedFitMapping& rhs); 148 149 150 /** 151 * Creates and returns a deep copy of this SedFitMapping object. 152 * 153 * @return a (deep) copy of this SedFitMapping object. 154 */ 155 virtual SedFitMapping* clone() const; 156 157 158 /** 159 * Destructor for SedFitMapping. 160 */ 161 virtual ~SedFitMapping(); 162 163 164 /** 165 * Returns the value of the "dataSource" attribute of this SedFitMapping. 166 * 167 * @return the value of the "dataSource" attribute of this SedFitMapping as a 168 * string. 169 */ 170 const std::string& getDataSource() const; 171 172 173 /** 174 * Returns the value of the "target" attribute of this SedFitMapping. 175 * 176 * @return the value of the "target" attribute of this SedFitMapping as a 177 * string. 178 */ 179 const std::string& getTarget() const; 180 181 182 /** 183 * Returns the value of the "type" attribute of this SedFitMapping. 184 * 185 * @return the value of the "type" attribute of this SedFitMapping as a 186 * MappingType_t. 187 * 188 * @copydetails doc_sedfitmapping_type 189 * @if clike The value is drawn from the enumeration @ref MappingType_t 190 * @endif 191 * The possible values returned by this method are: 192 * @li @sbmlconstant{SEDML_MAPPINGTYPE_TIME, MappingType_t} 193 * @li @sbmlconstant{SEDML_MAPPINGTYPE_EXPERIMENTALCONDITION, MappingType_t} 194 * @li @sbmlconstant{SEDML_MAPPINGTYPE_OBSERVABLE, MappingType_t} 195 * @li @sbmlconstant{SEDML_MAPPINGTYPE_INVALID, MappingType_t} 196 */ 197 MappingType_t getType() const; 198 199 200 /** 201 * Returns the value of the "type" attribute of this SedFitMapping. 202 * 203 * @return the value of the "type" attribute of this SedFitMapping as a 204 * string. 205 * 206 * @copydetails doc_sedfitmapping_type 207 * The possible values returned by this method are: 208 * @li @c "time" 209 * @li @c "experimentalCondition" 210 * @li @c "observable" 211 * @li @c "invalid MappingType value" 212 */ 213 std::string getTypeAsString() const; 214 215 216 /** 217 * Returns the value of the "weight" attribute of this SedFitMapping. 218 * 219 * @return the value of the "weight" attribute of this SedFitMapping as a 220 * double. 221 */ 222 double getWeight() const; 223 224 225 /** 226 * Returns the value of the "pointWeight" attribute of this SedFitMapping. 227 * 228 * @return the value of the "pointWeight" attribute of this SedFitMapping as 229 * a string. 230 */ 231 const std::string& getPointWeight() const; 232 233 234 /** 235 * Predicate returning @c true if this SedFitMapping's "dataSource" attribute 236 * is set. 237 * 238 * @return @c true if this SedFitMapping's "dataSource" attribute has been 239 * set, otherwise @c false is returned. 240 */ 241 bool isSetDataSource() const; 242 243 244 /** 245 * Predicate returning @c true if this SedFitMapping's "target" attribute is 246 * set. 247 * 248 * @return @c true if this SedFitMapping's "target" attribute has been set, 249 * otherwise @c false is returned. 250 */ 251 bool isSetTarget() const; 252 253 254 /** 255 * Predicate returning @c true if this SedFitMapping's "type" attribute is 256 * set. 257 * 258 * @return @c true if this SedFitMapping's "type" attribute has been set, 259 * otherwise @c false is returned. 260 * 261 * @copydetails doc_sedfitmapping_type 262 */ 263 bool isSetType() const; 264 265 266 /** 267 * Predicate returning @c true if this SedFitMapping's "weight" attribute is 268 * set. 269 * 270 * @return @c true if this SedFitMapping's "weight" attribute has been set, 271 * otherwise @c false is returned. 272 */ 273 bool isSetWeight() const; 274 275 276 /** 277 * Predicate returning @c true if this SedFitMapping's "pointWeight" 278 * attribute is set. 279 * 280 * @return @c true if this SedFitMapping's "pointWeight" attribute has been 281 * set, otherwise @c false is returned. 282 */ 283 bool isSetPointWeight() const; 284 285 286 /** 287 * Sets the value of the "dataSource" attribute of this SedFitMapping. 288 * 289 * @param dataSource std::string& value of the "dataSource" attribute to be 290 * set. 291 * 292 * @copydetails doc_returns_success_code 293 * @li @sedmlconstant{LIBSEDML_OPERATION_SUCCESS, OperationReturnValues_t} 294 * @li @sedmlconstant{LIBSEDML_INVALID_ATTRIBUTE_VALUE, 295 * OperationReturnValues_t} 296 */ 297 int setDataSource(const std::string& dataSource); 298 299 300 /** 301 * Sets the value of the "target" attribute of this SedFitMapping. 302 * 303 * @param target std::string& value of the "target" attribute to be set. 304 * 305 * @copydetails doc_returns_success_code 306 * @li @sedmlconstant{LIBSEDML_OPERATION_SUCCESS, OperationReturnValues_t} 307 * @li @sedmlconstant{LIBSEDML_INVALID_ATTRIBUTE_VALUE, 308 * OperationReturnValues_t} 309 */ 310 int setTarget(const std::string& target); 311 312 313 /** 314 * Sets the value of the "type" attribute of this SedFitMapping. 315 * 316 * @param type @if clike MappingType_t@else int@endif value of the "type" 317 * attribute to be set. 318 * 319 * @copydetails doc_returns_success_code 320 * @li @sedmlconstant{LIBSEDML_OPERATION_SUCCESS, OperationReturnValues_t} 321 * @li @sedmlconstant{LIBSEDML_INVALID_ATTRIBUTE_VALUE, 322 * OperationReturnValues_t} 323 * 324 * @copydetails doc_sedfitmapping_type 325 */ 326 int setType(const MappingType_t type); 327 328 329 /** 330 * Sets the value of the "type" attribute of this SedFitMapping. 331 * 332 * @param type std::string& of the "type" attribute to be set. 333 * 334 * @copydetails doc_returns_success_code 335 * @li @sedmlconstant{LIBSEDML_OPERATION_SUCCESS, OperationReturnValues_t} 336 * @li @sedmlconstant{LIBSEDML_INVALID_ATTRIBUTE_VALUE, 337 * OperationReturnValues_t} 338 * 339 * @copydetails doc_sedfitmapping_type 340 */ 341 int setType(const std::string& type); 342 343 344 /** 345 * Sets the value of the "weight" attribute of this SedFitMapping. 346 * 347 * @param weight double value of the "weight" attribute to be set. 348 * 349 * @copydetails doc_returns_success_code 350 * @li @sedmlconstant{LIBSEDML_OPERATION_SUCCESS, OperationReturnValues_t} 351 * @li @sedmlconstant{LIBSEDML_INVALID_ATTRIBUTE_VALUE, 352 * OperationReturnValues_t} 353 */ 354 int setWeight(double weight); 355 356 357 /** 358 * Sets the value of the "pointWeight" attribute of this SedFitMapping. 359 * 360 * @param pointWeight std::string& value of the "pointWeight" attribute to be 361 * set. 362 * 363 * @copydetails doc_returns_success_code 364 * @li @sedmlconstant{LIBSEDML_OPERATION_SUCCESS, OperationReturnValues_t} 365 * @li @sedmlconstant{LIBSEDML_INVALID_ATTRIBUTE_VALUE, 366 * OperationReturnValues_t} 367 */ 368 int setPointWeight(const std::string& pointWeight); 369 370 371 /** 372 * Unsets the value of the "dataSource" attribute of this SedFitMapping. 373 * 374 * @copydetails doc_returns_success_code 375 * @li @sedmlconstant{LIBSEDML_OPERATION_SUCCESS, OperationReturnValues_t} 376 * @li @sedmlconstant{LIBSEDML_OPERATION_FAILED, OperationReturnValues_t} 377 */ 378 int unsetDataSource(); 379 380 381 /** 382 * Unsets the value of the "target" attribute of this SedFitMapping. 383 * 384 * @copydetails doc_returns_success_code 385 * @li @sedmlconstant{LIBSEDML_OPERATION_SUCCESS, OperationReturnValues_t} 386 * @li @sedmlconstant{LIBSEDML_OPERATION_FAILED, OperationReturnValues_t} 387 */ 388 int unsetTarget(); 389 390 391 /** 392 * Unsets the value of the "type" attribute of this SedFitMapping. 393 * 394 * @copydetails doc_returns_one_success_code 395 * @li @sedmlconstant{LIBSEDML_OPERATION_SUCCESS, OperationReturnValues_t} 396 * 397 * @copydetails doc_sedfitmapping_type 398 */ 399 int unsetType(); 400 401 402 /** 403 * Unsets the value of the "weight" attribute of this SedFitMapping. 404 * 405 * @copydetails doc_returns_success_code 406 * @li @sedmlconstant{LIBSEDML_OPERATION_SUCCESS, OperationReturnValues_t} 407 * @li @sedmlconstant{LIBSEDML_OPERATION_FAILED, OperationReturnValues_t} 408 */ 409 int unsetWeight(); 410 411 412 /** 413 * Unsets the value of the "pointWeight" attribute of this SedFitMapping. 414 * 415 * @copydetails doc_returns_success_code 416 * @li @sedmlconstant{LIBSEDML_OPERATION_SUCCESS, OperationReturnValues_t} 417 * @li @sedmlconstant{LIBSEDML_OPERATION_FAILED, OperationReturnValues_t} 418 */ 419 int unsetPointWeight(); 420 421 422 /** 423 * @copydoc doc_renamesidref_common 424 */ 425 virtual void renameSIdRefs(const std::string& oldid, 426 const std::string& newid); 427 428 429 /** 430 * Returns the XML element name of this SedFitMapping object. 431 * 432 * For SedFitMapping, the XML element name is always @c "fitMapping". 433 * 434 * @return the name of this element, i.e. @c "fitMapping". 435 */ 436 virtual const std::string& getElementName() const; 437 438 439 /** 440 * Returns the libSEDML type code for this SedFitMapping object. 441 * 442 * @copydetails doc_what_are_typecodes 443 * 444 * @return the SED-ML type code for this object: 445 * @sedmlconstant{SEDML_FITMAPPING, SedTypeCode_t}. 446 * 447 * @copydetails doc_warning_typecodes_not_unique 448 * 449 * @see getElementName() 450 */ 451 virtual int getTypeCode() const; 452 453 454 /** 455 * Predicate returning @c true if all the required attributes for this 456 * SedFitMapping object have been set. 457 * 458 * @return @c true to indicate that all the required attributes of this 459 * SedFitMapping have been set, otherwise @c false is returned. 460 * 461 * 462 * @note The required attributes for the SedFitMapping object are: 463 * @li "dataSource" 464 * @li "target" 465 * @li "type" 466 */ 467 virtual bool hasRequiredAttributes() const; 468 469 470 471 /** @cond doxygenLibSEDMLInternal */ 472 473 /** 474 * Write any contained elements 475 */ 476 virtual void writeElements(LIBSBML_CPP_NAMESPACE_QUALIFIER XMLOutputStream& 477 stream) const; 478 479 /** @endcond */ 480 481 482 483 /** @cond doxygenLibSEDMLInternal */ 484 485 /** 486 * Accepts the given SedVisitor 487 */ 488 virtual bool accept(SedVisitor& v) const; 489 490 /** @endcond */ 491 492 493 494 /** @cond doxygenLibSEDMLInternal */ 495 496 /** 497 * Sets the parent SedDocument 498 */ 499 virtual void setSedDocument(SedDocument* d); 500 501 /** @endcond */ 502 503 504 505 506 #ifndef SWIG 507 508 509 510 /** @cond doxygenLibSEDMLInternal */ 511 512 /** 513 * Gets the value of the "attributeName" attribute of this SedFitMapping. 514 * 515 * @param attributeName, the name of the attribute to retrieve. 516 * 517 * @param value, the address of the value to record. 518 * 519 * @copydetails doc_returns_success_code 520 * @li @sedmlconstant{LIBSEDML_OPERATION_SUCCESS, OperationReturnValues_t} 521 * @li @sedmlconstant{LIBSEDML_OPERATION_FAILED, OperationReturnValues_t} 522 */ 523 virtual int getAttribute(const std::string& attributeName, bool& value) 524 const; 525 526 /** @endcond */ 527 528 529 530 /** @cond doxygenLibSEDMLInternal */ 531 532 /** 533 * Gets the value of the "attributeName" attribute of this SedFitMapping. 534 * 535 * @param attributeName, the name of the attribute to retrieve. 536 * 537 * @param value, the address of the value to record. 538 * 539 * @copydetails doc_returns_success_code 540 * @li @sedmlconstant{LIBSEDML_OPERATION_SUCCESS, OperationReturnValues_t} 541 * @li @sedmlconstant{LIBSEDML_OPERATION_FAILED, OperationReturnValues_t} 542 */ 543 virtual int getAttribute(const std::string& attributeName, int& value) const; 544 545 /** @endcond */ 546 547 548 549 /** @cond doxygenLibSEDMLInternal */ 550 551 /** 552 * Gets the value of the "attributeName" attribute of this SedFitMapping. 553 * 554 * @param attributeName, the name of the attribute to retrieve. 555 * 556 * @param value, the address of the value to record. 557 * 558 * @copydetails doc_returns_success_code 559 * @li @sedmlconstant{LIBSEDML_OPERATION_SUCCESS, OperationReturnValues_t} 560 * @li @sedmlconstant{LIBSEDML_OPERATION_FAILED, OperationReturnValues_t} 561 */ 562 virtual int getAttribute(const std::string& attributeName, 563 double& value) const; 564 565 /** @endcond */ 566 567 568 569 /** @cond doxygenLibSEDMLInternal */ 570 571 /** 572 * Gets the value of the "attributeName" attribute of this SedFitMapping. 573 * 574 * @param attributeName, the name of the attribute to retrieve. 575 * 576 * @param value, the address of the value to record. 577 * 578 * @copydetails doc_returns_success_code 579 * @li @sedmlconstant{LIBSEDML_OPERATION_SUCCESS, OperationReturnValues_t} 580 * @li @sedmlconstant{LIBSEDML_OPERATION_FAILED, OperationReturnValues_t} 581 */ 582 virtual int getAttribute(const std::string& attributeName, 583 unsigned int& value) const; 584 585 /** @endcond */ 586 587 588 589 /** @cond doxygenLibSEDMLInternal */ 590 591 /** 592 * Gets the value of the "attributeName" attribute of this SedFitMapping. 593 * 594 * @param attributeName, the name of the attribute to retrieve. 595 * 596 * @param value, the address of the value to record. 597 * 598 * @copydetails doc_returns_success_code 599 * @li @sedmlconstant{LIBSEDML_OPERATION_SUCCESS, OperationReturnValues_t} 600 * @li @sedmlconstant{LIBSEDML_OPERATION_FAILED, OperationReturnValues_t} 601 */ 602 virtual int getAttribute(const std::string& attributeName, 603 std::string& value) const; 604 605 /** @endcond */ 606 607 608 609 /** @cond doxygenLibSEDMLInternal */ 610 611 /** 612 * Predicate returning @c true if this SedFitMapping's attribute 613 * "attributeName" is set. 614 * 615 * @param attributeName, the name of the attribute to query. 616 * 617 * @return @c true if this SedFitMapping's attribute "attributeName" has been 618 * set, otherwise @c false is returned. 619 */ 620 virtual bool isSetAttribute(const std::string& attributeName) const; 621 622 /** @endcond */ 623 624 625 626 /** @cond doxygenLibSEDMLInternal */ 627 628 /** 629 * Sets the value of the "attributeName" attribute of this SedFitMapping. 630 * 631 * @param attributeName, the name of the attribute to set. 632 * 633 * @param value, the value of the attribute to set. 634 * 635 * @copydetails doc_returns_success_code 636 * @li @sedmlconstant{LIBSEDML_OPERATION_SUCCESS, OperationReturnValues_t} 637 * @li @sedmlconstant{LIBSEDML_OPERATION_FAILED, OperationReturnValues_t} 638 */ 639 virtual int setAttribute(const std::string& attributeName, bool value); 640 641 /** @endcond */ 642 643 644 645 /** @cond doxygenLibSEDMLInternal */ 646 647 /** 648 * Sets the value of the "attributeName" attribute of this SedFitMapping. 649 * 650 * @param attributeName, the name of the attribute to set. 651 * 652 * @param value, the value of the attribute to set. 653 * 654 * @copydetails doc_returns_success_code 655 * @li @sedmlconstant{LIBSEDML_OPERATION_SUCCESS, OperationReturnValues_t} 656 * @li @sedmlconstant{LIBSEDML_OPERATION_FAILED, OperationReturnValues_t} 657 */ 658 virtual int setAttribute(const std::string& attributeName, int value); 659 660 /** @endcond */ 661 662 663 664 /** @cond doxygenLibSEDMLInternal */ 665 666 /** 667 * Sets the value of the "attributeName" attribute of this SedFitMapping. 668 * 669 * @param attributeName, the name of the attribute to set. 670 * 671 * @param value, the value of the attribute to set. 672 * 673 * @copydetails doc_returns_success_code 674 * @li @sedmlconstant{LIBSEDML_OPERATION_SUCCESS, OperationReturnValues_t} 675 * @li @sedmlconstant{LIBSEDML_OPERATION_FAILED, OperationReturnValues_t} 676 */ 677 virtual int setAttribute(const std::string& attributeName, double value); 678 679 /** @endcond */ 680 681 682 683 /** @cond doxygenLibSEDMLInternal */ 684 685 /** 686 * Sets the value of the "attributeName" attribute of this SedFitMapping. 687 * 688 * @param attributeName, the name of the attribute to set. 689 * 690 * @param value, the value of the attribute to set. 691 * 692 * @copydetails doc_returns_success_code 693 * @li @sedmlconstant{LIBSEDML_OPERATION_SUCCESS, OperationReturnValues_t} 694 * @li @sedmlconstant{LIBSEDML_OPERATION_FAILED, OperationReturnValues_t} 695 */ 696 virtual int setAttribute(const std::string& attributeName, 697 unsigned int value); 698 699 /** @endcond */ 700 701 702 703 /** @cond doxygenLibSEDMLInternal */ 704 705 /** 706 * Sets the value of the "attributeName" attribute of this SedFitMapping. 707 * 708 * @param attributeName, the name of the attribute to set. 709 * 710 * @param value, the value of the attribute to set. 711 * 712 * @copydetails doc_returns_success_code 713 * @li @sedmlconstant{LIBSEDML_OPERATION_SUCCESS, OperationReturnValues_t} 714 * @li @sedmlconstant{LIBSEDML_OPERATION_FAILED, OperationReturnValues_t} 715 */ 716 virtual int setAttribute(const std::string& attributeName, 717 const std::string& value); 718 719 /** @endcond */ 720 721 722 723 /** @cond doxygenLibSEDMLInternal */ 724 725 /** 726 * Unsets the value of the "attributeName" attribute of this SedFitMapping. 727 * 728 * @param attributeName, the name of the attribute to query. 729 * 730 * @copydetails doc_returns_success_code 731 * @li @sedmlconstant{LIBSEDML_OPERATION_SUCCESS, OperationReturnValues_t} 732 * @li @sedmlconstant{LIBSEDML_OPERATION_FAILED, OperationReturnValues_t} 733 */ 734 virtual int unsetAttribute(const std::string& attributeName); 735 736 /** @endcond */ 737 738 739 740 741 #endif /* !SWIG */ 742 743 744 protected: 745 746 747 /** @cond doxygenLibSEDMLInternal */ 748 749 /** 750 * Adds the expected attributes for this element 751 */ 752 virtual void addExpectedAttributes(LIBSBML_CPP_NAMESPACE_QUALIFIER 753 ExpectedAttributes& attributes); 754 755 /** @endcond */ 756 757 758 759 /** @cond doxygenLibSEDMLInternal */ 760 761 /** 762 * Reads the expected attributes into the member data variables 763 */ 764 virtual void readAttributes( 765 const LIBSBML_CPP_NAMESPACE_QUALIFIER 766 XMLAttributes& attributes, 767 const LIBSBML_CPP_NAMESPACE_QUALIFIER 768 ExpectedAttributes& expectedAttributes); 769 770 /** @endcond */ 771 772 773 774 /** @cond doxygenLibSEDMLInternal */ 775 776 /** 777 * Writes the attributes to the stream 778 */ 779 virtual void writeAttributes(LIBSBML_CPP_NAMESPACE_QUALIFIER XMLOutputStream& 780 stream) const; 781 782 /** @endcond */ 783 784 785 }; 786 787 788 789 LIBSEDML_CPP_NAMESPACE_END 790 791 792 793 794 #endif /* __cplusplus */ 795 796 797 798 799 #ifndef SWIG 800 801 802 803 804 LIBSEDML_CPP_NAMESPACE_BEGIN 805 806 807 808 809 BEGIN_C_DECLS 810 811 812 /** 813 * Creates a new SedFitMapping_t using the given SED-ML Level and @ p version 814 * values. 815 * 816 * @param level an unsigned int, the SED-ML Level to assign to this 817 * SedFitMapping_t. 818 * 819 * @param version an unsigned int, the SED-ML Version to assign to this 820 * SedFitMapping_t. 821 * 822 * @copydetails doc_note_setting_lv_pkg 823 * 824 * @copydetails doc_returned_owned_pointer 825 * 826 * @memberof SedFitMapping_t 827 */ 828 LIBSEDML_EXTERN 829 SedFitMapping_t * 830 SedFitMapping_create(unsigned int level, unsigned int version); 831 832 833 /** 834 * Creates and returns a deep copy of this SedFitMapping_t object. 835 * 836 * @param sfm the SedFitMapping_t structure. 837 * 838 * @return a (deep) copy of this SedFitMapping_t object. 839 * 840 * @copydetails doc_returned_owned_pointer 841 * 842 * @memberof SedFitMapping_t 843 */ 844 LIBSEDML_EXTERN 845 SedFitMapping_t* 846 SedFitMapping_clone(const SedFitMapping_t* sfm); 847 848 849 /** 850 * Frees this SedFitMapping_t object. 851 * 852 * @param sfm the SedFitMapping_t structure. 853 * 854 * @memberof SedFitMapping_t 855 */ 856 LIBSEDML_EXTERN 857 void 858 SedFitMapping_free(SedFitMapping_t* sfm); 859 860 861 /** 862 * Returns the value of the "dataSource" attribute of this SedFitMapping_t. 863 * 864 * @param sfm the SedFitMapping_t structure whose dataSource is sought. 865 * 866 * @return the value of the "dataSource" attribute of this SedFitMapping_t as a 867 * pointer to a string. 868 * 869 * @copydetails doc_returned_owned_char 870 * 871 * @memberof SedFitMapping_t 872 */ 873 LIBSEDML_EXTERN 874 char * 875 SedFitMapping_getDataSource(const SedFitMapping_t * sfm); 876 877 878 /** 879 * Returns the value of the "target" attribute of this SedFitMapping_t. 880 * 881 * @param sfm the SedFitMapping_t structure whose target is sought. 882 * 883 * @return the value of the "target" attribute of this SedFitMapping_t as a 884 * pointer to a string. 885 * 886 * @copydetails doc_returned_owned_char 887 * 888 * @memberof SedFitMapping_t 889 */ 890 LIBSEDML_EXTERN 891 char * 892 SedFitMapping_getTarget(const SedFitMapping_t * sfm); 893 894 895 /** 896 * Returns the value of the "type" attribute of this SedFitMapping_t. 897 * 898 * @param sfm the SedFitMapping_t structure whose type is sought. 899 * 900 * @return the value of the "type" attribute of this SedFitMapping_t as a 901 * MappingType_t. 902 * 903 * @copydetails doc_sedfitmapping_type 904 * @if clike The value is drawn from the enumeration @ref MappingType_t @endif 905 * The possible values returned by this method are: 906 * @li @sbmlconstant{SEDML_MAPPINGTYPE_TIME, MappingType_t} 907 * @li @sbmlconstant{SEDML_MAPPINGTYPE_EXPERIMENTALCONDITION, MappingType_t} 908 * @li @sbmlconstant{SEDML_MAPPINGTYPE_OBSERVABLE, MappingType_t} 909 * @li @sbmlconstant{SEDML_MAPPINGTYPE_INVALID, MappingType_t} 910 * 911 * @memberof SedFitMapping_t 912 */ 913 LIBSEDML_EXTERN 914 MappingType_t 915 SedFitMapping_getType(const SedFitMapping_t * sfm); 916 917 918 /** 919 * Returns the value of the "type" attribute of this SedFitMapping_t. 920 * 921 * @param sfm the SedFitMapping_t structure whose type is sought. 922 * 923 * @return the value of the "type" attribute of this SedFitMapping_t as a const 924 * char *. 925 * 926 * @copydetails doc_returned_unowned_char 927 * 928 * @copydetails doc_sedfitmapping_type 929 * The possible values returned by this method are: 930 * @li @c "time" 931 * @li @c "experimentalCondition" 932 * @li @c "observable" 933 * @li @c "invalid MappingType value" 934 * 935 * @memberof SedFitMapping_t 936 */ 937 LIBSEDML_EXTERN 938 char * 939 SedFitMapping_getTypeAsString(const SedFitMapping_t * sfm); 940 941 942 /** 943 * Returns the value of the "weight" attribute of this SedFitMapping_t. 944 * 945 * @param sfm the SedFitMapping_t structure whose weight is sought. 946 * 947 * @return the value of the "weight" attribute of this SedFitMapping_t as a 948 * double. 949 * 950 * @memberof SedFitMapping_t 951 */ 952 LIBSEDML_EXTERN 953 double 954 SedFitMapping_getWeight(const SedFitMapping_t * sfm); 955 956 957 /** 958 * Returns the value of the "pointWeight" attribute of this SedFitMapping_t. 959 * 960 * @param sfm the SedFitMapping_t structure whose pointWeight is sought. 961 * 962 * @return the value of the "pointWeight" attribute of this SedFitMapping_t as 963 * a pointer to a string. 964 * 965 * @copydetails doc_returned_owned_char 966 * 967 * @memberof SedFitMapping_t 968 */ 969 LIBSEDML_EXTERN 970 char * 971 SedFitMapping_getPointWeight(const SedFitMapping_t * sfm); 972 973 974 /** 975 * Predicate returning @c 1 (true) if this SedFitMapping_t's "dataSource" 976 * attribute is set. 977 * 978 * @param sfm the SedFitMapping_t structure. 979 * 980 * @return @c 1 (true) if this SedFitMapping_t's "dataSource" attribute has 981 * been set, otherwise @c 0 (false) is returned. 982 * 983 * @memberof SedFitMapping_t 984 */ 985 LIBSEDML_EXTERN 986 int 987 SedFitMapping_isSetDataSource(const SedFitMapping_t * sfm); 988 989 990 /** 991 * Predicate returning @c 1 (true) if this SedFitMapping_t's "target" attribute 992 * is set. 993 * 994 * @param sfm the SedFitMapping_t structure. 995 * 996 * @return @c 1 (true) if this SedFitMapping_t's "target" attribute has been 997 * set, otherwise @c 0 (false) is returned. 998 * 999 * @memberof SedFitMapping_t 1000 */ 1001 LIBSEDML_EXTERN 1002 int 1003 SedFitMapping_isSetTarget(const SedFitMapping_t * sfm); 1004 1005 1006 /** 1007 * Predicate returning @c 1 (true) if this SedFitMapping_t's "type" attribute 1008 * is set. 1009 * 1010 * @param sfm the SedFitMapping_t structure. 1011 * 1012 * @return @c 1 (true) if this SedFitMapping_t's "type" attribute has been set, 1013 * otherwise @c 0 (false) is returned. 1014 * 1015 * @copydetails doc_sedfitmapping_type 1016 * 1017 * @memberof SedFitMapping_t 1018 */ 1019 LIBSEDML_EXTERN 1020 int 1021 SedFitMapping_isSetType(const SedFitMapping_t * sfm); 1022 1023 1024 /** 1025 * Predicate returning @c 1 (true) if this SedFitMapping_t's "weight" attribute 1026 * is set. 1027 * 1028 * @param sfm the SedFitMapping_t structure. 1029 * 1030 * @return @c 1 (true) if this SedFitMapping_t's "weight" attribute has been 1031 * set, otherwise @c 0 (false) is returned. 1032 * 1033 * @memberof SedFitMapping_t 1034 */ 1035 LIBSEDML_EXTERN 1036 int 1037 SedFitMapping_isSetWeight(const SedFitMapping_t * sfm); 1038 1039 1040 /** 1041 * Predicate returning @c 1 (true) if this SedFitMapping_t's "pointWeight" 1042 * attribute is set. 1043 * 1044 * @param sfm the SedFitMapping_t structure. 1045 * 1046 * @return @c 1 (true) if this SedFitMapping_t's "pointWeight" attribute has 1047 * been set, otherwise @c 0 (false) is returned. 1048 * 1049 * @memberof SedFitMapping_t 1050 */ 1051 LIBSEDML_EXTERN 1052 int 1053 SedFitMapping_isSetPointWeight(const SedFitMapping_t * sfm); 1054 1055 1056 /** 1057 * Sets the value of the "dataSource" attribute of this SedFitMapping_t. 1058 * 1059 * @param sfm the SedFitMapping_t structure. 1060 * 1061 * @param dataSource const char * value of the "dataSource" attribute to be 1062 * set. 1063 * 1064 * @copydetails doc_returns_success_code 1065 * @li @sedmlconstant{LIBSEDML_OPERATION_SUCCESS, OperationReturnValues_t} 1066 * @li @sedmlconstant{LIBSEDML_INVALID_ATTRIBUTE_VALUE, 1067 * OperationReturnValues_t} 1068 * @li @sedmlconstant{LIBSEDML_INVALID_OBJECT, OperationReturnValues_t} 1069 * 1070 * @memberof SedFitMapping_t 1071 */ 1072 LIBSEDML_EXTERN 1073 int 1074 SedFitMapping_setDataSource(SedFitMapping_t * sfm, const char * dataSource); 1075 1076 1077 /** 1078 * Sets the value of the "target" attribute of this SedFitMapping_t. 1079 * 1080 * @param sfm the SedFitMapping_t structure. 1081 * 1082 * @param target const char * value of the "target" attribute to be set. 1083 * 1084 * @copydetails doc_returns_success_code 1085 * @li @sedmlconstant{LIBSEDML_OPERATION_SUCCESS, OperationReturnValues_t} 1086 * @li @sedmlconstant{LIBSEDML_INVALID_ATTRIBUTE_VALUE, 1087 * OperationReturnValues_t} 1088 * @li @sedmlconstant{LIBSEDML_INVALID_OBJECT, OperationReturnValues_t} 1089 * 1090 * @memberof SedFitMapping_t 1091 */ 1092 LIBSEDML_EXTERN 1093 int 1094 SedFitMapping_setTarget(SedFitMapping_t * sfm, const char * target); 1095 1096 1097 /** 1098 * Sets the value of the "type" attribute of this SedFitMapping_t. 1099 * 1100 * @param sfm the SedFitMapping_t structure. 1101 * 1102 * @param type MappingType_t value of the "type" attribute to be set. 1103 * 1104 * @copydetails doc_returns_success_code 1105 * @li @sedmlconstant{LIBSEDML_OPERATION_SUCCESS, OperationReturnValues_t} 1106 * @li @sedmlconstant{LIBSEDML_INVALID_ATTRIBUTE_VALUE, 1107 * OperationReturnValues_t} 1108 * @li @sedmlconstant{LIBSEDML_INVALID_OBJECT, OperationReturnValues_t} 1109 * 1110 * @copydetails doc_sedfitmapping_type 1111 * 1112 * @memberof SedFitMapping_t 1113 */ 1114 LIBSEDML_EXTERN 1115 int 1116 SedFitMapping_setType(SedFitMapping_t * sfm, MappingType_t type); 1117 1118 1119 /** 1120 * Sets the value of the "type" attribute of this SedFitMapping_t. 1121 * 1122 * @param sfm the SedFitMapping_t structure. 1123 * 1124 * @param type const char * of the "type" attribute to be set. 1125 * 1126 * @copydetails doc_returns_success_code 1127 * @li @sedmlconstant{LIBSEDML_OPERATION_SUCCESS, OperationReturnValues_t} 1128 * @li @sedmlconstant{LIBSEDML_INVALID_ATTRIBUTE_VALUE, 1129 * OperationReturnValues_t} 1130 * @li @sedmlconstant{LIBSEDML_INVALID_OBJECT, OperationReturnValues_t} 1131 * 1132 * @copydetails doc_sedfitmapping_type 1133 * 1134 * @memberof SedFitMapping_t 1135 */ 1136 LIBSEDML_EXTERN 1137 int 1138 SedFitMapping_setTypeAsString(SedFitMapping_t * sfm, const char * type); 1139 1140 1141 /** 1142 * Sets the value of the "weight" attribute of this SedFitMapping_t. 1143 * 1144 * @param sfm the SedFitMapping_t structure. 1145 * 1146 * @param weight double value of the "weight" attribute to be set. 1147 * 1148 * @copydetails doc_returns_success_code 1149 * @li @sedmlconstant{LIBSEDML_OPERATION_SUCCESS, OperationReturnValues_t} 1150 * @li @sedmlconstant{LIBSEDML_INVALID_ATTRIBUTE_VALUE, 1151 * OperationReturnValues_t} 1152 * @li @sedmlconstant{LIBSEDML_INVALID_OBJECT, OperationReturnValues_t} 1153 * 1154 * @memberof SedFitMapping_t 1155 */ 1156 LIBSEDML_EXTERN 1157 int 1158 SedFitMapping_setWeight(SedFitMapping_t * sfm, double weight); 1159 1160 1161 /** 1162 * Sets the value of the "pointWeight" attribute of this SedFitMapping_t. 1163 * 1164 * @param sfm the SedFitMapping_t structure. 1165 * 1166 * @param pointWeight const char * value of the "pointWeight" attribute to be 1167 * set. 1168 * 1169 * @copydetails doc_returns_success_code 1170 * @li @sedmlconstant{LIBSEDML_OPERATION_SUCCESS, OperationReturnValues_t} 1171 * @li @sedmlconstant{LIBSEDML_INVALID_ATTRIBUTE_VALUE, 1172 * OperationReturnValues_t} 1173 * @li @sedmlconstant{LIBSEDML_INVALID_OBJECT, OperationReturnValues_t} 1174 * 1175 * @memberof SedFitMapping_t 1176 */ 1177 LIBSEDML_EXTERN 1178 int 1179 SedFitMapping_setPointWeight(SedFitMapping_t * sfm, const char * pointWeight); 1180 1181 1182 /** 1183 * Unsets the value of the "dataSource" attribute of this SedFitMapping_t. 1184 * 1185 * @param sfm the SedFitMapping_t structure. 1186 * 1187 * @copydetails doc_returns_success_code 1188 * @li @sedmlconstant{LIBSEDML_OPERATION_SUCCESS, OperationReturnValues_t} 1189 * @li @sedmlconstant{LIBSEDML_OPERATION_FAILED, OperationReturnValues_t} 1190 * @li @sedmlconstant{LIBSEDML_INVALID_OBJECT, OperationReturnValues_t} 1191 * 1192 * @memberof SedFitMapping_t 1193 */ 1194 LIBSEDML_EXTERN 1195 int 1196 SedFitMapping_unsetDataSource(SedFitMapping_t * sfm); 1197 1198 1199 /** 1200 * Unsets the value of the "target" attribute of this SedFitMapping_t. 1201 * 1202 * @param sfm the SedFitMapping_t structure. 1203 * 1204 * @copydetails doc_returns_success_code 1205 * @li @sedmlconstant{LIBSEDML_OPERATION_SUCCESS, OperationReturnValues_t} 1206 * @li @sedmlconstant{LIBSEDML_OPERATION_FAILED, OperationReturnValues_t} 1207 * @li @sedmlconstant{LIBSEDML_INVALID_OBJECT, OperationReturnValues_t} 1208 * 1209 * @memberof SedFitMapping_t 1210 */ 1211 LIBSEDML_EXTERN 1212 int 1213 SedFitMapping_unsetTarget(SedFitMapping_t * sfm); 1214 1215 1216 /** 1217 * Unsets the value of the "type" attribute of this SedFitMapping_t. 1218 * 1219 * @param sfm the SedFitMapping_t structure. 1220 * 1221 * @copydetails doc_returns_success_code 1222 * @li @sedmlconstant{LIBSEDML_OPERATION_SUCCESS, OperationReturnValues_t} 1223 * @li @sedmlconstant{LIBSEDML_INVALID_OBJECT, OperationReturnValues_t} 1224 * 1225 * @copydetails doc_sedfitmapping_type 1226 * 1227 * @memberof SedFitMapping_t 1228 */ 1229 LIBSEDML_EXTERN 1230 int 1231 SedFitMapping_unsetType(SedFitMapping_t * sfm); 1232 1233 1234 /** 1235 * Unsets the value of the "weight" attribute of this SedFitMapping_t. 1236 * 1237 * @param sfm the SedFitMapping_t structure. 1238 * 1239 * @copydetails doc_returns_success_code 1240 * @li @sedmlconstant{LIBSEDML_OPERATION_SUCCESS, OperationReturnValues_t} 1241 * @li @sedmlconstant{LIBSEDML_OPERATION_FAILED, OperationReturnValues_t} 1242 * @li @sedmlconstant{LIBSEDML_INVALID_OBJECT, OperationReturnValues_t} 1243 * 1244 * @memberof SedFitMapping_t 1245 */ 1246 LIBSEDML_EXTERN 1247 int 1248 SedFitMapping_unsetWeight(SedFitMapping_t * sfm); 1249 1250 1251 /** 1252 * Unsets the value of the "pointWeight" attribute of this SedFitMapping_t. 1253 * 1254 * @param sfm the SedFitMapping_t structure. 1255 * 1256 * @copydetails doc_returns_success_code 1257 * @li @sedmlconstant{LIBSEDML_OPERATION_SUCCESS, OperationReturnValues_t} 1258 * @li @sedmlconstant{LIBSEDML_OPERATION_FAILED, OperationReturnValues_t} 1259 * @li @sedmlconstant{LIBSEDML_INVALID_OBJECT, OperationReturnValues_t} 1260 * 1261 * @memberof SedFitMapping_t 1262 */ 1263 LIBSEDML_EXTERN 1264 int 1265 SedFitMapping_unsetPointWeight(SedFitMapping_t * sfm); 1266 1267 1268 /** 1269 * Predicate returning @c 1 (true) if all the required attributes for this 1270 * SedFitMapping_t object have been set. 1271 * 1272 * @param sfm the SedFitMapping_t structure. 1273 * 1274 * @return @c 1 (true) to indicate that all the required attributes of this 1275 * SedFitMapping_t have been set, otherwise @c 0 (false) is returned. 1276 * 1277 * 1278 * @note The required attributes for the SedFitMapping_t object are: 1279 * @li "dataSource" 1280 * @li "target" 1281 * @li "type" 1282 * 1283 * @memberof SedFitMapping_t 1284 */ 1285 LIBSEDML_EXTERN 1286 int 1287 SedFitMapping_hasRequiredAttributes(const SedFitMapping_t * sfm); 1288 1289 1290 1291 1292 END_C_DECLS 1293 1294 1295 1296 1297 LIBSEDML_CPP_NAMESPACE_END 1298 1299 1300 1301 1302 #endif /* !SWIG */ 1303 1304 1305 1306 1307 #endif /* !SedFitMapping_H__ */ 1308 1309 1310