Layoutof a SBML document.
There are specific interfaces for all entity pool nodes and for all arcs.
The different SBGN objects are represented in the following class hierarchy:
SBGNArc: SBGN arcs, supported:
SBGNNode: SBGN entity pool nodes, supported:
SBGNProcessNode: SBGN process nodes, supported:
LayoutDirector is used to start and direct the
drawing. It uses two components:
LayoutAlgorithm: to determine dimensions and positions of unlayouted elements
LayoutBuilder: to actually produce the graphical representation of the layout
LayoutDirector.buildLayout(org.sbml.jsbml.ext.layout.Layout) builds the
product. This procedure consists of four steps:
LayoutAlgorithmcompletes all missing information.
LayoutAlgorithm. It provides the some features and follows specific conventions not found in any specification:
ReactionGlyphpositioning. The position of the reaction glyph is the center of two defining points: If there are no curves, the two points are the center of the main substrate and the main product. If there are multiple species marked as substrates and/or products, the first substrate/product found is used. If there are curves for the main substrate and/or product the last points of the curves (i.e. the points directly at the reaction glyph) are used.
ReactionGlyphrotation. The rotation of the reaction glyph is determined by the two points used for the positioning. The small extents of the reaction glyph are located on the line determined by the two points. All rotational angles are given in degrees.
ReactionGlyphdimensions. Regardless of desired rotation, the dimensions of a reaction glyph have to be defined as if the reaction glyph would be positioned horizontally, i.e. it has always a greater width than height.
SimpleLayoutAlgorithmprovides the methods
SimpleLayoutAlgorithm.calculateDockingForEllipseSpecies(double, double, double, double, double, double),
SimpleLayoutAlgorithm.calculateDockingForQuadraticSpecies(org.sbml.jsbml.ext.layout.Point, org.sbml.jsbml.ext.layout.SpeciesGlyph, org.sbml.jsbml.ext.layout.Point),
SimpleLayoutAlgorithm.calculateDockingForRoundSpecies(double, double, double, double, double, org.sbml.jsbml.ext.layout.SpeciesReferenceRole).
LayoutDirectorcan read in map of fluxes. This is a special application for the modification of a layout and should not be defined here. The product of
LayoutDirectoris a layout. further modification of the layout should be performed separately.
interface all the different graphical representations for catalysis arcs have to implement
interface all the different graphical representations for consumption arcs have to implement
interface all the different graphical representations for inhibition arcs have to implement
Interface for defining an algorithm to create bounding boxes, dimensions and points missing in the layout.
LayoutBuilder provides methods to build graphical representations for all glyph types.
Interface that defines methods to create and return the different types of nodes and arcs.
Interface for the SBGN specified modulation arc.
Interface for the SBGN specified necessary stimulation arc.
interface all the different graphical representations for production arcs have to implement
Interface for all reversible consumption processes.
interface for the different types of connecting arcs consumption reversible consumption production catalysis inhibition
interface for the different types of entity pool nodes unspecified entity simple chemical macromolecule source/sink
Interface for all SBGN specified process nodes.
Interface for the SBGN specified stimulation arc.
This class creates a SBML layout for a model without layout information.
interface all the different graphical representations for macromolecule nodes have to implement
A currently very preliminary class with inaccurate interpretation of rendering information.
Abstract class that all the different graphical representations for simple chemical nodes have to extend.
Abstract class that all the different graphical representations for the empty set sign have to implement
Abstract class that all the different graphical representations for unspecified entity pool nodes have to implement
Enumeration types (enums) for relative positions.