void convertLayoutToL2() { if (_doc == NULL || _doc->getModel() == NULL) return; layoutNsUri = "http://projects.eml.org/bcb/sbml/level2"; layoutNs = new LayoutPkgNamespaces(2, 1); #ifdef LIBSBML_HAS_PACKAGE_RENDER foundRenderElements = false; renderNsUri = "http://projects.eml.org/bcb/sbml/render/level2"; renderNs = new RenderPkgNamespaces(2, 1); #endif LayoutModelPlugin* plugin = (LayoutModelPlugin*)_doc->getModel()->getPlugin("layout"); if (plugin == NULL) return; ConversionProperties prop(new SBMLNamespaces(2, 4)); prop.addOption("strict", false); prop.addOption("setLevelAndVersion", true); prop.addOption("ignorePackages", true); if (_doc->convert(prop) != LIBSBML_OPERATION_SUCCESS) { cout << "Conversion failed!" << endl; _doc->printErrors(); exit(2); } plugin->setElementNamespace(layoutNsUri); SBMLDocumentPlugin *docPlugin = (SBMLDocumentPlugin*)_doc->getPlugin("layout"); if (docPlugin != NULL) docPlugin->setElementNamespace(layoutNsUri); updateNs(plugin->getListOfLayouts()); _doc->getSBMLNamespaces()->removePackageNamespace(3, 1, "layout", 1); #ifdef LIBSBML_HAS_PACKAGE_RENDER SBMLDocumentPlugin *rdocPlugin = (SBMLDocumentPlugin*)_doc->getPlugin("render"); if (rdocPlugin!= NULL) rdocPlugin->setElementNamespace(renderNsUri); _doc->getSBMLNamespaces()->removePackageNamespace(3, 1, "render", 1); #endif }
void convertLayoutToL3() { if (_doc == NULL || _doc->getModel() == NULL) return; layoutNsUri = "http://www.sbml.org/sbml/level3/version1/layout/version1"; layoutNs = new LayoutPkgNamespaces(3, 1, 1); #ifdef CONVERT_RENDER renderNsUri = "http://www.sbml.org/sbml/level3/version1/render/version1"; renderNs = new RenderPkgNamespaces(3, 1, 1); #endif LayoutModelPlugin* plugin = (LayoutModelPlugin*)_doc->getModel()->getPlugin("layout"); if (plugin == NULL) return; ConversionProperties prop(new SBMLNamespaces(3, 1)); prop.addOption("strict", false); prop.addOption("setLevelAndVersion", true); prop.addOption("ignorePackages", true); _doc->convert(prop); plugin->setElementNamespace(layoutNsUri); SBMLDocumentPlugin *docPlugin = (SBMLDocumentPlugin*)_doc->getPlugin("layout"); if (docPlugin != NULL) docPlugin->setElementNamespace(layoutNsUri); updateNs(plugin->getListOfLayouts()); _doc->getSBMLNamespaces()->addPackageNamespace("layout", 1); _doc->setPackageRequired("layout", false); #ifdef CONVERT_RENDER SBMLDocumentPlugin *rdocPlugin = (SBMLDocumentPlugin*)_doc->getPlugin("render"); if (rdocPlugin != NULL) rdocPlugin->setElementNamespace(renderNsUri); _doc->getSBMLNamespaces()->addPackageNamespace("render", 1); _doc->setPackageRequired("render", false); #endif }