libSBML C++ API  5.11.0
ReplacedElement Class Reference
Inheritance diagram for ReplacedElement:
[legend]

Detailed Description

comp Indicates an object replaces another.

The ReplacedElement class was introduced by the SBML Level 3 Hierarchical Model Composition package (“comp”) to allow submodel elements to be replaced, but still allow references to those elements to be valid. A ReplacedElement object is essentially a pointer to a submodel object that should be considered 'replaced'. The object holding the ReplacedElement instance is the one doing the replacing; the object pointed to by the ReplacedElement object is the object being replaced.

A replacement implies that dependencies involving the replaced object must be updated: all references to the replaced object elsewhere in the model are taken to refer to the replacement object instead. For example, if one species replaces another, then any reference to the original species in mathematical formulas, or lists of reactants or products or modifiers in reactions, or initial assignments, or any other SBML construct, are taken to refer to the replacement species, with its value possibly modified by either this object's "conversionFactor" attribute or the relevant submodel's conversion factors. Moreover, any annotations that refer to the replaced species' "metaid" value must be made to refer to the replacement species' "metaid" value instead; and anything else that referred either to an object identifier (i.e., attributes such as the "id" attribute whose types inherit from the SId primitive data type) or the meta identifier (i.e., the "metaid" attribute or any other attribute that inherits from the ID primitive data type) must be made to refer to the replacement species object instead.

It is worth noting that local parameters (inside Reaction objects) pose an interesting edge case for these rules. In order to determine which element is pointed to by a <cn> element within the <math> element of a KineticLaw object, it is necessary to examine the local parameters of that kinetic law's parent Reaction object. Whether the <cn> element is considered to point to something new, then, depends on whether it pointed to the local parameter and whether that local parameter was replaced, even if the text of the element matched the SId value of another element in the model. Note that local parameters may only effectively be replaced by global parameters, since references to its SId are only valid from within the Reaction element to which it belongs.

