#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");
Species* species1 = model->createSpecies();
species1->
setId(
"Species_1");
Species* species2 = model->createSpecies();
species2->
setId(
"Species_2");
Reaction* reaction1 = model->createReaction();
reaction1->
setId(
"Reaction_1");
reference1->
setId(
"SpeciesReference_1");
reference2->
setId(
"SpeciesReference_2");
Reaction* reaction2 = model->createReaction();
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;
}
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
@sbmlpackage{layout}
Definition: BoundingBox.h:64
@sbmlpackage{layout}
Definition: CompartmentGlyph.h:60
int setCompartmentId(const std::string &id)
Sets the id of the associated compartment.
Definition: CompartmentGlyph.cpp:223
@sbmlpackage{core}
Definition: Compartment.h:490
virtual const std::string & getId() const
Returns the value of the "id" attribute of this Compartment.
Definition: Compartment.cpp:243
int setConstant(bool value)
Sets the value of the "constant" attribute of this Compartment object.
Definition: Compartment.cpp:661
virtual int setId(const std::string &sid)
Sets the value of the "id" attribute of this Compartment object.
Definition: Compartment.cpp:479
@sbmlpackage{layout}
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
@sbmlpackage{layout}
Definition: Curve.h:217
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
@sbmlpackage{layout}
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
@sbmlpackage{layout}
Definition: Layout.h:789
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...
@sbmlpackage{layout}
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
@sbmlpackage{layout}
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
@sbmlpackage{layout}
Definition: Point.h:65
@sbmlpackage{layout}
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
@sbmlpackage{core}
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
int setFast(bool value)
Sets the value of the "fast" attribute of this Reaction.
Definition: Reaction.cpp:612
@sbmlpackage{core}
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:623
int setPkgRequired(const std::string &package, bool flag)
Sets the value of the required attribute for the given package.
Definition: SBMLDocument.cpp:1453
int setModel(const Model *m)
Sets the Model for this SBMLDocument to a copy of the given Model.
Definition: SBMLDocument.cpp:579
@sbmlpackage{core}
Definition: SBMLNamespaces.h:145
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
@sbmlpackage{layout}
Definition: SpeciesGlyph.h:65
void setSpeciesId(const std::string &id)
Sets the id of the associated species object.
Definition: SpeciesGlyph.cpp:206
@sbmlpackage{core}
Definition: Species.h:429
int setCompartment(const std::string &sid)
Sets the "compartment" attribute of this Species object.
Definition: Species.cpp:661
int setConstant(bool value)
Sets the "constant" attribute of this Species object.
Definition: Species.cpp:820
virtual const std::string & getId() const
Returns the value of the "id" attribute of this Species.
Definition: Species.cpp:278
int setBoundaryCondition(bool value)
Sets the "boundaryCondition" attribute of this Species object.
Definition: Species.cpp:787
virtual int setId(const std::string &sid)
Sets the value of the "id" attribute of this Species.
Definition: Species.cpp:591
int setHasOnlySubstanceUnits(bool value)
Sets the "hasOnlySubstanceUnits" attribute of this Species object.
Definition: Species.cpp:767
@sbmlpackage{layout}
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
@sbmlpackage{core}
Definition: SpeciesReference.h:281
int setConstant(bool flag)
Sets the "constant" attribute of this SpeciesReference to the given boolean flag.
Definition: SpeciesReference.cpp:400
@sbmlpackage{layout}
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