libSBML C++ API
libSBML 5.18.0 C++ API
|
A version of example1.cpp
for SBML Level 3.
#if (!defined LIBSBML_HAS_PACKAGE_LAYOUT)
#error "This example requires libSBML to be built with the layout extension."
#endif
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");
if (!mplugin)
{
std::cerr << "[Fatal Error] Layout Extension Level "
<< layoutns.getLevel() << " Version "
<< layoutns.getVersion() << " package version "
<< layoutns.getPackageVersion()
<< " is not registered." << std::endl;
exit(1);
}
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_L3.xml");
delete document;
}
@sbmlpackage{core}
Definition: SpeciesReference.h:276
int setModel(const Model *m)
Sets the Model for this SBMLDocument to a copy of the given Model.
Definition: SBMLDocument.cpp:599
int setConstant(bool value)
Sets the value of the "constant" attribute of this Compartment object.
Definition: Compartment.cpp:681
void setRole(const std::string &role)
Sets the role based on a string.
Definition: SpeciesReferenceGlyph.cpp:338
@sbmlpackage{layout}
Definition: Dimensions.h:66
@sbmlpackage{core}
Definition: Reaction.h:219
Definition of Layout for SBML Layout.
void setBasePoint1(const Point *p)
Initializes first base point with a copy of the given point.
Definition: CubicBezier.cpp:403
virtual int setId(const std::string &sid)
Sets the value of the "id" attribute of this GraphicalObject.
Definition: GraphicalObject.cpp:385
Curve * getCurve()
Returns the curve object for the species reference glyph.
Definition: SpeciesReferenceGlyph.cpp:365
@sbmlpackage{layout}
Definition: CubicBezier.h:66
@sbmlpackage{layout}
Definition: Point.h:60
@sbmlpackage{layout}
Definition: Curve.h:212
int setPkgRequired(const std::string &package, bool flag)
Sets the value of the required attribute for the given package.
Definition: SBMLDocument.cpp:1488
virtual const std::string & getId() const
Returns the value of the "id" attribute of this SimpleSpeciesReference.
Definition: SimpleSpeciesReference.cpp:128
Definition of LayoutModelPlugin, the plugin class of layout package for Model element.
CompartmentGlyph * createCompartmentGlyph()
Creates a CompartmentGlyph object, adds it to the end of the compartment glyph objects list and retur...
Definition: Layout.cpp:1380
SpeciesReferenceGlyph * createSpeciesReferenceGlyph()
Creates a new SpeciesReferenceGlyph object, adds it to the end of the list of species reference objec...
Definition: ReactionGlyph.cpp:496
LineSegment * createLineSegment()
Creates a new LineSegment and adds it to the end of the list.
Definition: Curve.cpp:359
Definition of Point for SBML Layout.
Reaction * createReaction()
Creates a new Reaction inside this Model and returns it.
Definition: Model.cpp:1779
@sbmlpackage{layout}
Definition: LayoutModelPlugin.h:63
virtual const std::string & getId() const
Returns the value of the "id" attribute of this Reaction.
Definition: Reaction.cpp:375
int setReversible(bool value)
Sets the value of the "reversible" attribute of this Reaction.
Definition: Reaction.cpp:607
@sbmlpackage{layout}
Definition: ReactionGlyph.h:250
@ SPECIES_ROLE_SUBSTRATE
Definition: SpeciesReferenceRole.h:56
Definition of SpeciesGlyph for SBML Layout.
void setSpeciesId(const std::string &id)
Sets the id of the associated species object.
Definition: SpeciesGlyph.cpp:201
Definition of SpeciesReferenceGlyph for SBML Layout.
Model * createModel(const std::string sid="")
Creates a new Model inside this SBMLDocument, and returns a pointer to it.
Definition: SBMLDocument.cpp:643
Layout * createLayout()
Creates a new layout object and adds it to the list of layout objects and returns it.
Definition: LayoutModelPlugin.cpp:475
void setEnd(const Point *end)
Initializes the end point with a copy of the given Point object.
Definition: LineSegment.cpp:369
int setFast(bool value)
Sets the value of the "fast" attribute of this Reaction.
Definition: Reaction.cpp:620
Species * createSpecies()
Creates a new Species inside this Model and returns it.
Definition: Model.cpp:1590
Definition of CubicBezier for SBML Layout.
void setSpeciesGlyphId(const std::string &speciesGlyphId)
Sets the id of the associated species glyph.
Definition: SpeciesReferenceGlyph.cpp:284
virtual int setId(const std::string &sid)
Sets the value of the "id" attribute of this SimpleSpeciesReference.
Definition: SimpleSpeciesReference.cpp:210
virtual int setId(const std::string &sid)
Sets the value of the "id" attribute of this Compartment object.
Definition: Compartment.cpp:474
Definition of BoundingBox for SBML Layout.
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:1443
SpeciesReference * createReactant()
Creates a new SpeciesReference, adds it to this Reaction's list of reactants, and returns it.
Definition: Reaction.cpp:955
const Curve * getCurve() const
Returns the curve object for the reaction glyph.
Definition: ReactionGlyph.cpp:447
Definitions of SpeciesReference and ListOfSpeciesReferences.
void setSpeciesReferenceId(const std::string &id)
Sets the id of the associated species reference.
Definition: SpeciesReferenceGlyph.cpp:304
int setConstant(bool value)
Sets the "constant" attribute of this Species object.
Definition: Species.cpp:824
Definition of ReactionGlyph for SBML Layout.
void setBasePoint2(const Point *p)
Initializes second base point with a copy of the given point.
Definition: CubicBezier.cpp:452
@sbmlpackage{core}
Definition: Compartment.h:485
@sbmlpackage{layout}
Definition: SpeciesGlyph.h:60
ReactionGlyph * createReactionGlyph()
Creates a ReactionGlyph object, adds it to the end of the reaction glyph objects list and returns a p...
Definition: Layout.cpp:1412
Definition of LayoutExtension, the core module of layout package.
Definition of Curve for SBML Layout.
int setSpecies(const std::string &sid)
Sets the "species" attribute of this SimpleSpeciesReference.
Definition: SimpleSpeciesReference.cpp:192
Definitions of Species and ListOfSpecies.
@sbmlpackage{layout}
Definition: Layout.h:784
@sbmlpackage{core}
Definition: Model.h:480
virtual int setId(const std::string &sid)
Sets the value of the "id" attribute of this Species.
Definition: Species.cpp:586
virtual int setId(const std::string &sid)
Sets the value of the "id" attribute of this Layout.
Definition: Layout.cpp:449
int setGraphicalObjectId(const std::string &id)
Sets the id of the associated graphical object.
Definition: TextGlyph.cpp:241
Definition of LineSegment for SBML Layout.
virtual const std::string & getId() const
Returns the value of the "id" attribute of this GraphicalObject.
Definition: GraphicalObject.cpp:367
Writes an SBML Document to file or in-memory string.
Definitions of Reaction and ListOfReactions.
@sbmlpackage{layout}
Definition: CompartmentGlyph.h:55
@sbmlpackage{layout}
Definition: BoundingBox.h:59
@sbmlpackage{layout}
Definition: LineSegment.h:64
SpeciesReference * createProduct()
Creates a new SpeciesReference, adds it to this Reaction's list of products, and returns it.
Definition: Reaction.cpp:983
int setReactionId(const std::string &id)
Sets the id of the associated reaction.
Definition: ReactionGlyph.cpp:319
Top-level container for an SBML Model and associated data.
void setStart(const Point *start)
Initializes the start point with a copy of the given Point object.
Definition: LineSegment.cpp:322
virtual int setId(const std::string &sid)
Sets the value of the "id" attribute of this Reaction.
Definition: Reaction.cpp:516
int setOriginOfTextId(const std::string &orig)
Sets the id of the origin of text.
Definition: TextGlyph.cpp:261
void setDimensions(const Dimensions *dimensions)
Sets the dimensions of the layout.
Definition: Layout.cpp:515
Definition of CompartmentGlyph for SBML Layout.
int setConstant(bool flag)
Sets the "constant" attribute of this SpeciesReference to the given boolean flag.
Definition: SpeciesReference.cpp:395
@sbmlpackage{core}
Definition: SBMLNamespaces.h:140
CubicBezier * createCubicBezier()
Creates a new CubicBezier and adds it to the end of the list.
Definition: Curve.cpp:374
int setCompartmentId(const std::string &id)
Sets the id of the associated compartment.
Definition: CompartmentGlyph.cpp:218
SpeciesGlyph * createSpeciesGlyph()
Creates a SpeciesGlyph object, adds it to the end of the species glyph objects list and returns a poi...
Definition: Layout.cpp:1396
int setCompartment(const std::string &sid)
Sets the "compartment" attribute of this Species object.
Definition: Species.cpp:665
virtual const std::string & getId() const
Returns the value of the "id" attribute of this Compartment.
Definition: Compartment.cpp:238
Definition of Dimensions for SBML Layout.
Definitions of Compartment and ListOfCompartments.
@sbmlpackage{layout}
Definition: TextGlyph.h:60
virtual int setId(const std::string &sid)
Sets the value of the "id" attribute of this Model.
Definition: Model.cpp:717
Compartment * createCompartment()
Creates a new Compartment inside this Model and returns it.
Definition: Model.cpp:1563
@sbmlpackage{layout}
Definition: SpeciesReferenceGlyph.h:66
void setBoundingBox(const BoundingBox *bb)
Sets the boundingbox for the GraphicalObject.
Definition: GraphicalObject.cpp:470
@ SPECIES_ROLE_PRODUCT
Definition: SpeciesReferenceRole.h:57
@sbmlpackage{core}
Definition: Species.h:424
virtual const std::string & getId() const
Returns the value of the "id" attribute of this Species.
Definition: Species.cpp:273
#define LIBSBML_CPP_NAMESPACE_USE
Definition: libsbml-namespace.h:67
@sbmlpackage{core}
Definition: SBMLDocument.h:343
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:3460
int setBoundaryCondition(bool value)
Sets the "boundaryCondition" attribute of this Species object.
Definition: Species.cpp:791
int setHasOnlySubstanceUnits(bool value)
Sets the "hasOnlySubstanceUnits" attribute of this Species object.
Definition: Species.cpp:771
int writeSBML(const SBMLDocument_t *d, const char *filename)
Writes the given SBML document d to the file named by filename.