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");
compartment->
setId(
"Compartment_1");
species1->
setId(
"Species_1");
species2->
setId(
"Species_2");
reaction1->
setId(
"Reaction_1");
reference1->
setId(
"SpeciesReference_1");
reference2->
setId(
"SpeciesReference_2");
reaction2->
setId(
"Reaction_2");
reference3->
setId(
"SpeciesReference_3");
reference4->
setId(
"SpeciesReference_4");
layout->
setId(
"Layout_1");
compartmentGlyph->
setId(
"CompartmentGlyph_1");
speciesGlyph1->
setId(
"SpeciesGlyph_1");
textGlyph1->
setId(
"TextGlyph_01");
speciesGlyph2->
setId(
"SpeciesGlyph_2");
textGlyph2->
setId(
"TextGlyph_02");
reactionGlyph1->
setId(
"ReactionGlyph_1");
Point p(&layoutns, 165, 105);
p =
Point(&layoutns, 165, 115);
reactionGlyph2->
setId(
"ReactionGlyph_1");
p =
Point(&layoutns, 235, 105);
p =
Point(&layoutns, 235, 115);
speciesReferenceGlyph1->
setId(
"SpeciesReferenceGlyph_1");
Curve* speciesReferenceCurve1 = speciesReferenceGlyph1->
getCurve();
p =
Point(&layoutns, 165, 105);
p =
Point(&layoutns, 165, 90);
p =
Point(&layoutns, 165, 90);
p =
Point(&layoutns, 195, 60);
speciesReferenceGlyph2->
setId(
"SpeciesReferenceGlyph_2");
Curve* speciesReferenceCurve2 = speciesReferenceGlyph2->
getCurve();
p =
Point(&layoutns, 165, 115);
p =
Point(&layoutns, 165, 130);
p =
Point(&layoutns, 165, 130);
p =
Point(&layoutns, 195, 160);
speciesReferenceGlyph3->
setId(
"SpeciesReferenceGlyph_3");
Curve* speciesReferenceCurve3 = speciesReferenceGlyph3->
getCurve();
p =
Point(&layoutns, 235, 115);
p =
Point(&layoutns, 235, 130);
p =
Point(&layoutns, 235, 130);
p =
Point(&layoutns, 205, 160);
speciesReferenceGlyph4->
setId(
"SpeciesReferenceGlyph_4");
Curve* speciesReferenceCurve4 = speciesReferenceGlyph4->
getCurve();
p =
Point(&layoutns, 235, 105);
p =
Point(&layoutns, 235, 90);
p =
Point(&layoutns, 235, 90);
p =
Point(&layoutns, 205, 60);
writeSBML(document,
"layout_example1_L2.xml");
delete document;
}
Definition of BoundingBox for SBML Layout.
Definitions of Compartment and ListOfCompartments.
Definition of CompartmentGlyph for SBML Layout.
Definition of CubicBezier for SBML Layout.
Definition of Curve for SBML Layout.
Definition of Dimensions for SBML Layout.
Definition of Layout for SBML Layout.
Definition of LayoutExtension, the core module of layout package.
Definition of LayoutModelPlugin, the plugin class of layout package for Model element.
Definition of LineSegment for SBML Layout.
Definition of Point for SBML Layout.
Definitions of Reaction and ListOfReactions.
Definition of ReactionGlyph for SBML Layout.
Top-level container for an SBML Model and associated data.
Writes an SBML Document to file or in-memory string.
int writeSBML(const SBMLDocument_t *d, const char *filename)
Writes the given SBML document d to the file named by filename.
Definitions of Species and ListOfSpecies.
Definition of SpeciesGlyph for SBML Layout.
Definitions of SpeciesReference and ListOfSpeciesReferences.
Definition of SpeciesReferenceGlyph for SBML Layout.
@ SPECIES_ROLE_SUBSTRATE
Definition: SpeciesReferenceRole.h:61
@ SPECIES_ROLE_PRODUCT
Definition: SpeciesReferenceRole.h:62
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:364
CubicBezier * createCubicBezier()
Creates a new CubicBezier and adds it to the end of the list.
Definition: Curve.cpp:379
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...
Definition: Layout.cpp:1385
ReactionGlyph * createReactionGlyph()
Creates a ReactionGlyph object, adds it to the end of the reaction glyph objects list and returns a p...
Definition: Layout.cpp:1417
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...
Definition: Layout.cpp:1448
SpeciesGlyph * createSpeciesGlyph()
Creates a SpeciesGlyph object, adds it to the end of the species glyph objects list and returns a poi...
Definition: Layout.cpp:1401
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:480
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
Reaction * createReaction()
Creates a new Reaction inside this Model and returns it.
Definition: Model.cpp:1782
virtual int setId(const std::string &sid)
Sets the value of the "id" attribute of this Model.
Definition: Model.cpp:717
Species * createSpecies()
Creates a new Species inside this Model and returns it.
Definition: Model.cpp:1586
Compartment * createCompartment()
Creates a new Compartment inside this Model and returns it.
Definition: Model.cpp:1558
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:501
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:452
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
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
Definition: SBMLDocument.h:349
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
SBasePlugin * getPlugin(const std::string &package)
Returns a plug-in object (extension interface) for an SBML Level 3 package extension with the given p...
Definition: SBase.cpp:3530
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
Definition: Species.h:429
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
Curve * getCurve()
Returns the curve object for the species reference glyph.
Definition: SpeciesReferenceGlyph.cpp:370
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