An example layout.
An example layout.
#if (!defined LIBSBML_HAS_PACKAGE_LAYOUT)
#error "This example requires libSBML to be built with the layout extension."
#endif
LIBSBML_CPP_NAMESPACE_USE
int main(int argc, char** argv)
{
model->setId("TestModel_with_modifiers");
layout->
setId(
"Layout_1");
compartment->
setId(
"Yeast");
compartmentGlyph->
setId(
"CompartmentGlyph_1");
Species* species_Gluc = model->createSpecies();
species_Gluc->
setId(
"Glucose");
glyph_Gluc->
setId(
"SpeciesGlyph_Glucose");
tGlyph->
setId(
"TextGlyph_Glucose");
Species* species_G6P = model->createSpecies();
species_G6P->
setId(
"Glucose_hyphen_6_hyphen_phosphate");
glyph_G6P->
setId(
"SpeciesGlyph_G6P");
tGlyph->
setId(
"TextGlyph_G6P");
Species* species_ATP = model->createSpecies();
species_ATP->
setId(
"ATP");
glyph_ATP->
setId(
"SpeciesGlyph_ATP");
tGlyph->
setId(
"TextGlyph_ATP");
Species* species_ADP = model->createSpecies();
species_ADP->
setId(
"ADP");
glyph_ADP->
setId(
"glyph_ADP");
tGlyph->
setId(
"TextGlyph_ADP");
Species* species_Pi = model->createSpecies();
glyph_Pi->
setId(
"SpeciesGlyph_Pi");
tGlyph->
setId(
"TextGlyph_PI");
Reaction* reaction_Hexokinase = model->createReaction();
reaction_Hexokinase->
setId(
"Hexokinase");
glyph_Hexokinase->
setId(
"glyph_Hexokinase");
Point p(&layoutns, 170, 100);
p =
Point(&layoutns, 170, 130);
reference_Gluc->
setId(
"SpeciesReference_Glucose");
speciesReferenceGlyph->
setId(
"SpeciesReferenceGlyph_Glucose");
p =
Point(&layoutns, 170, 100);
p =
Point(&layoutns, 170, 50);
reference_ATP->
setId(
"SpeciesReference_ATP");
speciesReferenceGlyph->
setId(
"SpeciesReferenceGlyph_ATP");
p =
Point(&layoutns, 170, 100);
p =
Point(&layoutns, 170, 80);
p =
Point(&layoutns, 170, 80);
p =
Point(&layoutns, 260, 80);
reference_G6P->
setId(
"SpeciesReference_G6P");
speciesReferenceGlyph->
setId(
"SpeciesReferenceGlyph_G6P_1");
p =
Point(&layoutns, 170, 130);
p =
Point(&layoutns, 170, 180);
reference_ADP->
setId(
"SpeciesReference_ADP");
speciesReferenceGlyph->
setId(
"SpeciesReferenceGlyph_ADP");
p =
Point(&layoutns, 170, 130);
p =
Point(&layoutns, 170, 150);
p =
Point(&layoutns, 170, 150);
p =
Point(&layoutns, 260, 150);
reference_G6P_2->
setId(
"ModifierSpeciesReference_G6P");
speciesReferenceGlyph->
setId(
"SpeciesReferenceGlyph_G6P_2");
p =
Point(&layoutns, 45, 200);
p =
Point(&layoutns, 0, 200);
p =
Point(&layoutns, 0, 120);
p =
Point(&layoutns, 165, 120);
reference_Pi->
setId(
"ModifierSpeciesReference_Pi");
speciesReferenceGlyph->
setId(
"SpeciesReferenceGlyph_PI");
p =
Point(&layoutns, 115, 110);
p =
Point(&layoutns, 140, 110);
p =
Point(&layoutns, 140, 110);
p =
Point(&layoutns, 165, 110);
writeSBML(document,
"layout_example3_L2.xml");
delete document;
}
Include all SBML types of layout extension in a single header file.
Include all SBML types in a single header file.
int writeSBML(const SBMLDocument_t *d, const char *filename)
Writes the given SBML document d to the file named by filename.
@ SPECIES_ROLE_SUBSTRATE
Definition SpeciesReferenceRole.h:61
@ SPECIES_ROLE_PRODUCT
Definition SpeciesReferenceRole.h:62
@ SPECIES_ROLE_SIDEPRODUCT
Definition SpeciesReferenceRole.h:64
@ SPECIES_ROLE_ACTIVATOR
Definition SpeciesReferenceRole.h:66
@ SPECIES_ROLE_INHIBITOR
Definition SpeciesReferenceRole.h:67
@ SPECIES_ROLE_SIDESUBSTRATE
Definition SpeciesReferenceRole.h:63
Definition BoundingBox.h:64
Definition CompartmentGlyph.h:60
int setCompartmentId(const std::string &id)
Sets the id of the associated compartment.
Definition CompartmentGlyph.cpp:223
Definition Compartment.h:490
virtual const std::string & getId() const
Returns the value of the "id" attribute of this Compartment.
Definition Compartment.cpp:243
virtual int setId(const std::string &sid)
Sets the value of the "id" attribute of this Compartment object.
Definition Compartment.cpp:479
Definition CubicBezier.h:71
void setBasePoint2(const Point *p)
Initializes second base point with a copy of the given point.
Definition CubicBezier.cpp:457
void setBasePoint1(const Point *p)
Initializes first base point with a copy of the given point.
Definition CubicBezier.cpp:408
LineSegment * createLineSegment()
Creates a new LineSegment and adds it to the end of the list.
Definition Curve.cpp:360
Definition Dimensions.h:71
virtual int setId(const std::string &sid)
Sets the value of the "id" attribute of this GraphicalObject.
Definition GraphicalObject.cpp:390
void setBoundingBox(const BoundingBox *bb)
Sets the boundingbox for the GraphicalObject.
Definition GraphicalObject.cpp:475
virtual const std::string & getId() const
Returns the value of the "id" attribute of this GraphicalObject.
Definition GraphicalObject.cpp:372
static const std::string & getXmlnsL2()
Returns the XML namespace URI of the SBML Level 2 version of the package implemented by this libSBML...
Definition LayoutExtension.cpp:109
virtual int setId(const std::string &sid)
Sets the value of the "id" attribute of this Layout.
Definition Layout.cpp:454
CompartmentGlyph * createCompartmentGlyph()
Creates a CompartmentGlyph object, adds it to the end of the compartment glyph objects list and retur...
ReactionGlyph * createReactionGlyph()
Creates a ReactionGlyph object, adds it to the end of the reaction glyph objects list and returns a p...
void setDimensions(const Dimensions *dimensions)
Sets the dimensions of the layout.
Definition Layout.cpp:520
TextGlyph * createTextGlyph()
Creates a TextGlyph object, adds it to the end of the text glyph objects list and returns a pointer t...
SpeciesGlyph * createSpeciesGlyph()
Creates a SpeciesGlyph object, adds it to the end of the species glyph objects list and returns a poi...
Definition LayoutModelPlugin.h:68
Layout * createLayout()
Creates a new layout object and adds it to the list of layout objects and returns it.
Definition LayoutModelPlugin.cpp:476
Definition LineSegment.h:69
void setEnd(const Point *end)
Initializes the end point with a copy of the given Point object.
Definition LineSegment.cpp:374
void setStart(const Point *start)
Initializes the start point with a copy of the given Point object.
Definition LineSegment.cpp:327
Definition ModifierSpeciesReference.h:92
Definition ReactionGlyph.h:255
SpeciesReferenceGlyph * createSpeciesReferenceGlyph()
Creates a new SpeciesReferenceGlyph object, adds it to the end of the list of species reference objec...
Definition ReactionGlyph.cpp:497
int setReactionId(const std::string &id)
Sets the id of the associated reaction.
Definition ReactionGlyph.cpp:324
const Curve * getCurve() const
Returns the curve object for the reaction glyph.
Definition ReactionGlyph.cpp:448
Definition Reaction.h:224
SpeciesReference * createReactant()
Creates a new SpeciesReference, adds it to this Reaction's list of reactants, and returns it.
Definition Reaction.cpp:954
int setReversible(bool value)
Sets the value of the "reversible" attribute of this Reaction.
Definition Reaction.cpp:599
virtual int setId(const std::string &sid)
Sets the value of the "id" attribute of this Reaction.
Definition Reaction.cpp:517
ModifierSpeciesReference * createModifier()
Creates a new ModifierSpeciesReference, adds it to this Reaction's list of modifiers and returns it.
Definition Reaction.cpp:1012
virtual const std::string & getId() const
Returns the value of the "id" attribute of this Reaction.
Definition Reaction.cpp:376
SpeciesReference * createProduct()
Creates a new SpeciesReference, adds it to this Reaction's list of products, and returns it.
Definition Reaction.cpp:983
int addModifier(const ModifierSpeciesReference *msr)
Adds a given ModifierSpeciesReference object as a product in this Reaction.
Definition Reaction.cpp:900
Definition SBMLDocument.h:351
Model * createModel(const std::string sid="")
Creates a new Model inside this SBMLDocument, and returns a pointer to it.
Definition SBMLDocument.cpp:627
int setModel(const Model *m)
Sets the Model for this SBMLDocument to a copy of the given Model.
Definition SBMLDocument.cpp:583
Definition SBMLNamespaces.h:145
int addNamespace(const std::string &uri, const std::string &prefix)
Add an XML namespace (a pair of URI and prefix) to the set of namespaces within this SBMLNamespaces o...
Definition SBMLNamespaces.cpp:483
virtual int setId(const std::string &sid)
Sets the value of the "id" attribute of this SimpleSpeciesReference.
Definition SimpleSpeciesReference.cpp:214
virtual const std::string & getId() const
Returns the value of the "id" attribute of this SimpleSpeciesReference.
Definition SimpleSpeciesReference.cpp:132
int setSpecies(const std::string &sid)
Sets the "species" attribute of this SimpleSpeciesReference.
Definition SimpleSpeciesReference.cpp:196
Definition SpeciesGlyph.h:65
void setSpeciesId(const std::string &id)
Sets the id of the associated species object.
Definition SpeciesGlyph.cpp:206
int setCompartment(const std::string &sid)
Sets the "compartment" attribute of this Species object.
Definition Species.cpp:661
virtual const std::string & getId() const
Returns the value of the "id" attribute of this Species.
Definition Species.cpp:278
virtual int setId(const std::string &sid)
Sets the value of the "id" attribute of this Species.
Definition Species.cpp:591
Definition SpeciesReferenceGlyph.h:71
void setSpeciesReferenceId(const std::string &id)
Sets the id of the associated species reference.
Definition SpeciesReferenceGlyph.cpp:309
CubicBezier * createCubicBezier()
Creates a new CubicBezier object, adds it to the end of the list of curve segment objects of the curv...
Definition SpeciesReferenceGlyph.cpp:474
LineSegment * createLineSegment()
Creates a new LineSegment object, adds it to the end of the list of curve segment objects of the curv...
Definition SpeciesReferenceGlyph.cpp:462
void setSpeciesGlyphId(const std::string &speciesGlyphId)
Sets the id of the associated species glyph.
Definition SpeciesReferenceGlyph.cpp:289
void setRole(const std::string &role)
Sets the role based on a string.
Definition SpeciesReferenceGlyph.cpp:343
Definition SpeciesReference.h:281
Definition TextGlyph.h:65
int setOriginOfTextId(const std::string &orig)
Sets the id of the origin of text.
Definition TextGlyph.cpp:266
int setGraphicalObjectId(const std::string &id)
Sets the id of the associated graphical object.
Definition TextGlyph.cpp:246