// ####################################################################### SpeciesReference* SBML_formatter::species2SpeciesReference(const Species* species, const Reaction* rxn, string addToSpeciesID){ string value = species->getId(); SpeciesReference* SR = new SpeciesReference(species->getLevel(), species->getVersion()); value = species->getId(); if (addToSpeciesID != ""){ // sets the species name, as value.append(addToSpeciesID); } SR->setSpecies(value); SR->setStoichiometry(1); SR->setId((value.append("_ref_")).append(dtostr(unique))); value.clear(); value.append(species->getId()); SR->setName((value.append("_in_rxn_")).append(rxn->getId())); // unique is a static variable which allows anything that needs a modelwide unique value to get // one; unique++; return SR; }