When referencing an element within the Submodel pointed to by the "submodelRef" attribute (defined in libSBML in the Replacing class), any of the four attributes inherited from SBaseRef for the purpose may be used (portRef, idRef, unitRef, or metaIdRef), or a new optional attribute "deletion" may be used. This attribute must be the identifier of a Deletion object in the parent Model of the ReplacedElement (i.e., the value of some Deletion object's "id" attribute). When "deletion" is set, it means the ReplacedElement object is actually an annotation to indicate that the replacement object replaces something deleted from a submodel. The use of the "deletion" attribute overrides the use of the attributes inherited from SBaseRef: instead of using, e.g., "portRef" or "idRef", the ReplacedElement instance sets "deletion" to the identifier of the Deletion object. In addition, the referenced Deletion must be a child of the Submodel referenced by the "submodelRef" attribute.

The use of ReplacedElement objects to refer to deletions has no effect on the composition of models or the mathematical properties of the result. It serves instead to help record the decision-making process that lead to a given model. It can be particularly useful for visualization purposes, as well as to serve as scaffolding where other types of annotations can be added using the normal Annotation subcomponents available on all SBase objects in SBML.

As with the Submodel class, it may be that the units of the replaced element may not match the units of the replacement element. In this case, the optional "conversionFactor" attribute may be used. This attribute, if present, defines how to transform or rescale the replaced object's value so that it is appropriate for the new contexts in which the object appears. This attribute takes a value of type SIdRef, and the value must refer to a Parameter object instance defined in the model. This parameter then acts as a conversion factor.

The value of the conversion factor should be defined such that a single unit of the replaced element multiplied by the conversion factor should equal a single unit of the replacement element, and the units of the conversion factor should be commensurate with that transformation. The referenced Parameter may be non-constant, particularly if a Species is replaced by a Species with a different "hasOnlySubstanceUnits" attribute value, thus changing amount to concentration, or visa versa.

Examples:
spec_example2.cpp, spec_example3.cpp, and spec_example4.cpp.

Public Member Functions

virtual bool accept (SBMLVisitor &v) const
 Accepts the given SBMLVisitor. More...
 
virtual void clearReferencedElement ()
 Removes the saved referenced element, if it had been saved earlier. More...
 
virtual ReplacedElementclone () const
 Creates and returns a deep copy of this ReplacedElement object. More...
 
SBaseRefcreateSBaseRef ()
 Creates a new, empty SBaseRef, adds it to this SBaseRef and returns the created SBaseRef. More...
 
virtual ListgetAllElements (ElementFilter *filter=NULL)
 Returns a List of all child SBase* objects, including those nested to an arbitrary depth. More...
 
virtual const std::string & getConversionFactor () const
 Returns the value of the "conversionFactor" attribute of this ReplacedElement. More...
 
virtual const std::string & getDeletion () const
 Returns the value of the "deletion" attribute of this ReplacedElement. More...
 
virtual SBasegetElementByMetaId (const std::string &metaid)
 Returns the first child element it can find with the given metaid, or itself if it has the given metaid, or NULL if no such object is found. More...
 
virtual SBasegetElementBySId (const std::string &id)
 Returns the first child element found that has the given id in the model-wide SId namespace, or NULL if no such object is found. More...
 
virtual const std::string & getElementName () const
 Returns the XML element name of this SBML object. More...
 
virtual const std::string & getIdRef () const
 Returns the value of the "idRef" attribute of this SBaseRef. More...
 
virtual const std::string & getMetaIdRef () const
 Returns the value of the "metaIdRef" attribute of this SBaseRef. More...
 
virtual int getNumReferents () const
 Returns how many elements are being referred to by this ReplacedElement. More...
 
virtual const std::string & getPortRef () const
 Returns the value of the "portRef" attribute of this SBaseRef. More...
 
virtual SBasegetReferencedElement ()
 Returns the object pointed to by this element. More...
 
virtual SBasegetReferencedElementFrom (Model *model)
 Finds the SBase object this ReplacedElement object points to, if any. More...
 
const SBaseRefgetSBaseRef () const
 Get the child sBaseRef of this sBaseRef. More...
 
SBaseRefgetSBaseRef ()
 Get the child sBaseRef of this SBaseRef. More...
 
virtual const std::string & getSubmodelRef () const
 Returns the value of the "submodelRef" attribute of this SBaseRef. More...
 
virtual int getTypeCode () const
 Returns the libSBML type code of this object instance. More...
 
virtual const std::string & getUnitRef () const
 Returns the value of the "unitRef" attribute of this SBaseRef. More...
 
virtual bool hasRequiredAttributes () const
 Returns true if getNumReferents() is exactly 1 and if the submodelRef is set. More...
 
virtual bool isSetConversionFactor () const
 Predicate returning true or false depending on whether this ReplacedElement's "conversionFactor" attribute has been set. More...
 
virtual bool isSetDeletion () const
 Predicate returning true or false depending on whether this SBaseRef's "deletion" attribute has been set. More...
 
virtual bool isSetIdRef () const
 Predicate returning true or false depending on whether this SBaseRef's "idRef" attribute has been set. More...
 
virtual bool isSetMetaIdRef () const
 Predicate returning true or false depending on whether this SBaseRef's "metaIdRef" attribute has been set. More...
 
virtual bool isSetPortRef () const
 Predicate returning true or false depending on whether this SBaseRef's "portRef" attribute has been set. More...
 
bool isSetSBaseRef () const
 Predicate for testing whether the sBaseRef for this SBaseRef is set. More...
 
virtual bool isSetSubmodelRef () const
 Predicate returning true or false depending on whether this SBaseRef's "submodelRef" attribute has been set. More...
 
virtual bool isSetUnitRef () const
 Predicate returning true or false depending on whether this SBaseRef's "unitRef" attribute has been set. More...
 
ReplacedElementoperator= (const ReplacedElement &source)
 Assignment operator. More...
 
virtual int performDeletion ()
 DEPRECATED FUNCTION: DO NOT USE. More...
 
virtual int performReplacement ()
 DEPRECATED FUNCTION: DO NOT USE. More...
 
virtual int removeFromParentAndDelete ()
 Finds this SBaseRef's parent, which can either be a List or can be another SBaseRef, and tells it to remove this. More...
 
virtual void renameSIdRefs (const std::string &oldid, const std::string &newid)
 Replaces all uses of a given SIdRef type attribute value with another value. More...
 
 ReplacedElement (unsigned int level=CompExtension::getDefaultLevel(), unsigned int version=CompExtension::getDefaultVersion(), unsigned int pkgVersion=CompExtension::getDefaultPackageVersion())
 Creates a new ReplacedElement with the given level, version, and package version. More...
 
 ReplacedElement (CompPkgNamespaces *compns)
 Creates a new ReplacedElement with the given CompPkgNamespaces object. More...
 
 ReplacedElement (const ReplacedElement &source)
 Copy constructor. More...
 
virtual int saveReferencedElement ()
 Finds and stores the referenced object. More...
 
virtual int setConversionFactor (const std::string &id)
 Sets the value of the "conversionFactor" attribute of this ReplacedElement. More...
 
virtual int setDeletion (const std::string &id)
 Sets the value of the "deletion" attribute of this ReplacedElement. More...
 
virtual int setIdRef (const std::string &id)
 Sets the value of the "idRef" attribute of this SBaseRef. More...
 
virtual int setMetaIdRef (const std::string &id)
 Sets the value of the "metaIdRef" attribute of this SBaseRef. More...
 
virtual int setPortRef (const std::string &id)
 Sets the value of the "portRef" attribute of this SBaseRef. More...
 
int setSBaseRef (const SBaseRef *sBaseRef)
 Sets the sBaseRef definition of this SBaseRef to a copy of the given SBaseRef object instance. More...
 
virtual int setSubmodelRef (const std::string &id)
 Sets the value of the "submodelRef" attribute of this SBaseRef. More...
 
virtual int setUnitRef (const std::string &id)
 Sets the value of the "unitRef" attribute of this SBaseRef. More...
 
virtual int unsetConversionFactor ()
 Unsets the value of the "conversionFactor" attribute of this ReplacedElement. More...
 
virtual int unsetDeletion ()
 Unsets the value of the "deletion" attribute of this ReplacedElement. More...
 
virtual int unsetIdRef ()
 Unsets the value of the "idRef" attribute of this SBaseRef. More...
 
virtual int unsetMetaIdRef ()
 Unsets the value of the "metaIdRef" attribute of this SBaseRef. More...
 
virtual int unsetPortRef ()
 Unsets the value of the "portRef" attribute of this SBaseRef. More...
 
virtual int unsetSBaseRef ()
 Unsets the child SBaseRef of this SBaseRef. More...
 
virtual int unsetSubmodelRef ()
 Unsets the value of the "SubmodelRef" attribute of this SBaseRef. More...
 
virtual int unsetUnitRef ()
 Unsets the value of the "unitRef" attribute of this SBaseRef. More...
 
virtual ~ReplacedElement ()
 Destructor. More...
 

Protected Member Functions

virtual int performReplacementAndCollect (std::set< SBase * > *removed, std::set< SBase * > *toremove)
 Updates all IDs and references to those IDs, as well as performing all necessary conversions based on the conversion factors. More...
 

Friends

class CompModelPlugin
 

Constructor & Destructor Documentation

ReplacedElement::ReplacedElement ( unsigned int  level = CompExtension::getDefaultLevel(),
unsigned int  version = CompExtension::getDefaultVersion(),
unsigned int  pkgVersion = CompExtension::getDefaultPackageVersion() 
)

Creates a new ReplacedElement with the given level, version, and package version.

Parameters
levelthe SBML Level
versionthe Version within the SBML Level
pkgVersionthe version of the package
ReplacedElement::ReplacedElement ( CompPkgNamespaces compns)

Creates a new ReplacedElement with the given CompPkgNamespaces object.

Parameters
compnsthe namespace to use
ReplacedElement::ReplacedElement ( const ReplacedElement source)

Copy constructor.

ReplacedElement::~ReplacedElement ( )
virtual

Destructor.

Member Function Documentation

bool Replacing::accept ( SBMLVisitor v) const
virtualinherited

Accepts the given SBMLVisitor.

Returns
the result of calling v.visit(), which indicates whether or not the Visitor would like to visit the SBML object's next sibling object (if available).

Reimplemented from SBaseRef.

void SBaseRef::clearReferencedElement ( )
virtualinherited

Removes the saved referenced element, if it had been saved earlier.

ReplacedElement * ReplacedElement::clone ( ) const
virtual

Creates and returns a deep copy of this ReplacedElement object.

Returns
a (deep) copy of this ReplacedElement object

Reimplemented from SBaseRef.

SBaseRef * SBaseRef::createSBaseRef ( )
inherited

Creates a new, empty SBaseRef, adds it to this SBaseRef and returns the created SBaseRef.

Returns
the newly created SBaseRef object instance.
List * SBaseRef::getAllElements ( ElementFilter filter = NULL)
virtualinherited

Returns a List of all child SBase* objects, including those nested to an arbitrary depth.

Returns
a List* of pointers to all children objects.
const string & ReplacedElement::getConversionFactor ( ) const
virtual

Returns the value of the "conversionFactor" attribute of this ReplacedElement.

Returns
the value of the "conversionFactor" attribute of this ReplacedElement.
const string & ReplacedElement::getDeletion ( ) const
virtual

Returns the value of the "deletion" attribute of this ReplacedElement.

Returns
the value of the "deletion" attribute of this ReplacedElement.
SBase * SBaseRef::getElementByMetaId ( const std::string &  metaid)
virtualinherited

Returns the first child element it can find with the given metaid, or itself if it has the given metaid, or NULL if no such object is found.

Parameters
metaidstring representing the metaid of objects to find
Returns
a pointer to the SBase element with the given metaid.
SBase * SBaseRef::getElementBySId ( const std::string &  id)
virtualinherited

Returns the first child element found that has the given id in the model-wide SId namespace, or NULL if no such object is found.

Parameters
idstring representing the id of objects to find
Returns
a pointer to the SBase element with the given id.
const std::string & ReplacedElement::getElementName ( ) const
virtual

Returns the XML element name of this SBML object.

Returns
the name of this element, as a text string.

Reimplemented from SBaseRef.

const string & SBaseRef::getIdRef ( ) const
virtualinherited

Returns the value of the "idRef" attribute of this SBaseRef.

Returns
the value of the "idRef" attribute of this SBaseRef.
const string & SBaseRef::getMetaIdRef ( ) const
virtualinherited

Returns the value of the "metaIdRef" attribute of this SBaseRef.

Returns
the value of the "metaIdRef" attribute of this SBaseRef.
int ReplacedElement::getNumReferents ( ) const
virtual

Returns how many elements are being referred to by this ReplacedElement.

A valid ReplacedElement will have exactly one. Possible referents are deletion, port, idRef, unitRef, and metaIdRef.

Returns
integer value between 0 and 5: the number of different ways this element points to its referent.

Reimplemented from SBaseRef.

const string & SBaseRef::getPortRef ( ) const
virtualinherited

Returns the value of the "portRef" attribute of this SBaseRef.

Returns
the value of the "portRef" attribute of this SBaseRef.
SBase * SBaseRef::getReferencedElement ( )
virtualinherited

Returns the object pointed to by this element.

If that element was previously found and set with 'saveReferencedElement', that element is returned; otherwise, 'saveReferencedElement' is called first, and the found element is returned.

SBase * ReplacedElement::getReferencedElementFrom ( Model model)
virtual

Finds the SBase object this ReplacedElement object points to, if any.

Reimplemented from SBaseRef.

const SBaseRef * SBaseRef::getSBaseRef ( ) const
inherited

Get the child sBaseRef of this sBaseRef.

Returns
the const SBaseRef child of this SBaseRef, or NULL if none exists.
SBaseRef * SBaseRef::getSBaseRef ( )
inherited

Get the child sBaseRef of this SBaseRef.

Returns
the SBaseRef child of this SBaseRef, or NULL if none exists.
const string & Replacing::getSubmodelRef ( ) const
virtualinherited

Returns the value of the "submodelRef" attribute of this SBaseRef.

Returns
the value of the "submodelRef" attribute of this SBaseRef.
int ReplacedElement::getTypeCode ( ) const
virtual

Returns the libSBML type code of this object instance.

LibSBML attaches an identifying code to every kind of SBML object. These are integer constants known as SBML type codes. The names of all the codes begin with the characters SBML_. The set of possible type codes for core elements is defined in the enumeration SBMLTypeCode_t, and in addition, libSBML plug-ins for SBML Level 3 packages define their own extra enumerations of type codes (e.g., SBMLLayoutTypeCode_t for the Level 3 Layout package). Note that different Level 3 package plug-ins may use overlapping type codes; to identify the package to which a given object belongs, call the getPackageName() method on the object.
Returns
the SBML type code for this object: SBML_COMP_REPLACEDELEMENT
Warning
The specific integer values of the possible type codes may be reused by different Level 3 package plug-ins. Thus, to identifiy the correct code, it is necessary to invoke both getTypeCode() and getPackageName().
See also
getElementName()
getPackageName()

Reimplemented from SBaseRef.

const string & SBaseRef::getUnitRef ( ) const
virtualinherited

Returns the value of the "unitRef" attribute of this SBaseRef.

Returns
the value of the "unitRef" attribute of this SBaseRef.
bool Replacing::hasRequiredAttributes ( ) const
virtualinherited

Returns true if getNumReferents() is exactly 1 and if the submodelRef is set.

Returns
boolean: 'true' if the attributes are correctly set; 'false' if not.

Reimplemented from SBaseRef.

bool ReplacedElement::isSetConversionFactor ( ) const
virtual

Predicate returning true or false depending on whether this ReplacedElement's "conversionFactor" attribute has been set.

Returns
true if this ReplacedElement's "conversionFactor" attribute has been set, otherwise false is returned.
bool ReplacedElement::isSetDeletion ( ) const
virtual

Predicate returning true or false depending on whether this SBaseRef's "deletion" attribute has been set.

Returns
true if this ReplacedElement's "deletion" attribute has been set, otherwise false is returned.
bool SBaseRef::isSetIdRef ( ) const
virtualinherited

Predicate returning true or false depending on whether this SBaseRef's "idRef" attribute has been set.

Returns
true if this SBaseRef's "idRef" attribute has been set, otherwise false is returned.
bool SBaseRef::isSetMetaIdRef ( ) const
virtualinherited

Predicate returning true or false depending on whether this SBaseRef's "metaIdRef" attribute has been set.

Returns
true if this SBaseRef's "metaIdRef" attribute has been set, otherwise false is returned.
bool SBaseRef::isSetPortRef ( ) const
virtualinherited

Predicate returning true or false depending on whether this SBaseRef's "portRef" attribute has been set.

Returns
true if this SBaseRef's "portRef" attribute has been set, otherwise false is returned.
bool SBaseRef::isSetSBaseRef ( ) const
inherited

Predicate for testing whether the sBaseRef for this SBaseRef is set.

Returns
true if the sBaseRef of this SBaseRef is set, false otherwise.
bool Replacing::isSetSubmodelRef ( ) const
virtualinherited

Predicate returning true or false depending on whether this SBaseRef's "submodelRef" attribute has been set.

Returns
true if this SBaseRef's "submodelRef" attribute has been set, otherwise false is returned.
bool SBaseRef::isSetUnitRef ( ) const
virtualinherited

Predicate returning true or false depending on whether this SBaseRef's "unitRef" attribute has been set.

Returns
true if this SBaseRef's "unitRef" attribute has been set, otherwise false is returned.
ReplacedElement & ReplacedElement::operator= ( const ReplacedElement source)

Assignment operator.

int SBaseRef::performDeletion ( )
virtualinherited

DEPRECATED FUNCTION: DO NOT USE.

Deletes the referenced object, plus any other elements that element points to through ReplacedElement or ReplacedBy children. Instead of calling this function directly, use 'CompModelPlugin::instantiateSubmodels' instead, which deals with all the intricacies of replacements and deletions, and gives you access to the non-flattened hierarchical form of the model.

int Replacing::performReplacement ( )
virtualinherited

DEPRECATED FUNCTION: DO NOT USE.

To retain old functionality, this function calls performReplacementAndCollect, and then actually removes the now-redundant element. However, this can lead to doubly-deleted elements, as well as the incorrect interpretation of some models. The replacement function performReplacementAndCollect has been marked protected, in the hopes that people will instead simply use CompModelPlugin::instantiateSubmodels, which hides all the complexity while still allowing access to a non-flattened version of a hierarchical model.

int ReplacedElement::performReplacementAndCollect ( std::set< SBase * > *  removed,
std::set< SBase * > *  toremove 
)
protectedvirtual

Updates all IDs and references to those IDs, as well as performing all necessary conversions based on the conversion factors.

Does not actually remove the now-redundant element! The elements to be removed is instead added to 'toremove', allowing one to remove the element carefully to prevent double-deletion of elements, and to allow the correct interpretation of 'nested' replacements and deletions.

The 'removed' argument is present to ensure that the replaced element was not already removed, which would make it impossible to check it for its old IDs. In normal comp flattening, 'removed' will only contain comp elements, which should usually not be replaced, only deleted.

Implements Replacing.

int SBaseRef::removeFromParentAndDelete ( )
virtualinherited

Finds this SBaseRef's parent, which can either be a List or can be another SBaseRef, and tells it to remove this.

Returns
integer value indicating success/failure of the function. The value is drawn from the enumeration OperationReturnValues_t. The possible values returned by this function are:

Reimplemented in ReplacedBy.

void ReplacedElement::renameSIdRefs ( const std::string &  oldid,
const std::string &  newid 
)
virtual

Replaces all uses of a given SIdRef type attribute value with another value.

In SBML, object identifiers are of a data type called SId. In SBML Level 3, an explicit data type called SIdRef was introduced for attribute values that refer to SId values; in previous Levels of SBML, this data type did not exist and attributes were simply described to as "referring to an identifier", but the effective data type was the same as SIdRefin Level 3. These and other methods of libSBML refer to the type SIdRef for all Levels of SBML, even if the corresponding SBML specification did not explicitly name the data type.

This method works by looking at all attributes and (if appropriate) mathematical formulas in MathML content, comparing the referenced identifiers to the value of oldid. If any matches are found, the matching values are replaced with newid. The method does not descend into child elements.

Parameters
oldidthe old identifier
newidthe new identifier

Reimplemented from Replacing.

int Replacing::saveReferencedElement ( )
virtualinherited

Finds and stores the referenced object.

Finds the Submodel to which it refers, getting the instantiated Model inside that Submodel, calling 'getReferencedElementFrom' on that model, and storing the result.

Returns
integer value indicating success/failure of the function. The value is drawn from the enumeration OperationReturnValues_t. The possible values returned by this function are:

Reimplemented from SBaseRef.

int ReplacedElement::setConversionFactor ( const std::string &  id)
virtual

Sets the value of the "conversionFactor" attribute of this ReplacedElement.

Returns
integer value indicating success/failure of the function. The value is drawn from the enumeration OperationReturnValues_t. The possible values returned by this function are:
int ReplacedElement::setDeletion ( const std::string &  id)
virtual

Sets the value of the "deletion" attribute of this ReplacedElement.

This method fails if the id is not a valid syntax for an SIdRef (LIBSBML_INVALID_ATTRIBUTE_VALUE), or if the SBaseRef already points to an element of the submodel using a different interface (LIBSBML_OPERATION_FAILED). A ReplacedElement must use exactly one method to point to a submodel element: deletion, port, idRef, unitRef, or metaIdRef.

Returns
integer value indicating success/failure of the function. The value is drawn from the enumeration OperationReturnValues_t. The possible values returned by this function are:
Examples:
spec_example4.cpp.
int SBaseRef::setIdRef ( const std::string &  id)
virtualinherited

Sets the value of the "idRef" attribute of this SBaseRef.

This method fails if the id is not a valid syntax for an SIdRef (LIBSBML_INVALID_ATTRIBUTE_VALUE), or if the SBaseRef already points to an element of the submodel using a different interface (LIBSBML_OPERATION_FAILED). A sBaseRef must use exactly one method to point to a submodel element.

Returns
integer value indicating success/failure of the function. The value is drawn from the enumeration OperationReturnValues_t. The possible values returned by this function are:
Examples:
spec_example2.cpp, spec_example3.cpp, and spec_example4.cpp.
int SBaseRef::setMetaIdRef ( const std::string &  id)
virtualinherited

Sets the value of the "metaIdRef" attribute of this SBaseRef.

This method fails if the id is not a valid syntax for an IDREF (LIBSBML_INVALID_ATTRIBUTE_VALUE), or if the SBaseRef already points to an element of the submodel using a different interface (LIBSBML_OPERATION_FAILED). An sBaseRef must use exactly one method to point to a submodel element.

Returns
integer value indicating success/failure of the function. The value is drawn from the enumeration OperationReturnValues_t. The possible values returned by this function are:
int SBaseRef::setPortRef ( const std::string &  id)
virtualinherited

Sets the value of the "portRef" attribute of this SBaseRef.

Fails if the id is not a valid syntax for a PortSIdRef (LIBSBML_INVALID_ATTRIBUTE_VALUE), or if the SBaseRef already points to an element of the submodel using a different interface (LIBSBML_OPERATION_FAILED). An SBaseRef must use exactly one method to point to a submodel element.

Returns
integer value indicating success/failure of the function. The value is drawn from the enumeration OperationReturnValues_t. The possible values returned by this function are:

Reimplemented in Port.

Examples:
spec_example3.cpp, and spec_example4.cpp.
int SBaseRef::setSBaseRef ( const SBaseRef sBaseRef)
inherited

Sets the sBaseRef definition of this SBaseRef to a copy of the given SBaseRef object instance.

This method fails if the added sBaseRef does not match the level/version/package of the parent object or if the added sBaseRef cannot be copied.

Parameters
sBaseRefthe SBaseRef object instance to use.
Returns
integer value indicating success/failure of the function. The value is drawn from the enumeration OperationReturnValues_t. The possible values returned by this function are:
int Replacing::setSubmodelRef ( const std::string &  id)
virtualinherited

Sets the value of the "submodelRef" attribute of this SBaseRef.

Fails if the id is not a valid syntax for an SIdRef.

Returns
integer value indicating success/failure of the function. The value is drawn from the enumeration OperationReturnValues_t. The possible values returned by this function are:
Examples:
spec_example2.cpp, spec_example3.cpp, and spec_example4.cpp.
int SBaseRef::setUnitRef ( const std::string &  id)
virtualinherited

Sets the value of the "unitRef" attribute of this SBaseRef.

This method fails if the id is not a valid syntax for a UnitSIdRef (LIBSBML_INVALID_ATTRIBUTE_VALUE), or if the SBaseRef already points to an element of the submodel using a different interface (LIBSBML_OPERATION_FAILED). A sBaseRef must use exactly one method to point to a submodel element.

Returns
integer value indicating success/failure of the function. The value is drawn from the enumeration OperationReturnValues_t. The possible values returned by this function are:
int ReplacedElement::unsetConversionFactor ( )
virtual

Unsets the value of the "conversionFactor" attribute of this ReplacedElement.

Returns
integer value indicating success/failure of the function. The value is drawn from the enumeration OperationReturnValues_t. The possible values returned by this function are:
int ReplacedElement::unsetDeletion ( )
virtual

Unsets the value of the "deletion" attribute of this ReplacedElement.

Returns
integer value indicating success/failure of the function. The value is drawn from the enumeration OperationReturnValues_t. The possible values returned by this function are:
int SBaseRef::unsetIdRef ( )
virtualinherited

Unsets the value of the "idRef" attribute of this SBaseRef.

Returns
integer value indicating success/failure of the function. The value is drawn from the enumeration OperationReturnValues_t. The possible values returned by this function are:
Examples:
spec_example3.cpp, and spec_example4.cpp.
int SBaseRef::unsetMetaIdRef ( )
virtualinherited

Unsets the value of the "metaIdRef" attribute of this SBaseRef.

Returns
integer value indicating success/failure of the function. The value is drawn from the enumeration OperationReturnValues_t. The possible values returned by this function are:
int SBaseRef::unsetPortRef ( )
virtualinherited

Unsets the value of the "portRef" attribute of this SBaseRef.

Returns
integer value indicating success/failure of the function. The value is drawn from the enumeration OperationReturnValues_t. The possible values returned by this function are:
int SBaseRef::unsetSBaseRef ( )
virtualinherited

Unsets the child SBaseRef of this SBaseRef.

Deletes the former SBaseRef child, if one existed.

Returns
integer value indicating success/failure of the function. The value is drawn from the enumeration OperationReturnValues_t. The possible values returned by this function are:
int Replacing::unsetSubmodelRef ( )
virtualinherited

Unsets the value of the "SubmodelRef" attribute of this SBaseRef.

Returns
integer value indicating success/failure of the function. The value is drawn from the enumeration OperationReturnValues_t. The possible values returned by this function are:
int SBaseRef::unsetUnitRef ( )
virtualinherited

Unsets the value of the "unitRef" attribute of this SBaseRef.

Returns
integer value indicating success/failure of the function. The value is drawn from the enumeration OperationReturnValues_t. The possible values returned by this function are:

Friends And Related Function Documentation

friend class CompModelPlugin
friend