Simple example of writing a model that uses the SBML Level 3 Groups package and also the SBML Level 3 Layout package.
Simple example of writing a model that uses the SBML Level 3 Groups package and also the SBML Level 3 Layout package.
LIBSBML_CPP_NAMESPACE_USE
int main(int argc,char** argv){
sbmlns.addPkgNamespace("layout",1);
sbmlns.addPkgNamespace("groups",1);
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");
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);
group->
setId(
"role_substrate");
member->
setIdRef(
"SpeciesReferenceGlyph_1");
member->
setIdRef(
"SpeciesReferenceGlyph_3");
group->
setId(
"role_product");
member->
setIdRef(
"SpeciesReferenceGlyph_2");
member->
setIdRef(
"SpeciesReferenceGlyph_4");
delete document;
}
@ GROUP_KIND_CLASSIFICATION
Definition GroupsExtension.h:405
Definition of GroupsExtensionTypes.
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
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
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
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
CubicBezier * createCubicBezier()
Creates a new CubicBezier and adds it to the end of the list.
Definition Curve.cpp:375
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
Member * createMember()
Creates a new Member object, adds it to this Group object and returns the Member object created.
Definition Group.cpp:444
int setKind(const GroupKind_t kind)
Sets the value of the "kind" attribute of this Group.
Definition Group.cpp:234
virtual int setId(const std::string &id)
Sets the value of the "id" attribute of this Group.
Definition Group.cpp:213
Definition GroupsModelPlugin.h:66
Group * createGroup()
Creates a new Group object, adds it to this GroupsModelPlugin object and returns the Group object cre...
Definition GroupsModelPlugin.cpp:228
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
int setIdRef(const std::string &idRef)
Sets the value of the "idRef" attribute of this Member.
Definition Member.cpp:239
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
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
Definition SBMLDocument.h:351
int setPackageRequired(const std::string &package, bool flag)
Sets the required attribute value of the given package extension.
Definition SBMLDocument.cpp:1420
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
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
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
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
int setConstant(bool flag)
Sets the "constant" attribute of this SpeciesReference to the given boolean flag.
Definition SpeciesReference.cpp:400
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