1 //------------------------------------------------------------------------------ 2 // <auto-generated /> 3 // 4 // This file was automatically generated by SWIG (http://www.swig.org). 5 // Version 4.0.2 6 // 7 // Do not make changes to this file unless you know what you are doing--modify 8 // the SWIG interface file instead. 9 //------------------------------------------------------------------------------ 10 11 namespace libsbml { 12 13 using System; 14 using System.Runtime.InteropServices; 15 16 /** 17 * @sbmlpackage{core} 18 * 19 @htmlinclude pkg-marker-core.html An SBML model. 20 * 21 * In an SBML model definition, a single object of class Model serves as 22 * the overall container for the lists of the various model components. 23 * All of the lists are optional, but if a given list container is present 24 * within the model, the list must not be empty; that is, it must have 25 * length one or more. The following are the components and lists 26 * permitted in different Levels and Versions of SBML in 27 * version @htmlinclude libsbml-version.html 28 * of libSBML: 29 * <ul> 30 * <li> In SBML Level 1, the components are: UnitDefinition, Compartment, 31 * Species, Parameter, Rule, and Reaction. Instances of the classes are 32 * placed inside instances of classes ListOfUnitDefinitions, 33 * ListOfCompartments, ListOfSpecies, ListOfParameters, ListOfRules, and 34 * ListOfReactions. 35 * 36 * <li> In SBML Level 2 Version 1, the components are: FunctionDefinition, 37 * UnitDefinition, Compartment, Species, Parameter, Rule, Reaction and 38 * Event. Instances of the classes are placed inside instances of classes 39 * ListOfFunctionDefinitions, ListOfUnitDefinitions, ListOfCompartments, 40 * ListOfSpecies, ListOfParameters, ListOfRules, ListOfReactions, and 41 * ListOfEvents. 42 * 43 * <li> In SBML Level 2 Versions 2, 3 and 4, the components are: 44 * FunctionDefinition, UnitDefinition, CompartmentType, SpeciesType, 45 * Compartment, Species, Parameter, InitialAssignment, Rule, Constraint, 46 * Reaction and Event. Instances of the classes are placed inside 47 * instances of classes ListOfFunctionDefinitions, ListOfUnitDefinitions, 48 * ListOfCompartmentTypes, ListOfSpeciesTypes, ListOfCompartments, 49 * ListOfSpecies, ListOfParameters, ListOfInitialAssignments, ListOfRules, 50 * ListOfConstraints, ListOfReactions, and ListOfEvents. 51 * 52 * <li> In SBML Level 3 Version 1, the components are: FunctionDefinition, 53 * UnitDefinition, Compartment, Species, Parameter, InitialAssignment, 54 * Rule, Constraint, Reaction and Event. Instances of the classes are 55 * placed inside instances of classes ListOfFunctionDefinitions, 56 * ListOfUnitDefinitions, ListOfCompartments, ListOfSpecies, 57 * ListOfParameters, ListOfInitialAssignments, ListOfRules, 58 * ListOfConstraints, ListOfReactions, and ListOfEvents. 59 * </ul> 60 * 61 * Although all the lists are optional, there are dependencies between SBML 62 * components such that defining some components requires defining others. 63 * An example is that defining a species requires defining a compartment, 64 * and defining a reaction requires defining a species. The dependencies 65 * are explained in more detail in the SBML specifications. 66 * 67 * In addition to the above lists and attributes, the Model class in both 68 * SBML Level 2 and Level 3 has the usual two attributes of 'id' 69 * and 'name', and both are optional. As is the case for other SBML 70 * components with 'id' and 'name' attributes, they must be used according 71 * to the guidelines described in the SBML specifications. (Within the 72 * frameworks of SBML Level 2 and Level 3, a 73 * Model object identifier has no assigned meaning, but extension packages 74 * planned for SBML Level 3 are likely to make use of this 75 * identifier.) 76 * 77 * Finally, SBML Level 3 has introduced a number of additional Model 78 * attributes. They are discussed in a separate section below. 79 * 80 * 81 * @section approaches Approaches to creating objects using the libSBML API 82 * 83 * LibSBML provides two main mechanisms for creating objects: class 84 * constructors 85 * (e.g., @if java <a href='org/sbml/libsbml/Species.html'>Species()</a> @else Species::Species() @endif), 86 * and <code>create<span class='placeholder-nospace'><em>Object</em></span>()</code> 87 * methods (such as Model::createSpecies()) provided by certain <span 88 * class='placeholder-nospace'><em>Object</em></span> classes such as Model. These 89 * multiple mechanisms are provided by libSBML for flexibility and to 90 * support different use-cases, but they also have different implications 91 * for the overall model structure. 92 * 93 * In general, the recommended approach is to use the <code>create<span 94 * class='placeholder-nospace'><em>Object</em></span>()</code> methods. These 95 * methods both create an object @em and link it to the parent in one step. 96 * Here is an example:@if clike 97 * @code{.cpp} 98 // Create an SBMLDocument object in Level 3 Version 1 format: 99 100 SBMLDocument sbmlDoc = new SBMLDocument(3, 1); 101 102 // Create a Model object inside the SBMLDocument object and set 103 // its identifier. The call returns a pointer to the Model object 104 // created, and methods called on that object affect the attributes 105 // of the object attached to the model (as expected). 106 107 Model model = sbmlDoc->createModel(); 108 model->setId('BestModelEver'); 109 110 // Create a Species object inside the Model and set its identifier. 111 // Similar to the lines above, this call returns a pointer to the Species 112 // object created, and methods called on that object affect the attributes 113 // of the object attached to the model (as expected). 114 115 Species sp = model->createSpecies(); 116 sp->setId('MySpecies'); 117 @endcode 118 * @endif@if java 119 @code{.java} 120 // Create an SBMLDocument object in Level 3 Version 1 format: 121 122 SBMLDocument sbmlDoc = new SBMLDocument(3, 1); 123 124 // Create a Model object inside the SBMLDocument object and set 125 // its identifier. The call returns a pointer to the Model object 126 // created, and methods called on that object affect the attributes 127 // of the object attached to the model (as expected). Note that 128 // the call to setId() returns a status code, and a real program 129 // should check this status code to make sure everything went okay. 130 131 Model model = sbmlDoc.createModel(); 132 model.setId("BestModelEver"); 133 134 // Create a Species object inside the Model and set its identifier. 135 // Similar to the lines above, this call returns a pointer to the Species 136 // object created, and methods called on that object affect the attributes 137 // of the object attached to the model (as expected). Note that, like 138 // with Model, the call to setId() returns a status code, and a real program 139 // should check this status code to make sure everything went okay. 140 141 Species sp = model.createSpecies(); 142 sp.setId("BestSpeciesEver"); 143 @endcode 144 * @endif@if python 145 @code{.py} 146 # Create an SBMLDocument object in Level 3 Version 1 format. 147 # Make sure to check for possible failures. 148 149 try: 150 sbmlDoc = SBMLDocument(3, 1) 151 except ValueError: 152 print('Could not create SBMLDocument object') 153 sys.exit(1) 154 155 # Create a Model object inside the SBMLDocument object and set its 156 # identifier, checking the returned values. The call to setId() returns a 157 # status code to indicate whether the assignment was successful. 158 159 model = sbmlDoc.createModel() 160 if model == None: 161 # Do something to handle the error here. 162 print('Unable to create Model object.') 163 sys.exit(1) 164 165 status = model.setId('BestModelEver') 166 if status != LIBSBML_OPERATION_SUCCESS: 167 # Do something to handle the error here. 168 print('Unable to set identifier on the Model object') 169 sys.exit(1) 170 171 # Create a Species object inside the Model and set its identifier. 172 # Again, the setId() returns a status code to indicate whether the 173 # assignment was successful. 174 175 sp = model.createSpecies() 176 if sp == None: 177 # Do something to handle the error here. 178 print('Unable to create Species object.') 179 sys.exit(1) 180 181 status = sp.setId('BestSpeciesEver') 182 if status != LIBSBML_OPERATION_SUCCESS: 183 # Do something to handle the error here. 184 print('Unable to set identifier on the Species object') 185 sys.exit(1) 186 @endcode 187 * @endif@if csharp 188 @code 189 // Create an SBMLDocument object in Level 3 Version 1 format: 190 191 SBMLDocument sbmlDoc = new SBMLDocument(3, 1); 192 193 // Create a Model object inside the SBMLDocument object and set 194 // its identifier. The call returns a pointer to the Model object 195 // created, and methods called on that object affect the attributes 196 // of the object attached to the model (as expected). 197 198 Model model = sbmlDoc.createModel(); 199 model.setId('BestModelEver'); 200 201 // Create a Species object inside the Model and set its identifier. 202 // Similar to the lines above, this call returns a pointer to the Species 203 // object created, and methods called on that object affect the attributes 204 // of the object attached to the model (as expected). 205 206 Species sp = model.createSpecies(); 207 sp.setId('MySpecies'); 208 @endcode 209 * @endif 210 * 211 * The <code>create<span 212 * class='placeholder-nospace'><em>Object</em></span>()</code> methods return a 213 * pointer to the object created, but they also add the object to the 214 * relevant list of object instances contained in the parent. (These lists 215 * become the <code><listOf<span 216 * class='placeholder-nospace'><em>Object</em></span>s></code> elements in the 217 * finished XML rendition of SBML.) In the example above, 218 * Model::createSpecies() adds the created species directly to the 219 * <code><listOfSpeciesgt;</code> list in the model. Subsequently, 220 * methods called on the species change the species in the model (which is 221 * what is expected in most situations). 222 * 223 * @section model-checking Consistency and adherence to SBML specifications 224 * 225 * To make it easier for applications to do whatever they need, 226 * libSBML version @htmlinclude libsbml-version.html 227 * is relatively lax when it comes to enforcing correctness and 228 * completeness of models @em during model construction and editing. 229 * Essentially, libSBML @em will @em not in most cases check automatically 230 * that a model's components have valid attribute values, or that the 231 * overall model is consistent and free of errors---even obvious errors 232 * such as duplication of identifiers. This allows applications great 233 * leeway in how they build their models, but it means that software 234 * authors must take deliberate steps to ensure that the model will be, in 235 * the end, valid SBML. These steps include such things as keeping track 236 * of the identifiers used in a model, manually performing updates in 237 * certain situations where an entity is referenced in more than one place 238 * (e.g., a species that is referenced by multiple SpeciesReference 239 * objects), and so on. 240 * 241 * That said, libSBML does provide powerful features for deliberately 242 * performing validation of SBML when an application decides it is time to 243 * do so. The interfaces to these facilities are on the SBMLDocument 244 * class, in the form of SBMLDocument::checkInternalConsistency() and 245 * SBMLDocument::checkConsistency(). Please refer to the documentation for 246 * SBMLDocument for more information about this. 247 * 248 * While applications may play fast and loose and live like free spirits 249 * during the construction and editing of SBML models, they should always 250 * make sure to call SBMLDocument::checkInternalConsistency() and/or 251 * SBMLDocument::checkConsistency() before writing out the final version of 252 * an SBML model. 253 * 254 * 255 * @section model-l3-attrib Model attributes introduced in SBML Level 3 256 * 257 * As mentioned above, the Model class has a number of optional attributes 258 * in SBML Level 3. These are 'substanceUnits', 259 * 'timeUnits', 'volumeUnits', 'areaUnits', 'lengthUnits', 'extentUnits', 260 * and 'conversionFactor. The following provide more information about 261 * them. 262 * 263 * @subsection model-l3-substanceunits The 'substanceUnits' attribute 264 * 265 * The 'substanceUnits' attribute is used to specify the unit of 266 * measurement associated with substance quantities of Species objects that 267 * do not specify units explicitly. If a given Species object definition 268 * does not specify its unit of substance quantity via the 'substanceUnits' 269 * attribute on the Species object instance, then that species inherits the 270 * value of the Model 'substanceUnits' attribute. If the Model does not 271 * define a value for this attribute, then there is no unit to inherit, and 272 * all species that do not specify individual 'substanceUnits' attribute 273 * values then have <em>no</em> declared units for their quantities. The 274 * SBML Level 3 specifications provide more details. 275 * 276 * Note that when the identifier of a species appears in a model's 277 * mathematical expressions, the unit of measurement associated with that 278 * identifier is <em>not solely determined</em> by setting 'substanceUnits' 279 * on Model or Species. Please see the discussion about units given in 280 * the documentation for the Species class. 281 * 282 * 283 * @subsection model-l3-timeunits The 'timeUnits' attribute 284 * 285 * The 'timeUnits' attribute on SBML Level 3's Model object is used to 286 * specify the unit in which time is measured in the model. This attribute 287 * on Model is the <em>only</em> way to specify a unit for time in a model. 288 * It is a global attribute; time is measured in the model everywhere in 289 * the same way. This is particularly relevant to Reaction and RateRule 290 * objects in a model: all Reaction and RateRule objects in SBML define 291 * per-time values, and the unit of time is given by the 'timeUnits' 292 * attribute on the Model object instance. If the Model 'timeUnits' 293 * attribute has no value, it means that the unit of time is not defined 294 * for the model's reactions and rate rules. Leaving it unspecified in an 295 * SBML model does not result in an invalid model in SBML Level 3; 296 * however, as a matter of best practice, we strongly recommend that all 297 * models specify units of measurement for time. 298 * 299 * 300 * @subsection model-l3-voletc The 'volumeUnits', 'areaUnits', and 'lengthUnits' attributes 301 * 302 * The attributes 'volumeUnits', 'areaUnits' and 'lengthUnits' together are 303 * used to set the units of measurements for the sizes of Compartment 304 * objects in an SBML Level 3 model when those objects do not 305 * otherwise specify units. The three attributes correspond to the most 306 * common cases of compartment dimensions: 'volumeUnits' for compartments 307 * having a 'spatialDimensions' attribute value of @c '3', 'areaUnits' for 308 * compartments having a 'spatialDimensions' attribute value of @c '2', and 309 * 'lengthUnits' for compartments having a 'spatialDimensions' attribute 310 * value of @c '1'. The attributes are not applicable to compartments 311 * whose 'spatialDimensions' attribute values are @em not one of @c '1', 312 * @c '2' or @c '3'. 313 * 314 * If a given Compartment object instance does not provide a value for its 315 * 'units' attribute, then the unit of measurement of that compartment's 316 * size is inherited from the value specified by the Model 'volumeUnits', 317 * 'areaUnits' or 'lengthUnits' attribute, as appropriate based on the 318 * Compartment object's 'spatialDimensions' attribute value. If the Model 319 * object does not define the relevant attribute, then there are no units 320 * to inherit, and all Compartment objects that do not set a value for 321 * their 'units' attribute then have <em>no</em> units associated with 322 * their compartment sizes. 323 * 324 * The use of three separate attributes is a carry-over from SBML 325 * Level 2. Note that it is entirely possible for a model to define a 326 * value for two or more of the attributes 'volumeUnits', 'areaUnits' and 327 * 'lengthUnits' simultaneously, because SBML models may contain 328 * compartments with different numbers of dimensions. 329 * 330 * 331 * @subsection model-l3-extentunits The 'extentUnits' attribute 332 * 333 * Reactions are processes that occur over time. These processes involve 334 * events of some sort, where a single ``reaction event'' is one in which 335 * some set of entities (known as reactants, products and modifiers in 336 * SBML) interact, once. The <em>extent</em> of a reaction is a measure of 337 * how many times the reaction has occurred, while the time derivative of 338 * the extent gives the instantaneous rate at which the reaction is 339 * occurring. Thus, what is colloquially referred to as the 'rate of the 340 * reaction' is in fact equal to the rate of change of reaction extent. 341 * 342 * In SBML Level 3, the combination of 'extentUnits' and 'timeUnits' 343 * defines the units of kinetic laws in SBML and establishes how the 344 * numerical value of each KineticLaw object's mathematical formula is 345 * meant to be interpreted in a model. The units of the kinetic laws are 346 * taken to be 'extentUnits' divided by 'timeUnits'. 347 * 348 * Note that this embodies an important principle in SBML Level 3 349 * models: <em>all reactions in an SBML model must have the same units</em> 350 * for the rate of change of extent. In other words, the units of all 351 * reaction rates in the model <em>must be the same</em>. There is only 352 * one global value for 'extentUnits' and one global value for 'timeUnits'. 353 * 354 * 355 * @subsection model-l3-convfactor The 'conversionFactor' attribute 356 * 357 * The attribute 'conversionFactor' in SBML Level 3's Model object 358 * defines a global value inherited by all Species object instances that do 359 * not define separate values for their 'conversionFactor' attributes. The 360 * value of this attribute must refer to a Parameter object instance 361 * defined in the model. The Parameter object in question must be a 362 * constant; ie it must have its 'constant' attribute value set to 363 * @c 'true'. 364 * 365 * If a given Species object definition does not specify a conversion 366 * factor via the 'conversionFactor' attribute on Species, then the species 367 * inherits the conversion factor specified by the Model 'conversionFactor' 368 * attribute. If the Model does not define a value for this attribute, 369 * then there is no conversion factor to inherit. More information about 370 * conversion factors is provided in the SBML Level 3 371 * specifications. 372 */ 373 374 public class Model : SBase { 375 private HandleRef swigCPtr; 376 Model(IntPtr cPtr, bool cMemoryOwn)377 internal Model(IntPtr cPtr, bool cMemoryOwn) : base(libsbmlPINVOKE.Model_SWIGUpcast(cPtr), cMemoryOwn) 378 { 379 //super(libsbmlPINVOKE.ModelUpcast(cPtr), cMemoryOwn); 380 swigCPtr = new HandleRef(this, cPtr); 381 } 382 getCPtr(Model obj)383 internal static HandleRef getCPtr(Model obj) 384 { 385 return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr; 386 } 387 getCPtrAndDisown(Model obj)388 internal static HandleRef getCPtrAndDisown (Model obj) 389 { 390 HandleRef ptr = new HandleRef(null, IntPtr.Zero); 391 392 if (obj != null) 393 { 394 ptr = obj.swigCPtr; 395 obj.swigCMemOwn = false; 396 } 397 398 return ptr; 399 } 400 Dispose(bool disposing)401 protected override void Dispose(bool disposing) { 402 lock(this) { 403 if (swigCPtr.Handle != global::System.IntPtr.Zero) { 404 if (swigCMemOwn) { 405 swigCMemOwn = false; 406 libsbmlPINVOKE.delete_Model(swigCPtr); 407 } 408 swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero); 409 } 410 base.Dispose(disposing); 411 } 412 } 413 414 415 /** 416 * Creates a new Model using the given SBML @p level and @p version 417 * values. 418 * 419 * @param level a long integer, the SBML Level to assign to this Model. 420 * 421 * @param version a long integer, the SBML Version to assign to this 422 * Model. 423 * 424 * 425 * @throws SBMLConstructorException 426 * Thrown if the given @p level and @p version combination are invalid 427 * or if this object is incompatible with the given level and version. 428 * 429 * 430 * 431 * 432 * @note Attempting to add an object to an SBMLDocument having a different 433 * combination of SBML Level, Version and XML namespaces than the object 434 * itself will result in an error at the time a caller attempts to make the 435 * addition. A parent object must have compatible Level, Version and XML 436 * namespaces. (Strictly speaking, a parent may also have more XML 437 * namespaces than a child, but the reverse is not permitted.) The 438 * restriction is necessary to ensure that an SBML model has a consistent 439 * overall structure. This requires callers to manage their objects 440 * carefully, but the benefit is increased flexibility in how models can be 441 * created by permitting callers to create objects bottom-up if desired. In 442 * situations where objects are not yet attached to parents (e.g., 443 * SBMLDocument), knowledge of the intented SBML Level and Version help 444 * libSBML determine such things as whether it is valid to assign a 445 * particular value to an attribute. 446 * 447 * 448 */ public Model(long level, long version)449 Model(long level, long version) : this(libsbmlPINVOKE.new_Model__SWIG_0(level, version), true) { 450 if (libsbmlPINVOKE.SWIGPendingException.Pending) throw libsbmlPINVOKE.SWIGPendingException.Retrieve(); 451 } 452 453 454 /** 455 * Creates a new Model using the given SBMLNamespaces object 456 * @p sbmlns. 457 * 458 * 459 * 460 * The SBMLNamespaces object encapsulates SBML Level/Version/namespaces 461 * information. It is used to communicate the SBML Level, Version, and (in 462 * Level 3) packages used in addition to SBML Level 3 Core. A 463 * common approach to using libSBML's SBMLNamespaces facilities is to create an 464 * SBMLNamespaces object somewhere in a program once, then hand that object 465 * as needed to object constructors that accept SBMLNamespaces as arguments. 466 * 467 * 468 * 469 * @param sbmlns an SBMLNamespaces object. 470 * 471 * 472 * @throws SBMLConstructorException 473 * Thrown if the given @p sbmlns is inconsistent or incompatible 474 * with this object. 475 * 476 * 477 * 478 * 479 * @note Attempting to add an object to an SBMLDocument having a different 480 * combination of SBML Level, Version and XML namespaces than the object 481 * itself will result in an error at the time a caller attempts to make the 482 * addition. A parent object must have compatible Level, Version and XML 483 * namespaces. (Strictly speaking, a parent may also have more XML 484 * namespaces than a child, but the reverse is not permitted.) The 485 * restriction is necessary to ensure that an SBML model has a consistent 486 * overall structure. This requires callers to manage their objects 487 * carefully, but the benefit is increased flexibility in how models can be 488 * created by permitting callers to create objects bottom-up if desired. In 489 * situations where objects are not yet attached to parents (e.g., 490 * SBMLDocument), knowledge of the intented SBML Level and Version help 491 * libSBML determine such things as whether it is valid to assign a 492 * particular value to an attribute. 493 * 494 * 495 */ public Model(SBMLNamespaces sbmlns)496 Model(SBMLNamespaces sbmlns) : this(libsbmlPINVOKE.new_Model__SWIG_1(SBMLNamespaces.getCPtr(sbmlns)), true) { 497 if (libsbmlPINVOKE.SWIGPendingException.Pending) throw libsbmlPINVOKE.SWIGPendingException.Retrieve(); 498 } 499 500 501 /** 502 * Copy constructor; creates a (deep) copy of the given Model object. 503 * 504 * @param orig the object to copy. 505 */ public Model(Model orig)506 Model(Model orig) : this(libsbmlPINVOKE.new_Model__SWIG_2(Model.getCPtr(orig)), true) { 507 if (libsbmlPINVOKE.SWIGPendingException.Pending) throw libsbmlPINVOKE.SWIGPendingException.Retrieve(); 508 } 509 510 511 /** 512 * Creates and returns a deep copy of this Model object. 513 * 514 * @return the (deep) copy of this Model object. 515 */ public new clone()516 Model clone() { 517 global::System.IntPtr cPtr = libsbmlPINVOKE.Model_clone(swigCPtr); 518 Model ret = (cPtr == global::System.IntPtr.Zero) ? null : new Model(cPtr, true); 519 return ret; 520 } 521 522 523 /** 524 * Returns the first child element found that has the given @p id. 525 * 526 * This operation searches the model-wide <code>SId</code> identifier 527 * type namespace 528 * 529 * @param id string representing the id of the object to find. 530 * 531 * @return pointer to the first element found with the given @p id, or 532 * @c null if no such object is found. 533 */ public new getElementBySId(string id)534 SBase getElementBySId(string id) { 535 SBase ret = (SBase) libsbml.DowncastSBase(libsbmlPINVOKE.Model_getElementBySId(swigCPtr, id), false); 536 return ret; 537 } 538 539 540 /** 541 * Returns the first child element it can find with the given @p metaid. 542 * 543 * @param metaid string representing the meta-identifier of the object to 544 * find. 545 * 546 * @return pointer to the first element found with the given @p metaid, or 547 * null if no such object is found. 548 */ public new getElementByMetaId(string metaid)549 SBase getElementByMetaId(string metaid) { 550 SBase ret = (SBase) libsbml.DowncastSBase(libsbmlPINVOKE.Model_getElementByMetaId(swigCPtr, metaid), false); 551 return ret; 552 } 553 554 555 /** 556 * Returns the value of the 'id' attribute of this Model. 557 * 558 * @note Because of the inconsistent behavior of this function with 559 * respect to assignments and rules, it is now recommended to 560 * use the getIdAttribute() function instead. 561 * 562 * 563 * 564 * The identifier given by an object's 'id' attribute value 565 * is used to identify the object within the SBML model definition. 566 * Other objects can refer to the component using this identifier. The 567 * data type of 'id' is always <code>SId</code> or a type derived 568 * from that, such as <code>UnitSId</code>, depending on the object in 569 * question. All data types are defined as follows: 570 * <pre style='margin-left: 2em; border: none; font-weight: bold; color: black'> 571 * letter ::= 'a'..'z','A'..'Z' 572 * digit ::= '0'..'9' 573 * idChar ::= letter | digit | '_' 574 * SId ::= ( letter | '_' ) idChar* 575 * </pre> 576 * The characters <code>(</code> and <code>)</code> are used for grouping, 577 * the character <code>*</code> 'zero or more times', and the character 578 * <code>|</code> indicates logical 'or'. The equality of SBML identifiers 579 * is determined by an exact character sequence match; i.e., comparisons must 580 * be performed in a case-sensitive manner. This applies to all uses of 581 * <code>SId</code>, <code>SIdRef</code>, and derived types. 582 * 583 * Users need to be aware of some important API issues that are the result of 584 * the history of SBML and libSBML. Prior to SBML Level 3 585 * Version 2, SBML defined 'id' and 'name' attributes on only a subset 586 * of SBML objects. To simplify the work of programmers, libSBML's API 587 * provided get, set, check, and unset on the SBase object class itself 588 * instead of on individual subobject classes. This made the 589 * get/set/etc. methods uniformly available on all objects in the libSBML 590 * API. LibSBML simply returned empty strings or otherwise did not act when 591 * the methods were applied to SBML objects that were not defined by the SBML 592 * specification to have 'id' or 'name' attributes. Additional complications 593 * arose with the rule and assignment objects: InitialAssignment, 594 * EventAssignment, AssignmentRule, and RateRule. In early versions of SBML, 595 * the rule object hierarchy was different, and in addition, then as now, 596 * they possess different attributes: 'variable' (for the rules and event 597 * assignments), 'symbol' (for initial assignments), or neither (for 598 * algebraic rules). Prior to SBML Level 3 Version 2, getId() 599 * would always return an empty string, and isSetId() would always return @c 600 * false for objects of these classes. 601 * 602 * With the addition of 'id' and 'name' attributes on SBase in Level 3 603 * Version 2, it became necessary to introduce a new way to interact 604 * with the attributes more consistently in libSBML to avoid breaking 605 * backward compatibility in the behavior of the original 'id' methods. For 606 * this reason, libSBML provides four functions (getIdAttribute(), 607 * setIdAttribute(@if java String@endif), isSetIdAttribute(), and 608 * unsetIdAttribute()) that always act on the actual 'id' attribute inherited 609 * from SBase, regardless of the object's type. <strong>These new methods 610 * should be used instead of the older getId()/setId()/etc. methods</strong> 611 * unless the old behavior is somehow necessary. Regardless of the Level and 612 * Version of the SBML, these functions allow client applications to use more 613 * generalized code in some situations (for instance, when manipulating 614 * objects that are all known to have identifiers). If the object in 615 * question does not posess an 'id' attribute according to the SBML 616 * specification for the Level and Version in use, libSBML will not allow the 617 * identifier to be set, nor will it read or write 'id' attributes for those 618 * objects. 619 * 620 * 621 * 622 * @return the id of this Model. 623 * 624 * @see getIdAttribute() 625 * @see setIdAttribute(string sid) 626 * @see isSetIdAttribute() 627 * @see unsetIdAttribute() 628 */ public new getId()629 string getId() { 630 string ret = libsbmlPINVOKE.Model_getId(swigCPtr); 631 return ret; 632 } 633 634 635 /** 636 * Returns the value of the 'name' attribute of this Model object. 637 * 638 * 639 * 640 * 641 * In SBML Level 3 Version 2, the 'id' and 'name' attributes were 642 * moved to SBase directly, instead of being defined individually for many 643 * (but not all) objects. LibSBML has for a long time provided functions 644 * defined on SBase itself to get, set, and unset those attributes, which 645 * would fail or otherwise return empty strings if executed on any object 646 * for which those attributes were not defined. Now that all SBase objects 647 * define those attributes, those functions now succeed for any object with 648 * the appropriate level and version. 649 * 650 * The 'name' attribute is 651 * optional and is not intended to be used for cross-referencing purposes 652 * within a model. Its purpose instead is to provide a human-readable 653 * label for the component. The data type of 'name' is the type 654 * <code>string</code> defined in XML Schema. SBML imposes no 655 * restrictions as to the content of 'name' attributes beyond those 656 * restrictions defined by the <code>string</code> type in XML Schema. 657 * 658 * The recommended practice for handling 'name' is as follows. If a 659 * software tool has the capability for displaying the content of 'name' 660 * attributes, it should display this content to the user as a 661 * component's label instead of the component's 'id'. If the user 662 * interface does not have this capability (e.g., because it cannot 663 * display or use special characters in symbol names), or if the 'name' 664 * attribute is missing on a given component, then the user interface 665 * should display the value of the 'id' attribute instead. (Script 666 * language interpreters are especially likely to display 'id' instead of 667 * 'name'.) 668 * 669 * As a consequence of the above, authors of systems that automatically 670 * generate the values of 'id' attributes should be aware some systems 671 * may display the 'id''s to the user. Authors therefore may wish to 672 * take some care to have their software create 'id' values that are: (a) 673 * reasonably easy for humans to type and read; and (b) likely to be 674 * meaningful, for example by making the 'id' attribute be an abbreviated 675 * form of the name attribute value. 676 * 677 * An additional point worth mentioning is although there are 678 * restrictions on the uniqueness of 'id' values, there are no 679 * restrictions on the uniqueness of 'name' values in a model. This 680 * allows software applications leeway in assigning component identifiers. 681 * 682 * Regardless of the level and version of the SBML, these functions allow 683 * client applications to use more generalized code in some situations 684 * (for instance, when manipulating objects that are all known to have 685 * names). If the object in question does not posess a 'name' attribute 686 * according to the SBML specification for the Level and Version in use, 687 * libSBML will not allow the name to be set, nor will it read or 688 * write 'name' attributes for those objects. 689 * 690 * 691 * 692 * @return the name of this SBML object, or the empty string if not set or unsettable. 693 * 694 * @see getIdAttribute() 695 * @see isSetName() 696 * @see setName(string sid) 697 * @see unsetName() 698 * 699 * 700 */ public new getName()701 string getName() { 702 string ret = libsbmlPINVOKE.Model_getName(swigCPtr); 703 return ret; 704 } 705 706 707 /** 708 * Returns the value of the 'substanceUnits' attribute of this Model. 709 * 710 * @return the substanceUnits of this Model. 711 * 712 * @note The 'substanceUnits' attribute is available in 713 * SBML Level 3 but is not present on Model in lower Levels of SBML. 714 */ public getSubstanceUnits()715 string getSubstanceUnits() { 716 string ret = libsbmlPINVOKE.Model_getSubstanceUnits(swigCPtr); 717 return ret; 718 } 719 720 721 /** 722 * Returns the value of the 'timeUnits' attribute of this Model. 723 * 724 * @return the timeUnits of this Model. 725 * 726 * @note The 'timeUnits' attribute is available in 727 * SBML Level 3 but is not present on Model in lower Levels of SBML. 728 */ public getTimeUnits()729 string getTimeUnits() { 730 string ret = libsbmlPINVOKE.Model_getTimeUnits(swigCPtr); 731 return ret; 732 } 733 734 735 /** 736 * Returns the value of the 'volumeUnits' attribute of this Model. 737 * 738 * @return the volumeUnits of this Model. 739 * 740 * @note The 'volumeUnits' attribute is available in 741 * SBML Level 3 but is not present on Model in lower Levels of SBML. 742 */ public getVolumeUnits()743 string getVolumeUnits() { 744 string ret = libsbmlPINVOKE.Model_getVolumeUnits(swigCPtr); 745 return ret; 746 } 747 748 749 /** 750 * Returns the value of the 'areaUnits' attribute of this Model. 751 * 752 * @return the areaUnits of this Model. 753 * 754 * @note The 'areaUnits' attribute is available in 755 * SBML Level 3 but is not present on Model in lower Levels of SBML. 756 */ public getAreaUnits()757 string getAreaUnits() { 758 string ret = libsbmlPINVOKE.Model_getAreaUnits(swigCPtr); 759 return ret; 760 } 761 762 763 /** 764 * Returns the value of the 'lengthUnits' attribute of this Model. 765 * 766 * @return the lengthUnits of this Model. 767 * 768 * @note The 'lengthUnits' attribute is available in 769 * SBML Level 3 but is not present on Model in lower Levels of SBML. 770 */ public getLengthUnits()771 string getLengthUnits() { 772 string ret = libsbmlPINVOKE.Model_getLengthUnits(swigCPtr); 773 return ret; 774 } 775 776 777 /** 778 * Returns the value of the 'extentUnits' attribute of this Model. 779 * 780 * @return the extentUnits of this Model. 781 * 782 * @note The 'extentUnits' attribute is available in 783 * SBML Level 3 but is not present on Model in lower Levels of SBML. 784 */ public getExtentUnits()785 string getExtentUnits() { 786 string ret = libsbmlPINVOKE.Model_getExtentUnits(swigCPtr); 787 return ret; 788 } 789 790 791 /** 792 * Returns the value of the 'conversionFactor' attribute of this Model. 793 * 794 * @return the conversionFactor of this Model. 795 * 796 * @note The 'conversionFactor' attribute is available in 797 * SBML Level 3 but is not present on Model in lower Levels of SBML. 798 */ public getConversionFactor()799 string getConversionFactor() { 800 string ret = libsbmlPINVOKE.Model_getConversionFactor(swigCPtr); 801 return ret; 802 } 803 804 805 /** 806 * Predicate returning @c true if this 807 * Model's 'id' attribute is set. 808 * 809 * 810 * 811 * 812 * The identifier given by an object's 'id' attribute value 813 * is used to identify the object within the SBML model definition. 814 * Other objects can refer to the component using this identifier. The 815 * data type of 'id' is always <code>SId</code> or a type derived 816 * from that, such as <code>UnitSId</code>, depending on the object in 817 * question. All data types are defined as follows: 818 * <pre style='margin-left: 2em; border: none; font-weight: bold; color: black'> 819 * letter ::= 'a'..'z','A'..'Z' 820 * digit ::= '0'..'9' 821 * idChar ::= letter | digit | '_' 822 * SId ::= ( letter | '_' ) idChar* 823 * </pre> 824 * The characters <code>(</code> and <code>)</code> are used for grouping, 825 * the character <code>*</code> 'zero or more times', and the character 826 * <code>|</code> indicates logical 'or'. The equality of SBML identifiers 827 * is determined by an exact character sequence match; i.e., comparisons must 828 * be performed in a case-sensitive manner. This applies to all uses of 829 * <code>SId</code>, <code>SIdRef</code>, and derived types. 830 * 831 * Users need to be aware of some important API issues that are the result of 832 * the history of SBML and libSBML. Prior to SBML Level 3 833 * Version 2, SBML defined 'id' and 'name' attributes on only a subset 834 * of SBML objects. To simplify the work of programmers, libSBML's API 835 * provided get, set, check, and unset on the SBase object class itself 836 * instead of on individual subobject classes. This made the 837 * get/set/etc. methods uniformly available on all objects in the libSBML 838 * API. LibSBML simply returned empty strings or otherwise did not act when 839 * the methods were applied to SBML objects that were not defined by the SBML 840 * specification to have 'id' or 'name' attributes. Additional complications 841 * arose with the rule and assignment objects: InitialAssignment, 842 * EventAssignment, AssignmentRule, and RateRule. In early versions of SBML, 843 * the rule object hierarchy was different, and in addition, then as now, 844 * they possess different attributes: 'variable' (for the rules and event 845 * assignments), 'symbol' (for initial assignments), or neither (for 846 * algebraic rules). Prior to SBML Level 3 Version 2, getId() 847 * would always return an empty string, and isSetId() would always return @c 848 * false for objects of these classes. 849 * 850 * With the addition of 'id' and 'name' attributes on SBase in Level 3 851 * Version 2, it became necessary to introduce a new way to interact 852 * with the attributes more consistently in libSBML to avoid breaking 853 * backward compatibility in the behavior of the original 'id' methods. For 854 * this reason, libSBML provides four functions (getIdAttribute(), 855 * setIdAttribute(@if java String@endif), isSetIdAttribute(), and 856 * unsetIdAttribute()) that always act on the actual 'id' attribute inherited 857 * from SBase, regardless of the object's type. <strong>These new methods 858 * should be used instead of the older getId()/setId()/etc. methods</strong> 859 * unless the old behavior is somehow necessary. Regardless of the Level and 860 * Version of the SBML, these functions allow client applications to use more 861 * generalized code in some situations (for instance, when manipulating 862 * objects that are all known to have identifiers). If the object in 863 * question does not posess an 'id' attribute according to the SBML 864 * specification for the Level and Version in use, libSBML will not allow the 865 * identifier to be set, nor will it read or write 'id' attributes for those 866 * objects. 867 * 868 * 869 * 870 * @return @c true if the 'id' attribute of this SBML object is 871 * set, @c false otherwise. 872 * 873 * @note Because of the inconsistent behavior of this function with 874 * respect to assignments and rules, it is recommended that callers 875 * use isSetIdAttribute() instead. 876 * 877 * @see getIdAttribute() 878 * @see setIdAttribute(string sid) 879 * @see unsetIdAttribute() 880 * @see isSetIdAttribute() 881 * 882 * 883 */ public new isSetId()884 bool isSetId() { 885 bool ret = libsbmlPINVOKE.Model_isSetId(swigCPtr); 886 return ret; 887 } 888 889 890 /** 891 * Predicate returning @c true if this 892 * Model's 'name' attribute is set. 893 * 894 * 895 * 896 * 897 * In SBML Level 3 Version 2, the 'id' and 'name' attributes were 898 * moved to SBase directly, instead of being defined individually for many 899 * (but not all) objects. LibSBML has for a long time provided functions 900 * defined on SBase itself to get, set, and unset those attributes, which 901 * would fail or otherwise return empty strings if executed on any object 902 * for which those attributes were not defined. Now that all SBase objects 903 * define those attributes, those functions now succeed for any object with 904 * the appropriate level and version. 905 * 906 * The 'name' attribute is 907 * optional and is not intended to be used for cross-referencing purposes 908 * within a model. Its purpose instead is to provide a human-readable 909 * label for the component. The data type of 'name' is the type 910 * <code>string</code> defined in XML Schema. SBML imposes no 911 * restrictions as to the content of 'name' attributes beyond those 912 * restrictions defined by the <code>string</code> type in XML Schema. 913 * 914 * The recommended practice for handling 'name' is as follows. If a 915 * software tool has the capability for displaying the content of 'name' 916 * attributes, it should display this content to the user as a 917 * component's label instead of the component's 'id'. If the user 918 * interface does not have this capability (e.g., because it cannot 919 * display or use special characters in symbol names), or if the 'name' 920 * attribute is missing on a given component, then the user interface 921 * should display the value of the 'id' attribute instead. (Script 922 * language interpreters are especially likely to display 'id' instead of 923 * 'name'.) 924 * 925 * As a consequence of the above, authors of systems that automatically 926 * generate the values of 'id' attributes should be aware some systems 927 * may display the 'id''s to the user. Authors therefore may wish to 928 * take some care to have their software create 'id' values that are: (a) 929 * reasonably easy for humans to type and read; and (b) likely to be 930 * meaningful, for example by making the 'id' attribute be an abbreviated 931 * form of the name attribute value. 932 * 933 * An additional point worth mentioning is although there are 934 * restrictions on the uniqueness of 'id' values, there are no 935 * restrictions on the uniqueness of 'name' values in a model. This 936 * allows software applications leeway in assigning component identifiers. 937 * 938 * Regardless of the level and version of the SBML, these functions allow 939 * client applications to use more generalized code in some situations 940 * (for instance, when manipulating objects that are all known to have 941 * names). If the object in question does not posess a 'name' attribute 942 * according to the SBML specification for the Level and Version in use, 943 * libSBML will not allow the name to be set, nor will it read or 944 * write 'name' attributes for those objects. 945 * 946 * 947 * 948 * @return @c true if the 'name' attribute of this SBML object is 949 * set, @c false otherwise. 950 * 951 * @see getName() 952 * @see setName(string sid) 953 * @see unsetName() 954 * 955 * 956 */ public new isSetName()957 bool isSetName() { 958 bool ret = libsbmlPINVOKE.Model_isSetName(swigCPtr); 959 return ret; 960 } 961 962 963 /** 964 * Predicate returning @c true if this 965 * Model's 'substanceUnits' attribute is set. 966 * 967 * @return @c true if the 'substanceUnits' attribute of this Model is 968 * set, @c false otherwise. 969 * 970 * @note The 'substanceUnits' attribute is available in 971 * SBML Level 3 but is not present on Model in lower Levels of SBML. 972 */ public isSetSubstanceUnits()973 bool isSetSubstanceUnits() { 974 bool ret = libsbmlPINVOKE.Model_isSetSubstanceUnits(swigCPtr); 975 return ret; 976 } 977 978 979 /** 980 * Predicate returning @c true if this 981 * Model's 'timeUnits' attribute is set. 982 * 983 * @return @c true if the 'timeUnits' attribute of this Model is 984 * set, @c false otherwise. 985 * 986 * @note The 'substanceUnits' attribute is available in 987 * SBML Level 3 but is not present on Model in lower Levels of SBML. 988 */ public isSetTimeUnits()989 bool isSetTimeUnits() { 990 bool ret = libsbmlPINVOKE.Model_isSetTimeUnits(swigCPtr); 991 return ret; 992 } 993 994 995 /** 996 * Predicate returning @c true if this 997 * Model's 'volumeUnits' attribute is set. 998 * 999 * @return @c true if the 'volumeUnits' attribute of this Model is 1000 * set, @c false otherwise. 1001 * 1002 * @note The 'volumeUnits' attribute is available in 1003 * SBML Level 3 but is not present on Model in lower Levels of SBML. 1004 */ public isSetVolumeUnits()1005 bool isSetVolumeUnits() { 1006 bool ret = libsbmlPINVOKE.Model_isSetVolumeUnits(swigCPtr); 1007 return ret; 1008 } 1009 1010 1011 /** 1012 * Predicate returning @c true if this 1013 * Model's 'areaUnits' attribute is set. 1014 * 1015 * @return @c true if the 'areaUnits' attribute of this Model is 1016 * set, @c false otherwise. 1017 * 1018 * @note The 'areaUnits' attribute is available in 1019 * SBML Level 3 but is not present on Model in lower Levels of SBML. 1020 */ public isSetAreaUnits()1021 bool isSetAreaUnits() { 1022 bool ret = libsbmlPINVOKE.Model_isSetAreaUnits(swigCPtr); 1023 return ret; 1024 } 1025 1026 1027 /** 1028 * Predicate returning @c true if this 1029 * Model's 'lengthUnits' attribute is set. 1030 * 1031 * @return @c true if the 'lengthUnits' attribute of this Model is 1032 * set, @c false otherwise. 1033 * 1034 * @note The 'lengthUnits' attribute is available in 1035 * SBML Level 3 but is not present on Model in lower Levels of SBML. 1036 */ public isSetLengthUnits()1037 bool isSetLengthUnits() { 1038 bool ret = libsbmlPINVOKE.Model_isSetLengthUnits(swigCPtr); 1039 return ret; 1040 } 1041 1042 1043 /** 1044 * Predicate returning @c true if this 1045 * Model's 'extentUnits' attribute is set. 1046 * 1047 * @return @c true if the 'extentUnits' attribute of this Model is 1048 * set, @c false otherwise. 1049 * 1050 * @note The 'extentUnits' attribute is available in 1051 * SBML Level 3 but is not present on Model in lower Levels of SBML. 1052 */ public isSetExtentUnits()1053 bool isSetExtentUnits() { 1054 bool ret = libsbmlPINVOKE.Model_isSetExtentUnits(swigCPtr); 1055 return ret; 1056 } 1057 1058 1059 /** 1060 * Predicate returning @c true if this 1061 * Model's 'conversionFactor' attribute is set. 1062 * 1063 * @return @c true if the 'conversionFactor' attribute of this Model is 1064 * set, @c false otherwise. 1065 * 1066 * @note The 'conversionFactor' attribute is available in 1067 * SBML Level 3 but is not present on Model in lower Levels of SBML. 1068 */ public isSetConversionFactor()1069 bool isSetConversionFactor() { 1070 bool ret = libsbmlPINVOKE.Model_isSetConversionFactor(swigCPtr); 1071 return ret; 1072 } 1073 1074 1075 /** 1076 * Sets the value of the 'id' attribute of this Model. 1077 * 1078 * 1079 * 1080 * The string @p sid is copied. 1081 * 1082 * 1083 * 1084 * The identifier given by an object's 'id' attribute value 1085 * is used to identify the object within the SBML model definition. 1086 * Other objects can refer to the component using this identifier. The 1087 * data type of 'id' is always <code>SId</code> or a type derived 1088 * from that, such as <code>UnitSId</code>, depending on the object in 1089 * question. All data types are defined as follows: 1090 * <pre style='margin-left: 2em; border: none; font-weight: bold; color: black'> 1091 * letter ::= 'a'..'z','A'..'Z' 1092 * digit ::= '0'..'9' 1093 * idChar ::= letter | digit | '_' 1094 * SId ::= ( letter | '_' ) idChar* 1095 * </pre> 1096 * The characters <code>(</code> and <code>)</code> are used for grouping, 1097 * the character <code>*</code> 'zero or more times', and the character 1098 * <code>|</code> indicates logical 'or'. The equality of SBML identifiers 1099 * is determined by an exact character sequence match; i.e., comparisons must 1100 * be performed in a case-sensitive manner. This applies to all uses of 1101 * <code>SId</code>, <code>SIdRef</code>, and derived types. 1102 * 1103 * Users need to be aware of some important API issues that are the result of 1104 * the history of SBML and libSBML. Prior to SBML Level 3 1105 * Version 2, SBML defined 'id' and 'name' attributes on only a subset 1106 * of SBML objects. To simplify the work of programmers, libSBML's API 1107 * provided get, set, check, and unset on the SBase object class itself 1108 * instead of on individual subobject classes. This made the 1109 * get/set/etc. methods uniformly available on all objects in the libSBML 1110 * API. LibSBML simply returned empty strings or otherwise did not act when 1111 * the methods were applied to SBML objects that were not defined by the SBML 1112 * specification to have 'id' or 'name' attributes. Additional complications 1113 * arose with the rule and assignment objects: InitialAssignment, 1114 * EventAssignment, AssignmentRule, and RateRule. In early versions of SBML, 1115 * the rule object hierarchy was different, and in addition, then as now, 1116 * they possess different attributes: 'variable' (for the rules and event 1117 * assignments), 'symbol' (for initial assignments), or neither (for 1118 * algebraic rules). Prior to SBML Level 3 Version 2, getId() 1119 * would always return an empty string, and isSetId() would always return @c 1120 * false for objects of these classes. 1121 * 1122 * With the addition of 'id' and 'name' attributes on SBase in Level 3 1123 * Version 2, it became necessary to introduce a new way to interact 1124 * with the attributes more consistently in libSBML to avoid breaking 1125 * backward compatibility in the behavior of the original 'id' methods. For 1126 * this reason, libSBML provides four functions (getIdAttribute(), 1127 * setIdAttribute(@if java String@endif), isSetIdAttribute(), and 1128 * unsetIdAttribute()) that always act on the actual 'id' attribute inherited 1129 * from SBase, regardless of the object's type. <strong>These new methods 1130 * should be used instead of the older getId()/setId()/etc. methods</strong> 1131 * unless the old behavior is somehow necessary. Regardless of the Level and 1132 * Version of the SBML, these functions allow client applications to use more 1133 * generalized code in some situations (for instance, when manipulating 1134 * objects that are all known to have identifiers). If the object in 1135 * question does not posess an 'id' attribute according to the SBML 1136 * specification for the Level and Version in use, libSBML will not allow the 1137 * identifier to be set, nor will it read or write 'id' attributes for those 1138 * objects. 1139 * 1140 * 1141 * 1142 * @param sid the string to use as the identifier of this object. 1143 * 1144 * 1145 * @return integer value indicating success/failure of the 1146 * function. @if clike The value is drawn from the 1147 * enumeration #OperationReturnValues_t. @endif The possible values 1148 * returned by this function are: 1149 * @li @link libsbml#LIBSBML_OPERATION_SUCCESS LIBSBML_OPERATION_SUCCESS@endlink 1150 * @li @link libsbml#LIBSBML_INVALID_ATTRIBUTE_VALUE LIBSBML_INVALID_ATTRIBUTE_VALUE@endlink 1151 * @li @link libsbml#LIBSBML_UNEXPECTED_ATTRIBUTE LIBSBML_UNEXPECTED_ATTRIBUTE@endlink 1152 * 1153 * @see getIdAttribute() 1154 * @see setIdAttribute(string sid) 1155 * @see isSetIdAttribute() 1156 * @see unsetIdAttribute() 1157 * 1158 * 1159 */ public new setId(string sid)1160 int setId(string sid) { 1161 int ret = libsbmlPINVOKE.Model_setId(swigCPtr, sid); 1162 return ret; 1163 } 1164 1165 1166 /** 1167 * Sets the value of the 'name' attribute of this Model. 1168 * 1169 * 1170 * 1171 * 1172 * The string in @p name is copied. 1173 * 1174 * @param name the new name for the SBML object. 1175 * 1176 * 1177 * @return integer value indicating success/failure of the 1178 * function. @if clike The value is drawn from the 1179 * enumeration #OperationReturnValues_t. @endif The possible values 1180 * returned by this function are: 1181 * @li @link libsbml#LIBSBML_OPERATION_SUCCESS LIBSBML_OPERATION_SUCCESS@endlink 1182 * @li @link libsbml#LIBSBML_INVALID_ATTRIBUTE_VALUE LIBSBML_INVALID_ATTRIBUTE_VALUE@endlink 1183 * 1184 * 1185 */ public new setName(string name)1186 int setName(string name) { 1187 int ret = libsbmlPINVOKE.Model_setName(swigCPtr, name); 1188 return ret; 1189 } 1190 1191 1192 /** 1193 * Sets the value of the 'substanceUnits' attribute of this Model. 1194 * 1195 * The string in @p units is copied. 1196 * 1197 * @param units the new substanceUnits for the Model. 1198 * 1199 * 1200 * @return integer value indicating success/failure of the 1201 * function. @if clike The value is drawn from the 1202 * enumeration #OperationReturnValues_t. @endif The possible values 1203 * returned by this function are: 1204 * @li @link libsbml#LIBSBML_OPERATION_SUCCESS LIBSBML_OPERATION_SUCCESS@endlink 1205 * @li @link libsbml#LIBSBML_UNEXPECTED_ATTRIBUTE LIBSBML_UNEXPECTED_ATTRIBUTE@endlink 1206 * @li @link libsbml#LIBSBML_INVALID_ATTRIBUTE_VALUE LIBSBML_INVALID_ATTRIBUTE_VALUE@endlink 1207 * 1208 * @note The 'substanceUnits' attribute is available in 1209 * SBML Level 3 but is not present on Model in lower Levels of SBML. 1210 */ public setSubstanceUnits(string units)1211 int setSubstanceUnits(string units) { 1212 int ret = libsbmlPINVOKE.Model_setSubstanceUnits(swigCPtr, units); 1213 return ret; 1214 } 1215 1216 1217 /** 1218 * Sets the value of the 'timeUnits' attribute of this Model. 1219 * 1220 * The string in @p units is copied. 1221 * 1222 * @param units the new timeUnits for the Model. 1223 * 1224 * 1225 * @return integer value indicating success/failure of the 1226 * function. @if clike The value is drawn from the 1227 * enumeration #OperationReturnValues_t. @endif The possible values 1228 * returned by this function are: 1229 * @li @link libsbml#LIBSBML_OPERATION_SUCCESS LIBSBML_OPERATION_SUCCESS@endlink 1230 * @li @link libsbml#LIBSBML_UNEXPECTED_ATTRIBUTE LIBSBML_UNEXPECTED_ATTRIBUTE@endlink 1231 * @li @link libsbml#LIBSBML_INVALID_ATTRIBUTE_VALUE LIBSBML_INVALID_ATTRIBUTE_VALUE@endlink 1232 * 1233 * @note The 'timeUnits' attribute is available in 1234 * SBML Level 3 but is not present on Model in lower Levels of SBML. 1235 */ public setTimeUnits(string units)1236 int setTimeUnits(string units) { 1237 int ret = libsbmlPINVOKE.Model_setTimeUnits(swigCPtr, units); 1238 return ret; 1239 } 1240 1241 1242 /** 1243 * Sets the value of the 'volumeUnits' attribute of this Model. 1244 * 1245 * The string in @p units is copied. 1246 * 1247 * @param units the new volumeUnits for the Model. 1248 * 1249 * 1250 * @return integer value indicating success/failure of the 1251 * function. @if clike The value is drawn from the 1252 * enumeration #OperationReturnValues_t. @endif The possible values 1253 * returned by this function are: 1254 * @li @link libsbml#LIBSBML_OPERATION_SUCCESS LIBSBML_OPERATION_SUCCESS@endlink 1255 * @li @link libsbml#LIBSBML_UNEXPECTED_ATTRIBUTE LIBSBML_UNEXPECTED_ATTRIBUTE@endlink 1256 * @li @link libsbml#LIBSBML_INVALID_ATTRIBUTE_VALUE LIBSBML_INVALID_ATTRIBUTE_VALUE@endlink 1257 * 1258 * @note The 'volumeUnits' attribute is available in 1259 * SBML Level 3 but is not present on Model in lower Levels of SBML. 1260 */ public setVolumeUnits(string units)1261 int setVolumeUnits(string units) { 1262 int ret = libsbmlPINVOKE.Model_setVolumeUnits(swigCPtr, units); 1263 return ret; 1264 } 1265 1266 1267 /** 1268 * Sets the value of the 'areaUnits' attribute of this Model. 1269 * 1270 * The string in @p units is copied. 1271 * 1272 * @param units the new areaUnits for the Model. 1273 * 1274 * 1275 * @return integer value indicating success/failure of the 1276 * function. @if clike The value is drawn from the 1277 * enumeration #OperationReturnValues_t. @endif The possible values 1278 * returned by this function are: 1279 * @li @link libsbml#LIBSBML_OPERATION_SUCCESS LIBSBML_OPERATION_SUCCESS@endlink 1280 * @li @link libsbml#LIBSBML_UNEXPECTED_ATTRIBUTE LIBSBML_UNEXPECTED_ATTRIBUTE@endlink 1281 * @li @link libsbml#LIBSBML_INVALID_ATTRIBUTE_VALUE LIBSBML_INVALID_ATTRIBUTE_VALUE@endlink 1282 * 1283 * @note The 'areaUnits' attribute is available in 1284 * SBML Level 3 but is not present on Model in lower Levels of SBML. 1285 */ public setAreaUnits(string units)1286 int setAreaUnits(string units) { 1287 int ret = libsbmlPINVOKE.Model_setAreaUnits(swigCPtr, units); 1288 return ret; 1289 } 1290 1291 1292 /** 1293 * Sets the value of the 'lengthUnits' attribute of this Model. 1294 * 1295 * The string in @p units is copied. 1296 * 1297 * @param units the new lengthUnits for the Model. 1298 * 1299 * 1300 * @return integer value indicating success/failure of the 1301 * function. @if clike The value is drawn from the 1302 * enumeration #OperationReturnValues_t. @endif The possible values 1303 * returned by this function are: 1304 * @li @link libsbml#LIBSBML_OPERATION_SUCCESS LIBSBML_OPERATION_SUCCESS@endlink 1305 * @li @link libsbml#LIBSBML_UNEXPECTED_ATTRIBUTE LIBSBML_UNEXPECTED_ATTRIBUTE@endlink 1306 * @li @link libsbml#LIBSBML_INVALID_ATTRIBUTE_VALUE LIBSBML_INVALID_ATTRIBUTE_VALUE@endlink 1307 * 1308 * @note The 'lengthUnits' attribute is available in 1309 * SBML Level 3 but is not present on Model in lower Levels of SBML. 1310 */ public setLengthUnits(string units)1311 int setLengthUnits(string units) { 1312 int ret = libsbmlPINVOKE.Model_setLengthUnits(swigCPtr, units); 1313 return ret; 1314 } 1315 1316 1317 /** 1318 * Sets the value of the 'extentUnits' attribute of this Model. 1319 * 1320 * The string in @p units is copied. 1321 * 1322 * @param units the new extentUnits for the Model. 1323 * 1324 * 1325 * @return integer value indicating success/failure of the 1326 * function. @if clike The value is drawn from the 1327 * enumeration #OperationReturnValues_t. @endif The possible values 1328 * returned by this function are: 1329 * @li @link libsbml#LIBSBML_OPERATION_SUCCESS LIBSBML_OPERATION_SUCCESS@endlink 1330 * @li @link libsbml#LIBSBML_UNEXPECTED_ATTRIBUTE LIBSBML_UNEXPECTED_ATTRIBUTE@endlink 1331 * @li @link libsbml#LIBSBML_INVALID_ATTRIBUTE_VALUE LIBSBML_INVALID_ATTRIBUTE_VALUE@endlink 1332 * 1333 * @note The 'extentUnits' attribute is available in 1334 * SBML Level 3 but is not present on Model in lower Levels of SBML. 1335 */ public setExtentUnits(string units)1336 int setExtentUnits(string units) { 1337 int ret = libsbmlPINVOKE.Model_setExtentUnits(swigCPtr, units); 1338 return ret; 1339 } 1340 1341 1342 /** 1343 * Sets the value of the 'conversionFactor' attribute of this Model. 1344 * 1345 * The string in @p units is copied. 1346 * 1347 * @param units the new conversionFactor for the Model. 1348 * 1349 * 1350 * @return integer value indicating success/failure of the 1351 * function. @if clike The value is drawn from the 1352 * enumeration #OperationReturnValues_t. @endif The possible values 1353 * returned by this function are: 1354 * @li @link libsbml#LIBSBML_OPERATION_SUCCESS LIBSBML_OPERATION_SUCCESS@endlink 1355 * @li @link libsbml#LIBSBML_UNEXPECTED_ATTRIBUTE LIBSBML_UNEXPECTED_ATTRIBUTE@endlink 1356 * @li @link libsbml#LIBSBML_INVALID_ATTRIBUTE_VALUE LIBSBML_INVALID_ATTRIBUTE_VALUE@endlink 1357 * 1358 * @note The 'conversionFactor' attribute is available in 1359 * SBML Level 3 but is not present on Model in lower Levels of SBML. 1360 */ public setConversionFactor(string units)1361 int setConversionFactor(string units) { 1362 int ret = libsbmlPINVOKE.Model_setConversionFactor(swigCPtr, units); 1363 return ret; 1364 } 1365 1366 1367 /** 1368 * Unsets the value of the 'id' attribute of this Model. 1369 * 1370 * 1371 * 1372 * 1373 * The identifier given by an object's 'id' attribute value 1374 * is used to identify the object within the SBML model definition. 1375 * Other objects can refer to the component using this identifier. The 1376 * data type of 'id' is always <code>SId</code> or a type derived 1377 * from that, such as <code>UnitSId</code>, depending on the object in 1378 * question. All data types are defined as follows: 1379 * <pre style='margin-left: 2em; border: none; font-weight: bold; color: black'> 1380 * letter ::= 'a'..'z','A'..'Z' 1381 * digit ::= '0'..'9' 1382 * idChar ::= letter | digit | '_' 1383 * SId ::= ( letter | '_' ) idChar* 1384 * </pre> 1385 * The characters <code>(</code> and <code>)</code> are used for grouping, 1386 * the character <code>*</code> 'zero or more times', and the character 1387 * <code>|</code> indicates logical 'or'. The equality of SBML identifiers 1388 * is determined by an exact character sequence match; i.e., comparisons must 1389 * be performed in a case-sensitive manner. This applies to all uses of 1390 * <code>SId</code>, <code>SIdRef</code>, and derived types. 1391 * 1392 * Users need to be aware of some important API issues that are the result of 1393 * the history of SBML and libSBML. Prior to SBML Level 3 1394 * Version 2, SBML defined 'id' and 'name' attributes on only a subset 1395 * of SBML objects. To simplify the work of programmers, libSBML's API 1396 * provided get, set, check, and unset on the SBase object class itself 1397 * instead of on individual subobject classes. This made the 1398 * get/set/etc. methods uniformly available on all objects in the libSBML 1399 * API. LibSBML simply returned empty strings or otherwise did not act when 1400 * the methods were applied to SBML objects that were not defined by the SBML 1401 * specification to have 'id' or 'name' attributes. Additional complications 1402 * arose with the rule and assignment objects: InitialAssignment, 1403 * EventAssignment, AssignmentRule, and RateRule. In early versions of SBML, 1404 * the rule object hierarchy was different, and in addition, then as now, 1405 * they possess different attributes: 'variable' (for the rules and event 1406 * assignments), 'symbol' (for initial assignments), or neither (for 1407 * algebraic rules). Prior to SBML Level 3 Version 2, getId() 1408 * would always return an empty string, and isSetId() would always return @c 1409 * false for objects of these classes. 1410 * 1411 * With the addition of 'id' and 'name' attributes on SBase in Level 3 1412 * Version 2, it became necessary to introduce a new way to interact 1413 * with the attributes more consistently in libSBML to avoid breaking 1414 * backward compatibility in the behavior of the original 'id' methods. For 1415 * this reason, libSBML provides four functions (getIdAttribute(), 1416 * setIdAttribute(@if java String@endif), isSetIdAttribute(), and 1417 * unsetIdAttribute()) that always act on the actual 'id' attribute inherited 1418 * from SBase, regardless of the object's type. <strong>These new methods 1419 * should be used instead of the older getId()/setId()/etc. methods</strong> 1420 * unless the old behavior is somehow necessary. Regardless of the Level and 1421 * Version of the SBML, these functions allow client applications to use more 1422 * generalized code in some situations (for instance, when manipulating 1423 * objects that are all known to have identifiers). If the object in 1424 * question does not posess an 'id' attribute according to the SBML 1425 * specification for the Level and Version in use, libSBML will not allow the 1426 * identifier to be set, nor will it read or write 'id' attributes for those 1427 * objects. 1428 * 1429 * 1430 * 1431 * 1432 * @return integer value indicating success/failure of the 1433 * function. @if clike The value is drawn from the 1434 * enumeration #OperationReturnValues_t. @endif The possible values 1435 * returned by this function are: 1436 * @li @link libsbml#LIBSBML_OPERATION_SUCCESS LIBSBML_OPERATION_SUCCESS@endlink 1437 * @li @link libsbml#LIBSBML_OPERATION_FAILED LIBSBML_OPERATION_FAILED@endlink 1438 * 1439 * @see getIdAttribute() 1440 * @see setIdAttribute(string sid) 1441 * @see isSetIdAttribute() 1442 * @see unsetIdAttribute() 1443 * 1444 * 1445 */ public new unsetId()1446 int unsetId() { 1447 int ret = libsbmlPINVOKE.Model_unsetId(swigCPtr); 1448 return ret; 1449 } 1450 1451 1452 /** 1453 * Unsets the value of the 'name' attribute of this Model. 1454 * 1455 * 1456 * 1457 * 1458 * In SBML Level 3 Version 2, the 'id' and 'name' attributes were 1459 * moved to SBase directly, instead of being defined individually for many 1460 * (but not all) objects. LibSBML has for a long time provided functions 1461 * defined on SBase itself to get, set, and unset those attributes, which 1462 * would fail or otherwise return empty strings if executed on any object 1463 * for which those attributes were not defined. Now that all SBase objects 1464 * define those attributes, those functions now succeed for any object with 1465 * the appropriate level and version. 1466 * 1467 * The 'name' attribute is 1468 * optional and is not intended to be used for cross-referencing purposes 1469 * within a model. Its purpose instead is to provide a human-readable 1470 * label for the component. The data type of 'name' is the type 1471 * <code>string</code> defined in XML Schema. SBML imposes no 1472 * restrictions as to the content of 'name' attributes beyond those 1473 * restrictions defined by the <code>string</code> type in XML Schema. 1474 * 1475 * The recommended practice for handling 'name' is as follows. If a 1476 * software tool has the capability for displaying the content of 'name' 1477 * attributes, it should display this content to the user as a 1478 * component's label instead of the component's 'id'. If the user 1479 * interface does not have this capability (e.g., because it cannot 1480 * display or use special characters in symbol names), or if the 'name' 1481 * attribute is missing on a given component, then the user interface 1482 * should display the value of the 'id' attribute instead. (Script 1483 * language interpreters are especially likely to display 'id' instead of 1484 * 'name'.) 1485 * 1486 * As a consequence of the above, authors of systems that automatically 1487 * generate the values of 'id' attributes should be aware some systems 1488 * may display the 'id''s to the user. Authors therefore may wish to 1489 * take some care to have their software create 'id' values that are: (a) 1490 * reasonably easy for humans to type and read; and (b) likely to be 1491 * meaningful, for example by making the 'id' attribute be an abbreviated 1492 * form of the name attribute value. 1493 * 1494 * An additional point worth mentioning is although there are 1495 * restrictions on the uniqueness of 'id' values, there are no 1496 * restrictions on the uniqueness of 'name' values in a model. This 1497 * allows software applications leeway in assigning component identifiers. 1498 * 1499 * Regardless of the level and version of the SBML, these functions allow 1500 * client applications to use more generalized code in some situations 1501 * (for instance, when manipulating objects that are all known to have 1502 * names). If the object in question does not posess a 'name' attribute 1503 * according to the SBML specification for the Level and Version in use, 1504 * libSBML will not allow the name to be set, nor will it read or 1505 * write 'name' attributes for those objects. 1506 * 1507 * 1508 * 1509 * 1510 * @return integer value indicating success/failure of the 1511 * function. @if clike The value is drawn from the 1512 * enumeration #OperationReturnValues_t. @endif The possible values 1513 * returned by this function are: 1514 * @li @link libsbml#LIBSBML_OPERATION_SUCCESS LIBSBML_OPERATION_SUCCESS@endlink 1515 * @li @link libsbml#LIBSBML_OPERATION_FAILED LIBSBML_OPERATION_FAILED@endlink 1516 * 1517 * @see getName() 1518 * @see setName(string sid) 1519 * @see isSetName() 1520 * 1521 * 1522 */ public new unsetName()1523 int unsetName() { 1524 int ret = libsbmlPINVOKE.Model_unsetName(swigCPtr); 1525 return ret; 1526 } 1527 1528 1529 /** 1530 * Unsets the value of the 'substanceUnits' attribute of this Model. 1531 * 1532 * 1533 * @return integer value indicating success/failure of the 1534 * function. @if clike The value is drawn from the 1535 * enumeration #OperationReturnValues_t. @endif The possible values 1536 * returned by this function are: 1537 * @li @link libsbml#LIBSBML_OPERATION_SUCCESS LIBSBML_OPERATION_SUCCESS@endlink 1538 * @li @link libsbml#LIBSBML_OPERATION_FAILED LIBSBML_OPERATION_FAILED@endlink 1539 * 1540 * @note The 'substanceUnits' attribute is available in 1541 * SBML Level 3 but is not present on Model in lower Levels of SBML. 1542 */ public unsetSubstanceUnits()1543 int unsetSubstanceUnits() { 1544 int ret = libsbmlPINVOKE.Model_unsetSubstanceUnits(swigCPtr); 1545 return ret; 1546 } 1547 1548 1549 /** 1550 * Unsets the value of the 'timeUnits' attribute of this Model. 1551 * 1552 * 1553 * @return integer value indicating success/failure of the 1554 * function. @if clike The value is drawn from the 1555 * enumeration #OperationReturnValues_t. @endif The possible values 1556 * returned by this function are: 1557 * @li @link libsbml#LIBSBML_OPERATION_SUCCESS LIBSBML_OPERATION_SUCCESS@endlink 1558 * @li @link libsbml#LIBSBML_OPERATION_FAILED LIBSBML_OPERATION_FAILED@endlink 1559 * 1560 * @note The 'timeUnits' attribute is available in 1561 * SBML Level 3 but is not present on Model in lower Levels of SBML. 1562 */ public unsetTimeUnits()1563 int unsetTimeUnits() { 1564 int ret = libsbmlPINVOKE.Model_unsetTimeUnits(swigCPtr); 1565 return ret; 1566 } 1567 1568 1569 /** 1570 * Unsets the value of the 'volumeUnits' attribute of this Model. 1571 * 1572 * 1573 * @return integer value indicating success/failure of the 1574 * function. @if clike The value is drawn from the 1575 * enumeration #OperationReturnValues_t. @endif The possible values 1576 * returned by this function are: 1577 * @li @link libsbml#LIBSBML_OPERATION_SUCCESS LIBSBML_OPERATION_SUCCESS@endlink 1578 * @li @link libsbml#LIBSBML_OPERATION_FAILED LIBSBML_OPERATION_FAILED@endlink 1579 * 1580 * @note The 'volumeUnits' attribute is available in 1581 * SBML Level 3 but is not present on Model in lower Levels of SBML. 1582 */ public unsetVolumeUnits()1583 int unsetVolumeUnits() { 1584 int ret = libsbmlPINVOKE.Model_unsetVolumeUnits(swigCPtr); 1585 return ret; 1586 } 1587 1588 1589 /** 1590 * Unsets the value of the 'areaUnits' attribute of this Model. 1591 * 1592 * 1593 * @return integer value indicating success/failure of the 1594 * function. @if clike The value is drawn from the 1595 * enumeration #OperationReturnValues_t. @endif The possible values 1596 * returned by this function are: 1597 * @li @link libsbml#LIBSBML_OPERATION_SUCCESS LIBSBML_OPERATION_SUCCESS@endlink 1598 * @li @link libsbml#LIBSBML_UNEXPECTED_ATTRIBUTE LIBSBML_UNEXPECTED_ATTRIBUTE@endlink 1599 * @li @link libsbml#LIBSBML_OPERATION_FAILED LIBSBML_OPERATION_FAILED@endlink 1600 * 1601 * @note The 'areaUnits' attribute is available in 1602 * SBML Level 3 but is not present on Model in lower Levels of SBML. 1603 */ public unsetAreaUnits()1604 int unsetAreaUnits() { 1605 int ret = libsbmlPINVOKE.Model_unsetAreaUnits(swigCPtr); 1606 return ret; 1607 } 1608 1609 1610 /** 1611 * Unsets the value of the 'lengthUnits' attribute of this Model. 1612 * 1613 * 1614 * @return integer value indicating success/failure of the 1615 * function. @if clike The value is drawn from the 1616 * enumeration #OperationReturnValues_t. @endif The possible values 1617 * returned by this function are: 1618 * @li @link libsbml#LIBSBML_OPERATION_SUCCESS LIBSBML_OPERATION_SUCCESS@endlink 1619 * @li @link libsbml#LIBSBML_UNEXPECTED_ATTRIBUTE LIBSBML_UNEXPECTED_ATTRIBUTE@endlink 1620 * @li @link libsbml#LIBSBML_OPERATION_FAILED LIBSBML_OPERATION_FAILED@endlink 1621 * 1622 * @note The 'lengthUnits' attribute is available in 1623 * SBML Level 3 but is not present on Model in lower Levels of SBML. 1624 */ public unsetLengthUnits()1625 int unsetLengthUnits() { 1626 int ret = libsbmlPINVOKE.Model_unsetLengthUnits(swigCPtr); 1627 return ret; 1628 } 1629 1630 1631 /** 1632 * Unsets the value of the 'extentUnits' attribute of this Model. 1633 * 1634 * 1635 * @return integer value indicating success/failure of the 1636 * function. @if clike The value is drawn from the 1637 * enumeration #OperationReturnValues_t. @endif The possible values 1638 * returned by this function are: 1639 * @li @link libsbml#LIBSBML_OPERATION_SUCCESS LIBSBML_OPERATION_SUCCESS@endlink 1640 * @li @link libsbml#LIBSBML_UNEXPECTED_ATTRIBUTE LIBSBML_UNEXPECTED_ATTRIBUTE@endlink 1641 * @li @link libsbml#LIBSBML_OPERATION_FAILED LIBSBML_OPERATION_FAILED@endlink 1642 * 1643 * @note The 'extentUnits' attribute is available in 1644 * SBML Level 3 but is not present on Model in lower Levels of SBML. 1645 */ public unsetExtentUnits()1646 int unsetExtentUnits() { 1647 int ret = libsbmlPINVOKE.Model_unsetExtentUnits(swigCPtr); 1648 return ret; 1649 } 1650 1651 1652 /** 1653 * Unsets the value of the 'conversionFactor' attribute of this Model. 1654 * 1655 * 1656 * @return integer value indicating success/failure of the 1657 * function. @if clike The value is drawn from the 1658 * enumeration #OperationReturnValues_t. @endif The possible values 1659 * returned by this function are: 1660 * @li @link libsbml#LIBSBML_OPERATION_SUCCESS LIBSBML_OPERATION_SUCCESS@endlink 1661 * @li @link libsbml#LIBSBML_UNEXPECTED_ATTRIBUTE LIBSBML_UNEXPECTED_ATTRIBUTE@endlink 1662 * @li @link libsbml#LIBSBML_OPERATION_FAILED LIBSBML_OPERATION_FAILED@endlink 1663 * 1664 * @note The 'conversionFactor' attribute is available in 1665 * SBML Level 3 but is not present on Model in lower Levels of SBML. 1666 */ public unsetConversionFactor()1667 int unsetConversionFactor() { 1668 int ret = libsbmlPINVOKE.Model_unsetConversionFactor(swigCPtr); 1669 return ret; 1670 } 1671 1672 1673 /** 1674 * Adds a copy of the given FunctionDefinition object to this Model. 1675 * 1676 * @param fd the FunctionDefinition to add. 1677 * 1678 * 1679 * @return integer value indicating success/failure of the 1680 * function. @if clike The value is drawn from the 1681 * enumeration #OperationReturnValues_t. @endif The possible values 1682 * returned by this function are: 1683 * @li @link libsbml#LIBSBML_OPERATION_SUCCESS LIBSBML_OPERATION_SUCCESS@endlink 1684 * @li @link libsbml#LIBSBML_LEVEL_MISMATCH LIBSBML_LEVEL_MISMATCH@endlink 1685 * @li @link libsbml#LIBSBML_VERSION_MISMATCH LIBSBML_VERSION_MISMATCH@endlink 1686 * @li @link libsbml#LIBSBML_DUPLICATE_OBJECT_ID LIBSBML_DUPLICATE_OBJECT_ID@endlink 1687 * @li @link libsbml#LIBSBML_INVALID_OBJECT LIBSBML_INVALID_OBJECT@endlink 1688 * @li @link libsbml#LIBSBML_OPERATION_FAILED LIBSBML_OPERATION_FAILED@endlink 1689 * 1690 * 1691 * @note This method should be used with some caution. The fact that this 1692 * method @em copies the object passed to it means that the caller will be 1693 * left holding a physically different object instance than the one contained 1694 * inside this object. Changes made to the original object instance (such as 1695 * resetting attribute values) will <em>not affect the instance in this 1696 * object</em>. In addition, the caller should make sure to free the 1697 * original object if it is no longer being used, or else a memory leak will 1698 * result. Please see other methods on this class (particularly a 1699 * corresponding method whose name begins with the word <code>create</code>) 1700 * for alternatives that do not lead to these issues. 1701 * 1702 * 1703 * 1704 * @see createFunctionDefinition() 1705 */ public addFunctionDefinition(FunctionDefinition fd)1706 int addFunctionDefinition(FunctionDefinition fd) { 1707 int ret = libsbmlPINVOKE.Model_addFunctionDefinition(swigCPtr, FunctionDefinition.getCPtr(fd)); 1708 return ret; 1709 } 1710 1711 1712 /** 1713 * Adds a copy of the given UnitDefinition object to this Model. 1714 * 1715 * @param ud the UnitDefinition object to add. 1716 * 1717 * 1718 * @return integer value indicating success/failure of the 1719 * function. @if clike The value is drawn from the 1720 * enumeration #OperationReturnValues_t. @endif The possible values 1721 * returned by this function are: 1722 * @li @link libsbml#LIBSBML_OPERATION_SUCCESS LIBSBML_OPERATION_SUCCESS@endlink 1723 * @li @link libsbml#LIBSBML_LEVEL_MISMATCH LIBSBML_LEVEL_MISMATCH@endlink 1724 * @li @link libsbml#LIBSBML_VERSION_MISMATCH LIBSBML_VERSION_MISMATCH@endlink 1725 * @li @link libsbml#LIBSBML_DUPLICATE_OBJECT_ID LIBSBML_DUPLICATE_OBJECT_ID@endlink 1726 * @li @link libsbml#LIBSBML_INVALID_OBJECT LIBSBML_INVALID_OBJECT@endlink 1727 * @li @link libsbml#LIBSBML_OPERATION_FAILED LIBSBML_OPERATION_FAILED@endlink 1728 * 1729 * 1730 * @note This method should be used with some caution. The fact that this 1731 * method @em copies the object passed to it means that the caller will be 1732 * left holding a physically different object instance than the one contained 1733 * inside this object. Changes made to the original object instance (such as 1734 * resetting attribute values) will <em>not affect the instance in this 1735 * object</em>. In addition, the caller should make sure to free the 1736 * original object if it is no longer being used, or else a memory leak will 1737 * result. Please see other methods on this class (particularly a 1738 * corresponding method whose name begins with the word <code>create</code>) 1739 * for alternatives that do not lead to these issues. 1740 * 1741 * 1742 * 1743 * @see createUnitDefinition() 1744 */ public addUnitDefinition(UnitDefinition ud)1745 int addUnitDefinition(UnitDefinition ud) { 1746 int ret = libsbmlPINVOKE.Model_addUnitDefinition(swigCPtr, UnitDefinition.getCPtr(ud)); 1747 return ret; 1748 } 1749 1750 1751 /** 1752 * Adds a copy of the given CompartmentType object to this Model. 1753 * 1754 * @param ct the CompartmentType object to add. 1755 * 1756 * 1757 * @return integer value indicating success/failure of the 1758 * function. @if clike The value is drawn from the 1759 * enumeration #OperationReturnValues_t. @endif The possible values 1760 * returned by this function are: 1761 * @li @link libsbml#LIBSBML_OPERATION_SUCCESS LIBSBML_OPERATION_SUCCESS@endlink 1762 * @li @link libsbml#LIBSBML_LEVEL_MISMATCH LIBSBML_LEVEL_MISMATCH@endlink 1763 * @li @link libsbml#LIBSBML_VERSION_MISMATCH LIBSBML_VERSION_MISMATCH@endlink 1764 * @li @link libsbml#LIBSBML_DUPLICATE_OBJECT_ID LIBSBML_DUPLICATE_OBJECT_ID@endlink 1765 * @li @link libsbml#LIBSBML_INVALID_OBJECT LIBSBML_INVALID_OBJECT@endlink 1766 * @li @link libsbml#LIBSBML_OPERATION_FAILED LIBSBML_OPERATION_FAILED@endlink 1767 * 1768 * 1769 * @note This method should be used with some caution. The fact that this 1770 * method @em copies the object passed to it means that the caller will be 1771 * left holding a physically different object instance than the one contained 1772 * inside this object. Changes made to the original object instance (such as 1773 * resetting attribute values) will <em>not affect the instance in this 1774 * object</em>. In addition, the caller should make sure to free the 1775 * original object if it is no longer being used, or else a memory leak will 1776 * result. Please see other methods on this class (particularly a 1777 * corresponding method whose name begins with the word <code>create</code>) 1778 * for alternatives that do not lead to these issues. 1779 * 1780 * 1781 * 1782 * @note The CompartmentType object class is only available in SBML 1783 * Level 2 Versions 2–4. It is not available in 1784 * Level 1 nor Level 3. 1785 * 1786 * @see createCompartmentType() 1787 */ public addCompartmentType(CompartmentType ct)1788 int addCompartmentType(CompartmentType ct) { 1789 int ret = libsbmlPINVOKE.Model_addCompartmentType(swigCPtr, CompartmentType.getCPtr(ct)); 1790 return ret; 1791 } 1792 1793 1794 /** 1795 * Adds a copy of the given SpeciesType object to this Model. 1796 * 1797 * @param st the SpeciesType object to add. 1798 * 1799 * 1800 * @return integer value indicating success/failure of the 1801 * function. @if clike The value is drawn from the 1802 * enumeration #OperationReturnValues_t. @endif The possible values 1803 * returned by this function are: 1804 * @li @link libsbml#LIBSBML_OPERATION_SUCCESS LIBSBML_OPERATION_SUCCESS@endlink 1805 * @li @link libsbml#LIBSBML_LEVEL_MISMATCH LIBSBML_LEVEL_MISMATCH@endlink 1806 * @li @link libsbml#LIBSBML_VERSION_MISMATCH LIBSBML_VERSION_MISMATCH@endlink 1807 * @li @link libsbml#LIBSBML_DUPLICATE_OBJECT_ID LIBSBML_DUPLICATE_OBJECT_ID@endlink 1808 * @li @link libsbml#LIBSBML_INVALID_OBJECT LIBSBML_INVALID_OBJECT@endlink 1809 * @li @link libsbml#LIBSBML_OPERATION_FAILED LIBSBML_OPERATION_FAILED@endlink 1810 * 1811 * 1812 * @note This method should be used with some caution. The fact that this 1813 * method @em copies the object passed to it means that the caller will be 1814 * left holding a physically different object instance than the one contained 1815 * inside this object. Changes made to the original object instance (such as 1816 * resetting attribute values) will <em>not affect the instance in this 1817 * object</em>. In addition, the caller should make sure to free the 1818 * original object if it is no longer being used, or else a memory leak will 1819 * result. Please see other methods on this class (particularly a 1820 * corresponding method whose name begins with the word <code>create</code>) 1821 * for alternatives that do not lead to these issues. 1822 * 1823 * 1824 * 1825 * @note The SpeciesType object class is only available in SBML 1826 * Level 2 Versions 2–4. It is not available in 1827 * Level 1 nor Level 3. 1828 * 1829 * @see createSpeciesType() 1830 */ public addSpeciesType(SpeciesType st)1831 int addSpeciesType(SpeciesType st) { 1832 int ret = libsbmlPINVOKE.Model_addSpeciesType(swigCPtr, SpeciesType.getCPtr(st)); 1833 return ret; 1834 } 1835 1836 1837 /** 1838 * Adds a copy of the given Compartment object to this Model. 1839 * 1840 * @param c the Compartment object to add. 1841 * 1842 * 1843 * @return integer value indicating success/failure of the 1844 * function. @if clike The value is drawn from the 1845 * enumeration #OperationReturnValues_t. @endif The possible values 1846 * returned by this function are: 1847 * @li @link libsbml#LIBSBML_OPERATION_SUCCESS LIBSBML_OPERATION_SUCCESS@endlink 1848 * @li @link libsbml#LIBSBML_LEVEL_MISMATCH LIBSBML_LEVEL_MISMATCH@endlink 1849 * @li @link libsbml#LIBSBML_VERSION_MISMATCH LIBSBML_VERSION_MISMATCH@endlink 1850 * @li @link libsbml#LIBSBML_DUPLICATE_OBJECT_ID LIBSBML_DUPLICATE_OBJECT_ID@endlink 1851 * @li @link libsbml#LIBSBML_INVALID_OBJECT LIBSBML_INVALID_OBJECT@endlink 1852 * @li @link libsbml#LIBSBML_OPERATION_FAILED LIBSBML_OPERATION_FAILED@endlink 1853 * 1854 * 1855 * @note This method should be used with some caution. The fact that this 1856 * method @em copies the object passed to it means that the caller will be 1857 * left holding a physically different object instance than the one contained 1858 * inside this object. Changes made to the original object instance (such as 1859 * resetting attribute values) will <em>not affect the instance in this 1860 * object</em>. In addition, the caller should make sure to free the 1861 * original object if it is no longer being used, or else a memory leak will 1862 * result. Please see other methods on this class (particularly a 1863 * corresponding method whose name begins with the word <code>create</code>) 1864 * for alternatives that do not lead to these issues. 1865 * 1866 * 1867 * 1868 * @see createCompartment() 1869 */ public addCompartment(Compartment c)1870 int addCompartment(Compartment c) { 1871 int ret = libsbmlPINVOKE.Model_addCompartment(swigCPtr, Compartment.getCPtr(c)); 1872 return ret; 1873 } 1874 1875 1876 /** 1877 * Adds a copy of the given Species object to this Model. 1878 * 1879 * @param s the Species object to add. 1880 * 1881 * 1882 * @return integer value indicating success/failure of the 1883 * function. @if clike The value is drawn from the 1884 * enumeration #OperationReturnValues_t. @endif The possible values 1885 * returned by this function are: 1886 * @li @link libsbml#LIBSBML_OPERATION_SUCCESS LIBSBML_OPERATION_SUCCESS@endlink 1887 * @li @link libsbml#LIBSBML_LEVEL_MISMATCH LIBSBML_LEVEL_MISMATCH@endlink 1888 * @li @link libsbml#LIBSBML_VERSION_MISMATCH LIBSBML_VERSION_MISMATCH@endlink 1889 * @li @link libsbml#LIBSBML_DUPLICATE_OBJECT_ID LIBSBML_DUPLICATE_OBJECT_ID@endlink 1890 * @li @link libsbml#LIBSBML_INVALID_OBJECT LIBSBML_INVALID_OBJECT@endlink 1891 * @li @link libsbml#LIBSBML_OPERATION_FAILED LIBSBML_OPERATION_FAILED@endlink 1892 * 1893 * 1894 * @note This method should be used with some caution. The fact that this 1895 * method @em copies the object passed to it means that the caller will be 1896 * left holding a physically different object instance than the one contained 1897 * inside this object. Changes made to the original object instance (such as 1898 * resetting attribute values) will <em>not affect the instance in this 1899 * object</em>. In addition, the caller should make sure to free the 1900 * original object if it is no longer being used, or else a memory leak will 1901 * result. Please see other methods on this class (particularly a 1902 * corresponding method whose name begins with the word <code>create</code>) 1903 * for alternatives that do not lead to these issues. 1904 * 1905 * 1906 * 1907 * @see createSpecies() 1908 */ public addSpecies(Species s)1909 int addSpecies(Species s) { 1910 int ret = libsbmlPINVOKE.Model_addSpecies(swigCPtr, Species.getCPtr(s)); 1911 return ret; 1912 } 1913 1914 1915 /** 1916 * Adds a copy of the given Parameter object to this Model. 1917 * 1918 * @param p the Parameter object to add. 1919 * 1920 * 1921 * @return integer value indicating success/failure of the 1922 * function. @if clike The value is drawn from the 1923 * enumeration #OperationReturnValues_t. @endif The possible values 1924 * returned by this function are: 1925 * @li @link libsbml#LIBSBML_OPERATION_SUCCESS LIBSBML_OPERATION_SUCCESS@endlink 1926 * @li @link libsbml#LIBSBML_LEVEL_MISMATCH LIBSBML_LEVEL_MISMATCH@endlink 1927 * @li @link libsbml#LIBSBML_VERSION_MISMATCH LIBSBML_VERSION_MISMATCH@endlink 1928 * @li @link libsbml#LIBSBML_DUPLICATE_OBJECT_ID LIBSBML_DUPLICATE_OBJECT_ID@endlink 1929 * @li @link libsbml#LIBSBML_INVALID_OBJECT LIBSBML_INVALID_OBJECT@endlink 1930 * @li @link libsbml#LIBSBML_OPERATION_FAILED LIBSBML_OPERATION_FAILED@endlink 1931 * 1932 * 1933 * @note This method should be used with some caution. The fact that this 1934 * method @em copies the object passed to it means that the caller will be 1935 * left holding a physically different object instance than the one contained 1936 * inside this object. Changes made to the original object instance (such as 1937 * resetting attribute values) will <em>not affect the instance in this 1938 * object</em>. In addition, the caller should make sure to free the 1939 * original object if it is no longer being used, or else a memory leak will 1940 * result. Please see other methods on this class (particularly a 1941 * corresponding method whose name begins with the word <code>create</code>) 1942 * for alternatives that do not lead to these issues. 1943 * 1944 * 1945 * 1946 * @see createParameter() 1947 */ public addParameter(Parameter p)1948 int addParameter(Parameter p) { 1949 int ret = libsbmlPINVOKE.Model_addParameter(swigCPtr, Parameter.getCPtr(p)); 1950 return ret; 1951 } 1952 1953 1954 /** 1955 * Adds a copy of the given InitialAssignment object to this Model. 1956 * 1957 * @param ia the InitialAssignment object to add. 1958 * 1959 * 1960 * @return integer value indicating success/failure of the 1961 * function. @if clike The value is drawn from the 1962 * enumeration #OperationReturnValues_t. @endif The possible values 1963 * returned by this function are: 1964 * @li @link libsbml#LIBSBML_OPERATION_SUCCESS LIBSBML_OPERATION_SUCCESS@endlink 1965 * @li @link libsbml#LIBSBML_LEVEL_MISMATCH LIBSBML_LEVEL_MISMATCH@endlink 1966 * @li @link libsbml#LIBSBML_VERSION_MISMATCH LIBSBML_VERSION_MISMATCH@endlink 1967 * @li @link libsbml#LIBSBML_DUPLICATE_OBJECT_ID LIBSBML_DUPLICATE_OBJECT_ID@endlink 1968 * @li @link libsbml#LIBSBML_INVALID_OBJECT LIBSBML_INVALID_OBJECT@endlink 1969 * @li @link libsbml#LIBSBML_OPERATION_FAILED LIBSBML_OPERATION_FAILED@endlink 1970 * 1971 * 1972 * @note This method should be used with some caution. The fact that this 1973 * method @em copies the object passed to it means that the caller will be 1974 * left holding a physically different object instance than the one contained 1975 * inside this object. Changes made to the original object instance (such as 1976 * resetting attribute values) will <em>not affect the instance in this 1977 * object</em>. In addition, the caller should make sure to free the 1978 * original object if it is no longer being used, or else a memory leak will 1979 * result. Please see other methods on this class (particularly a 1980 * corresponding method whose name begins with the word <code>create</code>) 1981 * for alternatives that do not lead to these issues. 1982 * 1983 * 1984 * 1985 * @see createInitialAssignment() 1986 */ public addInitialAssignment(InitialAssignment ia)1987 int addInitialAssignment(InitialAssignment ia) { 1988 int ret = libsbmlPINVOKE.Model_addInitialAssignment(swigCPtr, InitialAssignment.getCPtr(ia)); 1989 return ret; 1990 } 1991 1992 1993 /** 1994 * Adds a copy of the given Rule object to this Model. 1995 * 1996 * @param r the Rule object to add. 1997 * 1998 * 1999 * @return integer value indicating success/failure of the 2000 * function. @if clike The value is drawn from the 2001 * enumeration #OperationReturnValues_t. @endif The possible values 2002 * returned by this function are: 2003 * @li @link libsbml#LIBSBML_OPERATION_SUCCESS LIBSBML_OPERATION_SUCCESS@endlink 2004 * @li @link libsbml#LIBSBML_LEVEL_MISMATCH LIBSBML_LEVEL_MISMATCH@endlink 2005 * @li @link libsbml#LIBSBML_VERSION_MISMATCH LIBSBML_VERSION_MISMATCH@endlink 2006 * @li @link libsbml#LIBSBML_DUPLICATE_OBJECT_ID LIBSBML_DUPLICATE_OBJECT_ID@endlink 2007 * @li @link libsbml#LIBSBML_INVALID_OBJECT LIBSBML_INVALID_OBJECT@endlink 2008 * @li @link libsbml#LIBSBML_OPERATION_FAILED LIBSBML_OPERATION_FAILED@endlink 2009 * 2010 * 2011 * @note This method should be used with some caution. The fact that this 2012 * method @em copies the object passed to it means that the caller will be 2013 * left holding a physically different object instance than the one contained 2014 * inside this object. Changes made to the original object instance (such as 2015 * resetting attribute values) will <em>not affect the instance in this 2016 * object</em>. In addition, the caller should make sure to free the 2017 * original object if it is no longer being used, or else a memory leak will 2018 * result. Please see other methods on this class (particularly a 2019 * corresponding method whose name begins with the word <code>create</code>) 2020 * for alternatives that do not lead to these issues. 2021 * 2022 * 2023 * 2024 * @see createAlgebraicRule() 2025 * @see createAssignmentRule() 2026 * @see createRateRule() 2027 */ public addRule(Rule r)2028 int addRule(Rule r) { 2029 int ret = libsbmlPINVOKE.Model_addRule(swigCPtr, Rule.getCPtr(r)); 2030 return ret; 2031 } 2032 2033 2034 /** 2035 * Adds a copy of the given Constraint object to this Model. 2036 * 2037 * @param c the Constraint object to add. 2038 * 2039 * 2040 * @return integer value indicating success/failure of the 2041 * function. @if clike The value is drawn from the 2042 * enumeration #OperationReturnValues_t. @endif The possible values 2043 * returned by this function are: 2044 * @li @link libsbml#LIBSBML_OPERATION_SUCCESS LIBSBML_OPERATION_SUCCESS@endlink 2045 * @li @link libsbml#LIBSBML_LEVEL_MISMATCH LIBSBML_LEVEL_MISMATCH@endlink 2046 * @li @link libsbml#LIBSBML_VERSION_MISMATCH LIBSBML_VERSION_MISMATCH@endlink 2047 * @li @link libsbml#LIBSBML_INVALID_OBJECT LIBSBML_INVALID_OBJECT@endlink 2048 * @li @link libsbml#LIBSBML_OPERATION_FAILED LIBSBML_OPERATION_FAILED@endlink 2049 * 2050 * 2051 * @note This method should be used with some caution. The fact that this 2052 * method @em copies the object passed to it means that the caller will be 2053 * left holding a physically different object instance than the one contained 2054 * inside this object. Changes made to the original object instance (such as 2055 * resetting attribute values) will <em>not affect the instance in this 2056 * object</em>. In addition, the caller should make sure to free the 2057 * original object if it is no longer being used, or else a memory leak will 2058 * result. Please see other methods on this class (particularly a 2059 * corresponding method whose name begins with the word <code>create</code>) 2060 * for alternatives that do not lead to these issues. 2061 * 2062 * 2063 * 2064 * @see createConstraint() 2065 */ public addConstraint(Constraint c)2066 int addConstraint(Constraint c) { 2067 int ret = libsbmlPINVOKE.Model_addConstraint(swigCPtr, Constraint.getCPtr(c)); 2068 return ret; 2069 } 2070 2071 2072 /** 2073 * Adds a copy of the given Reaction object to this Model. 2074 * 2075 * @param r the Reaction object to add. 2076 * 2077 * 2078 * @return integer value indicating success/failure of the 2079 * function. @if clike The value is drawn from the 2080 * enumeration #OperationReturnValues_t. @endif The possible values 2081 * returned by this function are: 2082 * @li @link libsbml#LIBSBML_OPERATION_SUCCESS LIBSBML_OPERATION_SUCCESS@endlink 2083 * @li @link libsbml#LIBSBML_LEVEL_MISMATCH LIBSBML_LEVEL_MISMATCH@endlink 2084 * @li @link libsbml#LIBSBML_VERSION_MISMATCH LIBSBML_VERSION_MISMATCH@endlink 2085 * @li @link libsbml#LIBSBML_DUPLICATE_OBJECT_ID LIBSBML_DUPLICATE_OBJECT_ID@endlink 2086 * @li @link libsbml#LIBSBML_INVALID_OBJECT LIBSBML_INVALID_OBJECT@endlink 2087 * @li @link libsbml#LIBSBML_OPERATION_FAILED LIBSBML_OPERATION_FAILED@endlink 2088 * 2089 * 2090 * @note This method should be used with some caution. The fact that this 2091 * method @em copies the object passed to it means that the caller will be 2092 * left holding a physically different object instance than the one contained 2093 * inside this object. Changes made to the original object instance (such as 2094 * resetting attribute values) will <em>not affect the instance in this 2095 * object</em>. In addition, the caller should make sure to free the 2096 * original object if it is no longer being used, or else a memory leak will 2097 * result. Please see other methods on this class (particularly a 2098 * corresponding method whose name begins with the word <code>create</code>) 2099 * for alternatives that do not lead to these issues. 2100 * 2101 * 2102 * 2103 * @see createReaction() 2104 */ public addReaction(Reaction r)2105 int addReaction(Reaction r) { 2106 int ret = libsbmlPINVOKE.Model_addReaction(swigCPtr, Reaction.getCPtr(r)); 2107 return ret; 2108 } 2109 2110 2111 /** 2112 * Adds a copy of the given Event object to this Model. 2113 * 2114 * @param e the Event object to add. 2115 * 2116 * 2117 * @return integer value indicating success/failure of the 2118 * function. @if clike The value is drawn from the 2119 * enumeration #OperationReturnValues_t. @endif The possible values 2120 * returned by this function are: 2121 * @li @link libsbml#LIBSBML_OPERATION_SUCCESS LIBSBML_OPERATION_SUCCESS@endlink 2122 * @li @link libsbml#LIBSBML_LEVEL_MISMATCH LIBSBML_LEVEL_MISMATCH@endlink 2123 * @li @link libsbml#LIBSBML_VERSION_MISMATCH LIBSBML_VERSION_MISMATCH@endlink 2124 * @li @link libsbml#LIBSBML_DUPLICATE_OBJECT_ID LIBSBML_DUPLICATE_OBJECT_ID@endlink 2125 * @li @link libsbml#LIBSBML_INVALID_OBJECT LIBSBML_INVALID_OBJECT@endlink 2126 * @li @link libsbml#LIBSBML_OPERATION_FAILED LIBSBML_OPERATION_FAILED@endlink 2127 * 2128 * 2129 * @note This method should be used with some caution. The fact that this 2130 * method @em copies the object passed to it means that the caller will be 2131 * left holding a physically different object instance than the one contained 2132 * inside this object. Changes made to the original object instance (such as 2133 * resetting attribute values) will <em>not affect the instance in this 2134 * object</em>. In addition, the caller should make sure to free the 2135 * original object if it is no longer being used, or else a memory leak will 2136 * result. Please see other methods on this class (particularly a 2137 * corresponding method whose name begins with the word <code>create</code>) 2138 * for alternatives that do not lead to these issues. 2139 * 2140 * 2141 * 2142 * @see createEvent() 2143 */ public addEvent(Event e)2144 int addEvent(Event e) { 2145 int ret = libsbmlPINVOKE.Model_addEvent(swigCPtr, Event.getCPtr(e)); 2146 return ret; 2147 } 2148 2149 2150 /** 2151 * Creates a new FunctionDefinition inside this Model and returns it. 2152 * 2153 * The SBML Level and Version of the enclosing Model object, as well as 2154 * any SBML package namespaces, are used to initialize this 2155 * object's corresponding attributes. 2156 * 2157 * @return the FunctionDefinition object created. 2158 * 2159 * @see addFunctionDefinition(FunctionDefinition fd) 2160 */ public createFunctionDefinition()2161 FunctionDefinition createFunctionDefinition() { 2162 global::System.IntPtr cPtr = libsbmlPINVOKE.Model_createFunctionDefinition(swigCPtr); 2163 FunctionDefinition ret = (cPtr == global::System.IntPtr.Zero) ? null : new FunctionDefinition(cPtr, false); 2164 return ret; 2165 } 2166 2167 2168 /** 2169 * Creates a new UnitDefinition inside this Model and returns it. 2170 * 2171 * The SBML Level and Version of the enclosing Model object, as well as 2172 * any SBML package namespaces, are used to initialize this 2173 * object's corresponding attributes. 2174 * 2175 * @return the UnitDefinition object created. 2176 * 2177 * @see addUnitDefinition(UnitDefinition ud) 2178 */ public createUnitDefinition()2179 UnitDefinition createUnitDefinition() { 2180 global::System.IntPtr cPtr = libsbmlPINVOKE.Model_createUnitDefinition(swigCPtr); 2181 UnitDefinition ret = (cPtr == global::System.IntPtr.Zero) ? null : new UnitDefinition(cPtr, false); 2182 return ret; 2183 } 2184 2185 2186 /** 2187 * Creates a new Unit object within the last UnitDefinition object 2188 * created in this model and returns a pointer to it. 2189 * 2190 * The SBML Level and Version of the enclosing Model object, as well as 2191 * any SBML package namespaces, are used to initialize this 2192 * object's corresponding attributes. 2193 * 2194 * The mechanism by which the UnitDefinition was created is not 2195 * significant. If a UnitDefinition object does not exist in this model, 2196 * a new Unit is @em not created and @c null is returned instead. 2197 * 2198 * @return the Unit object created. 2199 * 2200 * @see addUnitDefinition(UnitDefinition ud) 2201 */ public createUnit()2202 Unit createUnit() { 2203 global::System.IntPtr cPtr = libsbmlPINVOKE.Model_createUnit(swigCPtr); 2204 Unit ret = (cPtr == global::System.IntPtr.Zero) ? null : new Unit(cPtr, false); 2205 return ret; 2206 } 2207 2208 2209 /** 2210 * Creates a new CompartmentType inside this Model and returns it. 2211 * 2212 * The SBML Level and Version of the enclosing Model object, as well as 2213 * any SBML package namespaces, are used to initialize this 2214 * object's corresponding attributes. 2215 * 2216 * @return the CompartmentType object created. 2217 * 2218 * @note The CompartmentType object class is only available in SBML 2219 * Level 2 Versions 2–4. It is not available in 2220 * Level 1 nor Level 3. 2221 * 2222 * @see addCompartmentType(CompartmentType ct) 2223 */ public createCompartmentType()2224 CompartmentType createCompartmentType() { 2225 global::System.IntPtr cPtr = libsbmlPINVOKE.Model_createCompartmentType(swigCPtr); 2226 CompartmentType ret = (cPtr == global::System.IntPtr.Zero) ? null : new CompartmentType(cPtr, false); 2227 return ret; 2228 } 2229 2230 2231 /** 2232 * Creates a new SpeciesType inside this Model and returns it. 2233 * 2234 * The SBML Level and Version of the enclosing Model object, as well as 2235 * any SBML package namespaces, are used to initialize this 2236 * object's corresponding attributes. 2237 * 2238 * @return the SpeciesType object created. 2239 * 2240 * @note The SpeciesType object class is only available in SBML 2241 * Level 2 Versions 2–4. It is not available in 2242 * Level 1 nor Level 3. 2243 * 2244 * @see addSpeciesType(SpeciesType st) 2245 */ public createSpeciesType()2246 SpeciesType createSpeciesType() { 2247 global::System.IntPtr cPtr = libsbmlPINVOKE.Model_createSpeciesType(swigCPtr); 2248 SpeciesType ret = (cPtr == global::System.IntPtr.Zero) ? null : new SpeciesType(cPtr, false); 2249 return ret; 2250 } 2251 2252 2253 /** 2254 * Creates a new Compartment inside this Model and returns it. 2255 * 2256 * The SBML Level and Version of the enclosing Model object, as well as 2257 * any SBML package namespaces, are used to initialize this 2258 * object's corresponding attributes. 2259 * 2260 * @return the Compartment object created. 2261 * 2262 * @see addCompartment(Compartment c) 2263 */ public createCompartment()2264 Compartment createCompartment() { 2265 global::System.IntPtr cPtr = libsbmlPINVOKE.Model_createCompartment(swigCPtr); 2266 Compartment ret = (cPtr == global::System.IntPtr.Zero) ? null : new Compartment(cPtr, false); 2267 return ret; 2268 } 2269 2270 2271 /** 2272 * Creates a new Species inside this Model and returns it. 2273 * 2274 * The SBML Level and Version of the enclosing Model object, as well as 2275 * any SBML package namespaces, are used to initialize this 2276 * object's corresponding attributes. 2277 * 2278 * @return the Species object created. 2279 * 2280 * @see addSpecies(Species s) 2281 */ public createSpecies()2282 Species createSpecies() { 2283 global::System.IntPtr cPtr = libsbmlPINVOKE.Model_createSpecies(swigCPtr); 2284 Species ret = (cPtr == global::System.IntPtr.Zero) ? null : new Species(cPtr, false); 2285 return ret; 2286 } 2287 2288 2289 /** 2290 * Creates a new Parameter inside this Model and returns it. 2291 * 2292 * The SBML Level and Version of the enclosing Model object, as well as 2293 * any SBML package namespaces, are used to initialize this 2294 * object's corresponding attributes. 2295 * 2296 * @return the Parameter object created. 2297 * 2298 * @see addParameter(Parameter p) 2299 */ public createParameter()2300 Parameter createParameter() { 2301 global::System.IntPtr cPtr = libsbmlPINVOKE.Model_createParameter(swigCPtr); 2302 Parameter ret = (cPtr == global::System.IntPtr.Zero) ? null : new Parameter(cPtr, false); 2303 return ret; 2304 } 2305 2306 2307 /** 2308 * Creates a new InitialAssignment inside this Model and returns it. 2309 * 2310 * The SBML Level and Version of the enclosing Model object, as well as 2311 * any SBML package namespaces, are used to initialize this 2312 * object's corresponding attributes. 2313 * 2314 * @return the InitialAssignment object created. 2315 * 2316 * @see addInitialAssignment(InitialAssignment ia) 2317 */ public createInitialAssignment()2318 InitialAssignment createInitialAssignment() { 2319 global::System.IntPtr cPtr = libsbmlPINVOKE.Model_createInitialAssignment(swigCPtr); 2320 InitialAssignment ret = (cPtr == global::System.IntPtr.Zero) ? null : new InitialAssignment(cPtr, false); 2321 return ret; 2322 } 2323 2324 2325 /** 2326 * Creates a new AlgebraicRule inside this Model and returns it. 2327 * 2328 * The SBML Level and Version of the enclosing Model object, as well as 2329 * any SBML package namespaces, are used to initialize this 2330 * object's corresponding attributes. 2331 * 2332 * @return the AlgebraicRule object created. 2333 * 2334 * @see addRule(Rule r) 2335 */ public createAlgebraicRule()2336 AlgebraicRule createAlgebraicRule() { 2337 global::System.IntPtr cPtr = libsbmlPINVOKE.Model_createAlgebraicRule(swigCPtr); 2338 AlgebraicRule ret = (cPtr == global::System.IntPtr.Zero) ? null : new AlgebraicRule(cPtr, false); 2339 return ret; 2340 } 2341 2342 2343 /** 2344 * Creates a new AssignmentRule inside this Model and returns it. 2345 * 2346 * The SBML Level and Version of the enclosing Model object, as well as 2347 * any SBML package namespaces, are used to initialize this 2348 * object's corresponding attributes. 2349 * 2350 * @return the AssignmentRule object created. 2351 * 2352 * @see addRule(Rule r) 2353 */ public createAssignmentRule()2354 AssignmentRule createAssignmentRule() { 2355 global::System.IntPtr cPtr = libsbmlPINVOKE.Model_createAssignmentRule(swigCPtr); 2356 AssignmentRule ret = (cPtr == global::System.IntPtr.Zero) ? null : new AssignmentRule(cPtr, false); 2357 return ret; 2358 } 2359 2360 2361 /** 2362 * Creates a new RateRule inside this Model and returns it. 2363 * 2364 * The SBML Level and Version of the enclosing Model object, as well as 2365 * any SBML package namespaces, are used to initialize this 2366 * object's corresponding attributes. 2367 * 2368 * @return the RateRule object created. 2369 * 2370 * @see addRule(Rule r) 2371 */ public createRateRule()2372 RateRule createRateRule() { 2373 global::System.IntPtr cPtr = libsbmlPINVOKE.Model_createRateRule(swigCPtr); 2374 RateRule ret = (cPtr == global::System.IntPtr.Zero) ? null : new RateRule(cPtr, false); 2375 return ret; 2376 } 2377 2378 2379 /** 2380 * Creates a new Constraint inside this Model and returns it. 2381 * 2382 * The SBML Level and Version of the enclosing Model object, as well as 2383 * any SBML package namespaces, are used to initialize this 2384 * object's corresponding attributes. 2385 * 2386 * @return the Constraint object created. 2387 * 2388 * @see addConstraint(Constraint c) 2389 */ public createConstraint()2390 Constraint createConstraint() { 2391 global::System.IntPtr cPtr = libsbmlPINVOKE.Model_createConstraint(swigCPtr); 2392 Constraint ret = (cPtr == global::System.IntPtr.Zero) ? null : new Constraint(cPtr, false); 2393 return ret; 2394 } 2395 2396 2397 /** 2398 * Creates a new Reaction inside this Model and returns it. 2399 * 2400 * The SBML Level and Version of the enclosing Model object, as well as 2401 * any SBML package namespaces, are used to initialize this 2402 * object's corresponding attributes. 2403 * 2404 * @return the Reaction object created. 2405 * 2406 * @see addReaction(Reaction r) 2407 */ public createReaction()2408 Reaction createReaction() { 2409 Reaction ret = (Reaction) libsbml.DowncastSBase(libsbmlPINVOKE.Model_createReaction(swigCPtr), false); 2410 return ret; 2411 } 2412 2413 2414 /** 2415 * Creates a new SpeciesReference object for a reactant inside the last 2416 * Reaction object in this Model, and returns a pointer to it. 2417 * 2418 * The SBML Level and Version of the enclosing Model object, as well as 2419 * any SBML package namespaces, are used to initialize this 2420 * object's corresponding attributes. 2421 * 2422 * 2423 * 2424 * The mechanism by which the last Reaction object was created and added 2425 * to this Model is not significant. It could have been created in a 2426 * variety of ways, for example using createReaction(). If a Reaction 2427 * does not exist for this model, a new SpeciesReference is @em not 2428 * created and @c null is returned instead. 2429 * 2430 * 2431 * 2432 * @return the SpeciesReference object created. If a Reaction does not 2433 * exist for this model, a new SpeciesReference is @em not created and 2434 * @c null is returned. 2435 */ public createReactant()2436 SpeciesReference createReactant() { 2437 SpeciesReference ret 2438 = (SpeciesReference) libsbml.DowncastSBase(libsbmlPINVOKE.Model_createReactant(swigCPtr), false); 2439 return ret; 2440 } 2441 2442 2443 /** 2444 * Creates a new SpeciesReference object for a product inside the last 2445 * Reaction object in this Model, and returns a pointer to it. 2446 * 2447 * The SBML Level and Version of the enclosing Model object, as well as 2448 * any SBML package namespaces, are used to initialize this 2449 * object's corresponding attributes. 2450 * 2451 * 2452 * 2453 * The mechanism by which the last Reaction object was created and added 2454 * to this Model is not significant. It could have been created in a 2455 * variety of ways, for example using createReaction(). If a Reaction 2456 * does not exist for this model, a new SpeciesReference is @em not 2457 * created and @c null is returned instead. 2458 * 2459 * 2460 * 2461 * @return the SpeciesReference object created. If a Reaction does not 2462 * exist for this model, a new SpeciesReference is @em not created and 2463 * @c null is returned. 2464 */ public createProduct()2465 SpeciesReference createProduct() { 2466 SpeciesReference ret 2467 = (SpeciesReference) libsbml.DowncastSBase(libsbmlPINVOKE.Model_createProduct(swigCPtr), false); 2468 return ret; 2469 } 2470 2471 2472 /** 2473 * Creates a new ModifierSpeciesReference object for a modifier species 2474 * inside the last Reaction object in this Model, and returns a pointer 2475 * to it. 2476 * 2477 * The SBML Level and Version of the enclosing Model object, as well as 2478 * any SBML package namespaces, are used to initialize this 2479 * object's corresponding attributes. 2480 * 2481 * 2482 * 2483 * The mechanism by which the last Reaction object was created and added 2484 * to this Model is not significant. It could have been created in a 2485 * variety of ways, for example using createReaction(). If a Reaction 2486 * does not exist for this model, a new SpeciesReference is @em not 2487 * created and @c null is returned instead. 2488 * 2489 * 2490 * 2491 * @return the SpeciesReference object created. If a Reaction does not 2492 * exist for this model, a new SpeciesReference is @em not created and 2493 * @c null is returned. 2494 */ public createModifier()2495 ModifierSpeciesReference createModifier() { 2496 global::System.IntPtr cPtr = libsbmlPINVOKE.Model_createModifier(swigCPtr); 2497 ModifierSpeciesReference ret = (cPtr == global::System.IntPtr.Zero) ? null : new ModifierSpeciesReference(cPtr, false); 2498 return ret; 2499 } 2500 2501 2502 /** 2503 * Creates a new KineticLaw inside the last Reaction object created in 2504 * this Model, and returns a pointer to it. 2505 * 2506 * The SBML Level and Version of the enclosing Model object, as well as 2507 * any SBML package namespaces, are used to initialize this 2508 * object's corresponding attributes. 2509 * 2510 * 2511 * 2512 * The mechanism by which the last Reaction object was created and added 2513 * to this Model is not significant. It could have been created in a 2514 * variety of ways, for example using createReaction(). If a Reaction 2515 * does not exist for this model, a new SpeciesReference is @em not 2516 * created and @c null is returned instead. 2517 * 2518 * 2519 * 2520 * @return the KineticLaw object created. If a Reaction does not exist for 2521 * this model, or a Reaction does exist but already has a KineticLaw, a new 2522 * KineticLaw is @em not created and @c null is returned. 2523 */ public createKineticLaw()2524 KineticLaw createKineticLaw() { 2525 global::System.IntPtr cPtr = libsbmlPINVOKE.Model_createKineticLaw(swigCPtr); 2526 KineticLaw ret = (cPtr == global::System.IntPtr.Zero) ? null : new KineticLaw(cPtr, false); 2527 return ret; 2528 } 2529 2530 2531 /** 2532 * Creates a new local Parameter inside the KineticLaw object of the last 2533 * Reaction created inside this Model, and returns a pointer to it. 2534 * 2535 * The SBML Level and Version of the enclosing Model object, as well as 2536 * any SBML package namespaces, are used to initialize this 2537 * object's corresponding attributes. 2538 * 2539 * 2540 * 2541 * The last KineticLaw object in this Model could have been created in a 2542 * variety of ways. For example, it could have been added using 2543 * createKineticLaw(), or it could be the result of using 2544 * Reaction::createKineticLaw() on the Reaction object created by a 2545 * createReaction(). If a Reaction does not exist for this model, or the 2546 * last Reaction does not contain a KineticLaw object, a new Parameter is 2547 * @em not created and @c null is returned instead. 2548 * 2549 * 2550 * 2551 * @return the Parameter object created. If a Reaction does not exist for 2552 * this model, or a KineticLaw for the Reaction does not exist, a new 2553 * Parameter is @em not created and @c null is returned. 2554 */ public createKineticLawParameter()2555 Parameter createKineticLawParameter() { 2556 global::System.IntPtr cPtr = libsbmlPINVOKE.Model_createKineticLawParameter(swigCPtr); 2557 Parameter ret = (cPtr == global::System.IntPtr.Zero) ? null : new Parameter(cPtr, false); 2558 return ret; 2559 } 2560 2561 2562 /** 2563 * Creates a new LocalParameter inside the KineticLaw object of the last 2564 * Reaction created inside this Model, and returns a pointer to it. 2565 * 2566 * The SBML Level and Version of the enclosing Model object, as well as 2567 * any SBML package namespaces, are used to initialize this 2568 * object's corresponding attributes. 2569 * 2570 * 2571 * 2572 * The last KineticLaw object in this Model could have been created in a 2573 * variety of ways. For example, it could have been added using 2574 * createKineticLaw(), or it could be the result of using 2575 * Reaction::createKineticLaw() on the Reaction object created by a 2576 * createReaction(). If a Reaction does not exist for this model, or the 2577 * last Reaction does not contain a KineticLaw object, a new Parameter is 2578 * @em not created and @c null is returned instead. 2579 * 2580 * 2581 * 2582 * @return the Parameter object created. If a Reaction does not exist for 2583 * this model, or a KineticLaw for the Reaction does not exist, a new 2584 * Parameter is @em not created and @c null is returned. 2585 */ public createKineticLawLocalParameter()2586 LocalParameter createKineticLawLocalParameter() { 2587 global::System.IntPtr cPtr = libsbmlPINVOKE.Model_createKineticLawLocalParameter(swigCPtr); 2588 LocalParameter ret = (cPtr == global::System.IntPtr.Zero) ? null : new LocalParameter(cPtr, false); 2589 return ret; 2590 } 2591 2592 2593 /** 2594 * Creates a new Event inside this Model and returns it. 2595 * 2596 * The SBML Level and Version of the enclosing Model object, as well as 2597 * any SBML package namespaces, are used to initialize this 2598 * object's corresponding attributes. 2599 * 2600 * @return the Event object created. 2601 */ public createEvent()2602 Event createEvent() { 2603 global::System.IntPtr cPtr = libsbmlPINVOKE.Model_createEvent(swigCPtr); 2604 Event ret = (cPtr == global::System.IntPtr.Zero) ? null : new Event(cPtr, false); 2605 return ret; 2606 } 2607 2608 2609 /** 2610 * Creates a new EventAssignment inside the last Event object created in 2611 * this Model, and returns a pointer to it. 2612 * 2613 * The SBML Level and Version of the enclosing Model object, as well as 2614 * any SBML package namespaces, are used to initialize this 2615 * object's corresponding attributes. 2616 * 2617 * 2618 * 2619 * The mechanism by which the last Event object in this model was created 2620 * is not significant. It could have been created in a variety of ways, 2621 * for example by using createEvent(). If no Event object exists in this 2622 * Model object, a new EventAssignment is @em not created and @c null is 2623 * returned instead. 2624 * 2625 * @return the EventAssignment object created. 2626 */ public createEventAssignment()2627 EventAssignment createEventAssignment() { 2628 global::System.IntPtr cPtr = libsbmlPINVOKE.Model_createEventAssignment(swigCPtr); 2629 EventAssignment ret = (cPtr == global::System.IntPtr.Zero) ? null : new EventAssignment(cPtr, false); 2630 return ret; 2631 } 2632 2633 2634 /** 2635 * Creates a new Trigger inside the last Event object created in 2636 * this Model, and returns a pointer to it. 2637 * 2638 * The SBML Level and Version of the enclosing Model object, as well as 2639 * any SBML package namespaces, are used to initialize this 2640 * object's corresponding attributes. 2641 * 2642 * 2643 * 2644 * The mechanism by which the last Event object in this model was created 2645 * is not significant. It could have been created in a variety of ways, 2646 * for example by using createEvent(). If no Event object exists in this 2647 * Model object, a new EventAssignment is @em not created and @c null is 2648 * returned instead. 2649 * 2650 * @return the Trigger object created. 2651 */ public createTrigger()2652 Trigger createTrigger() { 2653 global::System.IntPtr cPtr = libsbmlPINVOKE.Model_createTrigger(swigCPtr); 2654 Trigger ret = (cPtr == global::System.IntPtr.Zero) ? null : new Trigger(cPtr, false); 2655 return ret; 2656 } 2657 2658 2659 /** 2660 * Creates a new Delay inside the last Event object created in 2661 * this Model, and returns a pointer to it. 2662 * 2663 * The SBML Level and Version of the enclosing Model object, as well as 2664 * any SBML package namespaces, are used to initialize this 2665 * object's corresponding attributes. 2666 * 2667 * 2668 * 2669 * The mechanism by which the last Event object in this model was created 2670 * is not significant. It could have been created in a variety of ways, 2671 * for example by using createEvent(). If no Event object exists in this 2672 * Model object, a new EventAssignment is @em not created and @c null is 2673 * returned instead. 2674 * 2675 * @return the Delay object created. 2676 */ public createDelay()2677 Delay createDelay() { 2678 global::System.IntPtr cPtr = libsbmlPINVOKE.Model_createDelay(swigCPtr); 2679 Delay ret = (cPtr == global::System.IntPtr.Zero) ? null : new Delay(cPtr, false); 2680 return ret; 2681 } 2682 2683 2684 /** 2685 * Sets the value of the 'annotation' subelement of this SBML object to a 2686 * copy of @p annotation. 2687 * 2688 * Any existing content of the 'annotation' subelement is discarded. 2689 * Unless you have taken steps to first copy and reconstitute any 2690 * existing annotations into the @p annotation that is about to be 2691 * assigned, it is likely that performing such wholesale replacement is 2692 * unfriendly towards other software applications whose annotations are 2693 * discarded. An alternative may be to use appendAnnotation(). 2694 * 2695 * @param annotation an XML structure that is to be used as the content 2696 * of the 'annotation' subelement of this object. 2697 * 2698 * 2699 * @return integer value indicating success/failure of the 2700 * function. @if clike The value is drawn from the 2701 * enumeration #OperationReturnValues_t. @endif This particular 2702 * function only does one thing irrespective of user input or 2703 * object state, and thus will only return a single value: 2704 * @li @link libsbml#LIBSBML_OPERATION_SUCCESS LIBSBML_OPERATION_SUCCESS@endlink 2705 * 2706 * @see appendAnnotation(XMLNode annotation) 2707 */ public new setAnnotation(XMLNode annotation)2708 int setAnnotation(XMLNode annotation) { 2709 int ret = libsbmlPINVOKE.Model_setAnnotation__SWIG_0(swigCPtr, XMLNode.getCPtr(annotation)); 2710 return ret; 2711 } 2712 2713 2714 /** 2715 * Sets the value of the 'annotation' subelement of this SBML object to a 2716 * copy of @p annotation. 2717 * 2718 * Any existing content of the 'annotation' subelement is discarded. 2719 * Unless you have taken steps to first copy and reconstitute any 2720 * existing annotations into the @p annotation that is about to be 2721 * assigned, it is likely that performing such wholesale replacement is 2722 * unfriendly towards other software applications whose annotations are 2723 * discarded. An alternative may be to use appendAnnotation(). 2724 * 2725 * @param annotation an XML string that is to be used as the content 2726 * of the 'annotation' subelement of this object. 2727 * 2728 * 2729 * @return integer value indicating success/failure of the 2730 * function. @if clike The value is drawn from the 2731 * enumeration #OperationReturnValues_t. @endif The possible values 2732 * returned by this function are: 2733 * @li @link libsbml#LIBSBML_OPERATION_SUCCESS LIBSBML_OPERATION_SUCCESS@endlink 2734 * @li @link libsbml#LIBSBML_OPERATION_FAILED LIBSBML_OPERATION_FAILED@endlink 2735 * 2736 * @see appendAnnotation(string annotation) 2737 */ public new setAnnotation(string annotation)2738 int setAnnotation(string annotation) { 2739 int ret = libsbmlPINVOKE.Model_setAnnotation__SWIG_1(swigCPtr, annotation); 2740 return ret; 2741 } 2742 2743 2744 /** 2745 * Appends annotation content to any existing content in the 'annotation' 2746 * subelement of this object. 2747 * 2748 * The content in @p annotation is copied. Unlike setAnnotation(), this 2749 * method allows other annotations to be preserved when an application 2750 * adds its own data. 2751 * 2752 * @param annotation an XML structure that is to be copied and appended 2753 * to the content of the 'annotation' subelement of this object. 2754 * 2755 * 2756 * @return integer value indicating success/failure of the 2757 * function. @if clike The value is drawn from the 2758 * enumeration #OperationReturnValues_t. @endif The possible values 2759 * returned by this function are: 2760 * @li @link libsbml#LIBSBML_OPERATION_SUCCESS LIBSBML_OPERATION_SUCCESS@endlink 2761 * @li @link libsbml#LIBSBML_OPERATION_FAILED LIBSBML_OPERATION_FAILED@endlink 2762 * 2763 * @see setAnnotation(XMLNode annotation) 2764 */ public new appendAnnotation(XMLNode annotation)2765 int appendAnnotation(XMLNode annotation) { 2766 int ret = libsbmlPINVOKE.Model_appendAnnotation__SWIG_0(swigCPtr, XMLNode.getCPtr(annotation)); 2767 return ret; 2768 } 2769 2770 2771 /** 2772 * Appends annotation content to any existing content in the 'annotation' 2773 * subelement of this object. 2774 * 2775 * The content in @p annotation is copied. Unlike setAnnotation(), this 2776 * method allows other annotations to be preserved when an application 2777 * adds its own data. 2778 * 2779 * @param annotation an XML string that is to be copied and appended 2780 * to the content of the 'annotation' subelement of this object. 2781 * 2782 * 2783 * @return integer value indicating success/failure of the 2784 * function. @if clike The value is drawn from the 2785 * enumeration #OperationReturnValues_t. @endif The possible values 2786 * returned by this function are: 2787 * @li @link libsbml#LIBSBML_OPERATION_SUCCESS LIBSBML_OPERATION_SUCCESS@endlink 2788 * @li @link libsbml#LIBSBML_OPERATION_FAILED LIBSBML_OPERATION_FAILED@endlink 2789 * 2790 * @see setAnnotation(string annotation) 2791 */ public new appendAnnotation(string annotation)2792 int appendAnnotation(string annotation) { 2793 int ret = libsbmlPINVOKE.Model_appendAnnotation__SWIG_1(swigCPtr, annotation); 2794 return ret; 2795 } 2796 2797 2798 /** 2799 * Get the ListOfFunctionDefinitions object in this Model. 2800 * 2801 * @return the list of FunctionDefinitions for this Model. 2802 */ public getListOfFunctionDefinitions()2803 ListOfFunctionDefinitions getListOfFunctionDefinitions() { 2804 global::System.IntPtr cPtr = libsbmlPINVOKE.Model_getListOfFunctionDefinitions__SWIG_0(swigCPtr); 2805 ListOfFunctionDefinitions ret = (cPtr == global::System.IntPtr.Zero) ? null : new ListOfFunctionDefinitions(cPtr, false); 2806 return ret; 2807 } 2808 2809 2810 /** 2811 * Get the ListOfUnitDefinitions object in this Model. 2812 * 2813 * @return the list of UnitDefinitions for this Model. 2814 */ public getListOfUnitDefinitions()2815 ListOfUnitDefinitions getListOfUnitDefinitions() { 2816 global::System.IntPtr cPtr = libsbmlPINVOKE.Model_getListOfUnitDefinitions__SWIG_0(swigCPtr); 2817 ListOfUnitDefinitions ret = (cPtr == global::System.IntPtr.Zero) ? null : new ListOfUnitDefinitions(cPtr, false); 2818 return ret; 2819 } 2820 2821 2822 /** 2823 * Get the ListOfCompartmentTypes object in this Model. 2824 * 2825 * @return the list of CompartmentTypes for this Model. 2826 * 2827 * @note The CompartmentType object class is only available in SBML 2828 * Level 2 Versions 2–4. It is not available in 2829 * Level 1 nor Level 3. 2830 */ public getListOfCompartmentTypes()2831 ListOfCompartmentTypes getListOfCompartmentTypes() { 2832 global::System.IntPtr cPtr = libsbmlPINVOKE.Model_getListOfCompartmentTypes__SWIG_0(swigCPtr); 2833 ListOfCompartmentTypes ret = (cPtr == global::System.IntPtr.Zero) ? null : new ListOfCompartmentTypes(cPtr, false); 2834 return ret; 2835 } 2836 2837 2838 /** 2839 * Get the ListOfSpeciesTypes object in this Model. 2840 * 2841 * @return the list of SpeciesTypes for this Model. 2842 * 2843 * @note The SpeciesType object class is only available in SBML 2844 * Level 2 Versions 2–4. It is not available in 2845 * Level 1 nor Level 3. 2846 */ public getListOfSpeciesTypes()2847 ListOfSpeciesTypes getListOfSpeciesTypes() { 2848 global::System.IntPtr cPtr = libsbmlPINVOKE.Model_getListOfSpeciesTypes__SWIG_0(swigCPtr); 2849 ListOfSpeciesTypes ret = (cPtr == global::System.IntPtr.Zero) ? null : new ListOfSpeciesTypes(cPtr, false); 2850 return ret; 2851 } 2852 2853 2854 /** 2855 * Get the ListOfCompartments object in this Model. 2856 * 2857 * @return the list of Compartments for this Model. 2858 */ public getListOfCompartments()2859 ListOfCompartments getListOfCompartments() { 2860 global::System.IntPtr cPtr = libsbmlPINVOKE.Model_getListOfCompartments__SWIG_0(swigCPtr); 2861 ListOfCompartments ret = (cPtr == global::System.IntPtr.Zero) ? null : new ListOfCompartments(cPtr, false); 2862 return ret; 2863 } 2864 2865 2866 /** 2867 * Get the ListOfSpecies object in this Model. 2868 * 2869 * @return the list of Species for this Model. 2870 */ public getListOfSpecies()2871 ListOfSpecies getListOfSpecies() { 2872 global::System.IntPtr cPtr = libsbmlPINVOKE.Model_getListOfSpecies__SWIG_0(swigCPtr); 2873 ListOfSpecies ret = (cPtr == global::System.IntPtr.Zero) ? null : new ListOfSpecies(cPtr, false); 2874 return ret; 2875 } 2876 2877 2878 /** 2879 * Get the ListOfParameters object in this Model. 2880 * 2881 * @return the list of Parameters for this Model. 2882 */ public getListOfParameters()2883 ListOfParameters getListOfParameters() { 2884 global::System.IntPtr cPtr = libsbmlPINVOKE.Model_getListOfParameters__SWIG_0(swigCPtr); 2885 ListOfParameters ret = (cPtr == global::System.IntPtr.Zero) ? null : new ListOfParameters(cPtr, false); 2886 return ret; 2887 } 2888 2889 2890 /** 2891 * Get the ListOfInitialAssignments object in this Model. 2892 * 2893 * @return the list of InitialAssignments for this Model. 2894 */ public getListOfInitialAssignments()2895 ListOfInitialAssignments getListOfInitialAssignments() { 2896 global::System.IntPtr cPtr = libsbmlPINVOKE.Model_getListOfInitialAssignments__SWIG_0(swigCPtr); 2897 ListOfInitialAssignments ret = (cPtr == global::System.IntPtr.Zero) ? null : new ListOfInitialAssignments(cPtr, false); 2898 return ret; 2899 } 2900 2901 2902 /** 2903 * Get the ListOfRules object in this Model. 2904 * 2905 * @return the list of Rules for this Model. 2906 */ public getListOfRules()2907 ListOfRules getListOfRules() { 2908 global::System.IntPtr cPtr = libsbmlPINVOKE.Model_getListOfRules__SWIG_0(swigCPtr); 2909 ListOfRules ret = (cPtr == global::System.IntPtr.Zero) ? null : new ListOfRules(cPtr, false); 2910 return ret; 2911 } 2912 2913 2914 /** 2915 * Get the ListOfConstraints object in this Model. 2916 * 2917 * @return the list of Constraints for this Model. 2918 */ public getListOfConstraints()2919 ListOfConstraints getListOfConstraints() { 2920 global::System.IntPtr cPtr = libsbmlPINVOKE.Model_getListOfConstraints__SWIG_0(swigCPtr); 2921 ListOfConstraints ret = (cPtr == global::System.IntPtr.Zero) ? null : new ListOfConstraints(cPtr, false); 2922 return ret; 2923 } 2924 2925 2926 /** 2927 * Get the ListOfReactions object in this Model. 2928 * 2929 * @return the list of Reactions for this Model. 2930 */ public getListOfReactions()2931 ListOfReactions getListOfReactions() { 2932 global::System.IntPtr cPtr = libsbmlPINVOKE.Model_getListOfReactions__SWIG_0(swigCPtr); 2933 ListOfReactions ret = (cPtr == global::System.IntPtr.Zero) ? null : new ListOfReactions(cPtr, false); 2934 return ret; 2935 } 2936 2937 2938 /** 2939 * Get the ListOfEvents object in this Model. 2940 * 2941 * @return the list of Events for this Model. 2942 */ public getListOfEvents()2943 ListOfEvents getListOfEvents() { 2944 global::System.IntPtr cPtr = libsbmlPINVOKE.Model_getListOfEvents__SWIG_0(swigCPtr); 2945 ListOfEvents ret = (cPtr == global::System.IntPtr.Zero) ? null : new ListOfEvents(cPtr, false); 2946 return ret; 2947 } 2948 2949 2950 /** 2951 * Get the nth FunctionDefinitions object in this Model. 2952 * 2953 * @param n the index of the object to return. 2954 * 2955 * @return the nth FunctionDefinition of this Model. 2956 * If the index @p n is invalid, @c null is returned. 2957 */ public getFunctionDefinition(long n)2958 FunctionDefinition getFunctionDefinition(long n) { 2959 global::System.IntPtr cPtr = libsbmlPINVOKE.Model_getFunctionDefinition__SWIG_0(swigCPtr, n); 2960 FunctionDefinition ret = (cPtr == global::System.IntPtr.Zero) ? null : new FunctionDefinition(cPtr, false); 2961 return ret; 2962 } 2963 2964 2965 /** 2966 * Get a FunctionDefinition object based on its identifier. 2967 * 2968 * @param sid the identifier to search for. 2969 * 2970 * @return the FunctionDefinition in this Model with the identifier 2971 * @p sid or @c null if no such FunctionDefinition exists. 2972 */ public getFunctionDefinition(string sid)2973 FunctionDefinition getFunctionDefinition(string sid) { 2974 global::System.IntPtr cPtr = libsbmlPINVOKE.Model_getFunctionDefinition__SWIG_2(swigCPtr, sid); 2975 FunctionDefinition ret = (cPtr == global::System.IntPtr.Zero) ? null : new FunctionDefinition(cPtr, false); 2976 return ret; 2977 } 2978 2979 2980 /** 2981 * Get the nth UnitDefinition object in this Model. 2982 * 2983 * @param n the index of the object to return. 2984 * 2985 * @return the nth UnitDefinition of this Model. 2986 * If the index @p n is invalid, @c null is returned. 2987 */ public getUnitDefinition(long n)2988 UnitDefinition getUnitDefinition(long n) { 2989 global::System.IntPtr cPtr = libsbmlPINVOKE.Model_getUnitDefinition__SWIG_0(swigCPtr, n); 2990 UnitDefinition ret = (cPtr == global::System.IntPtr.Zero) ? null : new UnitDefinition(cPtr, false); 2991 return ret; 2992 } 2993 2994 2995 /** 2996 * Get a UnitDefinition based on its identifier. 2997 * 2998 * @param sid the identifier to search for. 2999 * 3000 * @return the UnitDefinition in this Model with the identifier @p sid or 3001 * @c null if no such UnitDefinition exists. 3002 */ public getUnitDefinition(string sid)3003 UnitDefinition getUnitDefinition(string sid) { 3004 global::System.IntPtr cPtr = libsbmlPINVOKE.Model_getUnitDefinition__SWIG_2(swigCPtr, sid); 3005 UnitDefinition ret = (cPtr == global::System.IntPtr.Zero) ? null : new UnitDefinition(cPtr, false); 3006 return ret; 3007 } 3008 3009 3010 /** 3011 * Get the nth CompartmentType object in this Model. 3012 * 3013 * @param n the index of the object to return. 3014 * 3015 * @return the nth CompartmentType of this Model. 3016 * If the index @p n is invalid, @c null is returned. 3017 * 3018 * @note The CompartmentType object class is only available in SBML 3019 * Level 2 Versions 2–4. It is not available in 3020 * Level 1 nor Level 3. 3021 */ public getCompartmentType(long n)3022 CompartmentType getCompartmentType(long n) { 3023 global::System.IntPtr cPtr = libsbmlPINVOKE.Model_getCompartmentType__SWIG_0(swigCPtr, n); 3024 CompartmentType ret = (cPtr == global::System.IntPtr.Zero) ? null : new CompartmentType(cPtr, false); 3025 return ret; 3026 } 3027 3028 3029 /** 3030 * Get a CompartmentType object based on its identifier. 3031 * 3032 * @param sid the identifier to search for. 3033 * 3034 * @return the CompartmentType in this Model with the identifier @p sid 3035 * or @c null if no such CompartmentType exists. 3036 * 3037 * @note The CompartmentType object class is only available in SBML 3038 * Level 2 Versions 2–4. It is not available in 3039 * Level 1 nor Level 3. 3040 */ public getCompartmentType(string sid)3041 CompartmentType getCompartmentType(string sid) { 3042 global::System.IntPtr cPtr = libsbmlPINVOKE.Model_getCompartmentType__SWIG_2(swigCPtr, sid); 3043 CompartmentType ret = (cPtr == global::System.IntPtr.Zero) ? null : new CompartmentType(cPtr, false); 3044 return ret; 3045 } 3046 3047 3048 /** 3049 * Get the nth SpeciesType object in this Model. 3050 * 3051 * @param n the index of the object to return. 3052 * 3053 * @return the nth SpeciesType of this Model. 3054 * If the index @p n is invalid, @c null is returned. 3055 * 3056 * @note The SpeciesType object class is only available in SBML 3057 * Level 2 Versions 2–4. It is not available in 3058 * Level 1 nor Level 3. 3059 */ public getSpeciesType(long n)3060 SpeciesType getSpeciesType(long n) { 3061 global::System.IntPtr cPtr = libsbmlPINVOKE.Model_getSpeciesType__SWIG_0(swigCPtr, n); 3062 SpeciesType ret = (cPtr == global::System.IntPtr.Zero) ? null : new SpeciesType(cPtr, false); 3063 return ret; 3064 } 3065 3066 3067 /** 3068 * Get a SpeciesType object based on its identifier. 3069 * 3070 * @param sid the identifier to search for. 3071 * 3072 * @return the SpeciesType in this Model with the identifier @p sid or 3073 * @c null if no such SpeciesType exists. 3074 * 3075 * @note The SpeciesType object class is only available in SBML 3076 * Level 2 Versions 2–4. It is not available in 3077 * Level 1 nor Level 3. 3078 */ public getSpeciesType(string sid)3079 SpeciesType getSpeciesType(string sid) { 3080 global::System.IntPtr cPtr = libsbmlPINVOKE.Model_getSpeciesType__SWIG_2(swigCPtr, sid); 3081 SpeciesType ret = (cPtr == global::System.IntPtr.Zero) ? null : new SpeciesType(cPtr, false); 3082 return ret; 3083 } 3084 3085 3086 /** 3087 * Get the nth Compartment object in this Model. 3088 * 3089 * @param n the index of the object to return. 3090 * 3091 * @return the nth Compartment of this Model. 3092 * If the index @p n is invalid, @c null is returned. 3093 */ public getCompartment(long n)3094 Compartment getCompartment(long n) { 3095 global::System.IntPtr cPtr = libsbmlPINVOKE.Model_getCompartment__SWIG_0(swigCPtr, n); 3096 Compartment ret = (cPtr == global::System.IntPtr.Zero) ? null : new Compartment(cPtr, false); 3097 return ret; 3098 } 3099 3100 3101 /** 3102 * Get a Compartment object based on its identifier. 3103 * 3104 * @param sid the identifier to search for. 3105 * 3106 * @return the Compartment in this Model with the identifier @p sid or 3107 * @c null if no such Compartment exists. 3108 */ public getCompartment(string sid)3109 Compartment getCompartment(string sid) { 3110 global::System.IntPtr cPtr = libsbmlPINVOKE.Model_getCompartment__SWIG_2(swigCPtr, sid); 3111 Compartment ret = (cPtr == global::System.IntPtr.Zero) ? null : new Compartment(cPtr, false); 3112 return ret; 3113 } 3114 3115 3116 /** 3117 * Get the nth Species object in this Model. 3118 * 3119 * @param n the index of the object to return. 3120 * 3121 * @return the nth Species of this Model. 3122 * If the index @p n is invalid, @c null is returned. 3123 */ public getSpecies(long n)3124 Species getSpecies(long n) { 3125 global::System.IntPtr cPtr = libsbmlPINVOKE.Model_getSpecies__SWIG_0(swigCPtr, n); 3126 Species ret = (cPtr == global::System.IntPtr.Zero) ? null : new Species(cPtr, false); 3127 return ret; 3128 } 3129 3130 3131 /** 3132 * Get a Species object based on its identifier. 3133 * 3134 * @param sid the identifier to search for. 3135 * 3136 * @return the Species in this Model with the identifier @p sid or @c null 3137 * if no such Species exists. 3138 */ public getSpecies(string sid)3139 Species getSpecies(string sid) { 3140 global::System.IntPtr cPtr = libsbmlPINVOKE.Model_getSpecies__SWIG_2(swigCPtr, sid); 3141 Species ret = (cPtr == global::System.IntPtr.Zero) ? null : new Species(cPtr, false); 3142 return ret; 3143 } 3144 3145 3146 /** 3147 * Get the nth Parameter object in this Model. 3148 * 3149 * @param n the index of the object to return. 3150 * 3151 * @return the nth Parameter of this Model. 3152 * If the index @p n is invalid, @c null is returned. 3153 */ public getParameter(long n)3154 Parameter getParameter(long n) { 3155 global::System.IntPtr cPtr = libsbmlPINVOKE.Model_getParameter__SWIG_0(swigCPtr, n); 3156 Parameter ret = (cPtr == global::System.IntPtr.Zero) ? null : new Parameter(cPtr, false); 3157 return ret; 3158 } 3159 3160 3161 /** 3162 * Get a Parameter object based on its identifier. 3163 * 3164 * @param sid the identifier to search for. 3165 * 3166 * @return the Parameter in this Model with the identifier @p sid or @c null 3167 * if no such Parameter exists. 3168 */ public getParameter(string sid)3169 Parameter getParameter(string sid) { 3170 global::System.IntPtr cPtr = libsbmlPINVOKE.Model_getParameter__SWIG_2(swigCPtr, sid); 3171 Parameter ret = (cPtr == global::System.IntPtr.Zero) ? null : new Parameter(cPtr, false); 3172 return ret; 3173 } 3174 3175 3176 /** 3177 * Get the nth InitialAssignment object in this Model. 3178 * 3179 * @param n the index of the object to return. 3180 * 3181 * @return the nth InitialAssignment of this Model. 3182 * If the index @p n is invalid, @c null is returned. 3183 */ public getInitialAssignment(long n)3184 InitialAssignment getInitialAssignment(long n) { 3185 global::System.IntPtr cPtr = libsbmlPINVOKE.Model_getInitialAssignment__SWIG_0(swigCPtr, n); 3186 InitialAssignment ret = (cPtr == global::System.IntPtr.Zero) ? null : new InitialAssignment(cPtr, false); 3187 return ret; 3188 } 3189 3190 3191 /** 3192 * Get an InitialAssignment object based on the symbol to which it 3193 * assigns a value. 3194 * 3195 * @param symbol the symbol to search for. 3196 * 3197 * @return the InitialAssignment in this Model with the given 'symbol' 3198 * attribute value or @c null if no such InitialAssignment exists. 3199 */ public getInitialAssignment(string symbol)3200 InitialAssignment getInitialAssignment(string symbol) { 3201 global::System.IntPtr cPtr = libsbmlPINVOKE.Model_getInitialAssignment__SWIG_2(swigCPtr, symbol); 3202 InitialAssignment ret = (cPtr == global::System.IntPtr.Zero) ? null : new InitialAssignment(cPtr, false); 3203 return ret; 3204 } 3205 3206 3207 /** 3208 * Get an InitialAssignment object based on the symbol to which it 3209 * assigns a value. 3210 * 3211 * @param symbol the symbol to search for. 3212 * 3213 * @return the InitialAssignment in this Model with the given 'symbol' 3214 * attribute value or @c null if no such InitialAssignment exists. 3215 */ public getInitialAssignmentBySymbol(string symbol)3216 InitialAssignment getInitialAssignmentBySymbol(string symbol) { 3217 global::System.IntPtr cPtr = libsbmlPINVOKE.Model_getInitialAssignmentBySymbol__SWIG_0(swigCPtr, symbol); 3218 InitialAssignment ret = (cPtr == global::System.IntPtr.Zero) ? null : new InitialAssignment(cPtr, false); 3219 return ret; 3220 } 3221 3222 3223 /** 3224 * Get the nth Rule object in this Model. 3225 * 3226 * @param n the index of the object to return. 3227 * 3228 * @return the nth Rule of this Model. 3229 * If the index @p n is invalid, @c null is returned. 3230 */ public getRule(long n)3231 Rule getRule(long n) { 3232 Rule ret = (Rule) libsbml.DowncastSBase(libsbmlPINVOKE.Model_getRule__SWIG_0(swigCPtr, n), false); 3233 return ret; 3234 } 3235 3236 3237 /** 3238 * Get a Rule object based on the variable to which it assigns a value. 3239 * 3240 * @param variable the variable to search for. 3241 * 3242 * @return the Rule in this Model with the given 'variable' attribute 3243 * value or @c null if no such Rule exists. 3244 */ public getRule(string variable)3245 Rule getRule(string variable) { 3246 Rule ret = (Rule) libsbml.DowncastSBase(libsbmlPINVOKE.Model_getRule__SWIG_2(swigCPtr, variable), false); 3247 return ret; 3248 } 3249 3250 3251 /** 3252 * Get a Rule object based on the variable to which it assigns a value. 3253 * 3254 * @param variable the variable to search for. 3255 * 3256 * @return the Rule in this Model with the given 'variable' attribute 3257 * value or @c null if no such Rule exists. 3258 */ public getRuleByVariable(string variable)3259 Rule getRuleByVariable(string variable) { 3260 Rule ret = (Rule) libsbml.DowncastSBase(libsbmlPINVOKE.Model_getRuleByVariable__SWIG_0(swigCPtr, variable), false); 3261 return ret; 3262 } 3263 3264 3265 /** 3266 * Get a Rule object based on the variable to which it assigns a value. 3267 * 3268 * @param variable the variable to search for. 3269 * 3270 * @return the Rule in this Model with the given 'variable' attribute 3271 * value or @c null if no such Rule exists. 3272 */ public getAssignmentRule(string variable)3273 AssignmentRule getAssignmentRule(string variable) { 3274 global::System.IntPtr cPtr = libsbmlPINVOKE.Model_getAssignmentRule__SWIG_0(swigCPtr, variable); 3275 AssignmentRule ret = (cPtr == global::System.IntPtr.Zero) ? null : new AssignmentRule(cPtr, false); 3276 return ret; 3277 } 3278 3279 3280 /** 3281 * Get a Rule object based on the variable to which it assigns a value. 3282 * 3283 * @param variable the symbol to search for. 3284 * 3285 * @return the Rule in this Model with the given 'variable' attribute 3286 * value or @c null if no such Rule exists. 3287 */ public getRateRule(string variable)3288 RateRule getRateRule(string variable) { 3289 global::System.IntPtr cPtr = libsbmlPINVOKE.Model_getRateRule__SWIG_0(swigCPtr, variable); 3290 RateRule ret = (cPtr == global::System.IntPtr.Zero) ? null : new RateRule(cPtr, false); 3291 return ret; 3292 } 3293 3294 3295 /** 3296 * Get a Rule object based on the variable to which it assigns a value. 3297 * 3298 * @param variable the variable to search for. 3299 * 3300 * @return the Rule in this Model with the given 'variable' attribute 3301 * value or @c null if no such Rule exists. 3302 */ public getAssignmentRuleByVariable(string variable)3303 AssignmentRule getAssignmentRuleByVariable(string variable) { 3304 global::System.IntPtr cPtr = libsbmlPINVOKE.Model_getAssignmentRuleByVariable__SWIG_0(swigCPtr, variable); 3305 AssignmentRule ret = (cPtr == global::System.IntPtr.Zero) ? null : new AssignmentRule(cPtr, false); 3306 return ret; 3307 } 3308 3309 3310 /** 3311 * Get a Rule object based on the variable to which it assigns a value. 3312 * 3313 * @param variable the variable to search for. 3314 * 3315 * @return the Rule in this Model with the given 'variable' attribute 3316 * value or @c null if no such Rule exists. 3317 */ public getRateRuleByVariable(string variable)3318 RateRule getRateRuleByVariable(string variable) { 3319 global::System.IntPtr cPtr = libsbmlPINVOKE.Model_getRateRuleByVariable__SWIG_0(swigCPtr, variable); 3320 RateRule ret = (cPtr == global::System.IntPtr.Zero) ? null : new RateRule(cPtr, false); 3321 return ret; 3322 } 3323 3324 3325 /** 3326 * Get the nth Constraint object in this Model. 3327 * 3328 * @param n the index of the object to return. 3329 * 3330 * @return the nth Constraint of this Model. 3331 * If the index @p n is invalid, @c null is returned. 3332 */ public getConstraint(long n)3333 Constraint getConstraint(long n) { 3334 global::System.IntPtr cPtr = libsbmlPINVOKE.Model_getConstraint__SWIG_0(swigCPtr, n); 3335 Constraint ret = (cPtr == global::System.IntPtr.Zero) ? null : new Constraint(cPtr, false); 3336 return ret; 3337 } 3338 3339 3340 /** 3341 * Get the nth Reaction object in this Model. 3342 * 3343 * @param n the index of the object to return. 3344 * 3345 * @return the nth Reaction of this Model. 3346 * If the index @p n is invalid, @c null is returned. 3347 */ public getReaction(long n)3348 Reaction getReaction(long n) { 3349 Reaction ret = (Reaction) libsbml.DowncastSBase(libsbmlPINVOKE.Model_getReaction__SWIG_0(swigCPtr, n), false); 3350 return ret; 3351 } 3352 3353 3354 /** 3355 * Get a Reaction object based on its identifier. 3356 * 3357 * @param sid the identifier to search for. 3358 * 3359 * @return the Reaction in this Model with the identifier @p sid or @c null 3360 * if no such Reaction exists. 3361 */ public getReaction(string sid)3362 Reaction getReaction(string sid) { 3363 Reaction ret = (Reaction) libsbml.DowncastSBase(libsbmlPINVOKE.Model_getReaction__SWIG_2(swigCPtr, sid), false); 3364 return ret; 3365 } 3366 3367 3368 /** 3369 * Get a SpeciesReference object based on its identifier. 3370 * 3371 * @param sid the identifier to search for. 3372 * 3373 * @return the SpeciesReference in this Model with the identifier @p sid or @c null 3374 * if no such SpeciesReference exists. 3375 */ public getSpeciesReference(string sid)3376 SpeciesReference getSpeciesReference(string sid) { 3377 SpeciesReference ret 3378 = (SpeciesReference) libsbml.DowncastSBase(libsbmlPINVOKE.Model_getSpeciesReference__SWIG_0(swigCPtr, sid), false); 3379 return ret; 3380 } 3381 3382 3383 /** 3384 * Get a ModifierSpeciesReference object based on its identifier. 3385 * 3386 * @param sid the identifier to search for. 3387 * 3388 * @return the ModifierSpeciesReference in this Model with the 3389 * identifier @p sid or @c null 3390 * if no such ModifierSpeciesReference exists. 3391 */ public getModifierSpeciesReference(string sid)3392 ModifierSpeciesReference getModifierSpeciesReference(string sid) { 3393 global::System.IntPtr cPtr = libsbmlPINVOKE.Model_getModifierSpeciesReference__SWIG_0(swigCPtr, sid); 3394 ModifierSpeciesReference ret = (cPtr == global::System.IntPtr.Zero) ? null : new ModifierSpeciesReference(cPtr, false); 3395 return ret; 3396 } 3397 3398 3399 /** 3400 * Get the nth Event object in this Model. 3401 * 3402 * @param n the index of the object to return. 3403 * 3404 * @return the nth Event of this Model. 3405 * If the index @p n is invalid, @c null is returned. 3406 */ public getEvent(long n)3407 Event getEvent(long n) { 3408 global::System.IntPtr cPtr = libsbmlPINVOKE.Model_getEvent__SWIG_0(swigCPtr, n); 3409 Event ret = (cPtr == global::System.IntPtr.Zero) ? null : new Event(cPtr, false); 3410 return ret; 3411 } 3412 3413 3414 /** 3415 * Get an Event object based on its identifier. 3416 * 3417 * @param sid the identifier to search for. 3418 * 3419 * @return the Event in this Model with the identifier @p sid or @c null if 3420 * no such Event exists. 3421 */ public getEvent(string sid)3422 Event getEvent(string sid) { 3423 global::System.IntPtr cPtr = libsbmlPINVOKE.Model_getEvent__SWIG_2(swigCPtr, sid); 3424 Event ret = (cPtr == global::System.IntPtr.Zero) ? null : new Event(cPtr, false); 3425 return ret; 3426 } 3427 3428 3429 /** 3430 * Get the number of FunctionDefinition objects in this Model. 3431 * 3432 * @return the number of FunctionDefinitions in this Model. 3433 */ public getNumFunctionDefinitions()3434 long getNumFunctionDefinitions() { return (long)libsbmlPINVOKE.Model_getNumFunctionDefinitions(swigCPtr); } 3435 3436 3437 /** 3438 * Get the number of UnitDefinition objects in this Model. 3439 * 3440 * @return the number of UnitDefinitions in this Model. 3441 */ public getNumUnitDefinitions()3442 long getNumUnitDefinitions() { return (long)libsbmlPINVOKE.Model_getNumUnitDefinitions(swigCPtr); } 3443 3444 3445 /** 3446 * Get the number of CompartmentType objects in this Model. 3447 * 3448 * @return the number of CompartmentTypes in this Model. 3449 * 3450 * @note The CompartmentType object class is only available in SBML 3451 * Level 2 Versions 2–4. It is not available in 3452 * Level 1 nor Level 3. 3453 */ public getNumCompartmentTypes()3454 long getNumCompartmentTypes() { return (long)libsbmlPINVOKE.Model_getNumCompartmentTypes(swigCPtr); } 3455 3456 3457 /** 3458 * Get the number of SpeciesType objects in this Model. 3459 * 3460 * @return the number of SpeciesTypes in this Model. 3461 * 3462 * @note The SpeciesType object class is only available in SBML 3463 * Level 2 Versions 2–4. It is not available in 3464 * Level 1 nor Level 3. 3465 */ public getNumSpeciesTypes()3466 long getNumSpeciesTypes() { return (long)libsbmlPINVOKE.Model_getNumSpeciesTypes(swigCPtr); } 3467 3468 3469 /** 3470 * Get the number of Compartment objects in this Model. 3471 * 3472 * @return the number of Compartments in this Model. 3473 */ public getNumCompartments()3474 long getNumCompartments() { return (long)libsbmlPINVOKE.Model_getNumCompartments(swigCPtr); } 3475 3476 3477 /** 3478 * Get the number of Species objects in this Model. 3479 * 3480 * @return the number of Species in this Model. 3481 */ public getNumSpecies()3482 long getNumSpecies() { return (long)libsbmlPINVOKE.Model_getNumSpecies(swigCPtr); } 3483 3484 3485 /** 3486 * Get the number of Species in this Model having their 3487 * 'boundaryCondition' attribute value set to @c true. 3488 * 3489 * @return the number of Species in this Model with boundaryCondition set 3490 * to true. 3491 */ public getNumSpeciesWithBoundaryCondition()3492 long getNumSpeciesWithBoundaryCondition() { return (long)libsbmlPINVOKE.Model_getNumSpeciesWithBoundaryCondition(swigCPtr); } 3493 3494 3495 /** 3496 * Get the number of Parameter objects in this Model. 3497 * 3498 * @return the number of Parameters in this Model. Parameters defined in 3499 * KineticLaws are not included. 3500 */ public getNumParameters()3501 long getNumParameters() { return (long)libsbmlPINVOKE.Model_getNumParameters(swigCPtr); } 3502 3503 3504 /** 3505 * Get the number of InitialAssignment objects in this Model. 3506 * 3507 * @return the number of InitialAssignments in this Model. 3508 */ public getNumInitialAssignments()3509 long getNumInitialAssignments() { return (long)libsbmlPINVOKE.Model_getNumInitialAssignments(swigCPtr); } 3510 3511 3512 /** 3513 * Get the number of Rule objects in this Model. 3514 * 3515 * @return the number of Rules in this Model. 3516 */ public getNumRules()3517 long getNumRules() { return (long)libsbmlPINVOKE.Model_getNumRules(swigCPtr); } 3518 3519 3520 /** 3521 * Get the number of Constraint objects in this Model. 3522 * 3523 * @return the number of Constraints in this Model. 3524 */ public getNumConstraints()3525 long getNumConstraints() { return (long)libsbmlPINVOKE.Model_getNumConstraints(swigCPtr); } 3526 3527 3528 /** 3529 * Get the number of Reaction objects in this Model. 3530 * 3531 * @return the number of Reactions in this Model. 3532 */ public getNumReactions()3533 long getNumReactions() { return (long)libsbmlPINVOKE.Model_getNumReactions(swigCPtr); } 3534 3535 3536 /** 3537 * Get the number of Event objects in this Model. 3538 * 3539 * @return the number of Events in this Model. 3540 */ public getNumEvents()3541 long getNumEvents() { return (long)libsbmlPINVOKE.Model_getNumEvents(swigCPtr); } 3542 3543 3544 /** 3545 * Remove this Model from its parent SBMLDocument object. 3546 * 3547 * This works by finding this Model's parent SBMLDocument and then calling 3548 * <code>setModel(null)</code> on it, indirectly deleting itself. 3549 * Overridden from the SBase function since the parent is not a ListOf. 3550 * 3551 * 3552 * @return integer value indicating success/failure of the 3553 * function. @if clike The value is drawn from the 3554 * enumeration #OperationReturnValues_t. @endif The possible values 3555 * returned by this function are: 3556 * @li @link libsbml#LIBSBML_OPERATION_SUCCESS LIBSBML_OPERATION_SUCCESS@endlink 3557 * @li @link libsbml#LIBSBML_OPERATION_FAILED LIBSBML_OPERATION_FAILED@endlink 3558 */ public new removeFromParentAndDelete()3559 int removeFromParentAndDelete() { 3560 int ret = libsbmlPINVOKE.Model_removeFromParentAndDelete(swigCPtr); 3561 return ret; 3562 } 3563 3564 3565 /** */ /* libsbml-internal */ public new renameAllIds(IdentifierTransformer idTransformer, ElementFilter filter)3566 int renameAllIds(IdentifierTransformer idTransformer, ElementFilter filter) { 3567 int ret = libsbmlPINVOKE.Model_renameAllIds__SWIG_0(swigCPtr, IdentifierTransformer.getCPtr(idTransformer), ElementFilter.getCPtr(filter)); 3568 return ret; 3569 } 3570 3571 3572 /** */ /* libsbml-internal */ public new renameAllIds(IdentifierTransformer idTransformer)3573 int renameAllIds(IdentifierTransformer idTransformer) { 3574 int ret = libsbmlPINVOKE.Model_renameAllIds__SWIG_1(swigCPtr, IdentifierTransformer.getCPtr(idTransformer)); 3575 return ret; 3576 } 3577 3578 3579 /** 3580 * 3581 * Replaces all uses of a given @c SIdRef type attribute value with another 3582 * value. 3583 * 3584 * 3585 * 3586 3587 * In SBML, object identifiers are of a data type called <code>SId</code>. 3588 * In SBML Level 3, an explicit data type called <code>SIdRef</code> was 3589 * introduced for attribute values that refer to <code>SId</code> values; in 3590 * previous Levels of SBML, this data type did not exist and attributes were 3591 * simply described to as 'referring to an identifier', but the effective 3592 * data type was the same as <code>SIdRef</code> in Level 3. These and 3593 * other methods of libSBML refer to the type <code>SIdRef</code> for all 3594 * Levels of SBML, even if the corresponding SBML specification did not 3595 * explicitly name the data type. 3596 * 3597 * 3598 * 3599 * This method works by looking at all attributes and (if appropriate) 3600 * mathematical formulas in MathML content, comparing the referenced 3601 * identifiers to the value of @p oldid. If any matches are found, the 3602 * matching values are replaced with @p newid. The method does @em not 3603 * descend into child elements. 3604 * 3605 * @param oldid the old identifier. 3606 * @param newid the new identifier. 3607 * 3608 * 3609 */ public new renameSIdRefs(string oldid, string newid)3610 void renameSIdRefs(string oldid, string newid) { 3611 libsbmlPINVOKE.Model_renameSIdRefs(swigCPtr, oldid, newid); 3612 } 3613 3614 3615 /** 3616 * 3617 * Replaces all uses of a given @c UnitSIdRef type attribute value with 3618 * another value. 3619 * 3620 * 3621 * 3622 * In SBML, unit definitions have identifiers of type <code>UnitSId</code>. In 3623 * SBML Level 3, an explicit data type called <code>UnitSIdRef</code> was 3624 * introduced for attribute values that refer to <code>UnitSId</code> values; in 3625 * previous Levels of SBML, this data type did not exist and attributes were 3626 * simply described to as 'referring to a unit identifier', but the effective 3627 * data type was the same as <code>UnitSIdRef</code> in Level 3. These and 3628 * other methods of libSBML refer to the type <code>UnitSIdRef</code> for all 3629 * Levels of SBML, even if the corresponding SBML specification did not 3630 * explicitly name the data type. 3631 * 3632 * 3633 * 3634 * This method works by looking at all unit identifier attribute values 3635 * (including, if appropriate, inside mathematical formulas), comparing the 3636 * referenced unit identifiers to the value of @p oldid. If any matches 3637 * are found, the matching values are replaced with @p newid. The method 3638 * does @em not descend into child elements. 3639 * 3640 * @param oldid the old identifier. 3641 * @param newid the new identifier. 3642 * 3643 * 3644 */ public new renameUnitSIdRefs(string oldid, string newid)3645 void renameUnitSIdRefs(string oldid, string newid) { 3646 libsbmlPINVOKE.Model_renameUnitSIdRefs(swigCPtr, oldid, newid); 3647 } 3648 3649 3650 /** */ /* libsbml-internal */ public convertL1ToL2()3651 void convertL1ToL2() { 3652 libsbmlPINVOKE.Model_convertL1ToL2(swigCPtr); 3653 } 3654 3655 3656 /** */ /* libsbml-internal */ public convertL1ToL3(bool addDefaultUnits)3657 void convertL1ToL3(bool addDefaultUnits) { 3658 libsbmlPINVOKE.Model_convertL1ToL3__SWIG_0(swigCPtr, addDefaultUnits); 3659 } 3660 3661 3662 /** */ /* libsbml-internal */ public convertL1ToL3()3663 void convertL1ToL3() { 3664 libsbmlPINVOKE.Model_convertL1ToL3__SWIG_1(swigCPtr); 3665 } 3666 3667 3668 /** */ /* libsbml-internal */ public convertL2ToL3(bool strict, bool addDefaultUnits)3669 void convertL2ToL3(bool strict, bool addDefaultUnits) { 3670 libsbmlPINVOKE.Model_convertL2ToL3__SWIG_0(swigCPtr, strict, addDefaultUnits); 3671 } 3672 3673 3674 /** */ /* libsbml-internal */ public convertL2ToL3(bool strict)3675 void convertL2ToL3(bool strict) { 3676 libsbmlPINVOKE.Model_convertL2ToL3__SWIG_1(swigCPtr, strict); 3677 } 3678 3679 3680 /** */ /* libsbml-internal */ public convertL2ToL3()3681 void convertL2ToL3() { 3682 libsbmlPINVOKE.Model_convertL2ToL3__SWIG_2(swigCPtr); 3683 } 3684 3685 3686 /** */ /* libsbml-internal */ public convertL2ToL1(bool strict)3687 void convertL2ToL1(bool strict) { 3688 libsbmlPINVOKE.Model_convertL2ToL1__SWIG_0(swigCPtr, strict); 3689 } 3690 3691 3692 /** */ /* libsbml-internal */ public convertL2ToL1()3693 void convertL2ToL1() { 3694 libsbmlPINVOKE.Model_convertL2ToL1__SWIG_1(swigCPtr); 3695 } 3696 3697 3698 /** */ /* libsbml-internal */ public convertL3ToL1(bool strict)3699 void convertL3ToL1(bool strict) { 3700 libsbmlPINVOKE.Model_convertL3ToL1__SWIG_0(swigCPtr, strict); 3701 } 3702 3703 3704 /** */ /* libsbml-internal */ public convertL3ToL1()3705 void convertL3ToL1() { 3706 libsbmlPINVOKE.Model_convertL3ToL1__SWIG_1(swigCPtr); 3707 } 3708 3709 3710 /** */ /* libsbml-internal */ public convertL3ToL2(bool strict)3711 void convertL3ToL2(bool strict) { 3712 libsbmlPINVOKE.Model_convertL3ToL2__SWIG_0(swigCPtr, strict); 3713 } 3714 3715 3716 /** */ /* libsbml-internal */ public convertL3ToL2()3717 void convertL3ToL2() { 3718 libsbmlPINVOKE.Model_convertL3ToL2__SWIG_1(swigCPtr); 3719 } 3720 3721 3722 /** */ /* libsbml-internal */ public convertFromL3V2(bool strict)3723 void convertFromL3V2(bool strict) { 3724 libsbmlPINVOKE.Model_convertFromL3V2__SWIG_0(swigCPtr, strict); 3725 } 3726 3727 3728 /** */ /* libsbml-internal */ public convertFromL3V2()3729 void convertFromL3V2() { 3730 libsbmlPINVOKE.Model_convertFromL3V2__SWIG_1(swigCPtr); 3731 } 3732 3733 3734 /** */ /* libsbml-internal */ public dealWithFast()3735 void dealWithFast() { 3736 libsbmlPINVOKE.Model_dealWithFast(swigCPtr); 3737 } 3738 3739 3740 /** */ /* libsbml-internal */ public dealWithL3Fast(long targetVersion)3741 void dealWithL3Fast(long targetVersion) { 3742 libsbmlPINVOKE.Model_dealWithL3Fast(swigCPtr, targetVersion); 3743 } 3744 3745 3746 /** */ /* libsbml-internal */ public addModifiers()3747 void addModifiers() { 3748 libsbmlPINVOKE.Model_addModifiers(swigCPtr); 3749 } 3750 3751 3752 /** */ /* libsbml-internal */ public addConstantAttribute()3753 void addConstantAttribute() { 3754 libsbmlPINVOKE.Model_addConstantAttribute(swigCPtr); 3755 } 3756 3757 3758 /** */ /* libsbml-internal */ public setSpatialDimensions(double dims)3759 void setSpatialDimensions(double dims) { 3760 libsbmlPINVOKE.Model_setSpatialDimensions__SWIG_0(swigCPtr, dims); 3761 } 3762 3763 3764 /** */ /* libsbml-internal */ public setSpatialDimensions()3765 void setSpatialDimensions() { 3766 libsbmlPINVOKE.Model_setSpatialDimensions__SWIG_1(swigCPtr); 3767 } 3768 3769 3770 /** */ /* libsbml-internal */ public addDefinitionsForDefaultUnits()3771 void addDefinitionsForDefaultUnits() { 3772 libsbmlPINVOKE.Model_addDefinitionsForDefaultUnits(swigCPtr); 3773 } 3774 3775 3776 /** */ /* libsbml-internal */ public dealWithDefaultValues()3777 void dealWithDefaultValues() { 3778 libsbmlPINVOKE.Model_dealWithDefaultValues(swigCPtr); 3779 } 3780 3781 3782 /** */ /* libsbml-internal */ public convertParametersToLocals(long level, long version)3783 void convertParametersToLocals(long level, long version) { 3784 libsbmlPINVOKE.Model_convertParametersToLocals(swigCPtr, level, version); 3785 } 3786 3787 3788 /** */ /* libsbml-internal */ public setSpeciesReferenceConstantValueAndStoichiometry()3789 void setSpeciesReferenceConstantValueAndStoichiometry() { 3790 libsbmlPINVOKE.Model_setSpeciesReferenceConstantValueAndStoichiometry(swigCPtr); 3791 } 3792 3793 3794 /** */ /* libsbml-internal */ public removeParameterRuleUnits(bool strict)3795 void removeParameterRuleUnits(bool strict) { 3796 libsbmlPINVOKE.Model_removeParameterRuleUnits(swigCPtr, strict); 3797 } 3798 3799 3800 /** */ /* libsbml-internal */ public convertStoichiometryMath()3801 void convertStoichiometryMath() { 3802 libsbmlPINVOKE.Model_convertStoichiometryMath(swigCPtr); 3803 } 3804 3805 3806 /** */ /* libsbml-internal */ public assignRequiredValues()3807 void assignRequiredValues() { 3808 libsbmlPINVOKE.Model_assignRequiredValues(swigCPtr); 3809 } 3810 3811 3812 /** */ /* libsbml-internal */ public dealWithModelUnits(bool strict)3813 void dealWithModelUnits(bool strict) { 3814 libsbmlPINVOKE.Model_dealWithModelUnits__SWIG_0(swigCPtr, strict); 3815 } 3816 3817 3818 /** */ /* libsbml-internal */ public dealWithModelUnits()3819 void dealWithModelUnits() { 3820 libsbmlPINVOKE.Model_dealWithModelUnits__SWIG_1(swigCPtr); 3821 } 3822 3823 3824 /** */ /* libsbml-internal */ public dealWithStoichiometry()3825 void dealWithStoichiometry() { 3826 libsbmlPINVOKE.Model_dealWithStoichiometry(swigCPtr); 3827 } 3828 3829 3830 /** */ /* libsbml-internal */ public dealWithEvents(bool strict)3831 void dealWithEvents(bool strict) { 3832 libsbmlPINVOKE.Model_dealWithEvents(swigCPtr, strict); 3833 } 3834 3835 3836 /** */ /* libsbml-internal */ public removeSpeciesTypes()3837 void removeSpeciesTypes() { 3838 libsbmlPINVOKE.Model_removeSpeciesTypes(swigCPtr); 3839 } 3840 3841 3842 /** */ /* libsbml-internal */ public removeCompartmentTypes()3843 void removeCompartmentTypes() { 3844 libsbmlPINVOKE.Model_removeCompartmentTypes(swigCPtr); 3845 } 3846 connectToChild()3847 public override void connectToChild() { 3848 libsbmlPINVOKE.Model_connectToChild(swigCPtr); 3849 } 3850 3851 3852 /** 3853 * Returns the libSBML type code for this %SBML object. 3854 * 3855 * 3856 * 3857 * LibSBML attaches an identifying code to every kind of SBML object. These 3858 * are integer constants known as <em>SBML type codes</em>. The names of all 3859 * the codes begin with the characters <code>SBML_</code>. 3860 * @if clike The set of possible type codes for core elements is defined in 3861 * the enumeration #SBMLTypeCode_t, and in addition, libSBML plug-ins for 3862 * SBML Level 3 packages define their own extra enumerations of type 3863 * codes (e.g., #SBMLLayoutTypeCode_t for the Level 3 Layout 3864 * package).@endif@if java In the Java language interface for libSBML, the 3865 * type codes are defined as static integer constants in the interface class 3866 * {@link libsbmlConstants}. @endif@if python In the Python language 3867 * interface for libSBML, the type codes are defined as static integer 3868 * constants in the interface class @link libsbml@endlink.@endif@if csharp In 3869 * the C# language interface for libSBML, the type codes are defined as 3870 * static integer constants in the interface class 3871 * @link libsbmlcs.libsbml@endlink.@endif Note that different Level 3 3872 * package plug-ins may use overlapping type codes; to identify the package 3873 * to which a given object belongs, call the 3874 * <code>@if conly SBase_getPackageName() 3875 * @else SBase::getPackageName() 3876 * @endif</code> 3877 * method on the object. 3878 * 3879 * The exception to this is lists: all SBML-style list elements have the type 3880 * @link libsbml#SBML_LIST_OF SBML_LIST_OF@endlink, regardless of what package they 3881 * are from. 3882 * 3883 * 3884 * 3885 * @return the SBML type code for this object: 3886 * @link libsbml#SBML_MODEL SBML_MODEL@endlink (default). 3887 * 3888 * 3889 * @warning <span class='warning'>The specific integer values of the possible 3890 * type codes may be reused by different libSBML plug-ins for SBML Level 3. 3891 * packages, To fully identify the correct code, <strong>it is necessary to 3892 * invoke both getPackageName() and getTypeCode()</strong> (or 3893 * ListOf::getItemTypeCode()).</span> 3894 * 3895 * 3896 * 3897 * @see getElementName() 3898 * @see getPackageName() 3899 */ public new getTypeCode()3900 int getTypeCode() { 3901 int ret = libsbmlPINVOKE.Model_getTypeCode(swigCPtr); 3902 return ret; 3903 } 3904 3905 3906 /** 3907 * Returns the XML element name of this object, which for Model, is 3908 * always @c 'model'. 3909 * 3910 * @return the name of this element, i.e., @c 'model'. 3911 */ public new getElementName()3912 string getElementName() { 3913 string ret = libsbmlPINVOKE.Model_getElementName(swigCPtr); 3914 return ret; 3915 } 3916 3917 3918 /** 3919 * Populates the internal list of derived units for this Model object. 3920 * 3921 * This method tells libSBML to (re)calculate all units for all components 3922 * of the enclosing Model object. The result is stored in an internal list 3923 * of unit data. Users can access the resulting data by calling the method 3924 * SBase::getDerivedUnitDefinition() available on most objects. (The name 3925 * 'formula units data' is drawn from the name of the internal objects 3926 * libSBML uses to store the data; note that these internal objects are not 3927 * exposed to callers, because callers can interact with the results using 3928 * the ordinary SBML unit objects.) 3929 * 3930 * This method is used by libSBML itself in the validator concerned with 3931 * unit consistency. The unit consistency validator (like all other 3932 * validators in libSBML) is invoked by using 3933 * SBMLDocument::checkConsistency(), with the consistency checks for the 3934 * category @link libsbml#LIBSBML_CAT_UNITS_CONSISTENCY LIBSBML_CAT_UNITS_CONSISTENCY@endlink turned on. The method 3935 * populateListFormulaUnitsData() does not need to be called prior to 3936 * invoking the validator if unit consistency checking has not been turned 3937 * off. This method is only provided for cases when callers have a special 3938 * need to force the unit data to be recalculated. For instance, during 3939 * construction of a model, a caller may want to interrogate libSBML's 3940 * inferred units without invoking full-blown model validation; this is a 3941 * scenario in which calling populateListFormulaUnitsData() may be useful. 3942 * 3943 * @warning Computing and inferring units is a time-consuming operation. 3944 * Callers may want to call isPopulatedListFormulaUnitsData() to determine 3945 * whether the units may already have been computed, to save themselves the 3946 * need of invoking unit inference unnecessarily. 3947 * 3948 * @see isPopulatedListFormulaUnitsData() 3949 */ public populateListFormulaUnitsData()3950 void populateListFormulaUnitsData() { 3951 libsbmlPINVOKE.Model_populateListFormulaUnitsData(swigCPtr); 3952 } 3953 3954 3955 /** 3956 * Predicate returning @c true if libSBML has derived units for the 3957 * components of this model. 3958 * 3959 * LibSBML can infer the units of measurement associated with different 3960 * elements of a model. When libSBML does that, it builds a complex 3961 * internal structure during a resource-intensive operation. This is done 3962 * automatically only when callers invoke validation (via 3963 * SBMLDocument::checkConsistency()) and have not turned off the unit 3964 * validation option. 3965 * 3966 * Callers can force units to be recalculated by calling 3967 * populateListFormulaUnitsData(). To avoid calling that method 3968 * unnecessarily, calling programs may first want to invoke this method 3969 * (isPopulatedListFormulaUnitsData()) to determine whether it is even 3970 * necessary. 3971 * 3972 * @return @c true if the units have already been computed, @c false 3973 * otherwise. 3974 */ public isPopulatedListFormulaUnitsData()3975 bool isPopulatedListFormulaUnitsData() { 3976 bool ret = libsbmlPINVOKE.Model_isPopulatedListFormulaUnitsData(swigCPtr); 3977 return ret; 3978 } 3979 3980 3981 /** */ /* libsbml-internal */ public getFormulaUnitsDataForVariable(string sid)3982 SWIGTYPE_p_FormulaUnitsData getFormulaUnitsDataForVariable(string sid) { 3983 global::System.IntPtr cPtr = libsbmlPINVOKE.Model_getFormulaUnitsDataForVariable(swigCPtr, sid); 3984 SWIGTYPE_p_FormulaUnitsData ret = (cPtr == global::System.IntPtr.Zero) ? null : new SWIGTYPE_p_FormulaUnitsData(cPtr, false); 3985 return ret; 3986 } 3987 3988 3989 /** */ /* libsbml-internal */ public getFormulaUnitsDataForAssignment(string sid)3990 SWIGTYPE_p_FormulaUnitsData getFormulaUnitsDataForAssignment(string sid) { 3991 global::System.IntPtr cPtr = libsbmlPINVOKE.Model_getFormulaUnitsDataForAssignment(swigCPtr, sid); 3992 SWIGTYPE_p_FormulaUnitsData ret = (cPtr == global::System.IntPtr.Zero) ? null : new SWIGTYPE_p_FormulaUnitsData(cPtr, false); 3993 return ret; 3994 } 3995 3996 3997 /** 3998 * Populates the internal list of the identifiers of all elements within this Model object. 3999 * 4000 * This method tells libSBML to retrieve the identifiers of all elements 4001 * of the enclosing Model object. The result is stored in an internal list 4002 * of ids. Users can access the resulting data by calling the method 4003 * getAllElementIdList(). 4004 * 4005 * @warning Retrieving all elements within a model is a time-consuming operation. 4006 * Callers may want to call isPopulatedAllElementIdList() to determine 4007 * whether the id list may already have been populated. 4008 * 4009 * @see isPopulatedAllElementIdList() 4010 */ public populateAllElementIdList()4011 void populateAllElementIdList() { 4012 libsbmlPINVOKE.Model_populateAllElementIdList(swigCPtr); 4013 } 4014 4015 4016 /** 4017 * Predicate returning @c true if libSBML has a list of the ids of all 4018 * components of this model. 4019 * 4020 * @return @c true if the id list has already been populated, @c false 4021 * otherwise. 4022 */ public isPopulatedAllElementIdList()4023 bool isPopulatedAllElementIdList() { 4024 bool ret = libsbmlPINVOKE.Model_isPopulatedAllElementIdList(swigCPtr); 4025 return ret; 4026 } 4027 4028 4029 /** 4030 * Returns the internal list of the identifiers of all elements within this Model object. 4031 * 4032 * @return an IdList of all the identifiers in the model. 4033 * 4034 * @see populateAllElementIdList() 4035 * @see isPopulatedAllElementIdList() 4036 */ public getAllElementIdList()4037 IdList getAllElementIdList() { 4038 IdList ret = new IdList(libsbmlPINVOKE.Model_getAllElementIdList(swigCPtr), true); 4039 return ret; 4040 } 4041 4042 4043 /** 4044 * Clears the internal list of the identifiers of all elements within this Model object. 4045 * 4046 * @see populateAllElementIdList() 4047 * @see isPopulatedAllElementIdList() 4048 */ public clearAllElementIdList()4049 void clearAllElementIdList() { 4050 libsbmlPINVOKE.Model_clearAllElementIdList(swigCPtr); 4051 } 4052 4053 4054 /** 4055 * Populates the internal list of the metaids of all elements within this Model object. 4056 * 4057 * This method tells libSBML to retrieve the identifiers of all elements 4058 * of the enclosing Model object. The result is stored in an internal list 4059 * of metaids. Users can access the resulting data by calling the method 4060 * getAllElementMetaIdList(). 4061 * 4062 * @warning Retrieving all elements within a model is a time-consuming operation. 4063 * Callers may want to call isPopulatedAllElementMetaIdList() to determine 4064 * whether the metaid list may already have been populated. 4065 * 4066 * @see isPopulatedAllElementMetaIdList() 4067 */ public populateAllElementMetaIdList()4068 void populateAllElementMetaIdList() { 4069 libsbmlPINVOKE.Model_populateAllElementMetaIdList(swigCPtr); 4070 } 4071 4072 4073 /** 4074 * Predicate returning @c true if libSBML has a list of the metaids of all 4075 * components of this model. 4076 * 4077 * @return @c true if the metaid list has already been populated, @c false 4078 * otherwise. 4079 */ public isPopulatedAllElementMetaIdList()4080 bool isPopulatedAllElementMetaIdList() { 4081 bool ret = libsbmlPINVOKE.Model_isPopulatedAllElementMetaIdList(swigCPtr); 4082 return ret; 4083 } 4084 4085 4086 /** 4087 * Returns the internal list of the metaids of all elements within this Model object. 4088 * 4089 * @return an IdList of all the metaids in the model. 4090 * 4091 * @see populateAllElementMetaIdList() 4092 * @see isPopulatedAllElementMetaIdList() 4093 */ public getAllElementMetaIdList()4094 IdList getAllElementMetaIdList() { 4095 IdList ret = new IdList(libsbmlPINVOKE.Model_getAllElementMetaIdList(swigCPtr), true); 4096 return ret; 4097 } 4098 4099 4100 /** 4101 * Clears the internal list of the metaids of all elements within this Model object. 4102 * 4103 * @see populateAllElementMetaIdList() 4104 * @see isPopulatedAllElementMetaIdList() 4105 */ public clearAllElementMetaIdList()4106 void clearAllElementMetaIdList() { 4107 libsbmlPINVOKE.Model_clearAllElementMetaIdList(swigCPtr); 4108 } 4109 4110 4111 /** 4112 * Predicate returning @c true if all the required elements for this Model 4113 * object have been set. 4114 * 4115 * @return a boolean value indicating whether all the required 4116 * elements for this object have been defined. 4117 */ public new hasRequiredElements()4118 bool hasRequiredElements() { 4119 bool ret = libsbmlPINVOKE.Model_hasRequiredElements(swigCPtr); 4120 return ret; 4121 } 4122 4123 4124 /** 4125 * Removes the nth FunctionDefinition object from this Model object and 4126 * returns a pointer to it. 4127 * 4128 * The caller owns the returned object and is responsible for deleting it. 4129 * 4130 * @param n the index of the FunctionDefinition object to remove. 4131 * 4132 * @return the FunctionDefinition object removed, or @c null if the given 4133 * index is out of range. 4134 * 4135 */ public removeFunctionDefinition(long n)4136 FunctionDefinition removeFunctionDefinition(long n) { 4137 global::System.IntPtr cPtr = libsbmlPINVOKE.Model_removeFunctionDefinition__SWIG_0(swigCPtr, n); 4138 FunctionDefinition ret = (cPtr == global::System.IntPtr.Zero) ? null : new FunctionDefinition(cPtr, true); 4139 return ret; 4140 } 4141 4142 4143 /** 4144 * Removes the FunctionDefinition object with the given identifier from this Model 4145 * object and returns a pointer to it. 4146 * 4147 * The caller owns the returned object and is responsible for deleting it. 4148 * 4149 * @param sid the identifier of the FunctionDefinition object to remove. 4150 * 4151 * @return the FunctionDefinition object removed, or @c null if no 4152 * FunctionDefinition object with the identifier exists in this Model 4153 * object. 4154 */ public removeFunctionDefinition(string sid)4155 FunctionDefinition removeFunctionDefinition(string sid) { 4156 global::System.IntPtr cPtr = libsbmlPINVOKE.Model_removeFunctionDefinition__SWIG_1(swigCPtr, sid); 4157 FunctionDefinition ret = (cPtr == global::System.IntPtr.Zero) ? null : new FunctionDefinition(cPtr, true); 4158 return ret; 4159 } 4160 4161 4162 /** 4163 * Removes the nth UnitDefinition object from this Model object and 4164 * returns a pointer to it. 4165 * 4166 * The caller owns the returned object and is responsible for deleting it. 4167 * 4168 * @param n the index of the UnitDefinition object to remove. 4169 * 4170 * @return the UnitDefinition object removed., or @c null if the given 4171 * index is out of range. 4172 * 4173 */ public removeUnitDefinition(long n)4174 UnitDefinition removeUnitDefinition(long n) { 4175 global::System.IntPtr cPtr = libsbmlPINVOKE.Model_removeUnitDefinition__SWIG_0(swigCPtr, n); 4176 UnitDefinition ret = (cPtr == global::System.IntPtr.Zero) ? null : new UnitDefinition(cPtr, true); 4177 return ret; 4178 } 4179 4180 4181 /** 4182 * Removes the UnitDefinition object with the given identifier from this Model 4183 * object and returns a pointer to it. 4184 * 4185 * The caller owns the returned object and is responsible for deleting it. 4186 * 4187 * @param sid the identifier of the UnitDefinition object to remove. 4188 * 4189 * @return the UnitDefinition object removed, or @c null if no 4190 * UnitDefinition object with the identifier exists in this Model object. 4191 */ public removeUnitDefinition(string sid)4192 UnitDefinition removeUnitDefinition(string sid) { 4193 global::System.IntPtr cPtr = libsbmlPINVOKE.Model_removeUnitDefinition__SWIG_1(swigCPtr, sid); 4194 UnitDefinition ret = (cPtr == global::System.IntPtr.Zero) ? null : new UnitDefinition(cPtr, true); 4195 return ret; 4196 } 4197 4198 4199 /** 4200 * Removes the nth CompartmentType object from this Model object and 4201 * returns a pointer to it. 4202 * 4203 * The caller owns the returned object and is responsible for deleting it. 4204 * 4205 * @param n the index of the CompartmentType object to remove. 4206 * 4207 * @return the ComapartmentType object removed, or @c null if the given 4208 * index is out of range. 4209 * 4210 */ public removeCompartmentType(long n)4211 CompartmentType removeCompartmentType(long n) { 4212 global::System.IntPtr cPtr = libsbmlPINVOKE.Model_removeCompartmentType__SWIG_0(swigCPtr, n); 4213 CompartmentType ret = (cPtr == global::System.IntPtr.Zero) ? null : new CompartmentType(cPtr, true); 4214 return ret; 4215 } 4216 4217 4218 /** 4219 * Removes the CompartmentType object with the given identifier from this Model 4220 * object and returns a pointer to it. 4221 * 4222 * The caller owns the returned object and is responsible for deleting it. 4223 * 4224 * @param sid the identifier of the object to remove. 4225 * 4226 * @return the CompartmentType object removed, or @c null if no 4227 * CompartmentType object with the identifier exists in this Model object. 4228 */ public removeCompartmentType(string sid)4229 CompartmentType removeCompartmentType(string sid) { 4230 global::System.IntPtr cPtr = libsbmlPINVOKE.Model_removeCompartmentType__SWIG_1(swigCPtr, sid); 4231 CompartmentType ret = (cPtr == global::System.IntPtr.Zero) ? null : new CompartmentType(cPtr, true); 4232 return ret; 4233 } 4234 4235 4236 /** 4237 * Removes the nth SpeciesType object from this Model object and 4238 * returns a pointer to it. 4239 * 4240 * The caller owns the returned object and is responsible for deleting it. 4241 * 4242 * @param n the index of the SpeciesType object to remove. 4243 * 4244 * @return the SpeciesType object removed, or @c null if the given index is 4245 * out of range. 4246 * 4247 */ public removeSpeciesType(long n)4248 SpeciesType removeSpeciesType(long n) { 4249 global::System.IntPtr cPtr = libsbmlPINVOKE.Model_removeSpeciesType__SWIG_0(swigCPtr, n); 4250 SpeciesType ret = (cPtr == global::System.IntPtr.Zero) ? null : new SpeciesType(cPtr, true); 4251 return ret; 4252 } 4253 4254 4255 /** 4256 * Removes the SpeciesType object with the given identifier from this Model 4257 * object and returns a pointer to it. 4258 * 4259 * The caller owns the returned object and is responsible for deleting it. 4260 * 4261 * @param sid the identifier of the SpeciesType object to remove. 4262 * 4263 * @return the SpeciesType object removed, or @c null if no SpeciesType 4264 * object with the identifier exists in this Model object. 4265 * 4266 */ public removeSpeciesType(string sid)4267 SpeciesType removeSpeciesType(string sid) { 4268 global::System.IntPtr cPtr = libsbmlPINVOKE.Model_removeSpeciesType__SWIG_1(swigCPtr, sid); 4269 SpeciesType ret = (cPtr == global::System.IntPtr.Zero) ? null : new SpeciesType(cPtr, true); 4270 return ret; 4271 } 4272 4273 4274 /** 4275 * Removes the nth Compartment object from this Model object and 4276 * returns a pointer to it. 4277 * 4278 * The caller owns the returned object and is responsible for deleting it. 4279 * 4280 * @param n the index of the Compartment object to remove. 4281 * 4282 * @return the Compartment object removed, or @c null if the given index is 4283 * out of range. 4284 * 4285 */ public removeCompartment(long n)4286 Compartment removeCompartment(long n) { 4287 global::System.IntPtr cPtr = libsbmlPINVOKE.Model_removeCompartment__SWIG_0(swigCPtr, n); 4288 Compartment ret = (cPtr == global::System.IntPtr.Zero) ? null : new Compartment(cPtr, true); 4289 return ret; 4290 } 4291 4292 4293 /** 4294 * Removes the Compartment object with the given identifier from this Model 4295 * object and returns a pointer to it. 4296 * 4297 * The caller owns the returned object and is responsible for deleting it. 4298 * 4299 * @param sid the identifier of the Compartment object to remove. 4300 * 4301 * @return the Compartment object removed, or @c null if no Compartment 4302 * object with the identifier exists in this Model object. 4303 */ public removeCompartment(string sid)4304 Compartment removeCompartment(string sid) { 4305 global::System.IntPtr cPtr = libsbmlPINVOKE.Model_removeCompartment__SWIG_1(swigCPtr, sid); 4306 Compartment ret = (cPtr == global::System.IntPtr.Zero) ? null : new Compartment(cPtr, true); 4307 return ret; 4308 } 4309 4310 4311 /** 4312 * Removes the nth Species object from this Model object and 4313 * returns a pointer to it. 4314 * 4315 * The caller owns the returned object and is responsible for deleting it. 4316 * 4317 * @param n the index of the Species object to remove. 4318 * 4319 * @return the Species object removed, or @c null if the given index is out 4320 * of range. 4321 * 4322 */ public removeSpecies(long n)4323 Species removeSpecies(long n) { 4324 global::System.IntPtr cPtr = libsbmlPINVOKE.Model_removeSpecies__SWIG_0(swigCPtr, n); 4325 Species ret = (cPtr == global::System.IntPtr.Zero) ? null : new Species(cPtr, true); 4326 return ret; 4327 } 4328 4329 4330 /** 4331 * Removes the Species object with the given identifier from this Model 4332 * object and returns a pointer to it. 4333 * 4334 * The caller owns the returned object and is responsible for deleting it. 4335 * 4336 * @param sid the identifier of the Species object to remove. 4337 * 4338 * @return the Species object removed, or @c null if no Species object with 4339 * the identifier exists in this Model object. 4340 * 4341 */ public removeSpecies(string sid)4342 Species removeSpecies(string sid) { 4343 global::System.IntPtr cPtr = libsbmlPINVOKE.Model_removeSpecies__SWIG_1(swigCPtr, sid); 4344 Species ret = (cPtr == global::System.IntPtr.Zero) ? null : new Species(cPtr, true); 4345 return ret; 4346 } 4347 4348 4349 /** 4350 * Removes the nth Parameter object from this Model object and 4351 * returns a pointer to it. 4352 * 4353 * The caller owns the returned object and is responsible for deleting it. 4354 * 4355 * @param n the index of the Parameter object to remove. 4356 * 4357 * @return the Parameter object removed, or @c null if the given index is 4358 * out of range. 4359 * 4360 */ public removeParameter(long n)4361 Parameter removeParameter(long n) { 4362 global::System.IntPtr cPtr = libsbmlPINVOKE.Model_removeParameter__SWIG_0(swigCPtr, n); 4363 Parameter ret = (cPtr == global::System.IntPtr.Zero) ? null : new Parameter(cPtr, true); 4364 return ret; 4365 } 4366 4367 4368 /** 4369 * Removes the Parameter object with the given identifier from this Model 4370 * object and returns a pointer to it. 4371 * 4372 * The caller owns the returned object and is responsible for deleting it. 4373 * 4374 * @param sid the identifier of the Parameter object to remove. 4375 * 4376 * @return the Parameter object removed, or @c null if no Parameter object 4377 * with the identifier exists in this Model object. 4378 */ public removeParameter(string sid)4379 Parameter removeParameter(string sid) { 4380 global::System.IntPtr cPtr = libsbmlPINVOKE.Model_removeParameter__SWIG_1(swigCPtr, sid); 4381 Parameter ret = (cPtr == global::System.IntPtr.Zero) ? null : new Parameter(cPtr, true); 4382 return ret; 4383 } 4384 4385 4386 /** 4387 * Removes the nth InitialAssignment object from this Model object and 4388 * returns a pointer to it. 4389 * 4390 * The caller owns the returned object and is responsible for deleting it. 4391 * 4392 * @param n the index of the InitialAssignment object to remove. 4393 * 4394 * @return the InitialAssignment object removed, or @c null if the given 4395 * index is out of range. 4396 * 4397 */ public removeInitialAssignment(long n)4398 InitialAssignment removeInitialAssignment(long n) { 4399 global::System.IntPtr cPtr = libsbmlPINVOKE.Model_removeInitialAssignment__SWIG_0(swigCPtr, n); 4400 InitialAssignment ret = (cPtr == global::System.IntPtr.Zero) ? null : new InitialAssignment(cPtr, true); 4401 return ret; 4402 } 4403 4404 4405 /** 4406 * Removes the InitialAssignment object with the given 'symbol' attribute 4407 * from this Model object and returns a pointer to it. 4408 * 4409 * The caller owns the returned object and is responsible for deleting it. 4410 * 4411 * @param symbol the 'symbol' attribute of the InitialAssignment object to remove. 4412 * 4413 * @return the InitialAssignment object removed, or @c null if no 4414 * InitialAssignment object with the 'symbol' attribute exists in this 4415 * Model object. 4416 */ public removeInitialAssignment(string symbol)4417 InitialAssignment removeInitialAssignment(string symbol) { 4418 global::System.IntPtr cPtr = libsbmlPINVOKE.Model_removeInitialAssignment__SWIG_1(swigCPtr, symbol); 4419 InitialAssignment ret = (cPtr == global::System.IntPtr.Zero) ? null : new InitialAssignment(cPtr, true); 4420 return ret; 4421 } 4422 4423 4424 /** 4425 * Removes the nth Rule object from this Model object and 4426 * returns a pointer to it. 4427 * 4428 * The caller owns the returned object and is responsible for deleting it. 4429 * 4430 * @param n the index of the Rule object to remove. 4431 * 4432 * @return the Rule object removed, or @c null if the given index is out of 4433 * range. 4434 * 4435 */ public removeRule(long n)4436 Rule removeRule(long n) { 4437 Rule ret = (Rule) libsbml.DowncastSBase(libsbmlPINVOKE.Model_removeRule__SWIG_0(swigCPtr, n), true); 4438 return ret; 4439 } 4440 4441 4442 /** 4443 * Removes the Rule object with the given 'variable' attribute from this Model 4444 * object and returns a pointer to it. 4445 * 4446 * The caller owns the returned object and is responsible for deleting it. 4447 * 4448 * @param variable the 'variable' attribute of the Rule object to remove. 4449 * 4450 * @return the Rule object removed, or @c null if no Rule object with the 4451 * 'variable' attribute exists in this Model object. 4452 */ public removeRule(string variable)4453 Rule removeRule(string variable) { 4454 Rule ret = (Rule) libsbml.DowncastSBase(libsbmlPINVOKE.Model_removeRule__SWIG_1(swigCPtr, variable), true); 4455 return ret; 4456 } 4457 4458 4459 /** 4460 * Removes the Rule object with the given 'variable' attribute from this Model 4461 * object and returns a pointer to it. 4462 * 4463 * The caller owns the returned object and is responsible for deleting it. 4464 * 4465 * @param variable the 'variable' attribute of the Rule object to remove. 4466 * 4467 * @return the Rule object removed, or @c null if no Rule object with the 4468 * 'variable' attribute exists in this Model object. 4469 */ public removeRuleByVariable(string variable)4470 Rule removeRuleByVariable(string variable) { 4471 Rule ret = (Rule) libsbml.DowncastSBase(libsbmlPINVOKE.Model_removeRuleByVariable(swigCPtr, variable), true); 4472 return ret; 4473 } 4474 4475 4476 /** 4477 * Removes the nth Constraint object from this Model object and 4478 * returns a pointer to it. 4479 * 4480 * The caller owns the returned object and is responsible for deleting it. 4481 * 4482 * @param n the index of the Constraint object to remove. 4483 * 4484 * @return the Constraint object removed, or @c null if the given index is 4485 * out of range. 4486 * 4487 */ public removeConstraint(long n)4488 Constraint removeConstraint(long n) { 4489 global::System.IntPtr cPtr = libsbmlPINVOKE.Model_removeConstraint(swigCPtr, n); 4490 Constraint ret = (cPtr == global::System.IntPtr.Zero) ? null : new Constraint(cPtr, true); 4491 return ret; 4492 } 4493 4494 4495 /** 4496 * Removes the nth Reaction object from this Model object and 4497 * returns a pointer to it. 4498 * 4499 * The caller owns the returned object and is responsible for deleting it. 4500 * 4501 * @param n the index of the Reaction object to remove. 4502 * 4503 * @return the Reaction object removed, or @c null if the given index is 4504 * out of range. 4505 * 4506 */ public removeReaction(long n)4507 Reaction removeReaction(long n) { 4508 Reaction ret = (Reaction) libsbml.DowncastSBase(libsbmlPINVOKE.Model_removeReaction__SWIG_0(swigCPtr, n), true); 4509 return ret; 4510 } 4511 4512 4513 /** 4514 * Removes the Reaction object with the given identifier from this Model 4515 * object and returns a pointer to it. 4516 * 4517 * The caller owns the returned object and is responsible for deleting it. 4518 * 4519 * @param sid the identifier of the Reaction object to remove. 4520 * 4521 * @return the Reaction object removed, or @c null if no Reaction object 4522 * with the identifier exists in this Model object. 4523 * 4524 */ public removeReaction(string sid)4525 Reaction removeReaction(string sid) { 4526 Reaction ret = (Reaction) libsbml.DowncastSBase(libsbmlPINVOKE.Model_removeReaction__SWIG_1(swigCPtr, sid), true); 4527 return ret; 4528 } 4529 4530 4531 /** 4532 * Removes the nth Event object from this Model object and 4533 * returns a pointer to it. 4534 * 4535 * The caller owns the returned object and is responsible for deleting it. 4536 * 4537 * @param n the index of the Event object to remove. 4538 * 4539 * @return the Event object removed, or @c null if the given index is out 4540 * of range. 4541 * 4542 */ public removeEvent(long n)4543 Event removeEvent(long n) { 4544 global::System.IntPtr cPtr = libsbmlPINVOKE.Model_removeEvent__SWIG_0(swigCPtr, n); 4545 Event ret = (cPtr == global::System.IntPtr.Zero) ? null : new Event(cPtr, true); 4546 return ret; 4547 } 4548 4549 4550 /** 4551 * Removes the Event object with the given identifier from this Model 4552 * object and returns a pointer to it. 4553 * 4554 * The caller owns the returned object and is responsible for deleting it. 4555 * 4556 * @param sid the identifier of the Event object to remove. 4557 * 4558 * @return the Event object removed, or @c null if no Event object with the 4559 * identifier exists in this Model object. 4560 * 4561 */ public removeEvent(string sid)4562 Event removeEvent(string sid) { 4563 global::System.IntPtr cPtr = libsbmlPINVOKE.Model_removeEvent__SWIG_1(swigCPtr, sid); 4564 Event ret = (cPtr == global::System.IntPtr.Zero) ? null : new Event(cPtr, true); 4565 return ret; 4566 } 4567 4568 4569 /** 4570 * Copies a given Model object's subcomponents and appends the copies to 4571 * the appropriate places in this Model. 4572 * 4573 * This method also calls the <code>appendFrom</code> method on all libSBML 4574 * plug-in objects. 4575 * 4576 * 4577 * 4578 * SBML Level 3 consists of a <em>Core</em> definition that can be extended 4579 * via optional SBML Level 3 <em>packages</em>. A given model may indicate 4580 * that it uses one or more SBML packages, and likewise, a software tool may be 4581 * able to support one or more packages. LibSBML does not come preconfigured 4582 * with all possible packages included and enabled, in part because not all 4583 * package specifications have been finalized. To support the ability for 4584 * software systems to enable support for the Level 3 packages they choose, 4585 * libSBML features a <em>plug-in</em> mechanism. Each SBML Level 3 4586 * package is implemented in a separate code plug-in that can be enabled by the 4587 * application to support working with that SBML package. A given SBML model 4588 * may thus contain not only objects defined by SBML Level 3 Core, but also 4589 * objects created by libSBML plug-ins supporting additional Level 3 4590 * packages. 4591 * 4592 * 4593 * 4594 * @param model the Model to merge with this one. 4595 * 4596 */ public new appendFrom(Model model)4597 int appendFrom(Model model) { 4598 int ret = libsbmlPINVOKE.Model_appendFrom(swigCPtr, Model.getCPtr(model)); 4599 return ret; 4600 } 4601 4602 4603 /** */ /* libsbml-internal */ public new enablePackageInternal(string pkgURI, string pkgPrefix, bool flag)4604 void enablePackageInternal(string pkgURI, string pkgPrefix, bool flag) { 4605 libsbmlPINVOKE.Model_enablePackageInternal(swigCPtr, pkgURI, pkgPrefix, flag); 4606 } 4607 4608 4609 /** */ /* libsbml-internal */ public new updateSBMLNamespace(string package, long level, long version)4610 void updateSBMLNamespace(string package, long level, long version) { 4611 libsbmlPINVOKE.Model_updateSBMLNamespace(swigCPtr, package, level, version); 4612 } 4613 renameIDs(SBaseList elements, IdentifierTransformer idTransformer)4614 public void renameIDs(SBaseList elements, IdentifierTransformer idTransformer) { 4615 libsbmlPINVOKE.Model_renameIDs(swigCPtr, SBaseList.getCPtr(elements), IdentifierTransformer.getCPtr(idTransformer)); 4616 if (libsbmlPINVOKE.SWIGPendingException.Pending) throw libsbmlPINVOKE.SWIGPendingException.Retrieve(); 4617 } 4618 4619 } 4620 4621 } 4622