diff --git a/src/autolayout/libsbmlnetwork_autolayout.cpp b/src/autolayout/libsbmlnetwork_autolayout.cpp index 7dd4b24c..83f5045f 100755 --- a/src/autolayout/libsbmlnetwork_autolayout.cpp +++ b/src/autolayout/libsbmlnetwork_autolayout.cpp @@ -165,33 +165,33 @@ void updateCompartmentExtents(Model *model, Layout *layout) { void updateCompartmentExtents(BoundingBox *compartmentGlyphBoundingBox, BoundingBox *speciesGlyphBoundingBox) { const double padding = getDefaultAutoLayoutPadding(); if (speciesGlyphBoundingBox->x() - padding < compartmentGlyphBoundingBox->x()) { - compartmentGlyphBoundingBox->setWidth(compartmentGlyphBoundingBox->width() + + compartmentGlyphBoundingBox->setWidth(roundToTwoDecimalPlaces(compartmentGlyphBoundingBox->width() + (compartmentGlyphBoundingBox->x() - - (speciesGlyphBoundingBox->x() - padding))); - compartmentGlyphBoundingBox->setX(speciesGlyphBoundingBox->x() - padding); + (speciesGlyphBoundingBox->x() - padding)))); + compartmentGlyphBoundingBox->setX(roundToTwoDecimalPlaces(speciesGlyphBoundingBox->x() - padding)); } if (speciesGlyphBoundingBox->y() - padding < compartmentGlyphBoundingBox->y()) { - compartmentGlyphBoundingBox->setHeight(compartmentGlyphBoundingBox->height() + + compartmentGlyphBoundingBox->setHeight(roundToTwoDecimalPlaces(compartmentGlyphBoundingBox->height() + (compartmentGlyphBoundingBox->y() - - (speciesGlyphBoundingBox->y() - padding))); + (speciesGlyphBoundingBox->y() - padding)))); compartmentGlyphBoundingBox->setY(speciesGlyphBoundingBox->y() - padding); } if (speciesGlyphBoundingBox->x() + speciesGlyphBoundingBox->width() + padding > compartmentGlyphBoundingBox->x() + compartmentGlyphBoundingBox->width()) { - compartmentGlyphBoundingBox->setWidth(compartmentGlyphBoundingBox->width() + compartmentGlyphBoundingBox->setWidth(roundToTwoDecimalPlaces(compartmentGlyphBoundingBox->width() + (speciesGlyphBoundingBox->x() + speciesGlyphBoundingBox->width() + padding) - (compartmentGlyphBoundingBox->x() + - compartmentGlyphBoundingBox->width())); + compartmentGlyphBoundingBox->width()))); } if (speciesGlyphBoundingBox->y() + speciesGlyphBoundingBox->height() + padding > compartmentGlyphBoundingBox->y() + compartmentGlyphBoundingBox->height()) { - compartmentGlyphBoundingBox->setHeight(compartmentGlyphBoundingBox->height() + compartmentGlyphBoundingBox->setHeight(roundToTwoDecimalPlaces(compartmentGlyphBoundingBox->height() + (speciesGlyphBoundingBox->y() + speciesGlyphBoundingBox->height() + padding) - (compartmentGlyphBoundingBox->y() + - compartmentGlyphBoundingBox->height())); + compartmentGlyphBoundingBox->height()))); } } @@ -203,24 +203,24 @@ updateCompartmentExtents(BoundingBox *compartmentGlyphBoundingBox, Curve *reacti double reactionCenterY = 0.5 * (reactionCurve->getCurveSegment(0)->getStart()->y() + reactionCurve->getCurveSegment(0)->getEnd()->y()); if (reactionCenterX - padding < compartmentGlyphBoundingBox->x()) { - compartmentGlyphBoundingBox->setWidth(compartmentGlyphBoundingBox->width() + - (compartmentGlyphBoundingBox->x() - (reactionCenterX - padding))); + compartmentGlyphBoundingBox->setWidth(roundToTwoDecimalPlaces(compartmentGlyphBoundingBox->width() + + (compartmentGlyphBoundingBox->x() - (reactionCenterX - padding)))); compartmentGlyphBoundingBox->setX(reactionCenterX - padding); } if (reactionCenterY - padding < compartmentGlyphBoundingBox->y()) { - compartmentGlyphBoundingBox->setHeight(compartmentGlyphBoundingBox->height() + - (compartmentGlyphBoundingBox->y() - (reactionCenterY - padding))); + compartmentGlyphBoundingBox->setHeight(roundToTwoDecimalPlaces(compartmentGlyphBoundingBox->height() + + (compartmentGlyphBoundingBox->y() - (reactionCenterY - padding)))); compartmentGlyphBoundingBox->setY(reactionCenterY - padding); } if (reactionCenterX + padding > compartmentGlyphBoundingBox->x() + compartmentGlyphBoundingBox->width()) { - compartmentGlyphBoundingBox->setWidth(compartmentGlyphBoundingBox->width() + compartmentGlyphBoundingBox->setWidth(roundToTwoDecimalPlaces(compartmentGlyphBoundingBox->width() + (reactionCenterX + padding) - (compartmentGlyphBoundingBox->x() + - compartmentGlyphBoundingBox->width())); + compartmentGlyphBoundingBox->width()))); } if (reactionCenterY + padding > compartmentGlyphBoundingBox->y() + compartmentGlyphBoundingBox->height()) { - compartmentGlyphBoundingBox->setHeight(compartmentGlyphBoundingBox->height() + compartmentGlyphBoundingBox->setHeight(roundToTwoDecimalPlaces(compartmentGlyphBoundingBox->height() + (reactionCenterY + padding) - (compartmentGlyphBoundingBox->y() + - compartmentGlyphBoundingBox->height())); + compartmentGlyphBoundingBox->height()))); } } @@ -231,13 +231,11 @@ void updateLayoutDimensions(Layout *layout) { layout->getDimensions()->setHeight(0); return; } else { - double minX; - double minY; double maxX; double maxY; - extractExtents(layout, minX, minY, maxX, maxY); - layout->getDimensions()->setWidth(roundToTwoDecimalPlaces(maxX - minX)); - layout->getDimensions()->setHeight(roundToTwoDecimalPlaces(maxY - minY)); + extractExtents(layout, maxX, maxY); + layout->getDimensions()->setWidth(roundToTwoDecimalPlaces(maxX)); + layout->getDimensions()->setHeight(roundToTwoDecimalPlaces(maxY)); } } @@ -269,9 +267,9 @@ const bool autolayoutMayStillConverge(const double &stiffness, const double &gra return false; } -void extractExtents(Layout *layout, double &minX, double &minY, double &maxX, double &maxY) { - minX = INT_MAX; - minY = INT_MAX; +void extractExtents(Layout *layout, double &maxX, double &maxY) { + double minX = INT_MAX; + double minY = INT_MAX; maxX = INT_MIN; maxY = INT_MIN; for (int i = 0; i < layout->getNumCompartmentGlyphs(); i++) diff --git a/src/autolayout/libsbmlnetwork_autolayout.h b/src/autolayout/libsbmlnetwork_autolayout.h index 11ecd075..e5d8357f 100755 --- a/src/autolayout/libsbmlnetwork_autolayout.h +++ b/src/autolayout/libsbmlnetwork_autolayout.h @@ -50,7 +50,7 @@ const bool adjustLayoutDimensions(Layout *layout); const bool autolayoutMayStillConverge(const double &stiffness, const double &gravity); -void extractExtents(Layout* layout, double &minX, double &minY, double &maxX, double &maxY); +void extractExtents(Layout* layout, double &maxX, double &maxY); void extractExtents(BoundingBox* boundingBox, double &minX, double &minY, double &maxX, double &maxY); diff --git a/src/bindings/python/ctypes/libsbmlnetwork.py.cmake b/src/bindings/python/ctypes/libsbmlnetwork.py.cmake index 0c411c21..4ef19031 100644 --- a/src/bindings/python/ctypes/libsbmlnetwork.py.cmake +++ b/src/bindings/python/ctypes/libsbmlnetwork.py.cmake @@ -149,15 +149,19 @@ class LibSBMLNetwork: return lib.c_api_autolayout(self.sbml_object, ctypes.c_int(max_num_connected_edges), self.use_name_as_text_label, reset_locked_nodes, locked_nodes_ptr, len(locked_nodes)) - def autorender(self): + def autorender(self, max_num_connected_edges=3): """ checks if a RenderInformation object does not exists in the SBMLDocument, then adds it to it, and set all the necessary features for it. + :Parameters: + + - max_num_connected_edges (int, optional): an integer (default: 3) that determines the maximum number of connected edges to a node in the autorender algorithm (will set the criteria for creating alias nodes). + :Returns: true on success and false if autorender algorithm was not applied successfully """ - return lib.c_api_autorender(self.sbml_object) + return lib.c_api_autorender(self.sbml_object, ctypes.c_int(max_num_connected_edges)) def align(self, nodes, alignment="center", ignore_locked_nodes=False): """ @@ -323,7 +327,7 @@ class LibSBMLNetwork: true on success and false if the Layout objects could not be removed """ - return lib.c_api_removeAllLayouts(self.sbml_object) + return lib.c_api_removeLayouts(self.sbml_object) def createDefaultLayoutFeatures(self): """ @@ -1008,7 +1012,7 @@ class LibSBMLNetwork: true on success and false if the x-coordinate of the start point of the CurveSegment could not be set """ - return lib.c_api_setSpeciesReferenceCurveSegmentStartPointX(self.sbml_object, str(reaction_id).encode(), x, reaction_glyph_index, species_reference_glyph_index, curve_segment_index, layout_index) + return lib.c_api_setSpeciesReferenceCurveSegmentStartPointX(self.sbml_object, str(reaction_id).encode(), ctypes.c_double(x), reaction_glyph_index, species_reference_glyph_index, curve_segment_index, layout_index) def getSpeciesReferenceCurveSegmentStartPointY(self, reaction_id, reaction_glyph_index=0, species_reference_glyph_index=0, curve_segment_index=0, layout_index=0): """ @@ -1046,7 +1050,7 @@ class LibSBMLNetwork: true on success and false if the y-coordinate of the start point of the CurveSegment could not be set """ - return lib.c_api_setSpeciesReferenceCurveSegmentStartPointY(self.sbml_object, str(reaction_id).encode(), y, reaction_glyph_index, species_reference_glyph_index, curve_segment_index, layout_index) + return lib.c_api_setSpeciesReferenceCurveSegmentStartPointY(self.sbml_object, str(reaction_id).encode(), ctypes.c_double(y), reaction_glyph_index, species_reference_glyph_index, curve_segment_index, layout_index) def getSpeciesReferenceCurveSegmentEndPointX(self, reaction_id, reaction_glyph_index=0, species_reference_glyph_index=0, curve_segment_index=0, layout_index=0): """ @@ -1084,7 +1088,7 @@ class LibSBMLNetwork: true on success and false if the x-coordinate of the end point of the CurveSegment could not be set """ - return lib.c_api_setSpeciesReferenceCurveSegmentEndPointX(self.sbml_object, str(reaction_id).encode(), x, reaction_glyph_index, species_reference_glyph_index, curve_segment_index, layout_index) + return lib.c_api_setSpeciesReferenceCurveSegmentEndPointX(self.sbml_object, str(reaction_id).encode(), ctypes.c_double(x), reaction_glyph_index, species_reference_glyph_index, curve_segment_index, layout_index) def getSpeciesReferenceCurveSegmentEndPointY(self, reaction_id, reaction_glyph_index=0, species_reference_glyph_index=0, curve_segment_index=0, layout_index=0): """ @@ -1122,7 +1126,7 @@ class LibSBMLNetwork: true on success and false if the y-coordinate of the end point of the CurveSegment could not be set """ - return lib.c_api_setSpeciesReferenceCurveSegmentEndPointY(self.sbml_object, str(reaction_id).encode(), y, reaction_glyph_index, species_reference_glyph_index, curve_segment_index, layout_index) + return lib.c_api_setSpeciesReferenceCurveSegmentEndPointY(self.sbml_object, str(reaction_id).encode(), ctypes.c_double(y), reaction_glyph_index, species_reference_glyph_index, curve_segment_index, layout_index) def getSpeciesReferenceCurveSegmentBasePoint1X(self, reaction_id, reaction_glyph_index=0, species_reference_glyph_index=0, curve_segment_index=0, layout_index=0): """ @@ -1160,7 +1164,7 @@ class LibSBMLNetwork: true on success and false if the x-coordinate of the first base point of the CurveSegment could not be set """ - return lib.c_api_setSpeciesReferenceCurveSegmentBasePoint1X(self.sbml_object, str(reaction_id).encode(), x, reaction_glyph_index, species_reference_glyph_index, curve_segment_index, layout_index) + return lib.c_api_setSpeciesReferenceCurveSegmentBasePoint1X(self.sbml_object, str(reaction_id).encode(), ctypes.c_double(x), reaction_glyph_index, species_reference_glyph_index, curve_segment_index, layout_index) def getSpeciesReferenceCurveSegmentBasePoint1Y(self, reaction_id, reaction_glyph_index=0, species_reference_glyph_index=0, curve_segment_index=0, layout_index=0): @@ -1200,7 +1204,7 @@ class LibSBMLNetwork: true on success and false if the y-coordinate of the first base point of the CurveSegment could not be set """ - return lib.c_api_setSpeciesReferenceCurveSegmentBasePoint1Y(self.sbml_object, str(reaction_id).encode(), y, reaction_glyph_index, species_reference_glyph_index, curve_segment_index, layout_index) + return lib.c_api_setSpeciesReferenceCurveSegmentBasePoint1Y(self.sbml_object, str(reaction_id).encode(), ctypes.c_double(y), reaction_glyph_index, species_reference_glyph_index, curve_segment_index, layout_index) def getSpeciesReferenceCurveSegmentBasePoint2X(self, reaction_id, reaction_glyph_index=0, species_reference_glyph_index=0, curve_segment_index=0, layout_index=0): """ @@ -1238,7 +1242,7 @@ class LibSBMLNetwork: true on success and false if the x-coordinate of the second base point of the CurveSegment could not be set """ - return lib.c_api_setSpeciesReferenceCurveSegmentBasePoint2X(self.sbml_object, str(reaction_id).encode(), x, reaction_glyph_index, species_reference_glyph_index, curve_segment_index, layout_index) + return lib.c_api_setSpeciesReferenceCurveSegmentBasePoint2X(self.sbml_object, str(reaction_id).encode(), ctypes.c_double(x), reaction_glyph_index, species_reference_glyph_index, curve_segment_index, layout_index) def getSpeciesReferenceCurveSegmentBasePoint2Y(self, reaction_id, reaction_glyph_index=0, species_reference_glyph_index=0, curve_segment_index=0, layout_index=0): """ @@ -1276,7 +1280,7 @@ class LibSBMLNetwork: true on success and false if the y-coordinate of the second base point of the CurveSegment could not be set """ - return lib.c_api_setSpeciesReferenceCurveSegmentBasePoint2Y(self.sbml_object, str(reaction_id).encode(), y, reaction_glyph_index, species_reference_glyph_index, curve_segment_index, layout_index) + return lib.c_api_setSpeciesReferenceCurveSegmentBasePoint2Y(self.sbml_object, str(reaction_id).encode(), ctypes.c_double(y), reaction_glyph_index, species_reference_glyph_index, curve_segment_index, layout_index) def isSetSpeciesReferenceBorderColor(self, reaction_id, reaction_glyph_index=0, species_reference_glyph_index=0, layout_index=0): """ @@ -3616,6 +3620,59 @@ class LibSBMLNetwork: """ return lib.c_api_setLineEndingBoundingBoxX(self.sbml_object, str(line_ending_id).encode(), ctypes.c_double(x), render_index) + def getSpeciesReferenceLineEndingBoundingBoxX(self, reaction_id, reaction_glyph_index=0, species_reference_glyph_index=0, layout_index=0): + """ + Returns the x-coordinate of the bounding box of the LineEnding object of the SpeciesReference object with the given reaction_id, reaction_glyph_index, species_reference_glyph_index and layout_index in the given SBMLDocument + + :Parameters: + + - reaction_id (string): a string that determines the id of the Reaction object + - reaction_glyph_index (int, optional): an integer (default: 0) that determines the index of the ReactionGlyph object in the given SBMLDocument + - species_reference_glyph_index (int, optional): an integer (default: 0) that determines the index of the SpeciesReferenceGlyph object in the given SBMLDocument + - layout_index (int, optional): an integer (default: 0) that determines the index of the Layout object in the given SBMLDocument + + :Returns: + + a float that determines the x-coordinate of the bounding box of the LineEnding object of the SpeciesReference object with the given reaction_id, reaction_glyph_index, species_reference_glyph_index and layout_index in the given SBMLDocument + """ + lib.c_api_getSpeciesReferenceLineEndingBoundingBoxX.restype = ctypes.c_double + return lib.c_api_getSpeciesReferenceLineEndingBoundingBoxX(self.sbml_object, str(reaction_id).encode(), reaction_glyph_index, species_reference_glyph_index, layout_index) + + def setSpeciesReferenceLineEndingBoundingBoxX(self, reaction_id, x, reaction_glyph_index=0, species_reference_glyph_index=0, layout_index=0): + """ + Sets the x-coordinate of the bounding box of the LineEnding object of the SpeciesReference object with the given reaction_id, reaction_glyph_index, species_reference_glyph_index and layout_index in the given SBMLDocument + + :Parameters: + + - reaction_id (string): a string that determines the id of the Reaction object + - x (float): a float that determines the x-coordinate of the bounding box of the LineEnding object of the SpeciesReference object + - reaction_glyph_index (int, optional): an integer (default: 0) that determines the index of the ReactionGlyph object in the given SBMLDocument + - species_reference_glyph_index (int, optional): an integer (default: 0) that determines the index of the SpeciesReferenceGlyph object in the given SBMLDocument + - layout_index (int, optional): an integer (default: 0) that determines the index of the Layout object in the given SBMLDocument + + :Returns: + + true on success and false if the x-coordinate of the bounding box of the LineEnding object of the SpeciesReference object could not be set + """ + return lib.c_api_setSpeciesReferenceLineEndingBoundingBoxX(self.sbml_object, str(reaction_id).encode(), ctypes.c_double(x), reaction_glyph_index, species_reference_glyph_index, layout_index) + + def setReactionLineEndingBoundingBoxX(self, reaction_id, x, reaction_glyph_index=0, layout_index=0): + """ + Sets the x-coordinate of the bounding box of the LineEnding object of the Reaction object with the given reaction_id, reaction_glyph_index and layout_index in the given SBMLDocument + + :Parameters: + + - reaction_id (string): a string that determines the id of the Reaction object + - x (float): a float that determines the x-coordinate of the bounding box of the LineEnding object of the Reaction object + - reaction_glyph_index (int, optional): an integer (default: 0) that determines the index of the ReactionGlyph object in the given SBMLDocument + - layout_index (int, optional): an integer (default: 0) that determines the index of the Layout object in the given SBMLDocument + + :Returns: + + true on success and false if the x-coordinate of the bounding box of the LineEnding object of the Reaction object could not be set + """ + return lib.c_api_setReactionLineEndingBoundingBoxX(self.sbml_object, str(reaction_id).encode(), ctypes.c_double(x), reaction_glyph_index, layout_index) + def getLineEndingBoundingBoxY(self, line_ending_id, render_index=0): """ Returns the y-coordinate of the bounding box of the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument @@ -3648,6 +3705,59 @@ class LibSBMLNetwork: """ return lib.c_api_setLineEndingBoundingBoxY(self.sbml_object, str(line_ending_id).encode(), ctypes.c_double(y), render_index) + def getSpeciesReferenceLineEndingBoundingBoxY(self, reaction_id, reaction_glyph_index=0, species_reference_glyph_index=0, layout_index=0): + """ + Returns the y-coordinate of the bounding box of the LineEnding object of the SpeciesReference object with the given reaction_id, reaction_glyph_index, species_reference_glyph_index and layout_index in the given SBMLDocument + + :Parameters: + + - reaction_id (string): a string that determines the id of the Reaction object + - reaction_glyph_index (int, optional): an integer (default: 0) that determines the index of the ReactionGlyph object in the given SBMLDocument + - species_reference_glyph_index (int, optional): an integer (default: 0) that determines the index of the SpeciesReferenceGlyph object in the given SBMLDocument + - layout_index (int, optional): an integer (default: 0) that determines the index of the Layout object in the given SBMLDocument + + :Returns: + + a float that determines the y-coordinate of the bounding box of the LineEnding object of the SpeciesReference object with the given reaction_id, reaction_glyph_index, species_reference_glyph_index and layout_index in the given SBMLDocument + """ + lib.c_api_getSpeciesReferenceLineEndingBoundingBoxY.restype = ctypes.c_double + return lib.c_api_getSpeciesReferenceLineEndingBoundingBoxY(self.sbml_object, str(reaction_id).encode(), reaction_glyph_index, species_reference_glyph_index, layout_index) + + def setSpeciesReferenceLineEndingBoundingBoxY(self, reaction_id, y, reaction_glyph_index=0, species_reference_glyph_index=0, layout_index=0): + """ + Sets the y-coordinate of the bounding box of the LineEnding object of the SpeciesReference object with the given reaction_id, reaction_glyph_index, species_reference_glyph_index and layout_index in the given SBMLDocument + + :Parameters: + + - reaction_id (string): a string that determines the id of the Reaction object + - y (float): a float that determines the y-coordinate of the bounding box of the LineEnding object of the SpeciesReference object + - reaction_glyph_index (int, optional): an integer (default: 0) that determines the index of the ReactionGlyph object in the given SBMLDocument + - species_reference_glyph_index (int, optional): an integer (default: 0) that determines the index of the SpeciesReferenceGlyph object in the given SBMLDocument + - layout_index (int, optional): an integer (default: 0) that determines the index of the Layout object in the given SBMLDocument + + :Returns: + + true on success and false if the y-coordinate of the bounding box of the LineEnding object of the SpeciesReference object could not be set + """ + return lib.c_api_setSpeciesReferenceLineEndingBoundingBoxY(self.sbml_object, str(reaction_id).encode(), ctypes.c_double(y), reaction_glyph_index, species_reference_glyph_index, layout_index) + + def setReactionLineEndingBoundingBoxY(self, reaction_id, y, reaction_glyph_index=0, layout_index=0): + """ + Sets the y-coordinate of the bounding box of the LineEnding object of the Reaction object with the given reaction_id, reaction_glyph_index and layout_index in the given SBMLDocument + + :Parameters: + + - reaction_id (string): a string that determines the id of the Reaction object + - y (float): a float that determines the y-coordinate of the bounding box of the LineEnding object of the Reaction object + - reaction_glyph_index (int, optional): an integer (default: 0) that determines the index of the ReactionGlyph object in the given SBMLDocument + - layout_index (int, optional): an integer (default: 0) that determines the index of the Layout object in the given SBMLDocument + + :Returns: + + true on success and false if the y-coordinate of the bounding box of the LineEnding object of the Reaction object could not be set + """ + return lib.c_api_setReactionLineEndingBoundingBoxY(self.sbml_object, str(reaction_id).encode(), ctypes.c_double(y), reaction_glyph_index, layout_index) + def getLineEndingBoundingBoxWidth(self, line_ending_id, render_index=0): """ Returns the width of the bounding box of the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument @@ -3680,6 +3790,59 @@ class LibSBMLNetwork: """ return lib.c_api_setLineEndingBoundingBoxWidth(self.sbml_object, str(line_ending_id).encode(), ctypes.c_double(width), render_index) + def getSpeciesReferenceLineEndingBoundingBoxWidth(self, reaction_id, reaction_glyph_index=0, species_reference_glyph_index=0, layout_index=0): + """ + Returns the width of the bounding box of the LineEnding object of the SpeciesReference object with the given reaction_id, reaction_glyph_index, species_reference_glyph_index and layout_index in the given SBMLDocument + + :Parameters: + + - reaction_id (string): a string that determines the id of the Reaction object + - reaction_glyph_index (int, optional): an integer (default: 0) that determines the index of the ReactionGlyph object in the given SBMLDocument + - species_reference_glyph_index (int, optional): an integer (default: 0) that determines the index of the SpeciesReferenceGlyph object in the given SBMLDocument + - layout_index (int, optional): an integer (default: 0) that determines the index of the Layout object in the given SBMLDocument + + :Returns: + + a float that determines the width of the bounding box of the LineEnding object of the SpeciesReference object with the given reaction_id, reaction_glyph_index, species_reference_glyph_index and layout_index in the given SBMLDocument + """ + lib.c_api_getSpeciesReferenceLineEndingBoundingBoxWidth.restype = ctypes.c_double + return lib.c_api_getSpeciesReferenceLineEndingBoundingBoxWidth(self.sbml_object, str(reaction_id).encode(), reaction_glyph_index, species_reference_glyph_index, layout_index) + + def setSpeciesReferenceLineEndingBoundingBoxWidth(self, reaction_id, width, reaction_glyph_index=0, species_reference_glyph_index=0, layout_index=0): + """ + Sets the width of the bounding box of the LineEnding object of the SpeciesReference object with the given reaction_id, reaction_glyph_index, species_reference_glyph_index and layout_index in the given SBMLDocument + + :Parameters: + + - reaction_id (string): a string that determines the id of the Reaction object + - width (float): a float that determines the width of the bounding box of the LineEnding object of the SpeciesReference object + - reaction_glyph_index (int, optional): an integer (default: 0) that determines the index of the ReactionGlyph object in the given SBMLDocument + - species_reference_glyph_index (int, optional): an integer (default: 0) that determines the index of the SpeciesReferenceGlyph object in the given SBMLDocument + - layout_index (int, optional): an integer (default: 0) that determines the index of the Layout object in the given SBMLDocument + + :Returns: + + true on success and false if the width of the bounding box of the LineEnding object of the SpeciesReference object could not be set + """ + return lib.c_api_setSpeciesReferenceLineEndingBoundingBoxWidth(self.sbml_object, str(reaction_id).encode(), ctypes.c_double(width), reaction_glyph_index, species_reference_glyph_index, layout_index) + + def setReactionLineEndingBoundingBoxWidth(self, reaction_id, width, reaction_glyph_index=0, layout_index=0): + """ + Sets the width of the bounding box of the LineEnding object of the Reaction object with the given reaction_id, reaction_glyph_index and layout_index in the given SBMLDocument + + :Parameters: + + - reaction_id (string): a string that determines the id of the Reaction object + - width (float): a float that determines the width of the bounding box of the LineEnding object of the Reaction object + - reaction_glyph_index (int, optional): an integer (default: 0) that determines the index of the ReactionGlyph object in the given SBMLDocument + - layout_index (int, optional): an integer (default: 0) that determines the index of the Layout object in the given SBMLDocument + + :Returns: + + true on success and false if the width of the bounding box of the LineEnding object of the Reaction object could not be set + """ + return lib.c_api_setReactionLineEndingBoundingBoxWidth(self.sbml_object, str(reaction_id).encode(), ctypes.c_double(width), reaction_glyph_index, layout_index) + def getLineEndingBoundingBoxHeight(self, line_ending_id, render_index=0): """ Returns the height of the bounding box of the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument @@ -3712,6 +3875,59 @@ class LibSBMLNetwork: """ return lib.c_api_setLineEndingBoundingBoxHeight(self.sbml_object, str(line_ending_id).encode(), ctypes.c_double(height), render_index) + def getSpeciesReferenceLineEndingBoundingBoxHeight(self, reaction_id, reaction_glyph_index=0, species_reference_glyph_index=0, layout_index=0): + """ + Returns the height of the bounding box of the LineEnding object of the SpeciesReference object with the given reaction_id, reaction_glyph_index, species_reference_glyph_index and layout_index in the given SBMLDocument + + :Parameters: + + - reaction_id (string): a string that determines the id of the Reaction object + - reaction_glyph_index (int, optional): an integer (default: 0) that determines the index of the ReactionGlyph object in the given SBMLDocument + - species_reference_glyph_index (int, optional): an integer (default: 0) that determines the index of the SpeciesReferenceGlyph object in the given SBMLDocument + - layout_index (int, optional): an integer (default: 0) that determines the index of the Layout object in the given SBMLDocument + + :Returns: + + a float that determines the height of the bounding box of the LineEnding object of the SpeciesReference object with the given reaction_id, reaction_glyph_index, species_reference_glyph_index and layout_index in the given SBMLDocument + """ + lib.c_api_getSpeciesReferenceLineEndingBoundingBoxHeight.restype = ctypes.c_double + return lib.c_api_getSpeciesReferenceLineEndingBoundingBoxHeight(self.sbml_object, str(reaction_id).encode(), reaction_glyph_index, species_reference_glyph_index, layout_index) + + def setSpeciesReferenceLineEndingBoundingBoxHeight(self, reaction_id, height, reaction_glyph_index=0, species_reference_glyph_index=0, layout_index=0): + """ + Sets the height of the bounding box of the LineEnding object of the SpeciesReference object with the given reaction_id, reaction_glyph_index, species_reference_glyph_index and layout_index in the given SBMLDocument + + :Parameters: + + - reaction_id (string): a string that determines the id of the Reaction object + - height (float): a float that determines the height of the bounding box of the LineEnding object of the SpeciesReference object + - reaction_glyph_index (int, optional): an integer (default: 0) that determines the index of the ReactionGlyph object in the given SBMLDocument + - species_reference_glyph_index (int, optional): an integer (default: 0) that determines the index of the SpeciesReferenceGlyph object in the given SBMLDocument + - layout_index (int, optional): an integer (default: 0) that determines the index of the Layout object in the given SBMLDocument + + :Returns: + + true on success and false if the height of the bounding box of the LineEnding object of the SpeciesReference object could not be set + """ + return lib.c_api_setSpeciesReferenceLineEndingBoundingBoxHeight(self.sbml_object, str(reaction_id).encode(), ctypes.c_double(height), reaction_glyph_index, species_reference_glyph_index, layout_index) + + def setReactionLineEndingBoundingBoxHeight(self, reaction_id, height, reaction_glyph_index=0, layout_index=0): + """ + Sets the height of the bounding box of the LineEnding object of the Reaction object with the given reaction_id, reaction_glyph_index and layout_index in the given SBMLDocument + + :Parameters: + + - reaction_id (string): a string that determines the id of the Reaction object + - height (float): a float that determines the height of the bounding box of the LineEnding object of the Reaction object + - reaction_glyph_index (int, optional): an integer (default: 0) that determines the index of the ReactionGlyph object in the given SBMLDocument + - layout_index (int, optional): an integer (default: 0) that determines the index of the Layout object in the given SBMLDocument + + :Returns: + + true on success and false if the height of the bounding box of the LineEnding object of the Reaction object could not be set + """ + return lib.c_api_setReactionLineEndingBoundingBoxHeight(self.sbml_object, str(reaction_id).encode(), ctypes.c_double(height), reaction_glyph_index, layout_index) + def isSetLineEndingBorderColor(self, line_ending_id, render_index=0): """ Returns whether the border color of the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument is set @@ -3759,6 +3975,76 @@ class LibSBMLNetwork: """ return lib.c_api_setLineEndingBorderColor(self.sbml_object, str(line_ending_id).encode(), str(border_color).encode(), render_index) + def isSetSpeciesReferenceLineEndingBorderColor(self, reaction_id, reaction_glyph_index=0, species_reference_glyph_index=0, layout_index=0): + """ + Returns whether the border color of the LineEnding object of the SpeciesReference object with the given reaction_id, reaction_glyph_index, species_reference_glyph_index and layout_index in the given SBMLDocument is set + + :Parameters: + + - reaction_id (string): a string that determines the id of the Reaction object + - reaction_glyph_index (int, optional): an integer (default: 0) that determines the index of the ReactionGlyph object in the given SBMLDocument + - species_reference_glyph_index (int, optional): an integer (default: 0) that determines the index of the SpeciesReferenceGlyph object in the given SBMLDocument + - layout_index (int, optional): an integer (default: 0) that determines the index of the Layout object in the given SBMLDocument + + :Returns: + + true if the border color of the LineEnding object of the SpeciesReference object with the given reaction_id, reaction_glyph_index, species_reference_glyph_index and layout_index in the given SBMLDocument is set and false otherwise + """ + return lib.c_api_isSetSpeciesReferenceLineEndingBorderColor(self.sbml_object, str(reaction_id).encode(), reaction_glyph_index, species_reference_glyph_index, layout_index) + + def getSpeciesReferenceLineEndingBorderColor(self, reaction_id, reaction_glyph_index=0, species_reference_glyph_index=0, layout_index=0): + """ + Returns the border color of the LineEnding object of the SpeciesReference object with the given reaction_id, reaction_glyph_index, species_reference_glyph_index and layout_index in the given SBMLDocument + + :Parameters: + + - reaction_id (string): a string that determines the id of the Reaction object + - reaction_glyph_index (int, optional): an integer (default: 0) that determines the index of the ReactionGlyph object in the given SBMLDocument + - species_reference_glyph_index (int, optional): an integer (default: 0) that determines the index of the SpeciesReferenceGlyph object in the given SBMLDocument + - layout_index (int, optional): an integer (default: 0) that determines the index of the Layout object in the given SBMLDocument + + :Returns: + + a string that determines the border color of the LineEnding object of the SpeciesReference object with the given reaction_id, reaction_glyph_index, species_reference_glyph_index and layout_index in the given SBMLDocument + """ + lib.c_api_getSpeciesReferenceLineEndingBorderColor.restype = ctypes.c_char_p + return ctypes.c_char_p(lib.c_api_getSpeciesReferenceLineEndingBorderColor(self.sbml_object, str(reaction_id).encode(), reaction_glyph_index, species_reference_glyph_index, layout_index)).value.decode() + + def setSpeciesReferenceLineEndingBorderColor(self, reaction_id, border_color, reaction_glyph_index=0, species_reference_glyph_index=0, layout_index=0): + """ + Sets the border color of the LineEnding object of the SpeciesReference object with the given reaction_id, reaction_glyph_index, species_reference_glyph_index and layout_index in the given SBMLDocument + + :Parameters: + + - reaction_id (string): a string that determines the id of the Reaction object + - border_color (string): a string that determines the border color of the LineEnding object of the SpeciesReference object + - reaction_glyph_index (int, optional): an integer (default: 0) that determines the index of the ReactionGlyph object in the given SBMLDocument + - species_reference_glyph_index (int, optional): an integer (default: 0) that determines the index of the SpeciesReferenceGlyph object in the given SBMLDocument + - layout_index (int, optional): an integer (default: 0) that determines the index of the Layout object in the given SBMLDocument + + :Returns: + + true on success and false if the border color of the LineEnding object of the SpeciesReference object could not be set + """ + return lib.c_api_setSpeciesReferenceLineEndingBorderColor(self.sbml_object, str(reaction_id).encode(), str(border_color).encode(), reaction_glyph_index, species_reference_glyph_index, layout_index) + + def setReactionLineEndingBorderColor(self, reaction_id, border_color, reaction_glyph_index=0, layout_index=0): + """ + Sets the border color of the LineEnding object of the Reaction object with the given reaction_id, reaction_glyph_index and layout_index in the given SBMLDocument + + :Parameters: + + - reaction_id (string): a string that determines the id of the Reaction object + - border_color (string): a string that determines the border color of the LineEnding object of the Reaction object + - reaction_glyph_index (int, optional): an integer (default: 0) that determines the index of the ReactionGlyph object in the given SBMLDocument + - layout_index (int, optional): an integer (default: 0) that determines the index of the Layout object in the given SBMLDocument + + :Returns: + + true on success and false if the border color of the LineEnding object of the Reaction object could not be set + """ + return lib.c_api_setReactionLineEndingBorderColor(self.sbml_object, str(reaction_id).encode(), str(border_color).encode(), reaction_glyph_index, layout_index) + def isSetLineEndingBorderWidth(self, line_ending_id, render_index=0): """ Returns whether the border width of the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument is set @@ -3806,6 +4092,76 @@ class LibSBMLNetwork: """ return lib.c_api_setLineEndingBorderWidth(self.sbml_object, str(line_ending_id).encode(), ctypes.c_double(border_width), render_index) + def isSetSpeciesReferenceLineEndingBorderWidth(self, reaction_id, reaction_glyph_index=0, species_reference_glyph_index=0, layout_index=0): + """ + Returns whether the border width of the LineEnding object of the SpeciesReference object with the given reaction_id, reaction_glyph_index, species_reference_glyph_index and layout_index in the given SBMLDocument is set + + :Parameters: + + - reaction_id (string): a string that determines the id of the Reaction object + - reaction_glyph_index (int, optional): an integer (default: 0) that determines the index of the ReactionGlyph object in the given SBMLDocument + - species_reference_glyph_index (int, optional): an integer (default: 0) that determines the index of the SpeciesReferenceGlyph object in the given SBMLDocument + - layout_index (int, optional): an integer (default: 0) that determines the index of the Layout object in the given SBMLDocument + + :Returns: + + true if the border width of the LineEnding object of the SpeciesReference object with the given reaction_id, reaction_glyph_index, species_reference_glyph_index and layout_index in the given SBMLDocument is set and false otherwise + """ + return lib.c_api_isSetSpeciesReferenceLineEndingBorderWidth(self.sbml_object, str(reaction_id).encode(), reaction_glyph_index, species_reference_glyph_index, layout_index) + + def getSpeciesReferenceLineEndingBorderWidth(self, reaction_id, reaction_glyph_index=0, species_reference_glyph_index=0, layout_index=0): + """ + Returns the border width of the LineEnding object of the SpeciesReference object with the given reaction_id, reaction_glyph_index, species_reference_glyph_index and layout_index in the given SBMLDocument + + :Parameters: + + - reaction_id (string): a string that determines the id of the Reaction object + - reaction_glyph_index (int, optional): an integer (default: 0) that determines the index of the ReactionGlyph object in the given SBMLDocument + - species_reference_glyph_index (int, optional): an integer (default: 0) that determines the index of the SpeciesReferenceGlyph object in the given SBMLDocument + - layout_index (int, optional): an integer (default: 0) that determines the index of the Layout object in the given SBMLDocument + + :Returns: + + a float that determines the border width of the LineEnding object of the SpeciesReference object with the given reaction_id, reaction_glyph_index, species_reference_glyph_index and layout_index in the given SBMLDocument + """ + lib.c_api_getSpeciesReferenceLineEndingBorderWidth.restype = ctypes.c_double + return lib.c_api_getSpeciesReferenceLineEndingBorderWidth(self.sbml_object, str(reaction_id).encode(), reaction_glyph_index, species_reference_glyph_index, layout_index) + + def setSpeciesReferenceLineEndingBorderWidth(self, reaction_id, border_width, reaction_glyph_index=0, species_reference_glyph_index=0, layout_index=0): + """ + Sets the border width of the LineEnding object of the SpeciesReference object with the given reaction_id, reaction_glyph_index, species_reference_glyph_index and layout_index in the given SBMLDocument + + :Parameters: + + - reaction_id (string): a string that determines the id of the Reaction object + - border_width (float): a float that determines the border width of the LineEnding object of the SpeciesReference object + - reaction_glyph_index (int, optional): an integer (default: 0) that determines the index of the ReactionGlyph object in the given SBMLDocument + - species_reference_glyph_index (int, optional): an integer (default: 0) that determines the index of the SpeciesReferenceGlyph object in the given SBMLDocument + - layout_index (int, optional): an integer (default: 0) that determines the index of the Layout object in the given SBMLDocument + + :Returns: + + true on success and false if the border width of the LineEnding object of the SpeciesReference object could not be set + """ + return lib.c_api_setSpeciesReferenceLineEndingBorderWidth(self.sbml_object, str(reaction_id).encode(), ctypes.c_double(border_width), reaction_glyph_index, species_reference_glyph_index, layout_index) + + def setReactionLineEndingBorderWidth(self, reaction_id, border_width, reaction_glyph_index=0, layout_index=0): + """ + Sets the border width of the LineEnding object of the Reaction object with the given reaction_id, reaction_glyph_index and layout_index in the given SBMLDocument + + :Parameters: + + - reaction_id (string): a string that determines the id of the Reaction object + - border_width (float): a float that determines the border width of the LineEnding object of the Reaction object + - reaction_glyph_index (int, optional): an integer (default: 0) that determines the index of the ReactionGlyph object in the given SBMLDocument + - layout_index (int, optional): an integer (default: 0) that determines the index of the Layout object in the given SBMLDocument + + :Returns: + + true on success and false if the border width of the LineEnding object of the Reaction object could not be set + """ + return lib.c_api_setReactionLineEndingBorderWidth(self.sbml_object, str(reaction_id).encode(), ctypes.c_double(border_width), reaction_glyph_index, layout_index) + def getNumLineEndingBorderDashes(self, line_ending_id, render_index=0): """ Returns the number of border dashes of the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument @@ -3855,6 +4211,78 @@ class LibSBMLNetwork: """ return lib.c_api_setLineEndingNthBorderDash(self.sbml_object, str(line_ending_id).encode(), index, border_dash, render_index) + def getNumSpeciesReferenceLineEndingBorderDashes(self, reaction_id, reaction_glyph_index=0, species_reference_glyph_index=0, layout_index=0): + """ + Returns the number of border dashes of the LineEnding object of the SpeciesReference object with the given reaction_id, reaction_glyph_index, species_reference_glyph_index and layout_index in the given SBMLDocument + + :Parameters: + + - reaction_id (string): a string that determines the id of the Reaction object + - reaction_glyph_index (int, optional): an integer (default: 0) that determines the index of the ReactionGlyph object in the given SBMLDocument + - species_reference_glyph_index (int, optional): an integer (default: 0) that determines the index of the SpeciesReferenceGlyph object in the given SBMLDocument + - layout_index (int, optional): an integer (default: 0) that determines the index of the Layout object in the given SBMLDocument + + :Returns: + + an integer that determines the number of border dashes of the LineEnding object of the SpeciesReference object with the given reaction_id, reaction_glyph_index, species_reference_glyph_index and layout_index in the given SBMLDocument + """ + return lib.c_api_getNumSpeciesReferenceLineEndingBorderDashes(self.sbml_object, str(reaction_id).encode(), reaction_glyph_index, species_reference_glyph_index, layout_index) + + def getSpeciesReferenceLineEndingNthBorderDash(self, reaction_id, index, reaction_glyph_index=0, species_reference_glyph_index=0, layout_index=0): + """ + Returns the border dash with the given index of the LineEnding object of the SpeciesReference object with the given reaction_id, reaction_glyph_index, species_reference_glyph_index and layout_index in the given SBMLDocument + + :Parameters: + + - reaction_id (string): a string that determines the id of the Reaction object + - index (int): an integer that determines the index of the border dash in the LineEnding object of the SpeciesReference object + - reaction_glyph_index (int, optional): an integer (default: 0) that determines the index of the ReactionGlyph object in the given SBMLDocument + - species_reference_glyph_index (int, optional): an integer (default: 0) that determines the index of the SpeciesReferenceGlyph object in the given SBMLDocument + - layout_index (int, optional): an integer (default: 0) that determines the index of the Layout object in the given SBMLDocument + + :Returns: + + an integer that determines the border dash with the given index of the LineEnding object of the SpeciesReference object with the given reaction_id, reaction_glyph_index, species_reference_glyph_index and layout_index in the given SBMLDocument + """ + return lib.c_api_getSpeciesReferenceLineEndingNthBorderDash(self.sbml_object, str(reaction_id).encode(), index, reaction_glyph_index, species_reference_glyph_index, layout_index) + + def setSpeciesReferenceLineEndingNthBorderDash(self, reaction_id, index, border_dash, reaction_glyph_index=0, species_reference_glyph_index=0, layout_index=0): + """ + Sets the border dash with the given index of the LineEnding object of the SpeciesReference object with the given reaction_id, reaction_glyph_index, species_reference_glyph_index and layout_index in the given SBMLDocument + + :Parameters: + + - reaction_id (string): a string that determines the id of the Reaction object + - index (int): an integer that determines the index of the border dash in the LineEnding object of the SpeciesReference object + - border_dash (int): an integer that determines the border dash of the LineEnding object of the SpeciesReference object + - reaction_glyph_index (int, optional): an integer (default: 0) that determines the index of the ReactionGlyph object in the given SBMLDocument + - species_reference_glyph_index (int, optional): an integer (default: 0) that determines the index of the SpeciesReferenceGlyph object in the given SBMLDocument + - layout_index (int, optional): an integer (default: 0) that determines the index of the Layout object in the given SBMLDocument + + :Returns: + + true on success and false if the border dash of the LineEnding object of the SpeciesReference object could not be set + """ + return lib.c_api_setSpeciesReferenceLineEndingNthBorderDash(self.sbml_object, str(reaction_id).encode(), index, border_dash, reaction_glyph_index, species_reference_glyph_index, layout_index) + + def setReactionLineEndingNthBorderDash(self, reaction_id, index, border_dash, reaction_glyph_index=0, layout_index=0): + """ + Sets the border dash with the given index of the LineEnding object of the Reaction object with the given reaction_id, reaction_glyph_index and layout_index in the given SBMLDocument + + :Parameters: + + - reaction_id (string): a string that determines the id of the Reaction object + - index (int): an integer that determines the index of the border dash in the LineEnding object of the Reaction object + - border_dash (int): an integer that determines the border dash of the LineEnding object of the Reaction object + - reaction_glyph_index (int, optional): an integer (default: 0) that determines the index of the ReactionGlyph object in the given SBMLDocument + - layout_index (int, optional): an integer (default: 0) that determines the index of the Layout object in the given SBMLDocument + + :Returns: + + true on success and false if the border dash of the LineEnding object of the Reaction object could not be set + """ + return lib.c_api_setReactionLineEndingNthBorderDash(self.sbml_object, str(reaction_id).encode(), index, border_dash, reaction_glyph_index, layout_index) + def isSetLineEndingFillColor(self, line_ending_id, render_index=0): """ Returns whether the fill color of the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument is set @@ -3902,267 +4330,285 @@ class LibSBMLNetwork: """ return lib.c_api_setLineEndingFillColor(self.sbml_object, str(line_ending_id).encode(), str(fill_color).encode(), render_index) - def isSetLineEndingFillRule(self, line_ending_id, render_index=0): + def setLineEndingFillColorAsGradient(self, line_ending_id, stop_colors = [], stop_offsets = [], gradient_type = "linear", render_index = 0): """ - Returns whether the fill rule of the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument is set + Sets the fill color of the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument as a gradient :Parameters: - line_ending_id (string): a string that determines the id of the LineEnding object + - stop_colors (list): a list of strings that determines the stop colors of the gradient + - stop_offsets (list): a list of floats that determines the stop offsets of the gradient + - gradient_type (string, optional): a string that determines the type of the gradient (default: "linear") - render_index (int, optional): an integer (default: 0) that determines the index of the RenderInformation object in the given SBMLDocument :Returns: - true if the fill rule of the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument is set and false otherwise + true on success and false if the fill color of the LineEnding object could not be set """ - return lib.c_api_isSetLineEndingFillRule(self.sbml_object, str(line_ending_id).encode(), render_index) + return lib.c_api_setLineEndingFillColorAsGradient(self.sbml_object, str(line_ending_id).encode(), (ctypes.c_char_p * len(stop_colors))(*[str(color).encode() for color in stop_colors]), (ctypes.c_double * len(stop_offsets))(*stop_offsets), len(stop_colors), str(gradient_type).encode(), render_index) - def getLineEndingFillRule(self, line_ending_id, render_index=0): + def isSetSpeciesReferenceLineEndingFillColor(self, reaction_id, reaction_glyph_index=0, species_reference_glyph_index=0, layout_index=0): """ - Returns the fill rule of the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument + Returns whether the fill color of the LineEnding object of the SpeciesReference object with the given reaction_id, reaction_glyph_index, species_reference_glyph_index and layout_index in the given SBMLDocument is set :Parameters: - - line_ending_id (string): a string that determines the id of the LineEnding object - - render_index (int, optional): an integer (default: 0) that determines the index of the RenderInformation object in the given SBMLDocument + - reaction_id (string): a string that determines the id of the Reaction object + - reaction_glyph_index (int, optional): an integer (default: 0) that determines the index of the ReactionGlyph object in the given SBMLDocument + - species_reference_glyph_index (int, optional): an integer (default: 0) that determines the index of the SpeciesReferenceGlyph object in the given SBMLDocument + - layout_index (int, optional): an integer (default: 0) that determines the index of the Layout object in the given SBMLDocument :Returns: - a string that determines the fill rule of the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument + true if the fill color of the LineEnding object of the SpeciesReference object with the given reaction_id, reaction_glyph_index, species_reference_glyph_index and layout_index in the given SBMLDocument is set and false otherwise """ - lib.c_api_getLineEndingFillRule.restype = ctypes.c_char_p - return ctypes.c_char_p(lib.c_api_getLineEndingFillRule(self.sbml_object, str(line_ending_id).encode(), render_index)).value.decode() + return lib.c_api_isSetSpeciesReferenceLineEndingFillColor(self.sbml_object, str(reaction_id).encode(), reaction_glyph_index, species_reference_glyph_index, layout_index) - def setLineEndingFillRule(self, line_ending_id, fill_rule, render_index=0): + def getSpeciesReferenceLineEndingFillColor(self, reaction_id, reaction_glyph_index=0, species_reference_glyph_index=0, layout_index=0): """ - Sets the fill rule of the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument + Returns the fill color of the LineEnding object of the SpeciesReference object with the given reaction_id, reaction_glyph_index, species_reference_glyph_index and layout_index in the given SBMLDocument :Parameters: - - line_ending_id (string): a string that determines the id of the LineEnding object - - fill_rule (string): a string that determines the fill rule of the LineEnding object - - render_index (int, optional): an integer (default: 0) that determines the index of the RenderInformation object in the given SBMLDocument + - reaction_id (string): a string that determines the id of the Reaction object + - reaction_glyph_index (int, optional): an integer (default: 0) that determines the index of the ReactionGlyph object in the given SBMLDocument + - species_reference_glyph_index (int, optional): an integer (default: 0) that determines the index of the SpeciesReferenceGlyph object in the given SBMLDocument + - layout_index (int, optional): an integer (default: 0) that determines the index of the Layout object in the given SBMLDocument :Returns: - true on success and false if the fill rule of the LineEnding object could not be set + a string that determines the fill color of the LineEnding object of the SpeciesReference object with the given reaction_id, reaction_glyph_index, species_reference_glyph_index and layout_index in the given SBMLDocument """ - return lib.c_api_setLineEndingFillRule(self.sbml_object, str(line_ending_id).encode(), str(fill_rule).encode(), render_index) + lib.c_api_getSpeciesReferenceLineEndingFillColor.restype = ctypes.c_char_p + return ctypes.c_char_p(lib.c_api_getSpeciesReferenceLineEndingFillColor(self.sbml_object, str(reaction_id).encode(), reaction_glyph_index, species_reference_glyph_index, layout_index)).value.decode() - def getNumLineEndingGeometricShapes(self, line_ending_id, render_index=0): + def setSpeciesReferenceLineEndingFillColor(self, reaction_id, fill_color, reaction_glyph_index=0, species_reference_glyph_index=0, layout_index=0): """ - Returns the number of GeometricShape objects in the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument + Sets the fill color of the LineEnding object of the SpeciesReference object with the given reaction_id, reaction_glyph_index, species_reference_glyph_index and layout_index in the given SBMLDocument :Parameters: - - line_ending_id (string): a string that determines the id of the LineEnding object - - render_index (int, optional): an integer (default: 0) that determines the index of the RenderInformation object in the given SBMLDocument + - reaction_id (string): a string that determines the id of the Reaction object + - fill_color (string): a string that determines the fill color of the LineEnding object of the SpeciesReference object + - reaction_glyph_index (int, optional): an integer (default: 0) that determines the index of the ReactionGlyph object in the given SBMLDocument + - species_reference_glyph_index (int, optional): an integer (default: 0) that determines the index of the SpeciesReferenceGlyph object in the given SBMLDocument + - layout_index (int, optional): an integer (default: 0) that determines the index of the Layout object in the given SBMLDocument :Returns: - an integer that determines the number of GeometricShape objects in the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument + true on success and false if the fill color of the LineEnding object of the SpeciesReference object could not be set """ - return lib.c_api_getNumLineEndingGeometricShapes(self.sbml_object, str(line_ending_id).encode(), render_index) + return lib.c_api_setSpeciesReferenceLineEndingFillColor(self.sbml_object, str(reaction_id).encode(), str(fill_color).encode(), reaction_glyph_index, species_reference_glyph_index, layout_index) - def isLineEndingRectangle(self, line_ending_id, index=0, render_index=0): + def setSpeciesReferenceLineEndingFillColorAsGradient(self, reaction_id, stop_colors = [], stop_offsets = [], gradient_type = "linear", reaction_glyph_index=0, species_reference_glyph_index=0, layout_index=0): """ - Returns whether the GeometricShape object with the given index in the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument is a rectangle + Sets the fill color of the LineEnding object of the SpeciesReference object with the given reaction_id, reaction_glyph_index, species_reference_glyph_index and layout_index in the given SBMLDocument as a gradient - :Parameters: + :Parameters - - line_ending_id (string): a string that determines the id of the LineEnding object - - render_index (int, optional): an integer (default: 0) that determines the index of the RenderInformation object in the given SBMLDocument - - index (int, optional): an integer (default: 0) that determines the index of the GeometricShape object in the LineEnding object + - reaction_id (string): a string that determines the id of the Reaction object + - stop_colors (list): a list of strings that determines the stop colors of the gradient + - stop_offsets (list): a list of floats that determines the stop offsets of the gradient + - gradient_type (string, optional): a string that determines the type of the gradient (default: "linear") + - reaction_glyph_index (int, optional): an integer (default: 0) that determines the index of the ReactionGlyph object in the given SBMLDocument + - species_reference_glyph_index (int, optional): an integer (default: 0) that determines the index of the SpeciesReferenceGlyph object in the given SBMLDocument + - layout_index (int, optional): an integer (default: 0) that determines the index of the Layout object in the given SBMLDocument :Returns: - true if the GeometricShape object with the given index in the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument is a rectangle and false otherwise + true on success and false if the fill color of the LineEnding object of the SpeciesReference object could not be set """ - return lib.c_api_isLineEndingRectangle(self.sbml_object, str(line_ending_id).encode(), index, render_index) + return lib.c_api_setSpeciesReferenceLineEndingFillColorAsGradient(self.sbml_object, str(reaction_id).encode(), (ctypes.c_char_p * len(stop_colors))(*[str(color).encode() for color in stop_colors]), (ctypes.c_double * len(stop_offsets))(*stop_offsets), len(stop_colors), str(gradient_type).encode(), reaction_glyph_index, species_reference_glyph_index, layout_index) - def isLineEndingEllipse(self, line_ending_id, index=0, render_index=0): + def setReactionLineEndingFillColor(self, reaction_id, fill_color, reaction_glyph_index=0, layout_index=0): """ - Returns whether the GeometricShape object with the given index in the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument is an ellipse + Sets the fill color of the LineEnding object of the Reaction object with the given reaction_id, reaction_glyph_index and layout_index in the given SBMLDocument :Parameters: - - line_ending_id (string): a string that determines the id of the LineEnding object - - render_index (int, optional): an integer (default: 0) that determines the index of the RenderInformation object in the given SBMLDocument - - index (int, optional): an integer (default: 0) that determines the index of the GeometricShape object in the LineEnding object + - reaction_id (string): a string that determines the id of the Reaction object + - fill_color (string): a string that determines the fill color of the LineEnding object of the Reaction object + - reaction_glyph_index (int, optional): an integer (default: 0) that determines the index of the ReactionGlyph object in the given SBMLDocument + - layout_index (int, optional): an integer (default: 0) that determines the index of the Layout object in the given SBMLDocument :Returns: - true if the GeometricShape object with the given index in the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument is an ellipse and false otherwise + true on success and false if the fill color of the LineEnding object of the Reaction object could not be set """ - return lib.c_api_isLineEndingEllipse(self.sbml_object, str(line_ending_id).encode(), index, render_index) + return lib.c_api_setReactionLineEndingFillColor(self.sbml_object, str(reaction_id).encode(), str(fill_color).encode(), reaction_glyph_index, layout_index) - def isLineEndingPolygon(self, line_ending_id, index=0, render_index=0): + def setReactionLineEndingFillColorAsGradient(self, reaction_id, stop_colors = [], stop_offsets = [], gradient_type = "linear", reaction_glyph_index=0, layout_index=0): """ - Returns whether the GeometricShape object with the given index in the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument is a polygon + Sets the fill color of the LineEnding object of the Reaction object with the given reaction_id, reaction_glyph_index and layout_index in the given SBMLDocument as a gradient :Parameters: - - line_ending_id (string): a string that determines the id of the LineEnding object - - render_index (int, optional): an integer (default: 0) that determines the index of the RenderInformation object in the given SBMLDocument - - index (int, optional): an integer (default: 0) that determines the index of the GeometricShape object in the LineEnding object + - reaction_id (string): a string that determines the id of the Reaction object + - stop_colors (list): a list of strings that determines the stop colors of the gradient + - stop_offsets (list): a list of floats that determines the stop offsets of the gradient + - gradient_type (string, optional): a string that determines the type of the gradient (default: "linear") + - reaction_glyph_index (int, optional): an integer (default: 0) that determines the index of the ReactionGlyph object in the given SBMLDocument + - layout_index (int, optional): an integer (default: 0) that determines the index of the Layout object in the given SBMLDocument :Returns: - true if the GeometricShape object with the given index in the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument is a polygon and false otherwise + true on success and false if the fill color of the LineEnding object of the Reaction object could not be set """ - return lib.c_api_isLineEndingPolygon(self.sbml_object, str(line_ending_id).encode(), index, render_index) + return lib.c_api_setReactionLineEndingFillColorAsGradient(self.sbml_object, str(reaction_id).encode(), (ctypes.c_char_p * len(stop_colors))(*[str(color).encode() for color in stop_colors]), (ctypes.c_double * len(stop_offsets))(*stop_offsets), len(stop_colors), str(gradient_type).encode(), reaction_glyph_index, layout_index) - def isLineEndingImage(self, line_ending_id, index=0, render_index=0): + def isSetLineEndingFillRule(self, line_ending_id, render_index=0): """ - Returns whether the GeometricShape object with the given index in the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument is an image + Returns whether the fill rule of the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument is set :Parameters: - line_ending_id (string): a string that determines the id of the LineEnding object - render_index (int, optional): an integer (default: 0) that determines the index of the RenderInformation object in the given SBMLDocument - - index (int, optional): an integer (default: 0) that determines the index of the GeometricShape object in the LineEnding object :Returns: - true if the GeometricShape object with the given index in the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument is an image and false otherwise + true if the fill rule of the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument is set and false otherwise """ - return lib.c_api_isLineEndingImage(self.sbml_object, str(line_ending_id).encode(), index, render_index) + return lib.c_api_isSetLineEndingFillRule(self.sbml_object, str(line_ending_id).encode(), render_index) - def isLineEndingRenderCurve(self, line_ending_id, index=0, render_index=0): + def getLineEndingFillRule(self, line_ending_id, render_index=0): """ - Returns whether the GeometricShape object with the given index in the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument is a render curve + Returns the fill rule of the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument :Parameters: - line_ending_id (string): a string that determines the id of the LineEnding object - render_index (int, optional): an integer (default: 0) that determines the index of the RenderInformation object in the given SBMLDocument - - index (int, optional): an integer (default: 0) that determines the index of the GeometricShape object in the LineEnding object :Returns: - true if the GeometricShape object with the given index in the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument is a render curve and false otherwise + a string that determines the fill rule of the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument """ - return lib.c_api_isLineEndingRenderCurve(self.sbml_object, str(line_ending_id).encode(), index, render_index) + lib.c_api_getLineEndingFillRule.restype = ctypes.c_char_p + return ctypes.c_char_p(lib.c_api_getLineEndingFillRule(self.sbml_object, str(line_ending_id).encode(), render_index)).value.decode() - def isLineEndingText(self, line_ending_id, index=0, render_index=0): + def setLineEndingFillRule(self, line_ending_id, fill_rule, render_index=0): """ - Returns whether the GeometricShape object with the given index in the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument is text + Sets the fill rule of the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument :Parameters: - line_ending_id (string): a string that determines the id of the LineEnding object + - fill_rule (string): a string that determines the fill rule of the LineEnding object - render_index (int, optional): an integer (default: 0) that determines the index of the RenderInformation object in the given SBMLDocument - - index (int, optional): an integer (default: 0) that determines the index of the GeometricShape object in the LineEnding object :Returns: - true if the GeometricShape object with the given index in the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument is text and false otherwise + true on success and false if the fill rule of the LineEnding object could not be set """ - return lib.c_api_isLineEndingText(self.sbml_object, str(line_ending_id).encode(), index, render_index) + return lib.c_api_setLineEndingFillRule(self.sbml_object, str(line_ending_id).encode(), str(fill_rule).encode(), render_index) - def isSetLineEndingGeometricShapeX(self, line_ending_id, index=0, render_index=0): + def isSetSpeciesReferenceLineEndingFillRule(self, reaction_id, reaction_glyph_index=0, species_reference_glyph_index=0, layout_index=0): """ - Returns whether the x-coordinate of the GeometricShape object with the given index in the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument is set + Returns whether the fill rule of the LineEnding object of the SpeciesReference object with the given reaction_id, reaction_glyph_index, species_reference_glyph_index and layout_index in the given SBMLDocument is set :Parameters: - - line_ending_id (string): a string that determines the id of the LineEnding object - - render_index (int, optional): an integer (default: 0) that determines the index of the RenderInformation object in the given SBMLDocument - - index (int, optional): an integer (default: 0) that determines the index of the GeometricShape object in the LineEnding object + - reaction_id (string): a string that determines the id of the Reaction object + - reaction_glyph_index (int, optional): an integer (default: 0) that determines the index of the ReactionGlyph object in the given SBMLDocument + - species_reference_glyph_index (int, optional): an integer (default: 0) that determines the index of the SpeciesReferenceGlyph object in the given SBMLDocument + - layout_index (int, optional): an integer (default: 0) that determines the index of the Layout object in the given SBMLDocument :Returns: - true if the x-coordinate of the GeometricShape object with the given index in the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument is set and false otherwise + true if the fill rule of the LineEnding object of the SpeciesReference object with the given reaction_id, reaction_glyph_index, species_reference_glyph_index and layout_index in the given SBMLDocument is set and false otherwise """ - return lib.c_api_isSetLineEndingGeometricShapeX(self.sbml_object, str(line_ending_id).encode(), index, render_index) + return lib.c_api_isSetSpeciesReferenceLineEndingFillRule(self.sbml_object, str(reaction_id).encode(), reaction_glyph_index, species_reference_glyph_index, layout_index) - def getLineEndingGeometricShapeX(self, line_ending_id, index=0, render_index=0): + def getSpeciesReferenceLineEndingFillRule(self, reaction_id, reaction_glyph_index=0, species_reference_glyph_index=0, layout_index=0): """ - Returns the x-coordinate of the GeometricShape object with the given index in the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument + Returns the fill rule of the LineEnding object of the SpeciesReference object with the given reaction_id, reaction_glyph_index, species_reference_glyph_index and layout_index in the given SBMLDocument :Parameters: - - line_ending_id (string): a string that determines the id of the LineEnding object - - render_index (int, optional): an integer (default: 0) that determines the index of the RenderInformation object in the given SBMLDocument - - index (int, optional): an integer (default: 0) that determines the index of the GeometricShape object in the LineEnding object + - reaction_id (string): a string that determines the id of the Reaction object + - reaction_glyph_index (int, optional): an integer (default: 0) that determines the index of the ReactionGlyph object in the given SBMLDocument + - species_reference_glyph_index (int, optional): an integer (default: 0) that determines the index of the SpeciesReferenceGlyph object in the given SBMLDocument + - layout_index (int, optional): an integer (default: 0) that determines the index of the Layout object in the given SBMLDocument :Returns: - a float that determines the x-coordinate of the GeometricShape object with the given index in the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument + a string that determines the fill rule of the LineEnding object of the SpeciesReference object with the given reaction_id, reaction_glyph_index, species_reference_glyph_index and layout_index in the given SBMLDocument """ - lib.c_api_getLineEndingGeometricShapeX.restype = ctypes.c_double - return lib.c_api_getLineEndingGeometricShapeX(self.sbml_object, str(line_ending_id).encode(), index, render_index) + lib.c_api_getSpeciesReferenceLineEndingFillRule.restype = ctypes.c_char_p + return ctypes.c_char_p(lib.c_api_getSpeciesReferenceLineEndingFillRule(self.sbml_object, str(reaction_id).encode(), reaction_glyph_index, species_reference_glyph_index, layout_index)).value.decode() - def setLineEndingGeometricShapeX(self, line_ending_id, x, index=0, render_index=0): + def setSpeciesReferenceLineEndingFillRule(self, reaction_id, fill_rule, reaction_glyph_index=0, species_reference_glyph_index=0, layout_index=0): """ - Sets the x-coordinate of the GeometricShape object with the given index in the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument + Sets the fill rule of the LineEnding object of the SpeciesReference object with the given reaction_id, reaction_glyph_index, species_reference_glyph_index and layout_index in the given SBMLDocument :Parameters: - - line_ending_id (string): a string that determines the id of the LineEnding object - - x (float): a float that determines the x-coordinate of the GeometricShape object - - render_index (int, optional): an integer (default: 0) that determines the index of the RenderInformation object in the given SBMLDocument - - index (int, optional): an integer (default: 0) that determines the index of the GeometricShape object in the LineEnding object + - reaction_id (string): a string that determines the id of the Reaction object + - fill_rule (string): a string that determines the fill rule of the LineEnding object of the SpeciesReference object + - reaction_glyph_index (int, optional): an integer (default: 0) that determines the index of the ReactionGlyph object in the given SBMLDocument + - species_reference_glyph_index (int, optional): an integer (default: 0) that determines the index of the SpeciesReferenceGlyph object in the given SBMLDocument + - layout_index (int, optional): an integer (default: 0) that determines the index of the Layout object in the given SBMLDocument :Returns: - true on success and false if the x-coordinate of the GeometricShape object could not be set + true on success and false if the fill rule of the LineEnding object of the SpeciesReference object could not be set """ - return lib.c_api_setLineEndingGeometricShapeX(self.sbml_object, str(line_ending_id).encode(), ctypes.c_double(x), index, render_index) + return lib.c_api_setSpeciesReferenceLineEndingFillRule(self.sbml_object, str(reaction_id).encode(), str(fill_rule).encode(), reaction_glyph_index, species_reference_glyph_index, layout_index) - def isSetLineEndingGeometricShapeY(self, line_ending_id, index=0, render_index=0): + def setReactionLineEndingFillRule(self, reaction_id, fill_rule, reaction_glyph_index=0, layout_index=0): """ - Returns whether the y-coordinate of the GeometricShape object with the given index in the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument is set + Sets the fill rule of the LineEnding object of the Reaction object with the given reaction_id, reaction_glyph_index and layout_index in the given SBMLDocument :Parameters: - - line_ending_id (string): a string that determines the id of the LineEnding object - - render_index (int, optional): an integer (default: 0) that determines the index of the RenderInformation object in the given SBMLDocument - - index (int, optional): an integer (default: 0) that determines the index of the GeometricShape object in the LineEnding object + - reaction_id (string): a string that determines the id of the Reaction object + - fill_rule (string): a string that determines the fill rule of the LineEnding object of the Reaction object + - reaction_glyph_index (int, optional): an integer (default: 0) that determines the index of the ReactionGlyph object in the given SBMLDocument + - layout_index (int, optional): an integer (default: 0) that determines the index of the Layout object in the given SBMLDocument :Returns: - true if the y-coordinate of the GeometricShape object with the given index in the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument is set and false otherwise + true on success and false if the fill rule of the LineEnding object of the Reaction object could not be set """ - return lib.c_api_isSetLineEndingGeometricShapeY(self.sbml_object, str(line_ending_id).encode(), index, render_index) + return lib.c_api_setReactionLineEndingFillRule(self.sbml_object, str(reaction_id).encode(), str(fill_rule).encode(), reaction_glyph_index, layout_index) - def getLineEndingGeometricShapeY(self, line_ending_id, index=0, render_index=0): + def getNumLineEndingGeometricShapes(self, line_ending_id, render_index=0): """ - Returns the y-coordinate of the GeometricShape object with the given index in the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument + Returns the number of GeometricShape objects in the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument :Parameters: - line_ending_id (string): a string that determines the id of the LineEnding object - render_index (int, optional): an integer (default: 0) that determines the index of the RenderInformation object in the given SBMLDocument - - index (int, optional): an integer (default: 0) that determines the index of the GeometricShape object in the LineEnding object :Returns: - a float that determines the y-coordinate of the GeometricShape object with the given index in the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument + an integer that determines the number of GeometricShape objects in the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument """ - lib.c_api_getLineEndingGeometricShapeY.restype = ctypes.c_double - return lib.c_api_getLineEndingGeometricShapeY(self.sbml_object, str(line_ending_id).encode(), index, render_index) + return lib.c_api_getNumLineEndingGeometricShapes(self.sbml_object, str(line_ending_id).encode(), render_index) - def setLineEndingGeometricShapeY(self, line_ending_id, y, index=0, render_index=0): + def getNumSpeciesReferenceLineEndingGeometricShapes(self, reaction_id, reaction_glyph_index=0, species_reference_glyph_index=0, layout_index=0): """ - Sets the y-coordinate of the GeometricShape object with the given index in the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument + Returns the number of GeometricShape objects in the LineEnding object of the SpeciesReference object with the given reaction_id, reaction_glyph_index, species_reference_glyph_index and layout_index in the given SBMLDocument :Parameters: - - line_ending_id (string): a string that determines the id of the LineEnding object - - y (float): a float that determines the y-coordinate of the GeometricShape object - - render_index (int, optional): an integer (default: 0) that determines the index of the RenderInformation object in the given SBMLDocument - - index (int, optional): an integer (default: 0) that determines the index of the GeometricShape object in the LineEnding object + - reaction_id (string): a string that determines the id of the Reaction object + - reaction_glyph_index (int, optional): an integer (default: 0) that determines the index of the ReactionGlyph object in the given SBMLDocument + - species_reference_glyph_index (int, optional): an integer (default: 0) that determines the index of the SpeciesReferenceGlyph object in the given SBMLDocument + - layout_index (int, optional): an integer (default: 0) that determines the index of the Layout object in the given SBMLDocument :Returns: - true on success and false if the y-coordinate of the GeometricShape object could not be set + an integer that determines the number of GeometricShape objects in the LineEnding object of the SpeciesReference object with the given reaction_id, reaction_glyph_index, species_reference_glyph_index and layout_index in the given SBMLDocument """ - return lib.c_api_setLineEndingGeometricShapeY(self.sbml_object, str(line_ending_id).encode(), ctypes.c_double(y), index, render_index) + return lib.c_api_getNumSpeciesReferenceLineEndingGeometricShapes(self.sbml_object, str(reaction_id).encode(), reaction_glyph_index, species_reference_glyph_index, layout_index) - def isSetLineEndingGeometricShapeWidth(self, line_ending_id, index=0, render_index=0): + def isLineEndingRectangle(self, line_ending_id, index=0, render_index=0): """ - Returns whether the width of the GeometricShape object with the given index in the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument is set + Returns whether the GeometricShape object with the given index in the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument is a rectangle :Parameters: @@ -4172,63 +4618,65 @@ class LibSBMLNetwork: :Returns: - true if the width of the GeometricShape object with the given index in the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument is set and false otherwise + true if the GeometricShape object with the given index in the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument is a rectangle and false otherwise """ - return lib.c_api_isSetLineEndingGeometricShapeWidth(self.sbml_object, str(line_ending_id).encode(), index, render_index) + return lib.c_api_isLineEndingRectangle(self.sbml_object, str(line_ending_id).encode(), index, render_index) - def getLineEndingGeometricShapeWidth(self, line_ending_id, index=0, render_index=0): + def isSpeciesReferenceLineEndingRectangle(self, reaction_id, reaction_glyph_index=0, species_reference_glyph_index=0, layout_index=0, index=0): """ - Returns the width of the GeometricShape object with the given index in the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument + Returns whether the GeometricShape object with the given index in the LineEnding object of the SpeciesReference object with the given reaction_id, reaction_glyph_index, species_reference_glyph_index and layout_index in the given SBMLDocument is a rectangle :Parameters: - - line_ending_id (string): a string that determines the id of the LineEnding object - - render_index (int, optional): an integer (default: 0) that determines the index of the RenderInformation object in the given SBMLDocument - - index (int, optional): an integer (default: 0) that determines the index of the GeometricShape object in the LineEnding object + - reaction_id (string): a string that determines the id of the Reaction object + - reaction_glyph_index (int, optional): an integer (default: 0) that determines the index of the ReactionGlyph object in the given SBMLDocument + - species_reference_glyph_index (int, optional): an integer (default: 0) that determines the index of the SpeciesReferenceGlyph object in the given SBMLDocument + - layout_index (int, optional): an integer (default: 0) that determines the index of the Layout object in the given SBMLDocument + - index (int, optional): an integer (default: 0) that determines the index of the GeometricShape object in the LineEnding object of the SpeciesReference object :Returns: - a float that determines the width of the GeometricShape object with the given index in the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument + true if the GeometricShape object with the given index in the LineEnding object of the SpeciesReference object with the given reaction_id, reaction_glyph_index, species_reference_glyph_index and layout_index in the given SBMLDocument is a rectangle and false otherwise """ - lib.c_api_getLineEndingGeometricShapeWidth.restype = ctypes.c_double - return lib.c_api_getLineEndingGeometricShapeWidth(self.sbml_object, str(line_ending_id).encode(), index, render_index) + return lib.c_api_isSpeciesReferenceLineEndingRectangle(self.sbml_object, str(reaction_id).encode(), reaction_glyph_index, species_reference_glyph_index, layout_index, index) - def setLineEndingGeometricShapeWidth(self, line_ending_id, width, index=0, render_index=0): + def isLineEndingEllipse(self, line_ending_id, index=0, render_index=0): """ - Sets the width of the GeometricShape object with the given index in the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument + Returns whether the GeometricShape object with the given index in the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument is an ellipse :Parameters: - line_ending_id (string): a string that determines the id of the LineEnding object - - width (float): a float that determines the width of the GeometricShape object - render_index (int, optional): an integer (default: 0) that determines the index of the RenderInformation object in the given SBMLDocument - index (int, optional): an integer (default: 0) that determines the index of the GeometricShape object in the LineEnding object :Returns: - true on success and false if the width of the GeometricShape object could not be set + true if the GeometricShape object with the given index in the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument is an ellipse and false otherwise """ - return lib.c_api_setLineEndingGeometricShapeWidth(self.sbml_object, str(line_ending_id).encode(), ctypes.c_double(width), index, render_index) + return lib.c_api_isLineEndingEllipse(self.sbml_object, str(line_ending_id).encode(), index, render_index) - def isSetLineEndingGeometricShapeHeight(self, line_ending_id, index=0, render_index=0): + def isSpeciesReferenceLineEndingEllipse(self, reaction_id, reaction_glyph_index=0, species_reference_glyph_index=0, layout_index=0, index=0): """ - Returns whether the height of the GeometricShape object with the given index in the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument is set + Returns whether the GeometricShape object with the given index in the LineEnding object of the SpeciesReference object with the given reaction_id, reaction_glyph_index, species_reference_glyph_index and layout_index in the given SBMLDocument is an ellipse :Parameters: - - line_ending_id (string): a string that determines the id of the LineEnding object - - render_index (int, optional): an integer (default: 0) that determines the index of the RenderInformation object in the given SBMLDocument - - index (int, optional): an integer (default: 0) that determines the index of the GeometricShape object in the LineEnding object + - reaction_id (string): a string that determines the id of the Reaction object + - reaction_glyph_index (int, optional): an integer (default: 0) that determines the index of the ReactionGlyph object in the given SBMLDocument + - species_reference_glyph_index (int, optional): an integer (default: 0) that determines the index of the SpeciesReferenceGlyph object in the given SBMLDocument + - layout_index (int, optional): an integer (default: 0) that determines the index of the Layout object in the given SBMLDocument + - index (int, optional): an integer (default: 0) that determines the index of the GeometricShape object in the LineEnding object of the SpeciesReference object :Returns: - true if the height of the GeometricShape object with the given index in the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument is set and false otherwise + true if the GeometricShape object with the given index in the LineEnding object of the SpeciesReference object with the given reaction_id, reaction_glyph_index, species_reference_glyph_index and layout_index in the given SBMLDocument is an ellipse and false otherwise """ - return lib.c_api_isSetLineEndingGeometricShapeHeight(self.sbml_object, str(line_ending_id).encode(), index, render_index) + return lib.c_api_isSpeciesReferenceLineEndingEllipse(self.sbml_object, str(reaction_id).encode(), reaction_glyph_index, species_reference_glyph_index, layout_index, index) - def getLineEndingGeometricShapeHeight(self, line_ending_id, index=0, render_index=0): + def isLineEndingPolygon(self, line_ending_id, index=0, render_index=0): """ - Returns the height of the GeometricShape object with the given index in the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument + Returns whether the GeometricShape object with the given index in the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument is a polygon :Parameters: @@ -4238,31 +4686,31 @@ class LibSBMLNetwork: :Returns: - a float that determines the height of the GeometricShape object with the given index in the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument + true if the GeometricShape object with the given index in the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument is a polygon and false otherwise """ - lib.c_api_getLineEndingGeometricShapeHeight.restype = ctypes.c_double - return lib.c_api_getLineEndingGeometricShapeHeight(self.sbml_object, str(line_ending_id).encode(), index, render_index) + return lib.c_api_isLineEndingPolygon(self.sbml_object, str(line_ending_id).encode(), index, render_index) - def setLineEndingGeometricShapeHeight(self, line_ending_id, height, index=0, render_index=0): + def isSpeciesReferenceLineEndingPolygon(self, reaction_id, reaction_glyph_index=0, species_reference_glyph_index=0, layout_index=0, index=0): """ - Sets the height of the GeometricShape object with the given index in the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument + Returns whether the GeometricShape object with the given index in the LineEnding object of the SpeciesReference object with the given reaction_id, reaction_glyph_index, species_reference_glyph_index and layout_index in the given SBMLDocument is a polygon :Parameters: - - line_ending_id (string): a string that determines the id of the LineEnding object - - height (float): a float that determines the height of the GeometricShape object - - render_index (int, optional): an integer (default: 0) that determines the index of the RenderInformation object in the given SBMLDocument - - index (int, optional): an integer (default: 0) that determines the index of the GeometricShape object in the LineEnding object + - reaction_id (string): a string that determines the id of the Reaction object + - reaction_glyph_index (int, optional): an integer (default: 0) that determines the index of the ReactionGlyph object in the given SBMLDocument + - species_reference_glyph_index (int, optional): an integer (default: 0) that determines the index of the SpeciesReferenceGlyph object in the given SBMLDocument + - layout_index (int, optional): an integer (default: 0) that determines the index of the Layout object in the given SBMLDocument + - index (int, optional): an integer (default: 0) that determines the index of the GeometricShape object in the LineEnding object of the SpeciesReference object :Returns: - true on success and false if the height of the GeometricShape object could not be set + true if the GeometricShape object with the given index in the LineEnding object of the SpeciesReference object with the given reaction_id, reaction_glyph_index, species_reference_glyph_index and layout_index in the given SBMLDocument is a polygon and false otherwise """ - return lib.c_api_setLineEndingGeometricShapeHeight(self.sbml_object, str(line_ending_id).encode(), ctypes.c_double(height), index, render_index) + return lib.c_api_isSpeciesReferenceLineEndingPolygon(self.sbml_object, str(reaction_id).encode(), reaction_glyph_index, species_reference_glyph_index, layout_index, index) - def isSetLineEndingGeometricShapeRatio(self, line_ending_id, index=0, render_index=0): + def isLineEndingImage(self, line_ending_id, index=0, render_index=0): """ - Returns whether the ratio of the GeometricShape object with the given index in the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument is set + Returns whether the GeometricShape object with the given index in the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument is an image :Parameters: @@ -4272,63 +4720,65 @@ class LibSBMLNetwork: :Returns: - true if the ratio of the GeometricShape object with the given index in the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument is set and false otherwise + true if the GeometricShape object with the given index in the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument is an image and false otherwise """ - return lib.c_api_isSetLineEndingGeometricShapeRatio(self.sbml_object, str(line_ending_id).encode(), index, render_index) + return lib.c_api_isLineEndingImage(self.sbml_object, str(line_ending_id).encode(), index, render_index) - def getLineEndingGeometricShapeRatio(self, line_ending_id, index=0, render_index=0): + def isSpeciesReferenceLineEndingImage(self, reaction_id, reaction_glyph_index=0, species_reference_glyph_index=0, layout_index=0, index=0): """ - Returns the ratio of the GeometricShape object with the given index in the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument + Returns whether the GeometricShape object with the given index in the LineEnding object of the SpeciesReference object with the given reaction_id, reaction_glyph_index, species_reference_glyph_index and layout_index in the given SBMLDocument is an image :Parameters: - - line_ending_id (string): a string that determines the id of the LineEnding object - - render_index (int, optional): an integer (default: 0) that determines the index of the RenderInformation object in the given SBMLDocument - - index (int, optional): an integer (default: 0) that determines the index of the GeometricShape object in the LineEnding object + - reaction_id (string): a string that determines the id of the Reaction object + - reaction_glyph_index (int, optional): an integer (default: 0) that determines the index of the ReactionGlyph object in the given SBMLDocument + - species_reference_glyph_index (int, optional): an integer (default: 0) that determines the index of the SpeciesReferenceGlyph object in the given SBMLDocument + - layout_index (int, optional): an integer (default: 0) that determines the index of the Layout object in the given SBMLDocument + - index (int, optional): an integer (default: 0) that determines the index of the GeometricShape object in the LineEnding object of the SpeciesReference object :Returns: - a float that determines the ratio of the GeometricShape object with the given index in the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument + true if the GeometricShape object with the given index in the LineEnding object of the SpeciesReference object with the given reaction_id, reaction_glyph_index, species_reference_glyph_index and layout_index in the given SBMLDocument is an image and false otherwise """ - lib.c_api_getLineEndingGeometricShapeRatio.restype = ctypes.c_double - return lib.c_api_getLineEndingGeometricShapeRatio(self.sbml_object, str(line_ending_id).encode(), index, render_index) + return lib.c_api_isSpeciesReferenceLineEndingImage(self.sbml_object, str(reaction_id).encode(), reaction_glyph_index, species_reference_glyph_index, layout_index, index) - def setLineEndingGeometricShapeRatio(self, line_ending_id, ratio, index=0, render_index=0): + def isLineEndingRenderCurve(self, line_ending_id, index=0, render_index=0): """ - Sets the ratio of the GeometricShape object with the given index in the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument + Returns whether the GeometricShape object with the given index in the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument is a render curve :Parameters: - line_ending_id (string): a string that determines the id of the LineEnding object - - ratio (float): a float that determines the ratio of the GeometricShape object - render_index (int, optional): an integer (default: 0) that determines the index of the RenderInformation object in the given SBMLDocument - index (int, optional): an integer (default: 0) that determines the index of the GeometricShape object in the LineEnding object :Returns: - true on success and false if the ratio of the GeometricShape object could not be set + true if the GeometricShape object with the given index in the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument is a render curve and false otherwise """ - return lib.c_api_setLineEndingGeometricShapeRatio(self.sbml_object, str(line_ending_id).encode(), ctypes.c_double(ratio), index, render_index) + return lib.c_api_isLineEndingRenderCurve(self.sbml_object, str(line_ending_id).encode(), index, render_index) - def isSetLineEndingGeometricShapeBorderRadiusX(self, line_ending_id, index=0, render_index=0): + def isSpeciesReferenceLineEndingRenderCurve(self, reaction_id, reaction_glyph_index=0, species_reference_glyph_index=0, layout_index=0, index=0): """ - Returns whether the x-radius of the border of the GeometricShape object with the given index in the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument is set + Returns whether the GeometricShape object with the given index in the LineEnding object of the SpeciesReference object with the given reaction_id, reaction_glyph_index, species_reference_glyph_index and layout_index in the given SBMLDocument is a render curve :Parameters: - - line_ending_id (string): a string that determines the id of the LineEnding object - - render_index (int, optional): an integer (default: 0) that determines the index of the RenderInformation object in the given SBMLDocument - - index (int, optional): an integer (default: 0) that determines the index of the GeometricShape object in the LineEnding object + - reaction_id (string): a string that determines the id of the Reaction object + - reaction_glyph_index (int, optional): an integer (default: 0) that determines the index of the ReactionGlyph object in the given SBMLDocument + - species_reference_glyph_index (int, optional): an integer (default: 0) that determines the index of the SpeciesReferenceGlyph object in the given SBMLDocument + - layout_index (int, optional): an integer (default: 0) that determines the index of the Layout object in the given SBMLDocument + - index (int, optional): an integer (default: 0) that determines the index of the GeometricShape object in the LineEnding object of the SpeciesReference object :Returns: - true if the x-radius of the border of the GeometricShape object with the given index in the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument is set and false otherwise + true if the GeometricShape object with the given index in the LineEnding object of the SpeciesReference object with the given reaction_id, reaction_glyph_index, species_reference_glyph_index and layout_index in the given SBMLDocument is a render curve and false otherwise """ - return lib.c_api_isSetLineEndingGeometricShapeBorderRadiusX(self.sbml_object, str(line_ending_id).encode(), index, render_index) + return lib.c_api_isSpeciesReferenceLineEndingRenderCurve(self.sbml_object, str(reaction_id).encode(), reaction_glyph_index, species_reference_glyph_index, layout_index, index) - def getLineEndingGeometricShapeBorderRadiusX(self, line_ending_id, index=0, render_index=0): + def isLineEndingText(self, line_ending_id, index=0, render_index=0): """ - Returns the x-radius of the border of the GeometricShape object with the given index in the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument + Returns whether the GeometricShape object with the given index in the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument is text :Parameters: @@ -4338,31 +4788,31 @@ class LibSBMLNetwork: :Returns: - a float that determines the x-radius of the border of the GeometricShape object with the given index in the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument + true if the GeometricShape object with the given index in the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument is text and false otherwise """ - lib.c_api_getLineEndingGeometricShapeBorderRadiusX.restype = ctypes.c_double - return lib.c_api_getLineEndingGeometricShapeBorderRadiusX(self.sbml_object, str(line_ending_id).encode(), index, render_index) + return lib.c_api_isLineEndingText(self.sbml_object, str(line_ending_id).encode(), index, render_index) - def setLineEndingGeometricShapeBorderRadiusX(self, line_ending_id, x_radius, index=0, render_index=0): + def isSpeciesReferenceLineEndingText(self, reaction_id, reaction_glyph_index=0, species_reference_glyph_index=0, layout_index=0, index=0): """ - Sets the x-radius of the border of the GeometricShape object with the given index in the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument + Returns whether the GeometricShape object with the given index in the LineEnding object of the SpeciesReference object with the given reaction_id, reaction_glyph_index, species_reference_glyph_index and layout_index in the given SBMLDocument is text :Parameters: - - line_ending_id (string): a string that determines the id of the LineEnding object - - x_radius (float): a float that determines the x-radius of the border of the GeometricShape object - - render_index (int, optional): an integer (default: 0) that determines the index of the RenderInformation object in the given SBMLDocument - - index (int, optional): an integer (default: 0) that determines the index of the GeometricShape object in the LineEnding object + - reaction_id (string): a string that determines the id of the Reaction object + - reaction_glyph_index (int, optional): an integer (default: 0) that determines the index of the ReactionGlyph object in the given SBMLDocument + - species_reference_glyph_index (int, optional): an integer (default: 0) that determines the index of the SpeciesReferenceGlyph object in the given SBMLDocument + - layout_index (int, optional): an integer (default: 0) that determines the index of the Layout object in the given SBMLDocument + - index (int, optional): an integer (default: 0) that determines the index of the GeometricShape object in the LineEnding object of the SpeciesReference object :Returns: - true on success and false if the x-radius of the border of the GeometricShape object could not be set + true if the GeometricShape object with the given index in the LineEnding object of the SpeciesReference object with the given reaction_id, reaction_glyph_index, species_reference_glyph_index and layout_index in the given SBMLDocument is text and false otherwise """ - return lib.c_api_setLineEndingGeometricShapeBorderRadiusX(self.sbml_object, str(line_ending_id).encode(), ctypes.c_double(x_radius), index, render_index) + return lib.c_api_isSpeciesReferenceLineEndingText(self.sbml_object, str(reaction_id).encode(), reaction_glyph_index, species_reference_glyph_index, layout_index, index) - def isSetLineEndingGeometricShapeBorderRadiusY(self, line_ending_id, index=0, render_index=0): + def isSetLineEndingGeometricShapeX(self, line_ending_id, index=0, render_index=0): """ - Returns whether the y-radius of the border of the GeometricShape object with the given index in the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument is set + Returns whether the x-coordinate of the GeometricShape object with the given index in the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument is set :Parameters: @@ -4372,13 +4822,13 @@ class LibSBMLNetwork: :Returns: - true if the y-radius of the border of the GeometricShape object with the given index in the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument is set and false otherwise + true if the x-coordinate of the GeometricShape object with the given index in the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument is set and false otherwise """ - return lib.c_api_isSetLineEndingGeometricShapeBorderRadiusY(self.sbml_object, str(line_ending_id).encode(), index, render_index) + return lib.c_api_isSetLineEndingGeometricShapeX(self.sbml_object, str(line_ending_id).encode(), index, render_index) - def getLineEndingGeometricShapeBorderRadiusY(self, line_ending_id, index=0, render_index=0): + def getLineEndingGeometricShapeX(self, line_ending_id, index=0, render_index=0): """ - Returns the y-radius of the border of the GeometricShape object with the given index in the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument + Returns the x-coordinate of the GeometricShape object with the given index in the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument :Parameters: @@ -4388,247 +4838,1795 @@ class LibSBMLNetwork: :Returns: - a float that determines the y-radius of the border of the GeometricShape object with the given index in the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument + a float that determines the x-coordinate of the GeometricShape object with the given index in the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument """ - lib.c_api_getLineEndingGeometricShapeBorderRadiusY.restype = ctypes.c_double - return lib.c_api_getLineEndingGeometricShapeBorderRadiusY(self.sbml_object, str(line_ending_id).encode(), index, render_index) + lib.c_api_getLineEndingGeometricShapeX.restype = ctypes.c_double + return lib.c_api_getLineEndingGeometricShapeX(self.sbml_object, str(line_ending_id).encode(), index, render_index) - def setLineEndingGeometricShapeBorderRadiusY(self, line_ending_id, y_radius, index=0, render_index=0): + def setLineEndingGeometricShapeX(self, line_ending_id, x, index=0, render_index=0): """ - Sets the y-radius of the border of the GeometricShape object with the given index in the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument + Sets the x-coordinate of the GeometricShape object with the given index in the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument :Parameters: - line_ending_id (string): a string that determines the id of the LineEnding object - - y_radius (float): a float that determines the y-radius of the border of the GeometricShape object + - x (float): a float that determines the x-coordinate of the GeometricShape object - render_index (int, optional): an integer (default: 0) that determines the index of the RenderInformation object in the given SBMLDocument - index (int, optional): an integer (default: 0) that determines the index of the GeometricShape object in the LineEnding object :Returns: - true on success and false if the y-radius of the border of the GeometricShape object could not be set + true on success and false if the x-coordinate of the GeometricShape object could not be set """ - return lib.c_api_setLineEndingGeometricShapeBorderRadiusY(self.sbml_object, str(line_ending_id).encode(), ctypes.c_double(y_radius), index, render_index) + return lib.c_api_setLineEndingGeometricShapeX(self.sbml_object, str(line_ending_id).encode(), ctypes.c_double(x), index, render_index) - def isSetLineEndingGeometricShapeCenterX(self, line_ending_id, index=0, render_index=0): + def isSetSpeciesReferenceLineEndingGeometricShapeX(self, reaction_id, reaction_glyph_index=0, species_reference_glyph_index=0, layout_index=0, index=0): """ - Returns whether the x-coordinate of the center of the GeometricShape object with the given index in the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument is set + Returns whether the x-coordinate of the GeometricShape object with the given index in the LineEnding object of the SpeciesReference object with the given reaction_id, reaction_glyph_index, species_reference_glyph_index and layout_index in the given SBMLDocument is set + + :Parameters: + + - reaction_id (string): a string that determines the id of the Reaction object + - reaction_glyph_index (int, optional): an integer (default: 0) that determines the index of the ReactionGlyph object in the given SBMLDocument + - species_reference_glyph_index (int, optional): an integer (default: 0) that determines the index of the SpeciesReferenceGlyph object in the given SBMLDocument + - layout_index (int, optional): an integer (default: 0) that determines the index of the Layout object in the given SBMLDocument + - index (int, optional): an integer (default: 0) that determines the index of the GeometricShape object in the LineEnding object of the SpeciesReference object + + :Returns: + + true if the x-coordinate of the GeometricShape object with the given index in the LineEnding object of the SpeciesReference object with the given reaction_id, reaction_glyph_index, species_reference_glyph_index and layout_index in the given SBMLDocument is set and false otherwise + """ + return lib.c_api_isSetSpeciesReferenceLineEndingGeometricShapeX(self.sbml_object, str(reaction_id).encode(), reaction_glyph_index, species_reference_glyph_index, layout_index, index) + + def getSpeciesReferenceLineEndingGeometricShapeX(self, reaction_id, reaction_glyph_index=0, species_reference_glyph_index=0, layout_index=0, index=0): + """ + Returns the x-coordinate of the GeometricShape object with the given index in the LineEnding object of the SpeciesReference object with the given reaction_id, reaction_glyph_index, species_reference_glyph_index and layout_index in the given SBMLDocument + + :Parameters: + + - reaction_id (string): a string that determines the id of the Reaction object + - reaction_glyph_index (int, optional): an integer (default: 0) that determines the index of the ReactionGlyph object in the given SBMLDocument + - species_reference_glyph_index (int, optional): an integer (default: 0) that determines the index of the SpeciesReferenceGlyph object in the given SBMLDocument + - layout_index (int, optional): an integer (default: 0) that determines the index of the Layout object in the given SBMLDocument + - index (int, optional): an integer (default: 0) that determines the index of the GeometricShape object in the LineEnding object of the SpeciesReference object + + :Returns: + + a float that determines the x-coordinate of the GeometricShape object with the given index in the LineEnding object of the SpeciesReference object with the given reaction_id, reaction_glyph_index, species_reference_glyph_index and layout_index in the given SBMLDocument + """ + lib.c_api_getSpeciesReferenceLineEndingGeometricShapeX.restype = ctypes.c_double + return lib.c_api_getSpeciesReferenceLineEndingGeometricShapeX(self.sbml_object, str(reaction_id).encode(), reaction_glyph_index, species_reference_glyph_index, layout_index, index) + + def setSpeciesReferenceLineEndingGeometricShapeX(self, reaction_id, x, reaction_glyph_index=0, species_reference_glyph_index=0, layout_index=0, index=0): + """ + Sets the x-coordinate of the GeometricShape object with the given index in the LineEnding object of the SpeciesReference object with the given reaction_id, reaction_glyph_index, species_reference_glyph_index and layout_index in the given SBMLDocument + + :Parameters: + + - reaction_id (string): a string that determines the id of the Reaction object + - x (float): a float that determines the x-coordinate of the GeometricShape object + - reaction_glyph_index (int, optional): an integer (default: 0) that determines the index of the ReactionGlyph object in the given SBMLDocument + - species_reference_glyph_index (int, optional): an integer (default: 0) that determines the index of the SpeciesReferenceGlyph object in the given SBMLDocument + - layout_index (int, optional): an integer (default: 0) that determines the index of the Layout object in the given SBMLDocument + - index (int, optional): an integer (default: 0) that determines the index of the GeometricShape object in the LineEnding object of the SpeciesReference object + + :Returns: + + true on success and false if the x-coordinate of the GeometricShape object could not be set + """ + return lib.c_api_setSpeciesReferenceLineEndingGeometricShapeX(self.sbml_object, str(reaction_id).encode(), ctypes.c_double(x), reaction_glyph_index, species_reference_glyph_index, layout_index, index) + + def setReactionLineEndingGeometricShapeX(self, reaction_id, x, reaction_glyph_index=0, layout_index=0, index=0): + """ + Sets the x-coordinate of the GeometricShape object with the given index in the LineEnding object of the Reaction object with the given reaction_id, reaction_glyph_index and layout_index in the given SBMLDocument + + :Parameters: + + - reaction_id (string): a string that determines the id of the Reaction object + - x (float): a float that determines the x-coordinate of the GeometricShape object + - reaction_glyph_index (int, optional): an integer (default: 0) that determines the index of the ReactionGlyph object in the given SBMLDocument + - layout_index (int, optional): an integer (default: 0) that determines the index of the Layout object in the given SBMLDocument + - index (int, optional): an integer (default: 0) that determines the index of the GeometricShape object in the LineEnding object of the Reaction object + + :Returns: + + true on success and false if the x-coordinate of the GeometricShape object could not be set + """ + return lib.c_api_setReactionLineEndingGeometricShapeX(self.sbml_object, str(reaction_id).encode(), ctypes.c_double(x), reaction_glyph_index, layout_index, index) + + def isSetLineEndingGeometricShapeY(self, line_ending_id, index=0, render_index=0): + """ + Returns whether the y-coordinate of the GeometricShape object with the given index in the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument is set + + :Parameters: + + - line_ending_id (string): a string that determines the id of the LineEnding object + - render_index (int, optional): an integer (default: 0) that determines the index of the RenderInformation object in the given SBMLDocument + - index (int, optional): an integer (default: 0) that determines the index of the GeometricShape object in the LineEnding object + + :Returns: + + true if the y-coordinate of the GeometricShape object with the given index in the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument is set and false otherwise + """ + return lib.c_api_isSetLineEndingGeometricShapeY(self.sbml_object, str(line_ending_id).encode(), index, render_index) + + def getLineEndingGeometricShapeY(self, line_ending_id, index=0, render_index=0): + """ + Returns the y-coordinate of the GeometricShape object with the given index in the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument + + :Parameters: + + - line_ending_id (string): a string that determines the id of the LineEnding object + - render_index (int, optional): an integer (default: 0) that determines the index of the RenderInformation object in the given SBMLDocument + - index (int, optional): an integer (default: 0) that determines the index of the GeometricShape object in the LineEnding object + + :Returns: + + a float that determines the y-coordinate of the GeometricShape object with the given index in the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument + """ + lib.c_api_getLineEndingGeometricShapeY.restype = ctypes.c_double + return lib.c_api_getLineEndingGeometricShapeY(self.sbml_object, str(line_ending_id).encode(), index, render_index) + + def setLineEndingGeometricShapeY(self, line_ending_id, y, index=0, render_index=0): + """ + Sets the y-coordinate of the GeometricShape object with the given index in the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument + + :Parameters: + + - line_ending_id (string): a string that determines the id of the LineEnding object + - y (float): a float that determines the y-coordinate of the GeometricShape object + - render_index (int, optional): an integer (default: 0) that determines the index of the RenderInformation object in the given SBMLDocument + - index (int, optional): an integer (default: 0) that determines the index of the GeometricShape object in the LineEnding object + + :Returns: + + true on success and false if the y-coordinate of the GeometricShape object could not be set + """ + return lib.c_api_setLineEndingGeometricShapeY(self.sbml_object, str(line_ending_id).encode(), ctypes.c_double(y), index, render_index) + + def isSetSpeciesReferenceLineEndingGeometricShapeY(self, reaction_id, reaction_glyph_index=0, species_reference_glyph_index=0, layout_index=0, index=0): + """ + Returns whether the y-coordinate of the GeometricShape object with the given index in the LineEnding object of the SpeciesReference object with the given reaction_id, reaction_glyph_index, species_reference_glyph_index and layout_index in the given SBMLDocument is set + + :Parameters: + + - reaction_id (string): a string that determines the id of the Reaction object + - reaction_glyph_index (int, optional): an integer (default: 0) that determines the index of the ReactionGlyph object in the given SBMLDocument + - species_reference_glyph_index (int, optional): an integer (default: 0) that determines the index of the SpeciesReferenceGlyph object in the given SBMLDocument + - layout_index (int, optional): an integer (default: 0) that determines the index of the Layout object in the given SBMLDocument + - index (int, optional): an integer (default: 0) that determines the index of the GeometricShape object in the LineEnding object of the SpeciesReference object + + :Returns: + + true if the y-coordinate of the GeometricShape object with the given index in the LineEnding object of the SpeciesReference object with the given reaction_id, reaction_glyph_index, species_reference_glyph_index and layout_index in the given SBMLDocument is set and false otherwise + """ + return lib.c_api_isSetSpeciesReferenceLineEndingGeometricShapeY(self.sbml_object, str(reaction_id).encode(), reaction_glyph_index, species_reference_glyph_index, layout_index, index) + + def getSpeciesReferenceLineEndingGeometricShapeX(self, reaction_id, reaction_glyph_index=0, species_reference_glyph_index=0, layout_index=0, index=0): + """ + Returns the y-coordinate of the GeometricShape object with the given index in the LineEnding object of the SpeciesReference object with the given reaction_id, reaction_glyph_index, species_reference_glyph_index and layout_index in the given SBMLDocument + + :Parameters: + + - reaction_id (string): a string that determines the id of the Reaction object + - reaction_glyph_index (int, optional): an integer (default: 0) that determines the index of the ReactionGlyph object in the given SBMLDocument + - species_reference_glyph_index (int, optional): an integer (default: 0) that determines the index of the SpeciesReferenceGlyph object in the given SBMLDocument + - layout_index (int, optional): an integer (default: 0) that determines the index of the Layout object in the given SBMLDocument + - index (int, optional): an integer (default: 0) that determines the index of the GeometricShape object in the LineEnding object of the SpeciesReference object + + :Returns: + + a float that determines the y-coordinate of the GeometricShape object with the given index in the LineEnding object of the SpeciesReference object with the given reaction_id, reaction_glyph_index, species_reference_glyph_index and layout_index in the given SBMLDocument + """ + lib.c_api_getSpeciesReferenceLineEndingGeometricShapeY.restype = ctypes.c_double + return lib.c_api_getSpeciesReferenceLineEndingGeometricShapeY(self.sbml_object, str(reaction_id).encode(), reaction_glyph_index, species_reference_glyph_index, layout_index, index) + + def setSpeciesReferenceLineEndingGeometricShapeY(self, reaction_id, y, reaction_glyph_index=0, species_reference_glyph_index=0, layout_index=0, index=0): + """ + Sets the y-coordinate of the GeometricShape object with the given index in the LineEnding object of the SpeciesReference object with the given reaction_id, reaction_glyph_index, species_reference_glyph_index and layout_index in the given SBMLDocument + + :Parameters: + + - reaction_id (string): a string that determines the id of the Reaction object + - y (float): a float that determines the y-coordinate of the GeometricShape object + - reaction_glyph_index (int, optional): an integer (default: 0) that determines the index of the ReactionGlyph object in the given SBMLDocument + - species_reference_glyph_index (int, optional): an integer (default: 0) that determines the index of the SpeciesReferenceGlyph object in the given SBMLDocument + - layout_index (int, optional): an integer (default: 0) that determines the index of the Layout object in the given SBMLDocument + - index (int, optional): an integer (default: 0) that determines the index of the GeometricShape object in the LineEnding object of the SpeciesReference object + + :Returns: + + true on success and false if the y-coordinate of the GeometricShape object could not be set + """ + return lib.c_api_setSpeciesReferenceLineEndingGeometricShapeY(self.sbml_object, str(reaction_id).encode(), ctypes.c_double(y), reaction_glyph_index, species_reference_glyph_index, layout_index, index) + + def setReactionLineEndingGeometricShapeY(self, reaction_id, y, reaction_glyph_index=0, layout_index=0, index=0): + """ + Sets the y-coordinate of the GeometricShape object with the given index in the LineEnding object of the Reaction object with the given reaction_id, reaction_glyph_index and layout_index in the given SBMLDocument + + :Parameters: + + - reaction_id (string): a string that determines the id of the Reaction object + - y (float): a float that determines the y-coordinate of the GeometricShape object + - reaction_glyph_index (int, optional): an integer (default: 0) that determines the index of the ReactionGlyph object in the given SBMLDocument + - layout_index (int, optional): an integer (default: 0) that determines the index of the Layout object in the given SBMLDocument + - index (int, optional): an integer (default: 0) that determines the index of the GeometricShape object in the LineEnding object of the Reaction object + + :Returns: + + true on success and false if the y-coordinate of the GeometricShape object could not be set + """ + return lib.c_api_setReactionLineEndingGeometricShapeY(self.sbml_object, str(reaction_id).encode(), ctypes.c_double(y), reaction_glyph_index, layout_index, index) + + def isSetLineEndingGeometricShapeWidth(self, line_ending_id, index=0, render_index=0): + """ + Returns whether the width of the GeometricShape object with the given index in the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument is set + + :Parameters: + + - line_ending_id (string): a string that determines the id of the LineEnding object + - render_index (int, optional): an integer (default: 0) that determines the index of the RenderInformation object in the given SBMLDocument + - index (int, optional): an integer (default: 0) that determines the index of the GeometricShape object in the LineEnding object + + :Returns: + + true if the width of the GeometricShape object with the given index in the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument is set and false otherwise + """ + return lib.c_api_isSetLineEndingGeometricShapeWidth(self.sbml_object, str(line_ending_id).encode(), index, render_index) + + def getLineEndingGeometricShapeWidth(self, line_ending_id, index=0, render_index=0): + """ + Returns the width of the GeometricShape object with the given index in the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument + + :Parameters: + + - line_ending_id (string): a string that determines the id of the LineEnding object + - render_index (int, optional): an integer (default: 0) that determines the index of the RenderInformation object in the given SBMLDocument + - index (int, optional): an integer (default: 0) that determines the index of the GeometricShape object in the LineEnding object + + :Returns: + + a float that determines the width of the GeometricShape object with the given index in the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument + """ + lib.c_api_getLineEndingGeometricShapeWidth.restype = ctypes.c_double + return lib.c_api_getLineEndingGeometricShapeWidth(self.sbml_object, str(line_ending_id).encode(), index, render_index) + + def setLineEndingGeometricShapeWidth(self, line_ending_id, width, index=0, render_index=0): + """ + Sets the width of the GeometricShape object with the given index in the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument + + :Parameters: + + - line_ending_id (string): a string that determines the id of the LineEnding object + - width (float): a float that determines the width of the GeometricShape object + - render_index (int, optional): an integer (default: 0) that determines the index of the RenderInformation object in the given SBMLDocument + - index (int, optional): an integer (default: 0) that determines the index of the GeometricShape object in the LineEnding object + + :Returns: + + true on success and false if the width of the GeometricShape object could not be set + """ + return lib.c_api_setLineEndingGeometricShapeWidth(self.sbml_object, str(line_ending_id).encode(), ctypes.c_double(width), index, render_index) + + def isSetSpeciesReferenceLineEndingGeometricShapeWidth(self, reaction_id, reaction_glyph_index=0, species_reference_glyph_index=0, layout_index=0, index=0): + """ + Returns whether the width of the GeometricShape object with the given index in the LineEnding object of the SpeciesReference object with the given reaction_id, reaction_glyph_index, species_reference_glyph_index and layout_index in the given SBMLDocument is set + + :Parameters: + + - reaction_id (string): a string that determines the id of the Reaction object + - reaction_glyph_index (int, optional): an integer (default: 0) that determines the index of the ReactionGlyph object in the given SBMLDocument + - species_reference_glyph_index (int, optional): an integer (default: 0) that determines the index of the SpeciesReferenceGlyph object in the given SBMLDocument + - layout_index (int, optional): an integer (default: 0) that determines the index of the Layout object in the given SBMLDocument + - index (int, optional): an integer (default: 0) that determines the index of the GeometricShape object in the LineEnding object of the SpeciesReference object + + :Returns: + + true if the width of the GeometricShape object with the given index in the LineEnding object of the SpeciesReference object with the given reaction_id, reaction_glyph_index, species_reference_glyph_index and layout_index in the given SBMLDocument is set and false otherwise + """ + return lib.c_api_isSetSpeciesReferenceLineEndingGeometricShapeWidth(self.sbml_object, str(reaction_id).encode(), reaction_glyph_index, species_reference_glyph_index, layout_index, index) + + def getSpeciesReferenceLineEndingGeometricShapeWidth(self, reaction_id, reaction_glyph_index=0, species_reference_glyph_index=0, layout_index=0, index=0): + """ + Returns the width of the GeometricShape object with the given index in the LineEnding object of the SpeciesReference object with the given reaction_id, reaction_glyph_index, species_reference_glyph_index and layout_index in the given SBMLDocument + + :Parameters: + + - reaction_id (string): a string that determines the id of the Reaction object + - reaction_glyph_index (int, optional): an integer (default: 0) that determines the index of the ReactionGlyph object in the given SBMLDocument + - species_reference_glyph_index (int, optional): an integer (default: 0) that determines the index of the SpeciesReferenceGlyph object in the given SBMLDocument + - layout_index (int, optional): an integer (default: 0) that determines the index of the Layout object in the given SBMLDocument + - index (int, optional): an integer (default: 0) that determines the index of the GeometricShape object in the LineEnding object of the SpeciesReference object + + :Returns: + + a float that determines the width of the GeometricShape object with the given index in the LineEnding object of the SpeciesReference object with the given reaction_id, reaction_glyph_index, species_reference_glyph_index and layout_index in the given SBMLDocument + """ + lib.c_api_getSpeciesReferenceLineEndingGeometricShapeWidth.restype = ctypes.c_double + return lib.c_api_getSpeciesReferenceLineEndingGeometricShapeWidth(self.sbml_object, str(reaction_id).encode(), reaction_glyph_index, species_reference_glyph_index, layout_index, index) + + def setSpeciesReferenceLineEndingGeometricShapeWidth(self, reaction_id, width, reaction_glyph_index=0, species_reference_glyph_index=0, layout_index=0, index=0): + """ + Sets the width of the GeometricShape object with the given index in the LineEnding object of the SpeciesReference object with the given reaction_id, reaction_glyph_index, species_reference_glyph_index and layout_index in the given SBMLDocument + + :Parameters: + + - reaction_id (string): a string that determines the id of the Reaction object + - width (float): a float that determines the width of the GeometricShape object + - reaction_glyph_index (int, optional): an integer (default: 0) that determines the index of the ReactionGlyph object in the given SBMLDocument + - species_reference_glyph_index (int, optional): an integer (default: 0) that determines the index of the SpeciesReferenceGlyph object in the given SBMLDocument + - layout_index (int, optional): an integer (default: 0) that determines the index of the Layout object in the given SBMLDocument + - index (int, optional): an integer (default: 0) that determines the index of the GeometricShape object in the LineEnding object of the SpeciesReference object + + :Returns: + + true on success and false if the width of the GeometricShape object could not be set + """ + return lib.c_api_setSpeciesReferenceLineEndingGeometricShapeWidth(self.sbml_object, str(reaction_id).encode(), ctypes.c_double(width), reaction_glyph_index, species_reference_glyph_index, layout_index, index) + + def setReactionLineEndingGeometricShapeWidth(self, reaction_id, width, reaction_glyph_index=0, layout_index=0, index=0): + """ + Sets the width of the GeometricShape object with the given index in the LineEnding object of the Reaction object with the given reaction_id, reaction_glyph_index and layout_index in the given SBMLDocument + + :Parameters: + + - reaction_id (string): a string that determines the id of the Reaction object + - width (float): a float that determines the width of the GeometricShape object + - reaction_glyph_index (int, optional): an integer (default: 0) that determines the index of the ReactionGlyph object in the given SBMLDocument + - layout_index (int, optional): an integer (default: 0) that determines the index of the Layout object in the given SBMLDocument + - index (int, optional): an integer (default: 0) that determines the index of the GeometricShape object in the LineEnding object of the Reaction object + + :Returns: + + true on success and false if the width of the GeometricShape object could not be set + """ + return lib.c_api_setReactionLineEndingGeometricShapeWidth(self.sbml_object, str(reaction_id).encode(), ctypes.c_double(width), reaction_glyph_index, layout_index, index) + + def isSetLineEndingGeometricShapeHeight(self, line_ending_id, index=0, render_index=0): + """ + Returns whether the height of the GeometricShape object with the given index in the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument is set + + :Parameters: + + - line_ending_id (string): a string that determines the id of the LineEnding object + - render_index (int, optional): an integer (default: 0) that determines the index of the RenderInformation object in the given SBMLDocument + - index (int, optional): an integer (default: 0) that determines the index of the GeometricShape object in the LineEnding object + + :Returns: + + true if the height of the GeometricShape object with the given index in the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument is set and false otherwise + """ + return lib.c_api_isSetLineEndingGeometricShapeHeight(self.sbml_object, str(line_ending_id).encode(), index, render_index) + + def getLineEndingGeometricShapeHeight(self, line_ending_id, index=0, render_index=0): + """ + Returns the height of the GeometricShape object with the given index in the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument + + :Parameters: + + - line_ending_id (string): a string that determines the id of the LineEnding object + - render_index (int, optional): an integer (default: 0) that determines the index of the RenderInformation object in the given SBMLDocument + - index (int, optional): an integer (default: 0) that determines the index of the GeometricShape object in the LineEnding object + + :Returns: + + a float that determines the height of the GeometricShape object with the given index in the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument + """ + lib.c_api_getLineEndingGeometricShapeHeight.restype = ctypes.c_double + return lib.c_api_getLineEndingGeometricShapeHeight(self.sbml_object, str(line_ending_id).encode(), index, render_index) + + def setLineEndingGeometricShapeHeight(self, line_ending_id, height, index=0, render_index=0): + """ + Sets the height of the GeometricShape object with the given index in the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument + + :Parameters: + + - line_ending_id (string): a string that determines the id of the LineEnding object + - height (float): a float that determines the height of the GeometricShape object + - render_index (int, optional): an integer (default: 0) that determines the index of the RenderInformation object in the given SBMLDocument + - index (int, optional): an integer (default: 0) that determines the index of the GeometricShape object in the LineEnding object + + :Returns: + + true on success and false if the height of the GeometricShape object could not be set + """ + return lib.c_api_setLineEndingGeometricShapeHeight(self.sbml_object, str(line_ending_id).encode(), ctypes.c_double(height), index, render_index) + + def isSetSpeciesReferenceLineEndingGeometricShapeHeight(self, reaction_id, reaction_glyph_index=0, species_reference_glyph_index=0, layout_index=0, index=0): + """ + Returns whether the height of the GeometricShape object with the given index in the LineEnding object of the SpeciesReference object with the given reaction_id, reaction_glyph_index, species_reference_glyph_index and layout_index in the given SBMLDocument is set + + :Parameters: + + - reaction_id (string): a string that determines the id of the Reaction object + - reaction_glyph_index (int, optional): an integer (default: 0) that determines the index of the ReactionGlyph object in the given SBMLDocument + - species_reference_glyph_index (int, optional): an integer (default: 0) that determines the index of the SpeciesReferenceGlyph object in the given SBMLDocument + - layout_index (int, optional): an integer (default: 0) that determines the index of the Layout object in the given SBMLDocument + - index (int, optional): an integer (default: 0) that determines the index of the GeometricShape object in the LineEnding object of the SpeciesReference object + + :Returns: + + true if the height of the GeometricShape object with the given index in the LineEnding object of the SpeciesReference object with the given reaction_id, reaction_glyph_index, species_reference_glyph_index and layout_index in the given SBMLDocument is set and false otherwise + """ + return lib.c_api_isSetSpeciesReferenceLineEndingGeometricShapeHeight(self.sbml_object, str(reaction_id).encode(), reaction_glyph_index, species_reference_glyph_index, layout_index, index) + + def getSpeciesReferenceLineEndingGeometricShapeHeight(self, reaction_id, reaction_glyph_index=0, species_reference_glyph_index=0, layout_index=0, index=0): + """ + Returns the height of the GeometricShape object with the given index in the LineEnding object of the SpeciesReference object with the given reaction_id, reaction_glyph_index, species_reference_glyph_index and layout_index in the given SBMLDocument + + :Parameters: + + - reaction_id (string): a string that determines the id of the Reaction object + - reaction_glyph_index (int, optional): an integer (default: 0) that determines the index of the ReactionGlyph object in the given SBMLDocument + - species_reference_glyph_index (int, optional): an integer (default: 0) that determines the index of the SpeciesReferenceGlyph object in the given SBMLDocument + - layout_index (int, optional): an integer (default: 0) that determines the index of the Layout object in the given SBMLDocument + - index (int, optional): an integer (default: 0) that determines the index of the GeometricShape object in the LineEnding object of the SpeciesReference object + + :Returns: + + a float that determines the height of the GeometricShape object with the given index in the LineEnding object of the SpeciesReference object with the given reaction_id, reaction_glyph_index, species_reference_glyph_index and layout_index in the given SBMLDocument + """ + lib.c_api_getSpeciesReferenceLineEndingGeometricShapeHeight.restype = ctypes.c_double + return lib.c_api_getSpeciesReferenceLineEndingGeometricShapeHeight(self.sbml_object, str(reaction_id).encode(), reaction_glyph_index, species_reference_glyph_index, layout_index, index) + + def setSpeciesReferenceLineEndingGeometricShapeHeight(self, reaction_id, height, reaction_glyph_index=0, species_reference_glyph_index=0, layout_index=0, index=0): + """ + Sets the height of the GeometricShape object with the given index in the LineEnding object of the SpeciesReference object with the given reaction_id, reaction_glyph_index, species_reference_glyph_index and layout_index in the given SBMLDocument + + :Parameters: + + - reaction_id (string): a string that determines the id of the Reaction object + - height (float): a float that determines the height of the GeometricShape object + - reaction_glyph_index (int, optional): an integer (default: 0) that determines the index of the ReactionGlyph object in the given SBMLDocument + - species_reference_glyph_index (int, optional): an integer (default: 0) that determines the index of the SpeciesReferenceGlyph object in the given SBMLDocument + - layout_index (int, optional): an integer (default: 0) that determines the index of the Layout object in the given SBMLDocument + - index (int, optional): an integer (default: 0) that determines the index of the GeometricShape object in the LineEnding object of the SpeciesReference object + + :Returns: + + true on success and false if the height of the GeometricShape object could not be set + """ + return lib.c_api_setSpeciesReferenceLineEndingGeometricShapeHeight(self.sbml_object, str(reaction_id).encode(), ctypes.c_double(height), reaction_glyph_index, species_reference_glyph_index, layout_index, index) + + def setReactionLineEndingGeometricShapeHeight(self, reaction_id, height, reaction_glyph_index=0, layout_index=0, index=0): + """ + Sets the height of the GeometricShape object with the given index in the LineEnding object of the Reaction object with the given reaction_id, reaction_glyph_index and layout_index in the given SBMLDocument + + :Parameters: + + - reaction_id (string): a string that determines the id of the Reaction object + - height (float): a float that determines the height of the GeometricShape object + - reaction_glyph_index (int, optional): an integer (default: 0) that determines the index of the ReactionGlyph object in the given SBMLDocument + - layout_index (int, optional): an integer (default: 0) that determines the index of the Layout object in the given SBMLDocument + - index (int, optional): an integer (default: 0) that determines the index of the GeometricShape object in the LineEnding object of the Reaction object + + :Returns: + + true on success and false if the height of the GeometricShape object could not be set + """ + return lib.c_api_setReactionLineEndingGeometricShapeHeight(self.sbml_object, str(reaction_id).encode(), ctypes.c_double(height), reaction_glyph_index, layout_index, index) + + def isSetLineEndingGeometricShapeRatio(self, line_ending_id, index=0, render_index=0): + """ + Returns whether the ratio of the GeometricShape object with the given index in the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument is set + + :Parameters: + + - line_ending_id (string): a string that determines the id of the LineEnding object + - render_index (int, optional): an integer (default: 0) that determines the index of the RenderInformation object in the given SBMLDocument + - index (int, optional): an integer (default: 0) that determines the index of the GeometricShape object in the LineEnding object + + :Returns: + + true if the ratio of the GeometricShape object with the given index in the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument is set and false otherwise + """ + return lib.c_api_isSetLineEndingGeometricShapeRatio(self.sbml_object, str(line_ending_id).encode(), index, render_index) + + def getLineEndingGeometricShapeRatio(self, line_ending_id, index=0, render_index=0): + """ + Returns the ratio of the GeometricShape object with the given index in the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument + + :Parameters: + + - line_ending_id (string): a string that determines the id of the LineEnding object + - render_index (int, optional): an integer (default: 0) that determines the index of the RenderInformation object in the given SBMLDocument + - index (int, optional): an integer (default: 0) that determines the index of the GeometricShape object in the LineEnding object + + :Returns: + + a float that determines the ratio of the GeometricShape object with the given index in the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument + """ + lib.c_api_getLineEndingGeometricShapeRatio.restype = ctypes.c_double + return lib.c_api_getLineEndingGeometricShapeRatio(self.sbml_object, str(line_ending_id).encode(), index, render_index) + + def setLineEndingGeometricShapeRatio(self, line_ending_id, ratio, index=0, render_index=0): + """ + Sets the ratio of the GeometricShape object with the given index in the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument + + :Parameters: + + - line_ending_id (string): a string that determines the id of the LineEnding object + - ratio (float): a float that determines the ratio of the GeometricShape object + - render_index (int, optional): an integer (default: 0) that determines the index of the RenderInformation object in the given SBMLDocument + - index (int, optional): an integer (default: 0) that determines the index of the GeometricShape object in the LineEnding object + + :Returns: + + true on success and false if the ratio of the GeometricShape object could not be set + """ + return lib.c_api_setLineEndingGeometricShapeRatio(self.sbml_object, str(line_ending_id).encode(), ctypes.c_double(ratio), index, render_index) + + def isSetSpeciesReferenceLineEndingGeometricShapeRatio(self, reaction_id, reaction_glyph_index=0, species_reference_glyph_index=0, layout_index=0, index=0): + """ + Returns whether the ratio of the GeometricShape object with the given index in the LineEnding object of the SpeciesReference object with the given reaction_id, reaction_glyph_index, species_reference_glyph_index and layout_index in the given SBMLDocument is set + + :Parameters: + + - reaction_id (string): a string that determines the id of the Reaction object + - reaction_glyph_index (int, optional): an integer (default: 0) that determines the index of the ReactionGlyph object in the given SBMLDocument + - species_reference_glyph_index (int, optional): an integer (default: 0) that determines the index of the SpeciesReferenceGlyph object in the given SBMLDocument + - layout_index (int, optional): an integer (default: 0) that determines the index of the Layout object in the given SBMLDocument + - index (int, optional): an integer (default: 0) that determines the index of the GeometricShape object in the LineEnding object of the SpeciesReference object + + :Returns: + + true if the ratio of the GeometricShape object with the given index in the LineEnding object of the SpeciesReference object with the given reaction_id, reaction_glyph_index, species_reference_glyph_index and layout_index in the given SBMLDocument is set and false otherwise + """ + return lib.c_api_isSetSpeciesReferenceLineEndingGeometricShapeRatio(self.sbml_object, str(reaction_id).encode(), reaction_glyph_index, species_reference_glyph_index, layout_index, index) + + def getSpeciesReferenceLineEndingGeometricShapeRatio(self, reaction_id, reaction_glyph_index=0, species_reference_glyph_index=0, layout_index=0, index=0): + """ + Returns the ratio of the GeometricShape object with the given index in the LineEnding object of the SpeciesReference object with the given reaction_id, reaction_glyph_index, species_reference_glyph_index and layout_index in the given SBMLDocument + + :Parameters: + + - reaction_id (string): a string that determines the id of the Reaction object + - reaction_glyph_index (int, optional): an integer (default: 0) that determines the index of the ReactionGlyph object in the given SBMLDocument + - species_reference_glyph_index (int, optional): an integer (default: 0) that determines the index of the SpeciesReferenceGlyph object in the given SBMLDocument + - layout_index (int, optional): an integer (default: 0) that determines the index of the Layout object in the given SBMLDocument + - index (int, optional): an integer (default: 0) that determines the index of the GeometricShape object in the LineEnding object of the SpeciesReference object + + :Returns: + + a float that determines the ratio of the GeometricShape object with the given index in the LineEnding object of the SpeciesReference object with the given reaction_id, reaction_glyph_index, species_reference_glyph_index and layout_index in the given SBMLDocument + """ + lib.c_api_getSpeciesReferenceLineEndingGeometricShapeRatio.restype = ctypes.c_double + return lib.c_api_getSpeciesReferenceLineEndingGeometricShapeRatio(self.sbml_object, str(reaction_id).encode(), reaction_glyph_index, species_reference_glyph_index, layout_index, index) + + def setSpeciesReferenceLineEndingGeometricShapeRatio(self, reaction_id, ratio, reaction_glyph_index=0, species_reference_glyph_index=0, layout_index=0, index=0): + """ + Sets the ratio of the GeometricShape object with the given index in the LineEnding object of the SpeciesReference object with the given reaction_id, reaction_glyph_index, species_reference_glyph_index and layout_index in the given SBMLDocument + + :Parameters: + + - reaction_id (string): a string that determines the id of the Reaction object + - ratio (float): a float that determines the ratio of the GeometricShape object + - reaction_glyph_index (int, optional): an integer (default: 0) that determines the index of the ReactionGlyph object in the given SBMLDocument + - species_reference_glyph_index (int, optional): an integer (default: 0) that determines the index of the SpeciesReferenceGlyph object in the given SBMLDocument + - layout_index (int, optional): an integer (default: 0) that determines the index of the Layout object in the given SBMLDocument + - index (int, optional): an integer (default: 0) that determines the index of the GeometricShape object in the LineEnding object of the SpeciesReference object + + :Returns: + + true on success and false if the ratio of the GeometricShape object could not be set + """ + return lib.c_api_setSpeciesReferenceLineEndingGeometricShapeRatio(self.sbml_object, str(reaction_id).encode(), ctypes.c_double(ratio), reaction_glyph_index, species_reference_glyph_index, layout_index, index) + + def setReactionLineEndingGeometricShapeRatio(self, reaction_id, ratio, reaction_glyph_index=0, layout_index=0, index=0): + """ + Sets the ratio of the GeometricShape object with the given index in the LineEnding object of the Reaction object with the given reaction_id, reaction_glyph_index and layout_index in the given SBMLDocument + + :Parameters: + + - reaction_id (string): a string that determines the id of the Reaction object + - ratio (float): a float that determines the ratio of the GeometricShape object + - reaction_glyph_index (int, optional): an integer (default: 0) that determines the index of the ReactionGlyph object in the given SBMLDocument + - layout_index (int, optional): an integer (default: 0) that determines the index of the Layout object in the given SBMLDocument + - index (int, optional): an integer (default: 0) that determines the index of the GeometricShape object in the LineEnding object of the Reaction object + + :Returns: + + true on success and false if the ratio of the GeometricShape object could not be set + """ + return lib.c_api_setReactionLineEndingGeometricShapeRatio(self.sbml_object, str(reaction_id).encode(), ctypes.c_double(ratio), reaction_glyph_index, layout_index, index) + + def isSetLineEndingGeometricShapeBorderRadiusX(self, line_ending_id, index=0, render_index=0): + """ + Returns whether the x-radius of the border of the GeometricShape object with the given index in the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument is set + + :Parameters: + + - line_ending_id (string): a string that determines the id of the LineEnding object + - render_index (int, optional): an integer (default: 0) that determines the index of the RenderInformation object in the given SBMLDocument + - index (int, optional): an integer (default: 0) that determines the index of the GeometricShape object in the LineEnding object + + :Returns: + + true if the x-radius of the border of the GeometricShape object with the given index in the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument is set and false otherwise + """ + return lib.c_api_isSetLineEndingGeometricShapeBorderRadiusX(self.sbml_object, str(line_ending_id).encode(), index, render_index) + + def getLineEndingGeometricShapeBorderRadiusX(self, line_ending_id, index=0, render_index=0): + """ + Returns the x-radius of the border of the GeometricShape object with the given index in the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument + + :Parameters: + + - line_ending_id (string): a string that determines the id of the LineEnding object + - render_index (int, optional): an integer (default: 0) that determines the index of the RenderInformation object in the given SBMLDocument + - index (int, optional): an integer (default: 0) that determines the index of the GeometricShape object in the LineEnding object + + :Returns: + + a float that determines the x-radius of the border of the GeometricShape object with the given index in the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument + """ + lib.c_api_getLineEndingGeometricShapeBorderRadiusX.restype = ctypes.c_double + return lib.c_api_getLineEndingGeometricShapeBorderRadiusX(self.sbml_object, str(line_ending_id).encode(), index, render_index) + + def setLineEndingGeometricShapeBorderRadiusX(self, line_ending_id, x_radius, index=0, render_index=0): + """ + Sets the x-radius of the border of the GeometricShape object with the given index in the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument + + :Parameters: + + - line_ending_id (string): a string that determines the id of the LineEnding object + - x_radius (float): a float that determines the x-radius of the border of the GeometricShape object + - render_index (int, optional): an integer (default: 0) that determines the index of the RenderInformation object in the given SBMLDocument + - index (int, optional): an integer (default: 0) that determines the index of the GeometricShape object in the LineEnding object + + :Returns: + + true on success and false if the x-radius of the border of the GeometricShape object could not be set + """ + return lib.c_api_setLineEndingGeometricShapeBorderRadiusX(self.sbml_object, str(line_ending_id).encode(), ctypes.c_double(x_radius), index, render_index) + + def isSetSpeciesReferenceLineEndingGeometricShapeBorderRadiusX(self, reaction_id, reaction_glyph_index=0, species_reference_glyph_index=0, layout_index=0, index=0): + """ + Returns whether the x-radius of the border of the GeometricShape object with the given index in the LineEnding object of the SpeciesReference object with the given reaction_id, reaction_glyph_index, species_reference_glyph_index and layout_index in the given SBMLDocument is set + + :Parameters: + + - reaction_id (string): a string that determines the id of the Reaction object + - reaction_glyph_index (int, optional): an integer (default: 0) that determines the index of the ReactionGlyph object in the given SBMLDocument + - species_reference_glyph_index (int, optional): an integer (default: 0) that determines the index of the SpeciesReferenceGlyph object in the given SBMLDocument + - layout_index (int, optional): an integer (default: 0) that determines the index of the Layout object in the given SBMLDocument + - index (int, optional): an integer (default: 0) that determines the index of the GeometricShape object in the LineEnding object of the SpeciesReference object + + :Returns: + + true if the x-radius of the border of the GeometricShape object with the given index in the LineEnding object of the SpeciesReference object with the given reaction_id, reaction_glyph_index, species_reference_glyph_index and layout_index in the given SBMLDocument is set and false otherwise + """ + return lib.c_api_isSetSpeciesReferenceLineEndingGeometricShapeBorderRadiusX(self.sbml_object, str(reaction_id).encode(), reaction_glyph_index, species_reference_glyph_index, layout_index, index) + + def getSpeciesReferenceLineEndingGeometricShapeBorderRadiusX(self, reaction_id, reaction_glyph_index=0, species_reference_glyph_index=0, layout_index=0, index=0): + """ + Returns the x-radius of the border of the GeometricShape object with the given index in the LineEnding object of the SpeciesReference object with the given reaction_id, reaction_glyph_index, species_reference_glyph_index and layout_index in the given SBMLDocument + + :Parameters: + + - reaction_id (string): a string that determines the id of the Reaction object + - reaction_glyph_index (int, optional): an integer (default: 0) that determines the index of the ReactionGlyph object in the given SBMLDocument + - species_reference_glyph_index (int, optional): an integer (default: 0) that determines the index of the SpeciesReferenceGlyph object in the given SBMLDocument + - layout_index (int, optional): an integer (default: 0) that determines the index of the Layout object in the given SBMLDocument + - index (int, optional): an integer (default: 0) that determines the index of the GeometricShape object in the LineEnding object of the SpeciesReference object + + :Returns: + + a float that determines the x-radius of the border of the GeometricShape object with the given index in the LineEnding object of the SpeciesReference object with the given reaction_id, reaction_glyph_index, species_reference_glyph_index and layout_index in the given SBMLDocument + """ + lib.c_api_getSpeciesReferenceLineEndingGeometricShapeBorderRadiusX.restype = ctypes.c_double + return lib.c_api_getSpeciesReferenceLineEndingGeometricShapeBorderRadiusX(self.sbml_object, str(reaction_id).encode(), reaction_glyph_index, species_reference_glyph_index, layout_index, index) + + def setSpeciesReferenceLineEndingGeometricShapeBorderRadiusX(self, reaction_id, x_radius, reaction_glyph_index=0, species_reference_glyph_index=0, layout_index=0, index=0): + """ + Sets the x-radius of the border of the GeometricShape object with the given index in the LineEnding object of the SpeciesReference object with the given reaction_id, reaction_glyph_index, species_reference_glyph_index and layout_index in the given SBMLDocument + + :Parameters: + + - reaction_id (string): a string that determines the id of the Reaction object + - x_radius (float): a float that determines the x-radius of the border of the GeometricShape object + - reaction_glyph_index (int, optional): an integer (default: 0) that determines the index of the ReactionGlyph object in the given SBMLDocument + - species_reference_glyph_index (int, optional): an integer (default: 0) that determines the index of the SpeciesReferenceGlyph object in the given SBMLDocument + - layout_index (int, optional): an integer (default: 0) that determines the index of the Layout object in the given SBMLDocument + - index (int, optional): an integer (default: 0) that determines the index of the GeometricShape object in the LineEnding object of the SpeciesReference object + + :Returns: + + true on success and false if the x-radius of the border of the GeometricShape object could not be set + """ + return lib.c_api_setSpeciesReferenceLineEndingGeometricShapeBorderRadiusX(self.sbml_object, str(reaction_id).encode(), ctypes.c_double(x_radius), reaction_glyph_index, species_reference_glyph_index, layout_index, index) + + def setReactionLineEndingGeometricShapeBorderRadiusX(self, reaction_id, x_radius, reaction_glyph_index=0, layout_index=0, index=0): + """ + Sets the x-radius of the border of the GeometricShape object with the given index in the LineEnding object of the Reaction object with the given reaction_id, reaction_glyph_index and layout_index in the given SBMLDocument + + :Parameters: + + - reaction_id (string): a string that determines the id of the Reaction object + - x_radius (float): a float that determines the x-radius of the border of the GeometricShape object + - reaction_glyph_index (int, optional): an integer (default: 0) that determines the index of the ReactionGlyph object in the given SBMLDocument + - layout_index (int, optional): an integer (default: 0) that determines the index of the Layout object in the given SBMLDocument + - index (int, optional): an integer (default: 0) that determines the index of the GeometricShape object in the LineEnding object of the Reaction object + + :Returns: + + true on success and false if the x-radius of the border of the GeometricShape object could not be set + """ + return lib.c_api_setReactionLineEndingGeometricShapeBorderRadiusX(self.sbml_object, str(reaction_id).encode(), ctypes.c_double(x_radius), reaction_glyph_index, layout_index, index) + + def isSetLineEndingGeometricShapeBorderRadiusY(self, line_ending_id, index=0, render_index=0): + """ + Returns whether the y-radius of the border of the GeometricShape object with the given index in the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument is set + + :Parameters: + + - line_ending_id (string): a string that determines the id of the LineEnding object + - render_index (int, optional): an integer (default: 0) that determines the index of the RenderInformation object in the given SBMLDocument + - index (int, optional): an integer (default: 0) that determines the index of the GeometricShape object in the LineEnding object + + :Returns: + + true if the y-radius of the border of the GeometricShape object with the given index in the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument is set and false otherwise + """ + return lib.c_api_isSetLineEndingGeometricShapeBorderRadiusY(self.sbml_object, str(line_ending_id).encode(), index, render_index) + + def getLineEndingGeometricShapeBorderRadiusY(self, line_ending_id, index=0, render_index=0): + """ + Returns the y-radius of the border of the GeometricShape object with the given index in the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument + + :Parameters: + + - line_ending_id (string): a string that determines the id of the LineEnding object + - render_index (int, optional): an integer (default: 0) that determines the index of the RenderInformation object in the given SBMLDocument + - index (int, optional): an integer (default: 0) that determines the index of the GeometricShape object in the LineEnding object + + :Returns: + + a float that determines the y-radius of the border of the GeometricShape object with the given index in the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument + """ + lib.c_api_getLineEndingGeometricShapeBorderRadiusY.restype = ctypes.c_double + return lib.c_api_getLineEndingGeometricShapeBorderRadiusY(self.sbml_object, str(line_ending_id).encode(), index, render_index) + + def setLineEndingGeometricShapeBorderRadiusY(self, line_ending_id, y_radius, index=0, render_index=0): + """ + Sets the y-radius of the border of the GeometricShape object with the given index in the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument + + :Parameters: + + - line_ending_id (string): a string that determines the id of the LineEnding object + - y_radius (float): a float that determines the y-radius of the border of the GeometricShape object + - render_index (int, optional): an integer (default: 0) that determines the index of the RenderInformation object in the given SBMLDocument + - index (int, optional): an integer (default: 0) that determines the index of the GeometricShape object in the LineEnding object + + :Returns: + + true on success and false if the y-radius of the border of the GeometricShape object could not be set + """ + return lib.c_api_setLineEndingGeometricShapeBorderRadiusY(self.sbml_object, str(line_ending_id).encode(), ctypes.c_double(y_radius), index, render_index) + + def isSetSpeciesReferenceLineEndingGeometricShapeBorderRadiusY(self, reaction_id, reaction_glyph_index=0, species_reference_glyph_index=0, layout_index=0, index=0): + """ + Returns whether the y-radius of the border of the GeometricShape object with the given index in the LineEnding object of the SpeciesReference object with the given reaction_id, reaction_glyph_index, species_reference_glyph_index and layout_index in the given SBMLDocument is set + + :Parameters: + + - reaction_id (string): a string that determines the id of the Reaction object + - reaction_glyph_index (int, optional): an integer (default: 0) that determines the index of the ReactionGlyph object in the given SBMLDocument + - species_reference_glyph_index (int, optional): an integer (default: 0) that determines the index of the SpeciesReferenceGlyph object in the given SBMLDocument + - layout_index (int, optional): an integer (default: 0) that determines the index of the Layout object in the given SBMLDocument + - index (int, optional): an integer (default: 0) that determines the index of the GeometricShape object in the LineEnding object of the SpeciesReference object + + :Returns: + + true if the y-radius of the border of the GeometricShape object with the given index in the LineEnding object of the SpeciesReference object with the given reaction_id, reaction_glyph_index, species_reference_glyph_index and layout_index in the given SBMLDocument is set and false otherwise + """ + return lib.c_api_isSetSpeciesReferenceLineEndingGeometricShapeBorderRadiusY(self.sbml_object, str(reaction_id).encode(), reaction_glyph_index, species_reference_glyph_index, layout_index, index) + + def getSpeciesReferenceLineEndingGeometricShapeBorderRadiusY(self, reaction_id, reaction_glyph_index=0, species_reference_glyph_index=0, layout_index=0, index=0): + """ + Returns the y-radius of the border of the GeometricShape object with the given index in the LineEnding object of the SpeciesReference object with the given reaction_id, reaction_glyph_index, species_reference_glyph_index and layout_index in the given SBMLDocument + + :Parameters: + + - reaction_id (string): a string that determines the id of the Reaction object + - reaction_glyph_index (int, optional): an integer (default: 0) that determines the index of the ReactionGlyph object in the given SBMLDocument + - species_reference_glyph_index (int, optional): an integer (default: 0) that determines the index of the SpeciesReferenceGlyph object in the given SBMLDocument + - layout_index (int, optional): an integer (default: 0) that determines the index of the Layout object in the given SBMLDocument + - index (int, optional): an integer (default: 0) that determines the index of the GeometricShape object in the LineEnding object of the SpeciesReference object + + :Returns: + + a float that determines the y-radius of the border of the GeometricShape object with the given index in the LineEnding object of the SpeciesReference object with the given reaction_id, reaction_glyph_index, species_reference_glyph_index and layout_index in the given SBMLDocument + """ + lib.c_api_getSpeciesReferenceLineEndingGeometricShapeBorderRadiusY.restype = ctypes.c_double + return lib.c_api_getSpeciesReferenceLineEndingGeometricShapeBorderRadiusY(self.sbml_object, str(reaction_id).encode(), reaction_glyph_index, species_reference_glyph_index, layout_index, index) + + def setSpeciesReferenceLineEndingGeometricShapeBorderRadiusY(self, reaction_id, y_radius, reaction_glyph_index=0, species_reference_glyph_index=0, layout_index=0, index=0): + """ + Sets the y-radius of the border of the GeometricShape object with the given index in the LineEnding object of the SpeciesReference object with the given reaction_id, reaction_glyph_index, species_reference_glyph_index and layout_index in the given SBMLDocument + + :Parameters: + + - reaction_id (string): a string that determines the id of the Reaction object + - y_radius (float): a float that determines the y-radius of the border of the GeometricShape object + - reaction_glyph_index (int, optional): an integer (default: 0) that determines the index of the ReactionGlyph object in the given SBMLDocument + - species_reference_glyph_index (int, optional): an integer (default: 0) that determines the index of the SpeciesReferenceGlyph object in the given SBMLDocument + - layout_index (int, optional): an integer (default: 0) that determines the index of the Layout object in the given SBMLDocument + - index (int, optional): an integer (default: 0) that determines the index of the GeometricShape object in the LineEnding object of the SpeciesReference object + + :Returns: + + true on success and false if the y-radius of the border of the GeometricShape object could not be set + """ + return lib.c_api_setSpeciesReferenceLineEndingGeometricShapeBorderRadiusY(self.sbml_object, str(reaction_id).encode(), ctypes.c_double(y_radius), reaction_glyph_index, species_reference_glyph_index, layout_index, index) + + def setReactionLineEndingGeometricShapeBorderRadiusY(self, reaction_id, y_radius, reaction_glyph_index=0, layout_index=0, index=0): + """ + Sets the y-radius of the border of the GeometricShape object with the given index in the LineEnding object of the Reaction object with the given reaction_id, reaction_glyph_index and layout_index in the given SBMLDocument + + :Parameters: + + - reaction_id (string): a string that determines the id of the Reaction object + - y_radius (float): a float that determines the y-radius of the border of the GeometricShape object + - reaction_glyph_index (int, optional): an integer (default: 0) that determines the index of the ReactionGlyph object in the given SBMLDocument + - layout_index (int, optional): an integer (default: 0) that determines the index of the Layout object in the given SBMLDocument + - index (int, optional): an integer (default: 0) that determines the index of the GeometricShape object in the LineEnding object of the Reaction object + + :Returns: + + true on success and false if the y-radius of the border of the GeometricShape object could not be set + """ + return lib.c_api_setReactionLineEndingGeometricShapeBorderRadiusY(self.sbml_object, str(reaction_id).encode(), ctypes.c_double(y_radius), reaction_glyph_index, layout_index, index) + + def isSetLineEndingGeometricShapeCenterX(self, line_ending_id, index=0, render_index=0): + """ + Returns whether the x-coordinate of the center of the GeometricShape object with the given index in the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument is set + + :Parameters: + + - line_ending_id (string): a string that determines the id of the LineEnding object + - render_index (int, optional): an integer (default: 0) that determines the index of the RenderInformation object in the given SBMLDocument + - index (int, optional): an integer (default: 0) that determines the index of the GeometricShape object in the LineEnding object + + :Returns: + + true if the x-coordinate of the center of the GeometricShape object with the given index in the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument is set and false otherwise + """ + return lib.c_api_isSetLineEndingGeometricShapeCenterX(self.sbml_object, str(line_ending_id).encode(), index, render_index) + + def getLineEndingGeometricShapeCenterX(self, line_ending_id, index=0, render_index=0): + """ + Returns the x-coordinate of the center of the GeometricShape object with the given index in the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument + + :Parameters: + + - line_ending_id (string): a string that determines the id of the LineEnding object + - render_index (int, optional): an integer (default: 0) that determines the index of the RenderInformation object in the given SBMLDocument + - index (int, optional): an integer (default: 0) that determines the index of the GeometricShape object in the LineEnding object + + :Returns: + + a float that determines the x-coordinate of the center of the GeometricShape object with the given index in the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument + """ + lib.c_api_getLineEndingGeometricShapeCenterX.restype = ctypes.c_double + return lib.c_api_getLineEndingGeometricShapeCenterX(self.sbml_object, str(line_ending_id).encode(), index, render_index) + + def setLineEndingGeometricShapeCenterX(self, line_ending_id, center_x, index=0, render_index=0): + """ + Sets the x-coordinate of the center of the GeometricShape object with the given index in the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument + + :Parameters: + + - line_ending_id (string): a string that determines the id of the LineEnding object + - center_x (float): a float that determines the x-coordinate of the center of the GeometricShape object + - render_index (int, optional): an integer (default: 0) that determines the index of the RenderInformation object in the given SBMLDocument + - index (int, optional): an integer (default: 0) that determines the index of the GeometricShape object in the LineEnding object + + :Returns: + + true on success and false if the x-coordinate of the center of the GeometricShape object could not be set + """ + return lib.c_api_setLineEndingGeometricShapeCenterX(self.sbml_object, str(line_ending_id).encode(), ctypes.c_double(center_x), index, render_index) + + def isSetSpeciesReferenceLineEndingGeometricShapeCenterX(self, reaction_id, reaction_glyph_index=0, species_reference_glyph_index=0, layout_index=0, index=0): + """ + Returns whether the x-coordinate of the center of the GeometricShape object with the given index in the LineEnding object of the SpeciesReference object with the given reaction_id, reaction_glyph_index, species_reference_glyph_index and layout_index in the given SBMLDocument is set + + :Parameters: + + - reaction_id (string): a string that determines the id of the Reaction object + - reaction_glyph_index (int, optional): an integer (default: 0) that determines the index of the ReactionGlyph object in the given SBMLDocument + - species_reference_glyph_index (int, optional): an integer (default: 0) that determines the index of the SpeciesReferenceGlyph object in the given SBMLDocument + - layout_index (int, optional): an integer (default: 0) that determines the index of the Layout object in the given SBMLDocument + - index (int, optional): an integer (default: 0) that determines the index of the GeometricShape object in the LineEnding object of the SpeciesReference object + + :Returns: + + true if the x-coordinate of the center of the GeometricShape object with the given index in the LineEnding object of the SpeciesReference object with the given reaction_id, reaction_glyph_index, species_reference_glyph_index and layout_index in the given SBMLDocument is set and false otherwise + """ + return lib.c_api_isSetSpeciesReferenceLineEndingGeometricShapeCenterX(self.sbml_object, str(reaction_id).encode(), reaction_glyph_index, species_reference_glyph_index, layout_index, index) + + def getSpeciesReferenceLineEndingGeometricShapeCenterX(self, reaction_id, reaction_glyph_index=0, species_reference_glyph_index=0, layout_index=0, index=0): + """ + Returns the x-coordinate of the center of the GeometricShape object with the given index in the LineEnding object of the SpeciesReference object with the given reaction_id, reaction_glyph_index, species_reference_glyph_index and layout_index in the given SBMLDocument + + :Parameters: + + - reaction_id (string): a string that determines the id of the Reaction object + - reaction_glyph_index (int, optional): an integer (default: 0) that determines the index of the ReactionGlyph object in the given SBMLDocument + - species_reference_glyph_index (int, optional): an integer (default: 0) that determines the index of the SpeciesReferenceGlyph object in the given SBMLDocument + - layout_index (int, optional): an integer (default: 0) that determines the index of the Layout object in the given SBMLDocument + - index (int, optional): an integer (default: 0) that determines the index of the GeometricShape object in the LineEnding object of the SpeciesReference object + + :Returns: + + a float that determines the x-coordinate of the center of the GeometricShape object with the given index in the LineEnding object of the SpeciesReference object with the given reaction_id, reaction_glyph_index, species_reference_glyph_index and layout_index in the given SBMLDocument + """ + lib.c_api_getSpeciesReferenceLineEndingGeometricShapeCenterX.restype = ctypes.c_double + return lib.c_api_getSpeciesReferenceLineEndingGeometricShapeCenterX(self.sbml_object, str(reaction_id).encode(), reaction_glyph_index, species_reference_glyph_index, layout_index, index) + + def setSpeciesReferenceLineEndingGeometricShapeCenterX(self, reaction_id, center_x, reaction_glyph_index=0, species_reference_glyph_index=0, layout_index=0, index=0): + """ + Sets the x-coordinate of the center of the GeometricShape object with the given index in the LineEnding object of the SpeciesReference object with the given reaction_id, reaction_glyph_index, species_reference_glyph_index and layout_index in the given SBMLDocument + + :Parameters: + + - reaction_id (string): a string that determines the id of the Reaction object + - center_x (float): a float that determines the x-coordinate of the center of the GeometricShape object + - reaction_glyph_index (int, optional): an integer (default: 0) that determines the index of the ReactionGlyph object in the given SBMLDocument + - species_reference_glyph_index (int, optional): an integer (default: 0) that determines the index of the SpeciesReferenceGlyph object in the given SBMLDocument + - layout_index (int, optional): an integer (default: 0) that determines the index of the Layout object in the given SBMLDocument + - index (int, optional): an integer (default: 0) that determines the index of the GeometricShape object in the LineEnding object of the SpeciesReference object + + :Returns: + + true on success and false if the x-coordinate of the center of the GeometricShape object could not be set + """ + return lib.c_api_setSpeciesReferenceLineEndingGeometricShapeCenterX(self.sbml_object, str(reaction_id).encode(), ctypes.c_double(center_x), reaction_glyph_index, species_reference_glyph_index, layout_index, index) + + def setReactionLineEndingGeometricShapeCenterX(self, reaction_id, center_x, reaction_glyph_index=0, layout_index=0, index=0): + """ + Sets the x-coordinate of the center of the GeometricShape object with the given index in the LineEnding object of the Reaction object with the given reaction_id, reaction_glyph_index and layout_index in the given SBMLDocument + + :Parameters: + + - reaction_id (string): a string that determines the id of the Reaction object + - center_x (float): a float that determines the x-coordinate of the center of the GeometricShape object + - reaction_glyph_index (int, optional): an integer (default: 0) that determines the index of the ReactionGlyph object in the given SBMLDocument + - layout_index (int, optional): an integer (default: 0) that determines the index of the Layout object in the given SBMLDocument + - index (int, optional): an integer (default: 0) that determines the index of the GeometricShape object in the LineEnding object of the Reaction object + + :Returns: + + true on success and false if the x-coordinate of the center of the GeometricShape object could not be set + """ + return lib.c_api_setReactionLineEndingGeometricShapeCenterX(self.sbml_object, str(reaction_id).encode(), ctypes.c_double(center_x), reaction_glyph_index, layout_index, index) + + def isSetLineEndingGeometricShapeCenterY(self, line_ending_id, index=0, render_index=0): + """ + Returns whether the y-coordinate of the center of the GeometricShape object with the given index in the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument is set + + :Parameters: + + - line_ending_id (string): a string that determines the id of the LineEnding object + - render_index (int, optional): an integer (default: 0) that determines the index of the RenderInformation object in the given SBMLDocument + - index (int, optional): an integer (default: 0) that determines the index of the GeometricShape object in the LineEnding object + + :Returns: + + true if the y-coordinate of the center of the GeometricShape object with the given index in the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument is set and false otherwise + """ + return lib.c_api_isSetLineEndingGeometricShapeCenterY(self.sbml_object, str(line_ending_id).encode(), index, render_index) + + def getLineEndingGeometricShapeCenterY(self, line_ending_id, index=0, render_index=0): + """ + Returns the y-coordinate of the center of the GeometricShape object with the given index in the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument + + :Parameters: + + - line_ending_id (string): a string that determines the id of the LineEnding object + - render_index (int, optional): an integer (default: 0) that determines the index of the RenderInformation object in the given SBMLDocument + - index (int, optional): an integer (default: 0) that determines the index of the GeometricShape object in the LineEnding object + + :Returns: + + a float that determines the y-coordinate of the center of the GeometricShape object with the given index in the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument + """ + lib.c_api_getLineEndingGeometricShapeCenterY.restype = ctypes.c_double + return lib.c_api_getLineEndingGeometricShapeCenterY(self.sbml_object, str(line_ending_id).encode(), index, render_index) + + def setLineEndingGeometricShapeCenterY(self, line_ending_id, center_y, index=0, render_index=0): + """ + Sets the y-coordinate of the center of the GeometricShape object with the given index in the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument + + :Parameters: + + - line_ending_id (string): a string that determines the id of the LineEnding object + - center_y (float): a float that determines the y-coordinate of the center of the GeometricShape object + - render_index (int, optional): an integer (default: 0) that determines the index of the RenderInformation object in the given SBMLDocument + - index (int, optional): an integer (default: 0) that determines the index of the GeometricShape object in the LineEnding object + + :Returns: + + true on success and false if the y-coordinate of the center of the GeometricShape object could not be set + """ + return lib.c_api_setLineEndingGeometricShapeCenterY(self.sbml_object, str(line_ending_id).encode(), ctypes.c_double(center_y), render_index, index) + + def isSetSpeciesReferenceLineEndingGeometricShapeCenterY(self, reaction_id, reaction_glyph_index=0, species_reference_glyph_index=0, layout_index=0, index=0): + """ + Returns whether the y-coordinate of the center of the GeometricShape object with the given index in the LineEnding object of the SpeciesReference object with the given reaction_id, reaction_glyph_index, species_reference_glyph_index and layout_index in the given SBMLDocument is set + + :Parameters: + + - reaction_id (string): a string that determines the id of the Reaction object + - reaction_glyph_index (int, optional): an integer (default: 0) that determines the index of the ReactionGlyph object in the given SBMLDocument + - species_reference_glyph_index (int, optional): an integer (default: 0) that determines the index of the SpeciesReferenceGlyph object in the given SBMLDocument + - layout_index (int, optional): an integer (default: 0) that determines the index of the Layout object in the given SBMLDocument + - index (int, optional): an integer (default: 0) that determines the index of the GeometricShape object in the LineEnding object of the SpeciesReference object + + :Returns: + + true if the y-coordinate of the center of the GeometricShape object with the given index in the LineEnding object of the SpeciesReference object with the given reaction_id, reaction_glyph_index, species_reference_glyph_index and layout_index in the given SBMLDocument is set and false otherwise + """ + return lib.c_api_isSetSpeciesReferenceLineEndingGeometricShapeCenterY(self.sbml_object, str(reaction_id).encode(), reaction_glyph_index, species_reference_glyph_index, layout_index, index) + + def getSpeciesReferenceLineEndingGeometricShapeCenterY(self, reaction_id, reaction_glyph_index=0, species_reference_glyph_index=0, layout_index=0, index=0): + """ + Returns the y-coordinate of the center of the GeometricShape object with the given index in the LineEnding object of the SpeciesReference object with the given reaction_id, reaction_glyph_index, species_reference_glyph_index and layout_index in the given SBMLDocument + + :Parameters: + + - reaction_id (string): a string that determines the id of the Reaction object + - reaction_glyph_index (int, optional): an integer (default: 0) that determines the index of the ReactionGlyph object in the given SBMLDocument + - species_reference_glyph_index (int, optional): an integer (default: 0) that determines the index of the SpeciesReferenceGlyph object in the given SBMLDocument + - layout_index (int, optional): an integer (default: 0) that determines the index of the Layout object in the given SBMLDocument + - index (int, optional): an integer (default: 0) that determines the index of the GeometricShape object in the LineEnding object of the SpeciesReference object + + :Returns: + + a float that determines the y-coordinate of the center of the GeometricShape object with the given index in the LineEnding object of the SpeciesReference object with the given reaction_id, reaction_glyph_index, species_reference_glyph_index and layout_index in the given SBMLDocument + """ + lib.c_api_getSpeciesReferenceLineEndingGeometricShapeCenterY.restype = ctypes.c_double + return lib.c_api_getSpeciesReferenceLineEndingGeometricShapeCenterY(self.sbml_object, str(reaction_id).encode(), reaction_glyph_index, species_reference_glyph_index, layout_index, index) + + def setSpeciesReferenceLineEndingGeometricShapeCenterY(self, reaction_id, center_y, reaction_glyph_index=0, species_reference_glyph_index=0, layout_index=0, index=0): + """ + Sets the y-coordinate of the center of the GeometricShape object with the given index in the LineEnding object of the SpeciesReference object with the given reaction_id, reaction_glyph_index, species_reference_glyph_index and layout_index in the given SBMLDocument + + :Parameters: + + - reaction_id (string): a string that determines the id of the Reaction object + - center_y (float): a float that determines the y-coordinate of the center of the GeometricShape object + - reaction_glyph_index (int, optional): an integer (default: 0) that determines the index of the ReactionGlyph object in the given SBMLDocument + - species_reference_glyph_index (int, optional): an integer (default: 0) that determines the index of the SpeciesReferenceGlyph object in the given SBMLDocument + - layout_index (int, optional): an integer (default: 0) that determines the index of the Layout object in the given SBMLDocument + - index (int, optional): an integer (default: 0) that determines the index of the GeometricShape object in the LineEnding object of the SpeciesReference object + + :Returns: + + true on success and false if the y-coordinate of the center of the GeometricShape object could not be set + """ + return lib.c_api_setSpeciesReferenceLineEndingGeometricShapeCenterY(self.sbml_object, str(reaction_id).encode(), ctypes.c_double(center_y), reaction_glyph_index, species_reference_glyph_index, layout_index, index) + + def setReactionLineEndingGeometricShapeCenterY(self, reaction_id, center_y, reaction_glyph_index=0, layout_index=0, index=0): + """ + Sets the y-coordinate of the center of the GeometricShape object with the given index in the LineEnding object of the Reaction object with the given reaction_id, reaction_glyph_index and layout_index in the given SBMLDocument + + :Parameters: + + - reaction_id (string): a string that determines the id of the Reaction object + - center_y (float): a float that determines the y-coordinate of the center of the GeometricShape object + - reaction_glyph_index (int, optional): an integer (default: 0) that determines the index of the ReactionGlyph object in the given SBMLDocument + - layout_index (int, optional): an integer (default: 0) that determines the index of the Layout object in the given SBMLDocument + - index (int, optional): an integer (default: 0) that determines the index of the GeometricShape object in the LineEnding object of the Reaction object + + :Returns: + + true on success and false if the y-coordinate of the center of the GeometricShape object could not be set + """ + return lib.c_api_setReactionLineEndingGeometricShapeCenterY(self.sbml_object, str(reaction_id).encode(), ctypes.c_double(center_y), reaction_glyph_index, layout_index, index) + + def isSetLineEndingGeometricShapeRadiusX(self, line_ending_id, index=0, render_index=0): + """ + Returns whether the x-radius of the GeometricShape object with the given index in the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument is set + + :Parameters: + + - line_ending_id (string): a string that determines the id of the LineEnding object + - render_index (int, optional): an integer (default: 0) that determines the index of the RenderInformation object in the given SBMLDocument + - index (int, optional): an integer (default: 0) that determines the index of the GeometricShape object in the LineEnding object + + :Returns: + + true if the x-radius of the GeometricShape object with the given index in the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument is set and false otherwise + """ + return lib.c_api_isSetLineEndingGeometricShapeRadiusX(self.sbml_object, str(line_ending_id).encode(), index, render_index) + + def getLineEndingGeometricShapeRadiusX(self, line_ending_id, index=0, render_index=0): + """ + Returns the x-radius of the GeometricShape object with the given index in the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument + + :Parameters: + + - line_ending_id (string): a string that determines the id of the LineEnding object + - render_index (int, optional): an integer (default: 0) that determines the index of the RenderInformation object in the given SBMLDocument + - index (int, optional): an integer (default: 0) that determines the index of the GeometricShape object in the LineEnding object + + :Returns: + + a float that determines the x-radius of the GeometricShape object with the given index in the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument + """ + lib.c_api_getLineEndingGeometricShapeRadiusX.restype = ctypes.c_double + return lib.c_api_getLineEndingGeometricShapeRadiusX(self.sbml_object, str(line_ending_id).encode(), index, render_index) + + def setLineEndingGeometricShapeRadiusX(self, line_ending_id, radius_x, index=0, render_index=0): + """ + Sets the x-radius of the GeometricShape object with the given index in the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument + + :Parameters: + + - line_ending_id (string): a string that determines the id of the LineEnding object + - radius_x (float): a float that determines the x-radius of the GeometricShape object + - render_index (int, optional): an integer (default: 0) that determines the index of the RenderInformation object in the given SBMLDocument + - index (int, optional): an integer (default: 0) that determines the index of the GeometricShape object in the LineEnding object + + :Returns: + + true on success and false if the x-radius of the GeometricShape object could not be set + """ + return lib.c_api_setLineEndingGeometricShapeRadiusX(self.sbml_object, str(line_ending_id).encode(), ctypes.c_double(radius_x), index, render_index) + + def isSetSpeciesReferenceLineEndingGeometricShapeRadiusX(self, reaction_id, reaction_glyph_index=0, species_reference_glyph_index=0, layout_index=0, index=0): + """ + Returns whether the x-radius of the GeometricShape object with the given index in the LineEnding object of the SpeciesReference object with the given reaction_id, reaction_glyph_index, species_reference_glyph_index and layout_index in the given SBMLDocument is set + + :Parameters: + + - reaction_id (string): a string that determines the id of the Reaction object + - reaction_glyph_index (int, optional): an integer (default: 0) that determines the index of the ReactionGlyph object in the given SBMLDocument + - species_reference_glyph_index (int, optional): an integer (default: 0) that determines the index of the SpeciesReferenceGlyph object in the given SBMLDocument + - layout_index (int, optional): an integer (default: 0) that determines the index of the Layout object in the given SBMLDocument + - index (int, optional): an integer (default: 0) that determines the index of the GeometricShape object in the LineEnding object of the SpeciesReference object + + :Returns: + + true if the x-radius of the GeometricShape object with the given index in the LineEnding object of the SpeciesReference object with the given reaction_id, reaction_glyph_index, species_reference_glyph_index and layout_index in the given SBMLDocument is set and false otherwise + """ + return lib.c_api_isSetSpeciesReferenceLineEndingGeometricShapeRadiusX(self.sbml_object, str(reaction_id).encode(), reaction_glyph_index, species_reference_glyph_index, layout_index, index) + + def getSpeciesReferenceLineEndingGeometricShapeRadiusX(self, reaction_id, reaction_glyph_index=0, species_reference_glyph_index=0, layout_index=0, index=0): + """ + Returns the x-radius of the GeometricShape object with the given index in the LineEnding object of the SpeciesReference object with the given reaction_id, reaction_glyph_index, species_reference_glyph_index and layout_index in the given SBMLDocument + + :Parameters: + + - reaction_id (string): a string that determines the id of the Reaction object + - reaction_glyph_index (int, optional): an integer (default: 0) that determines the index of the ReactionGlyph object in the given SBMLDocument + - species_reference_glyph_index (int, optional): an integer (default: 0) that determines the index of the SpeciesReferenceGlyph object in the given SBMLDocument + - layout_index (int, optional): an integer (default: 0) that determines the index of the Layout object in the given SBMLDocument + - index (int, optional): an integer (default: 0) that determines the index of the GeometricShape object in the LineEnding object of the SpeciesReference object + + :Returns: + + a float that determines the x-radius of the GeometricShape object with the given index in the LineEnding object of the SpeciesReference object with the given reaction_id, reaction_glyph_index, species_reference_glyph_index and layout_index in the given SBMLDocument + """ + lib.c_api_getSpeciesReferenceLineEndingGeometricShapeRadiusX.restype = ctypes.c_double + return lib.c_api_getSpeciesReferenceLineEndingGeometricShapeRadiusX(self.sbml_object, str(reaction_id).encode(), reaction_glyph_index, species_reference_glyph_index, layout_index, index) + + def setSpeciesReferenceLineEndingGeometricShapeRadiusX(self, reaction_id, radius_x, reaction_glyph_index=0, species_reference_glyph_index=0, layout_index=0, index=0): + """ + Sets the x-radius of the GeometricShape object with the given index in the LineEnding object of the SpeciesReference object with the given reaction_id, reaction_glyph_index, species_reference_glyph_index and layout_index in the given SBMLDocument + + :Parameters: + + - reaction_id (string): a string that determines the id of the Reaction object + - radius_x (float): a float that determines the x-radius of the GeometricShape object + - reaction_glyph_index (int, optional): an integer (default: 0) that determines the index of the ReactionGlyph object in the given SBMLDocument + - species_reference_glyph_index (int, optional): an integer (default: 0) that determines the index of the SpeciesReferenceGlyph object in the given SBMLDocument + - layout_index (int, optional): an integer (default: 0) that determines the index of the Layout object in the given SBMLDocument + - index (int, optional): an integer (default: 0) that determines the index of the GeometricShape object in the LineEnding object of the SpeciesReference object + + :Returns: + + true on success and false if the x-radius of the GeometricShape object could not be set + """ + return lib.c_api_setSpeciesReferenceLineEndingGeometricShapeRadiusX(self.sbml_object, str(reaction_id).encode(), ctypes.c_double(radius_x), reaction_glyph_index, species_reference_glyph_index, layout_index, index) + + def setReactionLineEndingGeometricShapeRadiusX(self, reaction_id, radius_x, reaction_glyph_index=0, layout_index=0, index=0): + """ + Sets the x-radius of the GeometricShape object with the given index in the LineEnding object of the Reaction object with the given reaction_id, reaction_glyph_index and layout_index in the given SBMLDocument + + :Parameters: + + - reaction_id (string): a string that determines the id of the Reaction object + - radius_x (float): a float that determines the x-radius of the GeometricShape object + - reaction_glyph_index (int, optional): an integer (default: 0) that determines the index of the ReactionGlyph object in the given SBMLDocument + - layout_index (int, optional): an integer (default: 0) that determines the index of the Layout object in the given SBMLDocument + - index (int, optional): an integer (default: 0) that determines the index of the GeometricShape object in the LineEnding object of the Reaction object + + :Returns: + + true on success and false if the x-radius of the GeometricShape object could not be set + """ + return lib.c_api_setReactionLineEndingGeometricShapeRadiusX(self.sbml_object, str(reaction_id).encode(), ctypes.c_double(radius_x), reaction_glyph_index, layout_index, index) + + def isSetLineEndingGeometricShapeRadiusY(self, line_ending_id, index=0, render_index=0): + """ + Returns whether the y-radius of the GeometricShape object with the given index in the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument is set + + :Parameters: + + - line_ending_id (string): a string that determines the id of the LineEnding object + - render_index (int, optional): an integer (default: 0) that determines the index of the RenderInformation object in the given SBMLDocument + - index (int, optional): an integer (default: 0) that determines the index of the GeometricShape object in the LineEnding object + + :Returns: + + true if the y-radius of the GeometricShape object with the given index in the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument is set and false otherwise + """ + return lib.c_api_isSetLineEndingGeometricShapeRadiusY(self.sbml_object, str(line_ending_id).encode(), index, render_index) + + def getLineEndingGeometricShapeRadiusY(self, line_ending_id, index=0, render_index=0): + """ + Returns the y-radius of the GeometricShape object with the given index in the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument + + :Parameters: + + - line_ending_id (string): a string that determines the id of the LineEnding object + - render_index (int, optional): an integer (default: 0) that determines the index of the RenderInformation object in the given SBMLDocument + - index (int, optional): an integer (default: 0) that determines the index of the GeometricShape object in the LineEnding object + + :Returns: + + a float that determines the y-radius of the GeometricShape object with the given index in the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument + """ + lib.c_api_getLineEndingGeometricShapeRadiusY.restype = ctypes.c_double + return lib.c_api_getLineEndingGeometricShapeRadiusY(self.sbml_object, str(line_ending_id).encode(), index, render_index) + + def setLineEndingGeometricShapeRadiusY(self, line_ending_id, radius_y, index=0, render_index=0): + """ + Sets the y-radius of the GeometricShape object with the given index in the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument + + :Parameters: + + - line_ending_id (string): a string that determines the id of the LineEnding object + - radius_y (float): a float that determines the y-radius of the GeometricShape object + - render_index (int, optional): an integer (default: 0) that determines the index of the RenderInformation object in the given SBMLDocument + - index (int, optional): an integer (default: 0) that determines the index of the GeometricShape object in the LineEnding object + + :Returns: + + true on success and false if the y-radius of the GeometricShape object could not be set + """ + return lib.c_api_setLineEndingGeometricShapeRadiusY(self.sbml_object, str(line_ending_id).encode(), ctypes.c_double(radius_y), render_index, index) + + def isSetSpeciesReferenceLineEndingGeometricShapeRadiusY(self, reaction_id, reaction_glyph_index=0, species_reference_glyph_index=0, layout_index=0, index=0): + """ + Returns whether the y-radius of the GeometricShape object with the given index in the LineEnding object of the SpeciesReference object with the given reaction_id, reaction_glyph_index, species_reference_glyph_index and layout_index in the given SBMLDocument is set + + :Parameters: + + - reaction_id (string): a string that determines the id of the Reaction object + - reaction_glyph_index (int, optional): an integer (default: 0) that determines the index of the ReactionGlyph object in the given SBMLDocument + - species_reference_glyph_index (int, optional): an integer (default: 0) that determines the index of the SpeciesReferenceGlyph object in the given SBMLDocument + - layout_index (int, optional): an integer (default: 0) that determines the index of the Layout object in the given SBMLDocument + - index (int, optional): an integer (default: 0) that determines the index of the GeometricShape object in the LineEnding object of the SpeciesReference object + + :Returns: + + true if the y-radius of the GeometricShape object with the given index in the LineEnding object of the SpeciesReference object with the given reaction_id, reaction_glyph_index, species_reference_glyph_index and layout_index in the given SBMLDocument is set and false otherwise + """ + return lib.c_api_isSetSpeciesReferenceLineEndingGeometricShapeRadiusY(self.sbml_object, str(reaction_id).encode(), reaction_glyph_index, species_reference_glyph_index, layout_index, index) + + def getSpeciesReferenceLineEndingGeometricShapeRadiusY(self, reaction_id, reaction_glyph_index=0, species_reference_glyph_index=0, layout_index=0, index=0): + """ + Returns the y-radius of the GeometricShape object with the given index in the LineEnding object of the SpeciesReference object with the given reaction_id, reaction_glyph_index, species_reference_glyph_index and layout_index in the given SBMLDocument + + :Parameters: + + - reaction_id (string): a string that determines the id of the Reaction object + - reaction_glyph_index (int, optional): an integer (default: 0) that determines the index of the ReactionGlyph object in the given SBMLDocument + - species_reference_glyph_index (int, optional): an integer (default: 0) that determines the index of the SpeciesReferenceGlyph object in the given SBMLDocument + - layout_index (int, optional): an integer (default: 0) that determines the index of the Layout object in the given SBMLDocument + - index (int, optional): an integer (default: 0) that determines the index of the GeometricShape object in the LineEnding object of the SpeciesReference object + + :Returns: + + a float that determines the y-radius of the GeometricShape object with the given index in the LineEnding object of the SpeciesReference object with the given reaction_id, reaction_glyph_index, species_reference_glyph_index and layout_index in the given SBMLDocument + """ + lib.c_api_getSpeciesReferenceLineEndingGeometricShapeRadiusY.restype = ctypes.c_double + return lib.c_api_getSpeciesReferenceLineEndingGeometricShapeRadiusY(self.sbml_object, str(reaction_id).encode(), reaction_glyph_index, species_reference_glyph_index, layout_index, index) + + def setSpeciesReferenceLineEndingGeometricShapeRadiusY(self, reaction_id, radius_y, reaction_glyph_index=0, species_reference_glyph_index=0, layout_index=0, index=0): + """ + Sets the y-radius of the GeometricShape object with the given index in the LineEnding object of the SpeciesReference object with the given reaction_id, reaction_glyph_index, species_reference_glyph_index and layout_index in the given SBMLDocument + + :Parameters: + + - reaction_id (string): a string that determines the id of the Reaction object + - radius_y (float): a float that determines the y-radius of the GeometricShape object + - reaction_glyph_index (int, optional): an integer (default: 0) that determines the index of the ReactionGlyph object in the given SBMLDocument + - species_reference_glyph_index (int, optional): an integer (default: 0) that determines the index of the SpeciesReferenceGlyph object in the given SBMLDocument + - layout_index (int, optional): an integer (default: 0) that determines the index of the Layout object in the given SBMLDocument + - index (int, optional): an integer (default: 0) that determines the index of the GeometricShape object in the LineEnding object of the SpeciesReference object + + :Returns: + + true on success and false if the y-radius of the GeometricShape object could not be set + """ + return lib.c_api_setSpeciesReferenceLineEndingGeometricShapeRadiusY(self.sbml_object, str(reaction_id).encode(), ctypes.c_double(radius_y), reaction_glyph_index, species_reference_glyph_index, layout_index, index) + + def setReactionLineEndingGeometricShapeRadiusY(self, reaction_id, radius_y, reaction_glyph_index=0, layout_index=0, index=0): + """ + Sets the y-radius of the GeometricShape object with the given index in the LineEnding object of the Reaction object with the given reaction_id, reaction_glyph_index and layout_index in the given SBMLDocument + + :Parameters: + + - reaction_id (string): a string that determines the id of the Reaction object + - radius_y (float): a float that determines the y-radius of the GeometricShape object + - reaction_glyph_index (int, optional): an integer (default: 0) that determines the index of the ReactionGlyph object in the given SBMLDocument + - layout_index (int, optional): an integer (default: 0) that determines the index of the Layout object in the given SBMLDocument + - index (int, optional): an integer (default: 0) that determines the index of the GeometricShape object in the LineEnding object of the Reaction object + + :Returns: + + true on success and false if the y-radius of the GeometricShape object could not be set + """ + return lib.c_api_setReactionLineEndingGeometricShapeRadiusY(self.sbml_object, str(reaction_id).encode(), ctypes.c_double(radius_y), reaction_glyph_index, layout_index, index) + + def getLineEndingGeometricShapeNumSegments(self, line_ending_id, index=0, render_index=0): + """ + Returns the number of segments of the GeometricShape object with the given index in the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument + + :Parameters: + + - line_ending_id (string): a string that determines the id of the LineEnding object + - render_index (int, optional): an integer (default: 0) that determines the index of the RenderInformation object in the given SBMLDocument + - index (int, optional): an integer (default: 0) that determines the index of the GeometricShape object in the LineEnding object + + :Returns: + + an integer that determines the number of segments of the GeometricShape object with the given index in the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument + """ + return lib.c_api_getLineEndingGeometricShapeNumSegments(self.sbml_object, str(line_ending_id).encode(), index, render_index) + + def getSpeciesReferenceLineEndingGeometricShapeNumSegments(self, reaction_id, reaction_glyph_index=0, species_reference_glyph_index=0, layout_index=0, index=0): + """ + Returns the number of segments of the GeometricShape object with the given index in the LineEnding object of the SpeciesReference object with the given reaction_id, reaction_glyph_index, species_reference_glyph_index and layout_index in the given SBMLDocument + + :Parameters: + + - reaction_id (string): a string that determines the id of the Reaction object + - reaction_glyph_index (int, optional): an integer (default: 0) that determines the index of the ReactionGlyph object in the given SBMLDocument + - species_reference_glyph_index (int, optional): an integer (default: 0) that determines the index of the SpeciesReferenceGlyph object in the given SBMLDocument + - layout_index (int, optional): an integer (default: 0) that determines the index of the Layout object in the given SBMLDocument + - index (int, optional): an integer (default: 0) that determines the index of the GeometricShape object in the LineEnding object of the SpeciesReference object + + :Returns: + + an integer that determines the number of segments of the GeometricShape object with the given index in the LineEnding object of the SpeciesReference object with the given reaction_id, reaction_glyph_index, species_reference_glyph_index and layout_index in the given SBMLDocument + """ + return lib.c_api_getSpeciesReferenceLineEndingGeometricShapeNumSegments(self.sbml_object, str(reaction_id).encode(), reaction_glyph_index, species_reference_glyph_index, layout_index, index) + + def isLineEndingGeometricShapeSegmentCubicBezier(self, line_ending_id, segment_index, index=0, render_index=0): + """ + Returns whether the segment with the given segment_index of the GeometricShape object with the given index in the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument is a cubic bezier segment :Parameters: - line_ending_id (string): a string that determines the id of the LineEnding object + - segment_index (int): an integer that determines the index of the segment - render_index (int, optional): an integer (default: 0) that determines the index of the RenderInformation object in the given SBMLDocument - index (int, optional): an integer (default: 0) that determines the index of the GeometricShape object in the LineEnding object :Returns: - true if the x-coordinate of the center of the GeometricShape object with the given index in the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument is set and false otherwise + true if the segment with the given segment_index of the GeometricShape object with the given index in the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument is a cubic bezier segment and false otherwise + """ + return lib.c_api_isLineEndingGeometricShapeSegmentCubicBezier(self.sbml_object, str(line_ending_id).encode(), segment_index, index, render_index) + + def isSpeciesReferenceLineEndingGeometricShapeSegmentCubicBezier(self, reaction_id, segment_index, reaction_glyph_index=0, species_reference_glyph_index=0, layout_index=0, index=0): + """ + Returns whether the segment with the given segment_index of the GeometricShape object with the given index in the LineEnding object of the SpeciesReference object with the given reaction_id, reaction_glyph_index, species_reference_glyph_index and layout_index in the given SBMLDocument is a cubic bezier segment + + :Parameters: + + - reaction_id (string): a string that determines the id of the Reaction object + - segment_index (int): an integer that determines the index of the segment + - reaction_glyph_index (int, optional): an integer (default: 0) that determines the index of the ReactionGlyph object in the given SBMLDocument + - species_reference_glyph_index (int, optional): an integer (default: 0) that determines the index of the SpeciesReferenceGlyph object in the given SBMLDocument + - layout_index (int, optional): an integer (default: 0) that determines the index of the Layout object in the given SBMLDocument + - index (int, optional): an integer (default: 0) that determines the index of the GeometricShape object in the LineEnding object of the SpeciesReference object + + :Returns: + + true if the segment with the given segment_index of the GeometricShape object with the given index in the LineEnding object of the SpeciesReference object with the given reaction_id, reaction_glyph_index, species_reference_glyph_index and layout_index in the given SBMLDocument is a cubic bezier segment and false otherwise """ - return lib.c_api_isSetLineEndingGeometricShapeCenterX(self.sbml_object, str(line_ending_id).encode(), index, render_index) + return lib.c_api_isSpeciesReferenceLineEndingGeometricShapeSegmentCubicBezier(self.sbml_object, str(reaction_id).encode(), segment_index, reaction_glyph_index, species_reference_glyph_index, layout_index, index) - def getLineEndingGeometricShapeCenterX(self, line_ending_id, index=0, render_index=0): + def getLineEndingGeometricShapeSegmentX(self, line_ending_id, segment_index, index=0, render_index=0): """ - Returns the x-coordinate of the center of the GeometricShape object with the given index in the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument + Returns the x-coordinate of the segment with the given segment_index of the GeometricShape object with the given index in the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument :Parameters: - line_ending_id (string): a string that determines the id of the LineEnding object + - segment_index (int): an integer that determines the index of the segment - render_index (int, optional): an integer (default: 0) that determines the index of the RenderInformation object in the given SBMLDocument - index (int, optional): an integer (default: 0) that determines the index of the GeometricShape object in the LineEnding object :Returns: - a float that determines the x-coordinate of the center of the GeometricShape object with the given index in the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument + a float that determines the x-coordinate of the segment with the given segment_index of the GeometricShape object with the given index in the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument """ - lib.c_api_getLineEndingGeometricShapeCenterX.restype = ctypes.c_double - return lib.c_api_getLineEndingGeometricShapeCenterX(self.sbml_object, str(line_ending_id).encode(), index, render_index) + lib.c_api_getLineEndingGeometricShapeSegmentX.restype = ctypes.c_double + return lib.c_api_getLineEndingGeometricShapeSegmentX(self.sbml_object, str(line_ending_id).encode(), segment_index, index, render_index) - def setLineEndingGeometricShapeCenterX(self, line_ending_id, center_x, index=0, render_index=0): + def setLineEndingGeometricShapeSegmentX(self, line_ending_id, segment_index, x, index=0, render_index=0): """ - Sets the x-coordinate of the center of the GeometricShape object with the given index in the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument + Sets the x-coordinate of the segment with the given segment_index of the GeometricShape object with the given index in the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument :Parameters: - line_ending_id (string): a string that determines the id of the LineEnding object - - center_x (float): a float that determines the x-coordinate of the center of the GeometricShape object + - segment_index (int): an integer that determines the index of the segment + - x (float): a float that determines the x-coordinate of the segment - render_index (int, optional): an integer (default: 0) that determines the index of the RenderInformation object in the given SBMLDocument - index (int, optional): an integer (default: 0) that determines the index of the GeometricShape object in the LineEnding object :Returns: - true on success and false if the x-coordinate of the center of the GeometricShape object could not be set + true on success and false if the x-coordinate of the segment could not be set """ - return lib.c_api_setLineEndingGeometricShapeCenterX(self.sbml_object, str(line_ending_id).encode(), ctypes.c_double(center_x), index, render_index) + return lib.c_api_setLineEndingGeometricShapeSegmentX(self.sbml_object, str(line_ending_id).encode(), ctypes.c_double(x), segment_index, index, render_index) - def isSetLineEndingGeometricShapeCenterY(self, line_ending_id, index=0, render_index=0): + def getSpeciesReferenceLineEndingGeometricShapeSegmentX(self, reaction_id, segment_index, reaction_glyph_index=0, species_reference_glyph_index=0, layout_index=0, index=0): """ - Returns whether the y-coordinate of the center of the GeometricShape object with the given index in the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument is set + Returns the x-coordinate of the segment with the given segment_index of the GeometricShape object with the given index in the LineEnding object of the SpeciesReference object with the given reaction_id, reaction_glyph_index, species_reference_glyph_index and layout_index in the given SBMLDocument :Parameters: - - line_ending_id (string): a string that determines the id of the LineEnding object - - render_index (int, optional): an integer (default: 0) that determines the index of the RenderInformation object in the given SBMLDocument - - index (int, optional): an integer (default: 0) that determines the index of the GeometricShape object in the LineEnding object + - reaction_id (string): a string that determines the id of the Reaction object + - segment_index (int): an integer that determines the index of the segment + - reaction_glyph_index (int, optional): an integer (default: 0) that determines the index of the ReactionGlyph object in the given SBMLDocument + - species_reference_glyph_index (int, optional): an integer (default: 0) that determines the index of the SpeciesReferenceGlyph object in the given SBMLDocument + - layout_index (int, optional): an integer (default: 0) that determines the index of the Layout object in the given SBMLDocument + - index (int, optional): an integer (default: 0) that determines the index of the GeometricShape object in the LineEnding object of the SpeciesReference object :Returns: - true if the y-coordinate of the center of the GeometricShape object with the given index in the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument is set and false otherwise + a float that determines the x-coordinate of the segment with the given segment_index of the GeometricShape object with the given index in the LineEnding object of the SpeciesReference object with the given reaction_id, reaction_glyph_index, species_reference_glyph_index and layout_index in the given SBMLDocument """ - return lib.c_api_isSetLineEndingGeometricShapeCenterY(self.sbml_object, str(line_ending_id).encode(), index, render_index) + lib.c_api_getSpeciesReferenceLineEndingGeometricShapeSegmentX.restype = ctypes.c_double + return lib.c_api_getSpeciesReferenceLineEndingGeometricShapeSegmentX(self.sbml_object, str(reaction_id).encode(), segment_index, reaction_glyph_index, species_reference_glyph_index, layout_index, index) - def getLineEndingGeometricShapeCenterY(self, line_ending_id, index=0, render_index=0): + def setSpeciesReferenceLineEndingGeometricShapeSegmentX(self, reaction_id, segment_index, x, reaction_glyph_index=0, species_reference_glyph_index=0, layout_index=0, index=0): """ - Returns the y-coordinate of the center of the GeometricShape object with the given index in the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument + Sets the x-coordinate of the segment with the given segment_index of the GeometricShape object with the given index in the LineEnding object of the SpeciesReference object with the given reaction_id, reaction_glyph_index, species_reference_glyph_index and layout_index in the given SBMLDocument :Parameters: - - line_ending_id (string): a string that determines the id of the LineEnding object - - render_index (int, optional): an integer (default: 0) that determines the index of the RenderInformation object in the given SBMLDocument - - index (int, optional): an integer (default: 0) that determines the index of the GeometricShape object in the LineEnding object + - reaction_id (string): a string that determines the id of the Reaction object + - segment_index (int): an integer that determines the index of the segment + - x (float): a float that determines the x-coordinate of the segment + - reaction_glyph_index (int, optional): an integer (default: 0) that determines the index of the ReactionGlyph object in the given SBMLDocument + - species_reference_glyph_index (int, optional): an integer (default: 0) that determines the index of the SpeciesReferenceGlyph object in the given SBMLDocument + - layout_index (int, optional): an integer (default: 0) that determines the index of the Layout object in the given SBMLDocument + - index (int, optional): an integer (default: 0) that determines the index of the GeometricShape object in the LineEnding object of the SpeciesReference object :Returns: - a float that determines the y-coordinate of the center of the GeometricShape object with the given index in the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument + true on success and false if the x-coordinate of the segment could not be set """ - lib.c_api_getLineEndingGeometricShapeCenterY.restype = ctypes.c_double - return lib.c_api_getLineEndingGeometricShapeCenterY(self.sbml_object, str(line_ending_id).encode(), index, render_index) + return lib.c_api_setSpeciesReferenceLineEndingGeometricShapeSegmentX(self.sbml_object, str(reaction_id).encode(), segment_index, ctypes.c_double(x), reaction_glyph_index, species_reference_glyph_index, layout_index, index) - def setLineEndingGeometricShapeCenterY(self, line_ending_id, center_y, index=0, render_index=0): + def setReactionLineEndingGeometricShapeSegmentX(self, reaction_id, segment_index, x, reaction_glyph_index=0, layout_index=0, index=0): """ - Sets the y-coordinate of the center of the GeometricShape object with the given index in the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument + Sets the x-coordinate of the segment with the given segment_index of the GeometricShape object with the given index in the LineEnding object of the Reaction object with the given reaction_id, reaction_glyph_index and layout_index in the given SBMLDocument :Parameters: - - line_ending_id (string): a string that determines the id of the LineEnding object - - center_y (float): a float that determines the y-coordinate of the center of the GeometricShape object - - render_index (int, optional): an integer (default: 0) that determines the index of the RenderInformation object in the given SBMLDocument - - index (int, optional): an integer (default: 0) that determines the index of the GeometricShape object in the LineEnding object + - reaction_id (string): a string that determines the id of the Reaction object + - segment_index (int): an integer that determines the index of the segment + - x (float): a float that determines the x-coordinate of the segment + - reaction_glyph_index (int, optional): an integer (default: 0) that determines the index of the ReactionGlyph object in the given SBMLDocument + - layout_index (int, optional): an integer (default: 0) that determines the index of the Layout object in the given SBMLDocument + - index (int, optional): an integer (default: 0) that determines the index of the GeometricShape object in the LineEnding object of the Reaction object :Returns: - true on success and false if the y-coordinate of the center of the GeometricShape object could not be set + true on success and false if the x-coordinate of the segment could not be set """ - return lib.c_api_setLineEndingGeometricShapeCenterY(self.sbml_object, str(line_ending_id).encode(), ctypes.c_double(center_y), render_index, index) + return lib.c_api_setReactionLineEndingGeometricShapeSegmentX(self.sbml_object, str(reaction_id).encode(), segment_index, ctypes.c_double(x), reaction_glyph_index, layout_index, index) - def isSetLineEndingGeometricShapeRadiusX(self, line_ending_id, index=0, render_index=0): + def getLineEndingGeometricShapeSegmentY(self, line_ending_id, segment_index, index=0, render_index=0): """ - Returns whether the x-radius of the GeometricShape object with the given index in the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument is set + Returns the y-coordinate of the segment with the given segment_index of the GeometricShape object with the given index in the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument :Parameters: - line_ending_id (string): a string that determines the id of the LineEnding object + - segment_index (int): an integer that determines the index of the segment - render_index (int, optional): an integer (default: 0) that determines the index of the RenderInformation object in the given SBMLDocument - index (int, optional): an integer (default: 0) that determines the index of the GeometricShape object in the LineEnding object :Returns: - true if the x-radius of the GeometricShape object with the given index in the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument is set and false otherwise + a float that determines the y-coordinate of the segment with the given segment_index of the GeometricShape object with the given index in the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument """ - return lib.c_api_isSetLineEndingGeometricShapeRadiusX(self.sbml_object, str(line_ending_id).encode(), index, render_index) + lib.c_api_getLineEndingGeometricShapeSegmentY.restype = ctypes.c_double + return lib.c_api_getLineEndingGeometricShapeSegmentY(self.sbml_object, str(line_ending_id).encode(), segment_index, index, render_index) - def getLineEndingGeometricShapeRadiusX(self, line_ending_id, index=0, render_index=0): + def setLineEndingGeometricShapeSegmentY(self, line_ending_id, y, segment_index, index=0, render_index=0): """ - Returns the x-radius of the GeometricShape object with the given index in the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument + Sets the y-coordinate of the segment with the given segment_index of the GeometricShape object with the given index in the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument :Parameters: - line_ending_id (string): a string that determines the id of the LineEnding object + - segment_index (int): an integer that determines the index of the segment + - y (float): a float that determines the y-coordinate of the segment - render_index (int, optional): an integer (default: 0) that determines the index of the RenderInformation object in the given SBMLDocument - index (int, optional): an integer (default: 0) that determines the index of the GeometricShape object in the LineEnding object :Returns: - a float that determines the x-radius of the GeometricShape object with the given index in the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument + true on success and false if the y-coordinate of the segment could not be set """ - lib.c_api_getLineEndingGeometricShapeRadiusX.restype = ctypes.c_double - return lib.c_api_getLineEndingGeometricShapeRadiusX(self.sbml_object, str(line_ending_id).encode(), index, render_index) + return lib.c_api_setLineEndingGeometricShapeSegmentY(self.sbml_object, str(line_ending_id).encode(), ctypes.c_double(y), segment_index, index, render_index) - def setLineEndingGeometricShapeRadiusX(self, line_ending_id, radius_x, index=0, render_index=0): + def getSpeciesReferenceLineEndingGeometricShapeSegmentY(self, reaction_id, segment_index, reaction_glyph_index=0, species_reference_glyph_index=0, layout_index=0, index=0): """ - Sets the x-radius of the GeometricShape object with the given index in the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument + Returns the y-coordinate of the segment with the given segment_index of the GeometricShape object with the given index in the LineEnding object of the SpeciesReference object with the given reaction_id, reaction_glyph_index, species_reference_glyph_index and layout_index in the given SBMLDocument :Parameters: - - line_ending_id (string): a string that determines the id of the LineEnding object - - radius_x (float): a float that determines the x-radius of the GeometricShape object - - render_index (int, optional): an integer (default: 0) that determines the index of the RenderInformation object in the given SBMLDocument - - index (int, optional): an integer (default: 0) that determines the index of the GeometricShape object in the LineEnding object + - reaction_id (string): a string that determines the id of the Reaction object + - segment_index (int): an integer that determines the index of the segment + - reaction_glyph_index (int, optional): an integer (default: 0) that determines the index of the ReactionGlyph object in the given SBMLDocument + - species_reference_glyph_index (int, optional): an integer (default: 0) that determines the index of the SpeciesReferenceGlyph object in the given SBMLDocument + - layout_index (int, optional): an integer (default: 0) that determines the index of the Layout object in the given SBMLDocument + - index (int, optional): an integer (default: 0) that determines the index of the GeometricShape object in the LineEnding object of the SpeciesReference object :Returns: - true on success and false if the x-radius of the GeometricShape object could not be set + a float that determines the y-coordinate of the segment with the given segment_index of the GeometricShape object with the given index in the LineEnding object of the SpeciesReference object with the given reaction_id, reaction_glyph_index, species_reference_glyph_index and layout_index in the given SBMLDocument """ - return lib.c_api_setLineEndingGeometricShapeRadiusX(self.sbml_object, str(line_ending_id).encode(), ctypes.c_double(radius_x), index, render_index) + lib.c_api_getSpeciesReferenceLineEndingGeometricShapeSegmentY.restype = ctypes.c_double + return lib.c_api_getSpeciesReferenceLineEndingGeometricShapeSegmentY(self.sbml_object, str(reaction_id).encode(), segment_index, reaction_glyph_index, species_reference_glyph_index, layout_index, index) - def isSetLineEndingGeometricShapeRadiusY(self, line_ending_id, index=0, render_index=0): + def setSpeciesReferenceLineEndingGeometricShapeSegmentY(self, reaction_id, segment_index, y, reaction_glyph_index=0, species_reference_glyph_index=0, layout_index=0, index=0): """ - Returns whether the y-radius of the GeometricShape object with the given index in the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument is set + Sets the y-coordinate of the segment with the given segment_index of the GeometricShape object with the given index in the LineEnding object of the SpeciesReference object with the given reaction_id, reaction_glyph_index, species_reference_glyph_index and layout_index in the given SBMLDocument + + :Parameters: + + - reaction_id (string): a string that determines the id of the Reaction object + - segment_index (int): an integer that determines the index of the segment + - y (float): a float that determines the y-coordinate of the segment + - reaction_glyph_index (int, optional): an integer (default: 0) that determines the index of the ReactionGlyph object in the given SBMLDocument + - species_reference_glyph_index (int, optional): an integer (default: 0) that determines the index of the SpeciesReferenceGlyph object in the given SBMLDocument + - layout_index (int, optional): an integer (default: 0) that determines the index of the Layout object in the given SBMLDocument + - index (int, optional): an integer (default: 0) that determines the index of the GeometricShape object in the LineEnding object of the SpeciesReference object + + :Returns: + + true on success and false if the y-coordinate of the segment could not be set + """ + return lib.c_api_setSpeciesReferenceLineEndingGeometricShapeSegmentY(self.sbml_object, str(reaction_id).encode(), segment_index, ctypes.c_double(y), reaction_glyph_index, species_reference_glyph_index, layout_index, index) + + def setReactionLineEndingGeometricShapeSegmentY(self, reaction_id, segment_index, y, reaction_glyph_index=0, layout_index=0, index=0): + """ + Sets the y-coordinate of the segment with the given segment_index of the GeometricShape object with the given index in the LineEnding object of the Reaction object with the given reaction_id, reaction_glyph_index and layout_index in the given SBMLDocument + + :Parameters: + + - reaction_id (string): a string that determines the id of the Reaction object + - segment_index (int): an integer that determines the index of the segment + - y (float): a float that determines the y-coordinate of the segment + - reaction_glyph_index (int, optional): an integer (default: 0) that determines the index of the ReactionGlyph object in the given SBMLDocument + - layout_index (int, optional): an integer (default: 0) that determines the index of the Layout object in the given SBMLDocument + - index (int, optional): an integer (default: 0) that determines the index of the GeometricShape object in the LineEnding object of the Reaction object + + :Returns: + + true on success and false if the y-coordinate of the segment could not be set + """ + return lib.c_api_setReactionLineEndingGeometricShapeSegmentY(self.sbml_object, str(reaction_id).encode(), segment_index, ctypes.c_double(y), reaction_glyph_index, layout_index, index) + + def getLineEndingGeometricShapeBasePoint1X(self, line_ending_id, segment_index, index=0, render_index=0): + """ + Returns the x-coordinate of the first base point of the segment with the given segment_index of the GeometricShape object with the given index in the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument :Parameters: - line_ending_id (string): a string that determines the id of the LineEnding object + - segment_index (int): an integer that determines the index of the segment - render_index (int, optional): an integer (default: 0) that determines the index of the RenderInformation object in the given SBMLDocument - index (int, optional): an integer (default: 0) that determines the index of the GeometricShape object in the LineEnding object :Returns: - true if the y-radius of the GeometricShape object with the given index in the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument is set and false otherwise + a float that determines the x-coordinate of the first base point of the segment with the given segment_index of the GeometricShape object with the given index in the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument """ - return lib.c_api_isSetLineEndingGeometricShapeRadiusY(self.sbml_object, str(line_ending_id).encode(), index, render_index) + lib.c_api_getLineEndingGeometricShapeBasePoint1X.restype = ctypes.c_double + return lib.c_api_getLineEndingGeometricShapeBasePoint1X(self.sbml_object, str(line_ending_id).encode(), segment_index, index, render_index) - def getLineEndingGeometricShapeRadiusY(self, line_ending_id, index=0, render_index=0): + def setLineEndingGeometricShapeBasePoint1X(self, line_ending_id, segment_index, x, index=0, render_index=0): """ - Returns the y-radius of the GeometricShape object with the given index in the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument + Sets the x-coordinate of the first base point of the segment with the given segment_index of the GeometricShape object with the given index in the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument :Parameters: - line_ending_id (string): a string that determines the id of the LineEnding object + - segment_index (int): an integer that determines the index of the segment + - x (float): a float that determines the x-coordinate of the first base point of the segment - render_index (int, optional): an integer (default: 0) that determines the index of the RenderInformation object in the given SBMLDocument - index (int, optional): an integer (default: 0) that determines the index of the GeometricShape object in the LineEnding object :Returns: - a float that determines the y-radius of the GeometricShape object with the given index in the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument + true on success and false if the x-coordinate of the first base point of the segment could not be set """ - lib.c_api_getLineEndingGeometricShapeRadiusY.restype = ctypes.c_double - return lib.c_api_getLineEndingGeometricShapeRadiusY(self.sbml_object, str(line_ending_id).encode(), index, render_index) + return lib.c_api_setLineEndingGeometricShapeBasePoint1X(self.sbml_object, str(line_ending_id).encode(), ctypes.c_double(x), segment_index, index, render_index) - def setLineEndingGeometricShapeRadiusY(self, line_ending_id, radius_y, index=0, render_index=0): + def getSpeciesReferenceLineEndingGeometricShapeBasePoint1X(self, reaction_id, segment_index, reaction_glyph_index=0, species_reference_glyph_index=0, layout_index=0, index=0): """ - Sets the y-radius of the GeometricShape object with the given index in the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument + Returns the x-coordinate of the first base point of the segment with the given segment_index of the GeometricShape object with the given index in the LineEnding object of the SpeciesReference object with the given reaction_id, reaction_glyph_index, species_reference_glyph_index and layout_index in the given SBMLDocument + + :Parameters: + + - reaction_id (string): a string that determines the id of the Reaction object + - segment_index (int): an integer that determines the index of the segment + - reaction_glyph_index (int, optional): an integer (default: 0) that determines the index of the ReactionGlyph object in the given SBMLDocument + - species_reference_glyph_index (int, optional): an integer (default: 0) that determines the index of the SpeciesReferenceGlyph object in the given SBMLDocument + - layout_index (int, optional): an integer (default: 0) that determines the index of the Layout object in the given SBMLDocument + - index (int, optional): an integer (default: 0) that determines the index of the GeometricShape object in the LineEnding object of the SpeciesReference object + + :Returns: + + a float that determines the x-coordinate of the first base point of the segment with the given segment_index of the GeometricShape object with the given index in the LineEnding object of the SpeciesReference object with the given reaction_id, reaction_glyph_index, species_reference_glyph_index and layout_index in the given SBMLDocument + """ + lib.c_api_getSpeciesReferenceLineEndingGeometricShapeBasePoint1X.restype = ctypes.c_double + return lib.c_api_getSpeciesReferenceLineEndingGeometricShapeBasePoint1X(self.sbml_object, str(reaction_id).encode(), segment_index, reaction_glyph_index, species_reference_glyph_index, layout_index, index) + + def setSpeciesReferenceLineEndingGeometricShapeBasePoint1X(self, reaction_id, segment_index, x, reaction_glyph_index=0, species_reference_glyph_index=0, layout_index=0, index=0): + """ + Sets the x-coordinate of the first base point of the segment with the given segment_index of the GeometricShape object with the given index in the LineEnding object of the SpeciesReference object with the given reaction_id, reaction_glyph_index, species_reference_glyph_index and layout_index in the given SBMLDocument + + :Parameters: + + - reaction_id (string): a string that determines the id of the Reaction object + - segment_index (int): an integer that determines the index of the segment + - x (float): a float that determines the x-coordinate of the first base point of the segment + - reaction_glyph_index (int, optional): an integer (default: 0) that determines the index of the ReactionGlyph object in the given SBMLDocument + - species_reference_glyph_index (int, optional): an integer (default: 0) that determines the index of the SpeciesReferenceGlyph object in the given SBMLDocument + - layout_index (int, optional): an integer (default: 0) that determines the index of the Layout object in the given SBMLDocument + - index (int, optional): an integer (default: 0) that determines the index of the GeometricShape object in the LineEnding object of the SpeciesReference object + + :Returns: + + true on success and false if the x-coordinate of the first base point of the segment could not be set + """ + return lib.c_api_setSpeciesReferenceLineEndingGeometricShapeBasePoint1X(self.sbml_object, str(reaction_id).encode(), segment_index, ctypes.c_double(x), reaction_glyph_index, species_reference_glyph_index, layout_index, index) + + def setReactionLineEndingGeometricShapeBasePoint1X(self, reaction_id, segment_index, x, reaction_glyph_index=0, layout_index=0, index=0): + """ + Sets the x-coordinate of the first base point of the segment with the given segment_index of the GeometricShape object with the given index in the LineEnding object of the Reaction object with the given reaction_id, reaction_glyph_index and layout_index in the given SBMLDocument + + :Parameters: + + - reaction_id (string): a string that determines the id of the Reaction object + - segment_index (int): an integer that determines the index of the segment + - x (float): a float that determines the x-coordinate of the first base point of the segment + - reaction_glyph_index (int, optional): an integer (default: 0) that determines the index of the ReactionGlyph object in the given SBMLDocument + - layout_index (int, optional): an integer (default: 0) that determines the index of the Layout object in the given SBMLDocument + - index (int, optional): an integer (default: 0) that determines the index of the GeometricShape object in the LineEnding object of the Reaction object + + :Returns: + + true on success and false if the x-coordinate of the first base point of the segment could not be set + """ + return lib.c_api_setReactionLineEndingGeometricShapeBasePoint1X(self.sbml_object, str(reaction_id).encode(), segment_index, ctypes.c_double(x), reaction_glyph_index, layout_index, index) + + def getLineEndingGeometricShapeBasePoint1Y(self, line_ending_id, segment_index, index=0, render_index=0): + """ + Returns the y-coordinate of the first base point of the segment with the given segment_index of the GeometricShape object with the given index in the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument :Parameters: - line_ending_id (string): a string that determines the id of the LineEnding object - - radius_y (float): a float that determines the y-radius of the GeometricShape object + - segment_index (int): an integer that determines the index of the segment - render_index (int, optional): an integer (default: 0) that determines the index of the RenderInformation object in the given SBMLDocument - index (int, optional): an integer (default: 0) that determines the index of the GeometricShape object in the LineEnding object :Returns: - true on success and false if the y-radius of the GeometricShape object could not be set + a float that determines the y-coordinate of the first base point of the segment with the given segment_index of the GeometricShape object with the given index in the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument """ - return lib.c_api_setLineEndingGeometricShapeRadiusY(self.sbml_object, str(line_ending_id).encode(), ctypes.c_double(radius_y), render_index, index) + lib.c_api_getLineEndingGeometricShapeBasePoint1Y.restype = ctypes.c_double + return lib.c_api_getLineEndingGeometricShapeBasePoint1Y(self.sbml_object, str(line_ending_id).encode(), segment_index, index, render_index) - def getLineEndingGeometricShapeNumSegments(self, line_ending_id, index=0, render_index=0): + def setLineEndingGeometricShapeBasePoint1Y(self, line_ending_id, y, segment_index, index=0, render_index=0): """ - Returns the number of segments of the GeometricShape object with the given index in the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument + Sets the y-coordinate of the first base point of the segment with the given segment_index of the GeometricShape object with the given index in the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument :Parameters: - line_ending_id (string): a string that determines the id of the LineEnding object + - segment_index (int): an integer that determines the index of the segment + - y (float): a float that determines the y-coordinate of the first base point of the segment - render_index (int, optional): an integer (default: 0) that determines the index of the RenderInformation object in the given SBMLDocument - index (int, optional): an integer (default: 0) that determines the index of the GeometricShape object in the LineEnding object :Returns: - an integer that determines the number of segments of the GeometricShape object with the given index in the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument + true on success and false if the y-coordinate of the first base point of the segment could not be set """ - return lib.c_api_getLineEndingGeometricShapeNumSegments(self.sbml_object, str(line_ending_id).encode(), index, render_index) + return lib.c_api_setLineEndingGeometricShapeBasePoint1Y(self.sbml_object, str(line_ending_id).encode(), ctypes.c_double(y), segment_index, index, render_index) - def isLineEndingGeometricShapeSegmentCubicBezier(self, line_ending_id, segment_index, index=0, render_index=0): + def getSpeciesReferenceLineEndingGeometricShapeBasePoint1Y(self, reaction_id, segment_index, reaction_glyph_index=0, species_reference_glyph_index=0, layout_index=0, index=0): """ - Returns whether the segment with the given segment_index of the GeometricShape object with the given index in the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument is a cubic bezier segment + Returns the y-coordinate of the first base point of the segment with the given segment_index of the GeometricShape object with the given index in the LineEnding object of the SpeciesReference object with the given reaction_id, reaction_glyph_index, species_reference_glyph_index and layout_index in the given SBMLDocument + + :Parameters: + + - reaction_id (string): a string that determines the id of the Reaction object + - segment_index (int): an integer that determines the index of the segment + - reaction_glyph_index (int, optional): an integer (default: 0) that determines the index of the ReactionGlyph object in the given SBMLDocument + - species_reference_glyph_index (int, optional): an integer (default: 0) that determines the index of the SpeciesReferenceGlyph object in the given SBMLDocument + - layout_index (int, optional): an integer (default: 0) that determines the index of the Layout object in the given SBMLDocument + - index (int, optional): an integer (default: 0) that determines the index of the GeometricShape object in the LineEnding object of the SpeciesReference object + + :Returns: + + a float that determines the y-coordinate of the first base point of the segment with the given segment_index of the GeometricShape object with the given index in the LineEnding object of the SpeciesReference object with the given reaction_id, reaction_glyph_index, species_reference_glyph_index and layout_index in the given SBMLDocument + """ + lib.c_api_getSpeciesReferenceLineEndingGeometricShapeBasePoint1Y.restype = ctypes.c_double + return lib.c_api_getSpeciesReferenceLineEndingGeometricShapeBasePoint1Y(self.sbml_object, str(reaction_id).encode(), segment_index, reaction_glyph_index, species_reference_glyph_index, layout_index, index) + + def setSpeciesReferenceLineEndingGeometricShapeBasePoint1Y(self, reaction_id, segment_index, y, reaction_glyph_index=0, species_reference_glyph_index=0, layout_index=0, index=0): + """ + Sets the y-coordinate of the first base point of the segment with the given segment_index of the GeometricShape object with the given index in the LineEnding object of the SpeciesReference object with the given reaction_id, reaction_glyph_index, species_reference_glyph_index and layout_index in the given SBMLDocument + + :Parameters: + + - reaction_id (string): a string that determines the id of the Reaction object + - segment_index (int): an integer that determines the index of the segment + - y (float): a float that determines the y-coordinate of the first base point of the segment + - reaction_glyph_index (int, optional): an integer (default: 0) that determines the index of the ReactionGlyph object in the given SBMLDocument + - species_reference_glyph_index (int, optional): an integer (default: 0) that determines the index of the SpeciesReferenceGlyph object in the given SBMLDocument + - layout_index (int, optional): an integer (default: 0) that determines the index of the Layout object in the given SBMLDocument + - index (int, optional): an integer (default: 0) that determines the index of the GeometricShape object in the LineEnding object of the SpeciesReference object + + :Returns: + + true on success and false if the y-coordinate of the first base point of the segment could not be set + """ + return lib.c_api_setSpeciesReferenceLineEndingGeometricShapeBasePoint1Y(self.sbml_object, str(reaction_id).encode(), segment_index, ctypes.c_double(y), reaction_glyph_index, species_reference_glyph_index, layout_index, index) + + def setReactionLineEndingGeometricShapeBasePoint1Y(self, reaction_id, segment_index, y, reaction_glyph_index=0, layout_index=0, index=0): + """ + Sets the y-coordinate of the first base point of the segment with the given segment_index of the GeometricShape object with the given index in the LineEnding object of the Reaction object with the given reaction_id, reaction_glyph_index and layout_index in the given SBMLDocument + + :Parameters: + + - reaction_id (string): a string that determines the id of the Reaction object + - segment_index (int): an integer that determines the index of the segment + - y (float): a float that determines the y-coordinate of the first base point of the segment + - reaction_glyph_index (int, optional): an integer (default: 0) that determines the index of the ReactionGlyph object in the given SBMLDocument + - layout_index (int, optional): an integer (default: 0) that determines the index of the Layout object in the given SBMLDocument + - index (int, optional): an integer (default: 0) that determines the index of the GeometricShape object in the LineEnding object of the Reaction object + + :Returns: + + true on success and false if the y-coordinate of the first base point of the segment could not be set + """ + return lib.c_api_setReactionLineEndingGeometricShapeBasePoint1Y(self.sbml_object, str(reaction_id).encode(), segment_index, ctypes.c_double(y), reaction_glyph_index, layout_index, index) + + def getLineEndingGeometricShapeBasePoint2X(self, line_ending_id, segment_index, index=0, render_index=0): + """ + Returns the x-coordinate of the second base point of the segment with the given segment_index of the GeometricShape object with the given index in the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument :Parameters: @@ -4639,153 +6637,182 @@ class LibSBMLNetwork: :Returns: - true if the segment with the given segment_index of the GeometricShape object with the given index in the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument is a cubic bezier segment and false otherwise + a float that determines the x-coordinate of the second base point of the segment with the given segment_index of the GeometricShape object with the given index in the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument """ - return lib.c_api_isLineEndingGeometricShapeSegmentCubicBezier(self.sbml_object, str(line_ending_id).encode(), segment_index, index, render_index) + lib.c_api_getLineEndingGeometricShapeBasePoint2X.restype = ctypes.c_double + return lib.c_api_getLineEndingGeometricShapeBasePoint2X(self.sbml_object, str(line_ending_id).encode(), segment_index, index, render_index) - def getLineEndingGeometricShapeSegmentX(self, line_ending_id, segment_index, index=0, render_index=0): + def setLineEndingGeometricShapeBasePoint2X(self, line_ending_id, segment_index, x, index=0, render_index=0): """ - Returns the x-coordinate of the segment with the given segment_index of the GeometricShape object with the given index in the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument + Sets the x-coordinate of the second base point of the segment with the given segment_index of the GeometricShape object with the given index in the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument :Parameters: - line_ending_id (string): a string that determines the id of the LineEnding object - segment_index (int): an integer that determines the index of the segment + - x (float): a float that determines the x-coordinate of the second base point of the segment - render_index (int, optional): an integer (default: 0) that determines the index of the RenderInformation object in the given SBMLDocument - index (int, optional): an integer (default: 0) that determines the index of the GeometricShape object in the LineEnding object :Returns: - a float that determines the x-coordinate of the segment with the given segment_index of the GeometricShape object with the given index in the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument + true on success and false if the x-coordinate of the second base point of the segment could not be set """ - lib.c_api_getLineEndingGeometricShapeSegmentX.restype = ctypes.c_double - return lib.c_api_getLineEndingGeometricShapeSegmentX(self.sbml_object, str(line_ending_id).encode(), segment_index, index, render_index) + return lib.c_api_setLineEndingGeometricShapeBasePoint2X(self.sbml_object, str(line_ending_id).encode(), ctypes.c_double(x), segment_index, index, render_index) - def setLineEndingGeometricShapeSegmentX(self, line_ending_id, segment_index, x, index=0, render_index=0): + def getSpeciesReferenceLineEndingGeometricShapeBasePoint2X(self, reaction_id, segment_index, reaction_glyph_index=0, species_reference_glyph_index=0, layout_index=0, index=0): """ - Sets the x-coordinate of the segment with the given segment_index of the GeometricShape object with the given index in the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument + Returns the x-coordinate of the second base point of the segment with the given segment_index of the GeometricShape object with the given index in the LineEnding object of the SpeciesReference object with the given reaction_id, reaction_glyph_index, species_reference_glyph_index and layout_index in the given SBMLDocument + + :Parameters: + + - reaction_id (string): a string that determines the id of the Reaction object + - segment_index (int): an integer that determines the index of the segment + - reaction_glyph_index (int, optional): an integer (default: 0) that determines the index of the ReactionGlyph object in the given SBMLDocument + - species_reference_glyph_index (int, optional): an integer (default: 0) that determines the index of the SpeciesReferenceGlyph object in the given SBMLDocument + - layout_index (int, optional): an integer (default: 0) that determines the index of the Layout object in the given SBMLDocument + - index (int, optional): an integer (default: 0) that determines the index of the GeometricShape object in the LineEnding object of the SpeciesReference object + + :Returns: + + a float that determines the x-coordinate of the second base point of the segment with the given segment_index of the GeometricShape object with the given index in the LineEnding object of the SpeciesReference object with the given reaction_id, reaction_glyph_index, species_reference_glyph_index and layout_index in the given SBMLDocument + """ + lib.c_api_getSpeciesReferenceLineEndingGeometricShapeBasePoint2X.restype = ctypes.c_double + return lib.c_api_getSpeciesReferenceLineEndingGeometricShapeBasePoint2X(self.sbml_object, str(reaction_id).encode(), segment_index, reaction_glyph_index, species_reference_glyph_index, layout_index, index) + + def setSpeciesReferenceLineEndingGeometricShapeBasePoint2X(self, reaction_id, segment_index, x, reaction_glyph_index=0, species_reference_glyph_index=0, layout_index=0, index=0): + """ + Sets the x-coordinate of the second base point of the segment with the given segment_index of the GeometricShape object with the given index in the LineEnding object of the SpeciesReference object with the given reaction_id, reaction_glyph_index, species_reference_glyph_index and layout_index in the given SBMLDocument :Parameters: - - line_ending_id (string): a string that determines the id of the LineEnding object + - reaction_id (string): a string that determines the id of the Reaction object - segment_index (int): an integer that determines the index of the segment - - x (float): a float that determines the x-coordinate of the segment - - render_index (int, optional): an integer (default: 0) that determines the index of the RenderInformation object in the given SBMLDocument - - index (int, optional): an integer (default: 0) that determines the index of the GeometricShape object in the LineEnding object + - x (float): a float that determines the x-coordinate of the second base point of the segment + - reaction_glyph_index (int, optional): an integer (default: 0) that determines the index of the ReactionGlyph object in the given SBMLDocument + - species_reference_glyph_index (int, optional): an integer (default: 0) that determines the index of the SpeciesReferenceGlyph object in the given SBMLDocument + - layout_index (int, optional): an integer (default: 0) that determines the index of the Layout object in the given SBMLDocument + - index (int, optional): an integer (default: 0) that determines the index of the GeometricShape object in the LineEnding object of the SpeciesReference object :Returns: - true on success and false if the x-coordinate of the segment could not be set + true on success and false if the x-coordinate of the second base point of the segment could not be set """ - return lib.c_api_setLineEndingGeometricShapeSegmentX(self.sbml_object, str(line_ending_id).encode(), ctypes.c_double(x), segment_index, index, render_index) + return lib.c_api_setSpeciesReferenceLineEndingGeometricShapeBasePoint2X(self.sbml_object, str(reaction_id).encode(), segment_index, ctypes.c_double(x), reaction_glyph_index, species_reference_glyph_index, layout_index, index) - def getLineEndingGeometricShapeSegmentY(self, line_ending_id, segment_index, index=0, render_index=0): + def setReactionLineEndingGeometricShapeBasePoint2X(self, reaction_id, segment_index, x, reaction_glyph_index=0, layout_index=0, index=0): """ - Returns the y-coordinate of the segment with the given segment_index of the GeometricShape object with the given index in the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument + Sets the x-coordinate of the second base point of the segment with the given segment_index of the GeometricShape object with the given index in the LineEnding object of the Reaction object with the given reaction_id, reaction_glyph_index and layout_index in the given SBMLDocument :Parameters: - - line_ending_id (string): a string that determines the id of the LineEnding object + - reaction_id (string): a string that determines the id of the Reaction object - segment_index (int): an integer that determines the index of the segment - - render_index (int, optional): an integer (default: 0) that determines the index of the RenderInformation object in the given SBMLDocument - - index (int, optional): an integer (default: 0) that determines the index of the GeometricShape object in the LineEnding object + - x (float): a float that determines the x-coordinate of the second base point of the segment + - reaction_glyph_index (int, optional): an integer (default: 0) that determines the index of the ReactionGlyph object in the given SBMLDocument + - layout_index (int, optional): an integer (default: 0) that determines the index of the Layout object in the given SBMLDocument + - index (int, optional): an integer (default: 0) that determines the index of the GeometricShape object in the LineEnding object of the Reaction object :Returns: - a float that determines the y-coordinate of the segment with the given segment_index of the GeometricShape object with the given index in the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument + true on success and false if the x-coordinate of the second base point of the segment could not be set """ - lib.c_api_getLineEndingGeometricShapeSegmentY.restype = ctypes.c_double - return lib.c_api_getLineEndingGeometricShapeSegmentY(self.sbml_object, str(line_ending_id).encode(), segment_index, index, render_index) + return lib.c_api_setReactionLineEndingGeometricShapeBasePoint2X(self.sbml_object, str(reaction_id).encode(), segment_index, ctypes.c_double(x), reaction_glyph_index, layout_index, index) - def setLineEndingGeometricShapeSegmentY(self, line_ending_id, y, segment_index, index=0, render_index=0): + def getLineEndingGeometricShapeBasePoint2Y(self, line_ending_id, segment_index, index=0, render_index=0): """ - Sets the y-coordinate of the segment with the given segment_index of the GeometricShape object with the given index in the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument + Returns the y-coordinate of the second base point of the segment with the given segment_index of the GeometricShape object with the given index in the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument :Parameters: - line_ending_id (string): a string that determines the id of the LineEnding object - segment_index (int): an integer that determines the index of the segment - - y (float): a float that determines the y-coordinate of the segment - render_index (int, optional): an integer (default: 0) that determines the index of the RenderInformation object in the given SBMLDocument - index (int, optional): an integer (default: 0) that determines the index of the GeometricShape object in the LineEnding object :Returns: - true on success and false if the y-coordinate of the segment could not be set + a float that determines the y-coordinate of the second base point of the segment with the given segment_index of the GeometricShape object with the given index in the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument """ - return lib.c_api_setLineEndingGeometricShapeSegmentY(self.sbml_object, str(line_ending_id).encode(), ctypes.c_double(y), segment_index, index, render_index) + lib.c_api_getLineEndingGeometricShapeBasePoint2Y.restype = ctypes.c_double + return lib.c_api_getLineEndingGeometricShapeBasePoint2Y(self.sbml_object, str(line_ending_id).encode(), segment_index, index, render_index) - def getLineEndingGeometricShapeBasePoint1X(self, line_ending_id, segment_index, index=0, render_index=0): + def setLineEndingGeometricShapeBasePoint2Y(self, line_ending_id, y, segment_index, index=0, render_index=0): """ - Returns the x-coordinate of the first base point of the segment with the given segment_index of the GeometricShape object with the given index in the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument + Sets the y-coordinate of the second base point of the segment with the given segment_index of the GeometricShape object with the given index in the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument :Parameters: - line_ending_id (string): a string that determines the id of the LineEnding object - segment_index (int): an integer that determines the index of the segment + - y (float): a float that determines the y-coordinate of the second base point of the segment - render_index (int, optional): an integer (default: 0) that determines the index of the RenderInformation object in the given SBMLDocument - index (int, optional): an integer (default: 0) that determines the index of the GeometricShape object in the LineEnding object :Returns: - a float that determines the x-coordinate of the first base point of the segment with the given segment_index of the GeometricShape object with the given index in the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument + true on success and false if the y-coordinate of the second base point of the segment could not be set """ - lib.c_api_getLineEndingGeometricShapeBasePoint1X.restype = ctypes.c_double - return lib.c_api_getLineEndingGeometricShapeBasePoint1X(self.sbml_object, str(line_ending_id).encode(), segment_index, index, render_index) + return lib.c_api_setLineEndingGeometricShapeBasePoint2Y(self.sbml_object, str(line_ending_id).encode(), ctypes.c_double(y), segment_index, index, render_index) - def setLineEndingGeometricShapeBasePoint1X(self, line_ending_id, segment_index, x, index=0, render_index=0): + def getSpeciesReferenceLineEndingGeometricShapeBasePoint2Y(self, reaction_id, segment_index, reaction_glyph_index=0, species_reference_glyph_index=0, layout_index=0, index=0): """ - Sets the x-coordinate of the first base point of the segment with the given segment_index of the GeometricShape object with the given index in the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument + Returns the y-coordinate of the second base point of the segment with the given segment_index of the GeometricShape object with the given index in the LineEnding object of the SpeciesReference object with the given reaction_id, reaction_glyph_index, species_reference_glyph_index and layout_index in the given SBMLDocument :Parameters: - - line_ending_id (string): a string that determines the id of the LineEnding object + - reaction_id (string): a string that determines the id of the Reaction object - segment_index (int): an integer that determines the index of the segment - - x (float): a float that determines the x-coordinate of the first base point of the segment - - render_index (int, optional): an integer (default: 0) that determines the index of the RenderInformation object in the given SBMLDocument - - index (int, optional): an integer (default: 0) that determines the index of the GeometricShape object in the LineEnding object + - reaction_glyph_index (int, optional): an integer (default: 0) that determines the index of the ReactionGlyph object in the given SBMLDocument + - species_reference_glyph_index (int, optional): an integer (default: 0) that determines the index of the SpeciesReferenceGlyph object in the given SBMLDocument + - layout_index (int, optional): an integer (default: 0) that determines the index of the Layout object in the given SBMLDocument + - index (int, optional): an integer (default: 0) that determines the index of the GeometricShape object in the LineEnding object of the SpeciesReference object :Returns: - true on success and false if the x-coordinate of the first base point of the segment could not be set + a float that determines the y-coordinate of the second base point of the segment with the given segment_index of the GeometricShape object with the given index in the LineEnding object of the SpeciesReference object with the given reaction_id, reaction_glyph_index, species_reference_glyph_index and layout_index in the given SBMLDocument """ - return lib.c_api_setLineEndingGeometricShapeBasePoint1X(self.sbml_object, str(line_ending_id).encode(), ctypes.c_double(x), segment_index, index, render_index) + lib.c_api_getSpeciesReferenceLineEndingGeometricShapeBasePoint2Y.restype = ctypes.c_double + return lib.c_api_getSpeciesReferenceLineEndingGeometricShapeBasePoint2Y(self.sbml_object, str(reaction_id).encode(), segment_index, reaction_glyph_index, species_reference_glyph_index, layout_index, index) - def getLineEndingGeometricShapeBasePoint1Y(self, line_ending_id, segment_index, index=0, render_index=0): + def setSpeciesReferenceLineEndingGeometricShapeBasePoint2Y(self, reaction_id, segment_index, y, reaction_glyph_index=0, species_reference_glyph_index=0, layout_index=0, index=0): """ - Returns the y-coordinate of the first base point of the segment with the given segment_index of the GeometricShape object with the given index in the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument + Sets the y-coordinate of the second base point of the segment with the given segment_index of the GeometricShape object with the given index in the LineEnding object of the SpeciesReference object with the given reaction_id, reaction_glyph_index, species_reference_glyph_index and layout_index in the given SBMLDocument :Parameters: - - line_ending_id (string): a string that determines the id of the LineEnding object + - reaction_id (string): a string that determines the id of the Reaction object - segment_index (int): an integer that determines the index of the segment - - render_index (int, optional): an integer (default: 0) that determines the index of the RenderInformation object in the given SBMLDocument - - index (int, optional): an integer (default: 0) that determines the index of the GeometricShape object in the LineEnding object + - y (float): a float that determines the y-coordinate of the second base point of the segment + - reaction_glyph_index (int, optional): an integer (default: 0) that determines the index of the ReactionGlyph object in the given SBMLDocument + - species_reference_glyph_index (int, optional): an integer (default: 0) that determines the index of the SpeciesReferenceGlyph object in the given SBMLDocument + - layout_index (int, optional): an integer (default: 0) that determines the index of the Layout object in the given SBMLDocument + - index (int, optional): an integer (default: 0) that determines the index of the GeometricShape object in the LineEnding object of the SpeciesReference object :Returns: - a float that determines the y-coordinate of the first base point of the segment with the given segment_index of the GeometricShape object with the given index in the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument + true on success and false if the y-coordinate of the second base point of the segment could not be set """ - lib.c_api_getLineEndingGeometricShapeBasePoint1Y.restype = ctypes.c_double - return lib.c_api_getLineEndingGeometricShapeBasePoint1Y(self.sbml_object, str(line_ending_id).encode(), segment_index, index, render_index) + return lib.c_api_setSpeciesReferenceLineEndingGeometricShapeBasePoint2Y(self.sbml_object, str(reaction_id).encode(), segment_index, ctypes.c_double(y), reaction_glyph_index, species_reference_glyph_index, layout_index, index) - def setLineEndingGeometricShapeBasePoint1Y(self, line_ending_id, y, segment_index, index=0, render_index=0): + def setReactionLineEndingGeometricShapeBasePoint2Y(self, reaction_id, segment_index, y, reaction_glyph_index=0, layout_index=0, index=0): """ - Sets the y-coordinate of the first base point of the segment with the given segment_index of the GeometricShape object with the given index in the LineEnding object with the given line_ending_id and render_index in the given SBMLDocument + Sets the y-coordinate of the second base point of the segment with the given segment_index of the GeometricShape object with the given index in the LineEnding object of the Reaction object with the given reaction_id, reaction_glyph_index and layout_index in the given SBMLDocument :Parameters: - - line_ending_id (string): a string that determines the id of the LineEnding object + - reaction_id (string): a string that determines the id of the Reaction object - segment_index (int): an integer that determines the index of the segment - - y (float): a float that determines the y-coordinate of the first base point of the segment - - render_index (int, optional): an integer (default: 0) that determines the index of the RenderInformation object in the given SBMLDocument - - index (int, optional): an integer (default: 0) that determines the index of the GeometricShape object in the LineEnding object + - y (float): a float that determines the y-coordinate of the second base point of the segment + - reaction_glyph_index (int, optional): an integer (default: 0) that determines the index of the ReactionGlyph object in the given SBMLDocument + - layout_index (int, optional): an integer (default: 0) that determines the index of the Layout object in the given SBMLDocument + - index (int, optional): an integer (default: 0) that determines the index of the GeometricShape object in the LineEnding object of the Reaction object :Returns: - true on success and false if the y-coordinate of the first base point of the segment could not be set + true on success and false if the y-coordinate of the second base point of the segment could not be set """ - return lib.c_api_setLineEndingGeometricShapeBasePoint1Y(self.sbml_object, str(line_ending_id).encode(), ctypes.c_double(y), segment_index, index, render_index) + return lib.c_api_setReactionLineEndingGeometricShapeBasePoint2Y(self.sbml_object, str(reaction_id).encode(), segment_index, ctypes.c_double(y), reaction_glyph_index, layout_index, index) def isSetBorderColor(self, id, graphical_object_index=0, layout_index=0): """ @@ -5345,6 +7372,40 @@ class LibSBMLNetwork: """ return lib.c_api_setFillColor(self.sbml_object, str(id).encode(), str(fill_color).encode(), graphical_object_index, layout_index) + def setFillColorAsGradient(self, id, stop_colors = [], stop_offsets = [], gradient_type = "linear", graphical_object_index=0, layout_index=0): + """ + Sets the fill color of the GraphicalObject associated with the model entity with the given id, graphical_object_index, and layout_index in the given SBMLDocument as a gradient + + :Parameters: + + - id (string): a string that determines the id of the model entity + - stop_colors (list): a list of strings that determines the stop colors of the gradient + - stop_offsets (list): a list of floats that determines the stop offsets of the gradient + - gradient_type (string, optional): a string (default: "linear") that determines the type of the gradient + - graphical_object_index (int): an integer that determines the index of the GraphicalObject in the given SBMLDocument + - layout_index (int, optional): an integer (default: 0) that determines the index of the Layout object in the given SBMLDocument + + :Returns: + + true on success and false if the fill color of the GraphicalObject could not be set + """ + if len(stop_colors) != len(stop_offsets): + raise ValueError("The number of stop colors list and stop offsets list should be the same") + + stop_colors_ptr = None + if stop_colors is not None: + stop_colors_ptr = (ctypes.c_char_p * len(stop_colors))() + for i in range(len(stop_colors)): + stop_colors_ptr[i] = ctypes.c_char_p(stop_colors[i].encode()) + + stop_offsets_ptr = None + if stop_offsets is not None: + stop_offsets_ptr = (ctypes.c_double * len(stop_offsets))() + for i in range(len(stop_offsets)): + stop_offsets_ptr[i] = ctypes.c_double(stop_offsets[i]) + + return lib.c_api_setFillColorAsGradient(self.sbml_object, str(id).encode(), str(gradient_type).encode(), stop_colors_ptr, stop_offsets_ptr, len(stop_colors), graphical_object_index, layout_index) + def getCompartmentsFillColor(self): """ Returns the default fill color of the CompartmentGlyph objects in the given SBMLDocument @@ -5371,6 +7432,38 @@ class LibSBMLNetwork: """ return lib.c_api_setCompartmentsFillColor(self.sbml_object, str(fill_color).encode(), layout_index) + def setCompartmentsFillColorAsGradient(self, stop_colors = [], stop_offsets = [], gradient_type = "linear", layout_index=0): + """ + Sets the fill color of all the CompartmentGlyph object with the given layout_index in the given SBMLDocument as a gradient + + :Parameters: + + - stop_colors (list): a list of strings that determines the stop colors of the gradient + - stop_offsets (list): a list of floats that determines the stop offsets of the gradient + - gradient_type (string, optional): a string (default: "linear") that determines the type of the gradient + - layout_index (int, optional): an integer (default: 0) that determines the index of the Layout object in the given SBMLDocument + + :Returns: + + true on success and false if the fill color of all the CompartmentGlyph object could not be set + """ + if len(stop_colors) != len(stop_offsets): + raise ValueError("The number of stop colors list and stop offsets list should be the same") + + stop_colors_ptr = None + if stop_colors is not None: + stop_colors_ptr = (ctypes.c_char_p * len(stop_colors))() + for i in range(len(stop_colors)): + stop_colors_ptr[i] = ctypes.c_char_p(stop_colors[i].encode()) + + stop_offsets_ptr = None + if stop_offsets is not None: + stop_offsets_ptr = (ctypes.c_double * len(stop_offsets))() + for i in range(len(stop_offsets)): + stop_offsets_ptr[i] = ctypes.c_double(stop_offsets[i]) + + return lib.c_api_setCompartmentsFillColorAsGradient(self.sbml_object, str(gradient_type).encode(), stop_colors_ptr, stop_offsets_ptr, len(stop_colors), layout_index) + def getSpeciesFillColor(self): """ Returns the default fill color of the SpeciesGlyph objects in the given SBMLDocument @@ -5397,6 +7490,38 @@ class LibSBMLNetwork: """ return lib.c_api_setSpeciesFillColor(self.sbml_object, str(fill_color).encode(), layout_index) + def setSpeciesFillColorAsGradient(self, stop_colors = [], stop_offsets = [], gradient_type = "linear", layout_index=0): + """ + Sets the fill color of all the SpeciesGlyph object with the given layout_index in the given SBMLDocument as a gradient + + :Parameters: + + - stop_colors (list): a list of strings that determines the stop colors of the gradient + - stop_offsets (list): a list of floats that determines the stop offsets of the gradient + - gradient_type (string, optional): a string (default: "linear") that determines the type of the gradient + - layout_index (int, optional): an integer (default: 0) that determines the index of the Layout object in the given SBMLDocument + + :Returns: + + true on success and false if the fill color of all the SpeciesGlyph object could not be set + """ + if len(stop_colors) != len(stop_offsets): + raise ValueError("The number of stop colors list and stop offsets list should be the same") + + stop_colors_ptr = None + if stop_colors is not None: + stop_colors_ptr = (ctypes.c_char_p * len(stop_colors))() + for i in range(len(stop_colors)): + stop_colors_ptr[i] = ctypes.c_char_p(stop_colors[i].encode()) + + stop_offsets_ptr = None + if stop_offsets is not None: + stop_offsets_ptr = (ctypes.c_double * len(stop_offsets))() + for i in range(len(stop_offsets)): + stop_offsets_ptr[i] = ctypes.c_double(stop_offsets[i]) + + return lib.c_api_setSpeciesFillColorAsGradient(self.sbml_object, str(gradient_type).encode(), stop_colors_ptr, stop_offsets_ptr, len(stop_colors), layout_index) + def getReactionsFillColor(self): """ Returns the default fill color of the ReactionGlyph objects in the given SBMLDocument @@ -5423,6 +7548,38 @@ class LibSBMLNetwork: """ return lib.c_api_setReactionsFillColor(self.sbml_object, str(fill_color).encode(), layout_index) + def setReactionsFillColorAsGradient(self, stop_colors = [], stop_offsets = [], gradient_type = "linear", layout_index=0): + """ + Sets the fill color of all the ReactionGlyph object with the given layout_index in the given SBMLDocument as a gradient + + :Parameters: + + - stop_colors (list): a list of strings that determines the stop colors of the gradient + - stop_offsets (list): a list of floats that determines the stop offsets of the gradient + - gradient_type (string, optional): a string (default: "linear") that determines the type of the gradient + - layout_index (int, optional): an integer (default: 0) that determines the index of the Layout object in the given SBMLDocument + + :Returns: + + true on success and false if the fill color of all the ReactionGlyph object could not be set + """ + if len(stop_colors) != len(stop_offsets): + raise ValueError("The number of stop colors list and stop offsets list should be the same") + + stop_colors_ptr = None + if stop_colors is not None: + stop_colors_ptr = (ctypes.c_char_p * len(stop_colors))() + for i in range(len(stop_colors)): + stop_colors_ptr[i] = ctypes.c_char_p(stop_colors[i].encode()) + + stop_offsets_ptr = None + if stop_offsets is not None: + stop_offsets_ptr = (ctypes.c_double * len(stop_offsets))() + for i in range(len(stop_offsets)): + stop_offsets_ptr[i] = ctypes.c_double(stop_offsets[i]) + + return lib.c_api_setReactionsFillColorAsGradient(self.sbml_object, str(gradient_type).encode(), stop_colors_ptr, stop_offsets_ptr, len(stop_colors), layout_index) + def setLineEndingsFillColor(self, fill_color, layout_index=0): """ Sets the fill color of all the LineEnding object with the given layout_index in the given SBMLDocument @@ -5438,6 +7595,38 @@ class LibSBMLNetwork: """ return lib.c_api_setLineEndingsFillColor(self.sbml_object, str(fill_color).encode(), layout_index) + def setLineEndingsFillColorAsGradient(self, stop_colors = [], stop_offsets = [], gradient_type = "linear", layout_index=0): + """ + Sets the fill color of all the LineEnding object with the given layout_index in the given SBMLDocument as a gradient + + :Parameters: + + - stop_colors (list): a list of strings that determines the stop colors of the gradient + - stop_offsets (list): a list of floats that determines the stop offsets of the gradient + - gradient_type (string, optional): a string (default: "linear") that determines the type of the gradient + - layout_index (int, optional): an integer (default: 0) that determines the index of the Layout object in the given SBMLDocument + + :Returns: + + true on success and false if the fill color of all the LineEnding object could not be set + """ + if len(stop_colors) != len(stop_offsets): + raise ValueError("The number of stop colors list and stop offsets list should be the same") + + stop_colors_ptr = None + if stop_colors is not None: + stop_colors_ptr = (ctypes.c_char_p * len(stop_colors))() + for i in range(len(stop_colors)): + stop_colors_ptr[i] = ctypes.c_char_p(stop_colors[i].encode()) + + stop_offsets_ptr = None + if stop_offsets is not None: + stop_offsets_ptr = (ctypes.c_double * len(stop_offsets))() + for i in range(len(stop_offsets)): + stop_offsets_ptr[i] = ctypes.c_double(stop_offsets[i]) + + return lib.c_api_setLineEndingsFillColorAsGradient(self.sbml_object, str(gradient_type).encode(), stop_colors_ptr, stop_offsets_ptr, len(stop_colors), layout_index) + def setFillColors(self, fill_color, layout_index=0): """ Sets the fill color of all the GraphicalObject objects with the given layout_index in the given SBMLDocument @@ -5453,6 +7642,38 @@ class LibSBMLNetwork: """ return lib.c_api_setFillColors(self.sbml_object, str(fill_color).encode(), layout_index) + def setFillColorsAsGradient(self, stop_colors = [], stop_offsets = [], gradient_type = "linear", layout_index=0): + """ + Sets the fill color of all the GraphicalObject objects with the given layout_index in the given SBMLDocument as a gradient + + :Parameters: + + - stop_colors (list): a list of strings that determines the stop colors of the gradient + - stop_offsets (list): a list of floats that determines the stop offsets of the gradient + - gradient_type (string, optional): a string (default: "linear") that determines the type of the gradient + - layout_index (int, optional): an integer (default: 0) that determines the index of the Layout object in the given SBMLDocument + + :Returns: + + true on success and false if the fill color of all the GraphicalObject object could not be set + """ + if len(stop_colors) != len(stop_offsets): + raise ValueError("The number of stop colors list and stop offsets list should be the same") + + stop_colors_ptr = None + if stop_colors is not None: + stop_colors_ptr = (ctypes.c_char_p * len(stop_colors))() + for i in range(len(stop_colors)): + stop_colors_ptr[i] = ctypes.c_char_p(stop_colors[i].encode()) + + stop_offsets_ptr = None + if stop_offsets is not None: + stop_offsets_ptr = (ctypes.c_double * len(stop_offsets))() + for i in range(len(stop_offsets)): + stop_offsets_ptr[i] = ctypes.c_double(stop_offsets[i]) + + return lib.c_api_setFillColorsAsGradient(self.sbml_object, str(gradient_type).encode(), stop_colors_ptr, stop_offsets_ptr, len(stop_colors), layout_index) + def isSetFillRule(self, id, graphical_object_index=0, layout_index=0): """ Returns whether the fill rule of the GraphicalObject associated with the model entity with the given id, graphical_object_index, and layout_index in the given SBMLDocument is set @@ -6957,6 +9178,165 @@ class LibSBMLNetwork: """ return lib.c_api_isText(self.sbml_object, str(id).encode(), geometric_shape_index, graphical_object_index, layout_index) + def isSetGeometricShapeBorderColor(self, id, geometric_shape_index=0, graphical_object_index=0, layout_index=0): + """ + Returns whether the border color of the GeometricShape object with the given index associated with the model entity with the given id in the given SBMLDocument is set + + :Parameters: + + - id (string): a string that determines the id of the model entity + - geometric_shape_index (int, optional): an integer (default: 0) that determines the index of the GeometricShape object associated with the model entity with the given id in the given SBMLDocument + - graphical_object_index (int, optional): an integer (default: 0) that determines the index of the GraphicalObject in the given SBMLDocument + - layout_index (int, optional): an integer (default: 0) that determines the index of the Layout object in the given SBMLDocument + + :Returns: + + true if the border color of the GeometricShape object with the given index associated with the model entity with the given id in the given SBMLDocument is set and false otherwise + """ + return lib.c_api_isSetGeometricShapeBorderColor(self.sbml_object, str(id).encode(), geometric_shape_index, graphical_object_index, layout_index) + + def getGeometricShapeBorderColor(self, id, geometric_shape_index=0, graphical_object_index=0, layout_index=0): + """ + Returns the border color of the GeometricShape object with the given index associated with the model entity with the given id in the given SBMLDocument + + :Parameters: + + - id (string): a string that determines the id of the model entity + - geometric_shape_index (int, optional): an integer (default: 0) that determines the index of the GeometricShape object associated with the model entity with the given id in the given SBMLDocument + - graphical_object_index (int, optional): an integer (default: 0) that determines the index of the GraphicalObject in the given SBMLDocument + - layout_index (int, optional): an integer (default: 0) that determines the index of the Layout object in the given SBMLDocument + + :Returns: + + a string that determines the border color of the GeometricShape object with the given index associated with the model entity with the given id in the given SBMLDocument + """ + lib.c_api_getGeometricShapeBorderColor.restype = ctypes.c_char_p + return ctypes.c_char_p(lib.c_api_getGeometricShapeBorderColor(self.sbml_object, str(id).encode(), geometric_shape_index, graphical_object_index, layout_index)).value.decode() + + def setGeometricShapeBorderColor(self, id, border_color, geometric_shape_index=0, graphical_object_index=0, layout_index=0): + """ + Sets the border color of the GeometricShape object with the given index associated with the model entity with the given id in the given SBMLDocument + + :Parameters: + + - id (string): a string that determines the id of the model entity + - border_color (string): a string that determines the border color of the GeometricShape object + - geometric_shape_index (int, optional): an integer (default: 0) that determines the index of the GeometricShape object associated with the model entity with the given id in the given SBMLDocument + - graphical_object_index (int, optional): an integer (default: 0) that determines the index of the GraphicalObject in the given SBMLDocument + - layout_index (int, optional): an integer (default: 0) that determines the index of the Layout object in the given SBMLDocument + + :Returns: + + true on success and false if the border color of the GeometricShape object could not be set + """ + return lib.c_api_setGeometricShapeBorderColor(self.sbml_object, str(id).encode(), str(border_color).encode(), geometric_shape_index, graphical_object_index, layout_index) + + def isSetGeometricShapeBorderWidth(self, id, geometric_shape_index=0, graphical_object_index=0, layout_index=0): + """ + Returns whether the border width of the GeometricShape object with the given index associated with the model entity with the given id in the given SBMLDocument is set + + :Parameters: + + - id (string): a string that determines the id of the model entity + - geometric_shape_index (int, optional): an integer (default: 0) that determines the index of the GeometricShape object associated with the model entity with the given id in the given SBMLDocument + - graphical_object_index (int, optional): an integer (default: 0) that determines the index of the GraphicalObject in the given SBMLDocument + - layout_index (int, optional): an integer (default: 0) that determines the index of the Layout object in the given SBMLDocument + + :Returns: + + true if the border width of the GeometricShape object with the given index associated with the model entity with the given id in the given SBMLDocument is set and false otherwise + """ + return lib.c_api_isSetGeometricShapeBorderWidth(self.sbml_object, str(id).encode(), geometric_shape_index, graphical_object_index, layout_index) + + def getGeometricShapeBorderWidth(self, id, geometric_shape_index=0, graphical_object_index=0, layout_index=0): + """ + Returns the border width of the GeometricShape object with the given index associated with the model entity with the given id in the given SBMLDocument + + :Parameters: + + - id (string): a string that determines the id of the model entity + - geometric_shape_index (int, optional): an integer (default: 0) that determines the index of the GeometricShape object associated with the model entity with the given id in the given SBMLDocument + - graphical_object_index (int, optional): an integer (default: 0) that determines the index of the GraphicalObject in the given SBMLDocument + - layout_index (int, optional): an integer (default: 0) that determines the index of the Layout object in the given SBMLDocument + + :Returns: + + a float that determines the border width of the GeometricShape object with the given index associated with the model entity with the given id in the given SBMLDocument + """ + lib.c_api_getGeometricShapeBorderWidth.restype = ctypes.c_double + return lib.c_api_getGeometricShapeBorderWidth(self.sbml_object, str(id).encode(), geometric_shape_index, graphical_object_index, layout_index) + + def setGeometricShapeBorderWidth(self, id, border_width, geometric_shape_index=0, graphical_object_index=0, layout_index=0): + """ + Sets the border width of the GeometricShape object with the given index associated with the model entity with the given id in the given SBMLDocument + + :Parameters: + + - id (string): a string that determines the id of the model entity + - border_width (float): a float that determines the border width of the GeometricShape object + - geometric_shape_index (int, optional): an integer (default: 0) that determines the index of the GeometricShape object associated with the model entity with the given id in the given SBMLDocument + - graphical_object_index (int, optional): an integer (default: 0) that determines the index of the GraphicalObject in the given SBMLDocument + - layout_index (int, optional): an integer (default: 0) that determines the index of the Layout object in the given SBMLDocument + + :Returns: + + true on success and false if the border width of the GeometricShape object could not be set + """ + return lib.c_api_setGeometricShapeBorderWidth(self.sbml_object, str(id).encode(), ctypes.c_double(border_width), geometric_shape_index, graphical_object_index, layout_index) + + def isSetGeometricShapeFillColor(self, id, geometric_shape_index=0, graphical_object_index=0, layout_index=0): + """ + Returns whether the fill color of the GeometricShape object with the given index associated with the model entity with the given id in the given SBMLDocument is set + + :Parameters: + + - id (string): a string that determines the id of the model entity + - geometric_shape_index (int, optional): an integer (default: 0) that determines the index of the GeometricShape object associated with the model entity with the given id in the given SBMLDocument + - graphical_object_index (int, optional): an integer (default: 0) that determines the index of the GraphicalObject in the given SBMLDocument + - layout_index (int, optional): an integer (default: 0) that determines the index of the Layout object in the given SBMLDocument + + :Returns: + + true if the fill color of the GeometricShape object with the given index associated with the model entity with the given id in the given SBMLDocument is set and false otherwise + """ + return lib.c_api_isSetGeometricShapeFillColor(self.sbml_object, str(id).encode(), geometric_shape_index, graphical_object_index, layout_index) + + def getGeometricShapeFillColor(self, id, geometric_shape_index=0, graphical_object_index=0, layout_index=0): + """ + Returns the fill color of the GeometricShape object with the given index associated with the model entity with the given id in the given SBMLDocument + + :Parameters: + + - id (string): a string that determines the id of the model entity + - geometric_shape_index (int, optional): an integer (default: 0) that determines the index of the GeometricShape object associated with the model entity with the given id in the given SBMLDocument + - graphical_object_index (int, optional): an integer (default: 0) that determines the index of the GraphicalObject in the given SBMLDocument + - layout_index (int, optional): an integer (default: 0) that determines the index of the Layout object in the given SBMLDocument + + :Returns: + + a string that determines the fill color of the GeometricShape object with the given index associated with the model entity with the given id in the given SBMLDocument + """ + lib.c_api_getGeometricShapeFillColor.restype = ctypes.c_char_p + return ctypes.c_char_p(lib.c_api_getGeometricShapeFillColor(self.sbml_object, str(id).encode(), geometric_shape_index, graphical_object_index, layout_index)).value.decode() + + def setGeometricShapeFillColor(self, id, fill_color, geometric_shape_index=0, graphical_object_index=0, layout_index=0): + """ + Sets the fill color of the GeometricShape object with the given index associated with the model entity with the given id in the given SBMLDocument + + :Parameters: + + - id (string): a string that determines the id of the model entity + - fill_color (string): a string that determines the fill color of the GeometricShape object + - geometric_shape_index (int, optional): an integer (default: 0) that determines the index of the GeometricShape object associated with the model entity with the given id in the given SBMLDocument + - graphical_object_index (int, optional): an integer (default: 0) that determines the index of the GraphicalObject in the given SBMLDocument + - layout_index (int, optional): an integer (default: 0) that determines the index of the Layout object in the given SBMLDocument + + :Returns: + + true on success and false if the fill color of the GeometricShape object could not be set + """ + return lib.c_api_setGeometricShapeFillColor(self.sbml_object, str(id).encode(), str(fill_color).encode(), geometric_shape_index, graphical_object_index, layout_index) + def isSetGeometricShapeX(self, id, geometric_shape_index=0, graphical_object_index=0, layout_index=0): """ Returns whether the x-coordinate of the GeometricShape object with the given index associated with the model entity with the given id in the given SBMLDocument is set diff --git a/src/c_api/libsbmlnetwork_c_api.cpp b/src/c_api/libsbmlnetwork_c_api.cpp index e681c80a..10560fdf 100644 --- a/src/c_api/libsbmlnetwork_c_api.cpp +++ b/src/c_api/libsbmlnetwork_c_api.cpp @@ -1,6 +1,7 @@ #include "libsbmlnetwork_c_api.h" -#include "../libsbmlnetwork_common.h" -#include "../libsbmlnetwork_layout.h" +#include "../libsbmlnetwork_sbmldocument.h" +#include "../libsbmlnetwork_sbmldocument_layout.h" +#include "../libsbmlnetwork_sbmldocument_render.h" #include "../libsbmlnetwork_layout_helpers.h" #include "../libsbmlnetwork_render_helpers.h" #include "../colors/libsbmlnetwork_colors.h" @@ -14,8 +15,7 @@ namespace LIBSBMLNETWORK_CPP_NAMESPACE { return strdup(getLibraryVersion().c_str()); } - const char* c_api_getCurrentDirectoryOfLibrary() { - return strdup(getCurrentDirectoryOfLibrary().c_str()); + const char* c_api_getCurrentDirectoryOfLibrary() {return strdup(getCurrentDirectoryOfLibrary().c_str()); } SBMLDocument* c_api_readSBML(const char* sbml) { @@ -56,8 +56,8 @@ namespace LIBSBMLNETWORK_CPP_NAMESPACE { return autolayout(document, maxNumConnectedEdges, useNameAsTextLabel, resetLockedNodes, lockedNodeIdsSet); } - int c_api_autorender(SBMLDocument *document) { - return autorender(document); + int c_api_autorender(SBMLDocument *document, const int maxNumConnectedEdges) { + return autorender(document, maxNumConnectedEdges); } int c_api_align(SBMLDocument* document, const char **nodeIds, const int nodesSize, const char* alignment, bool ignoreLockedNodes) { @@ -70,10 +70,10 @@ namespace LIBSBMLNETWORK_CPP_NAMESPACE { } int c_api_distribute(SBMLDocument* document, const char **nodeIds, const int nodesSize, const char* direction, const double spacing) { - std::set nodeIdsSet = std::set(); + std::set> nodeIdsSet = std::set>(); if (nodeIds) { for (int i = 0; i < nodesSize; i++) - nodeIdsSet.insert(nodeIds[i]); + nodeIdsSet.insert(std::make_pair(nodeIds[i], i)); } return distribute(document, nodeIdsSet, direction, spacing); } @@ -841,7 +841,7 @@ namespace LIBSBMLNETWORK_CPP_NAMESPACE { } int c_api_setLinearGradientX1(SBMLDocument* document, const char* id, const double x1, int renderIndex) { - return setLinearGradientX1(document, renderIndex, id, x1); + return setLinearGradientX1AsDouble(document, renderIndex, id, x1); } bool c_api_isSetLinearGradientY1(SBMLDocument* document, const char* id, int renderIndex) { @@ -853,7 +853,7 @@ namespace LIBSBMLNETWORK_CPP_NAMESPACE { } int c_api_setLinearGradientY1(SBMLDocument* document, const char* id, const double y1, int renderIndex) { - return setLinearGradientY1(document, renderIndex, id, y1); + return setLinearGradientY1AsDouble(document, renderIndex, id, y1); } bool c_api_isSetLinearGradientX2(SBMLDocument* document, const char* id, int renderIndex) { @@ -865,7 +865,7 @@ namespace LIBSBMLNETWORK_CPP_NAMESPACE { } int c_api_setLinearGradientX2(SBMLDocument* document, const char* id, const double x2, int renderIndex) { - return setLinearGradientX2(document, renderIndex, id, x2); + return setLinearGradientX2AsDouble(document, renderIndex, id, x2); } bool c_api_isSetLinearGradientY2(SBMLDocument* document, const char* id, int renderIndex) { @@ -877,7 +877,7 @@ namespace LIBSBMLNETWORK_CPP_NAMESPACE { } int c_api_setLinearGradientY2(SBMLDocument* document, const char* id, const double y2, int renderIndex) { - return setLinearGradientY2(document, renderIndex, id, y2); + return setLinearGradientY2AsDouble(document, renderIndex, id, y2); } bool c_api_isSetRadialGradientCenterX(SBMLDocument* document, const char* id, int renderIndex) { @@ -889,7 +889,7 @@ namespace LIBSBMLNETWORK_CPP_NAMESPACE { } int c_api_setRadialGradientCenterX(SBMLDocument* document, const char* id, const double cx, int renderIndex) { - return setRadialGradientCx(document, renderIndex, id, cx); + return setRadialGradientCxAsDouble(document, renderIndex, id, cx); } bool c_api_isSetRadialGradientCenterY(SBMLDocument* document, const char* id, int renderIndex) { @@ -901,7 +901,7 @@ namespace LIBSBMLNETWORK_CPP_NAMESPACE { } int c_api_setRadialGradientCenterY(SBMLDocument* document, const char* id, const double cy, int renderIndex) { - return setRadialGradientCy(document, renderIndex, id, cy); + return setRadialGradientCyAsDouble(document, renderIndex, id, cy); } bool c_api_isSetRadialGradientRadius(SBMLDocument* document, const char* id, int renderIndex) { @@ -913,7 +913,7 @@ namespace LIBSBMLNETWORK_CPP_NAMESPACE { } int c_api_setRadialGradientRadius(SBMLDocument* document, const char* id, const double r, int renderIndex) { - return setRadialGradientR(document, renderIndex, id, r); + return setRadialGradientRAsDouble(document, renderIndex, id, r); } bool c_api_isSetRadialGradientFocalX(SBMLDocument* document, const char* id, int renderIndex) { @@ -925,7 +925,7 @@ namespace LIBSBMLNETWORK_CPP_NAMESPACE { } int c_api_setRadialGradientFocalX(SBMLDocument* document, const char* id, const double fx, int renderIndex) { - return setRadialGradientFx(document, renderIndex, id, fx); + return setRadialGradientFxAsDouble(document, renderIndex, id, fx); } bool c_api_isSetRadialGradientFocalY(SBMLDocument* document, const char* id, int renderIndex) { @@ -937,7 +937,7 @@ namespace LIBSBMLNETWORK_CPP_NAMESPACE { } int c_api_setRadialGradientFocalY(SBMLDocument* document, const char* id, const double fy, int renderIndex) { - return setRadialGradientFy(document, renderIndex, id, fy); + return setRadialGradientFyAsDouble(document, renderIndex, id, fy); } const int c_api_getNumLineEndings(SBMLDocument* document, int renderIndex) { @@ -968,6 +968,18 @@ namespace LIBSBMLNETWORK_CPP_NAMESPACE { return setLineEndingBoundingBoxX(document, renderIndex, id, x); } + const double c_api_getSpeciesReferenceLineEndingBoundingBoxX(SBMLDocument* document, const char* reactionId, int reactionGlyphIndex, int speciesReferenceGlyphIndex, int layoutIndex) { + return getSpeciesReferenceLineEndingBoundingBoxX(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceGlyphIndex); + } + + int c_api_setSpeciesReferenceLineEndingBoundingBoxX(SBMLDocument* document, const char* reactionId, const double x, int reactionGlyphIndex, int speciesReferenceGlyphIndex, int layoutIndex) { + return setSpeciesReferenceLineEndingBoundingBoxX(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceGlyphIndex, x); + } + + int c_api_setReactionLineEndingBoundingBoxX(SBMLDocument* document, const char* reactionId, const double x, int reactionGlyphIndex, int layoutIndex) { + return setReactionLineEndingBoundingBoxX(document, layoutIndex, reactionId, reactionGlyphIndex, x); + } + const double c_api_getLineEndingBoundingBoxY(SBMLDocument* document, const char* id, int renderIndex) { return getLineEndingBoundingBoxY(document, renderIndex, id); } @@ -976,6 +988,18 @@ namespace LIBSBMLNETWORK_CPP_NAMESPACE { return setLineEndingBoundingBoxY(document, renderIndex, id, y); } + const double c_api_getSpeciesReferenceLineEndingBoundingBoxY(SBMLDocument* document, const char* reactionId, int reactionGlyphIndex, int speciesReferenceGlyphIndex, int layoutIndex) { + return getSpeciesReferenceLineEndingBoundingBoxY(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceGlyphIndex); + } + + int c_api_setSpeciesReferenceLineEndingBoundingBoxY(SBMLDocument* document, const char* reactionId, const double y, int reactionGlyphIndex, int speciesReferenceGlyphIndex, int layoutIndex) { + return setSpeciesReferenceLineEndingBoundingBoxY(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceGlyphIndex, y); + } + + int c_api_setReactionLineEndingBoundingBoxY(SBMLDocument* document, const char* reactionId, const double y, int reactionGlyphIndex, int layoutIndex) { + return setReactionLineEndingBoundingBoxY(document, layoutIndex, reactionId, reactionGlyphIndex, y); + } + const double c_api_getLineEndingBoundingBoxWidth(SBMLDocument* document, const char* id, int renderIndex) { return getLineEndingBoundingBoxWidth(document, renderIndex, id); } @@ -984,6 +1008,18 @@ namespace LIBSBMLNETWORK_CPP_NAMESPACE { return setLineEndingBoundingBoxWidth(document, renderIndex, id, width); } + const double c_api_getSpeciesReferenceLineEndingBoundingBoxWidth(SBMLDocument* document, const char* reactionId, int reactionGlyphIndex, int speciesReferenceGlyphIndex, int layoutIndex) { + return getSpeciesReferenceLineEndingBoundingBoxWidth(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceGlyphIndex); + } + + int c_api_setSpeciesReferenceLineEndingBoundingBoxWidth(SBMLDocument* document, const char* reactionId, const double width, int reactionGlyphIndex, int speciesReferenceGlyphIndex, int layoutIndex) { + return setSpeciesReferenceLineEndingBoundingBoxWidth(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceGlyphIndex, width); + } + + int c_api_setReactionLineEndingBoundingBoxWidth(SBMLDocument* document, const char* reactionId, const double width, int reactionGlyphIndex, int layoutIndex) { + return setReactionLineEndingBoundingBoxWidth(document, layoutIndex, reactionId, reactionGlyphIndex, width); + } + const double c_api_getLineEndingBoundingBoxHeight(SBMLDocument* document, const char* id, int renderIndex) { return getLineEndingBoundingBoxHeight(document, renderIndex, id); } @@ -992,6 +1028,18 @@ namespace LIBSBMLNETWORK_CPP_NAMESPACE { return setLineEndingBoundingBoxHeight(document, renderIndex, id, height); } + const double c_api_getSpeciesReferenceLineEndingBoundingBoxHeight(SBMLDocument* document, const char* reactionId, int reactionGlyphIndex, int speciesReferenceGlyphIndex, int layoutIndex) { + return getSpeciesReferenceLineEndingBoundingBoxHeight(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceGlyphIndex); + } + + int c_api_setSpeciesReferenceLineEndingBoundingBoxHeight(SBMLDocument* document, const char* reactionId, const double height, int reactionGlyphIndex, int speciesReferenceGlyphIndex, int layoutIndex) { + return setSpeciesReferenceLineEndingBoundingBoxHeight(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceGlyphIndex, height); + } + + int c_api_setReactionLineEndingBoundingBoxHeight(SBMLDocument* document, const char* reactionId, const double height, int reactionGlyphIndex, int layoutIndex) { + return setReactionLineEndingBoundingBoxHeight(document, layoutIndex, reactionId, reactionGlyphIndex, height); + } + bool c_api_isSetLineEndingBorderColor(SBMLDocument* document, const char* id, int renderIndex) { return isSetLineEndingStrokeColor(document, renderIndex, id); } @@ -1004,6 +1052,22 @@ namespace LIBSBMLNETWORK_CPP_NAMESPACE { return setLineEndingStrokeColor(document, renderIndex, id, borderColor); } + bool c_api_isSetSpeciesReferenceLineEndingBorderColor(SBMLDocument* document, const char* reactionId, int reactionGlyphIndex, int speciesReferenceGlyphIndex, int layoutIndex) { + return isSetSpeciesReferenceLineEndingStrokeColor(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceGlyphIndex); + } + + const char* c_api_getSpeciesReferenceLineEndingBorderColor(SBMLDocument* document, const char* reactionId, int reactionGlyphIndex, int speciesReferenceGlyphIndex, int layoutIndex) { + return strdup(getSpeciesReferenceLineEndingStrokeColor(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceGlyphIndex).c_str()); + } + + int c_api_setSpeciesReferenceLineEndingBorderColor(SBMLDocument* document, const char* reactionId, const char* borderColor, int reactionGlyphIndex, int speciesReferenceGlyphIndex, int layoutIndex) { + return setSpeciesReferenceLineEndingStrokeColor(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceGlyphIndex, borderColor); + } + + int c_api_setReactionLineEndingBorderColor(SBMLDocument* document, const char* reactionId, const char* borderColor, int reactionGlyphIndex, int layoutIndex) { + return setReactionLineEndingStrokeColor(document, layoutIndex, reactionId, reactionGlyphIndex, borderColor); + } + bool c_api_isSetLineEndingBorderWidth(SBMLDocument* document, const char* id, int renderIndex) { return isSetLineEndingStrokeWidth(document, renderIndex, id); } @@ -1016,7 +1080,23 @@ namespace LIBSBMLNETWORK_CPP_NAMESPACE { return setLineEndingStrokeWidth(document, renderIndex, id, borderWidth); } - int c_api_getNumLineEndingBorderDashes(SBMLDocument* document, const char* id, int renderIndex) { + bool c_api_isSetSpeciesReferenceLineEndingBorderWidth(SBMLDocument* document, const char* reactionId, int reactionGlyphIndex, int speciesReferenceGlyphIndex, int layoutIndex) { + return isSetSpeciesReferenceLineEndingStrokeWidth(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceGlyphIndex); + } + + const double c_api_getSpeciesReferenceLineEndingBorderWidth(SBMLDocument* document, const char* reactionId, int reactionGlyphIndex, int speciesReferenceGlyphIndex, int layoutIndex) { + return getSpeciesReferenceLineEndingStrokeWidth(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceGlyphIndex); + } + + int c_api_setSpeciesReferenceLineEndingBorderWidth(SBMLDocument* document, const char* reactionId, const double borderWidth, int reactionGlyphIndex, int speciesReferenceGlyphIndex, int layoutIndex) { + return setSpeciesReferenceLineEndingStrokeWidth(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceGlyphIndex, borderWidth); + } + + int c_api_setReactionLineEndingBorderWidth(SBMLDocument* document, const char* reactionId, const double borderWidth, int reactionGlyphIndex, int layoutIndex) { + return setReactionLineEndingStrokeWidth(document, layoutIndex, reactionId, reactionGlyphIndex, borderWidth); + } + + const int c_api_getNumLineEndingBorderDashes(SBMLDocument* document, const char* id, int renderIndex) { return getNumLineEndingStrokeDashes(document, renderIndex, id); } @@ -1028,6 +1108,22 @@ namespace LIBSBMLNETWORK_CPP_NAMESPACE { return setLineEndingStrokeDash(document, renderIndex, id, dashIndex, dash); } + const int c_api_getNumSpeciesReferenceLineEndingBorderDashes(SBMLDocument* document, const char* reactionId, int reactionGlyphIndex, int speciesReferenceGlyphIndex, int layoutIndex) { + return getNumSpeciesReferenceLineEndingStrokeDashes(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceGlyphIndex); + } + + const int c_api_getSpeciesReferenceLineEndingNthBorderDash(SBMLDocument* document, const char* reactionId, int reactionGlyphIndex, int speciesReferenceGlyphIndex, int dashIndex, int layoutIndex) { + return getSpeciesReferenceLineEndingStrokeDash(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceGlyphIndex, dashIndex); + } + + int c_api_setSpeciesReferenceLineEndingNthBorderDash(SBMLDocument* document, const char* reactionId, const int dash, int reactionGlyphIndex, int speciesReferenceGlyphIndex, int dashIndex, int layoutIndex) { + return setSpeciesReferenceLineEndingStrokeDash(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceGlyphIndex, dashIndex, dash); + } + + int c_api_setReactionLineEndingNthBorderDash(SBMLDocument* document, const char* reactionId, const int dash, int reactionGlyphIndex, int dashIndex, int layoutIndex) { + return setReactionLineEndingStrokeDash(document, layoutIndex, reactionId, reactionGlyphIndex, dashIndex, dash); + } + bool c_api_isSetLineEndingFillColor(SBMLDocument* document, const char* id, int renderIndex) { return isSetLineEndingFillColor(document, renderIndex, id); } @@ -1040,6 +1136,46 @@ namespace LIBSBMLNETWORK_CPP_NAMESPACE { return setLineEndingFillColor(document, renderIndex, id, fillColor); } + int c_api_setLineEndingFillColorAsGradient(SBMLDocument* document, const char* id, const char* gradientType, const char** stopColors, const double* stopOffsets, const int stopsSize, int renderIndex) { + std::vector> stopsVector; + for (int i = 0; i < stopsSize; i++) + stopsVector.push_back(std::make_pair(stopColors[i], stopOffsets[i])); + + return setLineEndingFillColorAsGradient(document, renderIndex, id, gradientType, stopsVector); + } + + bool c_api_isSetSpeciesReferenceLineEndingFillColor(SBMLDocument* document, const char* reactionId, int reactionGlyphIndex, int speciesReferenceGlyphIndex, int layoutIndex) { + return isSetSpeciesReferenceLineEndingFillColor(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceGlyphIndex); + } + + const char* c_api_getSpeciesReferenceLineEndingFillColor(SBMLDocument* document, const char* reactionId, int reactionGlyphIndex, int speciesReferenceGlyphIndex, int layoutIndex) { + return strdup(getSpeciesReferenceLineEndingFillColor(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceGlyphIndex).c_str()); + } + + int c_api_setSpeciesReferenceLineEndingFillColor(SBMLDocument* document, const char* reactionId, const char* fillColor, int reactionGlyphIndex, int speciesReferenceGlyphIndex, int layoutIndex) { + return setSpeciesReferenceLineEndingFillColor(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceGlyphIndex, fillColor); + } + + int c_api_setSpeciesReferenceLineEndingFillColorAsGradient(SBMLDocument* document, const char* reactionId, const char* gradientType, const char** stopColors, const double* stopOffsets, const int stopsSize, int reactionGlyphIndex, int speciesReferenceGlyphIndex, int layoutIndex) { + std::vector> stopsVector; + for (int i = 0; i < stopsSize; i++) + stopsVector.push_back(std::make_pair(stopColors[i], stopOffsets[i])); + + return setSpeciesReferenceLineEndingFillColorAsGradient(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceGlyphIndex, gradientType, stopsVector); + } + + int c_api_setReactionLineEndingFillColor(SBMLDocument* document, const char* reactionId, const char* fillColor, int reactionGlyphIndex, int layoutIndex) { + return setReactionLineEndingFillColor(document, layoutIndex, reactionId, reactionGlyphIndex, fillColor); + } + + int c_api_setReactionLineEndingFillColorAsGradient(SBMLDocument* document, const char* reactionId, const char* gradientType, const char** stopColors, const double* stopOffsets, const int stopsSize, int reactionGlyphIndex, int layoutIndex) { + std::vector> stopsVector; + for (int i = 0; i < stopsSize; i++) + stopsVector.push_back(std::make_pair(stopColors[i], stopOffsets[i])); + + return setReactionLineEndingFillColorAsGradient(document, layoutIndex, reactionId, reactionGlyphIndex, gradientType, stopsVector); + } + bool c_api_isSetLineEndingFillRule(SBMLDocument* document, const char* id, int renderIndex) { return isSetLineEndingFillRule(document, renderIndex, id); } @@ -1052,34 +1188,78 @@ namespace LIBSBMLNETWORK_CPP_NAMESPACE { return setLineEndingFillRule(document, renderIndex, id, fillRule); } + bool c_api_isSetSpeciesReferenceLineEndingFillRule(SBMLDocument* document, const char* reactionId, int reactionGlyphIndex, int speciesReferenceGlyphIndex, int layoutIndex) { + return isSetSpeciesReferenceLineEndingFillRule(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceGlyphIndex); + } + + const char* c_api_getSpeciesReferenceLineEndingFillRule(SBMLDocument* document, const char* reactionId, int reactionGlyphIndex, int speciesReferenceGlyphIndex, int layoutIndex) { + return strdup(getSpeciesReferenceLineEndingFillRule(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceGlyphIndex).c_str()); + } + + int c_api_setSpeciesReferenceLineEndingFillRule(SBMLDocument* document, const char* reactionId, const char* fillRule, int reactionGlyphIndex, int speciesReferenceGlyphIndex, int layoutIndex) { + return setSpeciesReferenceLineEndingFillRule(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceGlyphIndex, fillRule); + } + + int c_api_setReactionLineEndingFillRule(SBMLDocument* document, const char* reactionId, const char* fillRule, int reactionGlyphIndex, int layoutIndex) { + return setReactionLineEndingFillRule(document, layoutIndex, reactionId, reactionGlyphIndex, fillRule); + } + const int c_api_getNumLineEndingGeometricShapes(SBMLDocument* document, const char* id, int renderIndex) { return getNumLineEndingGeometricShapes(document, renderIndex, id); } + const int c_api_getNumSpeciesReferenceLineEndingGeometricShapes(SBMLDocument* document, const char* reactionId, int reactionGlyphIndex, int speciesReferenceGlyphIndex, int layoutIndex) { + return getNumSpeciesReferenceLineEndingGeometricShapes(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceGlyphIndex); + } + bool c_api_isLineEndingRectangle(SBMLDocument* document, const char* id, int geometricShapeIndex, int renderIndex) { return isLineEndingRectangle(document, renderIndex, id, geometricShapeIndex); } + bool c_api_isSpeciesReferenceLineEndingRectangle(SBMLDocument* document, const char* reactionId, int reactionGlyphIndex, int speciesReferenceGlyphIndex, int layoutIndex, int geometricShapeIndex) { + return isSpeciesReferenceLineEndingRectangle(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceGlyphIndex, geometricShapeIndex); + } + bool c_api_isLineEndingEllipse(SBMLDocument* document, const char* id, int geometricShapeIndex, int renderIndex) { return isLineEndingEllipse(document, renderIndex, id, geometricShapeIndex); } + bool c_api_isSpeciesReferenceLineEndingEllipse(SBMLDocument* document, const char* reactionId, int reactionGlyphIndex, int speciesReferenceGlyphIndex, int layoutIndex, int geometricShapeIndex) { + return isSpeciesReferenceLineEndingEllipse(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceGlyphIndex, geometricShapeIndex); + } + bool c_api_isLineEndingPolygon(SBMLDocument* document, const char* id, int geometricShapeIndex, int renderIndex) { return isLineEndingPolygon(document, renderIndex, id, geometricShapeIndex); } + bool c_api_isSpeciesReferenceLineEndingPolygon(SBMLDocument* document, const char* reactionId, int reactionGlyphIndex, int speciesReferenceGlyphIndex, int layoutIndex, int geometricShapeIndex) { + return isSpeciesReferenceLineEndingPolygon(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceGlyphIndex, geometricShapeIndex); + } + bool c_api_isLineEndingImage(SBMLDocument* document, const char* id, int geometricShapeIndex, int renderIndex) { return isLineEndingImage(document, renderIndex, id, geometricShapeIndex); } + bool c_api_isSpeciesReferenceLineEndingImage(SBMLDocument* document, const char* reactionId, int reactionGlyphIndex, int speciesReferenceGlyphIndex, int layoutIndex, int geometricShapeIndex) { + return isSpeciesReferenceLineEndingImage(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceGlyphIndex, geometricShapeIndex); + } + bool c_api_isLineEndingRenderCurve(SBMLDocument* document, const char* id, int geometricShapeIndex, int renderIndex) { return isLineEndingRenderCurve(document, renderIndex, id, geometricShapeIndex); } + bool c_api_isSpeciesReferenceLineEndingRenderCurve(SBMLDocument* document, const char* reactionId, int reactionGlyphIndex, int speciesReferenceGlyphIndex, int layoutIndex, int geometricShapeIndex) { + return isSpeciesReferenceLineEndingRenderCurve(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceGlyphIndex, geometricShapeIndex); + } + bool c_api_isLineEndingText(SBMLDocument* document, const char* id, int geometricShapeIndex, int renderIndex) { return isLineEndingText(document, renderIndex, id, geometricShapeIndex); } + bool c_api_isSpeciesReferenceLineEndingText(SBMLDocument* document, const char* reactionId, int reactionGlyphIndex, int speciesReferenceGlyphIndex, int layoutIndex, int geometricShapeIndex) { + return isSpeciesReferenceLineEndingText(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceGlyphIndex, geometricShapeIndex); + } + bool c_api_isSetLineEndingGeometricShapeX(SBMLDocument* document, const char* id, int geometricShapeIndex, int renderIndex) { return isSetLineEndingGeometricShapeX(document, renderIndex, id, geometricShapeIndex); } @@ -1092,6 +1272,22 @@ namespace LIBSBMLNETWORK_CPP_NAMESPACE { return setLineEndingGeometricShapeXAsDouble(document, renderIndex, id, geometricShapeIndex, x); } + bool c_api_isSetSpeciesReferenceLineEndingGeometricShapeX(SBMLDocument* document, const char* reactionId, int reactionGlyphIndex, int speciesReferenceGlyphIndex, int layoutIndex, int geometricShapeIndex) { + return isSetSpeciesReferenceLineEndingGeometricShapeX(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceGlyphIndex, geometricShapeIndex); + } + + const double c_api_getSpeciesReferenceLineEndingGeometricShapeX(SBMLDocument* document, const char* reactionId, int reactionGlyphIndex, int speciesReferenceGlyphIndex, int layoutIndex, int geometricShapeIndex) { + return getSpeciesReferenceLineEndingGeometricShapeXAsDouble(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceGlyphIndex, geometricShapeIndex); + } + + int c_api_setSpeciesReferenceLineEndingGeometricShapeX(SBMLDocument* document, const char* reactionId, const double x, int reactionGlyphIndex, int speciesReferenceGlyphIndex, int layoutIndex, int geometricShapeIndex) { + return setSpeciesReferenceLineEndingGeometricShapeXAsDouble(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceGlyphIndex, geometricShapeIndex, x); + } + + int c_api_setReactionLineEndingGeometricShapeX(SBMLDocument* document, const char* reactionId, const double x, int reactionGlyphIndex, int layoutIndex, int geometricShapeIndex) { + return setReactionLineEndingGeometricShapeXAsDouble(document, layoutIndex, reactionId, reactionGlyphIndex, geometricShapeIndex, x); + } + bool c_api_isSetLineEndingGeometricShapeY(SBMLDocument* document, const char* id, int geometricShapeIndex, int renderIndex) { return isSetLineEndingGeometricShapeY(document, renderIndex, id, geometricShapeIndex); } @@ -1104,6 +1300,22 @@ namespace LIBSBMLNETWORK_CPP_NAMESPACE { return setLineEndingGeometricShapeYAsDouble(document, renderIndex, id, geometricShapeIndex, y); } + bool c_api_isSetSpeciesReferenceLineEndingGeometricShapeY(SBMLDocument* document, const char* reactionId, int reactionGlyphIndex, int speciesReferenceGlyphIndex, int layoutIndex, int geometricShapeIndex) { + return isSetSpeciesReferenceLineEndingGeometricShapeY(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceGlyphIndex, geometricShapeIndex); + } + + const double c_api_getSpeciesReferenceLineEndingGeometricShapeY(SBMLDocument* document, const char* reactionId, int reactionGlyphIndex, int speciesReferenceGlyphIndex, int layoutIndex, int geometricShapeIndex) { + return getSpeciesReferenceLineEndingGeometricShapeYAsDouble(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceGlyphIndex, geometricShapeIndex); + } + + int c_api_setSpeciesReferenceLineEndingGeometricShapeY(SBMLDocument* document, const char* reactionId, const double y, int reactionGlyphIndex, int speciesReferenceGlyphIndex, int layoutIndex, int geometricShapeIndex) { + return setSpeciesReferenceLineEndingGeometricShapeYAsDouble(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceGlyphIndex, geometricShapeIndex, y); + } + + int c_api_setReactionLineEndingGeometricShapeY(SBMLDocument* document, const char* reactionId, const double y, int reactionGlyphIndex, int layoutIndex, int geometricShapeIndex) { + return setReactionLineEndingGeometricShapeYAsDouble(document, layoutIndex, reactionId, reactionGlyphIndex, geometricShapeIndex, y); + } + bool c_api_isSetLineEndingGeometricShapeWidth(SBMLDocument* document, const char* id, int geometricShapeIndex, int renderIndex) { return isSetLineEndingGeometricShapeWidth(document, renderIndex, id, geometricShapeIndex); } @@ -1116,6 +1328,22 @@ namespace LIBSBMLNETWORK_CPP_NAMESPACE { return setLineEndingGeometricShapeWidthAsDouble(document, renderIndex, id, geometricShapeIndex, width); } + bool c_api_isSetSpeciesReferenceLineEndingGeometricShapeWidth(SBMLDocument* document, const char* reactionId, int reactionGlyphIndex, int speciesReferenceGlyphIndex, int layoutIndex, int geometricShapeIndex) { + return isSetSpeciesReferenceLineEndingGeometricShapeWidth(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceGlyphIndex, geometricShapeIndex); + } + + const double c_api_getSpeciesReferenceLineEndingGeometricShapeWidth(SBMLDocument* document, const char* reactionId, int reactionGlyphIndex, int speciesReferenceGlyphIndex, int layoutIndex, int geometricShapeIndex) { + return getSpeciesReferenceLineEndingGeometricShapeWidthAsDouble(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceGlyphIndex, geometricShapeIndex); + } + + int c_api_setSpeciesReferenceLineEndingGeometricShapeWidth(SBMLDocument* document, const char* reactionId, const double width, int reactionGlyphIndex, int speciesReferenceGlyphIndex, int layoutIndex, int geometricShapeIndex) { + return setSpeciesReferenceLineEndingGeometricShapeWidthAsDouble(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceGlyphIndex, geometricShapeIndex, width); + } + + int c_api_setReactionLineEndingGeometricShapeWidth(SBMLDocument* document, const char* reactionId, const double width, int reactionGlyphIndex, int layoutIndex, int geometricShapeIndex) { + return setReactionLineEndingGeometricShapeWidthAsDouble(document, layoutIndex, reactionId, reactionGlyphIndex, geometricShapeIndex, width); + } + bool c_api_isSetLineEndingGeometricShapeHeight(SBMLDocument* document, const char* id, int geometricShapeIndex, int renderIndex) { return isSetLineEndingGeometricShapeHeight(document, renderIndex, id, geometricShapeIndex); } @@ -1128,6 +1356,22 @@ namespace LIBSBMLNETWORK_CPP_NAMESPACE { return setLineEndingGeometricShapeHeightAsDouble(document, renderIndex, id, geometricShapeIndex, height); } + bool c_api_isSetSpeciesReferenceLineEndingGeometricShapeHeight(SBMLDocument* document, const char* reactionId, int reactionGlyphIndex, int speciesReferenceGlyphIndex, int layoutIndex, int geometricShapeIndex) { + return isSetSpeciesReferenceLineEndingGeometricShapeHeight(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceGlyphIndex, geometricShapeIndex); + } + + const double c_api_getSpeciesReferenceLineEndingGeometricShapeHeight(SBMLDocument* document, const char* reactionId, int reactionGlyphIndex, int speciesReferenceGlyphIndex, int layoutIndex, int geometricShapeIndex) { + return getSpeciesReferenceLineEndingGeometricShapeHeightAsDouble(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceGlyphIndex, geometricShapeIndex); + } + + int c_api_setSpeciesReferenceLineEndingGeometricShapeHeight(SBMLDocument* document, const char* reactionId, const double height, int reactionGlyphIndex, int speciesReferenceGlyphIndex, int layoutIndex, int geometricShapeIndex) { + return setSpeciesReferenceLineEndingGeometricShapeHeightAsDouble(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceGlyphIndex, geometricShapeIndex, height); + } + + int c_api_setReactionLineEndingGeometricShapeHeight(SBMLDocument* document, const char* reactionId, const double height, int reactionGlyphIndex, int layoutIndex, int geometricShapeIndex) { + return setReactionLineEndingGeometricShapeHeightAsDouble(document, layoutIndex, reactionId, reactionGlyphIndex, geometricShapeIndex, height); + } + bool c_api_isSetLineEndingGeometricShapeRatio(SBMLDocument* document, const char* id, int geometricShapeIndex, int renderIndex) { return isSetLineEndingGeometricShapeRatio(document, renderIndex, id, geometricShapeIndex); } @@ -1140,6 +1384,22 @@ namespace LIBSBMLNETWORK_CPP_NAMESPACE { return setLineEndingGeometricShapeRatio(document, renderIndex, id, geometricShapeIndex, ratio); } + bool c_api_isSetSpeciesReferenceLineEndingGeometricShapeRatio(SBMLDocument* document, const char* reactionId, int reactionGlyphIndex, int speciesReferenceGlyphIndex, int layoutIndex, int geometricShapeIndex) { + return isSetSpeciesReferenceLineEndingGeometricShapeRatio(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceGlyphIndex, geometricShapeIndex); + } + + const double c_api_getSpeciesReferenceLineEndingGeometricShapeRatio(SBMLDocument* document, const char* reactionId, int reactionGlyphIndex, int speciesReferenceGlyphIndex, int layoutIndex, int geometricShapeIndex) { + return getSpeciesReferenceLineEndingGeometricShapeRatio(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceGlyphIndex, geometricShapeIndex); + } + + int c_api_setSpeciesReferenceLineEndingGeometricShapeRatio(SBMLDocument* document, const char* reactionId, const double ratio, int reactionGlyphIndex, int speciesReferenceGlyphIndex, int layoutIndex, int geometricShapeIndex) { + return setSpeciesReferenceLineEndingGeometricShapeRatio(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceGlyphIndex, geometricShapeIndex, ratio); + } + + int c_api_setReactionLineEndingGeometricShapeRatio(SBMLDocument* document, const char* reactionId, const double ratio, int reactionGlyphIndex, int layoutIndex, int geometricShapeIndex) { + return setReactionLineEndingGeometricShapeRatio(document, layoutIndex, reactionId, reactionGlyphIndex, geometricShapeIndex, ratio); + } + bool c_api_isSetLineEndingGeometricShapeBorderRadiusX(SBMLDocument* document, const char* id, int geometricShapeIndex, int renderIndex) { return isSetLineEndingGeometricShapeCornerCurvatureRadiusX(document, renderIndex, id, geometricShapeIndex); } @@ -1152,6 +1412,22 @@ namespace LIBSBMLNETWORK_CPP_NAMESPACE { return setLineEndingGeometricShapeCornerCurvatureRadiusXAsDouble(document, renderIndex, id, geometricShapeIndex, borderRadiusX); } + bool c_api_isSetSpeciesReferenceLineEndingGeometricShapeBorderRadiusX(SBMLDocument* document, const char* reactionId, int reactionGlyphIndex, int speciesReferenceGlyphIndex, int layoutIndex, int geometricShapeIndex) { + return isSetSpeciesReferenceLineEndingGeometricShapeCornerCurvatureRadiusX(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceGlyphIndex, geometricShapeIndex); + } + + const double c_api_getSpeciesReferenceLineEndingGeometricShapeBorderRadiusX(SBMLDocument* document, const char* reactionId, int reactionGlyphIndex, int speciesReferenceGlyphIndex, int layoutIndex, int geometricShapeIndex) { + return getSpeciesReferenceLineEndingGeometricShapeCornerCurvatureRadiusXAsDouble(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceGlyphIndex, geometricShapeIndex); + } + + int c_api_setSpeciesReferenceLineEndingGeometricShapeBorderRadiusX(SBMLDocument* document, const char* reactionId, const double borderRadiusX, int reactionGlyphIndex, int speciesReferenceGlyphIndex, int layoutIndex, int geometricShapeIndex) { + return setSpeciesReferenceLineEndingGeometricShapeCornerCurvatureRadiusXAsDouble(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceGlyphIndex, geometricShapeIndex, borderRadiusX); + } + + int c_api_setReactionLineEndingGeometricShapeBorderRadiusX(SBMLDocument* document, const char* reactionId, const double borderRadiusX, int reactionGlyphIndex, int layoutIndex, int geometricShapeIndex) { + return setReactionLineEndingGeometricShapeCornerCurvatureRadiusXAsDouble(document, layoutIndex, reactionId, reactionGlyphIndex, geometricShapeIndex, borderRadiusX); + } + bool c_api_isSetLineEndingGeometricShapeBorderRadiusY(SBMLDocument* document, const char* id, int geometricShapeIndex, int renderIndex) { return isSetLineEndingGeometricShapeCornerCurvatureRadiusY(document, renderIndex, id, geometricShapeIndex); } @@ -1164,6 +1440,22 @@ namespace LIBSBMLNETWORK_CPP_NAMESPACE { return setLineEndingGeometricShapeCornerCurvatureRadiusYAsDouble(document, renderIndex, id, geometricShapeIndex, borderRadiusY); } + bool c_api_isSetSpeciesReferenceLineEndingGeometricShapeBorderRadiusY(SBMLDocument* document, const char* reactionId, int reactionGlyphIndex, int speciesReferenceGlyphIndex, int layoutIndex, int geometricShapeIndex) { + return isSetSpeciesReferenceLineEndingGeometricShapeCornerCurvatureRadiusY(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceGlyphIndex, geometricShapeIndex); + } + + const double c_api_getSpeciesReferenceLineEndingGeometricShapeBorderRadiusY(SBMLDocument* document, const char* reactionId, int reactionGlyphIndex, int speciesReferenceGlyphIndex, int layoutIndex, int geometricShapeIndex) { + return getSpeciesReferenceLineEndingGeometricShapeCornerCurvatureRadiusYAsDouble(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceGlyphIndex, geometricShapeIndex); + } + + int c_api_setSpeciesReferenceLineEndingGeometricShapeBorderRadiusY(SBMLDocument* document, const char* reactionId, const double borderRadiusY, int reactionGlyphIndex, int speciesReferenceGlyphIndex, int layoutIndex, int geometricShapeIndex) { + return setSpeciesReferenceLineEndingGeometricShapeCornerCurvatureRadiusYAsDouble(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceGlyphIndex, geometricShapeIndex, borderRadiusY); + } + + int c_api_setReactionLineEndingGeometricShapeBorderRadiusY(SBMLDocument* document, const char* reactionId, const double borderRadiusY, int reactionGlyphIndex, int layoutIndex, int geometricShapeIndex) { + return setReactionLineEndingGeometricShapeCornerCurvatureRadiusYAsDouble(document, layoutIndex, reactionId, reactionGlyphIndex, geometricShapeIndex, borderRadiusY); + } + bool c_api_isSetLineEndingGeometricShapeCenterX(SBMLDocument* document, const char* id, int geometricShapeIndex, int renderIndex) { return isSetLineEndingGeometricShapeCenterX(document, renderIndex, id, geometricShapeIndex); } @@ -1176,6 +1468,22 @@ namespace LIBSBMLNETWORK_CPP_NAMESPACE { return setLineEndingGeometricShapeCenterXAsDouble(document, id, geometricShapeIndex, centerX); } + bool c_api_isSetSpeciesReferenceLineEndingGeometricShapeCenterX(SBMLDocument* document, const char* reactionId, int reactionGlyphIndex, int speciesReferenceGlyphIndex, int layoutIndex, int geometricShapeIndex) { + return isSetSpeciesReferenceLineEndingGeometricShapeCenterX(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceGlyphIndex, geometricShapeIndex); + } + + const double c_api_getSpeciesReferenceLineEndingGeometricShapeCenterX(SBMLDocument* document, const char* reactionId, int reactionGlyphIndex, int speciesReferenceGlyphIndex, int layoutIndex, int geometricShapeIndex) { + return getSpeciesReferenceLineEndingGeometricShapeCenterXAsDouble(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceGlyphIndex, geometricShapeIndex); + } + + int c_api_setSpeciesReferenceLineEndingGeometricShapeCenterX(SBMLDocument* document, const char* reactionId, const double centerX, int reactionGlyphIndex, int speciesReferenceGlyphIndex, int layoutIndex, int geometricShapeIndex) { + return setSpeciesReferenceLineEndingGeometricShapeCenterXAsDouble(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceGlyphIndex, geometricShapeIndex, centerX); + } + + int c_api_setReactionLineEndingGeometricShapeCenterX(SBMLDocument* document, const char* reactionId, const double centerX, int reactionGlyphIndex, int layoutIndex, int geometricShapeIndex) { + return setReactionLineEndingGeometricShapeCenterXAsDouble(document, layoutIndex, reactionId, reactionGlyphIndex, geometricShapeIndex, centerX); + } + bool c_api_isSetLineEndingGeometricShapeCenterY(SBMLDocument* document, const char* id, int geometricShapeIndex, int renderIndex) { return isSetLineEndingGeometricShapeCenterY(document, renderIndex, id, geometricShapeIndex); } @@ -1188,6 +1496,22 @@ namespace LIBSBMLNETWORK_CPP_NAMESPACE { return setLineEndingGeometricShapeCenterYAsDouble(document, id, geometricShapeIndex, centerY); } + bool c_api_isSetSpeciesReferenceLineEndingGeometricShapeCenterY(SBMLDocument* document, const char* reactionId, int reactionGlyphIndex, int speciesReferenceGlyphIndex, int layoutIndex, int geometricShapeIndex) { + return isSetSpeciesReferenceLineEndingGeometricShapeCenterY(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceGlyphIndex, geometricShapeIndex); + } + + const double c_api_getSpeciesReferenceLineEndingGeometricShapeCenterY(SBMLDocument* document, const char* reactionId, int reactionGlyphIndex, int speciesReferenceGlyphIndex, int layoutIndex, int geometricShapeIndex) { + return getSpeciesReferenceLineEndingGeometricShapeCenterYAsDouble(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceGlyphIndex, geometricShapeIndex); + } + + int c_api_setSpeciesReferenceLineEndingGeometricShapeCenterY(SBMLDocument* document, const char* reactionId, const double centerY, int reactionGlyphIndex, int speciesReferenceGlyphIndex, int layoutIndex, int geometricShapeIndex) { + return setSpeciesReferenceLineEndingGeometricShapeCenterYAsDouble(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceGlyphIndex, geometricShapeIndex, centerY); + } + + int c_api_setReactionLineEndingGeometricShapeCenterY(SBMLDocument* document, const char* reactionId, const double centerY, int reactionGlyphIndex, int layoutIndex, int geometricShapeIndex) { + return setReactionLineEndingGeometricShapeCenterYAsDouble(document, layoutIndex, reactionId, reactionGlyphIndex, geometricShapeIndex, centerY); + } + bool c_api_isSetLineEndingGeometricShapeRadiusX(SBMLDocument* document, const char* id, int geometricShapeIndex, int renderIndex) { return isSetLineEndingGeometricShapeRadiusX(document, renderIndex, id, geometricShapeIndex); } @@ -1200,6 +1524,22 @@ namespace LIBSBMLNETWORK_CPP_NAMESPACE { return setLineEndingGeometricShapeRadiusXAsDouble(document, id, geometricShapeIndex, radiusX); } + bool c_api_isSetSpeciesReferenceLineEndingGeometricShapeRadiusX(SBMLDocument* document, const char* reactionId, int reactionGlyphIndex, int speciesReferenceGlyphIndex, int layoutIndex, int geometricShapeIndex) { + return isSetSpeciesReferenceLineEndingGeometricShapeRadiusX(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceGlyphIndex, geometricShapeIndex); + } + + const double c_api_getSpeciesReferenceLineEndingGeometricShapeRadiusX(SBMLDocument* document, const char* reactionId, int reactionGlyphIndex, int speciesReferenceGlyphIndex, int layoutIndex, int geometricShapeIndex) { + return getSpeciesReferenceLineEndingGeometricShapeRadiusXAsDouble(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceGlyphIndex, geometricShapeIndex); + } + + int c_api_setSpeciesReferenceLineEndingGeometricShapeRadiusX(SBMLDocument* document, const char* reactionId, const double radiusX, int reactionGlyphIndex, int speciesReferenceGlyphIndex, int layoutIndex, int geometricShapeIndex) { + return setSpeciesReferenceLineEndingGeometricShapeRadiusXAsDouble(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceGlyphIndex, geometricShapeIndex, radiusX); + } + + int c_api_setReactionLineEndingGeometricShapeRadiusX(SBMLDocument* document, const char* reactionId, const double radiusX, int reactionGlyphIndex, int layoutIndex, int geometricShapeIndex) { + return setReactionLineEndingGeometricShapeRadiusXAsDouble(document, layoutIndex, reactionId, reactionGlyphIndex, geometricShapeIndex, radiusX); + } + bool c_api_isSetLineEndingGeometricShapeRadiusY(SBMLDocument* document, const char* id, int geometricShapeIndex, int renderIndex) { return isSetLineEndingGeometricShapeRadiusY(document, renderIndex, id, geometricShapeIndex); } @@ -1212,14 +1552,38 @@ namespace LIBSBMLNETWORK_CPP_NAMESPACE { return setLineEndingGeometricShapeRadiusYAsDouble(document, id, geometricShapeIndex, radiusY); } + bool c_api_isSetSpeciesReferenceLineEndingGeometricShapeRadiusY(SBMLDocument* document, const char* reactionId, int reactionGlyphIndex, int speciesReferenceGlyphIndex, int layoutIndex, int geometricShapeIndex) { + return isSetSpeciesReferenceLineEndingGeometricShapeRadiusY(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceGlyphIndex, geometricShapeIndex); + } + + const double c_api_getSpeciesReferenceLineEndingGeometricShapeRadiusY(SBMLDocument* document, const char* reactionId, int reactionGlyphIndex, int speciesReferenceGlyphIndex, int layoutIndex, int geometricShapeIndex) { + return getSpeciesReferenceLineEndingGeometricShapeRadiusYAsDouble(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceGlyphIndex, geometricShapeIndex); + } + + int c_api_setSpeciesReferenceLineEndingGeometricShapeRadiusY(SBMLDocument* document, const char* reactionId, const double radiusY, int reactionGlyphIndex, int speciesReferenceGlyphIndex, int layoutIndex, int geometricShapeIndex) { + return setSpeciesReferenceLineEndingGeometricShapeRadiusYAsDouble(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceGlyphIndex, geometricShapeIndex, radiusY); + } + + int c_api_setReactionLineEndingGeometricShapeRadiusY(SBMLDocument* document, const char* reactionId, const double radiusY, int reactionGlyphIndex, int layoutIndex, int geometricShapeIndex) { + return setReactionLineEndingGeometricShapeRadiusYAsDouble(document, layoutIndex, reactionId, reactionGlyphIndex, geometricShapeIndex, radiusY); + } + int c_api_getLineEndingGeometricShapeNumSegments(SBMLDocument* document, const char* id, int geometricShapeIndex, int renderIndex) { return getLineEndingGeometricShapeNumElements(document, renderIndex, id, geometricShapeIndex); } + int c_api_getSpeciesReferenceLineEndingGeometricShapeNumSegments(SBMLDocument* document, const char* reactionId, int reactionGlyphIndex, int speciesReferenceGlyphIndex, int layoutIndex, int geometricShapeIndex) { + return getSpeciesReferenceLineEndingGeometricShapeNumElements(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceGlyphIndex, geometricShapeIndex); + } + bool c_api_isLineEndingGeometricShapeSegmentCubicBezier(SBMLDocument* document, const char* id, int segmentIndex, int geometricShapeIndex, int renderIndex) { return isLineEndingGeometricShapeElementCubicBezier(document, renderIndex, id, geometricShapeIndex, segmentIndex); } + bool c_api_isSpeciesReferenceLineEndingGeometricShapeSegmentCubicBezier(SBMLDocument* document, const char* reactionId, int reactionGlyphIndex, int speciesReferenceGlyphIndex, int layoutIndex, int segmentIndex, int geometricShapeIndex) { + return isSpeciesReferenceLineEndingGeometricShapeElementCubicBezier(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceGlyphIndex, geometricShapeIndex, segmentIndex); + } + const double c_api_getLineEndingGeometricShapeSegmentX(SBMLDocument* document, const char* id, int segmentIndex, int geometricShapeIndex, int renderIndex) { return getLineEndingGeometricShapeElementXAsDouble(document, id, geometricShapeIndex, segmentIndex); } @@ -1228,6 +1592,18 @@ namespace LIBSBMLNETWORK_CPP_NAMESPACE { return setLineEndingGeometricShapeElementXAsDouble(document, id, geometricShapeIndex, segmentIndex, x); } + const double c_api_getSpeciesReferenceLineEndingGeometricShapeSegmentX(SBMLDocument* document, const char* reactionId, int reactionGlyphIndex, int speciesReferenceGlyphIndex, int layoutIndex, int segmentIndex, int geometricShapeIndex) { + return getSpeciesReferenceLineEndingGeometricShapeElementXAsDouble(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceGlyphIndex, geometricShapeIndex, segmentIndex); + } + + int c_api_setSpeciesReferenceLineEndingGeometricShapeSegmentX(SBMLDocument* document, const char* reactionId, const double x, int reactionGlyphIndex, int speciesReferenceGlyphIndex, int layoutIndex, int segmentIndex, int geometricShapeIndex) { + return setSpeciesReferenceLineEndingGeometricShapeElementXAsDouble(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceGlyphIndex, geometricShapeIndex, segmentIndex, x); + } + + int c_api_setReactionLineEndingGeometricShapeSegmentX(SBMLDocument* document, const char* reactionId, const double x, int reactionGlyphIndex, int layoutIndex, int segmentIndex, int geometricShapeIndex) { + return setReactionLineEndingGeometricShapeElementXAsDouble(document, layoutIndex, reactionId, reactionGlyphIndex, geometricShapeIndex, segmentIndex, x); + } + const double c_api_getLineEndingGeometricShapeSegmentY(SBMLDocument* document, const char* id, int segmentIndex, int geometricShapeIndex, int renderIndex) { return getLineEndingGeometricShapeElementYAsDouble(document, id, geometricShapeIndex, segmentIndex); } @@ -1236,6 +1612,18 @@ namespace LIBSBMLNETWORK_CPP_NAMESPACE { return setLineEndingGeometricShapeElementYAsDouble(document, id, geometricShapeIndex, segmentIndex, y); } + const double c_api_getSpeciesReferenceLineEndingGeometricShapeSegmentY(SBMLDocument* document, const char* reactionId, int reactionGlyphIndex, int speciesReferenceGlyphIndex, int layoutIndex, int segmentIndex, int geometricShapeIndex) { + return getSpeciesReferenceLineEndingGeometricShapeElementYAsDouble(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceGlyphIndex, geometricShapeIndex, segmentIndex); + } + + int c_api_setSpeciesReferenceLineEndingGeometricShapeSegmentY(SBMLDocument* document, const char* reactionId, const double y, int reactionGlyphIndex, int speciesReferenceGlyphIndex, int layoutIndex, int segmentIndex, int geometricShapeIndex) { + return setSpeciesReferenceLineEndingGeometricShapeElementYAsDouble(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceGlyphIndex, geometricShapeIndex, segmentIndex, y); + } + + int c_api_setReactionLineEndingGeometricShapeSegmentY(SBMLDocument* document, const char* reactionId, const double y, int reactionGlyphIndex, int layoutIndex, int segmentIndex, int geometricShapeIndex) { + return setReactionLineEndingGeometricShapeElementYAsDouble(document, layoutIndex, reactionId, reactionGlyphIndex, geometricShapeIndex, segmentIndex, y); + } + const double c_api_getLineEndingGeometricShapeBasePoint1X(SBMLDocument* document, const char* id, int segmentIndex, int geometricShapeIndex, int renderIndex) { return getLineEndingGeometricShapeBasePoint1XAsDouble(document, id, geometricShapeIndex, segmentIndex); } @@ -1244,6 +1632,18 @@ namespace LIBSBMLNETWORK_CPP_NAMESPACE { return setLineEndingGeometricShapeBasePoint1XAsDouble(document, id, geometricShapeIndex, segmentIndex, x); } + const double c_api_getSpeciesReferenceLineEndingGeometricShapeBasePoint1X(SBMLDocument* document, const char* reactionId, int reactionGlyphIndex, int speciesReferenceGlyphIndex, int layoutIndex, int segmentIndex, int geometricShapeIndex) { + return getSpeciesReferenceLineEndingGeometricShapeBasePoint1XAsDouble(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceGlyphIndex, geometricShapeIndex, segmentIndex); + } + + int c_api_setSpeciesReferenceLineEndingGeometricShapeBasePoint1X(SBMLDocument* document, const char* reactionId, const double x, int reactionGlyphIndex, int speciesReferenceGlyphIndex, int layoutIndex, int segmentIndex, int geometricShapeIndex) { + return setSpeciesReferenceLineEndingGeometricShapeBasePoint1XAsDouble(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceGlyphIndex, geometricShapeIndex, segmentIndex, x); + } + + int c_api_setReactionLineEndingGeometricShapeBasePoint1X(SBMLDocument* document, const char* reactionId, const double x, int reactionGlyphIndex, int layoutIndex, int segmentIndex, int geometricShapeIndex) { + return setReactionLineEndingGeometricShapeBasePoint1XAsDouble(document, layoutIndex, reactionId, reactionGlyphIndex, geometricShapeIndex, segmentIndex, x); + } + const double c_api_getLineEndingGeometricShapeBasePoint1Y(SBMLDocument* document, const char* id, int segmentIndex, int geometricShapeIndex, int renderIndex) { return getLineEndingGeometricShapeBasePoint1YAsDouble(document, id, geometricShapeIndex, segmentIndex); } @@ -1252,6 +1652,18 @@ namespace LIBSBMLNETWORK_CPP_NAMESPACE { return setLineEndingGeometricShapeBasePoint1YAsDouble(document, id, geometricShapeIndex, segmentIndex, y); } + const double c_api_getSpeciesReferenceLineEndingGeometricShapeBasePoint1Y(SBMLDocument* document, const char* reactionId, int reactionGlyphIndex, int speciesReferenceGlyphIndex, int layoutIndex, int segmentIndex, int geometricShapeIndex) { + return getSpeciesReferenceLineEndingGeometricShapeBasePoint1YAsDouble(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceGlyphIndex, geometricShapeIndex, segmentIndex); + } + + int c_api_setSpeciesReferenceLineEndingGeometricShapeBasePoint1Y(SBMLDocument* document, const char* reactionId, const double y, int reactionGlyphIndex, int speciesReferenceGlyphIndex, int layoutIndex, int segmentIndex, int geometricShapeIndex) { + return setSpeciesReferenceLineEndingGeometricShapeBasePoint1YAsDouble(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceGlyphIndex, geometricShapeIndex, segmentIndex, y); + } + + int c_api_setReactionLineEndingGeometricShapeBasePoint1Y(SBMLDocument* document, const char* reactionId, const double y, int reactionGlyphIndex, int layoutIndex, int segmentIndex, int geometricShapeIndex) { + return setReactionLineEndingGeometricShapeBasePoint1YAsDouble(document, layoutIndex, reactionId, reactionGlyphIndex, geometricShapeIndex, segmentIndex, y); + } + const double c_api_getLineEndingGeometricShapeBasePoint2X(SBMLDocument* document, const char* id, int segmentIndex, int geometricShapeIndex, int renderIndex) { return getLineEndingGeometricShapeBasePoint2XAsDouble(document, id, geometricShapeIndex, segmentIndex); } @@ -1260,6 +1672,18 @@ namespace LIBSBMLNETWORK_CPP_NAMESPACE { return setLineEndingGeometricShapeBasePoint2XAsDouble(document, id, geometricShapeIndex, segmentIndex, x); } + const double c_api_getSpeciesReferenceLineEndingGeometricShapeBasePoint2X(SBMLDocument* document, const char* reactionId, int reactionGlyphIndex, int speciesReferenceGlyphIndex, int layoutIndex, int segmentIndex, int geometricShapeIndex) { + return getSpeciesReferenceLineEndingGeometricShapeBasePoint2XAsDouble(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceGlyphIndex, geometricShapeIndex, segmentIndex); + } + + int c_api_setSpeciesReferenceLineEndingGeometricShapeBasePoint2X(SBMLDocument* document, const char* reactionId, const double x, int reactionGlyphIndex, int speciesReferenceGlyphIndex, int layoutIndex, int segmentIndex, int geometricShapeIndex) { + return setSpeciesReferenceLineEndingGeometricShapeBasePoint2XAsDouble(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceGlyphIndex, geometricShapeIndex, segmentIndex, x); + } + + int c_api_setReactionLineEndingGeometricShapeBasePoint2X(SBMLDocument* document, const char* reactionId, const double x, int reactionGlyphIndex, int layoutIndex, int segmentIndex, int geometricShapeIndex) { + return setReactionLineEndingGeometricShapeBasePoint2XAsDouble(document, layoutIndex, reactionId, reactionGlyphIndex, geometricShapeIndex, segmentIndex, x); + } + const double c_api_getLineEndingGeometricShapeBasePoint2Y(SBMLDocument* document, const char* id, int segmentIndex, int geometricShapeIndex, int renderIndex) { return getLineEndingGeometricShapeBasePoint2YAsDouble(document, id, geometricShapeIndex, segmentIndex); } @@ -1268,6 +1692,18 @@ namespace LIBSBMLNETWORK_CPP_NAMESPACE { return setLineEndingGeometricShapeBasePoint2YAsDouble(document, id, geometricShapeIndex, segmentIndex, y); } + const double c_api_getSpeciesReferenceLineEndingGeometricShapeBasePoint2Y(SBMLDocument* document, const char* reactionId, int reactionGlyphIndex, int speciesReferenceGlyphIndex, int layoutIndex, int segmentIndex, int geometricShapeIndex) { + return getSpeciesReferenceLineEndingGeometricShapeBasePoint2YAsDouble(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceGlyphIndex, geometricShapeIndex, segmentIndex); + } + + int c_api_setSpeciesReferenceLineEndingGeometricShapeBasePoint2Y(SBMLDocument* document, const char* reactionId, const double y, int reactionGlyphIndex, int speciesReferenceGlyphIndex, int layoutIndex, int segmentIndex, int geometricShapeIndex) { + return setSpeciesReferenceLineEndingGeometricShapeBasePoint2YAsDouble(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceGlyphIndex, geometricShapeIndex, segmentIndex, y); + } + + int c_api_setReactionLineEndingGeometricShapeBasePoint2Y(SBMLDocument* document, const char* reactionId, const double y, int reactionGlyphIndex, int layoutIndex, int segmentIndex, int geometricShapeIndex) { + return setReactionLineEndingGeometricShapeBasePoint2YAsDouble(document, layoutIndex, reactionId, reactionGlyphIndex, geometricShapeIndex, segmentIndex, y); + } + bool c_api_isSetLineEndingGeometricShapeHref(SBMLDocument* document, const char* id, int geometricShapeIndex, int renderIndex) { return isSetLineEndingGeometricShapeHref(document, renderIndex, id, geometricShapeIndex); } @@ -1280,6 +1716,22 @@ namespace LIBSBMLNETWORK_CPP_NAMESPACE { return setLineEndingGeometricShapeHref(document, renderIndex, id, geometricShapeIndex, href); } + bool c_api_isSetSpeciesReferenceLineEndingGeometricShapeHref(SBMLDocument* document, const char* reactionId, int reactionGlyphIndex, int speciesReferenceGlyphIndex, int layoutIndex, int geometricShapeIndex) { + return isSetSpeciesReferenceLineEndingGeometricShapeHref(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceGlyphIndex, geometricShapeIndex); + } + + const char* c_api_getSpeciesReferenceLineEndingGeometricShapeHref(SBMLDocument* document, const char* reactionId, int reactionGlyphIndex, int speciesReferenceGlyphIndex, int layoutIndex, int geometricShapeIndex) { + return strdup(getSpeciesReferenceLineEndingGeometricShapeHref(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceGlyphIndex, geometricShapeIndex).c_str()); + } + + int c_api_setSpeciesReferenceLineEndingGeometricShapeHref(SBMLDocument* document, const char* reactionId, const char* href, int reactionGlyphIndex, int speciesReferenceGlyphIndex, int layoutIndex, int geometricShapeIndex) { + return setSpeciesReferenceLineEndingGeometricShapeHref(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceGlyphIndex, geometricShapeIndex, href); + } + + int c_api_setReactionLineEndingGeometricShapeHref(SBMLDocument* document, const char* reactionId, const char* href, int reactionGlyphIndex, int layoutIndex, int geometricShapeIndex) { + return setReactionLineEndingGeometricShapeHref(document, layoutIndex, reactionId, reactionGlyphIndex, geometricShapeIndex, href); + } + bool c_api_isSetBorderColor(SBMLDocument* document, const char* id, int graphicalObjectIndex, int layoutIndex) { return isSetStrokeColor(document, getGraphicalObject(document, layoutIndex, id, graphicalObjectIndex)); } @@ -1458,6 +1910,14 @@ namespace LIBSBMLNETWORK_CPP_NAMESPACE { return setFillColor(document, getGraphicalObject(document, layoutIndex, id, graphicalObjectIndex), fillColor); } + int c_api_setFillColorAsGradient(SBMLDocument* document, const char* id, const char* gradientType, const char** stopColors, const double* stopOffsets, const int stopsSize, int graphicalObjectIndex, int layoutIndex) { + std::vector> stopsVector; + for (int i = 0; i < stopsSize; i++) + stopsVector.push_back(std::make_pair(stopColors[i], stopOffsets[i])); + + return setFillColorAsGradient(document, getGraphicalObject(document, layoutIndex, id, graphicalObjectIndex), gradientType, stopsVector); + } + const char* c_api_getCompartmentsFillColor(SBMLDocument* document) { return strdup(getCompartmentFillColor(document).c_str()); } @@ -1466,6 +1926,14 @@ namespace LIBSBMLNETWORK_CPP_NAMESPACE { return setCompartmentFillColor(document, layoutIndex, fillColor); } + int c_api_setCompartmentsFillColorAsGradient(SBMLDocument* document, const char* gradientType, const char** stopColors, const double* stopOffsets, const int stopsSize, int layoutIndex) { + std::vector> stopsVector; + for (int i = 0; i < stopsSize; i++) + stopsVector.push_back(std::make_pair(stopColors[i], stopOffsets[i])); + + return setCompartmentFillColorAsGradient(document, layoutIndex, gradientType, stopsVector); + } + const char* c_api_getSpeciesFillColor(SBMLDocument* document) { return strdup(getSpeciesFillColor(document).c_str()); } @@ -1474,6 +1942,14 @@ namespace LIBSBMLNETWORK_CPP_NAMESPACE { return setSpeciesFillColor(document, layoutIndex, fillColor); } + int c_api_setSpeciesFillColorAsGradient(SBMLDocument* document, const char* gradientType, const char** stopColors, const double* stopOffsets, const int stopsSize, int layoutIndex) { + std::vector> stopsVector; + for (int i = 0; i < stopsSize; i++) + stopsVector.push_back(std::make_pair(stopColors[i], stopOffsets[i])); + + return setSpeciesFillColorAsGradient(document, layoutIndex, gradientType, stopsVector); + } + const char* c_api_getReactionsFillColor(SBMLDocument* document) { return strdup(getReactionFillColor(document).c_str()); } @@ -1482,14 +1958,38 @@ namespace LIBSBMLNETWORK_CPP_NAMESPACE { return setReactionFillColor(document, layoutIndex, fillColor); } + int c_api_setReactionsFillColorAsGradient(SBMLDocument* document, const char* gradientType, const char** stopColors, const double* stopOffsets, const int stopsSize, int layoutIndex) { + std::vector> stopsVector; + for (int i = 0; i < stopsSize; i++) + stopsVector.push_back(std::make_pair(stopColors[i], stopOffsets[i])); + + return setReactionFillColorAsGradient(document, layoutIndex, gradientType, stopsVector); + } + int c_api_setLineEndingsFillColor(SBMLDocument* document, const char* fillColor, int layoutIndex) { return setLineEndingFillColor(document, layoutIndex, fillColor); } + int c_api_setLineEndingsFillColorAsGradient(SBMLDocument* document, const char* gradientType, const char** stopColors, const double* stopOffsets, const int stopsSize, int layoutIndex) { + std::vector> stopsVector; + for (int i = 0; i < stopsSize; i++) + stopsVector.push_back(std::make_pair(stopColors[i], stopOffsets[i])); + + return setLineEndingFillColorAsGradient(document, layoutIndex, gradientType, stopsVector); + } + int c_api_setFillColors(SBMLDocument* document, const char* fillColor, int layoutIndex) { return setFillColor(document, layoutIndex, fillColor); } + int c_api_setFillColorsAsGradient(SBMLDocument* document, const char* gradientType, const char** stopColors, const double* stopOffsets, const int stopsSize, int layoutIndex) { + std::vector> stopsVector; + for (int i = 0; i < stopsSize; i++) + stopsVector.push_back(std::make_pair(stopColors[i], stopOffsets[i])); + + return setFillColorAsGradient(document, layoutIndex, gradientType, stopsVector); + } + bool c_api_isSetFillRule(SBMLDocument* document, const char* id, int graphicalObjectIndex, int layoutIndex) { return isSetFillRule(document, getGraphicalObject(document, layoutIndex, id, graphicalObjectIndex)); } @@ -1914,6 +2414,50 @@ namespace LIBSBMLNETWORK_CPP_NAMESPACE { return isText(document, getGraphicalObject(document, layoutIndex, id, graphicalObjectIndex), geometricShapeIndex); } + bool c_api_isSetGeometricShapeBorderColor(SBMLDocument* document, const char* id, int geometricShapeIndex, int graphicalObjectIndex, int layoutIndex) { + return isSetGeometricShapeStrokeColor(document, getGraphicalObject(document, layoutIndex, id, graphicalObjectIndex), geometricShapeIndex); + } + + const char* c_api_getGeometricShapeBorderColor(SBMLDocument* document, const char* id, int geometricShapeIndex, int graphicalObjectIndex, int layoutIndex) { + return strdup(getGeometricShapeStrokeColor(document, getGraphicalObject(document, layoutIndex, id, graphicalObjectIndex), geometricShapeIndex).c_str()); + } + + int c_api_setGeometricShapeBorderColor(SBMLDocument* document, const char* id, const char* borderColor, int geometricShapeIndex, int graphicalObjectIndex, int layoutIndex) { + return setGeometricShapeStrokeColor(document, getGraphicalObject(document, layoutIndex, id, graphicalObjectIndex), geometricShapeIndex, borderColor); + } + + bool c_api_isSetGeometricShapeBorderWidth(SBMLDocument* document, const char* id, int geometricShapeIndex, int graphicalObjectIndex, int layoutIndex) { + return isSetGeometricShapeStrokeWidth(document, getGraphicalObject(document, layoutIndex, id, graphicalObjectIndex), geometricShapeIndex); + } + + const double c_api_getGeometricShapeBorderWidth(SBMLDocument* document, const char* id, int geometricShapeIndex, int graphicalObjectIndex, int layoutIndex) { + return getGeometricShapeStrokeWidth(document, getGraphicalObject(document, layoutIndex, id, graphicalObjectIndex), geometricShapeIndex); + } + + int c_api_setGeometricShapeBorderWidth(SBMLDocument* document, const char* id, const double borderWidth, int geometricShapeIndex, int graphicalObjectIndex, int layoutIndex) { + return setGeometricShapeStrokeWidth(document, getGraphicalObject(document, layoutIndex, id, graphicalObjectIndex), geometricShapeIndex, borderWidth); + } + + bool c_api_isSetGeometricShapeFillColor(SBMLDocument* document, const char* id, int geometricShapeIndex, int graphicalObjectIndex, int layoutIndex) { + return isSetGeometricShapeFillColor(document, getGraphicalObject(document, layoutIndex, id, graphicalObjectIndex), geometricShapeIndex); + } + + const char* c_api_getGeometricShapeFillColor(SBMLDocument* document, const char* id, int geometricShapeIndex, int graphicalObjectIndex, int layoutIndex) { + return strdup(getGeometricShapeFillColor(document, getGraphicalObject(document, layoutIndex, id, graphicalObjectIndex), geometricShapeIndex).c_str()); + } + + int c_api_setGeometricShapeFillColor(SBMLDocument* document, const char* id, const char* fillColor, int geometricShapeIndex, int graphicalObjectIndex, int layoutIndex) { + return setGeometricShapeFillColor(document, getGraphicalObject(document, layoutIndex, id, graphicalObjectIndex), geometricShapeIndex, fillColor); + } + + int c_api_setGeometricShapeFillColorAsGradient(SBMLDocument* document, const char* id, const char* gradientType, const char** stopColors, const double* stopOffsets, const int stopsSize, int geometricShapeIndex, int graphicalObjectIndex, int layoutIndex) { + std::vector> stopsVector; + for (int i = 0; i < stopsSize; i++) + stopsVector.push_back(std::make_pair(stopColors[i], stopOffsets[i])); + + return setGeometricShapeFillColorAsGradient(document, getGraphicalObject(document, layoutIndex, id, graphicalObjectIndex), geometricShapeIndex, gradientType, stopsVector); + } + bool c_api_isSetGeometricShapeX(SBMLDocument* document, const char* id, int geometricShapeIndex, int graphicalObjectIndex, int layoutIndex) { return isSetGeometricShapeX(document, getGraphicalObject(document, layoutIndex, id, graphicalObjectIndex), geometricShapeIndex); } diff --git a/src/c_api/libsbmlnetwork_c_api.h b/src/c_api/libsbmlnetwork_c_api.h index 44924afd..beece2cf 100644 --- a/src/c_api/libsbmlnetwork_c_api.h +++ b/src/c_api/libsbmlnetwork_c_api.h @@ -1,9 +1,13 @@ #ifndef __LIBSBMLNETWORK_C_API_H_ #define __LIBSBMLNETWORK_C_API_H_ -#include "../libsbmlnetwork_sbmldocument.h" -#include "../libsbmlnetwork_sbmldocument_layout.h" -#include "../libsbmlnetwork_sbmldocument_render.h" +#include "../libsbmlnetwork_common.h" + +#ifndef SWIG +#include "sbml/SBMLTypes.h" +#endif + +using namespace libsbml; #ifdef __cplusplus extern "C" { @@ -70,8 +74,9 @@ namespace LIBSBMLNETWORK_CPP_NAMESPACE { /// @brief Create a Render object, add it to the the SBML document, and set all the necessary features for it. /// @param document a pointer to the SBMLDocument object. + /// @param maxNumConnectedEdges the maximum number of connected edges to a species glyph. /// @return integer value indicating success/failure of the function. - LIBSBMLNETWORK_EXTERN int c_api_autorender(SBMLDocument *document); + LIBSBMLNETWORK_EXTERN int c_api_autorender(SBMLDocument *document, const int maxNumConnectedEdges = 3); /// @brief Align the nodes position in the SBML document in the given alignment type. /// @param document a pointer to the SBMLDocument object. @@ -514,7 +519,7 @@ namespace LIBSBMLNETWORK_CPP_NAMESPACE { /// @param layoutIndex the index number of the Layout to return. /// @param x the value to be set as "x" attribute of the start point of the CubicBezier object. /// @return integer value indicating success/failure of the function. - LIBSBMLNETWORK_EXTERN int c_api_setSpeciesReferenceCurveSegmentStartPointX(SBMLDocument* document, const char* reactionId, double x, int reactionGlyphIndex = 0, int speciesReferenceIndex = 0, int curveSegmentIndex = 0, int layoutIndex = 0); + LIBSBMLNETWORK_EXTERN int c_api_setSpeciesReferenceCurveSegmentStartPointX(SBMLDocument* document, const char* reactionId, const double x, int reactionGlyphIndex = 0, int speciesReferenceIndex = 0, int curveSegmentIndex = 0, int layoutIndex = 0); /// @brief Returns the value of the "y" attribute of the start point of the CubicBezier object with the given index of the Curve of the SpeciesReferenceGlyph object with the given index of the ReactionGlyph object with the given index associated with the entered reaction id /// of the Layout object with the given index in the ListOfLayouts of the SBML document. @@ -538,7 +543,7 @@ namespace LIBSBMLNETWORK_CPP_NAMESPACE { /// @param layoutIndex the index number of the Layout to return. /// @param y the value to be set as "y" attribute of the start point of the CubicBezier object. /// @return integer value indicating success/failure of the function. - LIBSBMLNETWORK_EXTERN int c_api_setSpeciesReferenceCurveSegmentStartPointY(SBMLDocument* document, const char* reactionId, double y, int reactionGlyphIndex = 0, int speciesReferenceIndex = 0, int curveSegmentIndex = 0, int layoutIndex = 0); + LIBSBMLNETWORK_EXTERN int c_api_setSpeciesReferenceCurveSegmentStartPointY(SBMLDocument* document, const char* reactionId, const double y, int reactionGlyphIndex = 0, int speciesReferenceIndex = 0, int curveSegmentIndex = 0, int layoutIndex = 0); /// @brief Returns the value of the "x" attribute of the end point of the CubicBezier object with the given index of the Curve of the SpeciesReferenceGlyph object with the given index of the ReactionGlyph object with the given index associated with the entered reaction id /// of the Layout object with the given index in the ListOfLayouts of the SBML document. @@ -562,7 +567,7 @@ namespace LIBSBMLNETWORK_CPP_NAMESPACE { /// @param layoutIndex the index number of the Layout to return. /// @param x the value to be set as "x" attribute of the end point of the CubicBezier object. /// @return integer value indicating success/failure of the function. - LIBSBMLNETWORK_EXTERN int c_api_setSpeciesReferenceCurveSegmentEndPointX(SBMLDocument* document, const char* reactionId, double x, int reactionGlyphIndex = 0, int speciesReferenceIndex = 0, int curveSegmentIndex = 0, int layoutIndex = 0); + LIBSBMLNETWORK_EXTERN int c_api_setSpeciesReferenceCurveSegmentEndPointX(SBMLDocument* document, const char* reactionId, const double x, int reactionGlyphIndex = 0, int speciesReferenceIndex = 0, int curveSegmentIndex = 0, int layoutIndex = 0); /// @brief Returns the value of the "y" attribute of the end point of the CubicBezier object with the given index of the Curve of the SpeciesReferenceGlyph object with the given index of the ReactionGlyph object with the given index associated with the entered reaction id /// of the Layout object with the given index in the ListOfLayouts of the SBML document. @@ -586,7 +591,7 @@ namespace LIBSBMLNETWORK_CPP_NAMESPACE { /// @param layoutIndex the index number of the Layout to return. /// @param y the value to be set as "y" attribute of the end point of the CubicBezier object. /// @return integer value indicating success/failure of the function. - LIBSBMLNETWORK_EXTERN int c_api_setSpeciesReferenceCurveSegmentEndPointY(SBMLDocument* document, const char* reactionId, double y, int reactionGlyphIndex = 0, int speciesReferenceIndex = 0, int curveSegmentIndex = 0, int layoutIndex = 0); + LIBSBMLNETWORK_EXTERN int c_api_setSpeciesReferenceCurveSegmentEndPointY(SBMLDocument* document, const char* reactionId, const double y, int reactionGlyphIndex = 0, int speciesReferenceIndex = 0, int curveSegmentIndex = 0, int layoutIndex = 0); /// @brief Returns the value of the "x" attribute of the base point 1 of the CubicBezier object with the given index of the Curve of the SpeciesReferenceGlyph object with the given index of the ReactionGlyph object with the given index associated with the entered reaction id /// of the Layout object with the given index in the ListOfLayouts of the SBML document. @@ -610,7 +615,7 @@ namespace LIBSBMLNETWORK_CPP_NAMESPACE { /// @param layoutIndex the index number of the Layout to return. /// @param x the value to be set as "x" attribute of the base point 1 of the CubicBezier object. /// @return integer value indicating success/failure of the function. - LIBSBMLNETWORK_EXTERN int c_api_setSpeciesReferenceCurveSegmentBasePoint1X(SBMLDocument* document, const char* reactionId, double x, int reactionGlyphIndex = 0, int speciesReferenceIndex = 0, int curveSegmentIndex = 0, int layoutIndex = 0); + LIBSBMLNETWORK_EXTERN int c_api_setSpeciesReferenceCurveSegmentBasePoint1X(SBMLDocument* document, const char* reactionId, const double x, int reactionGlyphIndex = 0, int speciesReferenceIndex = 0, int curveSegmentIndex = 0, int layoutIndex = 0); /// @brief Returns the value of the "y" attribute of the base point 1 of the CubicBezier object with the given index of the Curve of the SpeciesReferenceGlyph object with the given index of the ReactionGlyph object with the given index associated with the entered reaction id /// of the Layout object with the given index in the ListOfLayouts of the SBML document. @@ -634,7 +639,7 @@ namespace LIBSBMLNETWORK_CPP_NAMESPACE { /// @param layoutIndex the index number of the Layout to return. /// @param y the value to be set as "y" attribute of the base point 1 of the CubicBezier object. /// @return integer value indicating success/failure of the function. - LIBSBMLNETWORK_EXTERN int c_api_setSpeciesReferenceCurveSegmentBasePoint1Y(SBMLDocument* document, const char* reactionId, double y, int reactionGlyphIndex = 0, int speciesReferenceIndex = 0, int curveSegmentIndex = 0, int layoutIndex = 0); + LIBSBMLNETWORK_EXTERN int c_api_setSpeciesReferenceCurveSegmentBasePoint1Y(SBMLDocument* document, const char* reactionId, const double y, int reactionGlyphIndex = 0, int speciesReferenceIndex = 0, int curveSegmentIndex = 0, int layoutIndex = 0); /// @brief Returns the value of the "x" attribute of the base point 2 of the CubicBezier object with the given index of the Curve of the SpeciesReferenceGlyph object with the given index of the ReactionGlyph object with the given index associated with the entered reaction id /// of the Layout object with the given index in the ListOfLayouts of the SBML document. @@ -658,7 +663,7 @@ namespace LIBSBMLNETWORK_CPP_NAMESPACE { /// @param layoutIndex the index number of the Layout to return. /// @param x the value to be set as "x" attribute of the base point 2 of the CubicBezier object. /// @return integer value indicating success/failure of the function. - LIBSBMLNETWORK_EXTERN int c_api_setSpeciesReferenceCurveSegmentBasePoint2X(SBMLDocument* document, const char* reactionId, double x, int reactionGlyphIndex = 0, int speciesReferenceIndex = 0, int curveSegmentIndex = 0, int layoutIndex = 0); + LIBSBMLNETWORK_EXTERN int c_api_setSpeciesReferenceCurveSegmentBasePoint2X(SBMLDocument* document, const char* reactionId, const double x, int reactionGlyphIndex = 0, int speciesReferenceIndex = 0, int curveSegmentIndex = 0, int layoutIndex = 0); /// @brief Returns the value of the "y" attribute of the base point 2 of the CubicBezier object with the given index of the Curve of the SpeciesReferenceGlyph object with the given index of the ReactionGlyph object with the given index associated with the entered reaction id /// of the Layout object with the given index in the ListOfLayouts of the SBML document. @@ -682,7 +687,7 @@ namespace LIBSBMLNETWORK_CPP_NAMESPACE { /// @param layoutIndex the index number of the Layout to return. /// @param y the value to be set as "y" attribute of the base point 2 of the CubicBezier object. /// @return integer value indicating success/failure of the function. - LIBSBMLNETWORK_EXTERN int c_api_setSpeciesReferenceCurveSegmentBasePoint2Y(SBMLDocument* document, const char* reactionId, double y, int reactionGlyphIndex = 0, int speciesReferenceIndex = 0, int curveSegmentIndex = 0, int layoutIndex = 0); + LIBSBMLNETWORK_EXTERN int c_api_setSpeciesReferenceCurveSegmentBasePoint2Y(SBMLDocument* document, const char* reactionId, const double y, int reactionGlyphIndex = 0, int speciesReferenceIndex = 0, int curveSegmentIndex = 0, int layoutIndex = 0); /// @brief Predicates returning @c true if the "stroke" attribute of the SpeciesReferenceGlyph object with the given index of the ReactionGlyph object with the given index associated with the entered reaction id /// of the Layout object with the given index in the ListOfLayouts of the SBML document is set. @@ -1818,7 +1823,7 @@ namespace LIBSBMLNETWORK_CPP_NAMESPACE { /// @param renderIndex the index number of the RenderInformationBase object. /// @return the "x" attribute of the bounding box of the LineEnding object, or @c 0.0 if the object is @c NULL LIBSBMLNETWORK_EXTERN const double c_api_getLineEndingBoundingBoxX(SBMLDocument* document, const char* id, int renderIndex = 0); - + /// @brief Sets the value of the "x" attribute of the bounding box of the LineEnding object of the RenderInformationBase object with the given index of the SBML document. /// @param document a pointer to the SBMLDocument object. /// @param id the id of the LineEnding object. @@ -1827,6 +1832,34 @@ namespace LIBSBMLNETWORK_CPP_NAMESPACE { /// @return integer value indicating success/failure of the function. LIBSBMLNETWORK_EXTERN int c_api_setLineEndingBoundingBoxX(SBMLDocument* document, const char* id, const double x, int renderIndex = 0); + /// @brief Returns the value of the "y" attribute of the bounding box of the LineEnding object associated with the given species reference glyph of the given reaction glyph of the given layout of the SBML document. + /// @param document a pointer to the SBMLDocument object. + /// @param reactionId the id of the reaction. + /// @param reactionGlyphIndex the index of the reaction glyph. + /// @param speciesReferenceGlyphIndex the index of the species reference glyph. + /// @param layoutIndex the index of the layout. + /// @return the "y" attribute of the bounding box of the LineEnding object, or @c 0.0 if the object is @c NULL + LIBSBMLNETWORK_EXTERN const double c_api_getSpeciesReferenceLineEndingBoundingBoxX(SBMLDocument* document, const char* reactionId, int reactionGlyphIndex = 0, int speciesReferenceGlyphIndex = 0, int layoutIndex = 0); + + /// @brief Sets the value of the "x" attribute of the bounding box of the LineEnding object associated with the given species reference glyph of the given reaction glyph of the given layout of the SBML document. + /// @param document a pointer to the SBMLDocument object. + /// @param reactionId the id of the reaction. + /// @param x a double value to be set as "x" attribute of the bounding box of the LineEnding object. + /// @param reactionGlyphIndex the index of the reaction glyph. + /// @param speciesReferenceGlyphIndex the index of the species reference glyph. + /// @param layoutIndex the index of the layout. + /// @return integer value indicating success/failure of the function. + LIBSBMLNETWORK_EXTERN int c_api_setSpeciesReferenceLineEndingBoundingBoxX(SBMLDocument* document, const char* reactionId, const double x, int reactionGlyphIndex = 0, int speciesReferenceGlyphIndex = 0, int layoutIndex = 0); + + /// @brief Sets the value of the "x" attribute of the bounding box of the all LineEnding objects associated with the given reaction glyph of the given layout of the SBML document. + /// @param document a pointer to the SBMLDocument object. + /// @param reactionId the id of the reaction. + /// @param x a double value to be set as "x" attribute of the bounding box of the LineEnding object. + /// @param reactionGlyphIndex the index of the reaction glyph. + /// @param layoutIndex the index of the layout. + /// @return integer value indicating success/failure of the function. + LIBSBMLNETWORK_EXTERN int c_api_setReactionLineEndingBoundingBoxX(SBMLDocument* document, const char* reactionId, const double x, int reactionGlyphIndex = 0, int layoutIndex = 0); + /// @brief Returns the value of the "y" attribute of the bounding box of the LineEnding object of the RenderInformationBase object with the given index of the SBML document. /// @param document a pointer to the SBMLDocument object. /// @param id the id of the LineEnding object. @@ -1842,6 +1875,34 @@ namespace LIBSBMLNETWORK_CPP_NAMESPACE { /// @return integer value indicating success/failure of the function. LIBSBMLNETWORK_EXTERN int c_api_setLineEndingBoundingBoxY(SBMLDocument* document, const char* id, const double y, int renderIndex = 0); + /// @brief Returns the value of the "y" attribute of the bounding box of the LineEnding object associated with the given species reference glyph of the given reaction glyph of the given layout of the SBML document. + /// @param document a pointer to the SBMLDocument object. + /// @param reactionId the id of the reaction. + /// @param reactionGlyphIndex the index of the reaction glyph. + /// @param speciesReferenceGlyphIndex the index of the species reference glyph. + /// @param layoutIndex the index of the layout. + /// @return the "y" attribute of the bounding box of the LineEnding object, or @c 0.0 if the object is @c NULL + LIBSBMLNETWORK_EXTERN const double c_api_getSpeciesReferenceLineEndingBoundingBoxY(SBMLDocument* document, const char* reactionId, int reactionGlyphIndex = 0, int speciesReferenceGlyphIndex = 0, int layoutIndex = 0); + + /// @brief Sets the value of the "y" attribute of the bounding box of the LineEnding object associated with the given species reference glyph of the given reaction glyph of the given layout of the SBML document. + /// @param document a pointer to the SBMLDocument object. + /// @param reactionId the id of the reaction. + /// @param y a double value to be set as "y" attribute of the bounding box of the LineEnding object. + /// @param reactionGlyphIndex the index of the reaction glyph. + /// @param speciesReferenceGlyphIndex the index of the species reference glyph. + /// @param layoutIndex the index of the layout. + /// @return integer value indicating success/failure of the function. + LIBSBMLNETWORK_EXTERN int c_api_setSpeciesReferenceLineEndingBoundingBoxY(SBMLDocument* document, const char* reactionId, const double y, int reactionGlyphIndex = 0, int speciesReferenceGlyphIndex = 0, int layoutIndex = 0); + + /// @brief Sets the value of the "y" attribute of the bounding box of the all LineEnding objects associated with the given reaction glyph of the given layout of the SBML document. + /// @param document a pointer to the SBMLDocument object. + /// @param reactionId the id of the reaction. + /// @param y a double value to be set as "y" attribute of the bounding box of the LineEnding object. + /// @param reactionGlyphIndex the index of the reaction glyph. + /// @param layoutIndex the index of the layout. + /// @return integer value indicating success/failure of the function. + LIBSBMLNETWORK_EXTERN int c_api_setReactionLineEndingBoundingBoxY(SBMLDocument* document, const char* reactionId, const double y, int reactionGlyphIndex = 0, int layoutIndex = 0); + /// @brief Returns the value of the "width" attribute of the bounding box of the LineEnding object of the RenderInformationBase object with the given index of the SBML document. /// @param document a pointer to the SBMLDocument object. /// @param id the id of the LineEnding object. @@ -1857,6 +1918,34 @@ namespace LIBSBMLNETWORK_CPP_NAMESPACE { /// @return integer value indicating success/failure of the function. LIBSBMLNETWORK_EXTERN int c_api_setLineEndingBoundingBoxWidth(SBMLDocument* document, const char* id, const double width, int renderIndex = 0); + /// @brief Returns the value of the "width" attribute of the bounding box of the LineEnding object associated with the given species reference glyph of the given reaction glyph of the given layout of the SBML document. + /// @param document a pointer to the SBMLDocument object. + /// @param reactionId the id of the reaction. + /// @param reactionGlyphIndex the index of the reaction glyph. + /// @param speciesReferenceGlyphIndex the index of the species reference glyph. + /// @param layoutIndex the index of the layout. + /// @return the "width" attribute of the bounding box of the LineEnding object, or @c 0.0 if the object is @c NULL + LIBSBMLNETWORK_EXTERN const double c_api_getSpeciesReferenceLineEndingBoundingBoxWidth(SBMLDocument* document, const char* reactionId, int reactionGlyphIndex = 0, int speciesReferenceGlyphIndex = 0, int layoutIndex = 0); + + /// @brief Sets the value of the "width" attribute of the bounding box of the LineEnding object associated with the given species reference glyph of the given reaction glyph of the given layout of the SBML document. + /// @param document a pointer to the SBMLDocument object. + /// @param reactionId the id of the reaction. + /// @param width a double value to be set as "width" attribute of the bounding box of the LineEnding object. + /// @param reactionGlyphIndex the index of the reaction glyph. + /// @param speciesReferenceGlyphIndex the index of the species reference glyph. + /// @param layoutIndex the index of the layout. + /// @return integer value indicating success/failure of the function. + LIBSBMLNETWORK_EXTERN int c_api_setSpeciesReferenceLineEndingBoundingBoxWidth(SBMLDocument* document, const char* reactionId, const double width, int reactionGlyphIndex = 0, int speciesReferenceGlyphIndex = 0, int layoutIndex = 0); + + /// @brief Sets the value of the "width" attribute of the bounding box of all LineEnding objects associated with the given reaction glyph of the given layout of the SBML document. + /// @param document a pointer to the SBMLDocument object. + /// @param reactionId the id of the reaction. + /// @param width a double value to be set as "width" attribute of the bounding box of the LineEnding object. + /// @param reactionGlyphIndex the index of the reaction glyph. + /// @param layoutIndex the index of the layout. + /// @return integer value indicating success/failure of the function. + LIBSBMLNETWORK_EXTERN int c_api_setReactionLineEndingBoundingBoxWidth(SBMLDocument* document, const char* reactionId, const double width, int reactionGlyphIndex = 0, int layoutIndex = 0); + /// @brief Returns the value of the "height" attribute of the bounding box of the LineEnding object of the RenderInformationBase object with the given index of the SBML document. /// @param document a pointer to the SBMLDocument object. /// @param id the id of the LineEnding object. @@ -1872,6 +1961,34 @@ namespace LIBSBMLNETWORK_CPP_NAMESPACE { /// @return integer value indicating success/failure of the function. LIBSBMLNETWORK_EXTERN int c_api_setLineEndingBoundingBoxHeight(SBMLDocument* document, const char* id, const double height, int renderIndex = 0); + /// @brief Returns the value of the "height" attribute of the bounding box of the LineEnding object associated with the given species reference glyph of the given reaction glyph of the given layout of the SBML document. + /// @param document a pointer to the SBMLDocument object. + /// @param reactionId the id of the reaction. + /// @param reactionGlyphIndex the index of the reaction glyph. + /// @param speciesReferenceGlyphIndex the index of the species reference glyph. + /// @param layoutIndex the index of the layout. + /// @return the "height" attribute of the bounding box of the LineEnding object, or @c 0.0 if the object is @c NULL + LIBSBMLNETWORK_EXTERN const double c_api_getSpeciesReferenceLineEndingBoundingBoxHeight(SBMLDocument* document, const char* reactionId, int reactionGlyphIndex = 0, int speciesReferenceGlyphIndex = 0, int layoutIndex = 0); + + /// @brief Sets the value of the "height" attribute of the bounding box of the LineEnding object associated with the given species reference glyph of the given reaction glyph of the given layout of the SBML document. + /// @param document a pointer to the SBMLDocument object. + /// @param reactionId the id of the reaction. + /// @param height a double value to be set as "height" attribute of the bounding box of the LineEnding object. + /// @param reactionGlyphIndex the index of the reaction glyph. + /// @param speciesReferenceGlyphIndex the index of the species reference glyph. + /// @param layoutIndex the index of the layout. + /// @return integer value indicating success/failure of the function. + LIBSBMLNETWORK_EXTERN int c_api_setSpeciesReferenceLineEndingBoundingBoxHeight(SBMLDocument* document, const char* reactionId, const double height, int reactionGlyphIndex = 0, int speciesReferenceGlyphIndex = 0, int layoutIndex = 0); + + /// @brief Sets the value of the "height" attribute of the bounding box of all LineEnding objects associated with the given reaction glyph of the given layout of the SBML document. + /// @param document a pointer to the SBMLDocument object. + /// @param reactionId the id of the reaction. + /// @param height a double value to be set as "height" attribute of the bounding box of the LineEnding object. + /// @param reactionGlyphIndex the index of the reaction glyph. + /// @param layoutIndex the index of the layout. + /// @return integer value indicating success/failure of the function. + LIBSBMLNETWORK_EXTERN int c_api_setReactionLineEndingBoundingBoxHeight(SBMLDocument* document, const char* reactionId, const double height, int reactionGlyphIndex = 0, int layoutIndex = 0); + /// @brief Predicates returning @c true if the "stroke" attribute of the RenderGroup of the LineEnding object of the RenderInformationBase object with the given index of the SBML document is set. /// @param document a pointer to the SBMLDocument object. /// @param id the id of the LineEnding object. @@ -1895,6 +2012,43 @@ namespace LIBSBMLNETWORK_CPP_NAMESPACE { /// @return integer value indicating success/failure of the function. LIBSBMLNETWORK_EXTERN int c_api_setLineEndingBorderColor(SBMLDocument* document, const char* id, const char* borderColor, int renderIndex = 0); + /// @brief Predicates returning @c true if the "stroke" attribute of the RenderGroup of the LineEnding object associated with the given species reference glyph of the given reaction glyph of the given layout of the SBML document is set. + /// @param document a pointer to the SBMLDocument object. + /// @param reactionId the id of the reaction. + /// @param reactionGlyphIndex the index of the reaction glyph. + /// @param speciesReferenceGlyphIndex the index of the species reference glyph. + /// @param layoutIndex the index of the layout. + /// @return @c true if the "stroke" attribute of the RenderGroup of the LineEnding object is set, @c false if either the "stroke" attribute is not set or the object is @c NULL. + LIBSBMLNETWORK_EXTERN bool c_api_isSetSpeciesReferenceLineEndingBorderColor(SBMLDocument* document, const char* reactionId, int reactionGlyphIndex = 0, int speciesReferenceGlyphIndex = 0, int layoutIndex = 0); + + /// @brief Returns the value of the "stroke" attribute of the RenderGroup of the LineEnding object associated with the given species reference glyph of the given reaction glyph of the given layout of the SBML document. + /// @param document a pointer to the SBMLDocument object. + /// @param reactionId the id of the reaction. + /// @param reactionGlyphIndex the index of the reaction glyph. + /// @param speciesReferenceGlyphIndex the index of the species reference glyph. + /// @param layoutIndex the index of the layout. + /// @return the "stroke" attribute of the RenderGroup of the LineEnding object, or @c "" if the object is @c NULL. + LIBSBMLNETWORK_EXTERN const char* c_api_getSpeciesReferenceLineEndingBorderColor(SBMLDocument* document, const char* reactionId, int reactionGlyphIndex = 0, int speciesReferenceGlyphIndex = 0, int layoutIndex = 0); + + /// @brief Sets the value of the "stroke" attribute of the RenderGroup of the LineEnding object associated with the given species reference glyph of the given reaction glyph of the given layout of the SBML document. + /// @param document a pointer to the SBMLDocument object. + /// @param reactionId the id of the reaction. + /// @param borderColor a string value to use as the value of the "stroke" attribute of the RenderGroup of the LineEnding object. + /// @param reactionGlyphIndex the index of the reaction glyph. + /// @param speciesReferenceGlyphIndex the index of the species reference glyph. + /// @param layoutIndex the index of the layout. + /// @return integer value indicating success/failure of the function. + LIBSBMLNETWORK_EXTERN int c_api_setSpeciesReferenceLineEndingBorderColor(SBMLDocument* document, const char* reactionId, const char* borderColor, int reactionGlyphIndex = 0, int speciesReferenceGlyphIndex = 0, int layoutIndex = 0); + + /// @brief Sets the value of the "stroke" attribute of the RenderGroup of the LineEnding object associated with the given reaction glyph of the given layout of the SBML document. + /// @param document a pointer to the SBMLDocument object. + /// @param reactionId the id of the reaction. + /// @param borderColor a string value to use as the value of the "stroke" attribute of the RenderGroup of the LineEnding object. + /// @param reactionGlyphIndex the index of the reaction glyph. + /// @param layoutIndex the index of the layout. + /// @return integer value indicating success/failure of the function. + LIBSBMLNETWORK_EXTERN int c_api_setReactionLineEndingBorderColor(SBMLDocument* document, const char* reactionId, const char* borderColor, int reactionGlyphIndex = 0, int layoutIndex = 0); + /// @brief Predicates returning @c true if the "stroke-width" attribute of the RenderGroup of the LineEnding object of the RenderInformationBase object with the given index of the SBML document is set. /// @param document a pointer to the SBMLDocument object. /// @param id the id of the LineEnding object. @@ -1918,11 +2072,48 @@ namespace LIBSBMLNETWORK_CPP_NAMESPACE { /// @return integer value indicating success/failure of the function. LIBSBMLNETWORK_EXTERN int c_api_setLineEndingBorderWidth(SBMLDocument* document, const char* id, const double borderWidth, int renderIndex = 0); + /// @brief Predicates returning @c true if the "stroke-width" attribute of the RenderGroup of the LineEnding object associated with the given species reference glyph of the given reaction glyph of the given layout of the SBML document is set. + /// @param document a pointer to the SBMLDocument object. + /// @param reactionId the id of the reaction. + /// @param reactionGlyphIndex the index of the reaction glyph. + /// @param speciesReferenceGlyphIndex the index of the species reference glyph. + /// @param layoutIndex the index of the layout. + /// @return @c true if the "stroke-width" attribute of the RenderGroup of the LineEnding object is set, @c false if either the "stroke-width" attribute is not set or the object is @c NULL. + LIBSBMLNETWORK_EXTERN bool c_api_isSetSpeciesReferenceLineEndingBorderWidth(SBMLDocument* document, const char* reactionId, int reactionGlyphIndex = 0, int speciesReferenceGlyphIndex = 0, int layoutIndex = 0); + + /// @brief Returns the value of the "stroke-width" attribute of the RenderGroup of the LineEnding object associated with the given species reference glyph of the given reaction glyph of the given layout of the SBML document. + /// @param document a pointer to the SBMLDocument object. + /// @param reactionId the id of the reaction. + /// @param reactionGlyphIndex the index of the reaction glyph. + /// @param speciesReferenceGlyphIndex the index of the species reference glyph. + /// @param layoutIndex the index of the layout. + /// @return the "stroke-width" attribute of the RenderGroup of the LineEnding object, or @c 0.0 if the object is @c NULL. + LIBSBMLNETWORK_EXTERN const double c_api_getSpeciesReferenceLineEndingBorderWidth(SBMLDocument* document, const char* reactionId, int reactionGlyphIndex = 0, int speciesReferenceGlyphIndex = 0, int layoutIndex = 0); + + /// @brief Sets the value of the "stroke-width" attribute of the RenderGroup of the LineEnding object associated with the given species reference glyph of the given reaction glyph of the given layout of the SBML document. + /// @param document a pointer to the SBMLDocument object. + /// @param reactionId the id of the reaction. + /// @param borderWidth a double value to use as the value of the "stroke-width" attribute of the RenderGroup of the LineEnding object. + /// @param reactionGlyphIndex the index of the reaction glyph. + /// @param speciesReferenceGlyphIndex the index of the species reference glyph. + /// @param layoutIndex the index of the layout. + /// @return integer value indicating success/failure of the function. + LIBSBMLNETWORK_EXTERN int c_api_setSpeciesReferenceLineEndingBorderWidth(SBMLDocument* document, const char* reactionId, const double borderWidth, int reactionGlyphIndex = 0, int speciesReferenceGlyphIndex = 0, int layoutIndex = 0); + + /// @brief Sets the value of the "stroke-width" attribute of the RenderGroup of the LineEnding object associated with the given reaction glyph of the given layout of the SBML document. + /// @param document a pointer to the SBMLDocument object. + /// @param reactionId the id of the reaction. + /// @param borderWidth a double value to use as the value of the "stroke-width" attribute of the RenderGroup of the LineEnding object. + /// @param reactionGlyphIndex the index of the reaction glyph. + /// @param layoutIndex the index of the layout. + /// @return integer value indicating success/failure of the function. + LIBSBMLNETWORK_EXTERN int c_api_setReactionLineEndingBorderWidth(SBMLDocument* document, const char* reactionId, const double borderWidth, int reactionGlyphIndex = 0, int layoutIndex = 0); + /// @brief Returns the size of the "stroke-dasharray" attribute of the RenderGroup of the LineEnding object of the RenderInformationBase object with the given index of the SBML document. /// @param document a pointer to the SBMLDocument object. /// @param id the id of a model entity. /// @param renderIndex the index number of the RenderInformationBase object. - LIBSBMLNETWORK_EXTERN int c_api_getNumLineEndingBorderDashes(SBMLDocument* document, const char* id, int renderIndex = 0); + LIBSBMLNETWORK_EXTERN const int c_api_getNumLineEndingBorderDashes(SBMLDocument* document, const char* id, int renderIndex = 0); /// @brief Returns the value of the dash at the given index of the 'stroke-dasharray' attribute of the RenderGroup of the LineEnding object of the RenderInformationBase object with the given index of the SBML document. /// @param document a pointer to the SBMLDocument object. @@ -1938,6 +2129,46 @@ namespace LIBSBMLNETWORK_CPP_NAMESPACE { /// @param renderIndex the index number of the RenderInformationBase object. LIBSBMLNETWORK_EXTERN int c_api_setLineEndingNthBorderDash(SBMLDocument* document, const char* id, const int dash, int borderDashIndex, int renderIndex = 0); + /// @brief Returns the size of the "stroke-dasharray" attribute of the RenderGroup of the LineEnding object associated with the given species reference glyph of the given reaction glyph of the given layout of the SBML document. + /// @param document a pointer to the SBMLDocument object. + /// @param reactionId the id of the reaction. + /// @param reactionGlyphIndex the index of the reaction glyph. + /// @param speciesReferenceGlyphIndex the index of the species reference glyph. + /// @param layoutIndex the index of the layout. + /// @return the size of the "stroke-dasharray" attribute of the RenderGroup of the LineEnding object, or @c 0 if the object is @c NULL. + LIBSBMLNETWORK_EXTERN const int c_api_getNumSpeciesReferenceLineEndingBorderDashes(SBMLDocument* document, const char* reactionId, int reactionGlyphIndex = 0, int speciesReferenceGlyphIndex = 0, int layoutIndex = 0); + + /// @brief Returns the value of the dash at the given index of the "stroke-dasharray" attribute of the RenderGroup of the LineEnding object associated with the given species reference glyph of the given reaction glyph of the given layout of the SBML document. + /// @param document a pointer to the SBMLDocument object. + /// @param reactionId the id of the reaction. + /// @param borderDashIndex the index of the border dash. + /// @param reactionGlyphIndex the index of the reaction glyph. + /// @param speciesReferenceGlyphIndex the index of the species reference glyph. + /// @param layoutIndex the index of the layout. + /// @return the value of the dash at the given index of the "stroke-dasharray" attribute of the RenderGroup of the LineEnding object, or @c 0 if the object is @c NULL. + LIBSBMLNETWORK_EXTERN const int c_api_getSpeciesReferenceLineEndingNthBorderDash(SBMLDocument* document, const char* reactionId, int borderDashIndex, int reactionGlyphIndex = 0, int speciesReferenceGlyphIndex = 0, int layoutIndex = 0); + + /// @brief Sets the dash at the given index of the "stroke-dasharray" attribute of the RenderGroup of the LineEnding object associated with the given species reference glyph of the given reaction glyph of the given layout of the SBML document. + /// @param document a pointer to the SBMLDocument object. + /// @param reactionId the id of the reaction. + /// @param dash the value of the dash to set. + /// @param borderDashIndex the index of the border dash. + /// @param reactionGlyphIndex the index of the reaction glyph. + /// @param speciesReferenceGlyphIndex the index of the species reference glyph. + /// @param layoutIndex the index of the layout. + /// @return integer value indicating success/failure of the function. + LIBSBMLNETWORK_EXTERN int c_api_setSpeciesReferenceLineEndingNthBorderDash(SBMLDocument* document, const char* reactionId, const int dash, int borderDashIndex, int reactionGlyphIndex = 0, int speciesReferenceGlyphIndex = 0, int layoutIndex = 0); + + /// @brief Sets the dash at the given index of the "stroke-dasharray" attribute of the RenderGroup of the LineEnding object associated with the given reaction glyph of the given layout of the SBML document. + /// @param document a pointer to the SBMLDocument object. + /// @param reactionId the id of the reaction. + /// @param dash the value of the dash to set. + /// @param borderDashIndex the index of the border dash. + /// @param reactionGlyphIndex the index of the reaction glyph. + /// @param layoutIndex the index of the layout. + /// @return integer value indicating success/failure of the function. + LIBSBMLNETWORK_EXTERN int c_api_setReactionLineEndingNthBorderDash(SBMLDocument* document, const char* reactionId, const int dash, int borderDashIndex, int reactionGlyphIndex = 0, int layoutIndex = 0); + /// @breif Predicates returning @c true if the "fill" attribute of the RenderGroup of the LineEnding object of the RenderInformationBase object with the given index of the SBML document is set. /// @param document a pointer to the SBMLDocument object. /// @param id the id of the LineEnding object. @@ -1961,6 +2192,79 @@ namespace LIBSBMLNETWORK_CPP_NAMESPACE { /// @return integer value indicating success/failure of the function. LIBSBMLNETWORK_EXTERN int c_api_setLineEndingFillColor(SBMLDocument* document, const char* id, const char* fillColor, int renderIndex = 0); + /// @brief Sets the value of the "fill" attribute of the RenderGroup of the LineEnding object of the RenderInformationBase object with the given index of the SBML document in the form of a gradient. + /// @param document a pointer to the SBMLDocument object. + /// @param id the id of the LineEnding object. + /// @param gradientType the type of the gradient. + /// @param stopColors an array of strings representing the colors of the gradient stops. + /// @param stopOffsets an array of doubles representing the offsets of the gradient stops. + /// @param stopsSize the size of the stopColors and stopOffsets arrays. + /// @param renderIndex the index number of the RenderInformationBase object. + /// @return integer value indicating success/failure of the function. + LIBSBMLNETWORK_EXTERN int c_api_setLineEndingFillColorAsGradient(SBMLDocument* document, const char* id, const char* gradientType = "linear", const char** stopColors = NULL, const double* stopOffsets = NULL, const int stopsSize = 0, int renderIndex = 0); + + /// @brief Predicates returning @c true if the "fill" attribute of the RenderGroup of the LineEnding object associated with the given species reference glyph of the given reaction glyph of the given layout of the SBML document is set. + /// @param document a pointer to the SBMLDocument object. + /// @param reactionId the id of the reaction. + /// @param reactionGlyphIndex the index of the reaction glyph. + /// @param speciesReferenceGlyphIndex the index of the species reference glyph. + /// @param layoutIndex the index of the layout. + /// @return @c true if the "fill" attribute of the RenderGroup of the LineEnding object is set, @c false if either the "fill" attribute is not set or the object is @c NULL. + LIBSBMLNETWORK_EXTERN bool c_api_isSetSpeciesReferenceLineEndingFillColor(SBMLDocument* document, const char* reactionId, int reactionGlyphIndex = 0, int speciesReferenceGlyphIndex = 0, int layoutIndex = 0); + + /// @brief Returns the value of the "fill" attribute of the RenderGroup of the LineEnding object associated with the given species reference glyph of the given reaction glyph of the given layout of the SBML document. + /// @param document a pointer to the SBMLDocument object. + /// @param reactionId the id of the reaction. + /// @param reactionGlyphIndex the index of the reaction glyph. + /// @param speciesReferenceGlyphIndex the index of the species reference glyph. + /// @param layoutIndex the index of the layout. + /// @return the "fill" attribute of the RenderGroup of the LineEnding object, or @c "" if the object is @c NULL. + LIBSBMLNETWORK_EXTERN const char* c_api_getSpeciesReferenceLineEndingFillColor(SBMLDocument* document, const char* reactionId, int reactionGlyphIndex = 0, int speciesReferenceGlyphIndex = 0, int layoutIndex = 0); + + /// @brief Sets the value of the "fill" attribute of the RenderGroup of the LineEnding object associated with the given species reference glyph of the given reaction glyph of the given layout of the SBML document. + /// @param document a pointer to the SBMLDocument object. + /// @param reactionId the id of the reaction. + /// @param fillColor a string value to use as the value of the "fill" attribute of the RenderGroup of the LineEnding object. + /// @param reactionGlyphIndex the index of the reaction glyph. + /// @param speciesReferenceGlyphIndex the index of the species reference glyph. + /// @param layoutIndex the index of the layout. + /// @return integer value indicating success/failure of the function. + LIBSBMLNETWORK_EXTERN int c_api_setSpeciesReferenceLineEndingFillColor(SBMLDocument* document, const char* reactionId, const char* fillColor, int reactionGlyphIndex = 0, int speciesReferenceGlyphIndex = 0, int layoutIndex = 0); + + /// @brief Sets the value of the "fill" attribute of the RenderGroup of the LineEnding object associated with the given species reference glyph of the given reaction glyph of the given layout of the SBML document in the form of a gradient. + /// @param document a pointer to the SBMLDocument object. + /// @param reactionId the id of the reaction. + /// @param gradientType the type of the gradient. + /// @param stopColors an array of strings representing the colors of the gradient stops. + /// @param stopOffsets an array of doubles representing the offsets of the gradient stops. + /// @param stopsSize the size of the stopColors and stopOffsets arrays. + /// @param reactionGlyphIndex the index of the reaction glyph. + /// @param speciesReferenceGlyphIndex the index of the species reference glyph. + /// @param layoutIndex the index of the layout. + /// @return integer value indicating success/failure of the function. + LIBSBMLNETWORK_EXTERN int c_api_setSpeciesReferenceLineEndingFillColorAsGradient(SBMLDocument* document, const char* reactionId, const char* gradientType = "linear", const char** stopColors = NULL, const double* stopOffsets = NULL, const int stopsSize = 0, int reactionGlyphIndex = 0, int speciesReferenceGlyphIndex = 0, int layoutIndex = 0); + + /// @brief Sets the value of the "fill" attribute of the RenderGroup of the LineEnding object associated with the given reaction glyph of the given layout of the SBML document. + /// @param document a pointer to the SBMLDocument object. + /// @param reactionId the id of the reaction. + /// @param fillColor a string value to use as the value of the "fill" attribute of the RenderGroup of the LineEnding object. + /// @param reactionGlyphIndex the index of the reaction glyph. + /// @param layoutIndex the index of the layout. + /// @return integer value indicating success/failure of the function. + LIBSBMLNETWORK_EXTERN int c_api_setReactionLineEndingFillColor(SBMLDocument* document, const char* reactionId, const char* fillColor, int reactionGlyphIndex = 0, int layoutIndex = 0); + + /// @brief Sets the value of the "fill" attribute of the RenderGroup of the LineEnding object associated with the given reaction glyph of the given layout of the SBML document in the form of a gradient. + /// @param document a pointer to the SBMLDocument object. + /// @param reactionId the id of the reaction. + /// @param gradientType the type of the gradient. + /// @param stopColors an array of strings representing the colors of the gradient stops. + /// @param stopOffsets an array of doubles representing the offsets of the gradient stops. + /// @param stopsSize the size of the stopColors and stopOffsets arrays. + /// @param reactionGlyphIndex the index of the reaction glyph. + /// @param layoutIndex the index of the layout. + /// @return integer value indicating success/failure of the function. + LIBSBMLNETWORK_EXTERN int c_api_setReactionLineEndingFillColorAsGradient(SBMLDocument* document, const char* reactionId, const char* gradientType = "linear", const char** stopColors = NULL, const double* stopOffsets = NULL, const int stopsSize = 0, int reactionGlyphIndex = 0, int layoutIndex = 0); + /// @breif Predicates returning @c true if the "fill-rule" attribute of the RenderGroup of the LineEnding object of the RenderInformationBase object with the given index of the SBML document is set. /// @param document a pointer to the SBMLDocument object. /// @param id the id of the LineEnding object. @@ -1984,6 +2288,43 @@ namespace LIBSBMLNETWORK_CPP_NAMESPACE { /// @return integer value indicating success/failure of the function. LIBSBMLNETWORK_EXTERN int c_api_setLineEndingFillRule(SBMLDocument* document, const char* id, const char* fillRule, int renderIndex = 0); + /// @brief Predicates returning @c true if the "fill-rule" attribute of the RenderGroup of the LineEnding object associated with the given species reference glyph of the given reaction glyph of the given layout of the SBML document is set. + /// @param document a pointer to the SBMLDocument object. + /// @param reactionId the id of the reaction. + /// @param reactionGlyphIndex the index of the reaction glyph. + /// @param speciesReferenceGlyphIndex the index of the species reference glyph. + /// @param layoutIndex the index of the layout. + /// @return @c true if the "fill-rule" attribute of the RenderGroup of the LineEnding object is set, @c false if either the "fill-rule" attribute is not set or the object is @c NULL. + LIBSBMLNETWORK_EXTERN bool c_api_isSetSpeciesReferenceLineEndingFillRule(SBMLDocument* document, const char* reactionId, int reactionGlyphIndex = 0, int speciesReferenceGlyphIndex = 0, int layoutIndex = 0); + + /// @brief Returns the value of the "fill-rule" attribute of the RenderGroup of the LineEnding object associated with the given species reference glyph of the given reaction glyph of the given layout of the SBML document. + /// @param document a pointer to the SBMLDocument object. + /// @param reactionId the id of the reaction. + /// @param reactionGlyphIndex the index of the reaction glyph. + /// @param speciesReferenceGlyphIndex the index of the species reference glyph. + /// @param layoutIndex the index of the layout. + /// @return the "fill-rule" attribute of the RenderGroup of the LineEnding object, or @c "" if the object is @c NULL. + LIBSBMLNETWORK_EXTERN const char* c_api_getSpeciesReferenceLineEndingFillRule(SBMLDocument* document, const char* reactionId, int reactionGlyphIndex = 0, int speciesReferenceGlyphIndex = 0, int layoutIndex = 0); + + /// @brief Sets the value of the "fill-rule" attribute of the RenderGroup of the LineEnding object associated with the given species reference glyph of the given reaction glyph of the given layout of the SBML document. + /// @param document a pointer to the SBMLDocument object. + /// @param reactionId the id of the reaction. + /// @param fillRule a string value to use as the value of the "fill-rule" attribute of the RenderGroup of the LineEnding object. + /// @param reactionGlyphIndex the index of the reaction glyph. + /// @param speciesReferenceGlyphIndex the index of the species reference glyph. + /// @param layoutIndex the index of the layout. + /// @return integer value indicating success/failure of the function. + LIBSBMLNETWORK_EXTERN int c_api_setSpeciesReferenceLineEndingFillRule(SBMLDocument* document, const char* reactionId, const char* fillRule, int reactionGlyphIndex = 0, int speciesReferenceGlyphIndex = 0, int layoutIndex = 0); + + /// @brief Sets the value of the "fill-rule" attribute of the RenderGroup of the LineEnding object associated with the given reaction glyph of the given layout of the SBML document. + /// @param document a pointer to the SBMLDocument object. + /// @param reactionId the id of the reaction. + /// @param fillRule a string value to use as the value of the "fill-rule" attribute of the RenderGroup of the LineEnding object. + /// @param reactionGlyphIndex the index of the reaction glyph. + /// @param layoutIndex the index of the layout. + /// @return integer value indicating success/failure of the function. + LIBSBMLNETWORK_EXTERN int c_api_setReactionLineEndingFillRule(SBMLDocument* document, const char* reactionId, const char* fillRule, int reactionGlyphIndex = 0, int layoutIndex = 0); + /// @brief Returns number of Transformation2D objects in the RenderGroup of the LineEnding object of the RenderInformationBase object with the given index of the SBML document. /// @param document a pointer to the SBMLDocument object. /// @param id the id of the LineEnding object. @@ -1991,6 +2332,8 @@ namespace LIBSBMLNETWORK_CPP_NAMESPACE { /// @return the number of Transformation2D objects in the RenderGroup of the LineEnding object, or @c 0 if the object is @c NULL LIBSBMLNETWORK_EXTERN const int c_api_getNumLineEndingGeometricShapes(SBMLDocument* document, const char* id, int renderIndex = 0); + LIBSBMLNETWORK_EXTERN const int c_api_getNumSpeciesReferenceLineEndingGeometricShapes(SBMLDocument* document, const char* reactionId, int reactionGlyphIndex = 0, int speciesReferenceGlyphIndex = 0, int layoutIndex = 0); + /// @brief Predicates returning @c true if the Transformation2D at the given index of the RenderGroup of the LineEnding object of the RenderInformationBase object with the given index of the SBML document is of type Rectangle. /// @param document a pointer to the SBMLDocument object. /// @param id the id of the LineEnding object. @@ -2000,6 +2343,16 @@ namespace LIBSBMLNETWORK_CPP_NAMESPACE { /// object is not of type Rectangle or the object is @c NULL. LIBSBMLNETWORK_EXTERN bool c_api_isLineEndingRectangle(SBMLDocument* document, const char* id, int geometricShapeIndex = 0, int renderIndex = 0); + /// @brief Predicates returning @c true if the Transformation2D at the given index of the RenderGroup of the LineEnding object associated with the given species reference glyph of the given reaction glyph of the given layout of the SBML document is of type Rectangle. + /// @param document a pointer to the SBMLDocument object. + /// @param reactionId the id of the reaction. + /// @param reactionGlyphIndex the index of the reaction glyph. + /// @param speciesReferenceGlyphIndex the index of the species reference glyph. + /// @param layoutIndex the index of the layout. + /// @param geometricShapeIndex an int representing the index of the Transformation2D to retrieve. + /// @return @c true if the Transformation2D at the given index of the RenderGroup of the LineEnding object is of type Rectangle, @c false if either the Transformation2D object is not of type Rectangle or the object is @c NULL. + LIBSBMLNETWORK_EXTERN bool c_api_isSpeciesReferenceLineEndingRectangle(SBMLDocument* document, const char* reactionId, int reactionGlyphIndex = 0, int speciesReferenceGlyphIndex = 0, int layoutIndex = 0, int geometricShapeIndex = 0); + /// @brief Predicates returning @c true if the Transformation2D at the given index of the RenderGroup of the LineEnding object of the RenderInformationBase object with the given index of the SBML document is of type Ellipse. /// @param document a pointer to the SBMLDocument object. /// @param id the id of the LineEnding object. @@ -2009,6 +2362,16 @@ namespace LIBSBMLNETWORK_CPP_NAMESPACE { /// object is not of type Ellipse or the object is @c NULL. LIBSBMLNETWORK_EXTERN bool c_api_isLineEndingEllipse(SBMLDocument* document, const char* id, int geometricShapeIndex = 0, int renderIndex = 0); + /// @brief Predicates returning @c true if the Transformation2D at the given index of the RenderGroup of the LineEnding object associated with the given species reference glyph of the given reaction glyph of the given layout of the SBML document is of type Ellipse. + /// @param document a pointer to the SBMLDocument object. + /// @param reactionId the id of the reaction. + /// @param reactionGlyphIndex the index of the reaction glyph. + /// @param speciesReferenceGlyphIndex the index of the species reference glyph. + /// @param layoutIndex the index of the layout. + /// @param geometricShapeIndex an int representing the index of the Transformation2D to retrieve. + /// @return @c true if the Transformation2D at the given index of the RenderGroup of the LineEnding object is of type Ellipse, @c false if either the Transformation2D object is not of type Ellipse or the object is @c NULL. + LIBSBMLNETWORK_EXTERN bool c_api_isSpeciesReferenceLineEndingEllipse(SBMLDocument* document, const char* reactionId, int reactionGlyphIndex = 0, int speciesReferenceGlyphIndex = 0, int layoutIndex = 0, int geometricShapeIndex = 0); + /// @brief Predicates returning @c true if the Transformation2D at the given index of the RenderGroup of the LineEnding object of the RenderInformationBase object with the given index of the SBML document is of type Polygon. /// @param document a pointer to the SBMLDocument object. /// @param id the id of the LineEnding object. @@ -2018,6 +2381,16 @@ namespace LIBSBMLNETWORK_CPP_NAMESPACE { /// object is not of type Polygon or the object is @c NULL. LIBSBMLNETWORK_EXTERN bool c_api_isLineEndingPolygon(SBMLDocument* document, const char* id, int geometricShapeIndex = 0, int renderIndex = 0); + /// @brief Predicates returning @c true if the Transformation2D at the given index of the RenderGroup of the LineEnding object associated with the given species reference glyph of the given reaction glyph of the given layout of the SBML document is of type Polygon. + /// @param document a pointer to the SBMLDocument object. + /// @param reactionId the id of the reaction. + /// @param reactionGlyphIndex the index of the reaction glyph. + /// @param speciesReferenceGlyphIndex the index of the species reference glyph. + /// @param layoutIndex the index of the layout. + /// @param geometricShapeIndex an int representing the index of the Transformation2D to retrieve. + /// @return @c true if the Transformation2D at the given index of the RenderGroup of the LineEnding object is of type Polygon, @c false if either the Transformation2D object is not of type Polygon or the object is @c NULL. + LIBSBMLNETWORK_EXTERN bool c_api_isSpeciesReferenceLineEndingPolygon(SBMLDocument* document, const char* reactionId, int reactionGlyphIndex = 0, int speciesReferenceGlyphIndex = 0, int layoutIndex = 0, int geometricShapeIndex = 0); + /// @brief Predicates returning @c true if the Transformation2D at the given index of the RenderGroup of the LineEnding object of the RenderInformationBase object with the given index of the SBML document is of type Image. /// @param document a pointer to the SBMLDocument object. /// @param id the id of the LineEnding object. @@ -2027,6 +2400,16 @@ namespace LIBSBMLNETWORK_CPP_NAMESPACE { /// object is not of type Image or the object is @c NULL. LIBSBMLNETWORK_EXTERN bool c_api_isLineEndingImage(SBMLDocument* document, const char* id, int geometricShapeIndex = 0, int renderIndex = 0); + /// @brief Predicates returning @c true if the Transformation2D at the given index of the RenderGroup of the LineEnding object associated with the given species reference glyph of the given reaction glyph of the given layout of the SBML document is of type Image. + /// @param document a pointer to the SBMLDocument object. + /// @param reactionId the id of the reaction. + /// @param reactionGlyphIndex the index of the reaction glyph. + /// @param speciesReferenceGlyphIndex the index of the species reference glyph. + /// @param layoutIndex the index of the layout. + /// @param geometricShapeIndex an int representing the index of the Transformation2D to retrieve. + /// @return @c true if the Transformation2D at the given index of the RenderGroup of the LineEnding object is of type Image, @c false if either the Transformation2D object is not of type Image or the object is @c NULL. + LIBSBMLNETWORK_EXTERN bool c_api_isSpeciesReferenceLineEndingImage(SBMLDocument* document, const char* reactionId, int reactionGlyphIndex = 0, int speciesReferenceGlyphIndex = 0, int layoutIndex = 0, int geometricShapeIndex = 0); + /// @brief Predicates returning @c true if the Transformation2D at the given index of the RenderGroup of the LineEnding object of the RenderInformationBase object with the given index of the SBML document is of type RenderCurve. /// @param document a pointer to the SBMLDocument object. /// @param id the id of the LineEnding object. @@ -2036,6 +2419,16 @@ namespace LIBSBMLNETWORK_CPP_NAMESPACE { /// object is not of type RenderCurve or the object is @c NULL. LIBSBMLNETWORK_EXTERN bool c_api_isLineEndingRenderCurve(SBMLDocument* document, const char* id, int geometricShapeIndex = 0, int renderIndex = 0); + /// @brief Predicates returning @c true if the Transformation2D at the given index of the RenderGroup of the LineEnding object associated with the given species reference glyph of the given reaction glyph of the given layout of the SBML document is of type RenderCurve. + /// @param document a pointer to the SBMLDocument object. + /// @param reactionId the id of the reaction. + /// @param reactionGlyphIndex the index of the reaction glyph. + /// @param speciesReferenceGlyphIndex the index of the species reference glyph. + /// @param layoutIndex the index of the layout. + /// @param geometricShapeIndex an int representing the index of the Transformation2D to retrieve. + /// @return @c true if the Transformation2D at the given index of the RenderGroup of the LineEnding object is of type RenderCurve, @c false if either the Transformation2D object is not of type RenderCurve or the object is @c NULL. + LIBSBMLNETWORK_EXTERN bool c_api_isSpeciesReferenceLineEndingRenderCurve(SBMLDocument* document, const char* reactionId, int reactionGlyphIndex = 0, int speciesReferenceGlyphIndex = 0, int layoutIndex = 0, int geometricShapeIndex = 0); + /// @brief Predicates returning @c true if the Transformation2D at the given index of the RenderGroup of the LineEnding object of the RenderInformationBase object with the given index of the SBML document is of type Text. /// @param document a pointer to the SBMLDocument object. /// @param id the id of the LineEnding object. @@ -2045,6 +2438,16 @@ namespace LIBSBMLNETWORK_CPP_NAMESPACE { /// object is not of type Text or the object is @c NULL. LIBSBMLNETWORK_EXTERN bool c_api_isLineEndingText(SBMLDocument* document, const char* id, int geometricShapeIndex = 0, int renderIndex = 0); + /// @brief Predicates returning @c true if the Transformation2D at the given index of the RenderGroup of the LineEnding object associated with the given species reference glyph of the given reaction glyph of the given layout of the SBML document is of type Text. + /// @param document a pointer to the SBMLDocument object. + /// @param reactionId the id of the reaction. + /// @param reactionGlyphIndex the index of the reaction glyph. + /// @param speciesReferenceGlyphIndex the index of the species reference glyph. + /// @param layoutIndex the index of the layout. + /// @param geometricShapeIndex an int representing the index of the Transformation2D to retrieve. + /// @return @c true if the Transformation2D at the given index of the RenderGroup of the LineEnding object is of type Text, @c false if either the Transformation2D object is not of type Text or the object is @c NULL. + LIBSBMLNETWORK_EXTERN bool c_api_isSpeciesReferenceLineEndingText(SBMLDocument* document, const char* reactionId, int reactionGlyphIndex = 0, int speciesReferenceGlyphIndex = 0, int layoutIndex = 0, int geometricShapeIndex = 0); + /// @brief Predicates returning @c true if the "x" attribute of the Transformation2D at the given index of the RenderGroup of the LineEnding object of the RenderInformationBase object with the given index of the SBML document is set. /// @param document a pointer to the SBMLDocument object. /// @param id the id of the LineEnding object. @@ -2071,6 +2474,47 @@ namespace LIBSBMLNETWORK_CPP_NAMESPACE { /// @return integer value indicating success/failure of the function. LIBSBMLNETWORK_EXTERN int c_api_setLineEndingGeometricShapeX(SBMLDocument* document, const char* id, const double x, int geometricShapeIndex = 0, int renderIndex = 0); + /// @brief Predicates returning @c true if the "x" attribute of the Transformation2D at the given index of the RenderGroup of the LineEnding object associated with the given species reference glyph of the given reaction glyph of the given layout of the SBML document is set. + /// @param document a pointer to the SBMLDocument object. + /// @param reactionId the id of the reaction. + /// @param reactionGlyphIndex the index of the reaction glyph. + /// @param speciesReferenceGlyphIndex the index of the species reference glyph. + /// @param layoutIndex the index of the layout. + /// @param geometricShapeIndex an int representing the index of the Transformation2D to retrieve. + /// @return @c true if the "x" attribute of the Transformation2D at the given index of the RenderGroup of the LineEnding object is set, @c false if either the "x" attribute is not set or the object is @c NULL. + LIBSBMLNETWORK_EXTERN bool c_api_isSetSpeciesReferenceLineEndingGeometricShapeX(SBMLDocument* document, const char* reactionId, int reactionGlyphIndex = 0, int speciesReferenceGlyphIndex = 0, int layoutIndex = 0, int geometricShapeIndex = 0); + + /// @brief Returns the value of the "x" attribute of the Transformation2D at the given index of the RenderGroup of the LineEnding object associated with the given species reference glyph of the given reaction glyph of the given layout of the SBML document. + /// @param document a pointer to the SBMLDocument object. + /// @param reactionId the id of the reaction. + /// @param reactionGlyphIndex the index of the reaction glyph. + /// @param speciesReferenceGlyphIndex the index of the species reference glyph. + /// @param layoutIndex the index of the layout. + /// @param geometricShapeIndex an int representing the index of the Transformation2D to retrieve. + /// @return the "x" attribute of the Transformation2D at the given index of the RenderGroup of the LineEnding object, or @c 0.0 if the object is @c NULL. + LIBSBMLNETWORK_EXTERN const double c_api_getSpeciesReferenceLineEndingGeometricShapeX(SBMLDocument* document, const char* reactionId, int reactionGlyphIndex = 0, int speciesReferenceGlyphIndex = 0, int layoutIndex = 0, int geometricShapeIndex = 0); + + /// @brief Sets the value of the "x" attribute of the Transformation2D at the given index of the RenderGroup of the LineEnding object associated with the given species reference glyph of the given reaction glyph of the given layout of the SBML document. + /// @param document a pointer to the SBMLDocument object. + /// @param reactionId the id of the reaction. + /// @param x a double value to be set as "x" attribute of the Transformation2D at the given index of the RenderGroup of the LineEnding object. + /// @param reactionGlyphIndex the index of the reaction glyph. + /// @param speciesReferenceGlyphIndex the index of the species reference glyph. + /// @param layoutIndex the index of the layout. + /// @param geometricShapeIndex an int representing the index of the Transformation2D to retrieve. + /// @return integer value indicating success/failure of the function. + LIBSBMLNETWORK_EXTERN int c_api_setSpeciesReferenceLineEndingGeometricShapeX(SBMLDocument* document, const char* reactionId, const double x, int reactionGlyphIndex = 0, int speciesReferenceGlyphIndex = 0, int layoutIndex = 0, int geometricShapeIndex = 0); + + /// @brief Sets the value of the "x" attribute of the Transformation2D at the given index of the RenderGroup of the LineEnding object associated with the given reaction glyph of the given layout of the SBML document. + /// @param document a pointer to the SBMLDocument object. + /// @param reactionId the id of the reaction. + /// @param x a double value to be set as "x" attribute of the Transformation2D at the given index of the RenderGroup of the LineEnding object. + /// @param reactionGlyphIndex the index of the reaction glyph. + /// @param layoutIndex the index of the layout. + /// @param geometricShapeIndex an int representing the index of the Transformation2D to retrieve. + /// @return integer value indicating success/failure of the function. + LIBSBMLNETWORK_EXTERN int c_api_setReactionLineEndingGeometricShapeX(SBMLDocument* document, const char* reactionId, const double x, int reactionGlyphIndex = 0, int layoutIndex = 0, int geometricShapeIndex = 0); + /// @brief Predicates returning @c true if the "y" attribute of the Transformation2D at the given index of the RenderGroup of the LineEnding object of the RenderInformationBase object with the given index of the SBML document is set. /// @param document a pointer to the SBMLDocument object. /// @param id the id of the LineEnding object. @@ -2097,6 +2541,47 @@ namespace LIBSBMLNETWORK_CPP_NAMESPACE { /// @return integer value indicating success/failure of the function. LIBSBMLNETWORK_EXTERN int c_api_setLineEndingGeometricShapeY(SBMLDocument* document, const char* id, const double y, int geometricShapeIndex = 0, int renderIndex = 0); + /// @brief Predicates returning @c true if the "y" attribute of the Transformation2D at the given index of the RenderGroup of the LineEnding object associated with the given species reference glyph of the given reaction glyph of the given layout of the SBML document is set. + /// @param document a pointer to the SBMLDocument object. + /// @param reactionId the id of the reaction. + /// @param reactionGlyphIndex the index of the reaction glyph. + /// @param speciesReferenceGlyphIndex the index of the species reference glyph. + /// @param layoutIndex the index of the layout. + /// @param geometricShapeIndex an int representing the index of the Transformation2D to retrieve. + /// @return @c true if the "y" attribute of the Transformation2D at the given index of the RenderGroup of the LineEnding object is set, @c false if either the "y" attribute is not set or the object is @c NULL. + LIBSBMLNETWORK_EXTERN bool c_api_isSetSpeciesReferenceLineEndingGeometricShapeY(SBMLDocument* document, const char* reactionId, int reactionGlyphIndex = 0, int speciesReferenceGlyphIndex = 0, int layoutIndex = 0, int geometricShapeIndex = 0); + + /// @brief Returns the value of the "y" attribute of the Transformation2D at the given index of the RenderGroup of the LineEnding object associated with the given species reference glyph of the given reaction glyph of the given layout of the SBML document. + /// @param document a pointer to the SBMLDocument object. + /// @param reactionId the id of the reaction. + /// @param reactionGlyphIndex the index of the reaction glyph. + /// @param speciesReferenceGlyphIndex the index of the species reference glyph. + /// @param layoutIndex the index of the layout. + /// @param geometricShapeIndex an int representing the index of the Transformation2D to retrieve. + /// @return the "y" attribute of the Transformation2D at the given index of the RenderGroup of the LineEnding object, or @c 0.0 if the object is @c NULL. + LIBSBMLNETWORK_EXTERN const double c_api_getSpeciesReferenceLineEndingGeometricShapeY(SBMLDocument* document, const char* reactionId, int reactionGlyphIndex = 0, int speciesReferenceGlyphIndex = 0, int layoutIndex = 0, int geometricShapeIndex = 0); + + /// @brief Sets the value of the "y" attribute of the Transformation2D at the given index of the RenderGroup of the LineEnding object associated with the given species reference glyph of the given reaction glyph of the given layout of the SBML document. + /// @param document a pointer to the SBMLDocument object. + /// @param reactionId the id of the reaction. + /// @param y a double value to be set as "y" attribute of the Transformation2D at the given index of the RenderGroup of the LineEnding object. + /// @param reactionGlyphIndex the index of the reaction glyph. + /// @param speciesReferenceGlyphIndex the index of the species reference glyph. + /// @param layoutIndex the index of the layout. + /// @param geometricShapeIndex an int representing the index of the Transformation2D to retrieve. + /// @return integer value indicating success/failure of the function. + LIBSBMLNETWORK_EXTERN int c_api_setSpeciesReferenceLineEndingGeometricShapeY(SBMLDocument* document, const char* reactionId, const double y, int reactionGlyphIndex = 0, int speciesReferenceGlyphIndex = 0, int layoutIndex = 0, int geometricShapeIndex = 0); + + /// @brief Sets the value of the "y" attribute of the Transformation2D at the given index of the RenderGroup of the LineEnding object associated with the given reaction glyph of the given layout of the SBML document. + /// @param document a pointer to the SBMLDocument object. + /// @param reactionId the id of the reaction. + /// @param y a double value to be set as "y" attribute of the Transformation2D at the given index of the RenderGroup of the LineEnding object. + /// @param reactionGlyphIndex the index of the reaction glyph. + /// @param layoutIndex the index of the layout. + /// @param geometricShapeIndex an int representing the index of the Transformation2D to retrieve. + /// @return integer value indicating success/failure of the function. + LIBSBMLNETWORK_EXTERN int c_api_setReactionLineEndingGeometricShapeY(SBMLDocument* document, const char* reactionId, const double y, int reactionGlyphIndex = 0, int layoutIndex = 0, int geometricShapeIndex = 0); + /// @brief Predicates returning @c true if the "width" attribute of the Transformation2D at the given index of the RenderGroup of the LineEnding object of the RenderInformationBase object with the given index of the SBML document is set. /// @param document a pointer to the SBMLDocument object. /// @param id the id of the LineEnding object. @@ -2123,6 +2608,47 @@ namespace LIBSBMLNETWORK_CPP_NAMESPACE { /// @return integer value indicating success/failure of the function. LIBSBMLNETWORK_EXTERN int c_api_setLineEndingGeometricShapeWidth(SBMLDocument* document, const char* id, const double width, int geometricShapeIndex = 0, int renderIndex = 0); + /// @brief Predicates returning @c true if the "width" attribute of the Transformation2D at the given index of the RenderGroup of the LineEnding object associated with the given species reference glyph of the given reaction glyph of the given layout of the SBML document is set. + /// @param document a pointer to the SBMLDocument object. + /// @param reactionId the id of the reaction. + /// @param reactionGlyphIndex the index of the reaction glyph. + /// @param speciesReferenceGlyphIndex the index of the species reference glyph. + /// @param layoutIndex the index of the layout. + /// @param geometricShapeIndex an int representing the index of the Transformation2D to retrieve. + /// @return @c true if the "width" attribute of the Transformation2D at the given index of the RenderGroup of the LineEnding object is set, @c false if either the "width" attribute is not set or the object is @c NULL. + LIBSBMLNETWORK_EXTERN bool c_api_isSetSpeciesReferenceLineEndingGeometricShapeWidth(SBMLDocument* document, const char* reactionId, int reactionGlyphIndex = 0, int speciesReferenceGlyphIndex = 0, int layoutIndex = 0, int geometricShapeIndex = 0); + + /// @brief Returns the value of the "width" attribute of the Transformation2D at the given index of the RenderGroup of the LineEnding object associated with the given species reference glyph of the given reaction glyph of the given layout of the SBML document. + /// @param document a pointer to the SBMLDocument object. + /// @param reactionId the id of the reaction. + /// @param reactionGlyphIndex the index of the reaction glyph. + /// @param speciesReferenceGlyphIndex the index of the species reference glyph. + /// @param layoutIndex the index of the layout. + /// @param geometricShapeIndex an int representing the index of the Transformation2D to retrieve. + /// @return the "width" attribute of the Transformation2D at the given index of the RenderGroup of the LineEnding object, or @c 0.0 if the object is @c NULL. + LIBSBMLNETWORK_EXTERN const double c_api_getSpeciesReferenceLineEndingGeometricShapeWidth(SBMLDocument* document, const char* reactionId, int reactionGlyphIndex = 0, int speciesReferenceGlyphIndex = 0, int layoutIndex = 0, int geometricShapeIndex = 0); + + /// @brief Sets the value of the "width" attribute of the Transformation2D at the given index of the RenderGroup of the LineEnding object associated with the given species reference glyph of the given reaction glyph of the given layout of the SBML document. + /// @param document a pointer to the SBMLDocument object. + /// @param reactionId the id of the reaction. + /// @param width a double value to be set as "width" attribute of the Transformation2D at the given index of the RenderGroup of the LineEnding object. + /// @param reactionGlyphIndex the index of the reaction glyph. + /// @param speciesReferenceGlyphIndex the index of the species reference glyph. + /// @param layoutIndex the index of the layout. + /// @param geometricShapeIndex an int representing the index of the Transformation2D to retrieve. + /// @return integer value indicating success/failure of the function. + LIBSBMLNETWORK_EXTERN int c_api_setSpeciesReferenceLineEndingGeometricShapeWidth(SBMLDocument* document, const char* reactionId, const double width, int reactionGlyphIndex = 0, int speciesReferenceGlyphIndex = 0, int layoutIndex = 0, int geometricShapeIndex = 0); + + /// @brief Sets the value of the "width" attribute of the Transformation2D at the given index of the RenderGroup of the LineEnding object associated with the given reaction glyph of the given layout of the SBML document. + /// @param document a pointer to the SBMLDocument object. + /// @param reactionId the id of the reaction. + /// @param width a double value to be set as "width" attribute of the Transformation2D at the given index of the RenderGroup of the LineEnding object. + /// @param reactionGlyphIndex the index of the reaction glyph. + /// @param layoutIndex the index of the layout. + /// @param geometricShapeIndex an int representing the index of the Transformation2D to retrieve. + /// @return integer value indicating success/failure of the function. + LIBSBMLNETWORK_EXTERN int c_api_setReactionLineEndingGeometricShapeWidth(SBMLDocument* document, const char* reactionId, const double width, int reactionGlyphIndex = 0, int layoutIndex = 0, int geometricShapeIndex = 0); + /// @brief Predicates returning @c true if the "height" attribute of the Transformation2D at the given index of the RenderGroup of the LineEnding object of the RenderInformationBase object with the given index of the SBML document is set. /// @param document a pointer to the SBMLDocument object. /// @param id the id of the LineEnding object. @@ -2149,6 +2675,47 @@ namespace LIBSBMLNETWORK_CPP_NAMESPACE { /// @return integer value indicating success/failure of the function. LIBSBMLNETWORK_EXTERN int c_api_setLineEndingGeometricShapeHeight(SBMLDocument* document, const char* id, const double height, int geometricShapeIndex = 0, int renderIndex = 0); + /// @brief Predicates returning @c true if the "height" attribute of the Transformation2D at the given index of the RenderGroup of the LineEnding object associated with the given species reference glyph of the given reaction glyph of the given layout of the SBML document is set. + /// @param document a pointer to the SBMLDocument object. + /// @param reactionId the id of the reaction. + /// @param reactionGlyphIndex the index of the reaction glyph. + /// @param speciesReferenceGlyphIndex the index of the species reference glyph. + /// @param layoutIndex the index of the layout. + /// @param geometricShapeIndex an int representing the index of the Transformation2D to retrieve. + /// @return @c true if the "height" attribute of the Transformation2D at the given index of the RenderGroup of the LineEnding object is set, @c false if either the "height" attribute is not set or the object is @c NULL. + LIBSBMLNETWORK_EXTERN bool c_api_isSetSpeciesReferenceLineEndingGeometricShapeHeight(SBMLDocument* document, const char* reactionId, int reactionGlyphIndex = 0, int speciesReferenceGlyphIndex = 0, int layoutIndex = 0, int geometricShapeIndex = 0); + + /// @brief Returns the value of the "height" attribute of the Transformation2D at the given index of the RenderGroup of the LineEnding object associated with the given species reference glyph of the given reaction glyph of the given layout of the SBML document. + /// @param document a pointer to the SBMLDocument object. + /// @param reactionId the id of the reaction. + /// @param reactionGlyphIndex the index of the reaction glyph. + /// @param speciesReferenceGlyphIndex the index of the species reference glyph. + /// @param layoutIndex the index of the layout. + /// @param geometricShapeIndex an int representing the index of the Transformation2D to retrieve. + /// @return the "height" attribute of the Transformation2D at the given index of the RenderGroup of the LineEnding object, or @c 0.0 if the object is @c NULL. + LIBSBMLNETWORK_EXTERN const double c_api_getSpeciesReferenceLineEndingGeometricShapeHeight(SBMLDocument* document, const char* reactionId, int reactionGlyphIndex = 0, int speciesReferenceGlyphIndex = 0, int layoutIndex = 0, int geometricShapeIndex = 0); + + /// @brief Sets the value of the "height" attribute of the Transformation2D at the given index of the RenderGroup of the LineEnding object associated with the given species reference glyph of the given reaction glyph of the given layout of the SBML document. + /// @param document a pointer to the SBMLDocument object. + /// @param reactionId the id of the reaction. + /// @param height a double value to be set as "height" attribute of the Transformation2D at the given index of the RenderGroup of the LineEnding object. + /// @param reactionGlyphIndex the index of the reaction glyph. + /// @param speciesReferenceGlyphIndex the index of the species reference glyph. + /// @param layoutIndex the index of the layout. + /// @param geometricShapeIndex an int representing the index of the Transformation2D to retrieve. + /// @return integer value indicating success/failure of the function. + LIBSBMLNETWORK_EXTERN int c_api_setSpeciesReferenceLineEndingGeometricShapeHeight(SBMLDocument* document, const char* reactionId, const double height, int reactionGlyphIndex = 0, int speciesReferenceGlyphIndex = 0, int layoutIndex = 0, int geometricShapeIndex = 0); + + /// @brief Sets the value of the "height" attribute of the Transformation2D at the given index of the RenderGroup of the LineEnding object associated with the given reaction glyph of the given layout of the SBML document. + /// @param document a pointer to the SBMLDocument object. + /// @param reactionId the id of the reaction. + /// @param height a double value to be set as "height" attribute of the Transformation2D at the given index of the RenderGroup of the LineEnding object. + /// @param reactionGlyphIndex the index of the reaction glyph. + /// @param layoutIndex the index of the layout. + /// @param geometricShapeIndex an int representing the index of the Transformation2D to retrieve. + /// @return integer value indicating success/failure of the function. + LIBSBMLNETWORK_EXTERN int c_api_setReactionLineEndingGeometricShapeHeight(SBMLDocument* document, const char* reactionId, const double height, int reactionGlyphIndex = 0, int layoutIndex = 0, int geometricShapeIndex = 0); + /// @brief Predicates returning @c true if the "ratio" attribute of the Transformation2D at the given index of the RenderGroup of the LineEnding object of the RenderInformationBase object with the given index of the SBML document is set. /// @param document a pointer to the SBMLDocument object. /// @param id the id of the LineEnding object. @@ -2175,6 +2742,47 @@ namespace LIBSBMLNETWORK_CPP_NAMESPACE { /// @return integer value indicating success/failure of the function. LIBSBMLNETWORK_EXTERN int c_api_setLineEndingGeometricShapeRatio(SBMLDocument* document, const char* id, const double ratio, int geometricShapeIndex = 0, int renderIndex = 0); + /// @brief Predicates returning @c true if the "ratio" attribute of the Transformation2D at the given index of the RenderGroup of the LineEnding object associated with the given species reference glyph of the given reaction glyph of the given layout of the SBML document is set. + /// @param document a pointer to the SBMLDocument object. + /// @param reactionId the id of the reaction. + /// @param reactionGlyphIndex the index of the reaction glyph. + /// @param speciesReferenceGlyphIndex the index of the species reference glyph. + /// @param layoutIndex the index of the layout. + /// @param geometricShapeIndex an int representing the index of the Transformation2D to retrieve. + /// @return @c true if the "ratio" attribute of the Transformation2D at the given index of the RenderGroup of the LineEnding object is set, @c false if either the "ratio" attribute is not set or the object is @c NULL. + LIBSBMLNETWORK_EXTERN bool c_api_isSetSpeciesReferenceLineEndingGeometricShapeRatio(SBMLDocument* document, const char* reactionId, int reactionGlyphIndex = 0, int speciesReferenceGlyphIndex = 0, int layoutIndex = 0, int geometricShapeIndex = 0); + + /// @brief Returns the value of the "ratio" attribute of the Transformation2D at the given index of the RenderGroup of the LineEnding object associated with the given species reference glyph of the given reaction glyph of the given layout of the SBML document. + /// @param document a pointer to the SBMLDocument object. + /// @param reactionId the id of the reaction. + /// @param reactionGlyphIndex the index of the reaction glyph. + /// @param speciesReferenceGlyphIndex the index of the species reference glyph. + /// @param layoutIndex the index of the layout. + /// @param geometricShapeIndex an int representing the index of the Transformation2D to retrieve. + /// @return the "ratio" attribute of the Transformation2D at the given index of the RenderGroup of the LineEnding object, or @c 0.0 if the object is @c NULL. + LIBSBMLNETWORK_EXTERN const double c_api_getSpeciesReferenceLineEndingGeometricShapeRatio(SBMLDocument* document, const char* reactionId, int reactionGlyphIndex = 0, int speciesReferenceGlyphIndex = 0, int layoutIndex = 0, int geometricShapeIndex = 0); + + /// @brief Sets the value of the "ratio" attribute of the Transformation2D at the given index of the RenderGroup of the LineEnding object associated with the given species reference glyph of the given reaction glyph of the given layout of the SBML document. + /// @param document a pointer to the SBMLDocument object. + /// @param reactionId the id of the reaction. + /// @param ratio a double value to be set as "ratio" attribute of the Transformation2D at the given index of the RenderGroup of the LineEnding object. + /// @param reactionGlyphIndex the index of the reaction glyph. + /// @param speciesReferenceGlyphIndex the index of the species reference glyph. + /// @param layoutIndex the index of the layout. + /// @param geometricShapeIndex an int representing the index of the Transformation2D to retrieve. + /// @return integer value indicating success/failure of the function. + LIBSBMLNETWORK_EXTERN int c_api_setSpeciesReferenceLineEndingGeometricShapeRatio(SBMLDocument* document, const char* reactionId, const double ratio, int reactionGlyphIndex = 0, int speciesReferenceGlyphIndex = 0, int layoutIndex = 0, int geometricShapeIndex = 0); + + /// @brief Sets the value of the "ratio" attribute of the Transformation2D at the given index of the RenderGroup of the LineEnding object associated with the given reaction glyph of the given layout of the SBML document. + /// @param document a pointer to the SBMLDocument object. + /// @param reactionId the id of the reaction. + /// @param ratio a double value to be set as "ratio" attribute of the Transformation2D at the given index of the RenderGroup of the LineEnding object. + /// @param reactionGlyphIndex the index of the reaction glyph. + /// @param layoutIndex the index of the layout. + /// @param geometricShapeIndex an int representing the index of the Transformation2D to retrieve. + /// @return integer value indicating success/failure of the function. + LIBSBMLNETWORK_EXTERN int c_api_setReactionLineEndingGeometricShapeRatio(SBMLDocument* document, const char* reactionId, const double ratio, int reactionGlyphIndex = 0, int layoutIndex = 0, int geometricShapeIndex = 0); + /// @brief Predicates returning @c true if the "rx" attribute of the Transformation2D at the given index of the RenderGroup of the LineEnding object of the RenderInformationBase object with the given index of the SBML document is set. /// @param document a pointer to the SBMLDocument object. /// @param id the id of the LineEnding object. @@ -2201,6 +2809,47 @@ namespace LIBSBMLNETWORK_CPP_NAMESPACE { /// @return integer value indicating success/failure of the function. LIBSBMLNETWORK_EXTERN int c_api_setLineEndingGeometricShapeBorderRadiusX(SBMLDocument* document, const char* id, const double rx, int geometricShapeIndex = 0, int renderIndex = 0); + /// @brief Predicates returning @c true if the "rx" attribute of the Transformation2D at the given index of the RenderGroup of the LineEnding object associated with the given species reference glyph of the given reaction glyph of the given layout of the SBML document is set. + /// @param document a pointer to the SBMLDocument object. + /// @param reactionId the id of the reaction. + /// @param reactionGlyphIndex the index of the reaction glyph. + /// @param speciesReferenceGlyphIndex the index of the species reference glyph. + /// @param layoutIndex the index of the layout. + /// @param geometricShapeIndex an int representing the index of the Transformation2D to retrieve. + /// @return @c true if the "rx" attribute of the Transformation2D at the given index of the RenderGroup of the LineEnding object is set, @c false if either the "rx" attribute is not set or the object is @c NULL. + LIBSBMLNETWORK_EXTERN bool c_api_isSetSpeciesReferenceLineEndingGeometricShapeBorderRadiusX(SBMLDocument* document, const char* reactionId, int reactionGlyphIndex = 0, int speciesReferenceGlyphIndex = 0, int layoutIndex = 0, int geometricShapeIndex = 0); + + /// @brief Returns the value of the "rx" attribute of the Transformation2D at the given index of the RenderGroup of the LineEnding object associated with the given species reference glyph of the given reaction glyph of the given layout of the SBML document. + /// @param document a pointer to the SBMLDocument object. + /// @param reactionId the id of the reaction. + /// @param reactionGlyphIndex the index of the reaction glyph. + /// @param speciesReferenceGlyphIndex the index of the species reference glyph. + /// @param layoutIndex the index of the layout. + /// @param geometricShapeIndex an int representing the index of the Transformation2D to retrieve. + /// @return the "rx" attribute of the Transformation2D at the given index of the RenderGroup of the LineEnding object, or @c 0.0 if the object is @c NULL. + LIBSBMLNETWORK_EXTERN const double c_api_getSpeciesReferenceLineEndingGeometricShapeBorderRadiusX(SBMLDocument* document, const char* reactionId, int reactionGlyphIndex = 0, int speciesReferenceGlyphIndex = 0, int layoutIndex = 0, int geometricShapeIndex = 0); + + /// @brief Sets the value of the "rx" attribute of the Transformation2D at the given index of the RenderGroup of the LineEnding object associated with the given species reference glyph of the given reaction glyph of the given layout of the SBML document. + /// @param document a pointer to the SBMLDocument object. + /// @param reactionId the id of the reaction. + /// @param rx a double value to be set as "rx" attribute of the Transformation2D at the given index of the RenderGroup of the LineEnding object. + /// @param reactionGlyphIndex the index of the reaction glyph. + /// @param speciesReferenceGlyphIndex the index of the species reference glyph. + /// @param layoutIndex the index of the layout. + /// @param geometricShapeIndex an int representing the index of the Transformation2D to retrieve. + /// @return integer value indicating success/failure of the function. + LIBSBMLNETWORK_EXTERN int c_api_setSpeciesReferenceLineEndingGeometricShapeBorderRadiusX(SBMLDocument* document, const char* reactionId, const double rx, int reactionGlyphIndex = 0, int speciesReferenceGlyphIndex = 0, int layoutIndex = 0, int geometricShapeIndex = 0); + + /// @brief Sets the value of the "rx" attribute of the Transformation2D at the given index of the RenderGroup of the LineEnding object associated with the given reaction glyph of the given layout of the SBML document. + /// @param document a pointer to the SBMLDocument object. + /// @param reactionId the id of the reaction. + /// @param rx a double value to be set as "rx" attribute of the Transformation2D at the given index of the RenderGroup of the LineEnding object. + /// @param reactionGlyphIndex the index of the reaction glyph. + /// @param layoutIndex the index of the layout. + /// @param geometricShapeIndex an int representing the index of the Transformation2D to retrieve. + /// @return integer value indicating success/failure of the function. + LIBSBMLNETWORK_EXTERN int c_api_setReactionLineEndingGeometricShapeBorderRadiusX(SBMLDocument* document, const char* reactionId, const double rx, int reactionGlyphIndex = 0, int layoutIndex = 0, int geometricShapeIndex = 0); + /// @brief Predicates returning @c true if the "ry" attribute of the Transformation2D at the given index of the RenderGroup of the LineEnding object of the RenderInformationBase object with the given index of the SBML document is set. /// @param document a pointer to the SBMLDocument object. /// @param id the id of the LineEnding object. @@ -2227,6 +2876,47 @@ namespace LIBSBMLNETWORK_CPP_NAMESPACE { /// @return integer value indicating success/failure of the function. LIBSBMLNETWORK_EXTERN int c_api_setLineEndingGeometricShapeBorderRadiusY(SBMLDocument* document, const char* id, const double ry, int geometricShapeIndex = 0, int renderIndex = 0); + /// @brief Predicates returning @c true if the "ry" attribute of the Transformation2D at the given index of the RenderGroup of the LineEnding object associated with the given species reference glyph of the given reaction glyph of the given layout of the SBML document is set. + /// @param document a pointer to the SBMLDocument object. + /// @param reactionId the id of the reaction. + /// @param reactionGlyphIndex the index of the reaction glyph. + /// @param speciesReferenceGlyphIndex the index of the species reference glyph. + /// @param layoutIndex the index of the layout. + /// @param geometricShapeIndex an int representing the index of the Transformation2D to retrieve. + /// @return @c true if the "ry" attribute of the Transformation2D at the given index of the RenderGroup of the LineEnding object is set, @c false if either the "ry" attribute is not set or the object is @c NULL. + LIBSBMLNETWORK_EXTERN bool c_api_isSetSpeciesReferenceLineEndingGeometricShapeBorderRadiusY(SBMLDocument* document, const char* reactionId, int reactionGlyphIndex = 0, int speciesReferenceGlyphIndex = 0, int layoutIndex = 0, int geometricShapeIndex = 0); + + /// @brief Returns the value of the "ry" attribute of the Transformation2D at the given index of the RenderGroup of the LineEnding object associated with the given species reference glyph of the given reaction glyph of the given layout of the SBML document. + /// @param document a pointer to the SBMLDocument object. + /// @param reactionId the id of the reaction. + /// @param reactionGlyphIndex the index of the reaction glyph. + /// @param speciesReferenceGlyphIndex the index of the species reference glyph. + /// @param layoutIndex the index of the layout. + /// @param geometricShapeIndex an int representing the index of the Transformation2D to retrieve. + /// @return the "ry" attribute of the Transformation2D at the given index of the RenderGroup of the LineEnding object, or @c 0.0 if the object is @c NULL. + LIBSBMLNETWORK_EXTERN const double c_api_getSpeciesReferenceLineEndingGeometricShapeBorderRadiusY(SBMLDocument* document, const char* reactionId, int reactionGlyphIndex = 0, int speciesReferenceGlyphIndex = 0, int layoutIndex = 0, int geometricShapeIndex = 0); + + /// @brief Sets the value of the "ry" attribute of the Transformation2D at the given index of the RenderGroup of the LineEnding object associated with the given species reference glyph of the given reaction glyph of the given layout of the SBML document. + /// @param document a pointer to the SBMLDocument object. + /// @param reactionId the id of the reaction. + /// @param ry a double value to be set as "ry" attribute of the Transformation2D at the given index of the RenderGroup of the LineEnding object. + /// @param reactionGlyphIndex the index of the reaction glyph. + /// @param speciesReferenceGlyphIndex the index of the species reference glyph. + /// @param layoutIndex the index of the layout. + /// @param geometricShapeIndex an int representing the index of the Transformation2D to retrieve. + /// @return integer value indicating success/failure of the function. + LIBSBMLNETWORK_EXTERN int c_api_setSpeciesReferenceLineEndingGeometricShapeBorderRadiusY(SBMLDocument* document, const char* reactionId, const double ry, int reactionGlyphIndex = 0, int speciesReferenceGlyphIndex = 0, int layoutIndex = 0, int geometricShapeIndex = 0); + + /// @brief Sets the value of the "ry" attribute of the Transformation2D at the given index of the RenderGroup of the LineEnding object associated with the given reaction glyph of the given layout of the SBML document. + /// @param document a pointer to the SBMLDocument object. + /// @param reactionId the id of the reaction. + /// @param ry a double value to be set as "ry" attribute of the Transformation2D at the given index of the RenderGroup of the LineEnding object. + /// @param reactionGlyphIndex the index of the reaction glyph. + /// @param layoutIndex the index of the layout. + /// @param geometricShapeIndex an int representing the index of the Transformation2D to retrieve. + /// @return integer value indicating success/failure of the function. + LIBSBMLNETWORK_EXTERN int c_api_setReactionLineEndingGeometricShapeBorderRadiusY(SBMLDocument* document, const char* reactionId, const double ry, int reactionGlyphIndex = 0, int layoutIndex = 0, int geometricShapeIndex = 0); + /// @brief Predicates returning @c true if the "cx" attribute of the Transformation2D at the given index of the RenderGroup of the LineEnding object of the RenderInformationBase object with the given index of the SBML document is set. /// @param document a pointer to the SBMLDocument object. /// @param id the id of the LineEnding object. @@ -2253,6 +2943,47 @@ namespace LIBSBMLNETWORK_CPP_NAMESPACE { /// @return integer value indicating success/failure of the function. LIBSBMLNETWORK_EXTERN int c_api_setLineEndingGeometricShapeCenterX(SBMLDocument* document, const char* id, const double cx, int geometricShapeIndex = 0, int renderIndex = 0); + /// @brief Predicates returning @c true if the "cx" attribute of the Transformation2D at the given index of the RenderGroup of the LineEnding object associated with the given species reference glyph of the given reaction glyph of the given layout of the SBML document is set. + /// @param document a pointer to the SBMLDocument object. + /// @param reactionId the id of the reaction. + /// @param reactionGlyphIndex the index of the reaction glyph. + /// @param speciesReferenceGlyphIndex the index of the species reference glyph. + /// @param layoutIndex the index of the layout. + /// @param geometricShapeIndex an int representing the index of the Transformation2D to retrieve. + /// @return @c true if the "cx" attribute of the Transformation2D at the given index of the RenderGroup of the LineEnding object is set, @c false if either the "cx" attribute is not set or the object is @c NULL. + LIBSBMLNETWORK_EXTERN bool c_api_isSetSpeciesReferenceLineEndingGeometricShapeCenterX(SBMLDocument* document, const char* reactionId, int reactionGlyphIndex = 0, int speciesReferenceGlyphIndex = 0, int layoutIndex = 0, int geometricShapeIndex = 0); + + /// @brief Returns the value of the "cx" attribute of the Transformation2D at the given index of the RenderGroup of the LineEnding object associated with the given species reference glyph of the given reaction glyph of the given layout of the SBML document. + /// @param document a pointer to the SBMLDocument object. + /// @param reactionId the id of the reaction. + /// @param reactionGlyphIndex the index of the reaction glyph. + /// @param speciesReferenceGlyphIndex the index of the species reference glyph. + /// @param layoutIndex the index of the layout. + /// @param geometricShapeIndex an int representing the index of the Transformation2D to retrieve. + /// @return the "cx" attribute of the Transformation2D at the given index of the RenderGroup of the LineEnding object, or @c 0.0 if the object is @c NULL. + LIBSBMLNETWORK_EXTERN const double c_api_getSpeciesReferenceLineEndingGeometricShapeCenterX(SBMLDocument* document, const char* reactionId, int reactionGlyphIndex = 0, int speciesReferenceGlyphIndex = 0, int layoutIndex = 0, int geometricShapeIndex = 0); + + /// @brief Sets the value of the "cx" attribute of the Transformation2D at the given index of the RenderGroup of the LineEnding object associated with the given species reference glyph of the given reaction glyph of the given layout of the SBML document. + /// @param document a pointer to the SBMLDocument object. + /// @param reactionId the id of the reaction. + /// @param cx a double value to be set as "cx" attribute of the Transformation2D at the given index of the RenderGroup of the LineEnding object. + /// @param reactionGlyphIndex the index of the reaction glyph. + /// @param speciesReferenceGlyphIndex the index of the species reference glyph. + /// @param layoutIndex the index of the layout. + /// @param geometricShapeIndex an int representing the index of the Transformation2D to retrieve. + /// @return integer value indicating success/failure of the function. + LIBSBMLNETWORK_EXTERN int c_api_setSpeciesReferenceLineEndingGeometricShapeCenterX(SBMLDocument* document, const char* reactionId, const double cx, int reactionGlyphIndex = 0, int speciesReferenceGlyphIndex = 0, int layoutIndex = 0, int geometricShapeIndex = 0); + + /// @brief Sets the value of the "cx" attribute of the Transformation2D at the given index of the RenderGroup of the LineEnding object associated with the given reaction glyph of the given layout of the SBML document. + /// @param document a pointer to the SBMLDocument object. + /// @param reactionId the id of the reaction. + /// @param cx a double value to be set as "cx" attribute of the Transformation2D at the given index of the RenderGroup of the LineEnding object. + /// @param reactionGlyphIndex the index of the reaction glyph. + /// @param layoutIndex the index of the layout. + /// @param geometricShapeIndex an int representing the index of the Transformation2D to retrieve. + /// @return integer value indicating success/failure of the function. + LIBSBMLNETWORK_EXTERN int c_api_setReactionLineEndingGeometricShapeCenterX(SBMLDocument* document, const char* reactionId, const double cx, int reactionGlyphIndex = 0, int layoutIndex = 0, int geometricShapeIndex = 0); + /// @brief Predicates returning @c true if the "cy" attribute of the Transformation2D at the given index of the RenderGroup of the LineEnding object of the RenderInformationBase object with the given index of the SBML document is set. /// @param document a pointer to the SBMLDocument object. /// @param id the id of the LineEnding object. @@ -2279,6 +3010,47 @@ namespace LIBSBMLNETWORK_CPP_NAMESPACE { /// @return integer value indicating success/failure of the function. LIBSBMLNETWORK_EXTERN int c_api_setLineEndingGeometricShapeCenterY(SBMLDocument* document, const char* id, const double cy, int geometricShapeIndex = 0, int renderIndex = 0); + /// @brief Predicates returning @c true if the "cy" attribute of the Transformation2D at the given index of the RenderGroup of the LineEnding object associated with the given species reference glyph of the given reaction glyph of the given layout of the SBML document is set. + /// @param document a pointer to the SBMLDocument object. + /// @param reactionId the id of the reaction. + /// @param reactionGlyphIndex the index of the reaction glyph. + /// @param speciesReferenceGlyphIndex the index of the species reference glyph. + /// @param layoutIndex the index of the layout. + /// @param geometricShapeIndex an int representing the index of the Transformation2D to retrieve. + /// @return @c true if the "cy" attribute of the Transformation2D at the given index of the RenderGroup of the LineEnding object is set, @c false if either the "cy" attribute is not set or the object is @c NULL. + LIBSBMLNETWORK_EXTERN bool c_api_isSetSpeciesReferenceLineEndingGeometricShapeCenterY(SBMLDocument* document, const char* reactionId, int reactionGlyphIndex = 0, int speciesReferenceGlyphIndex = 0, int layoutIndex = 0, int geometricShapeIndex = 0); + + /// @brief Returns the value of the "cy" attribute of the Transformation2D at the given index of the RenderGroup of the LineEnding object associated with the given species reference glyph of the given reaction glyph of the given layout of the SBML document. + /// @param document a pointer to the SBMLDocument object. + /// @param reactionId the id of the reaction. + /// @param reactionGlyphIndex the index of the reaction glyph. + /// @param speciesReferenceGlyphIndex the index of the species reference glyph. + /// @param layoutIndex the index of the layout. + /// @param geometricShapeIndex an int representing the index of the Transformation2D to retrieve. + /// @return the "cy" attribute of the Transformation2D at the given index of the RenderGroup of the LineEnding object, or @c 0.0 if the object is @c NULL. + LIBSBMLNETWORK_EXTERN const double c_api_getSpeciesReferenceLineEndingGeometricShapeCenterY(SBMLDocument* document, const char* reactionId, int reactionGlyphIndex = 0, int speciesReferenceGlyphIndex = 0, int layoutIndex = 0, int geometricShapeIndex = 0); + + /// @brief Sets the value of the "cy" attribute of the Transformation2D at the given index of the RenderGroup of the LineEnding object associated with the given species reference glyph of the given reaction glyph of the given layout of the SBML document. + /// @param document a pointer to the SBMLDocument object. + /// @param reactionId the id of the reaction. + /// @param cy a double value to be set as "cy" attribute of the Transformation2D at the given index of the RenderGroup of the LineEnding object. + /// @param reactionGlyphIndex the index of the reaction glyph. + /// @param speciesReferenceGlyphIndex the index of the species reference glyph. + /// @param layoutIndex the index of the layout. + /// @param geometricShapeIndex an int representing the index of the Transformation2D to retrieve. + /// @return integer value indicating success/failure of the function. + LIBSBMLNETWORK_EXTERN int c_api_setSpeciesReferenceLineEndingGeometricShapeCenterY(SBMLDocument* document, const char* reactionId, const double cy, int reactionGlyphIndex = 0, int speciesReferenceGlyphIndex = 0, int layoutIndex = 0, int geometricShapeIndex = 0); + + /// @brief Sets the value of the "cy" attribute of the Transformation2D at the given index of the RenderGroup of the LineEnding object associated with the given reaction glyph of the given layout of the SBML document. + /// @param document a pointer to the SBMLDocument object. + /// @param reactionId the id of the reaction. + /// @param cy a double value to be set as "cy" attribute of the Transformation2D at the given index of the RenderGroup of the LineEnding object. + /// @param reactionGlyphIndex the index of the reaction glyph. + /// @param layoutIndex the index of the layout. + /// @param geometricShapeIndex an int representing the index of the Transformation2D to retrieve. + /// @return integer value indicating success/failure of the function. + LIBSBMLNETWORK_EXTERN int c_api_setReactionLineEndingGeometricShapeCenterY(SBMLDocument* document, const char* reactionId, const double cy, int reactionGlyphIndex = 0, int layoutIndex = 0, int geometricShapeIndex = 0); + /// @brief Predicates returning @c true if the "rx" attribute of the Transformation2D at the given index of the RenderGroup of the LineEnding object of the RenderInformationBase object with the given index of the SBML document is set. /// @param document a pointer to the SBMLDocument object. /// @param id the id of the LineEnding object. @@ -2305,6 +3077,47 @@ namespace LIBSBMLNETWORK_CPP_NAMESPACE { /// @return integer value indicating success/failure of the function LIBSBMLNETWORK_EXTERN int c_api_setLineEndingGeometricShapeRadiusX(SBMLDocument* document, const char* id, const double rx, int geometricShapeIndex = 0, int renderIndex = 0); + /// @brief Predicates returning @c true if the "rx" attribute of the Transformation2D at the given index of the RenderGroup of the LineEnding object associated with the given species reference glyph of the given reaction glyph of the given layout of the SBML document is set. + /// @param document a pointer to the SBMLDocument object. + /// @param reactionId the id of the reaction. + /// @param reactionGlyphIndex the index of the reaction glyph. + /// @param speciesReferenceGlyphIndex the index of the species reference glyph. + /// @param layoutIndex the index of the layout. + /// @param geometricShapeIndex an int representing the index of the Transformation2D to retrieve. + /// @return @c true if the "rx" attribute of the Transformation2D at the given index of the RenderGroup of the LineEnding object is set, @c false if either the "rx" attribute is not set or the object is @c NULL. + LIBSBMLNETWORK_EXTERN bool c_api_isSetSpeciesReferenceLineEndingGeometricShapeRadiusX(SBMLDocument* document, const char* reactionId, int reactionGlyphIndex = 0, int speciesReferenceGlyphIndex = 0, int layoutIndex = 0, int geometricShapeIndex = 0); + + /// @brief Returns the value of the "rx" attribute of the Transformation2D at the given index of the RenderGroup of the LineEnding object associated with the given species reference glyph of the given reaction glyph of the given layout of the SBML document. + /// @param document a pointer to the SBMLDocument object. + /// @param reactionId the id of the reaction. + /// @param reactionGlyphIndex the index of the reaction glyph. + /// @param speciesReferenceGlyphIndex the index of the species reference glyph. + /// @param layoutIndex the index of the layout. + /// @param geometricShapeIndex an int representing the index of the Transformation2D to retrieve. + /// @return the "rx" attribute of the Transformation2D at the given index of the RenderGroup of the LineEnding object, or @c 0.0 if the object is @c NULL. + LIBSBMLNETWORK_EXTERN const double c_api_getSpeciesReferenceLineEndingGeometricShapeRadiusX(SBMLDocument* document, const char* reactionId, int reactionGlyphIndex = 0, int speciesReferenceGlyphIndex = 0, int layoutIndex = 0, int geometricShapeIndex = 0); + + /// @brief Sets the value of the "rx" attribute of the Transformation2D at the given index of the RenderGroup of the LineEnding object associated with the given species reference glyph of the given reaction glyph of the given layout of the SBML document. + /// @param document a pointer to the SBMLDocument object. + /// @param reactionId the id of the reaction. + /// @param rx a double value to be set as "rx" attribute of the Transformation2D at the given index of the RenderGroup of the LineEnding object. + /// @param reactionGlyphIndex the index of the reaction glyph. + /// @param speciesReferenceGlyphIndex the index of the species reference glyph. + /// @param layoutIndex the index of the layout. + /// @param geometricShapeIndex an int representing the index of the Transformation2D to retrieve. + /// @return integer value indicating success/failure of the function. + LIBSBMLNETWORK_EXTERN int c_api_setSpeciesReferenceLineEndingGeometricShapeRadiusX(SBMLDocument* document, const char* reactionId, const double rx, int reactionGlyphIndex = 0, int speciesReferenceGlyphIndex = 0, int layoutIndex = 0, int geometricShapeIndex = 0); + + /// @brief Sets the value of the "rx" attribute of the Transformation2D at the given index of the RenderGroup of the LineEnding object associated with the given reaction glyph of the given layout of the SBML document. + /// @param document a pointer to the SBMLDocument object. + /// @param reactionId the id of the reaction. + /// @param rx a double value to be set as "rx" attribute of the Transformation2D at the given index of the RenderGroup of the LineEnding object. + /// @param reactionGlyphIndex the index of the reaction glyph. + /// @param layoutIndex the index of the layout. + /// @param geometricShapeIndex an int representing the index of the Transformation2D to retrieve. + /// @return integer value indicating success/failure of the function. + LIBSBMLNETWORK_EXTERN int c_api_setReactionLineEndingGeometricShapeRadiusX(SBMLDocument* document, const char* reactionId, const double rx, int reactionGlyphIndex = 0, int layoutIndex = 0, int geometricShapeIndex = 0); + /// @brief Predicates returning @c true if the "ry" attribute of the Transformation2D at the given index of the RenderGroup of the LineEnding object of the RenderInformationBase object with the given index of the SBML document is set. /// @param document a pointer to the SBMLDocument object /// @param id the id of the LineEnding object @@ -2331,6 +3144,22 @@ namespace LIBSBMLNETWORK_CPP_NAMESPACE { /// @return integer value indicating success/failure of the function LIBSBMLNETWORK_EXTERN int c_api_setLineEndingGeometricShapeRadiusY(SBMLDocument* document, const char* id, const double ry, int geometricShapeIndex = 0, int renderIndex = 0); + /// @brief Predicates returning @c true if the "ry" attribute of the Transformation2D at the given index of the RenderGroup of the LineEnding object associated with the given species reference glyph of the given reaction glyph of the given layout of the SBML document is set. + /// @param document a pointer to the SBMLDocument object + /// @param reactionId the id of the reaction + /// @param reactionGlyphIndex the index of the reaction glyph + /// @param speciesReferenceGlyphIndex the index of the species reference glyph + /// @param layoutIndex the index of the layout + /// @param geometricShapeIndex an int representing the index of the Transformation2D to retrieve + /// @return @c true if the "ry" attribute of the Transformation2D at the given index of the RenderGroup of the LineEnding object is set, @c false if either the "ry" attribute is not set or the object is @c NULL + LIBSBMLNETWORK_EXTERN bool c_api_isSetSpeciesReferenceLineEndingGeometricShapeRadiusY(SBMLDocument* document, const char* reactionId, int reactionGlyphIndex = 0, int speciesReferenceGlyphIndex = 0, int layoutIndex = 0, int geometricShapeIndex = 0); + + LIBSBMLNETWORK_EXTERN const double c_api_getSpeciesReferenceLineEndingGeometricShapeRadiusY(SBMLDocument* document, const char* reactionId, int reactionGlyphIndex = 0, int speciesReferenceGlyphIndex = 0, int layoutIndex = 0, int geometricShapeIndex = 0); + + LIBSBMLNETWORK_EXTERN int c_api_setSpeciesReferenceLineEndingGeometricShapeRadiusY(SBMLDocument* document, const char* reactionId, const double ry, int reactionGlyphIndex = 0, int speciesReferenceGlyphIndex = 0, int layoutIndex = 0, int geometricShapeIndex = 0); + + LIBSBMLNETWORK_EXTERN int c_api_setReactionLineEndingGeometricShapeRadiusY(SBMLDocument* document, const char* reactionId, const double ry, int reactionGlyphIndex = 0, int layoutIndex = 0, int geometricShapeIndex = 0); + /// @brief Returns the number of elements of the RenderGroup of the LineEnding object of the RenderInformationBase object with the given index of the SBML document. /// @param document a pointer to the SBMLDocument object. /// @param id the id of the LineEnding object. @@ -2339,8 +3168,12 @@ namespace LIBSBMLNETWORK_CPP_NAMESPACE { /// @return the number of elements of the RenderGroup of the LineEnding object, or @c 0 if the object is @c NULL LIBSBMLNETWORK_EXTERN int c_api_getLineEndingGeometricShapeNumSegments(SBMLDocument* document, const char* id, int geometricShapeIndex = 0, int renderIndex = 0); + LIBSBMLNETWORK_EXTERN int c_api_getSpeciesReferenceLineEndingGeometricShapeNumSegments(SBMLDocument* document, const char* reactionId, int reactionGlyphIndex = 0, int speciesReferenceGlyphIndex = 0, int layoutIndex = 0, int geometricShapeIndex = 0); + /// @brief Predicates returning @c true if the "type" attribute of the Transformation2D at the given index of the RenderGroup of the LineEnding object of the RenderInformationBase object with the given index of the SBML document is set to "cubicBezier". - LIBSBMLNETWORK_EXTERN bool c_api_isLineEndingGeometricShapeSegmentCubicBezier(SBMLDocument* document, const char* id, int segmentIndex, int geometricShapeIndex = 0, int renderIndex = 0); + LIBSBMLNETWORK_EXTERN bool c_api_isLineEndingGeometricShapeSegmentCubicBezier(SBMLDocument* document, const char* id, int segmentIndex = 0, int geometricShapeIndex = 0, int renderIndex = 0); + + LIBSBMLNETWORK_EXTERN bool c_api_isSpeciesReferenceLineEndingGeometricShapeSegmentCubicBezier(SBMLDocument* document, const char* reactionId, int reactionGlyphIndex = 0, int speciesReferenceGlyphIndex = 0, int layoutIndex = 0, int segmentIndex = 0, int geometricShapeIndex = 0); /// @brief Returns the value of the "x" attribute of element at the given index of the Transformation2D at the given index of the RenderGroup of the LineEnding object of the RenderInformationBase object with the given index of the SBML document. /// @param document a pointer to the SBMLDocument object. @@ -2349,7 +3182,7 @@ namespace LIBSBMLNETWORK_CPP_NAMESPACE { /// @param geometricShapeIndex an int representing the index of the Transformation2D to retrieve. /// @param renderIndex the index number of the RenderInformationBase object. /// @return the "x" attribute of the Transformation2D at the given index of the RenderGroup of the LineEnding object, or @c 0.0 if the object is @c NULL - LIBSBMLNETWORK_EXTERN const double c_api_getLineEndingGeometricShapeSegmentX(SBMLDocument* document, const char* id, int segmentIndex, int geometricShapeIndex = 0, int renderIndex = 0); + LIBSBMLNETWORK_EXTERN const double c_api_getLineEndingGeometricShapeSegmentX(SBMLDocument* document, const char* id, int segmentIndex = 0, int geometricShapeIndex = 0, int renderIndex = 0); /// @brief Sets the value of the "x" attribute of element at the given index of the Transformation2D at the given index of the RenderGroup of the LineEnding object of the RenderInformationBase object with the given index of the SBML document. /// @param document a pointer to the SBMLDocument object. @@ -2359,7 +3192,13 @@ namespace LIBSBMLNETWORK_CPP_NAMESPACE { /// @param geometricShapeIndex an int representing the index of the Transformation2D to retrieve. /// @param renderIndex the index number of the RenderInformationBase object. /// @return integer value indicating success/failure of the function. - LIBSBMLNETWORK_EXTERN int c_api_setLineEndingGeometricShapeSegmentX(SBMLDocument* document, const char* id, const double x, int segmentIndex, int geometricShapeIndex = 0, int renderIndex = 0); + LIBSBMLNETWORK_EXTERN int c_api_setLineEndingGeometricShapeSegmentX(SBMLDocument* document, const char* id, const double x, int segmentIndex = 0, int geometricShapeIndex = 0, int renderIndex = 0); + + LIBSBMLNETWORK_EXTERN const double c_api_getSpeciesReferenceLineEndingGeometricShapeSegmentX(SBMLDocument* document, const char* reactionId, int reactionGlyphIndex = 0, int speciesReferenceGlyphIndex = 0, int layoutIndex = 0, int segmentIndex = 0, int geometricShapeIndex = 0); + + LIBSBMLNETWORK_EXTERN int c_api_setSpeciesReferenceLineEndingGeometricShapeSegmentX(SBMLDocument* document, const char* reactionId, const double x, int reactionGlyphIndex = 0, int speciesReferenceGlyphIndex = 0, int layoutIndex = 0, int segmentIndex = 0, int geometricShapeIndex = 0); + + LIBSBMLNETWORK_EXTERN int c_api_setReactionLineEndingGeometricShapeSegmentX(SBMLDocument* document, const char* reactionId, const double x, int reactionGlyphIndex = 0, int layoutIndex = 0, int segmentIndex = 0, int geometricShapeIndex = 0); /// @brief Returns the value of the "y" attribute of element at the given index of the Transformation2D at the given index of the RenderGroup of the LineEnding object of the RenderInformationBase object with the given index of the SBML document. /// @param document a pointer to the SBMLDocument object. @@ -2368,7 +3207,7 @@ namespace LIBSBMLNETWORK_CPP_NAMESPACE { /// @param geometricShapeIndex an int representing the index of the Transformation2D to retrieve. /// @param renderIndex the index number of the RenderInformationBase object. /// @return the "y" attribute of the Transformation2D at the given index of the RenderGroup of the LineEnding object, or @c 0.0 if the object is @c NULL - LIBSBMLNETWORK_EXTERN const double c_api_getLineEndingGeometricShapeSegmentY(SBMLDocument* document, const char* id, int segmentIndex, int geometricShapeIndex = 0, int renderIndex = 0); + LIBSBMLNETWORK_EXTERN const double c_api_getLineEndingGeometricShapeSegmentY(SBMLDocument* document, const char* id, int segmentIndex = 0, int geometricShapeIndex = 0, int renderIndex = 0); /// @brief Sets the value of the "y" attribute of element at the given index of the Transformation2D at the given index of the RenderGroup of the LineEnding object of the RenderInformationBase object with the given index of the SBML document. /// @param document a pointer to the SBMLDocument object. @@ -2378,7 +3217,13 @@ namespace LIBSBMLNETWORK_CPP_NAMESPACE { /// @param geometricShapeIndex an int representing the index of the Transformation2D to retrieve. /// @param renderIndex the index number of the RenderInformationBase object. /// @return integer value indicating success/failure of the function. - LIBSBMLNETWORK_EXTERN int c_api_setLineEndingGeometricShapeSegmentY(SBMLDocument* document, const char* id, const double y, int segmentIndex, int geometricShapeIndex = 0, int renderIndex = 0); + LIBSBMLNETWORK_EXTERN int c_api_setLineEndingGeometricShapeSegmentY(SBMLDocument* document, const char* id, const double y, int segmentIndex = 0, int geometricShapeIndex = 0, int renderIndex = 0); + + LIBSBMLNETWORK_EXTERN const double c_api_getSpeciesReferenceLineEndingGeometricShapeSegmentY(SBMLDocument* document, const char* reactionId, int reactionGlyphIndex = 0, int speciesReferenceGlyphIndex = 0, int layoutIndex = 0, int segmentIndex = 0, int geometricShapeIndex = 0); + + LIBSBMLNETWORK_EXTERN int c_api_setSpeciesReferenceLineEndingGeometricShapeSegmentY(SBMLDocument* document, const char* reactionId, const double y, int reactionGlyphIndex = 0, int speciesReferenceGlyphIndex = 0, int layoutIndex = 0, int segmentIndex = 0, int geometricShapeIndex = 0); + + LIBSBMLNETWORK_EXTERN int c_api_setReactionLineEndingGeometricShapeSegmentY(SBMLDocument* document, const char* reactionId, const double y, int reactionGlyphIndex = 0, int layoutIndex = 0, int segmentIndex = 0, int geometricShapeIndex = 0); /// @brief Returns the value of the "x" attribute of the base point 1 of element at the given index of the Transformation2D at the given index of the RenderGroup of the LineEnding object of the RenderInformationBase object with the given index of the SBML document. /// @param document a pointer to the SBMLDocument object. @@ -2387,7 +3232,7 @@ namespace LIBSBMLNETWORK_CPP_NAMESPACE { /// @param geometricShapeIndex an int representing the index of the Transformation2D to retrieve. /// @param renderIndex the index number of the RenderInformationBase object. /// @return the "x" attribute of the base point 1 of the Transformation2D at the given index of the RenderGroup of the LineEnding object, or @c 0.0 if the object is @c NULL - LIBSBMLNETWORK_EXTERN const double c_api_getLineEndingGeometricShapeBasePoint1X(SBMLDocument* document, const char* id, int segmentIndex, int geometricShapeIndex = 0, int renderIndex = 0); + LIBSBMLNETWORK_EXTERN const double c_api_getLineEndingGeometricShapeBasePoint1X(SBMLDocument* document, const char* id, int segmentIndex = 0, int geometricShapeIndex = 0, int renderIndex = 0); /// @brief Sets the value of the "x" attribute of the base point 1 of element at the given index of the Transformation2D at the given index of the RenderGroup of the LineEnding object of the RenderInformationBase object with the given index of the SBML document. /// @param document a pointer to the SBMLDocument object. @@ -2397,7 +3242,13 @@ namespace LIBSBMLNETWORK_CPP_NAMESPACE { /// @param geometricShapeIndex an int representing the index of the Transformation2D to retrieve. /// @param renderIndex the index number of the RenderInformationBase object. /// @return integer value indicating success/failure of the function. - LIBSBMLNETWORK_EXTERN int c_api_setLineEndingGeometricShapeBasePoint1X(SBMLDocument* document, const char* id, const double x, int segmentIndex, int geometricShapeIndex = 0, int renderIndex = 0); + LIBSBMLNETWORK_EXTERN int c_api_setLineEndingGeometricShapeBasePoint1X(SBMLDocument* document, const char* id, const double x, int segmentIndex = 0, int geometricShapeIndex = 0, int renderIndex = 0); + + LIBSBMLNETWORK_EXTERN const double c_api_getSpeciesReferenceLineEndingGeometricShapeBasePoint1X(SBMLDocument* document, const char* reactionId, int reactionGlyphIndex = 0, int speciesReferenceGlyphIndex = 0, int layoutIndex = 0, int segmentIndex = 0, int geometricShapeIndex = 0); + + LIBSBMLNETWORK_EXTERN int c_api_setSpeciesReferenceLineEndingGeometricShapeBasePoint1X(SBMLDocument* document, const char* reactionId, const double x, int reactionGlyphIndex = 0, int speciesReferenceGlyphIndex = 0, int layoutIndex = 0, int segmentIndex = 0, int geometricShapeIndex = 0); + + LIBSBMLNETWORK_EXTERN int c_api_setReactionLineEndingGeometricShapeBasePoint1X(SBMLDocument* document, const char* reactionId, const double x, int reactionGlyphIndex = 0, int layoutIndex = 0, int segmentIndex = 0, int geometricShapeIndex = 0); /// @brief Returns the value of the "y" attribute of the base point 1 of element at the given index of the Transformation2D at the given index of the RenderGroup of the LineEnding object of the RenderInformationBase object with the given index of the SBML document. /// @param document a pointer to the SBMLDocument object. @@ -2406,7 +3257,7 @@ namespace LIBSBMLNETWORK_CPP_NAMESPACE { /// @param geometricShapeIndex an int representing the index of the Transformation2D to retrieve. /// @param renderIndex the index number of the RenderInformationBase object. /// @return the "y" attribute of the base point 1 of the Transformation2D at the given index of the RenderGroup of the LineEnding object, or @c 0.0 if the object is @c NULL - LIBSBMLNETWORK_EXTERN const double c_api_getLineEndingGeometricShapeBasePoint1Y(SBMLDocument* document, const char* id, int segmentIndex, int geometricShapeIndex = 0, int renderIndex = 0); + LIBSBMLNETWORK_EXTERN const double c_api_getLineEndingGeometricShapeBasePoint1Y(SBMLDocument* document, const char* id, int segmentIndex = 0, int geometricShapeIndex = 0, int renderIndex = 0); /// @brief Sets the value of the "y" attribute of the base point 1 of element at the given index of the Transformation2D at the given index of the RenderGroup of the LineEnding object of the RenderInformationBase object with the given index of the SBML document. /// @param document a pointer to the SBMLDocument object. @@ -2416,7 +3267,13 @@ namespace LIBSBMLNETWORK_CPP_NAMESPACE { /// @param geometricShapeIndex an int representing the index of the Transformation2D to retrieve. /// @param renderIndex the index number of the RenderInformationBase object. /// @return integer value indicating success/failure of the function. - LIBSBMLNETWORK_EXTERN int c_api_setLineEndingGeometricShapeBasePoint1Y(SBMLDocument* document, const char* id, const double y, int segmentIndex, int geometricShapeIndex = 0, int renderIndex = 0); + LIBSBMLNETWORK_EXTERN int c_api_setLineEndingGeometricShapeBasePoint1Y(SBMLDocument* document, const char* id, const double y, int segmentIndex = 0, int geometricShapeIndex = 0, int renderIndex = 0); + + LIBSBMLNETWORK_EXTERN const double c_api_getSpeciesReferenceLineEndingGeometricShapeBasePoint1Y(SBMLDocument* document, const char* reactionId, int reactionGlyphIndex = 0, int speciesReferenceGlyphIndex = 0, int layoutIndex = 0, int segmentIndex = 0, int geometricShapeIndex = 0); + + LIBSBMLNETWORK_EXTERN int c_api_setSpeciesReferenceLineEndingGeometricShapeBasePoint1Y(SBMLDocument* document, const char* reactionId, const double y, int reactionGlyphIndex = 0, int speciesReferenceGlyphIndex = 0, int layoutIndex = 0, int segmentIndex = 0, int geometricShapeIndex = 0); + + LIBSBMLNETWORK_EXTERN int c_api_setReactionLineEndingGeometricShapeBasePoint1Y(SBMLDocument* document, const char* reactionId, const double y, int reactionGlyphIndex = 0, int layoutIndex = 0, int segmentIndex = 0, int geometricShapeIndex = 0); /// @brief Returns the value of the "x" attribute of the base point 2 of element at the given index of the Transformation2D at the given index of the RenderGroup of the LineEnding object of the RenderInformationBase object with the given index of the SBML document. /// @param document a pointer to the SBMLDocument object. @@ -2425,7 +3282,7 @@ namespace LIBSBMLNETWORK_CPP_NAMESPACE { /// @param geometricShapeIndex an int representing the index of the Transformation2D to retrieve. /// @param renderIndex the index number of the RenderInformationBase object. /// @return the "x" attribute of the base point 2 of the Transformation2D at the given index of the RenderGroup of the LineEnding object, or @c 0.0 if the object is @c NULL - LIBSBMLNETWORK_EXTERN const double c_api_getLineEndingGeometricShapeBasePoint2X(SBMLDocument* document, const char* id, int segmentIndex, int geometricShapeIndex = 0, int renderIndex = 0); + LIBSBMLNETWORK_EXTERN const double c_api_getLineEndingGeometricShapeBasePoint2X(SBMLDocument* document, const char* id, int segmentIndex = 0, int geometricShapeIndex = 0, int renderIndex = 0); /// @brief Sets the value of the "x" attribute of the base point 2 of element at the given index of the Transformation2D at the given index of the RenderGroup of the LineEnding object of the RenderInformationBase object with the given index of the SBML document. /// @param document a pointer to the SBMLDocument object. @@ -2435,7 +3292,13 @@ namespace LIBSBMLNETWORK_CPP_NAMESPACE { /// @param geometricShapeIndex an int representing the index of the Transformation2D to retrieve. /// @param renderIndex the index number of the RenderInformationBase object. /// @return integer value indicating success/failure of the function. - LIBSBMLNETWORK_EXTERN int c_api_setLineEndingGeometricShapeBasePoint2X(SBMLDocument* document, const char* id, const double x, int segmentIndex, int geometricShapeIndex = 0, int renderIndex = 0); + LIBSBMLNETWORK_EXTERN int c_api_setLineEndingGeometricShapeBasePoint2X(SBMLDocument* document, const char* id, const double x, int segmentIndex = 0, int geometricShapeIndex = 0, int renderIndex = 0); + + LIBSBMLNETWORK_EXTERN const double c_api_getSpeciesReferenceLineEndingGeometricShapeBasePoint2X(SBMLDocument* document, const char* reactionId, int reactionGlyphIndex = 0, int speciesReferenceGlyphIndex = 0, int layoutIndex = 0, int segmentIndex = 0, int geometricShapeIndex = 0); + + LIBSBMLNETWORK_EXTERN int c_api_setSpeciesReferenceLineEndingGeometricShapeBasePoint2X(SBMLDocument* document, const char* reactionId, const double x, int reactionGlyphIndex = 0, int speciesReferenceGlyphIndex = 0, int layoutIndex = 0, int segmentIndex = 0, int geometricShapeIndex = 0); + + LIBSBMLNETWORK_EXTERN int c_api_setReactionLineEndingGeometricShapeBasePoint2X(SBMLDocument* document, const char* reactionId, const double x, int reactionGlyphIndex = 0, int layoutIndex = 0, int segmentIndex = 0, int geometricShapeIndex = 0); /// @brief Returns the value of the "y" attribute of the base point 2 of element at the given index of the Transformation2D at the given index of the RenderGroup of the LineEnding object of the RenderInformationBase object with the given index of the SBML document. /// @param document a pointer to the SBMLDocument object. @@ -2444,7 +3307,7 @@ namespace LIBSBMLNETWORK_CPP_NAMESPACE { /// @param geometricShapeIndex an int representing the index of the Transformation2D to retrieve. /// @param renderIndex the index number of the RenderInformationBase object. /// @return the "y" attribute of the base point 2 of the Transformation2D at the given index of the RenderGroup of the LineEnding object, or @c 0.0 if the object is @c NULL - LIBSBMLNETWORK_EXTERN const double c_api_getLineEndingGeometricShapeBasePoint2Y(SBMLDocument* document, const char* id, int segmentIndex, int geometricShapeIndex = 0, int renderIndex = 0); + LIBSBMLNETWORK_EXTERN const double c_api_getLineEndingGeometricShapeBasePoint2Y(SBMLDocument* document, const char* id, int segmentIndex = 0, int geometricShapeIndex = 0, int renderIndex = 0); /// @brief Sets the value of the "y" attribute of the base point 2 of element at the given index of the Transformation2D at the given index of the RenderGroup of the LineEnding object of the RenderInformationBase object with the given index of the SBML document. /// @param document a pointer to the SBMLDocument object. @@ -2454,7 +3317,13 @@ namespace LIBSBMLNETWORK_CPP_NAMESPACE { /// @param geometricShapeIndex an int representing the index of the Transformation2D to retrieve. /// @param renderIndex the index number of the RenderInformationBase object. /// @return integer value indicating success/failure of the function. - LIBSBMLNETWORK_EXTERN int c_api_setLineEndingGeometricShapeBasePoint2Y(SBMLDocument* document, const char* id, const double y, int segmentIndex, int geometricShapeIndex = 0, int renderIndex = 0); + LIBSBMLNETWORK_EXTERN int c_api_setLineEndingGeometricShapeBasePoint2Y(SBMLDocument* document, const char* id, const double y, int segmentIndex = 0, int geometricShapeIndex = 0, int renderIndex = 0); + + LIBSBMLNETWORK_EXTERN const double c_api_getSpeciesReferenceLineEndingGeometricShapeBasePoint2Y(SBMLDocument* document, const char* reactionId, int reactionGlyphIndex = 0, int speciesReferenceGlyphIndex = 0, int layoutIndex = 0, int segmentIndex = 0, int geometricShapeIndex = 0); + + LIBSBMLNETWORK_EXTERN int c_api_setSpeciesReferenceLineEndingGeometricShapeBasePoint2Y(SBMLDocument* document, const char* reactionId, const double y, int reactionGlyphIndex = 0, int speciesReferenceGlyphIndex = 0, int layoutIndex = 0, int segmentIndex = 0, int geometricShapeIndex = 0); + + LIBSBMLNETWORK_EXTERN int c_api_setReactionLineEndingGeometricShapeBasePoint2Y(SBMLDocument* document, const char* reactionId, const double y, int reactionGlyphIndex = 0, int layoutIndex = 0, int segmentIndex = 0, int geometricShapeIndex = 0); /// @brief Predicates returning @c true if the "href" attribute of the Transformation2D at the given index of the RenderGroup of the LineEnding object of the RenderInformationBase object with the given index of the SBML document. /// @param document a pointer to the SBMLDocument object. @@ -2482,6 +3351,14 @@ namespace LIBSBMLNETWORK_CPP_NAMESPACE { /// @return integer value indicating success/failure of the function. LIBSBMLNETWORK_EXTERN int c_api_setLineEndingGeometricShapeHref(SBMLDocument* document, const char* id, const char* href, int geometricShapeIndex = 0, int renderIndex = 0); + LIBSBMLNETWORK_EXTERN bool c_api_isSetSpeciesReferenceLineEndingGeometricShapeHref(SBMLDocument* document, const char* reactionId, int reactionGlyphIndex = 0, int speciesReferenceGlyphIndex = 0, int layoutIndex = 0, int geometricShapeIndex = 0); + + LIBSBMLNETWORK_EXTERN const char* c_api_getSpeciesReferenceLineEndingGeometricShapeHref(SBMLDocument* document, const char* reactionId, int reactionGlyphIndex = 0, int speciesReferenceGlyphIndex = 0, int layoutIndex = 0, int geometricShapeIndex = 0); + + LIBSBMLNETWORK_EXTERN int c_api_setSpeciesReferenceLineEndingGeometricShapeHref(SBMLDocument* document, const char* reactionId, const char* href, int reactionGlyphIndex = 0, int speciesReferenceGlyphIndex = 0, int layoutIndex = 0, int geometricShapeIndex = 0); + + LIBSBMLNETWORK_EXTERN int c_api_setReactionLineEndingGeometricShapeHref(SBMLDocument* document, const char* reactionId, const char* href, int reactionGlyphIndex = 0, int layoutIndex = 0, int geometricShapeIndex = 0); + /// @brief Predicates returning @c true if the "stroke" attribute of the RenderGroup of the Style that matches this id of model entity associated with GraphicalObject is set. /// @param document a pointer to the SBMLDocument object. /// @param id the id of a model entity. @@ -2700,6 +3577,8 @@ namespace LIBSBMLNETWORK_CPP_NAMESPACE { /// attribute is not set or the object is @c NULL . LIBSBMLNETWORK_EXTERN bool c_api_isSetFillColor(SBMLDocument* document, const char* id, int graphicalObjectIndex = 0, int layoutIndex = 0); + LIBSBMLNETWORK_EXTERN int c_api_setFillColorAsGradient(SBMLDocument* document, const char* id, const char* gradientType = "linear", const char** stopColors = NULL, const double* stopOffsets = NULL, const int stopsSize = 0, int graphicalObjectIndex = 0, int layoutIndex = 0); + /// @brief Returns the value of the "fill" attribute of the RenderGroup of the Style that matches this id of model entity associated with the GraphicalObject. /// @param document a pointer to the SBMLDocument object. /// @param id the id of a model entity. @@ -2726,6 +3605,8 @@ namespace LIBSBMLNETWORK_CPP_NAMESPACE { /// @return integer value indicating success/failure of the function. LIBSBMLNETWORK_EXTERN int c_api_setCompartmentsFillColor(SBMLDocument* document, const char* fillColor, int layoutIndex = 0); + LIBSBMLNETWORK_EXTERN int c_api_setCompartmentsFillColorAsGradient(SBMLDocument* document, const char* gradientType = "linear", const char** stopColors = NULL, const double* stopOffsets = NULL, const int stopsSize = 0, int layoutIndex = 0); + LIBSBMLNETWORK_EXTERN const char* c_api_getSpeciesFillColor(SBMLDocument* document); /// @brief Sets the value of the "fill" attribute of the RenderGroup of the Style of all SpeciesGlyph object in this Layout object. @@ -2735,6 +3616,8 @@ namespace LIBSBMLNETWORK_CPP_NAMESPACE { /// @return integer value indicating success/failure of the function. LIBSBMLNETWORK_EXTERN int c_api_setSpeciesFillColor(SBMLDocument* document, const char* fillColor, int layoutIndex = 0); + LIBSBMLNETWORK_EXTERN int c_api_setSpeciesFillColorAsGradient(SBMLDocument* document, const char* gradientType = "linear", const char** stopColors = NULL, const double* stopOffsets = NULL, const int stopsSize = 0, int layoutIndex = 0); + LIBSBMLNETWORK_EXTERN const char* c_api_getReactionsFillColor(SBMLDocument* document); /// @brief Sets the value of the "fill" attribute of the RenderGroup of the Style of all ReactionGlyph object in this Layout object. @@ -2744,6 +3627,8 @@ namespace LIBSBMLNETWORK_CPP_NAMESPACE { /// @return integer value indicating success/failure of the function. LIBSBMLNETWORK_EXTERN int c_api_setReactionsFillColor(SBMLDocument* document, const char* fillColor, int layoutIndex = 0); + LIBSBMLNETWORK_EXTERN int c_api_setReactionsFillColorAsGradient(SBMLDocument* document, const char* gradientType = "linear", const char** stopColors = NULL, const double* stopOffsets = NULL, const int stopsSize = 0, int layoutIndex = 0); + /// @brief Sets the value of the "fill" attribute of the RenderGroup of all LineEndings objects in this Layout object. /// @param document a pointer to the SBMLDocument object. /// @param fillColor a string value to use as the value of the "fill" attribute of the RenderGroup of the Style for these GraphicalObject objects. @@ -2751,6 +3636,8 @@ namespace LIBSBMLNETWORK_CPP_NAMESPACE { /// @return integer value indicating success/failure of the function. LIBSBMLNETWORK_EXTERN int c_api_setLineEndingsFillColor(SBMLDocument* document, const char* fillColor, int layoutIndex); + LIBSBMLNETWORK_EXTERN int c_api_setLineEndingsFillColorAsGradient(SBMLDocument* document, const char* gradientType = "linear", const char** stopColors = NULL, const double* stopOffsets = NULL, const int stopsSize = 0, int layoutIndex = 0); + /// @brief Sets the value of the "fill" attribute of the RenderGroup of the Style of all GraphicalObjects objects in this Layout object. /// @param document a pointer to the SBMLDocument object. /// @param fillColor a string value to use as the value of the "fill" attribute of the RenderGroup of the Style for these GraphicalObject objects. @@ -2758,6 +3645,16 @@ namespace LIBSBMLNETWORK_CPP_NAMESPACE { /// @return integer value indicating success/failure of the function. LIBSBMLNETWORK_EXTERN int c_api_setFillColors(SBMLDocument* document, const char* fillColor, int layoutIndex = 0); + /// @brief Sets the value of the "fill" attribute of the RenderGroup of the Style of all GraphicalObjects objects in this Layout object as a gradient. + /// @param document a pointer to the SBMLDocument object. + /// @param gradientType a string value representing the type of gradient (e.g., "linear"). + /// @param stopColors an array of string values representing the colors at each stop of the gradient. + /// @param stopOffsets an array of double values representing the offset at each stop of the gradient. + /// @param stopsSize an int representing the number of stops in the gradient. + /// @param layoutIndex the index number of the Layout to return. + /// @return integer value indicating success/failure of the function. + LIBSBMLNETWORK_EXTERN int c_api_setFillColorsAsGradient(SBMLDocument* document, const char* gradientType = "linear", const char** stopColors = NULL, const double* stopOffsets = NULL, const int stopsSize = 0, int layoutIndex = 0); + /// @brief Predicates returning @c true if the "fill-rule" attribute of the RenderGroup of the Style that matches this id of model entity associated with the GraphicalObject. /// @param document a pointer to the SBMLDocument object. /// @param id the id of a model entity. @@ -2784,6 +3681,9 @@ namespace LIBSBMLNETWORK_CPP_NAMESPACE { /// @return integer value indicating success/failure of the function. LIBSBMLNETWORK_EXTERN int c_api_setFillRule(SBMLDocument* document, const char* id, const char* fillRule, int graphicalObjectIndex = 0, int layoutIndex = 0); + /// @brief Returns the default value of the "fill-rule" attribute of the RenderGroup of the Global Style of CompartmentGlyph objects in this Layout object. + /// @param document a pointer to the SBMLDocument object. + /// @return the "fill-rule" attribute of the RenderGroup of the Style for the global CompartmentGlyph objects, or @c "" if the object is @c NULL LIBSBMLNETWORK_EXTERN const char* c_api_getCompartmentsFillRule(SBMLDocument* document); /// @brief Sets the value of the "fill-rule" attribute of the RenderGroup of the Style of all CompartmentGlyph objects in this Layout object. @@ -2793,6 +3693,9 @@ namespace LIBSBMLNETWORK_CPP_NAMESPACE { /// @return integer value indicating success/failure of the function. LIBSBMLNETWORK_EXTERN int c_api_setCompartmentsFillRule(SBMLDocument* document, const char* fillRule, int layoutIndex = 0); + /// @brief Returns the value of the "fill-rule" attribute of the RenderGroup of the Style of all SpeciesGlyph objects in this Layout object. + /// @param document a pointer to the SBMLDocument object. + /// @return the "fill-rule" attribute of the RenderGroup of the Style for all SpeciesGlyph objects, or @c "" if the object is @c NULL LIBSBMLNETWORK_EXTERN const char* c_api_getSpeciesFillRule(SBMLDocument* document); /// @brief Sets the value of the "fill-rule" attribute of the RenderGroup of the Style of all GraphicalObject objects in this Layout object. @@ -2802,8 +3705,16 @@ namespace LIBSBMLNETWORK_CPP_NAMESPACE { /// @return integer value indicating success/failure of the function. LIBSBMLNETWORK_EXTERN int c_api_setSpeciesFillRule(SBMLDocument* document, const char* fillRule, int layoutIndex = 0); + /// @brief Returns the value of the "fill-rule" attribute of the RenderGroup of the Style of all ReactionGlyph objects in this Layout object. + /// @param document a pointer to the SBMLDocument object. + /// @return the "fill-rule" attribute of the RenderGroup of the Style for all ReactionGlyph objects, or @c "" if the object is @c NULL LIBSBMLNETWORK_EXTERN const char* c_api_getReactionsFillRule(SBMLDocument* document); + /// @brief Sets the value of the "fill-rule" attribute of the RenderGroup of the Style of all ReactionGlyph objects in this Layout object. + /// @param document a pointer to the SBMLDocument object. + /// @param fillRule a string value to use as the value of the "fill-rule" attribute of the RenderGroup of the Style for these GraphicalObject objects. + /// @param layoutIndex the index number of the Layout to return. + /// @return integer value indicating success/failure of the function. LIBSBMLNETWORK_EXTERN int c_api_setReactionsFillRule(SBMLDocument* document, const char* fillRule, int layoutIndex = 0); /// @brief Sets the value of the "fill-rule" attribute of the RenderGroup of the Style of all SpeciesGlyph objects in this Layout object. @@ -2843,6 +3754,9 @@ namespace LIBSBMLNETWORK_CPP_NAMESPACE { /// @return integer value indicating success/failure of the function. LIBSBMLNETWORK_EXTERN int c_api_setFontColor(SBMLDocument* document, const char* id, const char* fontColor, int graphicalObjectIndex = 0, int textGlyphIndex = 0, int layoutIndex = 0); + /// @brief Returns the value of the "stroke" attribute of the RenderGroup of the Style of all CompartmentGlyph objects in this Layout object. + /// @param document a pointer to the SBMLDocument object. + /// @return the "stroke" attribute of the RenderGroup of the Style for all CompartmentGlyph objects, or @c "" if the object is @c NULL LIBSBMLNETWORK_EXTERN const char* c_api_getCompartmentsFontColor(SBMLDocument* document); /// @brief Sets the value of the "stroke" attribute of the RenderGroup of the Style of all CompartmentGlyph object in this Layout object. @@ -2852,6 +3766,9 @@ namespace LIBSBMLNETWORK_CPP_NAMESPACE { /// @return integer value indicating success/failure of the function. LIBSBMLNETWORK_EXTERN int c_api_setCompartmentsFontColor(SBMLDocument* document, const char* fontColor, int layoutIndex = 0); + /// @brief Returns the value of the "stroke" attribute of the RenderGroup of the Style of all SpeciesGlyph objects in this Layout object. + /// @param document a pointer to the SBMLDocument object. + /// @return the "stroke" attribute of the RenderGroup of the Style for all SpeciesGlyph objects, or @c "" if the object is @c NULL LIBSBMLNETWORK_EXTERN const char* c_api_getSpeciesFontColor(SBMLDocument* document); /// @brief Sets the value of the "stroke" attribute of the RenderGroup of the the Style of the TextGlyph objects associated with of all SpeciesGlyph objects in this Layout object. @@ -2861,6 +3778,9 @@ namespace LIBSBMLNETWORK_CPP_NAMESPACE { /// @return integer value indicating success/failure of the function. LIBSBMLNETWORK_EXTERN int c_api_setSpeciesFontColor(SBMLDocument* document, const char* fontColor, int layoutIndex = 0); + /// @brief Returns the value of the "stroke" attribute of the RenderGroup of the Style of all ReactionGlyph objects in this Layout object. + /// @param document a pointer to the SBMLDocument object. + /// @return the "stroke" attribute of the RenderGroup of the Style for all ReactionGlyph objects, or @c "" if the object is @c NULL LIBSBMLNETWORK_EXTERN const char* c_api_getReactionsFontColor(SBMLDocument* document); /// @brief Sets the value of the "stroke" attribute of the RenderGroup of the the Style of the TextGlyph objects associated with of all ReactionGlyph objects in this Layout object. @@ -2906,6 +3826,9 @@ namespace LIBSBMLNETWORK_CPP_NAMESPACE { /// @return integer value indicating success/failure of the function. LIBSBMLNETWORK_EXTERN int c_api_setFontFamily(SBMLDocument* document, const char* id, const char* fontFamily, int graphicalObjectIndex = 0, int textGlyphIndex = 0, int layoutIndex = 0); + /// @brief Returns the value of the "font-family" attribute of the RenderGroup of the Style of all CompartmentGlyph objects in this Layout object. + /// @param document a pointer to the SBMLDocument object. + /// @return the "font-family" attribute of the RenderGroup of the Style for all CompartmentGlyph objects, or @c "" if the object is @c NULL LIBSBMLNETWORK_EXTERN const char* c_api_getCompartmentsFontFamily(SBMLDocument* document); /// @brief Sets the value of the "font-family" attribute of the RenderGroup of the Style of all CompartmentGlyph object in this Layout object. @@ -2915,15 +3838,21 @@ namespace LIBSBMLNETWORK_CPP_NAMESPACE { /// @return integer value indicating success/failure of the function. LIBSBMLNETWORK_EXTERN int c_api_setCompartmentsFontFamily(SBMLDocument* document, const char* fontFamily, int layoutIndex = 0); + /// @brief Returns the value of the "font-family" attribute of the RenderGroup of the Style of all SpeciesGlyph objects in this Layout object. + /// @param document a pointer to the SBMLDocument object. + /// @return the "font-family" attribute of the RenderGroup of the Style for all SpeciesGlyph objects, or @c "" if the object is @c NULL LIBSBMLNETWORK_EXTERN const char* c_api_getSpeciesFontFamily(SBMLDocument* document); - /// @brief Sets the value of the "font-family" attribute of the RenderGroup of the the Style of the TextGlyph objects associated with of all SpeciesGlyph objects in this Layout object. + /// @brief Sets the value of the "font-family" attribute of the RenderGroup of the Style of the TextGlyph objects associated with all SpeciesGlyph objects in this Layout object. /// @param document a pointer to the SBMLDocument object. /// @param fontFamily a string value to use as the value of the "font-family" attribute of the RenderGroup of the Style for these GraphicalObject objects. /// @param layoutIndex the index number of the Layout to return. /// @return integer value indicating success/failure of the function. LIBSBMLNETWORK_EXTERN int c_api_setSpeciesFontFamily(SBMLDocument* document, const char* fontFamily, int layoutIndex = 0); + /// @brief Returns the value of the "font-family" attribute of the RenderGroup of the Style of all ReactionGlyph objects in this Layout object. + /// @param document a pointer to the SBMLDocument object. + /// @return the "font-family" attribute of the RenderGroup of the Style for all ReactionGlyph objects, or @c "" if the object is @c NULL LIBSBMLNETWORK_EXTERN const char* c_api_getReactionsFontFamily(SBMLDocument* document); /// @breif Sets the value of the "font-family" attribute of the RenderGroup of the Style of all ReactionGlyph object in this Layout object. @@ -2946,8 +3875,7 @@ namespace LIBSBMLNETWORK_CPP_NAMESPACE { /// @param graphicalObjectIndex the index of the GraphicalObject to return. /// @param textGlyphIndex the index of the TextGlyph to return. /// @param layoutIndex the index number of the Layout to return. - /// @return @c true if the "font-size" attribute of the RenderGroup of the Style for this GraphicalObject is set, @c false if either the "font-size" - /// attribute is not set + /// @return @c true if the "font-size" attribute of the RenderGroup of the Style for this GraphicalObject is set, @c false if either the "font-size" attribute is not set LIBSBMLNETWORK_EXTERN bool c_api_isSetFontSize(SBMLDocument* document, const char* id, int graphicalObjectIndex = 0, int textGlyphIndex = 0, int layoutIndex = 0); /// @brief Returns the value of the "font-size" attribute of the RenderGroup of the Style that matches this id of model entity associated with the GraphicalObject. @@ -2969,48 +3897,56 @@ namespace LIBSBMLNETWORK_CPP_NAMESPACE { /// @return integer value indicating success/failure of the function. LIBSBMLNETWORK_EXTERN int c_api_setFontSize(SBMLDocument* document, const char* id, const double fontSize, int graphicalObjectIndex = 0, int textGlyphIndex = 0, int layoutIndex = 0); + /// @brief Returns the value of the "font-size" attribute of the RenderGroup of the Style of all CompartmentGlyph objects in this Layout object. + /// @param document a pointer to the SBMLDocument object. + /// @return the "font-size" attribute of the RenderGroup of the Style for all CompartmentGlyph objects, or @c 0.0 if the object is @c NULL LIBSBMLNETWORK_EXTERN const double c_api_getCompartmentsFontSize(SBMLDocument* document); - /// @brief Sets the value of the "font-size" attribute of the RenderGroup of the Style of all CompartmentGlyph object in this Layout object. + /// @brief Sets the value of the "font-size" attribute of the RenderGroup of the Style of all CompartmentGlyph objects in this Layout object. /// @param document a pointer to the SBMLDocument object. /// @param fontSize a double value to use as the value of the "font-size" attribute of the RenderGroup of the Style for these GraphicalObject objects. /// @param layoutIndex the index number of the Layout to return. /// @return integer value indicating success/failure of the function. LIBSBMLNETWORK_EXTERN int c_api_setCompartmentsFontSize(SBMLDocument* document, const double fontSize, int layoutIndex = 0); + /// @brief Returns the value of the "font-size" attribute of the RenderGroup of the Style of all SpeciesGlyph objects in this Layout object. + /// @param document a pointer to the SBMLDocument object. + /// @return the "font-size" attribute of the RenderGroup of the Style for all SpeciesGlyph objects, or @c 0.0 if the object is @c NULL LIBSBMLNETWORK_EXTERN const double c_api_getSpeciesFontSize(SBMLDocument* document); - /// @brief Sets the value of the "font-size" attribute of the RenderGroup of the the Style of the TextGlyph objects associated with of all SpeciesGlyph objects in this Layout object. + /// @brief Sets the value of the "font-size" attribute of the RenderGroup of the Style of the TextGlyph objects associated with all SpeciesGlyph objects in this Layout object. /// @param document a pointer to the SBMLDocument object. /// @param fontSize a double value to use as the value of the "font-size" attribute of the RenderGroup of the Style for these GraphicalObject objects. /// @param layoutIndex the index number of the Layout to return. /// @return integer value indicating success/failure of the function. LIBSBMLNETWORK_EXTERN int c_api_setSpeciesFontSize(SBMLDocument* document, const double fontSize, int layoutIndex = 0); + /// @brief Returns the value of the "font-size" attribute of the RenderGroup of the Style of all ReactionGlyph objects in this Layout object. + /// @param document a pointer to the SBMLDocument object. + /// @return the "font-size" attribute of the RenderGroup of the Style for all ReactionGlyph objects, or @c 0.0 if the object is @c NULL LIBSBMLNETWORK_EXTERN const double c_api_getReactionsFontSize(SBMLDocument* document); - /// @brief Sets the value of the "font-size" attribute of the RenderGroup of the the Style of the TextGlyph objects associated with of all ReactionGlyph objects in this Layout object. + /// @brief Sets the value of the "font-size" attribute of the RenderGroup of the Style of the TextGlyph objects associated with all ReactionGlyph objects in this Layout object. /// @param document a pointer to the SBMLDocument object. /// @param fontSize a double value to use as the value of the "font-size" attribute of the RenderGroup of the Style for these GraphicalObject objects. /// @param layoutIndex the index number of the Layout to return. /// @return integer value indicating success/failure of the function. LIBSBMLNETWORK_EXTERN int c_api_setReactionsFontSize(SBMLDocument* document, const double fontSize, int layoutIndex = 0); - /// @brief Sets the value of the "font-size" attribute of the RenderGroup of the the Style of the TextGlyph objects associated with of all GraphicalObject objects in this Layout object. + /// @brief Sets the value of the "font-size" attribute of the RenderGroup of the Style of the TextGlyph objects associated with all GraphicalObject objects in this Layout object. /// @param document a pointer to the SBMLDocument object. /// @param fontSize a double value to use as the value of the "font-size" attribute of the RenderGroup of the Style for these GraphicalObject objects. /// @param layoutIndex the index number of the Layout to return. /// @return integer value indicating success/failure of the function. LIBSBMLNETWORK_EXTERN int c_api_setFontSizes(SBMLDocument* document, const double fontSize, int layoutIndex = 0); - /// @brief Predicates returning @c true if the "font-weight" attribute of the RenderGroup of the Style that matches this id of model entity associated with the GraphicalObject. + /// @brief Predicates returning @c true if the "font-weight" attribute of the RenderGroup of the Style that matches this id of model entity associated with the GraphicalObject is set. /// @param document a pointer to the SBMLDocument object. /// @param id the id of a model entity. /// @param graphicalObjectIndex the index of the GraphicalObject to return. /// @param textGlyphIndex the index of the TextGlyph to return. /// @param layoutIndex the index number of the Layout to return. - /// @return @c true if the "font-weight" attribute of the RenderGroup of the Style for this GraphicalObject is set, @c false if either the "font-weight" - /// attribute is not set + /// @return @c true if the "font-weight" attribute of the RenderGroup of the Style for this GraphicalObject is set, @c false if either the "font-weight" attribute is not set LIBSBMLNETWORK_EXTERN bool c_api_isSetFontWeight(SBMLDocument* document, const char* id, int graphicalObjectIndex = 0, int textGlyphIndex = 0, int layoutIndex = 0); /// @brief Returns the value of the "font-weight" attribute of the RenderGroup of the Style that matches this id of model entity associated with the GraphicalObject. @@ -3032,33 +3968,43 @@ namespace LIBSBMLNETWORK_CPP_NAMESPACE { /// @return integer value indicating success/failure of the function. LIBSBMLNETWORK_EXTERN int c_api_setFontWeight(SBMLDocument* document, const char* id, const char* fontWeight, int graphicalObjectIndex = 0, int textGlyphIndex = 0, int layoutIndex = 0); + /// @brief Returns the value of the "font-weight" attribute of the RenderGroup of the Style of all CompartmentGlyph objects in this Layout object. + /// @param document a pointer to the SBMLDocument object. + /// @return the "font-weight" attribute of the RenderGroup of the Style for all CompartmentGlyph objects, or @c "" if the object is @c NULL LIBSBMLNETWORK_EXTERN const char* c_api_getCompartmentsFontWeight(SBMLDocument* document); - /// @brief Sets the value of the "font-weight" attribute of the RenderGroup of the Style of all CompartmentGlyph object in this Layout object. + /// @brief Sets the value of the "font-weight" attribute of the RenderGroup of the Style of all CompartmentGlyph objects in this Layout object. /// @param document a pointer to the SBMLDocument object. /// @param fontWeight a string value to use as the value of the "font-weight" attribute of the RenderGroup of the Style for these GraphicalObject objects. /// @param layoutIndex the index number of the Layout to return. + /// @return integer value indicating success/failure of the function. LIBSBMLNETWORK_EXTERN int c_api_setCompartmentsFontWeight(SBMLDocument* document, const char* fontWeight, int layoutIndex = 0); + /// @brief Returns the value of the "font-weight" attribute of the RenderGroup of the Style of all SpeciesGlyph objects in this Layout object. + /// @param document a pointer to the SBMLDocument object. + /// @return the "font-weight" attribute of the RenderGroup of the Style for all SpeciesGlyph objects, or @c "" if the object is @c NULL LIBSBMLNETWORK_EXTERN const char* c_api_getSpeciesFontWeight(SBMLDocument* document); - /// @brief Sets the value of the "font-weight" attribute of the RenderGroup of the the Style of the TextGlyph objects associated with of all SpeciesGlyph object in this Layout object. + /// @brief Sets the value of the "font-weight" attribute of the RenderGroup of the Style of the TextGlyph objects associated with all SpeciesGlyph objects in this Layout object. /// @param document a pointer to the SBMLDocument object. /// @param fontWeight a string value to use as the value of the "font-weight" attribute of the RenderGroup of the Style for these GraphicalObject objects. /// @param layoutIndex the index number of the Layout to return. /// @return integer value indicating success/failure of the function. LIBSBMLNETWORK_EXTERN int c_api_setSpeciesFontWeight(SBMLDocument* document, const char* fontWeight, int layoutIndex = 0); + /// @brief Returns the value of the "font-weight" attribute of the RenderGroup of the Style of all ReactionGlyph objects in this Layout object. + /// @param document a pointer to the SBMLDocument object. + /// @return the "font-weight" attribute of the RenderGroup of the Style for all ReactionGlyph objects, or @c "" if the object is @c NULL LIBSBMLNETWORK_EXTERN const char* c_api_getReactionsFontWeight(SBMLDocument* document); - /// @brief Sets the value of the "font-weight" attribute of the RenderGroup of the the Style of the TextGlyph objects associated with of all ReactionGlyph object in this Layout object. + /// @brief Sets the value of the "font-weight" attribute of the RenderGroup of the Style of the TextGlyph objects associated with all ReactionGlyph objects in this Layout object. /// @param document a pointer to the SBMLDocument object. /// @param fontWeight a string value to use as the value of the "font-weight" attribute of the RenderGroup of the Style for these GraphicalObject objects. /// @param layoutIndex the index number of the Layout to return. /// @return integer value indicating success/failure of the function. LIBSBMLNETWORK_EXTERN int c_api_setReactionsFontWeight(SBMLDocument* document, const char* fontWeight, int layoutIndex = 0); - /// @brief Sets the value of the "font-weight" attribute of the RenderGroup of the the Style of the TextGlyph objects associated with of all GraphicalObject objects in this Layout object. + /// @brief Sets the value of the "font-weight" attribute of the RenderGroup of the Style of the TextGlyph objects associated with all GraphicalObject objects in this Layout object. /// @param document a pointer to the SBMLDocument object. /// @param fontWeight a string value to use as the value of the "font-weight" attribute of the RenderGroup of the Style for these GraphicalObject objects. /// @param layoutIndex the index number of the Layout to return. @@ -3094,24 +4040,33 @@ namespace LIBSBMLNETWORK_CPP_NAMESPACE { /// @return integer value indicating success/failure of the function. LIBSBMLNETWORK_EXTERN int c_api_setFontStyle(SBMLDocument* document, const char* id, const char* fontStyle, int graphicalObjectIndex = 0, int textGlyphIndex = 0, int layoutIndex = 0); + /// @brief Returns the value of the "font-style" attribute of the RenderGroup of the Style of all CompartmentGlyph objects in this Layout object. + /// @param document a pointer to the SBMLDocument object. + /// @return the "font-style" attribute of the RenderGroup of the Style for all CompartmentGlyph objects, or @c "" if the object is @c NULL LIBSBMLNETWORK_EXTERN const char* c_api_getCompartmentsFontStyle(SBMLDocument* document); - /// @brief Sets the value of the "font-style" attribute of the RenderGroup of the Style of all CompartmentGlyph object in this Layout object. + /// @brief Sets the value of the "font-style" attribute of the RenderGroup of the Style of all CompartmentGlyph objects in this Layout object. /// @param document a pointer to the SBMLDocument object. /// @param fontStyle a string value to use as the value of the "font-style" attribute of the RenderGroup of the Style for these GraphicalObject objects. /// @param layoutIndex the index number of the Layout to return. /// @return integer value indicating success/failure of the function. LIBSBMLNETWORK_EXTERN int c_api_setCompartmentsFontStyle(SBMLDocument* document, const char* fontStyle, int layoutIndex = 0); + /// @brief Returns the value of the "font-style" attribute of the RenderGroup of the Style of all SpeciesGlyph objects in this Layout object. + /// @param document a pointer to the SBMLDocument object. + /// @return the "font-style" attribute of the RenderGroup of the Style for all SpeciesGlyph objects, or @c "" if the object is @c NULL LIBSBMLNETWORK_EXTERN const char* c_api_getSpeciesFontStyle(SBMLDocument* document); - /// @brief Sets the value of the "font-style" attribute of the RenderGroup of the the Style of the TextGlyph objects associated with of all SpeciesGlyph object in this Layout object. + /// @brief Sets the value of the "font-style" attribute of the RenderGroup of the Style of the TextGlyph objects associated with all SpeciesGlyph objects in this Layout object. /// @param document a pointer to the SBMLDocument object. /// @param fontStyle a string value to use as the value of the "font-style" attribute of the RenderGroup of the Style for these GraphicalObject objects. /// @param layoutIndex the index number of the Layout to return. /// @return integer value indicating success/failure of the function. LIBSBMLNETWORK_EXTERN int c_api_setSpeciesFontStyle(SBMLDocument* document, const char* fontStyle, int layoutIndex = 0); + /// @brief Returns the value of the "font-style" attribute of the RenderGroup of the Style of all ReactionGlyph objects in this Layout object. + /// @param document a pointer to the SBMLDocument object. + /// @return the "font-style" attribute of the RenderGroup of the Style for all ReactionGlyph objects, or @c "" if the object is @c NULL LIBSBMLNETWORK_EXTERN const char* c_api_getReactionsFontStyle(SBMLDocument* document); /// @brief Sets the value of the "font-style" attribute of the RenderGroup of the the Style of the TextGlyph objects associated with of all ReactionGlyph object in this Layout object. @@ -3157,24 +4112,33 @@ namespace LIBSBMLNETWORK_CPP_NAMESPACE { /// @return integer value indicating success/failure of the function. LIBSBMLNETWORK_EXTERN int c_api_setTextHorizontalAlignment(SBMLDocument* document, const char* id, const char* textHorizontalAlignment, int graphicalObjectIndex = 0, int textGlyphIndex = 0, int layoutIndex = 0); + /// @brief Returns the value of the "text-anchor" attribute of the RenderGroup of the Style of all CompartmentGlyph objects in this Layout object. + /// @param document a pointer to the SBMLDocument object. + /// @return the "text-anchor" attribute of the RenderGroup of the Style for all CompartmentGlyph objects, or @c "" if the object is @c NULL LIBSBMLNETWORK_EXTERN const char* c_api_getCompartmentsTextHorizontalAlignment(SBMLDocument* document); - /// @brief Sets the value of the "text-anchor" attribute of the RenderGroup of the Style of all CompartmentGlyph object in this Layout object. + /// @brief Sets the value of the "text-anchor" attribute of the RenderGroup of the Style of all CompartmentGlyph objects in this Layout object. /// @param document a pointer to the SBMLDocument object. /// @param textHorizontalAlignment a string value to use as the value of the "text-anchor" attribute of the RenderGroup of the Style for these GraphicalObject objects. /// @param layoutIndex the index number of the Layout to return. /// @return integer value indicating success/failure of the function. LIBSBMLNETWORK_EXTERN int c_api_setCompartmentsTextHorizontalAlignment(SBMLDocument* document, const char* textHorizontalAlignment, int layoutIndex = 0); + /// @brief Returns the value of the "text-anchor" attribute of the RenderGroup of the Style of all SpeciesGlyph objects in this Layout object. + /// @param document a pointer to the SBMLDocument object. + /// @return the "text-anchor" attribute of the RenderGroup of the Style for all SpeciesGlyph objects, or @c "" if the object is @c NULL LIBSBMLNETWORK_EXTERN const char* c_api_getSpeciesTextHorizontalAlignment(SBMLDocument* document); - /// @brief Sets the value of the "text-anchor" attribute of the RenderGroup of the the Style of the TextGlyph objects associated with of all SpeciesGlyph object in this Layout object. + /// @brief Sets the value of the "text-anchor" attribute of the RenderGroup of the Style of the TextGlyph objects associated with all SpeciesGlyph objects in this Layout object. /// @param document a pointer to the SBMLDocument object. /// @param textHorizontalAlignment a string value to use as the value of the "text-anchor" attribute of the RenderGroup of the Style for these GraphicalObject objects. /// @param layoutIndex the index number of the Layout to return. /// @return integer value indicating success/failure of the function. LIBSBMLNETWORK_EXTERN int c_api_setSpeciesTextHorizontalAlignment(SBMLDocument* document, const char* textHorizontalAlignment, int layoutIndex = 0); + /// @brief Returns the value of the "text-anchor" attribute of the RenderGroup of the Style of all ReactionGlyph objects in this Layout object. + /// @param document a pointer to the SBMLDocument object. + /// @return the "text-anchor" attribute of the RenderGroup of the Style for all ReactionGlyph objects, or @c "" if the object is @c NULL LIBSBMLNETWORK_EXTERN const char* c_api_getReactionsTextHorizontalAlignment(SBMLDocument* document); /// @brief Sets the value of the "text-anchor" attribute of the RenderGroup of the the Style of the TextGlyph objects associated with of all ReactionGlyph object in this Layout object. @@ -3220,24 +4184,33 @@ namespace LIBSBMLNETWORK_CPP_NAMESPACE { /// @return integer value indicating success/failure of the function. LIBSBMLNETWORK_EXTERN int c_api_setTextVerticalAlignment(SBMLDocument* document, const char* id, const char* textVerticalAlignment, int graphicalObjectIndex = 0, int textGlyphIndex = 0, int layoutIndex = 0); + /// @brief Returns the value of the "text-anchor" attribute of the RenderGroup of the Style of all CompartmentGlyph objects in this Layout object. + /// @param document a pointer to the SBMLDocument object. + /// @return the "text-anchor" attribute of the RenderGroup of the Style for all CompartmentGlyph objects, or @c "" if the object is @c NULL LIBSBMLNETWORK_EXTERN const char* c_api_getCompartmentsTextVerticalAlignment(SBMLDocument* document); - /// @brief Sets the value of the "text-anchor" attribute of the RenderGroup of the Style of all CompartmentGlyph object in this Layout object. + /// @brief Sets the value of the "text-anchor" attribute of the RenderGroup of the Style of all CompartmentGlyph objects in this Layout object. /// @param document a pointer to the SBMLDocument object. /// @param textVerticalAlignment a string value to use as the value of the "text-anchor" attribute of the RenderGroup of the Style for these GraphicalObject objects. /// @param layoutIndex the index number of the Layout to return. /// @return integer value indicating success/failure of the function. LIBSBMLNETWORK_EXTERN int c_api_setCompartmentsTextVerticalAlignment(SBMLDocument* document, const char* textVerticalAlignment, int layoutIndex = 0); + /// @brief Returns the value of the "text-anchor" attribute of the RenderGroup of the Style of all SpeciesGlyph objects in this Layout object. + /// @param document a pointer to the SBMLDocument object. + /// @return the "text-anchor" attribute of the RenderGroup of the Style for all SpeciesGlyph objects, or @c "" if the object is @c NULL LIBSBMLNETWORK_EXTERN const char* c_api_getSpeciesTextVerticalAlignment(SBMLDocument* document); - /// @brief Sets the value of the "text-anchor" attribute of the RenderGroup of the the Style of the TextGlyph objects associated with of all SpeciesGlyph object in this Layout object. + /// @brief Sets the value of the "text-anchor" attribute of the RenderGroup of the Style of the TextGlyph objects associated with all SpeciesGlyph objects in this Layout object. /// @param document a pointer to the SBMLDocument object. /// @param textVerticalAlignment a string value to use as the value of the "text-anchor" attribute of the RenderGroup of the Style for these GraphicalObject objects. /// @param layoutIndex the index number of the Layout to return. /// @return integer value indicating success/failure of the function. LIBSBMLNETWORK_EXTERN int c_api_setSpeciesTextVerticalAlignment(SBMLDocument* document, const char* textVerticalAlignment, int layoutIndex = 0); + /// @brief Returns the value of the "text-anchor" attribute of the RenderGroup of the Style of all ReactionGlyph objects in this Layout object. + /// @param document a pointer to the SBMLDocument object. + /// @return the "text-anchor" attribute of the RenderGroup of the Style for all ReactionGlyph objects, or @c "" if the object is @c NULL LIBSBMLNETWORK_EXTERN const char* c_api_getReactionsTextVerticalAlignment(SBMLDocument* document); /// @brief Sets the value of the "text-anchor" attribute of the RenderGroup of the the Style of the TextGlyph objects associated with of all ReactionGlyph object in this Layout object. @@ -3451,6 +4424,92 @@ namespace LIBSBMLNETWORK_CPP_NAMESPACE { /// it is not of type Text or is or the object is @c NULL. LIBSBMLNETWORK_EXTERN bool c_api_isText(SBMLDocument* document, const char* id, int geometricShapeIndex = 0, int graphicalObjectIndex = 0, int layoutIndex = 0); + /// @brief Predicates returning @c true if the "stroke" attribute of the Transformation2D at the given index of the RenderGroup of the Style that matches this id of model entity associated with GraphicalObject. + /// @param document a pointer to the SBMLDocument object. + /// @param id the id of a model entity. + /// @param geometricShapeIndex an int representing the index of the Transformation2D to retrieve. + /// @param graphicalObjectIndex an int representing the index of the GraphicalObject to retrieve. + /// @param layoutIndex an int representing the index of the Layout to retrieve. + /// @return @c true if the "stroke" attribute of the Transformation2D object at the given index of the RenderGroup of the Style for this GraphicalObject is set, + bool c_api_isSetGeometricShapeBorderColor(SBMLDocument* document, const char* id, int geometricShapeIndex, int graphicalObjectIndex, int layoutIndex); + + /// @brief Returns the value of the "stroke" attribute of the Transformation2D at the given index of the RenderGroup of the Style that matches this id of model entity associated with GraphicalObject. + /// @param document a pointer to the SBMLDocument object. + /// @param id the id of a model entity. + /// @param geometricShapeIndex an int representing the index of the Transformation2D to retrieve. + /// @param graphicalObjectIndex an int representing the index of the GraphicalObject to retrieve. + /// @param layoutIndex an int representing the index of the Layout to retrieve. + /// @return the "stroke" attribute of the Transformation2D object at the given index of the RenderGroup of the Style for this GraphicalObject, or @c "" if the object is @c NULL. + const char* c_api_getGeometricShapeBorderColor(SBMLDocument* document, const char* id, int geometricShapeIndex, int graphicalObjectIndex, int layoutIndex); + + /// @brief Sets the value of the "stroke" attribute of the Transformation2D at the given index of the RenderGroup of the Style that matches this id of model entity associated with GraphicalObject. + /// @param document a pointer to the SBMLDocument object. + /// @param id the id of a model entity. + /// @param borderColor a string value to use as the value of the "stroke" attribute of the Transformation2D object. + /// @param geometricShapeIndex an int representing the index of the Transformation2D to retrieve. + /// @param graphicalObjectIndex an int representing the index of the GraphicalObject to retrieve. + /// @param layoutIndex an int representing the index of the Layout to retrieve. + /// @return integer value indicating success/failure of the function. + int c_api_setGeometricShapeBorderColor(SBMLDocument* document, const char* id, const char* borderColor, int geometricShapeIndex, int graphicalObjectIndex, int layoutIndex); + + /// @brief Predicates returning @c true if the "stroke-width" attribute of the Transformation2D at the given index of the RenderGroup of the Style that matches this id of model entity associated with GraphicalObject. + /// @param document a pointer to the SBMLDocument object. + /// @param id the id of a model entity. + /// @param geometricShapeIndex an int representing the index of the Transformation2D to retrieve. + /// @param graphicalObjectIndex an int representing the index of the GraphicalObject to retrieve. + /// @param layoutIndex an int representing the index of the Layout to retrieve. + /// @return @c true if the "stroke-width" attribute of the Transformation2D object at the given index of the RenderGroup of the Style for this GraphicalObject is set. + bool c_api_isSetGeometricShapeBorderWidth(SBMLDocument* document, const char* id, int geometricShapeIndex, int graphicalObjectIndex, int layoutIndex); + + /// @brief Returns the value of the "stroke-width" attribute of the Transformation2D at the given index of the RenderGroup of the Style that matches this id of model entity associated with GraphicalObject. + /// @param document a pointer to the SBMLDocument object. + /// @param id the id of a model entity. + /// @param geometricShapeIndex an int representing the index of the Transformation2D to retrieve. + /// @param graphicalObjectIndex an int representing the index of the GraphicalObject to retrieve. + /// @param layoutIndex an int representing the index of the Layout to retrieve. + /// @return the "stroke-width" attribute of the Transformation2D object at the given index of the RenderGroup of the Style for this GraphicalObject, or @c 0.0 if the object is @c NULL. + const double c_api_getGeometricShapeBorderWidth(SBMLDocument* document, const char* id, int geometricShapeIndex, int graphicalObjectIndex, int layoutIndex); + + /// @brief Sets the value of the "stroke-width" attribute of the Transformation2D at the given index of the RenderGroup of the Style that matches this id of model entity associated with GraphicalObject. + /// @param document a pointer to the SBMLDocument object. + /// @param id the id of a model entity. + /// @param borderWidth a double value to use as the value of the "stroke-width" attribute of the Transformation2D object. + /// @param geometricShapeIndex an int representing the index of the Transformation2D to retrieve. + /// @param graphicalObjectIndex an int representing the index of the GraphicalObject to retrieve. + /// @param layoutIndex an int representing the index of the Layout to retrieve. + /// @return integer value indicating success/failure of the function. + int c_api_setGeometricShapeBorderWidth(SBMLDocument* document, const char* id, const double borderWidth, int geometricShapeIndex, int graphicalObjectIndex, int layoutIndex); + + /// @brief Predicates returning @c true if the "fill" attribute of the Transformation2D at the given index of the RenderGroup of the Style that matches this id of model entity associated with GraphicalObject. + /// @param document a pointer to the SBMLDocument object. + /// @param id the id of a model entity. + /// @param geometricShapeIndex an int representing the index of the Transformation2D to retrieve. + /// @param graphicalObjectIndex an int representing the index of the GraphicalObject to retrieve. + /// @param layoutIndex an int representing the index of the Layout to retrieve. + /// @return @c true if the "fill" attribute of the Transformation2D object at the given index of the RenderGroup of the Style for this GraphicalObject is set. + bool c_api_isSetGeometricShapeFillColor(SBMLDocument* document, const char* id, int geometricShapeIndex, int graphicalObjectIndex, int layoutIndex); + + /// @brief Returns the value of the "fill" attribute of the Transformation2D at the given index of the RenderGroup of the Style that matches this id of model entity associated with GraphicalObject. + /// @param document a pointer to the SBMLDocument object. + /// @param id the id of a model entity. + /// @param geometricShapeIndex an int representing the index of the Transformation2D to retrieve. + /// @param graphicalObjectIndex an int representing the index of the GraphicalObject to retrieve. + /// @param layoutIndex an int representing the index of the Layout to retrieve. + /// @return the "fill" attribute of the Transformation2D object at the given index of the RenderGroup of the Style for this GraphicalObject, or @c "" if the object is @c NULL. + const char* c_api_getGeometricShapeFillColor(SBMLDocument* document, const char* id, int geometricShapeIndex, int graphicalObjectIndex, int layoutIndex); + + /// @brief Sets the value of the "fill" attribute of the Transformation2D at the given index of the RenderGroup of the Style that matches this id of model entity associated with GraphicalObject. + /// @param document a pointer to the SBMLDocument object. + /// @param id the id of a model entity. + /// @param fillColor a string value to use as the value of the "fill" attribute of the Transformation2D object. + /// @param geometricShapeIndex an int representing the index of the Transformation2D to retrieve. + /// @param graphicalObjectIndex an int representing the index of the GraphicalObject to retrieve. + /// @param layoutIndex an int representing the index of the Layout to retrieve. + /// @return integer value indicating success/failure of the function. + int c_api_setGeometricShapeFillColor(SBMLDocument* document, const char* id, const char* fillColor, int geometricShapeIndex, int graphicalObjectIndex, int layoutIndex); + + int c_api_setGeometricShapeFillColorAsGradient(SBMLDocument* document, const char* id, const char* gradientType = "linear", const char** stopColors = NULL, const double* stopOffsets = NULL, const int stopsSize = 0, int geometricShapeIndex = 0, int graphicalObjectIndex = 0, int layoutIndex = 0); + /// @brief Predicates returning @c true if the "x" attribute of the Transformation2D at the given index of the RenderGroup of the Style that matches this id of model entity associated with GraphicalObject. /// @param document a pointer to the SBMLDocument object. /// @param id the id of a model entity. @@ -3481,24 +4540,33 @@ namespace LIBSBMLNETWORK_CPP_NAMESPACE { /// @return integer value indicating success/failure of the function. LIBSBMLNETWORK_EXTERN int c_api_setGeometricShapeX(SBMLDocument* document, const char* id, const double x, int geometricShapeIndex = 0, int graphicalObjectIndex = 0, int layoutIndex = 0); + /// @brief Returns the value of the "x" attribute of the Transformation2D at the given index of the RenderGroup of the Style of all CompartmentGlyph objects in this Layout object. + /// @param document a pointer to the SBMLDocument object. + /// @return the "x" attribute of the Transformation2D object for all CompartmentGlyph objects, or @c 0.0 if the object is @c NULL LIBSBMLNETWORK_EXTERN const double c_api_getCompartmentsGeometricShapeX(SBMLDocument* document); - /// @brief Sets the value of the "x" attribute of the Transformation2D at the given index of the RenderGroup of the Style of all CompartmentGlyph object in this Layout object. + /// @brief Sets the value of the "x" attribute of the Transformation2D at the given index of the RenderGroup of the Style of all CompartmentGlyph objects in this Layout object. /// @param document a pointer to the SBMLDocument object. /// @param x a double to use as the value of the "x" attribute of this Transformation2D object. /// @param layoutIndex an int representing the index of the Layout to retrieve. /// @return integer value indicating success/failure of the function. LIBSBMLNETWORK_EXTERN int c_api_setCompartmentsGeometricShapeX(SBMLDocument* document, const double x, int layoutIndex = 0); + /// @brief Returns the value of the "x" attribute of the Transformation2D at the given index of the RenderGroup of the Style of all SpeciesGlyph objects in this Layout object. + /// @param document a pointer to the SBMLDocument object. + /// @return the "x" attribute of the Transformation2D object for all SpeciesGlyph objects, or @c 0.0 if the object is @c NULL LIBSBMLNETWORK_EXTERN const double c_api_getSpeciesGeometricShapeX(SBMLDocument* document); - /// @brief Sets the value of the "x" attribute of the Transformation2D at the given index of the RenderGroup of the Style of all SpeciesGlyph object in this Layout object. + /// @brief Sets the value of the "x" attribute of the Transformation2D at the given index of the RenderGroup of the Style of all SpeciesGlyph objects in this Layout object. /// @param document a pointer to the SBMLDocument object. /// @param x a double to use as the value of the "x" attribute of this Transformation2D object. /// @param layoutIndex an int representing the index of the Layout to retrieve. /// @return integer value indicating success/failure of the function. LIBSBMLNETWORK_EXTERN int c_api_setSpeciesGeometricShapeX(SBMLDocument* document, const double x, int layoutIndex = 0); + /// @brief Returns the value of the "x" attribute of the Transformation2D at the given index of the RenderGroup of the Style of all ReactionGlyph objects in this Layout object. + /// @param document a pointer to the SBMLDocument object. + /// @return the "x" attribute of the Transformation2D object for all ReactionGlyph objects, or @c 0.0 if the object is @c NULL LIBSBMLNETWORK_EXTERN const double c_api_getReactionsGeometricShapeX(SBMLDocument* document); /// @brief Sets the value of the "x" attribute of the Transformation2D at the given index of the RenderGroup of the Style of all ReactionGlyph object in this Layout object. @@ -3545,34 +4613,45 @@ namespace LIBSBMLNETWORK_CPP_NAMESPACE { /// @return integer value indicating success/failure of the function. LIBSBMLNETWORK_EXTERN int c_api_setGeometricShapeY(SBMLDocument* document, const char* id, const double y, int geometricShapeIndex = 0, int graphicalObjectIndex = 0, int layoutIndex = 0); + /// @brief Returns the value of the "y" attribute of the Transformation2D at the given index of the RenderGroup of the Style of all CompartmentGlyph objects in this Layout object. + /// @param document a pointer to the SBMLDocument object. + /// @return the "y" attribute of the Transformation2D object for all CompartmentGlyph objects, or @c 0.0 if the object is @c NULL LIBSBMLNETWORK_EXTERN const double c_api_getCompartmentsGeometricShapeY(SBMLDocument* document); - /// @brief Sets the value of the "y" attribute of the Transformation2D at the given index of the RenderGroup of the Style of all CompartmentGlyph object in this Layout object. + /// @brief Sets the value of the "y" attribute of the Transformation2D at the given index of the RenderGroup of the Style of all CompartmentGlyph objects in this Layout object. /// @param document a pointer to the SBMLDocument object. /// @param y a double to use as the value of the "y" attribute of this Transformation2D object. /// @param layoutIndex an int representing the index of the Layout to retrieve. /// @return integer value indicating success/failure of the function. LIBSBMLNETWORK_EXTERN int c_api_setCompartmentsGeometricShapeY(SBMLDocument* document, const double y, int layoutIndex = 0); + /// @brief Returns the value of the "y" attribute of the Transformation2D at the given index of the RenderGroup of the Style of all SpeciesGlyph objects in this Layout object. + /// @param document a pointer to the SBMLDocument object. + /// @return the "y" attribute of the Transformation2D object for all SpeciesGlyph objects, or @c 0.0 if the object is @c NULL LIBSBMLNETWORK_EXTERN const double c_api_getSpeciesGeometricShapeY(SBMLDocument* document); - /// @brief Sets the value of the "y" attribute of the Transformation2D at the given index of the RenderGroup of the Style of all SpeciesGlyph object in this Layout object. + /// @brief Sets the value of the "y" attribute of the Transformation2D at the given index of the RenderGroup of the Style of all SpeciesGlyph objects in this Layout object. /// @param document a pointer to the SBMLDocument object. /// @param y a double to use as the value of the "y" attribute of this Transformation2D object. /// @param layoutIndex an int representing the index of the Layout to retrieve. /// @return integer value indicating success/failure of the function. - /// @return integer value indicating success/failure of the function. LIBSBMLNETWORK_EXTERN int c_api_setSpeciesGeometricShapeY(SBMLDocument* document, const double y, int layoutIndex = 0); + /// @brief Returns the value of the "y" attribute of the Transformation2D at the given index of the RenderGroup of the Style of all ReactionGlyph objects in this Layout object. + /// @param document a pointer to the SBMLDocument object. + /// @return the "y" attribute of the Transformation2D object for all ReactionGlyph objects, or @c 0.0 if the object is @c NULL LIBSBMLNETWORK_EXTERN const double c_api_getReactionsGeometricShapeY(SBMLDocument* document); - /// @brief Sets the value of the "y" attribute of the Transformation2D at the given index of the RenderGroup of the Style of all ReactionGlyph object in this Layout object. + /// @brief Sets the value of the "y" attribute of the Transformation2D at the given index of the RenderGroup of the Style of all ReactionGlyph objects in this Layout object. /// @param document a pointer to the SBMLDocument object. /// @param y a double to use as the value of the "y" attribute of this Transformation2D object. /// @param layoutIndex an int representing the index of the Layout to retrieve. /// @return integer value indicating success/failure of the function. LIBSBMLNETWORK_EXTERN int c_api_setReactionsGeometricShapeY(SBMLDocument* document, const double y, int layoutIndex = 0); + /// @brief Returns the value of the "y" attribute of the Transformation2D at the given index of the RenderGroup of the Style of all GraphicalObject objects in this Layout object. + /// @param document a pointer to the SBMLDocument object. + /// @return the "y" attribute of the Transformation2D object for all GraphicalObject objects, or @c 0.0 if the object is @c NULL LIBSBMLNETWORK_EXTERN const double c_api_getGeometricShapeYs(SBMLDocument* document); /// @brief Sets the value of the "y" attribute of the Transformation2D at the given index of the RenderGroup of the Style of all GraphicalObject object in this Layout object. @@ -3612,24 +4691,33 @@ namespace LIBSBMLNETWORK_CPP_NAMESPACE { /// @return integer value indicating success/failure of the function. LIBSBMLNETWORK_EXTERN int c_api_setGeometricShapeWidth(SBMLDocument* document, const char* id, const double width, int geometricShapeIndex = 0, int graphicalObjectIndex = 0, int layoutIndex = 0); + /// @brief Returns the value of the "width" attribute of the Transformation2D at the given index of the RenderGroup of the Style of all CompartmentGlyph objects in this Layout object. + /// @param document a pointer to the SBMLDocument object. + /// @return the "width" attribute of the Transformation2D object for all CompartmentGlyph objects, or @c 0.0 if the object is @c NULL LIBSBMLNETWORK_EXTERN const double c_api_getCompartmentsGeometricShapeWidth(SBMLDocument* document); - /// @brief Sets the value of the "width" attribute of the Transformation2D at the given index of the RenderGroup of the Style of all CompartmentGlyph object in this Layout object. + /// @brief Returns the value of the "width" attribute of the Transformation2D at the given index of the RenderGroup of the Style of all SpeciesGlyph objects in this Layout object. /// @param document a pointer to the SBMLDocument object. /// @param width a double to use as the value of the "width" attribute of this Transformation2D object. /// @param layoutIndex an int representing the index of the Layout to retrieve. /// @return integer value indicating success/failure of the function. LIBSBMLNETWORK_EXTERN int c_api_setCompartmentsGeometricShapeWidth(SBMLDocument* document, const double width, int layoutIndex = 0); + /// @brief Returns the value of the "width" attribute of the Transformation2D at the given index of the RenderGroup of the Style of all SpeciesGlyph objects in this Layout object. + /// @param document a pointer to the SBMLDocument object. + /// @return the "width" attribute of the Transformation2D object for all SpeciesGlyph objects, or @c 0.0 if the object is @c NULL LIBSBMLNETWORK_EXTERN const double c_api_getSpeciesGeometricShapeWidth(SBMLDocument* document); - /// @brief Sets the value of the "width" attribute of the Transformation2D at the given index of the RenderGroup of the Style of all SpeciesGlyph object in this Layout object. + /// @brief Returns the value of the "width" attribute of the Transformation2D at the given index of the RenderGroup of the Style of all ReactionGlyph objects in this Layout object. /// @param document a pointer to the SBMLDocument object. /// @param width a double to use as the value of the "width" attribute of this Transformation2D object. /// @param layoutIndex an int representing the index of the Layout to retrieve. /// @return integer value indicating success/failure of the function. LIBSBMLNETWORK_EXTERN int c_api_setSpeciesGeometricShapeWidth(SBMLDocument* document, const double width, int layoutIndex = 0); + /// @brief Returns the value of the "width" attribute of the Transformation2D at the given index of the RenderGroup of the Style of all ReactionGlyph objects in this Layout object. + /// @param document a pointer to the SBMLDocument object. + /// @return the "width" attribute of the Transformation2D object for all ReactionGlyph objects, or @c 0.0 if the object is @c NULL LIBSBMLNETWORK_EXTERN const double c_api_getReactionsGeometricShapeWidth(SBMLDocument* document); /// @brief Sets the value of the "width" attribute of the Transformation2D at the given index of the RenderGroup of the Style of all ReactionGlyph object in this Layout object. @@ -3676,24 +4764,33 @@ namespace LIBSBMLNETWORK_CPP_NAMESPACE { /// @return integer value indicating success/failure of the function. LIBSBMLNETWORK_EXTERN int c_api_setGeometricShapeHeight(SBMLDocument* document, const char* id, const double height, int geometricShapeIndex = 0, int graphicalObjectIndex = 0, int layoutIndex = 0); + /// @brief Returns the value of the "height" attribute of the Transformation2D at the given index of the RenderGroup of the Style of all CompartmentGlyph objects in this Layout object. + /// @param document a pointer to the SBMLDocument object. + /// @return the "height" attribute of the Transformation2D object for all CompartmentGlyph objects, or @c 0.0 if the object is @c NULL LIBSBMLNETWORK_EXTERN const double c_api_getCompartmentsGeometricShapeHeight(SBMLDocument* document); - /// @brief Sets the value of the "height" attribute of the Transformation2D at the given index of the RenderGroup of the Style of all CompartmentGlyph object in this Layout object. + /// @brief Returns the value of the "height" attribute of the Transformation2D at the given index of the RenderGroup of the Style of all SpeciesGlyph objects in this Layout object. /// @param document a pointer to the SBMLDocument object. /// @param height a double to use as the value of the "height" attribute of this Transformation2D object. /// @param layoutIndex an int representing the index of the Layout to retrieve. /// @return integer value indicating success/failure of the function. LIBSBMLNETWORK_EXTERN int c_api_setCompartmentsGeometricShapeHeight(SBMLDocument* document, const double height, int layoutIndex = 0); + /// @brief Returns the value of the "height" attribute of the Transformation2D at the given index of the RenderGroup of the Style of all SpeciesGlyph objects in this Layout object. + /// @param document a pointer to the SBMLDocument object. + /// @return the "height" attribute of the Transformation2D object for all SpeciesGlyph objects, or @c 0.0 if the object is @c NULL LIBSBMLNETWORK_EXTERN const double c_api_getSpeciesGeometricShapeHeight(SBMLDocument* document); - /// @brief Sets the value of the "height" attribute of the Transformation2D at the given index of the RenderGroup of the Style of all SpeciesGlyph object in this Layout object. + /// @brief Returns the value of the "height" attribute of the Transformation2D at the given index of the RenderGroup of the Style of all ReactionGlyph objects in this Layout object. /// @param document a pointer to the SBMLDocument object. /// @param height a double to use as the value of the "height" attribute of this Transformation2D object. /// @param layoutIndex an int representing the index of the Layout to retrieve. /// @return integer value indicating success/failure of the function. LIBSBMLNETWORK_EXTERN int c_api_setSpeciesGeometricShapeHeight(SBMLDocument* document, const double height, int layoutIndex = 0); + /// @brief Returns the value of the "height" attribute of the Transformation2D at the given index of the RenderGroup of the Style of all ReactionGlyph objects in this Layout object. + /// @param document a pointer to the SBMLDocument object. + /// @return the "height" attribute of the Transformation2D object for all ReactionGlyph objects, or @c 0.0 if the object is @c NULL LIBSBMLNETWORK_EXTERN const double c_api_getReactionsGeometricShapeHeight(SBMLDocument* document); /// @brief Sets the value of the "height" attribute of the Transformation2D at the given index of the RenderGroup of the Style of all ReactionGlyph object in this Layout object. @@ -3740,24 +4837,33 @@ namespace LIBSBMLNETWORK_CPP_NAMESPACE { /// @return integer value indicating success/failure of the function. LIBSBMLNETWORK_EXTERN int c_api_setGeometricShapeRatio(SBMLDocument* document, const char* id, const double ratio, int geometricShapeIndex = 0, int graphicalObjectIndex = 0, int layoutIndex = 0); + /// @brief Returns the value of the "ratio" attribute of the Transformation2D at the given index of the RenderGroup of the Style of all CompartmentGlyph objects in this Layout object. + /// @param document a pointer to the SBMLDocument object. + /// @return the "ratio" attribute of the Transformation2D object for all CompartmentGlyph objects, or @c 0.0 if the object is @c NULL LIBSBMLNETWORK_EXTERN const double c_api_getCompartmentsGeometricShapeRatio(SBMLDocument* document); - /// @brief Sets the value of the "ratio" attribute of the Transformation2D at the given index of the RenderGroup of the Style of all CompartmentGlyph object in this Layout object. + /// @brief Returns the value of the "ratio" attribute of the Transformation2D at the given index of the RenderGroup of the Style of all SpeciesGlyph objects in this Layout object. /// @param document a pointer to the SBMLDocument object. /// @param ratio a double to use as the value of the "ratio" attribute of this Transformation2D object. /// @param layoutIndex an int representing the index of the Layout to retrieve. /// @return integer value indicating success/failure of the function. LIBSBMLNETWORK_EXTERN int c_api_setCompartmentsGeometricShapeRatio(SBMLDocument* document, const double ratio, int layoutIndex = 0); + /// @brief Returns the value of the "ratio" attribute of the Transformation2D at the given index of the RenderGroup of the Style of all SpeciesGlyph objects in this Layout object. + /// @param document a pointer to the SBMLDocument object. + /// @return the "ratio" attribute of the Transformation2D object for all SpeciesGlyph objects, or @c 0.0 if the object is @c NULL LIBSBMLNETWORK_EXTERN const double c_api_getSpeciesGeometricShapeRatio(SBMLDocument* document); - /// @brief Sets the value of the "ratio" attribute of the Transformation2D at the given index of the RenderGroup of the Style of all SpeciesGlyph object in this Layout object. + /// @brief Returns the value of the "ratio" attribute of the Transformation2D at the given index of the RenderGroup of the Style of all ReactionGlyph objects in this Layout object. /// @param document a pointer to the SBMLDocument object. /// @param ratio a double to use as the value of the "ratio" attribute of this Transformation2D object. /// @param layoutIndex an int representing the index of the Layout to retrieve. /// @return integer value indicating success/failure of the function. LIBSBMLNETWORK_EXTERN int c_api_setSpeciesGeometricShapeRatio(SBMLDocument* document, const double ratio, int layoutIndex = 0); + /// @brief Returns the value of the "ratio" attribute of the Transformation2D at the given index of the RenderGroup of the Style of all ReactionGlyph objects in this Layout object. + /// @param document a pointer to the SBMLDocument object. + /// @return the "ratio" attribute of the Transformation2D object for all ReactionGlyph objects, or @c 0.0 if the object is @c NULL LIBSBMLNETWORK_EXTERN const double c_api_getReactionsGeometricShapeRatio(SBMLDocument* document); /// @brief Sets the value of the "ratio" attribute of the Transformation2D at the given index of the RenderGroup of the Style of all ReactionGlyph object in this Layout object. @@ -3804,24 +4910,33 @@ namespace LIBSBMLNETWORK_CPP_NAMESPACE { /// @return integer value indicating success/failure of the function. LIBSBMLNETWORK_EXTERN int c_api_setGeometricShapeBorderRadiusX(SBMLDocument* document, const char* id, const double borderRadiusX, int geometricShapeIndex = 0, int graphicalObjectIndex = 0, int layoutIndex = 0); + /// @brief Returns the value of the "rx" attribute of the Transformation2D at the given index of the RenderGroup of the Style of all CompartmentGlyph objects in this Layout object. + /// @param document a pointer to the SBMLDocument object. + /// @return the "rx" attribute of the Transformation2D object for all CompartmentGlyph objects, or @c 0.0 if the object is @c NULL LIBSBMLNETWORK_EXTERN const double c_api_getCompartmentsGeometricShapeBorderRadiusX(SBMLDocument* document); - /// @brief Sets the value of the "rx" attribute of the Transformation2D at the given index of the RenderGroup of the Style of all CompartmentGlyph object in this Layout object. + /// @brief Returns the value of the "rx" attribute of the Transformation2D at the given index of the RenderGroup of the Style of all SpeciesGlyph objects in this Layout object. /// @param document a pointer to the SBMLDocument object. /// @param borderRadiusX a double to use as the value of the "rx" attribute of this Transformation2D object. /// @param layoutIndex an int representing the index of the Layout to retrieve. /// @return integer value indicating success/failure of the function. LIBSBMLNETWORK_EXTERN int c_api_setCompartmentsGeometricShapeBorderRadiusX(SBMLDocument* document, const double borderRadiusX, int layoutIndex = 0); + /// @brief Returns the value of the "rx" attribute of the Transformation2D at the given index of the RenderGroup of the Style of all SpeciesGlyph objects in this Layout object. + /// @param document a pointer to the SBMLDocument object. + /// @return the "rx" attribute of the Transformation2D object for all SpeciesGlyph objects, or @c 0.0 if the object is @c NULL LIBSBMLNETWORK_EXTERN const double c_api_getSpeciesGeometricShapeBorderRadiusX(SBMLDocument* document); - /// @brief Sets the value of the "rx" attribute of the Transformation2D at the given index of the RenderGroup of the Style of all SpeciesGlyph object in this Layout object. + /// @brief Returns the value of the "rx" attribute of the Transformation2D at the given index of the RenderGroup of the Style of all ReactionGlyph objects in this Layout object. /// @param document a pointer to the SBMLDocument object. /// @param borderRadiusX a double to use as the value of the "rx" attribute of this Transformation2D object. /// @param layoutIndex an int representing the index of the Layout to retrieve. /// @return integer value indicating success/failure of the function. LIBSBMLNETWORK_EXTERN int c_api_setSpeciesGeometricShapeBorderRadiusX(SBMLDocument* document, const double borderRadiusX, int layoutIndex = 0); + /// @brief Returns the value of the "rx" attribute of the Transformation2D at the given index of the RenderGroup of the Style of all ReactionGlyph objects in this Layout object. + /// @param document a pointer to the SBMLDocument object. + /// @return the "rx" attribute of the Transformation2D object for all ReactionGlyph objects, or @c 0.0 if the object is @c NULL LIBSBMLNETWORK_EXTERN const double c_api_getReactionsGeometricShapeBorderRadiusX(SBMLDocument* document); /// @brief Sets the value of the "rx" attribute of the Transformation2D at the given index of the RenderGroup of the Style of all ReactionGlyph object in this Layout object. @@ -3868,24 +4983,33 @@ namespace LIBSBMLNETWORK_CPP_NAMESPACE { /// @return integer value indicating success/failure of the function. LIBSBMLNETWORK_EXTERN int c_api_setGeometricShapeBorderRadiusY(SBMLDocument* document, const char* id, const double borderRadiusY, int geometricShapeIndex = 0, int graphicalObjectIndex = 0, int layoutIndex = 0); + /// @brief Returns the value of the "ry" attribute of the Transformation2D at the given index of the RenderGroup of the Style of all CompartmentGlyph objects in this Layout object. + /// @param document a pointer to the SBMLDocument object. + /// @return the "ry" attribute of the Transformation2D object for all CompartmentGlyph objects, or @c 0.0 if the object is @c NULL LIBSBMLNETWORK_EXTERN const double c_api_getCompartmentsGeometricShapeBorderRadiusY(SBMLDocument* document); - /// @brief Sets the value of the "ry" attribute of the Transformation2D at the given index of the RenderGroup of the Style of all CompartmentGlyph object in this Layout object. + /// @brief Sets the value of the "ry" attribute of the Transformation2D at the given index of the RenderGroup of the Style of all CompartmentGlyph objects in this Layout object. /// @param document a pointer to the SBMLDocument object. /// @param borderRadiusY a double to use as the value of the "ry" attribute of this Transformation2D object. /// @param layoutIndex an int representing the index of the Layout to retrieve. /// @return integer value indicating success/failure of the function. LIBSBMLNETWORK_EXTERN int c_api_setCompartmentsGeometricShapeBorderRadiusY(SBMLDocument* document, const double borderRadiusY, int layoutIndex = 0); + /// @brief Returns the value of the "ry" attribute of the Transformation2D at the given index of the RenderGroup of the Style of all SpeciesGlyph objects in this Layout object. + /// @param document a pointer to the SBMLDocument object. + /// @return the "ry" attribute of the Transformation2D object for all SpeciesGlyph objects, or @c 0.0 if the object is @c NULL LIBSBMLNETWORK_EXTERN const double c_api_getSpeciesGeometricShapeBorderRadiusY(SBMLDocument* document); - /// @brief Sets the value of the "ry" attribute of the Transformation2D at the given index of the RenderGroup of the Style of all SpeciesGlyph object in this Layout object. + /// @brief Sets the value of the "ry" attribute of the Transformation2D at the given index of the RenderGroup of the Style of all SpeciesGlyph objects in this Layout object. /// @param document a pointer to the SBMLDocument object. /// @param borderRadiusY a double to use as the value of the "ry" attribute of this Transformation2D object. /// @param layoutIndex an int representing the index of the Layout to retrieve. /// @return integer value indicating success/failure of the function. LIBSBMLNETWORK_EXTERN int c_api_setSpeciesGeometricShapeBorderRadiusY(SBMLDocument* document, const double borderRadiusY, int layoutIndex = 0); + /// @brief Returns the value of the "ry" attribute of the Transformation2D at the given index of the RenderGroup of the Style of all ReactionGlyph objects in this Layout object. + /// @param document a pointer to the SBMLDocument object. + /// @return the "ry" attribute of the Transformation2D object for all ReactionGlyph objects, or @c 0.0 if the object is @c NULL LIBSBMLNETWORK_EXTERN const double c_api_getReactionsGeometricShapeBorderRadiusY(SBMLDocument* document); /// @brief Sets the value of the "ry" attribute of the Transformation2D at the given index of the RenderGroup of the Style of all ReactionGlyph object in this Layout object. @@ -3932,24 +5056,33 @@ namespace LIBSBMLNETWORK_CPP_NAMESPACE { /// @return integer value indicating success/failure of the function. LIBSBMLNETWORK_EXTERN int c_api_setGeometricShapeCenterX(SBMLDocument* document, const char* id, const double centerX, int geometricShapeIndex = 0, int graphicalObjectIndex = 0, int layoutIndex = 0); + /// @brief Returns the value of the "cx" attribute of the Transformation2D at the given index of the RenderGroup of the Style of all CompartmentGlyph objects in this Layout object. + /// @param document a pointer to the SBMLDocument object. + /// @return the "cx" attribute of the Transformation2D object for all CompartmentGlyph objects, or @c 0.0 if the object is @c NULL LIBSBMLNETWORK_EXTERN const double c_api_getCompartmentsGeometricShapeCenterX(SBMLDocument* document); - /// @brief Sets the value of the "cx" attribute of the Transformation2D at the given index of the RenderGroup of the Style of all CompartmentGlyph object in this Layout object. + /// @brief Sets the value of the "cx" attribute of the Transformation2D at the given index of the RenderGroup of the Style of all CompartmentGlyph objects in this Layout object. /// @param document a pointer to the SBMLDocument object. /// @param centerX a double to use as the value of the "cx" attribute of this Transformation2D object. /// @param layoutIndex an int representing the index of the Layout to retrieve. /// @return integer value indicating success/failure of the function. LIBSBMLNETWORK_EXTERN int c_api_setCompartmentsGeometricShapeCenterX(SBMLDocument* document, const double centerX, int layoutIndex = 0); + /// @brief Returns the value of the "cx" attribute of the Transformation2D at the given index of the RenderGroup of the Style of all SpeciesGlyph objects in this Layout object. + /// @param document a pointer to the SBMLDocument object. + /// @return the "cx" attribute of the Transformation2D object for all SpeciesGlyph objects, or @c 0.0 if the object is @c NULL LIBSBMLNETWORK_EXTERN const double c_api_getSpeciesGeometricShapeCenterX(SBMLDocument* document); - /// @brief Sets the value of the "cx" attribute of the Transformation2D at the given index of the RenderGroup of the Style of all SpeciesGlyph object in this Layout object. + /// @brief Sets the value of the "cx" attribute of the Transformation2D at the given index of the RenderGroup of the Style of all SpeciesGlyph objects in this Layout object. /// @param document a pointer to the SBMLDocument object. /// @param centerX a double to use as the value of the "cx" attribute of this Transformation2D object. /// @param layoutIndex an int representing the index of the Layout to retrieve. /// @return integer value indicating success/failure of the function. LIBSBMLNETWORK_EXTERN int c_api_setSpeciesGeometricShapeCenterX(SBMLDocument* document, const double centerX, int layoutIndex = 0); + /// @brief Returns the value of the "cx" attribute of the Transformation2D at the given index of the RenderGroup of the Style of all ReactionGlyph objects in this Layout object. + /// @param document a pointer to the SBMLDocument object. + /// @return the "cx" attribute of the Transformation2D object for all ReactionGlyph objects, or @c 0.0 if the object is @c NULL LIBSBMLNETWORK_EXTERN const double c_api_getReactionsGeometricShapeCenterX(SBMLDocument* document); /// @brief Sets the value of the "cx" attribute of the Transformation2D at the given index of the RenderGroup of the Style of all ReactionGlyph object in this Layout object. @@ -3996,24 +5129,33 @@ namespace LIBSBMLNETWORK_CPP_NAMESPACE { /// @return integer value indicating success/failure of the function. LIBSBMLNETWORK_EXTERN int c_api_setGeometricShapeCenterY(SBMLDocument* document, const char* id, const double centerY, int geometricShapeIndex = 0, int graphicalObjectIndex = 0, int layoutIndex = 0); + /// @brief Returns the value of the "cy" attribute of the Transformation2D at the given index of the RenderGroup of the Style of all CompartmentGlyph objects in this Layout object. + /// @param document a pointer to the SBMLDocument object. + /// @return the "cy" attribute of the Transformation2D object for all CompartmentGlyph objects, or @c 0.0 if the object is @c NULL LIBSBMLNETWORK_EXTERN const double c_api_getCompartmentsGeometricShapeCenterY(SBMLDocument* document); - /// @brief Sets the value of the "cy" attribute of the Transformation2D at the given index of the RenderGroup of the Style of all CompartmentGlyph object in this Layout object. + /// @brief Sets the value of the "cy" attribute of the Transformation2D at the given index of the RenderGroup of the Style of all CompartmentGlyph objects in this Layout object. /// @param document a pointer to the SBMLDocument object. /// @param centerY a double to use as the value of the "cy" attribute of this Transformation2D object. /// @param layoutIndex an int representing the index of the Layout to retrieve. /// @return integer value indicating success/failure of the function. LIBSBMLNETWORK_EXTERN int c_api_setCompartmentsGeometricShapeCenterY(SBMLDocument* document, const double centerY, int layoutIndex = 0); + /// @brief Returns the value of the "cy" attribute of the Transformation2D at the given index of the RenderGroup of the Style of all SpeciesGlyph objects in this Layout object. + /// @param document a pointer to the SBMLDocument object. + /// @return the "cy" attribute of the Transformation2D object for all SpeciesGlyph objects, or @c 0.0 if the object is @c NULL LIBSBMLNETWORK_EXTERN const double c_api_getSpeciesGeometricShapeCenterY(SBMLDocument* document); - /// @brief Sets the value of the "cy" attribute of the Transformation2D at the given index of the RenderGroup of the Style of all SpeciesGlyph object in this Layout object. + /// @brief Sets the value of the "cy" attribute of the Transformation2D at the given index of the RenderGroup of the Style of all SpeciesGlyph objects in this Layout object. /// @param document a pointer to the SBMLDocument object. /// @param centerY a double to use as the value of the "cy" attribute of this Transformation2D object. /// @param layoutIndex an int representing the index of the Layout to retrieve. /// @return integer value indicating success/failure of the function. LIBSBMLNETWORK_EXTERN int c_api_setSpeciesGeometricShapeCenterY(SBMLDocument* document, const double centerY, int layoutIndex = 0); + /// @brief Returns the value of the "cy" attribute of the Transformation2D at the given index of the RenderGroup of the Style of all ReactionGlyph objects in this Layout object. + /// @param document a pointer to the SBMLDocument object. + /// @return the "cy" attribute of the Transformation2D object for all ReactionGlyph objects, or @c 0.0 if the object is @c NULL LIBSBMLNETWORK_EXTERN const double c_api_getReactionsGeometricShapeCenterY(SBMLDocument* document); /// @brief Sets the value of the "cy" attribute of the Transformation2D at the given index of the RenderGroup of the Style of all ReactionGlyph object in this Layout object. @@ -4060,15 +5202,21 @@ namespace LIBSBMLNETWORK_CPP_NAMESPACE { /// @return integer value indicating success/failure of the function. LIBSBMLNETWORK_EXTERN int c_api_setGeometricShapeRadiusX(SBMLDocument* document, const char* id, const double radiusX, int geometricShapeIndex = 0, int graphicalObjectIndex = 0, int layoutIndex = 0); + /// @brief Returns the value of the "rx" attribute of the Transformation2D at the given index of the RenderGroup of the Style of all CompartmentGlyph objects in this Layout object. + /// @param document a pointer to the SBMLDocument object. + /// @return the "rx" attribute of the Transformation2D object for all CompartmentGlyph objects, or @c 0.0 if the object is @c NULL LIBSBMLNETWORK_EXTERN const double c_api_getCompartmentsGeometricShapeRadiusX(SBMLDocument* document); - /// @brief Sets the value of the "rx" attribute of the Transformation2D at the given index of the RenderGroup of the Style of all CompartmentGlyph object in this Layout object. + /// @brief Sets the value of the "rx" attribute of the Transformation2D at the given index of the RenderGroup of the Style of all CompartmentGlyph objects in this Layout object. /// @param document a pointer to the SBMLDocument object. /// @param radiusX a double to use as the value of the "rx" attribute of this Transformation2D object. /// @param layoutIndex an int representing the index of the Layout to retrieve. /// @return integer value indicating success/failure of the function. LIBSBMLNETWORK_EXTERN int c_api_setCompartmentsGeometricShapeRadiusX(SBMLDocument* document, const double radiusX, int layoutIndex = 0); + /// @brief Returns the value of the "rx" attribute of the Transformation2D at the given index of the RenderGroup of the Style of all SpeciesGlyph objects in this Layout object. + /// @param document a pointer to the SBMLDocument object. + /// @return the "rx" attribute of the Transformation2D object for all SpeciesGlyph objects, or @c 0.0 if the object is @c NULL LIBSBMLNETWORK_EXTERN const double c_api_getSpeciesGeometricShapeRadiusX(SBMLDocument* document); /// @brief Sets the value of the "rx" attribute of the Transformation2D at the given index of the RenderGroup of the Style of all SpeciesGlyph object in this Layout object. @@ -4078,6 +5226,9 @@ namespace LIBSBMLNETWORK_CPP_NAMESPACE { /// @return integer value indicating success/failure of the function. LIBSBMLNETWORK_EXTERN int c_api_setSpeciesGeometricShapeRadiusX(SBMLDocument* document, const double radiusX, int layoutIndex = 0); + /// @brief Returns the value of the "rx" attribute of the Transformation2D at the given index of the RenderGroup of the Style of all ReactionGlyph objects in this Layout object. + /// @param document a pointer to the SBMLDocument object. + /// @return the "rx" attribute of the Transformation2D object for all ReactionGlyph objects, or @c 0.0 if the object is @c NULL LIBSBMLNETWORK_EXTERN const double c_api_getReactionsGeometricShapeRadiusX(SBMLDocument* document); /// @brief Sets the value of the "rx" attribute of the Transformation2D at the given index of the RenderGroup of the Style of all ReactionGlyph object in this Layout object. @@ -4124,24 +5275,33 @@ namespace LIBSBMLNETWORK_CPP_NAMESPACE { /// @return integer value indicating success/failure of the function. LIBSBMLNETWORK_EXTERN int c_api_setGeometricShapeRadiusY(SBMLDocument* document, const char* id, const double radiusY, int geometricShapeIndex = 0, int graphicalObjectIndex = 0, int layoutIndex = 0); + /// @brief Returns the value of the "ry" attribute of the Transformation2D at the given index of the RenderGroup of the Style of all CompartmentGlyph objects in this Layout object. + /// @param document a pointer to the SBMLDocument object. + /// @return the "ry" attribute of the Transformation2D object for all CompartmentGlyph objects, or @c 0.0 if the object is @c NULL LIBSBMLNETWORK_EXTERN const double c_api_getCompartmentsGeometricShapeRadiusY(SBMLDocument* document); - /// @brief Sets the value of the "ry" attribute of the Transformation2D at the given index of the RenderGroup of the Style of all CompartmentGlyph object in this Layout object. + /// @brief Sets the value of the "ry" attribute of the Transformation2D at the given index of the RenderGroup of the Style of all CompartmentGlyph objects in this Layout object. /// @param document a pointer to the SBMLDocument object. /// @param radiusY a double to use as the value of the "ry" attribute of this Transformation2D object. /// @param layoutIndex an int representing the index of the Layout to retrieve. /// @return integer value indicating success/failure of the function. LIBSBMLNETWORK_EXTERN int c_api_setCompartmentsGeometricShapeRadiusY(SBMLDocument* document, const double radiusY, int layoutIndex = 0); + /// @brief Returns the value of the "ry" attribute of the Transformation2D at the given index of the RenderGroup of the Style of all SpeciesGlyph objects in this Layout object. + /// @param document a pointer to the SBMLDocument object. + /// @return the "ry" attribute of the Transformation2D object for all SpeciesGlyph objects, or @c 0.0 if the object is @c NULL LIBSBMLNETWORK_EXTERN const double c_api_getSpeciesGeometricShapeRadiusY(SBMLDocument* document); - /// @brief Sets the value of the "ry" attribute of the Transformation2D at the given index of the RenderGroup of the Style of all SpeciesGlyph object in this Layout object. + /// @brief Sets the value of the "ry" attribute of the Transformation2D at the given index of the RenderGroup of the Style of all SpeciesGlyph objects in this Layout object. /// @param document a pointer to the SBMLDocument object. /// @param radiusY a double to use as the value of the "ry" attribute of this Transformation2D object. /// @param layoutIndex an int representing the index of the Layout to retrieve. /// @return integer value indicating success/failure of the function. LIBSBMLNETWORK_EXTERN int c_api_setSpeciesGeometricShapeRadiusY(SBMLDocument* document, const double radiusY, int layoutIndex = 0); + /// @brief Returns the value of the "ry" attribute of the Transformation2D at the given index of the RenderGroup of the Style of all ReactionGlyph objects in this Layout object. + /// @param document a pointer to the SBMLDocument object. + /// @return the "ry" attribute of the Transformation2D object for all ReactionGlyph objects, or @c 0.0 if the object is @c NULL LIBSBMLNETWORK_EXTERN const double c_api_getReactionsGeometricShapeRadiusY(SBMLDocument* document); /// @brief Sets the value of the "ry" attribute of the Transformation2D at the given index of the RenderGroup of the Style of all ReactionGlyph object in this Layout object. @@ -4201,9 +5361,12 @@ namespace LIBSBMLNETWORK_CPP_NAMESPACE { /// @return integer value indicating success/failure of the function. LIBSBMLNETWORK_EXTERN int c_api_setGeometricShapeSegmentX(SBMLDocument* document, const char* id, const double x, int segmentIndex = 0, int geometricShapeIndex = 0, int graphicalObjectIndex = 0, int layoutIndex = 0); + /// @brief Returns the value of the "x" attribute of the element at the given index of the Transformation2D at the given index of the RenderGroup of the Style of all CompartmentGlyph objects in this Layout object. + /// @param document a pointer to the SBMLDocument object. + /// @return the "x" attribute of the element for all CompartmentGlyph objects, or @c 0.0 if the object is @c NULL LIBSBMLNETWORK_EXTERN const double c_api_getCompartmentsGeometricShapeSegmentX(SBMLDocument* document); - /// @brief Sets the value of the "x" attribute of element at the given index of the Transformation2D at the given index of the RenderGroup of the Style of all CompartmentGlyph object in this Layout object. + /// @brief Sets the value of the "x" attribute of the element at the given index of the Transformation2D at the given index of the RenderGroup of the Style of all CompartmentGlyph objects in this Layout object. /// @param document a pointer to the SBMLDocument object. /// @param x a double to use as the value of the "x" attribute of this element. /// @param segmentIndex an int representing the index of the element to retrieve. @@ -4211,9 +5374,12 @@ namespace LIBSBMLNETWORK_CPP_NAMESPACE { /// @return integer value indicating success/failure of the function. LIBSBMLNETWORK_EXTERN int c_api_setCompartmentsGeometricShapeSegmentX(SBMLDocument* document, const double x, int segmentIndex = 0, int layoutIndex = 0); + /// @brief Returns the value of the "x" attribute of the element at the given index of the Transformation2D at the given index of the RenderGroup of the Style of all SpeciesGlyph objects in this Layout object. + /// @param document a pointer to the SBMLDocument object. + /// @return the "x" attribute of the element for all SpeciesGlyph objects, or @c 0.0 if the object is @c NULL LIBSBMLNETWORK_EXTERN const double c_api_getSpeciesGeometricShapeSegmentX(SBMLDocument* document); - /// @brief Sets the value of the "x" attribute of element at the given index of the Transformation2D at the given index of the RenderGroup of the Style of all SpeciesGlyph object in this Layout object. + /// @brief Sets the value of the "x" attribute of the element at the given index of the Transformation2D at the given index of the RenderGroup of the Style of all SpeciesGlyph objects in this Layout object. /// @param document a pointer to the SBMLDocument object. /// @param x a double to use as the value of the "x" attribute of this element. /// @param segmentIndex an int representing the index of the element to retrieve. @@ -4221,6 +5387,9 @@ namespace LIBSBMLNETWORK_CPP_NAMESPACE { /// @return integer value indicating success/failure of the function. LIBSBMLNETWORK_EXTERN int c_api_setSpeciesGeometricShapeSegmentX(SBMLDocument* document, const double x, int segmentIndex = 0, int layoutIndex = 0); + /// @brief Returns the value of the "x" attribute of the element at the given index of the Transformation2D at the given index of the RenderGroup of the Style of all ReactionGlyph objects in this Layout object. + /// @param document a pointer to the SBMLDocument object. + /// @return the "x" attribute of the element for all ReactionGlyph objects, or @c 0.0 if the object is @c NULL LIBSBMLNETWORK_EXTERN const double c_api_getReactionsGeometricShapeSegmentX(SBMLDocument* document); /// @brief Sets the value of the "x" attribute of element at the given index of the Transformation2D at the given index of the RenderGroup of the Style of all ReactionGlyph object in this Layout object. @@ -4262,9 +5431,12 @@ namespace LIBSBMLNETWORK_CPP_NAMESPACE { /// @return integer value indicating success/failure of the function. LIBSBMLNETWORK_EXTERN int c_api_setGeometricShapeSegmentY(SBMLDocument* document, const char* id, const double y, int segmentIndex = 0, int geometricShapeIndex = 0, int graphicalObjectIndex = 0, int layoutIndex = 0); + /// @brief Returns the value of the "y" attribute of the element at the given index of the Transformation2D at the given index of the RenderGroup of the Style of all CompartmentGlyph objects in this Layout object. + /// @param document a pointer to the SBMLDocument object. + /// @return the "y" attribute of the element for all CompartmentGlyph objects, or @c 0.0 if the object is @c NULL LIBSBMLNETWORK_EXTERN const double c_api_getCompartmentsGeometricShapeSegmentY(SBMLDocument* document); - /// @brief Sets the value of the "y" attribute of element at the given index of the Transformation2D at the given index of the RenderGroup of the Style of all CompartmentGlyph object in this Layout object. + /// @brief Sets the value of the "y" attribute of the element at the given index of the Transformation2D at the given index of the RenderGroup of the Style of all CompartmentGlyph objects in this Layout object. /// @param document a pointer to the SBMLDocument object. /// @param y a double to use as the value of the "y" attribute of this element. /// @param segmentIndex an int representing the index of the element to retrieve. @@ -4272,9 +5444,12 @@ namespace LIBSBMLNETWORK_CPP_NAMESPACE { /// @return integer value indicating success/failure of the function. LIBSBMLNETWORK_EXTERN int c_api_setCompartmentsGeometricShapeSegmentY(SBMLDocument* document, const double y, int segmentIndex = 0, int layoutIndex = 0); + /// @brief Returns the value of the "y" attribute of the element at the given index of the Transformation2D at the given index of the RenderGroup of the Style of all SpeciesGlyph objects in this Layout object. + /// @param document a pointer to the SBMLDocument object. + /// @return the "y" attribute of the element for all SpeciesGlyph objects, or @c 0.0 if the object is @c NULL LIBSBMLNETWORK_EXTERN const double c_api_getSpeciesGeometricShapeSegmentY(SBMLDocument* document); - /// @brief Sets the value of the "y" attribute of element at the given index of the Transformation2D at the given index of the RenderGroup of the Style of all SpeciesGlyph object in this Layout object. + /// @brief Sets the value of the "y" attribute of the element at the given index of the Transformation2D at the given index of the RenderGroup of the Style of all SpeciesGlyph objects in this Layout object. /// @param document a pointer to the SBMLDocument object. /// @param y a double to use as the value of the "y" attribute of this element. /// @param segmentIndex an int representing the index of the element to retrieve. @@ -4282,6 +5457,9 @@ namespace LIBSBMLNETWORK_CPP_NAMESPACE { /// @return integer value indicating success/failure of the function. LIBSBMLNETWORK_EXTERN int c_api_setSpeciesGeometricShapeSegmentY(SBMLDocument* document, const double y, int segmentIndex = 0, int layoutIndex = 0); + /// @brief Returns the value of the "y" attribute of the element at the given index of the Transformation2D at the given index of the RenderGroup of the Style of all ReactionGlyph objects in this Layout object. + /// @param document a pointer to the SBMLDocument object. + /// @return the "y" attribute of the element for all ReactionGlyph objects, or @c 0.0 if the object is @c NULL LIBSBMLNETWORK_EXTERN const double c_api_getReactionsGeometricShapeSegmentY(SBMLDocument* document); /// @brief Sets the value of the "y" attribute of element at the given index of the Transformation2D at the given index of the RenderGroup of the Style of all ReactionGlyph object in this Layout object. @@ -4323,9 +5501,12 @@ namespace LIBSBMLNETWORK_CPP_NAMESPACE { /// @return integer value indicating success/failure of the function. LIBSBMLNETWORK_EXTERN int c_api_setGeometricShapeSegmentBasePoint1X(SBMLDocument* document, const char* id, const double x, int segmentIndex = 0, int geometricShapeIndex = 0, int graphicalObjectIndex = 0, int layoutIndex = 0); + /// @brief Returns the value of the "x" attribute of base point 1 of the element at the given index of the Transformation2D at the given index of the RenderGroup of the Style of all CompartmentGlyph objects in this Layout object. + /// @param document a pointer to the SBMLDocument object. + /// @return the "x" attribute of base point 1 of the element for all CompartmentGlyph objects, or @c 0.0 if the object is @c NULL LIBSBMLNETWORK_EXTERN const double c_api_getCompartmentsGeometricShapeSegmentBasePoint1X(SBMLDocument* document); - /// @brief Sets the value of the "x" attribute of base point 1 of element at the given index of the Transformation2D at the given index of the RenderGroup of the Style of all CompartmentGlyph object in this Layout object. + /// @brief Sets the value of the "x" attribute of base point 1 of the element at the given index of the Transformation2D at the given index of the RenderGroup of the Style of all CompartmentGlyph objects in this Layout object. /// @param document a pointer to the SBMLDocument object. /// @param x a double to use as the value of the "x" attribute of base point 1 of this element. /// @param segmentIndex an int representing the index of the element to retrieve. @@ -4333,9 +5514,12 @@ namespace LIBSBMLNETWORK_CPP_NAMESPACE { /// @return integer value indicating success/failure of the function. LIBSBMLNETWORK_EXTERN int c_api_setCompartmentsGeometricShapeSegmentBasePoint1X(SBMLDocument* document, const double x, int segmentIndex = 0, int layoutIndex = 0); + /// @brief Returns the value of the "x" attribute of base point 1 of the element at the given index of the Transformation2D at the given index of the RenderGroup of the Style of all SpeciesGlyph objects in this Layout object. + /// @param document a pointer to the SBMLDocument object. + /// @return the "x" attribute of base point 1 of the element for all SpeciesGlyph objects, or @c 0.0 if the object is @c NULL LIBSBMLNETWORK_EXTERN const double c_api_getSpeciesGeometricShapeSegmentBasePoint1X(SBMLDocument* document); - /// @brief Sets the value of the "x" attribute of base point 1 of element at the given index of the Transformation2D at the given index of the RenderGroup of the Style of all SpeciesGlyph object in this Layout object. + /// @brief Sets the value of the "x" attribute of base point 1 of the element at the given index of the Transformation2D at the given index of the RenderGroup of the Style of all SpeciesGlyph objects in this Layout object. /// @param document a pointer to the SBMLDocument object. /// @param x a double to use as the value of the "x" attribute of base point 1 of this element. /// @param segmentIndex an int representing the index of the element to retrieve. @@ -4343,6 +5527,9 @@ namespace LIBSBMLNETWORK_CPP_NAMESPACE { /// @return integer value indicating success/failure of the function. LIBSBMLNETWORK_EXTERN int c_api_setSpeciesGeometricShapeSegmentBasePoint1X(SBMLDocument* document, const double x, int segmentIndex = 0, int layoutIndex = 0); + /// @brief Returns the value of the "x" attribute of base point 1 of the element at the given index of the Transformation2D at the given index of the RenderGroup of the Style of all ReactionGlyph objects in this Layout object. + /// @param document a pointer to the SBMLDocument object. + /// @return the "x" attribute of base point 1 of the element for all ReactionGlyph objects, or @c 0.0 if the object is @c NULL LIBSBMLNETWORK_EXTERN const double c_api_getReactionsGeometricShapeSegmentBasePoint1X(SBMLDocument* document); /// @brief Sets the value of the "x" attribute of base point 1 of element at the given index of the Transformation2D at the given index of the RenderGroup of the Style of all ReactionGlyph object in this Layout object. @@ -4383,9 +5570,12 @@ namespace LIBSBMLNETWORK_CPP_NAMESPACE { /// @return integer value indicating success/failure of the function. LIBSBMLNETWORK_EXTERN int c_api_setGeometricShapeSegmentBasePoint1Y(SBMLDocument* document, const char* id, const double y, int segmentIndex = 0, int geometricShapeIndex = 0, int graphicalObjectIndex = 0, int layoutIndex = 0); + /// @brief Returns the value of the "y" attribute of base point 1 of the element at the given index of the Transformation2D at the given index of the RenderGroup of the Style of all CompartmentGlyph objects in this Layout object. + /// @param document a pointer to the SBMLDocument object. + /// @return the "y" attribute of base point 1 of the element for all CompartmentGlyph objects, or @c 0.0 if the object is @c NULL LIBSBMLNETWORK_EXTERN const double c_api_getCompartmentsGeometricShapeSegmentBasePoint1Y(SBMLDocument* document); - /// @brief Sets the value of the "y" attribute of base point 1 of element at the given index of the Transformation2D at the given index of the RenderGroup of the Style of all CompartmentGlyph object in this Layout object. + /// @brief Sets the value of the "y" attribute of base point 1 of the element at the given index of the Transformation2D at the given index of the RenderGroup of the Style of all CompartmentGlyph objects in this Layout object. /// @param document a pointer to the SBMLDocument object. /// @param y a double to use as the value of the "y" attribute of base point 1 of this element. /// @param segmentIndex an int representing the index of the element to retrieve. @@ -4393,9 +5583,12 @@ namespace LIBSBMLNETWORK_CPP_NAMESPACE { /// @return integer value indicating success/failure of the function. LIBSBMLNETWORK_EXTERN int c_api_setCompartmentsGeometricShapeSegmentBasePoint1Y(SBMLDocument* document, const double y, int segmentIndex = 0, int layoutIndex = 0); + /// @brief Returns the value of the "y" attribute of base point 1 of the element at the given index of the Transformation2D at the given index of the RenderGroup of the Style of all SpeciesGlyph objects in this Layout object. + /// @param document a pointer to the SBMLDocument object. + /// @return the "y" attribute of base point 1 of the element for all SpeciesGlyph objects, or @c 0.0 if the object is @c NULL LIBSBMLNETWORK_EXTERN const double c_api_getSpeciesGeometricShapeSegmentBasePoint1Y(SBMLDocument* document); - /// @brief Sets the value of the "y" attribute of base point 1 of element at the given index of the Transformation2D at the given index of the RenderGroup of the Style of all SpeciesGlyph object in this Layout object. + /// @brief Sets the value of the "y" attribute of base point 1 of the element at the given index of the Transformation2D at the given index of the RenderGroup of the Style of all SpeciesGlyph objects in this Layout object. /// @param document a pointer to the SBMLDocument object. /// @param y a double to use as the value of the "y" attribute of base point 1 of this element. /// @param segmentIndex an int representing the index of the element to retrieve. @@ -4403,6 +5596,9 @@ namespace LIBSBMLNETWORK_CPP_NAMESPACE { /// @return integer value indicating success/failure of the function. LIBSBMLNETWORK_EXTERN int c_api_setSpeciesGeometricShapeSegmentBasePoint1Y(SBMLDocument* document, const double y, int segmentIndex = 0, int layoutIndex = 0); + /// @brief Returns the value of the "y" attribute of base point 1 of the element at the given index of the Transformation2D at the given index of the RenderGroup of the Style of all ReactionGlyph objects in this Layout object. + /// @param document a pointer to the SBMLDocument object. + /// @return the "y" attribute of base point 1 of the element for all ReactionGlyph objects, or @c 0.0 if the object is @c NULL LIBSBMLNETWORK_EXTERN const double c_api_getReactionsGeometricShapeSegmentBasePoint1Y(SBMLDocument* document); /// @brief Sets the value of the "y" attribute of base point 1 of element at the given index of the Transformation2D at the given index of the RenderGroup of the Style of all ReactionGlyph object in this Layout object. @@ -4443,9 +5639,12 @@ namespace LIBSBMLNETWORK_CPP_NAMESPACE { /// @return integer value indicating success/failure of the function. LIBSBMLNETWORK_EXTERN int c_api_setGeometricShapeSegmentBasePoint2X(SBMLDocument* document, const char* id, const double x, int segmentIndex = 0, int geometricShapeIndex = 0, int graphicalObjectIndex = 0, int layoutIndex = 0); + /// @brief Returns the value of the "x" attribute of base point 2 of the element at the given index of the Transformation2D at the given index of the RenderGroup of the Style of all CompartmentGlyph objects in this Layout object. + /// @param document a pointer to the SBMLDocument object. + /// @return the "x" attribute of base point 2 of the element for all CompartmentGlyph objects, or @c 0.0 if the object is @c NULL LIBSBMLNETWORK_EXTERN const double c_api_getCompartmentsGeometricShapeSegmentBasePoint2X(SBMLDocument* document); - /// @brief Sets the value of the "x" attribute of base point 2 of element at the given index of the Transformation2D at the given index of the RenderGroup of the Style of all CompartmentGlyph object in this Layout object. + /// @brief Sets the value of the "x" attribute of base point 2 of the element at the given index of the Transformation2D at the given index of the RenderGroup of the Style of all CompartmentGlyph objects in this Layout object. /// @param document a pointer to the SBMLDocument object. /// @param x a double to use as the value of the "x" attribute of base point 2 of this element. /// @param segmentIndex an int representing the index of the element to retrieve. @@ -4453,9 +5652,12 @@ namespace LIBSBMLNETWORK_CPP_NAMESPACE { /// @return integer value indicating success/failure of the function. LIBSBMLNETWORK_EXTERN int c_api_setCompartmentsGeometricShapeSegmentBasePoint2X(SBMLDocument* document, const double x, int segmentIndex = 0, int layoutIndex = 0); + /// @brief Returns the value of the "x" attribute of base point 2 of the element at the given index of the Transformation2D at the given index of the RenderGroup of the Style of all SpeciesGlyph objects in this Layout object. + /// @param document a pointer to the SBMLDocument object. + /// @return the "x" attribute of base point 2 of the element for all SpeciesGlyph objects, or @c 0.0 if the object is @c NULL LIBSBMLNETWORK_EXTERN const double c_api_getSpeciesGeometricShapeSegmentBasePoint2X(SBMLDocument* document); - /// @brief Sets the value of the "x" attribute of base point 2 of element at the given index of the Transformation2D at the given index of the RenderGroup of the Style of all SpeciesGlyph object in this Layout object. + /// @brief Sets the value of the "x" attribute of base point 2 of the element at the given index of the Transformation2D at the given index of the RenderGroup of the Style of all SpeciesGlyph objects in this Layout object. /// @param document a pointer to the SBMLDocument object. /// @param x a double to use as the value of the "x" attribute of base point 2 of this element. /// @param segmentIndex an int representing the index of the element to retrieve. @@ -4463,6 +5665,9 @@ namespace LIBSBMLNETWORK_CPP_NAMESPACE { /// @return integer value indicating success/failure of the function. LIBSBMLNETWORK_EXTERN int c_api_setSpeciesGeometricShapeSegmentBasePoint2X(SBMLDocument* document, const double x, int segmentIndex = 0, int layoutIndex = 0); + /// @brief Returns the value of the "x" attribute of base point 2 of the element at the given index of the Transformation2D at the given index of the RenderGroup of the Style of all ReactionGlyph objects in this Layout object. + /// @param document a pointer to the SBMLDocument object. + /// @return the "x" attribute of base point 2 of the element for all ReactionGlyph objects, or @c 0.0 if the object is @c NULL LIBSBMLNETWORK_EXTERN const double c_api_getReactionsGeometricShapeSegmentBasePoint2X(SBMLDocument* document); /// @brief Sets the value of the "x" attribute of base point 2 of element at the given index of the Transformation2D at the given index of the RenderGroup of the Style of all ReactionGlyph object in this Layout object. @@ -4503,9 +5708,12 @@ namespace LIBSBMLNETWORK_CPP_NAMESPACE { /// @return integer value indicating success/failure of the function. LIBSBMLNETWORK_EXTERN int c_api_setGeometricShapeSegmentBasePoint2Y(SBMLDocument* document, const char* id, const double y, int segmentIndex = 0, int geometricShapeIndex = 0, int graphicalObjectIndex = 0, int layoutIndex = 0); + /// @brief Returns the value of the "y" attribute of base point 2 of the element at the given index of the Transformation2D at the given index of the RenderGroup of the Style of all CompartmentGlyph objects in this Layout object. + /// @param document a pointer to the SBMLDocument object. + /// @return the "y" attribute of base point 2 of the element for all CompartmentGlyph objects, or @c 0.0 if the object is @c NULL LIBSBMLNETWORK_EXTERN const double c_api_getCompartmentsGeometricShapeSegmentBasePoint2Y(SBMLDocument* document); - /// @brief Sets the value of the "y" attribute of base point 2 of element at the given index of the Transformation2D at the given index of the RenderGroup of the Style of all CompartmentGlyph object in this Layout object. + /// @brief Sets the value of the "y" attribute of base point 2 of the element at the given index of the Transformation2D at the given index of the RenderGroup of the Style of all CompartmentGlyph objects in this Layout object. /// @param document a pointer to the SBMLDocument object. /// @param y a double to use as the value of the "y" attribute of base point 2 of this element. /// @param segmentIndex an int representing the index of the element to retrieve. @@ -4513,9 +5721,12 @@ namespace LIBSBMLNETWORK_CPP_NAMESPACE { /// @return integer value indicating success/failure of the function. LIBSBMLNETWORK_EXTERN int c_api_setCompartmentsGeometricShapeSegmentBasePoint2Y(SBMLDocument* document, const double y, int segmentIndex = 0, int layoutIndex = 0); + /// @brief Returns the value of the "y" attribute of base point 2 of the element at the given index of the Transformation2D at the given index of the RenderGroup of the Style of all SpeciesGlyph objects in this Layout object. + /// @param document a pointer to the SBMLDocument object. + /// @return the "y" attribute of base point 2 of the element for all SpeciesGlyph objects, or @c 0.0 if the object is @c NULL LIBSBMLNETWORK_EXTERN const double c_api_getSpeciesGeometricShapeSegmentBasePoint2Y(SBMLDocument* document); - /// @brief Sets the value of the "y" attribute of base point 2 of element at the given index of the Transformation2D at the given index of the RenderGroup of the Style of all SpeciesGlyph object in this Layout object. + /// @brief Sets the value of the "y" attribute of base point 2 of the element at the given index of the Transformation2D at the given index of the RenderGroup of the Style of all SpeciesGlyph objects in this Layout object. /// @param document a pointer to the SBMLDocument object. /// @param y a double to use as the value of the "y" attribute of base point 2 of this element. /// @param segmentIndex an int representing the index of the element to retrieve. @@ -4523,6 +5734,9 @@ namespace LIBSBMLNETWORK_CPP_NAMESPACE { /// @return integer value indicating success/failure of the function. LIBSBMLNETWORK_EXTERN int c_api_setSpeciesGeometricShapeSegmentBasePoint2Y(SBMLDocument* document, const double y, int segmentIndex = 0, int layoutIndex = 0); + /// @brief Returns the value of the "y" attribute of base point 2 of the element at the given index of the Transformation2D at the given index of the RenderGroup of the Style of all ReactionGlyph objects in this Layout object. + /// @param document a pointer to the SBMLDocument object. + /// @return the "y" attribute of base point 2 of the element for all ReactionGlyph objects, or @c 0.0 if the object is @c NULL LIBSBMLNETWORK_EXTERN const double c_api_getReactionsGeometricShapeSegmentBasePoint2Y(SBMLDocument* document); /// @brief Sets the value of the "y" attribute of base point 2 of element at the given index of the Transformation2D at the given index of the RenderGroup of the Style of all ReactionGlyph object in this Layout object. @@ -4571,24 +5785,33 @@ namespace LIBSBMLNETWORK_CPP_NAMESPACE { /// @return integer value indicating success/failure of the function. LIBSBMLNETWORK_EXTERN int c_api_setGeometricShapeHref(SBMLDocument* document, const char* id, const char* href, int geometricShapeIndex = 0, int graphicalObjectIndex = 0, int layoutIndex = 0); + /// @brief Returns the value of the "href" attribute of the Transformation2D at the given index of the RenderGroup of the Style of all CompartmentGlyph objects in this Layout object. + /// @param document a pointer to the SBMLDocument object. + /// @return the "href" attribute of the Transformation2D object for all CompartmentGlyph objects, or @c NULL if the object is @c NULL LIBSBMLNETWORK_EXTERN const char* c_api_getCompartmentsGeometricShapeHref(SBMLDocument* document); - /// @brief Sets the value of the "href" attribute of the Transformation2D at the given index of the RenderGroup of the Style of all CompartmentGlyph object in this Layout object. + /// @brief Sets the value of the "href" attribute of the Transformation2D at the given index of the RenderGroup of the Style of all CompartmentGlyph objects in this Layout object. /// @param document a pointer to the SBMLDocument object. /// @param href a string to use as the value of the "href" attribute of this Transformation2D object. /// @param layoutIndex an int representing the index of the Layout to retrieve. /// @return integer value indicating success/failure of the function. LIBSBMLNETWORK_EXTERN int c_api_setCompartmentsGeometricShapeHref(SBMLDocument* document, const char* href, int layoutIndex = 0); + /// @brief Returns the value of the "href" attribute of the Transformation2D at the given index of the RenderGroup of the Style of all SpeciesGlyph objects in this Layout object. + /// @param document a pointer to the SBMLDocument object. + /// @return the "href" attribute of the Transformation2D object for all SpeciesGlyph objects, or @c NULL if the object is @c NULL LIBSBMLNETWORK_EXTERN const char* c_api_getSpeciesGeometricShapeHref(SBMLDocument* document); - /// @brief Sets the value of the "href" attribute of the Transformation2D at the given index of the RenderGroup of the Style of all SpeciesGlyph object in this Layout object. + /// @brief Sets the value of the "href" attribute of the Transformation2D at the given index of the RenderGroup of the Style of all SpeciesGlyph objects in this Layout object. /// @param document a pointer to the SBMLDocument object. /// @param href a string to use as the value of the "href" attribute of this Transformation2D object. /// @param layoutIndex an int representing the index of the Layout to retrieve. /// @return integer value indicating success/failure of the function. LIBSBMLNETWORK_EXTERN int c_api_setSpeciesGeometricShapeHref(SBMLDocument* document, const char* href, int layoutIndex = 0); + /// @brief Returns the value of the "href" attribute of the Transformation2D at the given index of the RenderGroup of the Style of all ReactionGlyph objects in this Layout object. + /// @param document a pointer to the SBMLDocument object. + /// @return the "href" attribute of the Transformation2D object for all ReactionGlyph objects, or @c NULL if the object is @c NULL LIBSBMLNETWORK_EXTERN const char* c_api_getReactionsGeometricShapeHref(SBMLDocument* document); /// @brief Sets the value of the "href" attribute of the Transformation2D at the given index of the RenderGroup of the Style of all ReactionGlyph object in this Layout object. diff --git a/src/libsbmlnetwork_layout.cpp b/src/libsbmlnetwork_layout.cpp index f9dd0923..a71aba3f 100755 --- a/src/libsbmlnetwork_layout.cpp +++ b/src/libsbmlnetwork_layout.cpp @@ -11,8 +11,12 @@ return 0; } Layout* getLayout(ListOfLayouts* listOfLayouts, unsigned int layoutIndex) { - if (listOfLayouts) - return listOfLayouts->get(layoutIndex); + if (listOfLayouts) { + if (layoutIndex < getNumLayouts(listOfLayouts)) + return listOfLayouts->get(layoutIndex); + + std::cerr << "error: layoutIndex is out of bounds." << std::endl; + } return NULL; } diff --git a/src/libsbmlnetwork_layout_helpers.cpp b/src/libsbmlnetwork_layout_helpers.cpp index 170abd64..def125e6 100755 --- a/src/libsbmlnetwork_layout_helpers.cpp +++ b/src/libsbmlnetwork_layout_helpers.cpp @@ -1094,43 +1094,46 @@ void distributeGraphicalObjectsHorizontally(Layout* layout, std::vector graphicalObjects, const double& minX, const double& maxX, const double& distance) { - for (unsigned int i = 0; i < graphicalObjects.size(); i++) - setPositionX(layout, graphicalObjects.at(i), minX + i * distance); -} - -void distributeOddGraphicalObjectsHorizontally(Layout* layout, std::vector graphicalObjects, const double& minX, const double& maxX, const double& distance) { - for (unsigned int i = 0; i < graphicalObjects.size(); i++) - setPositionX(layout, graphicalObjects.at(i), 0.5 * (minX + maxX) + (i - 0.5 * (graphicalObjects.size() - 1)) * distance); + if (graphicalObjects.size() % 2 == 0) { + for (unsigned int i = 0; i < graphicalObjects.size(); i++) { + setPositionX(layout, graphicalObjects.at(i), minX + i * distance); + setPositionY(layout, graphicalObjects.at(i), 0.5 * (minY + maxY)); + } + } + else { + for (unsigned int i = 0; i < graphicalObjects.size(); i++) { + setPositionX(layout, graphicalObjects.at(i), + 0.5 * (minX + maxX) + (i - 0.5 * (graphicalObjects.size() - 1)) * distance); + setPositionY(layout, graphicalObjects.at(i), 0.5 * (minY + maxY)); + } + } } void distributeGraphicalObjectsVertically(Layout* layout, std::vector graphicalObjects, const double& spacing) { - if (graphicalObjects.size() > 2) + if (graphicalObjects.size() < 2) return; + double minX = getMinPositionX(graphicalObjects); + double maxX = getMaxPositionX(graphicalObjects); double minY = getMinPositionY(graphicalObjects); double maxY = getMaxPositionY(graphicalObjects); double distance = findDistributionDistance(minY, maxY, graphicalObjects.size(), spacing); - if (graphicalObjects.size() % 2 == 0) - distributeEvenGraphicalObjectsVertically(layout, graphicalObjects, minY, maxY, distance); - else - distributeOddGraphicalObjectsVertically(layout, graphicalObjects, minY, maxY, distance); -} - -void distributeEvenGraphicalObjectsVertically(Layout* layout, std::vector graphicalObjects, const double& minY, const double& maxY, const double& distance) { - for (unsigned int i = 0; i < graphicalObjects.size(); i++) - setPositionY(layout, graphicalObjects.at(i), minY + i * distance); -} -void distributeOddGraphicalObjectsVertically(Layout* layout, std::vector graphicalObjects, const double& minY, const double& maxY, const double& distance) { - for (unsigned int i = 0; i < graphicalObjects.size(); i++) - setPositionY(layout, graphicalObjects.at(i), 0.5 * (minY + maxY) + (i - 0.5 * (graphicalObjects.size() - 1)) * distance); + if (graphicalObjects.size() % 2 == 0) { + for (unsigned int i = 0; i < graphicalObjects.size(); i++) { + setPositionX(layout, graphicalObjects.at(i), 0.5 * (minX + maxX)); + setPositionY(layout, graphicalObjects.at(i), minY + i * distance); + } + } + else { + for (unsigned int i = 0; i < graphicalObjects.size(); i++) { + setPositionX(layout, graphicalObjects.at(i), 0.5 * (minX + maxX)); + setPositionY(layout, graphicalObjects.at(i), + 0.5 * (minY + maxY) + (i - 0.5 * (graphicalObjects.size() - 1)) * distance); + } + } } const double findDistributionDistance(const double& minPosition, const double& maxPosition, const unsigned int& numGraphicalObjects, const double& spacing) { @@ -1143,6 +1146,20 @@ const double findDistributionDistance(const double& minPosition, const double& m return distance; } +std::vector getSortedNodeIdsVector(std::set > nodeIds) { + std::vector sortedNodeIdsVector; + for (unsigned int nodeIdIndex = 0; nodeIdIndex < nodeIds.size(); nodeIdIndex++) { + for (std::set>::const_iterator nodeIt = nodeIds.cbegin(); nodeIt != nodeIds.cend(); nodeIt++) { + if (nodeIt->second == nodeIdIndex) { + sortedNodeIdsVector.push_back(nodeIt->first); + break; + } + } + } + + return sortedNodeIdsVector; +} + const double getMinPositionX(std::vector graphicalObjects) { if (graphicalObjects.size()) { double minX = INT_MAX; diff --git a/src/libsbmlnetwork_layout_helpers.h b/src/libsbmlnetwork_layout_helpers.h index 577045a9..9baa8985 100755 --- a/src/libsbmlnetwork_layout_helpers.h +++ b/src/libsbmlnetwork_layout_helpers.h @@ -264,6 +264,8 @@ void distributeOddGraphicalObjectsVertically(Layout* layout, std::vector getSortedNodeIdsVector(std::set > nodeIds); + const double getMinPositionX(std::vector graphicalObjects); const double getMinPositionY(std::vector graphicalObjects); diff --git a/src/libsbmlnetwork_layout_render.cpp b/src/libsbmlnetwork_layout_render.cpp index 22084cfd..6adbc26c 100644 --- a/src/libsbmlnetwork_layout_render.cpp +++ b/src/libsbmlnetwork_layout_render.cpp @@ -71,6 +71,9 @@ int setDefaultLocalRenderInformationFeatures(SBMLDocument* document, Layout* lay } int setCompartmentStrokeColor(Layout* layout, LocalRenderInformation* localRenderInformation, const std::string& stroke) { + if (layout == NULL || localRenderInformation == NULL) + return -1; + Style* style = NULL; for (unsigned int i = 0; i < layout->getNumCompartmentGlyphs(); i++) { style = getStyleById(localRenderInformation, layout->getCompartmentGlyph(i)); @@ -85,6 +88,9 @@ int setCompartmentStrokeColor(Layout* layout, LocalRenderInformation* localRende } int setSpeciesStrokeColor(Layout* layout, LocalRenderInformation* localRenderInformation, const std::string& stroke) { + if (layout == NULL || localRenderInformation == NULL) + return -1; + Style *style = NULL; for (unsigned int i = 0; i < layout->getNumSpeciesGlyphs(); i++) { style = getStyleById(localRenderInformation, layout->getSpeciesGlyph(i)); @@ -99,6 +105,9 @@ int setSpeciesStrokeColor(Layout* layout, LocalRenderInformation* localRenderInf } int setReactionStrokeColor(Layout* layout, LocalRenderInformation* localRenderInformation, const std::string& stroke) { + if (layout == NULL || localRenderInformation == NULL) + return -1; + Style *style = NULL; for (unsigned int i = 0; i < layout->getNumReactionGlyphs(); i++) { style = getStyleById(localRenderInformation, layout->getReactionGlyph(i)); @@ -113,6 +122,9 @@ int setReactionStrokeColor(Layout* layout, LocalRenderInformation* localRenderIn } int setSpeciesReferenceStrokeColor(Layout* layout, LocalRenderInformation* localRenderInformation, const std::string& stroke) { + if (layout == NULL || localRenderInformation == NULL) + return -1; + Style *style = NULL; for (unsigned int i = 0; i < layout->getNumReactionGlyphs(); i++) { for (unsigned int j = 0; j < layout->getReactionGlyph(i)->getNumSpeciesReferenceGlyphs(); j++) { @@ -129,6 +141,9 @@ int setSpeciesReferenceStrokeColor(Layout* layout, LocalRenderInformation* local } int setCompartmentStrokeWidth(Layout* layout, LocalRenderInformation* localRenderInformation, const double& width) { + if (layout == NULL || localRenderInformation == NULL) + return -1; + Style *style = NULL; for (unsigned int i = 0; i < layout->getNumCompartmentGlyphs(); i++) { style = getStyleById(localRenderInformation, layout->getCompartmentGlyph(i)); @@ -142,6 +157,9 @@ int setCompartmentStrokeWidth(Layout* layout, LocalRenderInformation* localRende } int setSpeciesStrokeWidth(Layout* layout, LocalRenderInformation* localRenderInformation, const double& width) { + if (layout == NULL || localRenderInformation == NULL) + return -1; + Style *style = NULL; for (unsigned int i = 0; i < layout->getNumSpeciesGlyphs(); i++) { style = getStyleById(localRenderInformation, layout->getSpeciesGlyph(i)); @@ -155,6 +173,9 @@ int setSpeciesStrokeWidth(Layout* layout, LocalRenderInformation* localRenderInf } int setReactionStrokeWidth(Layout* layout, LocalRenderInformation* localRenderInformation, const double& width) { + if (layout == NULL || localRenderInformation == NULL) + return -1; + Style *style = NULL; for (unsigned int i = 0; i < layout->getNumReactionGlyphs(); i++) { style = getStyleById(localRenderInformation, layout->getReactionGlyph(i)); @@ -168,6 +189,9 @@ int setReactionStrokeWidth(Layout* layout, LocalRenderInformation* localRenderIn } int setSpeciesReferenceStrokeWidth(Layout* layout, LocalRenderInformation* localRenderInformation, const double& width) { + if (layout == NULL || localRenderInformation == NULL) + return -1; + Style *style = NULL; for (unsigned int i = 0; i < layout->getNumReactionGlyphs(); i++) { for (unsigned int j = 0; j < layout->getReactionGlyph(i)->getNumSpeciesReferenceGlyphs(); j++) { @@ -183,6 +207,9 @@ int setSpeciesReferenceStrokeWidth(Layout* layout, LocalRenderInformation* local } int setCompartmentFontColor(Layout* layout, LocalRenderInformation* localRenderInformation, const std::string& fontColor) { + if (layout == NULL || localRenderInformation == NULL) + return -1; + Style *style = NULL; for (unsigned int i = 0; i < layout->getNumCompartmentGlyphs(); i++) { std::vector textGlyphs = getTextGlyphs(layout, layout->getCompartmentGlyph(i)); @@ -199,6 +226,9 @@ int setCompartmentFontColor(Layout* layout, LocalRenderInformation* localRenderI } int setSpeciesFontColor(Layout* layout, LocalRenderInformation* localRenderInformation, const std::string& fontColor) { + if (layout == NULL || localRenderInformation == NULL) + return -1; + Style *style = NULL; for (unsigned int i = 0; i < layout->getNumSpeciesGlyphs(); i++) { std::vector textGlyphs = getTextGlyphs(layout, layout->getSpeciesGlyph(i)); @@ -215,6 +245,9 @@ int setSpeciesFontColor(Layout* layout, LocalRenderInformation* localRenderInfor } int setReactionFontColor(Layout* layout, LocalRenderInformation* localRenderInformation, const std::string& fontColor) { + if (layout == NULL || localRenderInformation == NULL) + return -1; + Style *style = NULL; for (unsigned int i = 0; i < layout->getNumReactionGlyphs(); i++) { std::vector textGlyphs = getTextGlyphs(layout, layout->getReactionGlyph(i)); @@ -231,6 +264,9 @@ int setReactionFontColor(Layout* layout, LocalRenderInformation* localRenderInfo } int setCompartmentFontFamily(Layout* layout, LocalRenderInformation* localRenderInformation, const std::string& fontFamily) { + if (layout == NULL || localRenderInformation == NULL) + return -1; + Style *style = NULL; for (unsigned int i = 0; i < layout->getNumCompartmentGlyphs(); i++) { std::vector textGlyphs = getTextGlyphs(layout, layout->getCompartmentGlyph(i)); @@ -247,6 +283,9 @@ int setCompartmentFontFamily(Layout* layout, LocalRenderInformation* localRender } int setSpeciesFontFamily(Layout* layout, LocalRenderInformation* localRenderInformation, const std::string& fontFamily) { + if (layout == NULL || localRenderInformation == NULL) + return -1; + Style *style = NULL; for (unsigned int i = 0; i < layout->getNumSpeciesGlyphs(); i++) { std::vector textGlyphs = getTextGlyphs(layout, layout->getSpeciesGlyph(i)); @@ -263,6 +302,9 @@ int setSpeciesFontFamily(Layout* layout, LocalRenderInformation* localRenderInfo } int setReactionFontFamily(Layout* layout, LocalRenderInformation* localRenderInformation, const std::string& fontFamily) { + if (layout == NULL || localRenderInformation == NULL) + return -1; + Style *style = NULL; for (unsigned int i = 0; i < layout->getNumReactionGlyphs(); i++) { std::vector textGlyphs = getTextGlyphs(layout, layout->getReactionGlyph(i)); @@ -279,6 +321,9 @@ int setReactionFontFamily(Layout* layout, LocalRenderInformation* localRenderInf } int setCompartmentFontSize(Layout* layout, LocalRenderInformation* localRenderInformation, const RelAbsVector& fontSize) { + if (layout == NULL || localRenderInformation == NULL) + return -1; + Style *style = NULL; for (unsigned int i = 0; i < layout->getNumCompartmentGlyphs(); i++) { std::vector textGlyphs = getTextGlyphs(layout, layout->getCompartmentGlyph(i)); @@ -295,12 +340,18 @@ int setCompartmentFontSize(Layout* layout, LocalRenderInformation* localRenderIn } int setCompartmentFontSizeAsDouble(Layout* layout, LocalRenderInformation* localRenderInformation, const double& fontSize) { + if (layout == NULL || localRenderInformation == NULL) + return -1; + RelAbsVector fontSizeVector; fontSizeVector.setAbsoluteValue(fontSize); return setCompartmentFontSize(layout, localRenderInformation, fontSizeVector); } int setSpeciesFontSize(Layout* layout, LocalRenderInformation* localRenderInformation, const RelAbsVector& fontSize) { + if (layout == NULL || localRenderInformation == NULL) + return -1; + Style *style = NULL; for (unsigned int i = 0; i < layout->getNumSpeciesGlyphs(); i++) { std::vector textGlyphs = getTextGlyphs(layout, layout->getSpeciesGlyph(i)); @@ -317,12 +368,18 @@ int setSpeciesFontSize(Layout* layout, LocalRenderInformation* localRenderInform } int setSpeciesFontSizeAsDouble(Layout* layout, LocalRenderInformation* localRenderInformation, const double& fontSize) { + if (layout == NULL || localRenderInformation == NULL) + return -1; + RelAbsVector fontSizeVector; fontSizeVector.setAbsoluteValue(fontSize); return setSpeciesFontSize(layout, localRenderInformation, fontSizeVector); } int setReactionFontSize(Layout* layout, LocalRenderInformation* localRenderInformation, const RelAbsVector& fontSize) { + if (layout == NULL || localRenderInformation == NULL) + return -1; + Style *style = NULL; for (unsigned int i = 0; i < layout->getNumReactionGlyphs(); i++) { std::vector textGlyphs = getTextGlyphs(layout, layout->getReactionGlyph(i)); @@ -339,12 +396,18 @@ int setReactionFontSize(Layout* layout, LocalRenderInformation* localRenderInfor } int setReactionFontSizeAsDouble(Layout* layout, LocalRenderInformation* localRenderInformation, const double& fontSize) { + if (layout == NULL || localRenderInformation == NULL) + return -1; + RelAbsVector fontSizeVector; fontSizeVector.setAbsoluteValue(fontSize); return setReactionFontSize(layout, localRenderInformation, fontSizeVector); } int setCompartmentFontWeight(Layout* layout, LocalRenderInformation* localRenderInformation, const std::string& fontWeight) { + if (layout == NULL || localRenderInformation == NULL) + return -1; + Style *style = NULL; for (unsigned int i = 0; i < layout->getNumCompartmentGlyphs(); i++) { std::vector textGlyphs = getTextGlyphs(layout, layout->getCompartmentGlyph(i)); @@ -361,6 +424,9 @@ int setCompartmentFontWeight(Layout* layout, LocalRenderInformation* localRender } int setSpeciesFontWeight(Layout* layout, LocalRenderInformation* localRenderInformation, const std::string& fontWeight) { + if (layout == NULL || localRenderInformation == NULL) + return -1; + Style *style = NULL; for (unsigned int i = 0; i < layout->getNumSpeciesGlyphs(); i++) { std::vector textGlyphs = getTextGlyphs(layout, layout->getSpeciesGlyph(i)); @@ -377,6 +443,9 @@ int setSpeciesFontWeight(Layout* layout, LocalRenderInformation* localRenderInfo } int setReactionFontWeight(Layout* layout, LocalRenderInformation* localRenderInformation, const std::string& fontWeight) { + if (layout == NULL || localRenderInformation == NULL) + return -1; + Style *style = NULL; for (unsigned int i = 0; i < layout->getNumReactionGlyphs(); i++) { std::vector textGlyphs = getTextGlyphs(layout, layout->getReactionGlyph(i)); @@ -393,6 +462,9 @@ int setReactionFontWeight(Layout* layout, LocalRenderInformation* localRenderInf } int setCompartmentFontStyle(Layout* layout, LocalRenderInformation* localRenderInformation, const std::string& fontStyle) { + if (layout == NULL || localRenderInformation == NULL) + return -1; + Style *style = NULL; for (unsigned int i = 0; i < layout->getNumCompartmentGlyphs(); i++) { std::vector textGlyphs = getTextGlyphs(layout, layout->getCompartmentGlyph(i)); @@ -409,6 +481,9 @@ int setCompartmentFontStyle(Layout* layout, LocalRenderInformation* localRenderI } int setSpeciesFontStyle(Layout* layout, LocalRenderInformation* localRenderInformation, const std::string& fontStyle) { + if (layout == NULL || localRenderInformation == NULL) + return -1; + Style *style = NULL; for (unsigned int i = 0; i < layout->getNumSpeciesGlyphs(); i++) { std::vector textGlyphs = getTextGlyphs(layout, layout->getSpeciesGlyph(i)); @@ -425,6 +500,9 @@ int setSpeciesFontStyle(Layout* layout, LocalRenderInformation* localRenderInfor } int setReactionFontStyle(Layout* layout, LocalRenderInformation* localRenderInformation, const std::string& fontStyle) { + if (layout == NULL || localRenderInformation == NULL) + return -1; + Style *style = NULL; for (unsigned int i = 0; i < layout->getNumReactionGlyphs(); i++) { std::vector textGlyphs = getTextGlyphs(layout, layout->getReactionGlyph(i)); @@ -441,6 +519,9 @@ int setReactionFontStyle(Layout* layout, LocalRenderInformation* localRenderInfo } int setCompartmentTextAnchor(Layout* layout, LocalRenderInformation* localRenderInformation, const std::string& textAnchor) { + if (layout == NULL || localRenderInformation == NULL) + return -1; + Style *style = NULL; for (unsigned int i = 0; i < layout->getNumCompartmentGlyphs(); i++) { std::vector textGlyphs = getTextGlyphs(layout, layout->getCompartmentGlyph(i)); @@ -457,6 +538,9 @@ int setCompartmentTextAnchor(Layout* layout, LocalRenderInformation* localRender } int setSpeciesTextAnchor(Layout* layout, LocalRenderInformation* localRenderInformation, const std::string& textAnchor) { + if (layout == NULL || localRenderInformation == NULL) + return -1; + Style *style = NULL; for (unsigned int i = 0; i < layout->getNumSpeciesGlyphs(); i++) { std::vector textGlyphs = getTextGlyphs(layout, layout->getSpeciesGlyph(i)); @@ -473,6 +557,9 @@ int setSpeciesTextAnchor(Layout* layout, LocalRenderInformation* localRenderInfo } int setReactionTextAnchor(Layout* layout, LocalRenderInformation* localRenderInformation, const std::string& textAnchor) { + if (layout == NULL || localRenderInformation == NULL) + return -1; + Style *style = NULL; for (unsigned int i = 0; i < layout->getNumReactionGlyphs(); i++) { std::vector textGlyphs = getTextGlyphs(layout, layout->getReactionGlyph(i)); @@ -489,6 +576,9 @@ int setReactionTextAnchor(Layout* layout, LocalRenderInformation* localRenderInf } int setCompartmentVTextAnchor(Layout* layout, LocalRenderInformation* localRenderInformation, const std::string& vTextAnchor) { + if (layout == NULL || localRenderInformation == NULL) + return -1; + Style *style = NULL; for (unsigned int i = 0; i < layout->getNumCompartmentGlyphs(); i++) { std::vector textGlyphs = getTextGlyphs(layout, layout->getCompartmentGlyph(i)); @@ -505,6 +595,9 @@ int setCompartmentVTextAnchor(Layout* layout, LocalRenderInformation* localRende } int setSpeciesVTextAnchor(Layout* layout, LocalRenderInformation* localRenderInformation, const std::string& vTextAnchor) { + if (layout == NULL || localRenderInformation == NULL) + return -1; + Style *style = NULL; for (unsigned int i = 0; i < layout->getNumSpeciesGlyphs(); i++) { std::vector textGlyphs = getTextGlyphs(layout, layout->getSpeciesGlyph(i)); @@ -521,6 +614,9 @@ int setSpeciesVTextAnchor(Layout* layout, LocalRenderInformation* localRenderInf } int setReactionVTextAnchor(Layout* layout, LocalRenderInformation* localRenderInformation, const std::string& vTextAnchor) { + if (layout == NULL || localRenderInformation == NULL) + return -1; + Style *style = NULL; for (unsigned int i = 0; i < layout->getNumReactionGlyphs(); i++) { std::vector textGlyphs = getTextGlyphs(layout, layout->getReactionGlyph(i)); @@ -537,6 +633,9 @@ int setReactionVTextAnchor(Layout* layout, LocalRenderInformation* localRenderIn } int setCompartmentFillColor(Layout* layout, LocalRenderInformation* localRenderInformation, const std::string& fillColor) { + if (layout == NULL || localRenderInformation == NULL) + return -1; + Style *style = NULL; for (unsigned int i = 0; i < layout->getNumCompartmentGlyphs(); i++) { style = getStyleById(localRenderInformation, layout->getCompartmentGlyph(i)); @@ -550,7 +649,26 @@ int setCompartmentFillColor(Layout* layout, LocalRenderInformation* localRenderI return 0; } +int setCompartmentFillColorAsGradient(Layout* layout, LocalRenderInformation* localRenderInformation, const std::string& gradientId) { + if (layout == NULL || localRenderInformation == NULL) + return -1; + + Style *style = NULL; + for (unsigned int i = 0; i < layout->getNumCompartmentGlyphs(); i++) { + style = getStyleById(localRenderInformation, layout->getCompartmentGlyph(i)); + if (style) { + if (setFillColorAsGradient(style, gradientId)) + return -1; + } + } + + return 0; +} + int setSpeciesFillColor(Layout* layout, LocalRenderInformation* localRenderInformation, const std::string& fillColor) { + if (layout == NULL || localRenderInformation == NULL) + return -1; + Style *style = NULL; for (unsigned int i = 0; i < layout->getNumSpeciesGlyphs(); i++) { style = getStyleById(localRenderInformation, layout->getSpeciesGlyph(i)); @@ -564,7 +682,26 @@ int setSpeciesFillColor(Layout* layout, LocalRenderInformation* localRenderInfor return 0; } +int setSpeciesFillColorAsGradient(Layout* layout, LocalRenderInformation* localRenderInformation, const std::string& gradientId) { + if (layout == NULL || localRenderInformation == NULL) + return -1; + + Style *style = NULL; + for (unsigned int i = 0; i < layout->getNumSpeciesGlyphs(); i++) { + style = getStyleById(localRenderInformation, layout->getSpeciesGlyph(i)); + if (style) { + if (setFillColorAsGradient(style, gradientId)) + return -1; + } + } + + return 0; +} + int setReactionFillColor(Layout* layout, LocalRenderInformation* localRenderInformation, const std::string& fillColor) { + if (layout == NULL || localRenderInformation == NULL) + return -1; + Style *style = NULL; for (unsigned int i = 0; i < layout->getNumReactionGlyphs(); i++) { style = getStyleById(localRenderInformation, layout->getReactionGlyph(i)); @@ -578,7 +715,26 @@ int setReactionFillColor(Layout* layout, LocalRenderInformation* localRenderInfo return 0; } +int setReactionFillColorAsGradient(Layout* layout, LocalRenderInformation* localRenderInformation, const std::string& gradientId) { + if (layout == NULL || localRenderInformation == NULL) + return -1; + + Style *style = NULL; + for (unsigned int i = 0; i < layout->getNumReactionGlyphs(); i++) { + style = getStyleById(localRenderInformation, layout->getReactionGlyph(i)); + if (style) { + if (setFillColorAsGradient(style, gradientId)) + return -1; + } + } + + return 0; +} + int setCompartmentFillRule(Layout* layout, LocalRenderInformation* localRenderInformation, const std::string& fillRule) { + if (layout == NULL || localRenderInformation == NULL) + return -1; + Style *style = NULL; for (unsigned int i = 0; i < layout->getNumCompartmentGlyphs(); i++) { style = getStyleById(localRenderInformation, layout->getCompartmentGlyph(i)); @@ -592,6 +748,9 @@ int setCompartmentFillRule(Layout* layout, LocalRenderInformation* localRenderIn } int setSpeciesFillRule(Layout* layout, LocalRenderInformation* localRenderInformation, const std::string& fillRule) { + if (layout == NULL || localRenderInformation == NULL) + return -1; + Style *style = NULL; for (unsigned int i = 0; i < layout->getNumSpeciesGlyphs(); i++) { style = getStyleById(localRenderInformation, layout->getSpeciesGlyph(i)); @@ -605,6 +764,9 @@ int setSpeciesFillRule(Layout* layout, LocalRenderInformation* localRenderInform } int setReactionFillRule(Layout* layout, LocalRenderInformation* localRenderInformation, const std::string& fillRule) { + if (layout == NULL || localRenderInformation == NULL) + return -1; + Style *style = NULL; for (unsigned int i = 0; i < layout->getNumReactionGlyphs(); i++) { style = getStyleById(localRenderInformation, layout->getReactionGlyph(i)); @@ -618,6 +780,9 @@ int setReactionFillRule(Layout* layout, LocalRenderInformation* localRenderInfor } int setCompartmentGeometricShapeType(Layout* layout, LocalRenderInformation* localRenderInformation, const std::string& shape) { + if (layout == NULL || localRenderInformation == NULL) + return -1; + Style *style = NULL; for (unsigned int i = 0; i < layout->getNumCompartmentGlyphs(); i++) { style = getStyleById(localRenderInformation, layout->getCompartmentGlyph(i)); @@ -631,6 +796,9 @@ int setCompartmentGeometricShapeType(Layout* layout, LocalRenderInformation* loc } int setSpeciesGeometricShapeType(Layout* layout, LocalRenderInformation* localRenderInformation, const std::string& shape) { + if (layout == NULL || localRenderInformation == NULL) + return -1; + Style *style = NULL; for (unsigned int i = 0; i < layout->getNumSpeciesGlyphs(); i++) { style = getStyleById(localRenderInformation, layout->getSpeciesGlyph(i)); @@ -644,6 +812,9 @@ int setSpeciesGeometricShapeType(Layout* layout, LocalRenderInformation* localRe } int setReactionGeometricShapeType(Layout* layout, LocalRenderInformation* localRenderInformation, const std::string& shape) { + if (layout == NULL || localRenderInformation == NULL) + return -1; + Style *style = NULL; for (unsigned int i = 0; i < layout->getNumReactionGlyphs(); i++) { style = getStyleById(localRenderInformation, layout->getReactionGlyph(i)); @@ -657,6 +828,9 @@ int setReactionGeometricShapeType(Layout* layout, LocalRenderInformation* localR } int setCompartmentGeometricShapeX(Layout* layout, LocalRenderInformation* localRenderInformation, const RelAbsVector& x) { + if (layout == NULL || localRenderInformation == NULL) + return -1; + Style *style = NULL; for (unsigned int i = 0; i < layout->getNumCompartmentGlyphs(); i++) { style = getStyleById(localRenderInformation, layout->getCompartmentGlyph(i)); @@ -670,12 +844,18 @@ int setCompartmentGeometricShapeX(Layout* layout, LocalRenderInformation* localR } int setCompartmentGeometricShapeXAsDouble(Layout* layout, LocalRenderInformation* localRenderInformation, const double& x) { + if (layout == NULL || localRenderInformation == NULL) + return -1; + RelAbsVector xVector; xVector.setAbsoluteValue(x); return setCompartmentGeometricShapeX(layout, localRenderInformation, xVector); } int setSpeciesGeometricShapeX(Layout* layout, LocalRenderInformation* localRenderInformation, const RelAbsVector& x) { + if (layout == NULL || localRenderInformation == NULL) + return -1; + Style *style = NULL; for (unsigned int i = 0; i < layout->getNumSpeciesGlyphs(); i++) { style = getStyleById(localRenderInformation, layout->getSpeciesGlyph(i)); @@ -689,12 +869,18 @@ int setSpeciesGeometricShapeX(Layout* layout, LocalRenderInformation* localRende } int setSpeciesGeometricShapeXAsDouble(Layout* layout, LocalRenderInformation* localRenderInformation, const double& x) { + if (layout == NULL || localRenderInformation == NULL) + return -1; + RelAbsVector xVector; xVector.setAbsoluteValue(x); return setSpeciesGeometricShapeX(layout, localRenderInformation, xVector); } int setReactionGeometricShapeX(Layout* layout, LocalRenderInformation* localRenderInformation, const RelAbsVector& x) { + if (layout == NULL || localRenderInformation == NULL) + return -1; + Style *style = NULL; for (unsigned int i = 0; i < layout->getNumReactionGlyphs(); i++) { style = getStyleById(localRenderInformation, layout->getReactionGlyph(i)); @@ -708,12 +894,18 @@ int setReactionGeometricShapeX(Layout* layout, LocalRenderInformation* localRend } int setReactionGeometricShapeXAsDouble(Layout* layout, LocalRenderInformation* localRenderInformation, const double& x) { + if (layout == NULL || localRenderInformation == NULL) + return -1; + RelAbsVector xVector; xVector.setAbsoluteValue(x); return setReactionGeometricShapeX(layout, localRenderInformation, xVector); } int setCompartmentGeometricShapeY(Layout* layout, LocalRenderInformation* localRenderInformation, const RelAbsVector& y) { + if (layout == NULL || localRenderInformation == NULL) + return -1; + Style *style = NULL; for (unsigned int i = 0; i < layout->getNumCompartmentGlyphs(); i++) { style = getStyleById(localRenderInformation, layout->getCompartmentGlyph(i)); @@ -733,6 +925,9 @@ int setCompartmentGeometricShapeYAsDouble(Layout* layout, LocalRenderInformation } int setSpeciesGeometricShapeY(Layout* layout, LocalRenderInformation* localRenderInformation, const RelAbsVector& y) { + if (layout == NULL || localRenderInformation == NULL) + return -1; + Style *style = NULL; for (unsigned int i = 0; i < layout->getNumSpeciesGlyphs(); i++) { style = getStyleById(localRenderInformation, layout->getSpeciesGlyph(i)); @@ -752,6 +947,9 @@ int setSpeciesGeometricShapeYAsDouble(Layout* layout, LocalRenderInformation* lo } int setReactionGeometricShapeY(Layout* layout, LocalRenderInformation* localRenderInformation, const RelAbsVector& y) { + if (layout == NULL || localRenderInformation == NULL) + return -1; + Style *style = NULL; for (unsigned int i = 0; i < layout->getNumReactionGlyphs(); i++) { style = getStyleById(localRenderInformation, layout->getReactionGlyph(i)); @@ -771,6 +969,9 @@ int setReactionGeometricShapeYAsDouble(Layout* layout, LocalRenderInformation* l } int setCompartmentGeometricShapeWidth(Layout* layout, LocalRenderInformation* localRenderInformation, const RelAbsVector& width) { + if (layout == NULL || localRenderInformation == NULL) + return -1; + Style *style = NULL; for (unsigned int i = 0; i < layout->getNumCompartmentGlyphs(); i++) { style = getStyleById(localRenderInformation, layout->getCompartmentGlyph(i)); @@ -790,6 +991,9 @@ int setCompartmentGeometricShapeWidthAsDouble(Layout* layout, LocalRenderInforma } int setSpeciesGeometricShapeWidth(Layout* layout, LocalRenderInformation* localRenderInformation, const RelAbsVector& width) { + if (layout == NULL || localRenderInformation == NULL) + return -1; + Style *style = NULL; for (unsigned int i = 0; i < layout->getNumSpeciesGlyphs(); i++) { style = getStyleById(localRenderInformation, layout->getSpeciesGlyph(i)); @@ -809,6 +1013,9 @@ int setSpeciesGeometricShapeWidthAsDouble(Layout* layout, LocalRenderInformation } int setReactionGeometricShapeWidth(Layout* layout, LocalRenderInformation* localRenderInformation, const RelAbsVector& width) { + if (layout == NULL || localRenderInformation == NULL) + return -1; + Style *style = NULL; for (unsigned int i = 0; i < layout->getNumReactionGlyphs(); i++) { style = getStyleById(localRenderInformation, layout->getReactionGlyph(i)); @@ -828,6 +1035,9 @@ int setReactionGeometricShapeWidthAsDouble(Layout* layout, LocalRenderInformatio } int setCompartmentGeometricShapeHeight(Layout* layout, LocalRenderInformation* localRenderInformation, const RelAbsVector& height) { + if (layout == NULL || localRenderInformation == NULL) + return -1; + Style *style = NULL; for (unsigned int i = 0; i < layout->getNumCompartmentGlyphs(); i++) { style = getStyleById(localRenderInformation, layout->getCompartmentGlyph(i)); @@ -847,6 +1057,9 @@ int setCompartmentGeometricShapeHeightAsDouble(Layout* layout, LocalRenderInform } int setSpeciesGeometricShapeHeight(Layout* layout, LocalRenderInformation* localRenderInformation, const RelAbsVector& height) { + if (layout == NULL || localRenderInformation == NULL) + return -1; + Style *style = NULL; for (unsigned int i = 0; i < layout->getNumSpeciesGlyphs(); i++) { style = getStyleById(localRenderInformation, layout->getSpeciesGlyph(i)); @@ -866,6 +1079,9 @@ int setSpeciesGeometricShapeHeightAsDouble(Layout* layout, LocalRenderInformatio } int setReactionGeometricShapeHeight(Layout* layout, LocalRenderInformation* localRenderInformation, const RelAbsVector& height) { + if (layout == NULL || localRenderInformation == NULL) + return -1; + Style *style = NULL; for (unsigned int i = 0; i < layout->getNumReactionGlyphs(); i++) { style = getStyleById(localRenderInformation, layout->getReactionGlyph(i)); @@ -885,6 +1101,9 @@ int setReactionGeometricShapeHeightAsDouble(Layout* layout, LocalRenderInformati } int setCompartmentGeometricShapeRatio(Layout* layout, LocalRenderInformation* localRenderInformation, const double& ratio) { + if (layout == NULL || localRenderInformation == NULL) + return -1; + Style *style = NULL; for (unsigned int i = 0; i < layout->getNumCompartmentGlyphs(); i++) { style = getStyleById(localRenderInformation, layout->getCompartmentGlyph(i)); @@ -898,6 +1117,9 @@ int setCompartmentGeometricShapeRatio(Layout* layout, LocalRenderInformation* lo } int setSpeciesGeometricShapeRatio(Layout* layout, LocalRenderInformation* localRenderInformation, const double& ratio) { + if (layout == NULL || localRenderInformation == NULL) + return -1; + Style *style = NULL; for (unsigned int i = 0; i < layout->getNumSpeciesGlyphs(); i++) { style = getStyleById(localRenderInformation, layout->getSpeciesGlyph(i)); @@ -924,6 +1146,9 @@ int setReactionGeometricShapeRatio(Layout* layout, LocalRenderInformation* local } int setCompartmentGeometricShapeCornerCurvatureRadiusX(Layout* layout, LocalRenderInformation* localRenderInformation, const RelAbsVector& radiusX) { + if (layout == NULL || localRenderInformation == NULL) + return -1; + Style *style = NULL; for (unsigned int i = 0; i < layout->getNumCompartmentGlyphs(); i++) { style = getStyleById(localRenderInformation, layout->getCompartmentGlyph(i)); @@ -943,6 +1168,9 @@ int setCompartmentGeometricShapeCornerCurvatureRadiusXAsDouble(Layout* layout, L } int setSpeciesGeometricShapeCornerCurvatureRadiusX(Layout* layout, LocalRenderInformation* localRenderInformation, const RelAbsVector& radiusX) { + if (layout == NULL || localRenderInformation == NULL) + return -1; + Style *style = NULL; for (unsigned int i = 0; i < layout->getNumSpeciesGlyphs(); i++) { style = getStyleById(localRenderInformation, layout->getSpeciesGlyph(i)); @@ -962,6 +1190,9 @@ int setSpeciesGeometricShapeCornerCurvatureRadiusXAsDouble(Layout* layout, Local } int setReactionGeometricShapeCornerCurvatureRadiusX(Layout* layout, LocalRenderInformation* localRenderInformation, const RelAbsVector& radiusX) { + if (layout == NULL || localRenderInformation == NULL) + return -1; + Style *style = NULL; for (unsigned int i = 0; i < layout->getNumReactionGlyphs(); i++) { style = getStyleById(localRenderInformation, layout->getReactionGlyph(i)); @@ -981,6 +1212,9 @@ int setReactionGeometricShapeCornerCurvatureRadiusXAsDouble(Layout* layout, Loca } int setCompartmentGeometricShapeCornerCurvatureRadiusY(Layout* layout, LocalRenderInformation* localRenderInformation, const RelAbsVector& radiusY) { + if (layout == NULL || localRenderInformation == NULL) + return -1; + Style *style = NULL; for (unsigned int i = 0; i < layout->getNumCompartmentGlyphs(); i++) { style = getStyleById(localRenderInformation, layout->getCompartmentGlyph(i)); @@ -1000,6 +1234,9 @@ int setCompartmentGeometricShapeCornerCurvatureRadiusYAsDouble(Layout* layout, L } int setSpeciesGeometricShapeCornerCurvatureRadiusY(Layout* layout, LocalRenderInformation* localRenderInformation, const RelAbsVector& radiusY) { + if (layout == NULL || localRenderInformation == NULL) + return -1; + Style *style = NULL; for (unsigned int i = 0; i < layout->getNumSpeciesGlyphs(); i++) { style = getStyleById(localRenderInformation, layout->getSpeciesGlyph(i)); @@ -1019,6 +1256,9 @@ int setSpeciesGeometricShapeCornerCurvatureRadiusYAsDouble(Layout* layout, Local } int setReactionGeometricShapeCornerCurvatureRadiusY(Layout* layout, LocalRenderInformation* localRenderInformation, const RelAbsVector& radiusY) { + if (layout == NULL || localRenderInformation == NULL) + return -1; + Style *style = NULL; for (unsigned int i = 0; i < layout->getNumReactionGlyphs(); i++) { style = getStyleById(localRenderInformation, layout->getReactionGlyph(i)); @@ -1038,6 +1278,9 @@ int setReactionGeometricShapeCornerCurvatureRadiusYAsDouble(Layout* layout, Loca } int setCompartmentGeometricShapeCenterX(Layout* layout, LocalRenderInformation* localRenderInformation, const RelAbsVector& centerX) { + if (layout == NULL || localRenderInformation == NULL) + return -1; + Style *style = NULL; for (unsigned int i = 0; i < layout->getNumCompartmentGlyphs(); i++) { style = getStyleById(localRenderInformation, layout->getCompartmentGlyph(i)); @@ -1057,6 +1300,9 @@ int setCompartmentGeometricShapeCenterXAsDouble(Layout* layout, LocalRenderInfor } int setSpeciesGeometricShapeCenterX(Layout* layout, LocalRenderInformation* localRenderInformation, const RelAbsVector& centerX) { + if (layout == NULL || localRenderInformation == NULL) + return -1; + Style *style = NULL; for (unsigned int i = 0; i < layout->getNumSpeciesGlyphs(); i++) { style = getStyleById(localRenderInformation, layout->getSpeciesGlyph(i)); @@ -1076,6 +1322,9 @@ int setSpeciesGeometricShapeCenterXAsDouble(Layout* layout, LocalRenderInformati } int setReactionGeometricShapeCenterX(Layout* layout, LocalRenderInformation* localRenderInformation, const RelAbsVector& centerX) { + if (layout == NULL || localRenderInformation == NULL) + return -1; + Style *style = NULL; for (unsigned int i = 0; i < layout->getNumReactionGlyphs(); i++) { style = getStyleById(localRenderInformation, layout->getReactionGlyph(i)); @@ -1095,6 +1344,9 @@ int setReactionGeometricShapeCenterXAsDouble(Layout* layout, LocalRenderInformat } int setCompartmentGeometricShapeCenterY(Layout* layout, LocalRenderInformation* localRenderInformation, const RelAbsVector& centerY) { + if (layout == NULL || localRenderInformation == NULL) + return -1; + Style *style = NULL; for (unsigned int i = 0; i < layout->getNumCompartmentGlyphs(); i++) { style = getStyleById(localRenderInformation, layout->getCompartmentGlyph(i)); @@ -1114,6 +1366,9 @@ int setCompartmentGeometricShapeCenterYAsDouble(Layout* layout, LocalRenderInfor } int setSpeciesGeometricShapeCenterY(Layout* layout, LocalRenderInformation* localRenderInformation, const RelAbsVector& centerY) { + if (layout == NULL || localRenderInformation == NULL) + return -1; + Style *style = NULL; for (unsigned int i = 0; i < layout->getNumSpeciesGlyphs(); i++) { style = getStyleById(localRenderInformation, layout->getSpeciesGlyph(i)); @@ -1133,6 +1388,9 @@ int setSpeciesGeometricShapeCenterYAsDouble(Layout* layout, LocalRenderInformati } int setReactionGeometricShapeCenterY(Layout* layout, LocalRenderInformation* localRenderInformation, const RelAbsVector& centerY) { + if (layout == NULL || localRenderInformation == NULL) + return -1; + Style *style = NULL; for (unsigned int i = 0; i < layout->getNumReactionGlyphs(); i++) { style = getStyleById(localRenderInformation, layout->getReactionGlyph(i)); @@ -1152,6 +1410,9 @@ int setReactionGeometricShapeCenterYAsDouble(Layout* layout, LocalRenderInformat } int setCompartmentGeometricShapeRadiusX(Layout* layout, LocalRenderInformation* localRenderInformation, const RelAbsVector& radiusX) { + if (layout == NULL || localRenderInformation == NULL) + return -1; + Style *style = NULL; for (unsigned int i = 0; i < layout->getNumCompartmentGlyphs(); i++) { style = getStyleById(localRenderInformation, layout->getCompartmentGlyph(i)); @@ -1171,6 +1432,9 @@ int setCompartmentGeometricShapeRadiusXAsDouble(Layout* layout, LocalRenderInfor } int setSpeciesGeometricShapeRadiusX(Layout* layout, LocalRenderInformation* localRenderInformation, const RelAbsVector& radiusX) { + if (layout == NULL || localRenderInformation == NULL) + return -1; + Style *style = NULL; for (unsigned int i = 0; i < layout->getNumSpeciesGlyphs(); i++) { style = getStyleById(localRenderInformation, layout->getSpeciesGlyph(i)); @@ -1190,6 +1454,9 @@ int setSpeciesGeometricShapeRadiusXAsDouble(Layout* layout, LocalRenderInformati } int setReactionGeometricShapeRadiusX(Layout* layout, LocalRenderInformation* localRenderInformation, const RelAbsVector& radiusX) { + if (layout == NULL || localRenderInformation == NULL) + return -1; + Style *style = NULL; for (unsigned int i = 0; i < layout->getNumReactionGlyphs(); i++) { style = getStyleById(localRenderInformation, layout->getReactionGlyph(i)); @@ -1209,6 +1476,9 @@ int setReactionGeometricShapeRadiusXAsDouble(Layout* layout, LocalRenderInformat } int setCompartmentGeometricShapeRadiusY(Layout* layout, LocalRenderInformation* localRenderInformation, const RelAbsVector& radiusY) { + if (layout == NULL || localRenderInformation == NULL) + return -1; + Style *style = NULL; for (unsigned int i = 0; i < layout->getNumCompartmentGlyphs(); i++) { style = getStyleById(localRenderInformation, layout->getCompartmentGlyph(i)); @@ -1228,6 +1498,9 @@ int setCompartmentGeometricShapeRadiusYAsDouble(Layout* layout, LocalRenderInfor } int setSpeciesGeometricShapeRadiusY(Layout* layout, LocalRenderInformation* localRenderInformation, const RelAbsVector& radiusY) { + if (layout == NULL || localRenderInformation == NULL) + return -1; + Style *style = NULL; for (unsigned int i = 0; i < layout->getNumSpeciesGlyphs(); i++) { style = getStyleById(localRenderInformation, layout->getSpeciesGlyph(i)); @@ -1247,6 +1520,9 @@ int setSpeciesGeometricShapeRadiusYAsDouble(Layout* layout, LocalRenderInformati } int setReactionGeometricShapeRadiusY(Layout* layout, LocalRenderInformation* localRenderInformation, const RelAbsVector& radiusY) { + if (layout == NULL || localRenderInformation == NULL) + return -1; + Style *style = NULL; for (unsigned int i = 0; i < layout->getNumReactionGlyphs(); i++) { style = getStyleById(localRenderInformation, layout->getReactionGlyph(i)); @@ -1266,6 +1542,9 @@ int setReactionGeometricShapeRadiusYAsDouble(Layout* layout, LocalRenderInformat } int setCompartmentGeometricShapeElementX(Layout* layout, LocalRenderInformation* localRenderInformation, const RelAbsVector& elementX) { + if (layout == NULL || localRenderInformation == NULL) + return -1; + Style *style = NULL; for (unsigned int i = 0; i < layout->getNumCompartmentGlyphs(); i++) { style = getStyleById(localRenderInformation, layout->getCompartmentGlyph(i)); @@ -1285,6 +1564,9 @@ int setCompartmentGeometricShapeElementXAsDouble(Layout* layout, LocalRenderInfo } int setSpeciesGeometricShapeElementX(Layout* layout, LocalRenderInformation* localRenderInformation, const RelAbsVector& elementX) { + if (layout == NULL || localRenderInformation == NULL) + return -1; + Style *style = NULL; for (unsigned int i = 0; i < layout->getNumSpeciesGlyphs(); i++) { style = getStyleById(localRenderInformation, layout->getSpeciesGlyph(i)); @@ -1304,6 +1586,9 @@ int setSpeciesGeometricShapeElementXAsDouble(Layout* layout, LocalRenderInformat } int setReactionGeometricShapeElementX(Layout* layout, LocalRenderInformation* localRenderInformation, const RelAbsVector& elementX) { + if (layout == NULL || localRenderInformation == NULL) + return -1; + Style *style = NULL; for (unsigned int i = 0; i < layout->getNumReactionGlyphs(); i++) { style = getStyleById(localRenderInformation, layout->getReactionGlyph(i)); @@ -1323,6 +1608,9 @@ int setReactionGeometricShapeElementXAsDouble(Layout* layout, LocalRenderInforma } int setCompartmentGeometricShapeElementY(Layout* layout, LocalRenderInformation* localRenderInformation, const RelAbsVector& elementY) { + if (layout == NULL || localRenderInformation == NULL) + return -1; + Style *style = NULL; for (unsigned int i = 0; i < layout->getNumCompartmentGlyphs(); i++) { style = getStyleById(localRenderInformation, layout->getCompartmentGlyph(i)); @@ -1361,6 +1649,9 @@ int setSpeciesGeometricShapeElementYAsDouble(Layout* layout, LocalRenderInformat } int setReactionGeometricShapeElementY(Layout* layout, LocalRenderInformation* localRenderInformation, const RelAbsVector& elementY) { + if (layout == NULL || localRenderInformation == NULL) + return -1; + Style *style = NULL; for (unsigned int i = 0; i < layout->getNumReactionGlyphs(); i++) { style = getStyleById(localRenderInformation, layout->getReactionGlyph(i)); @@ -1380,6 +1671,9 @@ int setReactionGeometricShapeElementYAsDouble(Layout* layout, LocalRenderInforma } int setCompartmentGeometricShapeBasePoint1X(Layout* layout, LocalRenderInformation* localRenderInformation, const RelAbsVector& basePoint1X) { + if (layout == NULL || localRenderInformation == NULL) + return -1; + Style *style = NULL; for (unsigned int i = 0; i < layout->getNumCompartmentGlyphs(); i++) { style = getStyleById(localRenderInformation, layout->getCompartmentGlyph(i)); @@ -1418,6 +1712,9 @@ int setSpeciesGeometricShapeBasePoint1XAsDouble(Layout* layout, LocalRenderInfor } int setReactionGeometricShapeBasePoint1X(Layout* layout, LocalRenderInformation* localRenderInformation, const RelAbsVector& basePoint1X) { + if (layout == NULL || localRenderInformation == NULL) + return -1; + Style *style = NULL; for (unsigned int i = 0; i < layout->getNumReactionGlyphs(); i++) { style = getStyleById(localRenderInformation, layout->getReactionGlyph(i)); @@ -1437,6 +1734,9 @@ int setReactionGeometricShapeBasePoint1XAsDouble(Layout* layout, LocalRenderInfo } int setCompartmentGeometricShapeBasePoint1Y(Layout* layout, LocalRenderInformation* localRenderInformation, const RelAbsVector& basePoint1Y) { + if (layout == NULL || localRenderInformation == NULL) + return -1; + Style *style = NULL; for (unsigned int i = 0; i < layout->getNumCompartmentGlyphs(); i++) { style = getStyleById(localRenderInformation, layout->getCompartmentGlyph(i)); @@ -1456,6 +1756,9 @@ int setCompartmentGeometricShapeBasePoint1YAsDouble(Layout* layout, LocalRenderI } int setSpeciesGeometricShapeBasePoint1Y(Layout* layout, LocalRenderInformation* localRenderInformation, const RelAbsVector& basePoint1Y) { + if (layout == NULL || localRenderInformation == NULL) + return -1; + Style *style = NULL; for (unsigned int i = 0; i < layout->getNumSpeciesGlyphs(); i++) { style = getStyleById(localRenderInformation, layout->getSpeciesGlyph(i)); @@ -1475,6 +1778,9 @@ int setSpeciesGeometricShapeBasePoint1YAsDouble(Layout* layout, LocalRenderInfor } int setReactionGeometricShapeBasePoint1Y(Layout* layout, LocalRenderInformation* localRenderInformation, const RelAbsVector& basePoint1Y) { + if (layout == NULL || localRenderInformation == NULL) + return -1; + Style *style = NULL; for (unsigned int i = 0; i < layout->getNumReactionGlyphs(); i++) { style = getStyleById(localRenderInformation, layout->getReactionGlyph(i)); @@ -1494,6 +1800,9 @@ int setReactionGeometricShapeBasePoint1YAsDouble(Layout* layout, LocalRenderInfo } int setCompartmentGeometricShapeBasePoint2X(Layout* layout, LocalRenderInformation* localRenderInformation, const RelAbsVector& basePoint2X) { + if (layout == NULL || localRenderInformation == NULL) + return -1; + Style *style = NULL; for (unsigned int i = 0; i < layout->getNumCompartmentGlyphs(); i++) { style = getStyleById(localRenderInformation, layout->getCompartmentGlyph(i)); @@ -1513,6 +1822,9 @@ int setCompartmentGeometricShapeBasePoint2XAsDouble(Layout* layout, LocalRenderI } int setSpeciesGeometricShapeBasePoint2X(Layout* layout, LocalRenderInformation* localRenderInformation, const RelAbsVector& basePoint2X) { + if (layout == NULL || localRenderInformation == NULL) + return -1; + Style *style = NULL; for (unsigned int i = 0; i < layout->getNumSpeciesGlyphs(); i++) { style = getStyleById(localRenderInformation, layout->getSpeciesGlyph(i)); @@ -1532,6 +1844,9 @@ int setSpeciesGeometricShapeBasePoint2XAsDouble(Layout* layout, LocalRenderInfor } int setReactionGeometricShapeBasePoint2X(Layout* layout, LocalRenderInformation* localRenderInformation, const RelAbsVector& basePoint2X) { + if (layout == NULL || localRenderInformation == NULL) + return -1; + Style *style = NULL; for (unsigned int i = 0; i < layout->getNumReactionGlyphs(); i++) { style = getStyleById(localRenderInformation, layout->getReactionGlyph(i)); @@ -1551,6 +1866,9 @@ int setReactionGeometricShapeBasePoint2XAsDouble(Layout* layout, LocalRenderInfo } int setCompartmentGeometricShapeBasePoint2Y(Layout* layout, LocalRenderInformation* localRenderInformation, const RelAbsVector& basePoint2Y) { + if (layout == NULL || localRenderInformation == NULL) + return -1; + Style *style = NULL; for (unsigned int i = 0; i < layout->getNumCompartmentGlyphs(); i++) { style = getStyleById(localRenderInformation, layout->getCompartmentGlyph(i)); @@ -1570,6 +1888,9 @@ int setCompartmentGeometricShapeBasePoint2YAsDouble(Layout* layout, LocalRenderI } int setSpeciesGeometricShapeBasePoint2Y(Layout* layout, LocalRenderInformation* localRenderInformation, const RelAbsVector& basePoint2Y) { + if (layout == NULL || localRenderInformation == NULL) + return -1; + Style *style = NULL; for (unsigned int i = 0; i < layout->getNumSpeciesGlyphs(); i++) { style = getStyleById(localRenderInformation, layout->getSpeciesGlyph(i)); @@ -1589,6 +1910,9 @@ int setSpeciesGeometricShapeBasePoint2YAsDouble(Layout* layout, LocalRenderInfor } int setReactionGeometricShapeBasePoint2Y(Layout* layout, LocalRenderInformation* localRenderInformation, const RelAbsVector& basePoint2Y) { + if (layout == NULL || localRenderInformation == NULL) + return -1; + Style *style = NULL; for (unsigned int i = 0; i < layout->getNumReactionGlyphs(); i++) { style = getStyleById(localRenderInformation, layout->getReactionGlyph(i)); @@ -1608,6 +1932,9 @@ int setReactionGeometricShapeBasePoint2YAsDouble(Layout* layout, LocalRenderInfo } int setCompartmentGeometricShapeHref(Layout* layout, LocalRenderInformation* localRenderInformation, const std::string& href) { + if (layout == NULL || localRenderInformation == NULL) + return -1; + Style *style = NULL; for (unsigned int i = 0; i < layout->getNumCompartmentGlyphs(); i++) { style = getStyleById(localRenderInformation, layout->getCompartmentGlyph(i)); @@ -1634,6 +1961,9 @@ int setSpeciesGeometricShapeHref(Layout* layout, LocalRenderInformation* localRe } int setReactionGeometricShapeHref(Layout* layout, LocalRenderInformation* localRenderInformation, const std::string& href) { + if (layout == NULL || localRenderInformation == NULL) + return -1; + Style *style = NULL; for (unsigned int i = 0; i < layout->getNumReactionGlyphs(); i++) { style = getStyleById(localRenderInformation, layout->getReactionGlyph(i)); diff --git a/src/libsbmlnetwork_layout_render.h b/src/libsbmlnetwork_layout_render.h index c536d965..16845172 100644 --- a/src/libsbmlnetwork_layout_render.h +++ b/src/libsbmlnetwork_layout_render.h @@ -118,10 +118,16 @@ LIBSBMLNETWORK_EXTERN int setReactionVTextAnchor(Layout* layout, LocalRenderInfo LIBSBMLNETWORK_EXTERN int setCompartmentFillColor(Layout* layout, LocalRenderInformation* localRenderInformation, const std::string& fillColor); +LIBSBMLNETWORK_EXTERN int setCompartmentFillColorAsGradient(Layout* layout, LocalRenderInformation* localRenderInformation, const std::string& gradientId); + LIBSBMLNETWORK_EXTERN int setSpeciesFillColor(Layout* layout, LocalRenderInformation* localRenderInformation, const std::string& fillColor); +LIBSBMLNETWORK_EXTERN int setSpeciesFillColorAsGradient(Layout* layout, LocalRenderInformation* localRenderInformation, const std::string& gradientId); + LIBSBMLNETWORK_EXTERN int setReactionFillColor(Layout* layout, LocalRenderInformation* localRenderInformation, const std::string& fillColor); +LIBSBMLNETWORK_EXTERN int setReactionFillColorAsGradient(Layout* layout, LocalRenderInformation* localRenderInformation, const std::string& gradientId); + LIBSBMLNETWORK_EXTERN int setCompartmentFillRule(Layout* layout, LocalRenderInformation* localRenderInformation, const std::string& fillRule); LIBSBMLNETWORK_EXTERN int setSpeciesFillRule(Layout* layout, LocalRenderInformation* localRenderInformation, const std::string& fillRule); diff --git a/src/libsbmlnetwork_render.cpp b/src/libsbmlnetwork_render.cpp index e79b7eb5..1fce8abd 100755 --- a/src/libsbmlnetwork_render.cpp +++ b/src/libsbmlnetwork_render.cpp @@ -28,8 +28,12 @@ const unsigned int getNumLocalRenderInformation(ListOfLocalRenderInformation* li } LocalRenderInformation* getLocalRenderInformation(ListOfLocalRenderInformation* listOfLocalRenderInformation, unsigned int renderIndex) { - if (listOfLocalRenderInformation) - return listOfLocalRenderInformation->get(renderIndex); + if (listOfLocalRenderInformation) { + if (renderIndex < listOfLocalRenderInformation->size()) + return listOfLocalRenderInformation->get(renderIndex); + + std::cerr << "error: renderIndex out of range" << std::endl; + } return NULL; } @@ -637,7 +641,7 @@ int setRadialGradientCx(RenderInformationBase* renderInformationBase, const std: } int setRadialGradientCx(GradientBase* gradientBase, const RelAbsVector& cx) { - if (isLinearGradient(gradientBase) && isValidGradientCxValue(cx)) { + if (isRadialGradient(gradientBase) && isValidGradientCxValue(cx)) { ((RadialGradient*) gradientBase)->setCx(cx); return 0; } @@ -650,7 +654,7 @@ int setRadialGradientCxAsDouble(RenderInformationBase* renderInformationBase, co } int setRadialGradientCxAsDouble(GradientBase* gradientBase, const double& cx) { - if (isLinearGradient(gradientBase) && isValidGradientCxValue(cx)) { + if (isRadialGradient(gradientBase) && isValidGradientCxValue(cx)) { ((RadialGradient*) gradientBase)->getCx().setRelativeValue(cx); return 0; } @@ -696,7 +700,7 @@ int setRadialGradientCy(RenderInformationBase* renderInformationBase, const std: } int setRadialGradientCy(GradientBase* gradientBase, const RelAbsVector& cy) { - if (isLinearGradient(gradientBase) && isValidGradientCyValue(cy)) { + if (isRadialGradient(gradientBase) && isValidGradientCyValue(cy)) { ((RadialGradient*)gradientBase)->setCy(cy); return 0; } @@ -709,7 +713,7 @@ int setRadialGradientCyAsDouble(RenderInformationBase* renderInformationBase, co } int setRadialGradientCyAsDouble(GradientBase* gradientBase, const double& cy) { - if (isLinearGradient(gradientBase) && isValidGradientCyValue(cy)) { + if (isRadialGradient(gradientBase) && isValidGradientCyValue(cy)) { ((RadialGradient*)gradientBase)->getCy().setRelativeValue(cy); return 0; } @@ -755,7 +759,7 @@ int setRadialGradientFx(RenderInformationBase* renderInformationBase, const std: } int setRadialGradientFx(GradientBase* gradientBase, const RelAbsVector& fx) { - if (isLinearGradient(gradientBase) && isValidGradientFxValue(fx)) { + if (isRadialGradient(gradientBase) && isValidGradientFxValue(fx)) { ((RadialGradient*)gradientBase)->setFx(fx); return 0; } @@ -763,12 +767,12 @@ int setRadialGradientFx(GradientBase* gradientBase, const RelAbsVector& fx) { return -1; } -int setRadialGradientFAsDoublex(RenderInformationBase* renderInformationBase, const std::string& sid, const double& fx) { +int setRadialGradientFxAsDouble(RenderInformationBase* renderInformationBase, const std::string& sid, const double& fx) { return setRadialGradientFx(getGradientDefinition(renderInformationBase, sid), fx); } int setRadialGradientFxAsDouble(GradientBase* gradientBase, const double& fx) { - if (isLinearGradient(gradientBase) && isValidGradientFxValue(fx)) { + if (isRadialGradient(gradientBase) && isValidGradientFxValue(fx)) { ((RadialGradient*)gradientBase)->getFx().setRelativeValue(fx); return 0; } @@ -814,7 +818,7 @@ int setRadialGradientFy(RenderInformationBase* renderInformationBase, const std: } int setRadialGradientFy(GradientBase* gradientBase, const RelAbsVector& fy) { - if (isLinearGradient(gradientBase) && isValidGradientFyValue(fy)) { + if (isRadialGradient(gradientBase) && isValidGradientFyValue(fy)) { ((RadialGradient*)gradientBase)->setFy(fy); return 0; } @@ -827,7 +831,7 @@ int setRadialGradientFyAsDouble(RenderInformationBase* renderInformationBase, co } int setRadialGradientFyAsDouble(GradientBase* gradientBase, const double& fy) { - if (isLinearGradient(gradientBase) && isValidGradientFyValue(fy)) { + if (isRadialGradient(gradientBase) && isValidGradientFyValue(fy)) { ((RadialGradient*)gradientBase)->getFy().setRelativeValue(fy); return 0; } @@ -863,7 +867,7 @@ const double getRadialGradientRAsDouble(RenderInformationBase* renderInformation const double getRadialGradientRAsDouble(GradientBase* gradientBase) { if (isRadialGradient(gradientBase)) - return getRelativeValue(((RadialGradient*)gradientBase)->getR()); + return getAbsoluteValue(((RadialGradient*)gradientBase)->getR()); return NAN; } @@ -873,7 +877,7 @@ int setRadialGradientR(RenderInformationBase* renderInformationBase, const std:: } int setRadialGradientR(GradientBase* gradientBase, const RelAbsVector& r) { - if (isLinearGradient(gradientBase) && isValidGradientRValue(r)) { + if (isRadialGradient(gradientBase) && isValidGradientRValue(r)) { ((RadialGradient*)gradientBase)->setR(r); return 0; } @@ -886,8 +890,9 @@ int setRadialGradientRAsDouble(RenderInformationBase* renderInformationBase, con } int setRadialGradientRAsDouble(GradientBase* gradientBase, const double& r) { - if (isLinearGradient(gradientBase) && isValidGradientRValue(r)) { - ((RadialGradient*)gradientBase)->getR().setRelativeValue(r); + if (isRadialGradient(gradientBase) && isValidGradientRValue(r)) { + ((RadialGradient*)gradientBase)->getR().setAbsoluteValue(r); + ((RadialGradient*)gradientBase)->getR().setRelativeValue(0); return 0; } @@ -1088,6 +1093,16 @@ bool isSetStrokeColor(Style* style) { return isSetStrokeColor(getRenderGroup(style)); } +bool isSetStrokeColor(RenderGroup* renderGroup) { + if (getNumGeometricShapes(renderGroup) == 1 && isSetStrokeColor(getGeometricShape(renderGroup))) + return isSetStrokeColor(getGeometricShape(renderGroup)); + + if (isRenderGroup(renderGroup)) + return renderGroup->isSetStroke(); + + return false; +} + bool isSetStrokeColor(Transformation2D* transformation2D) { if (isGraphicalPrimitive1D(transformation2D)) return ((GraphicalPrimitive1D*)transformation2D)->isSetStroke(); @@ -1107,6 +1122,16 @@ const std::string getStrokeColor(Style* style) { return getStrokeColor(getRenderGroup(style)); } +const std::string getStrokeColor(RenderGroup* renderGroup) { + if (getNumGeometricShapes(renderGroup) == 1 && isSetStrokeColor(getGeometricShape(renderGroup))) + return getStrokeColor(getGeometricShape(renderGroup)); + + if (isRenderGroup(renderGroup)) + return renderGroup->getStroke(); + + return ""; +} + const std::string getStrokeColor(Transformation2D* transformation2D) { if (isGraphicalPrimitive1D(transformation2D)) return ((GraphicalPrimitive1D*)transformation2D)->getStroke(); @@ -1123,12 +1148,21 @@ int setStrokeColor(RenderInformationBase* renderInformationBase, const std::stri } int setStrokeColor(Style* style, const std::string& stroke) { - if (getNumGeometricShapes(style) == 1) - return setStrokeColor(getGeometricShape(style), stroke); - return setStrokeColor(getRenderGroup(style), stroke); } +int setStrokeColor(RenderGroup* renderGroup, const std::string& stroke) { + if (getNumGeometricShapes(renderGroup) == 1 && isSetStrokeColor(getGeometricShape(renderGroup))) + return setStrokeColor(getGeometricShape(renderGroup), stroke); + + if (isRenderGroup(renderGroup) && isValidStrokeColorValue(stroke)) { + renderGroup->setStroke(stroke); + return 0; + } + + return -1; +} + int setStrokeColor(Transformation2D* transformation2D, const std::string& stroke) { if (isGraphicalPrimitive1D(transformation2D) && isValidStrokeColorValue(stroke)) { ((GraphicalPrimitive1D*)transformation2D)->setStroke(stroke); @@ -1139,15 +1173,7 @@ int setStrokeColor(Transformation2D* transformation2D, const std::string& stroke } const std::string getCompartmentStrokeColor(GlobalRenderInformation* globalRenderInformation) { - Style* style = getStyleByType(globalRenderInformation, getCompartmentGlyphStyleType()); - if (style) { - if (getNumGeometricShapes(style) == 1 && !getStrokeColor(getGeometricShape(style)).empty()) - return getStrokeColor(getGeometricShape(style)); - else - return getStrokeColor(style); - } - - return ""; + return getStrokeColor(getStyleByType(globalRenderInformation, getCompartmentGlyphStyleType())); } int setCompartmentStrokeColor(GlobalRenderInformation* globalRenderInformation, const std::string& stroke) { @@ -1161,15 +1187,7 @@ int setCompartmentStrokeColor(GlobalRenderInformation* globalRenderInformation, } const std::string getSpeciesStrokeColor(GlobalRenderInformation* globalRenderInformation) { - Style* style = getStyleByType(globalRenderInformation, getSpeciesGlyphStyleType()); - if (style) { - if (getNumGeometricShapes(style) == 1 && !getStrokeColor(getGeometricShape(style)).empty()) - return getStrokeColor(getGeometricShape(style)); - else - return getStrokeColor(style); - } - - return ""; + return getStrokeColor(getStyleByType(globalRenderInformation, getSpeciesGlyphStyleType())); } int setSpeciesStrokeColor(GlobalRenderInformation* globalRenderInformation, const std::string& stroke) { @@ -1183,15 +1201,7 @@ int setSpeciesStrokeColor(GlobalRenderInformation* globalRenderInformation, cons } const std::string getReactionStrokeColor(GlobalRenderInformation* globalRenderInformation) { - Style* style = getStyleByType(globalRenderInformation, getReactionGlyphStyleType()); - if (style) { - if (getNumGeometricShapes(style) == 1 && !getStrokeColor(getGeometricShape(style)).empty()) - return getStrokeColor(getGeometricShape(style)); - else - return getStrokeColor(style); - } - - return ""; + return getStrokeColor(getStyleByType(globalRenderInformation, getReactionGlyphStyleType())); } int setReactionStrokeColor(GlobalRenderInformation* globalRenderInformation, const std::string& stroke) { @@ -1205,23 +1215,24 @@ int setReactionStrokeColor(GlobalRenderInformation* globalRenderInformation, con } int setSpeciesReferenceStrokeColor(GlobalRenderInformation* globalRenderInformation, const std::string& stroke) { + bool stokeColorIsSet = false; Style* style = getStyleByType(globalRenderInformation, getSpeciesReferenceGlyphStyleType()); if (style) { addColor(globalRenderInformation, stroke); - if (setStrokeColor(style, stroke)) - return -1; + if (!setStrokeColor(style, stroke)) + stokeColorIsSet = true; } std::vector> styleRoles = getStyleRoles(); for (unsigned int i = 0; i < styleRoles.size(); i++) { Style* style = getStyleByRole(globalRenderInformation, styleRoles[i].second); if (style) { addColor(globalRenderInformation, stroke); - if (setStrokeColor(style, stroke)) - return -1; + if (!setStrokeColor(style, stroke)) + stokeColorIsSet = true; } } - return -1; + return stokeColorIsSet ? 0 : -1; } bool isSetStrokeWidth(RenderInformationBase* renderInformationBase, GraphicalObject* graphicalObject) { @@ -1236,6 +1247,16 @@ bool isSetStrokeWidth(Style* style) { return isSetStrokeWidth(getRenderGroup(style)); } +bool isSetStrokeWidth(RenderGroup* renderGroup) { + if (getNumGeometricShapes(renderGroup) == 1 && isSetStrokeWidth(getGeometricShape(renderGroup))) + return isSetStrokeWidth(getGeometricShape(renderGroup)); + + if (isRenderGroup(renderGroup)) + return renderGroup->isSetStrokeWidth(); + + return false; +} + bool isSetStrokeWidth(Transformation2D* transformation2D) { if (isGraphicalPrimitive1D(transformation2D)) return ((GraphicalPrimitive1D*)transformation2D)->isSetStrokeWidth(); @@ -1255,6 +1276,16 @@ const double getStrokeWidth(Style* style) { return getStrokeWidth(getRenderGroup(style)); } +const double getStrokeWidth(RenderGroup* renderGroup) { + if (getNumGeometricShapes(renderGroup) == 1 && isSetStrokeWidth(getGeometricShape(renderGroup))) + return getStrokeWidth(getGeometricShape(renderGroup)); + + if (isRenderGroup(renderGroup)) + return renderGroup->getStrokeWidth(); + + return NAN; +} + const double getStrokeWidth(Transformation2D* transformation2D) { if (isGraphicalPrimitive1D(transformation2D)) return ((GraphicalPrimitive1D*)transformation2D)->getStrokeWidth(); @@ -1271,12 +1302,21 @@ int setStrokeWidth(RenderInformationBase* renderInformationBase, const std::stri } int setStrokeWidth(Style* style, const double& strokeWidth) { - if (getNumGeometricShapes(style) == 1) - return setStrokeWidth(getGeometricShape(style), strokeWidth); - return setStrokeWidth(getRenderGroup(style), strokeWidth); } +int setStrokeWidth(RenderGroup* renderGroup, const double& strokeWidth) { + if (getNumGeometricShapes(renderGroup) == 1 && isSetStrokeWidth(getGeometricShape(renderGroup))) + return setStrokeWidth(getGeometricShape(renderGroup), strokeWidth); + + if (isRenderGroup(renderGroup) && isValidStrokeWidthValue(strokeWidth)) { + renderGroup->setStrokeWidth(strokeWidth); + return 0; + } + + return -1; +} + int setStrokeWidth(Transformation2D* transformation2D, const double& strokeWidth) { if (isGraphicalPrimitive1D(transformation2D) && isValidStrokeWidthValue(strokeWidth)) { ((GraphicalPrimitive1D*)transformation2D)->setStrokeWidth(strokeWidth); @@ -1287,81 +1327,46 @@ int setStrokeWidth(Transformation2D* transformation2D, const double& strokeWidth } const double getCompartmentStrokeWidth(GlobalRenderInformation* globalRenderInformation) { - Style* style = getStyleByType(globalRenderInformation, getCompartmentGlyphStyleType()); - if (style) { - if (getNumGeometricShapes(style) == 1 && getStrokeWidth(getGeometricShape(style)) > 0.01) - return getStrokeWidth(getGeometricShape(style)); - else - return getStrokeWidth(style); - } - - return NAN; + return getStrokeWidth(getStyleByType(globalRenderInformation, getCompartmentGlyphStyleType())); } int setCompartmentStrokeWidth(GlobalRenderInformation* globalRenderInformation, const double& strokeWidth) { - Style* style = getStyleByType(globalRenderInformation, getCompartmentGlyphStyleType()); - if (style) - return setStrokeWidth(style, strokeWidth); - - return -1; + return setStrokeWidth(getStyleByType(globalRenderInformation, getCompartmentGlyphStyleType()), strokeWidth); } const double getSpeciesStrokeWidth(GlobalRenderInformation* globalRenderInformation) { - Style* style = getStyleByType(globalRenderInformation, getSpeciesGlyphStyleType()); - if (style) { - if (getNumGeometricShapes(style) == 1 && getStrokeWidth(getGeometricShape(style)) > 0.01) - return getStrokeWidth(getGeometricShape(style)); - else - return getStrokeWidth(style); - } - - return NAN; + return getStrokeWidth(getStyleByType(globalRenderInformation, getSpeciesGlyphStyleType())); } int setSpeciesStrokeWidth(GlobalRenderInformation* globalRenderInformation, const double& strokeWidth) { - Style* style = getStyleByType(globalRenderInformation, getSpeciesGlyphStyleType()); - if (style) - return setStrokeWidth(style, strokeWidth); - - return -1; + return setStrokeWidth(getStyleByType(globalRenderInformation, getSpeciesGlyphStyleType()), strokeWidth); } const double getReactionStrokeWidth(GlobalRenderInformation* globalRenderInformation) { - Style* style = getStyleByType(globalRenderInformation, getReactionGlyphStyleType()); - if (style) { - if (getNumGeometricShapes(style) == 1 && getStrokeWidth(getGeometricShape(style)) > 0.01) - return getStrokeWidth(getGeometricShape(style)); - else - return getStrokeWidth(style); - } - - return NAN; + return getStrokeWidth(getStyleByType(globalRenderInformation, getReactionGlyphStyleType())); } int setReactionStrokeWidth(GlobalRenderInformation* globalRenderInformation, const double& strokeWidth) { - Style* style = getStyleByType(globalRenderInformation, getReactionGlyphStyleType()); - if (style) - return setStrokeWidth(style, strokeWidth); - - return -1; + return setStrokeWidth(getStyleByType(globalRenderInformation, getReactionGlyphStyleType()), strokeWidth); } int setSpeciesReferenceStrokeWidth(GlobalRenderInformation* globalRenderInformation, const double& strokeWidth) { + bool stokeWidthIsSet = false; Style* style = getStyleByType(globalRenderInformation, getSpeciesReferenceGlyphStyleType()); if (style) { - if (setStrokeWidth(style, strokeWidth)) - return -1; + if (!setStrokeWidth(style, strokeWidth)) + stokeWidthIsSet = true; } std::vector> styleRoles = getStyleRoles(); for (unsigned int i = 0; i < styleRoles.size(); i++) { Style* style = getStyleByRole(globalRenderInformation, styleRoles[i].second); if (style) { - if (setStrokeWidth(style, strokeWidth)) - return -1; + if (!setStrokeWidth(style, strokeWidth)) + stokeWidthIsSet = true; } } - return -1; + return stokeWidthIsSet ? 0 : -1; } bool isSetStrokeDashArray(RenderInformationBase* renderInformationBase, GraphicalObject* graphicalObject) { @@ -1376,6 +1381,16 @@ bool isSetStrokeDashArray(Style* style) { return isSetStrokeDashArray(getRenderGroup(style)); } +bool isSetStrokeDashArray(RenderGroup* renderGroup) { + if (getNumGeometricShapes(renderGroup) == 1 && isSetStrokeDashArray(getGeometricShape(renderGroup))) + return isSetStrokeDashArray(getGeometricShape(renderGroup)); + + if (isRenderGroup(renderGroup)) + return renderGroup->isSetStrokeDashArray(); + + return false; +} + bool isSetStrokeDashArray(Transformation2D* transformation2D) { if (isGraphicalPrimitive1D(transformation2D)) return ((GraphicalPrimitive1D*)transformation2D)->isSetStrokeDashArray(); @@ -1395,6 +1410,16 @@ const std::vector getStrokeDashArray(Style* style) { return getStrokeDashArray(getRenderGroup(style)); } +const std::vector getStrokeDashArray(RenderGroup* renderGroup) { + if (getNumGeometricShapes(renderGroup) == 1 && isSetStrokeDashArray(getGeometricShape(renderGroup))) + return getStrokeDashArray(getGeometricShape(renderGroup)); + + if (isRenderGroup(renderGroup)) + return renderGroup->getStrokeDashArray(); + + return std::vector(); +} + const std::vector getStrokeDashArray(Transformation2D* transformation2D) { if (isGraphicalPrimitive1D(transformation2D)) return ((GraphicalPrimitive1D*)transformation2D)->getStrokeDashArray(); @@ -1417,6 +1442,18 @@ int setStrokeDashArray(Style* style, const std::vector& strokeDash return setStrokeDashArray(getRenderGroup(style), strokeDashArray); } +int setStrokeDashArray(RenderGroup* renderGroup, const std::vector& strokeDashArray) { + if (getNumGeometricShapes(renderGroup) == 1 && isSetStrokeDashArray(getGeometricShape(renderGroup))) + return setStrokeDashArray(getGeometricShape(renderGroup), strokeDashArray); + + if (isRenderGroup(renderGroup) && isValidStrokeDashArrayValue(strokeDashArray)) { + renderGroup->setStrokeDashArray(strokeDashArray); + return 0; + } + + return -1; +} + int setStrokeDashArray(Transformation2D* transformation2D, const std::vector& strokeDashArray) { if (isGraphicalPrimitive1D(transformation2D) && isValidStrokeDashArrayValue(strokeDashArray)) { ((GraphicalPrimitive1D*)transformation2D)->setStrokeDashArray(strokeDashArray); @@ -1427,27 +1464,15 @@ int setStrokeDashArray(Transformation2D* transformation2D, const std::vector& strokeDashArray) { - Style* style = getStyleByType(globalRenderInformation, getCompartmentGlyphStyleType()); - if (style) - return setStrokeDashArray(style, strokeDashArray); - - return -1; + return setStrokeDashArray(getStyleByType(globalRenderInformation, getCompartmentGlyphStyleType()), strokeDashArray); } int setSpeciesStrokeDashArray(GlobalRenderInformation* globalRenderInformation, const std::vector& strokeDashArray) { - Style* style = getStyleByType(globalRenderInformation, getSpeciesGlyphStyleType()); - if (style) - return setStrokeDashArray(style, strokeDashArray); - - return -1; + return setStrokeDashArray(getStyleByType(globalRenderInformation, getSpeciesGlyphStyleType()), strokeDashArray); } int setReactionStrokeDashArray(GlobalRenderInformation* globalRenderInformation, const std::vector& strokeDashArray) { - Style* style = getStyleByType(globalRenderInformation, getReactionGlyphStyleType()); - if (style) - return setStrokeDashArray(style, strokeDashArray); - - return -1; + return setStrokeDashArray(getStyleByType(globalRenderInformation, getReactionGlyphStyleType()), strokeDashArray); } unsigned int getNumStrokeDashes(RenderInformationBase* renderInformationBase, GraphicalObject* graphicalObject) { @@ -1462,6 +1487,16 @@ unsigned int getNumStrokeDashes(Style* style) { return getNumStrokeDashes(getRenderGroup(style)); } +unsigned int getNumStrokeDashes(RenderGroup* renderGroup) { + if (getNumGeometricShapes(renderGroup) == 1 && isSetStrokeDashArray(getGeometricShape(renderGroup))) + return getNumStrokeDashes(getGeometricShape(renderGroup)); + + if (isRenderGroup(renderGroup)) + return getStrokeDashArray(renderGroup).size(); + + return 0; +} + unsigned int getNumStrokeDashes(Transformation2D* transformation2D) { return getStrokeDashArray(transformation2D).size(); } @@ -1475,12 +1510,19 @@ unsigned int getStrokeDash(RenderInformationBase* renderInformationBase, const s } unsigned int getStrokeDash(Style* style, unsigned int strokeDashIndex) { - if (getNumGeometricShapes(style) == 1) - return setStrokeDash(getGeometricShape(style), strokeDashIndex); - return setStrokeDash(getRenderGroup(style), strokeDashIndex); } +unsigned int getStrokeDash(RenderGroup* renderGroup, unsigned int strokeDashIndex) { + if (getNumGeometricShapes(renderGroup) == 1 && isSetStrokeDashArray(getGeometricShape(renderGroup))) + return getStrokeDash(getGeometricShape(renderGroup), strokeDashIndex); + + if (isRenderGroup(renderGroup)) + return renderGroup->getDashByIndex(strokeDashIndex); + + return NAN; +} + unsigned int getStrokeDash(Transformation2D* transformation2D, unsigned int strokeDashIndex) { if (isGraphicalPrimitive1D(transformation2D)) ((GraphicalPrimitive1D*)transformation2D)->getDashByIndex(strokeDashIndex); @@ -1509,12 +1551,25 @@ int setStrokeDash(Style* style, unsigned int dash) { } int setStrokeDash(Style* style, unsigned int strokeDashIndex, unsigned int dash) { - if (getNumGeometricShapes(style) == 1) - return setStrokeDash(getGeometricShape(style), strokeDashIndex, dash); - return setStrokeDash(getRenderGroup(style), strokeDashIndex, dash); } +int setStrokeDash(RenderGroup* renderGroup, unsigned int dash) { + return setStrokeDash(renderGroup, 0, dash); +} + +int setStrokeDash(RenderGroup* renderGroup, unsigned int strokeDashIndex, unsigned int dash) { + if (getNumGeometricShapes(renderGroup) == 1 && isSetStrokeDashArray(getGeometricShape(renderGroup))) + return setStrokeDash(getGeometricShape(renderGroup), strokeDashIndex, dash); + + if (isRenderGroup(renderGroup) && isValidStrokeDashValue(dash)) { + renderGroup->setDashByIndex(strokeDashIndex, dash); + return 0; + } + + return -1; +} + int setStrokeDash(Transformation2D* transformation2D, unsigned int dash) { return setStrokeDash(transformation2D, 0, dash); } @@ -1529,27 +1584,15 @@ int setStrokeDash(Transformation2D* transformation2D, unsigned int strokeDashInd } int setCompartmentStrokeDash(GlobalRenderInformation* globalRenderInformation, unsigned int dash) { - Style* style = getStyleByType(globalRenderInformation, getCompartmentGlyphStyleType()); - if (style) - return setStrokeDash(style, dash); - - return -1; + return setStrokeDash(getStyleByType(globalRenderInformation, getCompartmentGlyphStyleType()), dash); } int setSpeciesStrokeDash(GlobalRenderInformation* globalRenderInformation, unsigned int dash) { - Style* style = getStyleByType(globalRenderInformation, getSpeciesGlyphStyleType()); - if (style) - return setStrokeDash(style, dash); - - return -1; + return setStrokeDash(getStyleByType(globalRenderInformation, getSpeciesGlyphStyleType()), dash); } int setReactionStrokeDash(GlobalRenderInformation* globalRenderInformation, unsigned int dash) { - Style* style = getStyleByType(globalRenderInformation, getReactionGlyphStyleType()); - if (style) - return setStrokeDash(style, dash); - - return -1; + return setStrokeDash(getStyleByType(globalRenderInformation, getReactionGlyphStyleType()), dash); } bool isSetFontColor(RenderInformationBase* renderInformationBase, GraphicalObject* graphicalObject) { @@ -1564,6 +1607,10 @@ bool isSetFontColor(Style* style) { return isSetFontColor(getRenderGroup(style)); } +bool isSetFontColor(RenderGroup* renderGroup) { + return isSetStrokeColor(renderGroup); +} + bool isSetFontColor(Transformation2D* transformation2D) { return isSetStrokeColor(transformation2D); } @@ -1580,6 +1627,10 @@ const std::string getFontColor(Style* style) { return getFontColor(getRenderGroup(style)); } +const std::string getFontColor(RenderGroup* renderGroup) { + return getStrokeColor(renderGroup); +} + const std::string getFontColor(Transformation2D* transformation2D) { return getStrokeColor(transformation2D); } @@ -1596,6 +1647,10 @@ int setFontColor(Style* style, const std::string& fontColor) { return setFontColor(getRenderGroup(style), fontColor); } +int setFontColor(RenderGroup* renderGroup, const std::string& fontColor) { + return setStrokeColor(renderGroup, fontColor); +} + int setFontColor(Transformation2D* transformation2D, const std::string& fontColor) { if (isValidFontColorValue(fontColor)) return setStrokeColor(transformation2D, fontColor); @@ -1681,10 +1736,18 @@ bool isSetFontFamily(Style* style) { return isSetFontFamily(getRenderGroup(style)); } +bool isSetFontFamily(RenderGroup* renderGroup) { + if (getNumGeometricShapes(renderGroup) == 1 && isSetFontFamily(getGeometricShape(renderGroup))) + return isSetFontFamily(getGeometricShape(renderGroup)); + + if (isRenderGroup(renderGroup)) + return renderGroup->isSetFontFamily(); + + return false; +} + bool isSetFontFamily(Transformation2D* transformation2D) { - if (isRenderGroup(transformation2D)) - return ((RenderGroup*)transformation2D)->isSetFontFamily(); - else if (isText(transformation2D)) + if (isText(transformation2D)) return ((RenderGroup*)transformation2D)->isSetFontFamily(); return false; @@ -1702,10 +1765,18 @@ const std::string getFontFamily(Style* style) { return getFontFamily(getRenderGroup(style)); } +const std::string getFontFamily(RenderGroup* renderGroup) { + if (getNumGeometricShapes(renderGroup) == 1 && isSetFontFamily(getGeometricShape(renderGroup))) + return getFontFamily(getGeometricShape(renderGroup)); + + if (isRenderGroup(renderGroup)) + return renderGroup->getFontFamily(); + + return ""; +} + const std::string getFontFamily(Transformation2D* transformation2D) { - if (isRenderGroup(transformation2D)) - return ((RenderGroup*)transformation2D)->getFontFamily(); - else if (isText(transformation2D)) + if (isText(transformation2D)) return ((RenderGroup*)transformation2D)->getFontFamily(); return ""; @@ -1723,16 +1794,22 @@ int setFontFamily(Style* style, const std::string& fontFamily) { return setFontFamily(getRenderGroup(style), fontFamily); } +int setFontFamily(RenderGroup* renderGroup, const std::string& fontFamily) { + if (getNumGeometricShapes(renderGroup) == 1 && isSetFontFamily(getGeometricShape(renderGroup))) + return setFontFamily(getGeometricShape(renderGroup), fontFamily); + + if (isRenderGroup(renderGroup) && isValidFontFamilyValue(fontFamily)) { + renderGroup->setFontFamily(fontFamily); + return 0; + } + + return -1; +} + int setFontFamily(Transformation2D* transformation2D, const std::string& fontFamily) { - if (isValidFontFamilyValue(fontFamily)) { - if (isRenderGroup(transformation2D)) { - ((RenderGroup*)transformation2D)->setFontFamily(fontFamily); - return 0; - } - else if (isText(transformation2D)) { - ((Text*)transformation2D)->setFontFamily(fontFamily); - return 0; - } + if (isText(transformation2D) && isValidFontFamilyValue(fontFamily)) { + ((Text*)transformation2D)->setFontFamily(fontFamily); + return 0; } return -1; @@ -1810,10 +1887,18 @@ bool isSetFontSize(Style* style) { return isSetFontSize(getRenderGroup(style)); } +bool isSetFontSize(RenderGroup* renderGroup) { + if (getNumGeometricShapes(renderGroup) == 1 && isSetFontSize(getGeometricShape(renderGroup))) + return isSetFontSize(getGeometricShape(renderGroup)); + + if (isRenderGroup(renderGroup)) + return renderGroup->isSetFontSize(); + + return false; +} + bool isSetFontSize(Transformation2D* transformation2D) { - if (isRenderGroup(transformation2D)) - return ((RenderGroup*)transformation2D)->isSetFontSize(); - else if (isText(transformation2D)) + if (isText(transformation2D)) return ((RenderGroup*)transformation2D)->isSetFontSize(); return false; @@ -1831,12 +1916,20 @@ const RelAbsVector getFontSize(Style* style) { return getFontSize(getRenderGroup(style)); } +const RelAbsVector getFontSize(RenderGroup* renderGroup) { + if (getNumGeometricShapes(renderGroup) == 1 && isSetFontSize(getGeometricShape(renderGroup))) + return getFontSize(getGeometricShape(renderGroup)); + + if (isRenderGroup(renderGroup)) + return renderGroup->getFontSize(); + + return RelAbsVector(NAN, NAN); +} + const RelAbsVector getFontSize(Transformation2D* transformation2D) { - if (isRenderGroup(transformation2D)) - return ((RenderGroup*)transformation2D)->getFontSize(); - else if (isText(transformation2D)) - return ((RenderGroup*)transformation2D)->getFontSize(); - + if (isText(transformation2D)) + return ((Text*)transformation2D)->getFontSize(); + return RelAbsVector(NAN, NAN); } @@ -1852,16 +1945,22 @@ int setFontSize(Style* style, const RelAbsVector& fontSize) { return setFontSize(getRenderGroup(style), fontSize); } +int setFontSize(RenderGroup* renderGroup, const RelAbsVector& fontSize) { + if (getNumGeometricShapes(renderGroup) == 1 && isSetFontSize(getGeometricShape(renderGroup))) + return setFontSize(getGeometricShape(renderGroup), fontSize); + + if (isRenderGroup(renderGroup) && isValidFontSizeValue(fontSize)) { + renderGroup->setFontSize(fontSize); + return 0; + } + + return -1; +} + int setFontSize(Transformation2D* transformation2D, const RelAbsVector& fontSize) { - if (isValidFontSizeValue(fontSize)) { - if (isRenderGroup(transformation2D)) { - ((RenderGroup*)transformation2D)->setFontSize(fontSize); - return 0; - } - else if (isText(transformation2D)) { - ((Text*)transformation2D)->setFontSize(fontSize); - return 0; - } + if (isText(transformation2D) && isValidFontSizeValue(fontSize)) { + ((Text*)transformation2D)->setFontSize(fontSize); + return 0; } return -1; @@ -1879,6 +1978,19 @@ int setFontSizeAsDouble(Style* style, const double& fontSize) { return setFontSizeAsDouble(getRenderGroup(style), fontSize); } +int setFontSizeAsDouble(RenderGroup* renderGroup, const double& fontSize) { + if (getNumGeometricShapes(renderGroup) == 1 && isSetFontSize(getGeometricShape(renderGroup))) + return setFontSizeAsDouble(getGeometricShape(renderGroup), fontSize); + + if (isRenderGroup(renderGroup)) { + RelAbsVector fontSizeRelAbs; + fontSizeRelAbs.setAbsoluteValue(fontSize); + return setFontSize(renderGroup, fontSizeRelAbs); + } + + return -1; +} + int setFontSizeAsDouble(Transformation2D* transformation2D, const double& fontSize) { RelAbsVector fontSizeRelAbs; fontSizeRelAbs.setAbsoluteValue(fontSize); @@ -1999,11 +2111,19 @@ bool isSetFontWeight(Style* style) { return isSetFontWeight(getRenderGroup(style)); } +bool isSetFontWeight(RenderGroup* renderGroup) { + if (getNumGeometricShapes(renderGroup) == 1 && isSetFontWeight(getGeometricShape(renderGroup))) + return isSetFontWeight(getGeometricShape(renderGroup)); + + if (isRenderGroup(renderGroup)) + return renderGroup->isSetFontWeight(); + + return false; +} + bool isSetFontWeight(Transformation2D* transformation2D) { - if (isRenderGroup(transformation2D)) - return ((RenderGroup*)transformation2D)->isSetFontWeight(); - else if (isText(transformation2D)) - return ((RenderGroup*)transformation2D)->isSetFontWeight(); + if (isText(transformation2D)) + return ((Text*)transformation2D)->isSetFontWeight(); return false; } @@ -2020,11 +2140,19 @@ const std::string getFontWeight(Style* style) { return getFontWeight(getRenderGroup(style)); } +const std::string getFontWeight(RenderGroup* renderGroup) { + if (getNumGeometricShapes(renderGroup) == 1 && isSetFontWeight(getGeometricShape(renderGroup))) + return getFontWeight(getGeometricShape(renderGroup)); + + if (isRenderGroup(renderGroup)) + return renderGroup->getFontWeightAsString(); + + return ""; +} + const std::string getFontWeight(Transformation2D* transformation2D) { - if (isRenderGroup(transformation2D)) - return ((RenderGroup*)transformation2D)->getFontWeightAsString(); - else if (isText(transformation2D)) - return ((RenderGroup*)transformation2D)->getFontWeightAsString(); + if (isText(transformation2D)) + return ((Text*)transformation2D)->getFontWeightAsString(); return ""; } @@ -2041,16 +2169,22 @@ int setFontWeight(Style* style, const std::string& fontWeight) { return setFontWeight(getRenderGroup(style), fontWeight); } +int setFontWeight(RenderGroup* renderGroup, const std::string& fontWeight) { + if (getNumGeometricShapes(renderGroup) == 1 && isSetFontWeight(getGeometricShape(renderGroup))) + return setFontWeight(getGeometricShape(renderGroup), fontWeight); + + if (isRenderGroup(renderGroup) && isValidFontWeightValue(fontWeight)) { + renderGroup->setFontWeight(fontWeight); + return 0; + } + + return -1; +} + int setFontWeight(Transformation2D* transformation2D, const std::string& fontWeight) { - if (isValidFontWeightValue(fontWeight)) { - if (isRenderGroup(transformation2D)) { - ((RenderGroup*)transformation2D)->setFontWeight(fontWeight); - return 0; - } - else if (isText(transformation2D)) { - ((Text*)transformation2D)->setFontWeight(fontWeight); - return 0; - } + if (isText(transformation2D) && isValidFontWeightValue(fontWeight)) { + ((Text*)transformation2D)->setFontWeight(fontWeight); + return 0; } return -1; @@ -2128,11 +2262,19 @@ bool isSetFontStyle(Style* style) { return isSetFontStyle(getRenderGroup(style)); } +bool isSetFontStyle(RenderGroup* renderGroup) { + if (getNumGeometricShapes(renderGroup) == 1 && isSetFontStyle(getGeometricShape(renderGroup))) + return isSetFontStyle(getGeometricShape(renderGroup)); + + if (isRenderGroup(renderGroup)) + return renderGroup->isSetFontStyle(); + + return false; +} + bool isSetFontStyle(Transformation2D* transformation2D) { - if (isRenderGroup(transformation2D)) - return ((RenderGroup*)transformation2D)->isSetFontStyle(); - else if (isText(transformation2D)) - return ((RenderGroup*)transformation2D)->isSetFontStyle(); + if (isText(transformation2D)) + return ((Text*)transformation2D)->isSetFontStyle(); return false; } @@ -2149,11 +2291,19 @@ const std::string getFontStyle(Style* style) { return getFontStyle(getRenderGroup(style)); } +const std::string getFontStyle(RenderGroup* renderGroup) { + if (getNumGeometricShapes(renderGroup) == 1 && isSetFontStyle(getGeometricShape(renderGroup))) + return getFontStyle(getGeometricShape(renderGroup)); + + if (isRenderGroup(renderGroup)) + return renderGroup->getFontStyleAsString(); + + return ""; +} + const std::string getFontStyle(Transformation2D* transformation2D) { - if (isRenderGroup(transformation2D)) - return ((RenderGroup*)transformation2D)->getFontStyleAsString(); - else if (isText(transformation2D)) - return ((RenderGroup*)transformation2D)->getFontStyleAsString(); + if (isText(transformation2D)) + return ((Text*)transformation2D)->getFontStyleAsString(); return ""; } @@ -2170,16 +2320,22 @@ int setFontStyle(Style* style, const std::string& fontStyle) { return setFontStyle(getRenderGroup(style), fontStyle); } +int setFontStyle(RenderGroup* renderGroup, const std::string& fontStyle) { + if (getNumGeometricShapes(renderGroup) == 1 && isSetFontStyle(getGeometricShape(renderGroup))) + return setFontStyle(getGeometricShape(renderGroup), fontStyle); + + if (isRenderGroup(renderGroup) && isValidFontStyleValue(fontStyle)) { + renderGroup->setFontStyle(fontStyle); + return 0; + } + + return -1; +} + int setFontStyle(Transformation2D* transformation2D, const std::string& fontStyle) { - if (isValidFontStyleValue(fontStyle)) { - if (isRenderGroup(transformation2D)) { - ((RenderGroup*)transformation2D)->setFontStyle(fontStyle); - return 0; - } - else if (isText(transformation2D)) { - ((Text*)transformation2D)->setFontStyle(fontStyle); - return 0; - } + if (isText(transformation2D) && isValidFontStyleValue(fontStyle)) { + ((Text*)transformation2D)->setFontStyle(fontStyle); + return 0; } return -1; @@ -2257,16 +2413,24 @@ bool isSetTextAnchor(Style* style) { return isSetTextAnchor(getRenderGroup(style)); } -bool isSetTextAnchor(Transformation2D* transformation2D) { - if (isRenderGroup(transformation2D)) - return ((RenderGroup*)transformation2D)->isSetTextAnchor(); - else if (isText(transformation2D)) - return ((RenderGroup*)transformation2D)->isSetTextAnchor(); +bool isSetTextAnchor(RenderGroup* renderGroup) { + if (getNumGeometricShapes(renderGroup) == 1 && isSetTextAnchor(getGeometricShape(renderGroup))) + return isSetTextAnchor(getGeometricShape(renderGroup)); + + if (isRenderGroup(renderGroup)) + return renderGroup->isSetTextAnchor(); return false; } -const std::string getTextAnchor(RenderInformationBase* renderInformationBase, GraphicalObject* graphicalObject) { +bool isSetTextAnchor(Transformation2D* transformation2D) { + if (isText(transformation2D)) + return ((Text*)transformation2D)->isSetTextAnchor(); + + return false; +} + +const std::string getTextAnchor(RenderInformationBase* renderInformationBase, GraphicalObject* graphicalObject) { return getTextAnchor(getStyle(renderInformationBase, graphicalObject)); } @@ -2278,11 +2442,19 @@ const std::string getTextAnchor(Style* style) { return getTextAnchor(getRenderGroup(style)); } +const std::string getTextAnchor(RenderGroup* renderGroup) { + if (getNumGeometricShapes(renderGroup) == 1 && isSetTextAnchor(getGeometricShape(renderGroup))) + return getTextAnchor(getGeometricShape(renderGroup)); + + if (isRenderGroup(renderGroup)) + return renderGroup->getTextAnchorAsString(); + + return ""; +} + const std::string getTextAnchor(Transformation2D* transformation2D) { - if (isRenderGroup(transformation2D)) - return ((RenderGroup*)transformation2D)->getTextAnchorAsString(); - else if (isText(transformation2D)) - return ((RenderGroup*)transformation2D)->getTextAnchorAsString(); + if (isText(transformation2D)) + return ((Text*)transformation2D)->getTextAnchorAsString(); return ""; } @@ -2299,16 +2471,22 @@ int setTextAnchor(Style* style, const std::string& textAnchor) { return setTextAnchor(getRenderGroup(style), textAnchor); } +int setTextAnchor(RenderGroup* renderGroup, const std::string& textAnchor) { + if (getNumGeometricShapes(renderGroup) == 1 && isSetTextAnchor(getGeometricShape(renderGroup))) + return setTextAnchor(getGeometricShape(renderGroup), textAnchor); + + if (isRenderGroup(renderGroup) && isValidTextAnchorValue(textAnchor)) { + renderGroup->setTextAnchor(textAnchor); + return 0; + } + + return -1; +} + int setTextAnchor(Transformation2D* transformation2D, const std::string& textAnchor) { - if (isValidTextAnchorValue(textAnchor)) { - if (isRenderGroup(transformation2D)) { - ((RenderGroup*)transformation2D)->setTextAnchor(textAnchor); - return 0; - } - else if (isText(transformation2D)) { - ((Text*)transformation2D)->setTextAnchor(textAnchor); - return 0; - } + if (isText(transformation2D) && isValidTextAnchorValue(textAnchor)) { + ((Text*)transformation2D)->setTextAnchor(textAnchor); + return 0; } return -1; @@ -2386,11 +2564,19 @@ bool isSetVTextAnchor(Style* style) { return isSetVTextAnchor(getRenderGroup(style)); } +bool isSetVTextAnchor(RenderGroup* renderGroup) { + if (getNumGeometricShapes(renderGroup) == 1 && isSetVTextAnchor(getGeometricShape(renderGroup))) + return isSetVTextAnchor(getGeometricShape(renderGroup)); + + if (isRenderGroup(renderGroup)) + return renderGroup->isSetVTextAnchor(); + + return false; +} + bool isSetVTextAnchor(Transformation2D* transformation2D) { - if (isRenderGroup(transformation2D)) - return ((RenderGroup*)transformation2D)->isSetVTextAnchor(); - else if (isText(transformation2D)) - return ((RenderGroup*)transformation2D)->isSetVTextAnchor(); + if (isText(transformation2D)) + return ((Text*)transformation2D)->isSetVTextAnchor(); return false; } @@ -2407,11 +2593,19 @@ const std::string getVTextAnchor(Style* style) { return getVTextAnchor(getRenderGroup(style)); } +const std::string getVTextAnchor(RenderGroup* renderGroup) { + if (getNumGeometricShapes(renderGroup) == 1 && isSetVTextAnchor(getGeometricShape(renderGroup))) + return getVTextAnchor(getGeometricShape(renderGroup)); + + if (isRenderGroup(renderGroup)) + return renderGroup->getVTextAnchorAsString(); + + return ""; +} + const std::string getVTextAnchor(Transformation2D* transformation2D) { - if (isRenderGroup(transformation2D)) - return ((RenderGroup*)transformation2D)->getVTextAnchorAsString(); - else if (isText(transformation2D)) - return ((RenderGroup*)transformation2D)->getVTextAnchorAsString(); + if (isText(transformation2D)) + return ((Text*)transformation2D)->getVTextAnchorAsString(); return ""; } @@ -2428,18 +2622,24 @@ int setVTextAnchor(Style* style, const std::string& vtextAnchor) { return setVTextAnchor(getRenderGroup(style), vtextAnchor); } +int setVTextAnchor(RenderGroup* renderGroup, const std::string& vtextAnchor) { + if (getNumGeometricShapes(renderGroup) == 1 && isSetVTextAnchor(getGeometricShape(renderGroup))) + return setVTextAnchor(getGeometricShape(renderGroup), vtextAnchor); + + if (isRenderGroup(renderGroup) && isValidVTextAnchorValue(vtextAnchor)) { + renderGroup->setVTextAnchor(vtextAnchor); + return 0; + } + + return -1; +} + int setVTextAnchor(Transformation2D* transformation2D, const std::string& vtextAnchor) { - if (isValidVTextAnchorValue(vtextAnchor)) { - if (isRenderGroup(transformation2D)) { - ((RenderGroup*)transformation2D)->setVTextAnchor(vtextAnchor); - return 0; - } - else if (isText(transformation2D)) { - ((Text*)transformation2D)->setVTextAnchor(vtextAnchor); - return 0; - } + if (isText(transformation2D) && isValidVTextAnchorValue(vtextAnchor)) { + ((Text*)transformation2D)->setVTextAnchor(vtextAnchor); + return 0; } - + return -1; } @@ -2515,6 +2715,16 @@ bool isSetFillColor(Style* style) { return isSetFillColor(getRenderGroup(style)); } +bool isSetFillColor(RenderGroup* renderGroup) { + if (getNumGeometricShapes(renderGroup) == 1 && isSetFillColor(getGeometricShape(renderGroup))) + return isSetFillColor(getGeometricShape(renderGroup)); + + if (isRenderGroup(renderGroup)) + return renderGroup->isSetFill(); + + return false; +} + bool isSetFillColor(Transformation2D* transformation2D) { if (isGraphicalPrimitive2D(transformation2D)) return ((GraphicalPrimitive2D*)transformation2D)->isSetFill(); @@ -2534,6 +2744,16 @@ const std::string getFillColor(Style* style) { return getFillColor(getRenderGroup(style)); } +const std::string getFillColor(RenderGroup* renderGroup) { + if (getNumGeometricShapes(renderGroup) == 1 && isSetFillColor(getGeometricShape(renderGroup))) + return getFillColor(getGeometricShape(renderGroup)); + + if (isRenderGroup(renderGroup)) + return renderGroup->getFill(); + + return ""; +} + const std::string getFillColor(Transformation2D* transformation2D) { if (isGraphicalPrimitive2D(transformation2D)) return ((GraphicalPrimitive2D*)transformation2D)->getFill(); @@ -2550,12 +2770,21 @@ int setFillColor(RenderInformationBase* renderInformationBase, const std::string } int setFillColor(Style* style, const std::string& fillColor) { - if (getNumGeometricShapes(style) == 1) - return setFillColor(getGeometricShape(style), fillColor); - return setFillColor(getRenderGroup(style), fillColor); } +int setFillColor(RenderGroup* renderGroup, const std::string& fillColor) { + if (getNumGeometricShapes(renderGroup) == 1 && isSetFillColor(getGeometricShape(renderGroup))) + return setFillColor(getGeometricShape(renderGroup), fillColor); + + if (isRenderGroup(renderGroup) && isValidFillColorValue(fillColor)) { + renderGroup->setFill(fillColor); + return 0; + } + + return -1; +} + int setFillColor(Transformation2D* transformation2D, const std::string& fillColor) { if (isGraphicalPrimitive2D(transformation2D) && isValidFillColorValue(fillColor)) { ((GraphicalPrimitive2D*)transformation2D)->setFill(fillColor); @@ -2565,16 +2794,49 @@ int setFillColor(Transformation2D* transformation2D, const std::string& fillColo return -1; } -const std::string getCompartmentFillColor(GlobalRenderInformation* globalRenderInformation) { - Style* style = getStyleByType(globalRenderInformation, getCompartmentGlyphStyleType()); - if (style) { - if (getNumGeometricShapes(style) == 1 && !getFillColor(getGeometricShape(style)).empty()) - return getFillColor(getGeometricShape(style)); +int setFillColorAsGradient(RenderInformationBase* renderInformationBase, GraphicalObject* graphicalObject, std::string& gradientId) { + if (renderInformationBase && renderInformationBase->getGradientDefinition(gradientId)) { + return setFillColor(getStyle(renderInformationBase, graphicalObject), gradientId); + } - return getFillColor(style); + return -1; +} + +int setFillColorAsGradient(RenderInformationBase* renderInformationBase, const std::string& attribute, const std::string& gradientId) { + if (renderInformationBase && renderInformationBase->getGradientDefinition(gradientId)) { + return setFillColor(getStyle(renderInformationBase, attribute), gradientId); } - return ""; + return -1; +} + +int setFillColorAsGradient(Style* style, const std::string& gradientId) { + return setFillColorAsGradient(getRenderGroup(style), gradientId); +} + +int setFillColorAsGradient(RenderGroup* renderGroup, const std::string& gradientId) { + if (getNumGeometricShapes(renderGroup) == 1 && isSetFillColor(getGeometricShape(renderGroup))) + return setFillColorAsGradient(getGeometricShape(renderGroup), gradientId); + + if (isRenderGroup(renderGroup)) { + renderGroup->setFill(gradientId); + return 0; + } + + return -1; +} + +int setFillColorAsGradient(Transformation2D* transformation2D, const std::string& gradientId) { + if (isGraphicalPrimitive2D(transformation2D)) { + ((GraphicalPrimitive2D *) transformation2D)->setFill(gradientId); + return 0; + } + + return -1; +} + +const std::string getCompartmentFillColor(GlobalRenderInformation* globalRenderInformation) { + return getFillColor(getStyleByType(globalRenderInformation, getCompartmentGlyphStyleType())); } int setCompartmentFillColor(GlobalRenderInformation* globalRenderInformation, const std::string& fillColor) { @@ -2587,16 +2849,19 @@ int setCompartmentFillColor(GlobalRenderInformation* globalRenderInformation, co return -1; } -const std::string getSpeciesFillColor(GlobalRenderInformation* globalRenderInformation) { - Style* style = getStyleByType(globalRenderInformation, getSpeciesGlyphStyleType()); +int setCompartmentFillColorAsGradient(GlobalRenderInformation* globalRenderInformation, const std::string& gradientId) { + Style* style = getStyleByType(globalRenderInformation, getCompartmentGlyphStyleType()); if (style) { - if (getNumGeometricShapes(style) == 1 && !getFillColor(getGeometricShape(style)).empty()) - return getFillColor(getGeometricShape(style)); - - return getFillColor(style); + if (globalRenderInformation->getGradientDefinition(gradientId)) { + return setFillColorAsGradient(style, gradientId); + } } - return ""; + return -1; +} + +const std::string getSpeciesFillColor(GlobalRenderInformation* globalRenderInformation) { + return getFillColor(getStyleByType(globalRenderInformation, getSpeciesGlyphStyleType())); } int setSpeciesFillColor(GlobalRenderInformation* globalRenderInformation, const std::string& fillColor) { @@ -2609,16 +2874,19 @@ int setSpeciesFillColor(GlobalRenderInformation* globalRenderInformation, const return -1; } -const std::string getReactionFillColor(GlobalRenderInformation* globalRenderInformation) { - Style* style = getStyleByType(globalRenderInformation, getReactionGlyphStyleType()); +int setSpeciesFillColorAsGradient(GlobalRenderInformation* globalRenderInformation, const std::string& gradientId) { + Style* style = getStyleByType(globalRenderInformation, getSpeciesGlyphStyleType()); if (style) { - if (getNumGeometricShapes(style) == 1 && !getFillColor(getGeometricShape(style)).empty()) - return getFillColor(getGeometricShape(style)); - - return getFillColor(style); + if (globalRenderInformation->getGradientDefinition(gradientId)) { + return setFillColorAsGradient(style, gradientId); + } } - return ""; + return -1; +} + +const std::string getReactionFillColor(GlobalRenderInformation* globalRenderInformation) { + return getFillColor(getStyleByType(globalRenderInformation, getReactionGlyphStyleType())); } int setReactionFillColor(GlobalRenderInformation* globalRenderInformation, const std::string& fillColor) { @@ -2631,6 +2899,17 @@ int setReactionFillColor(GlobalRenderInformation* globalRenderInformation, const return -1; } +int setReactionFillColorAsGradient(GlobalRenderInformation* globalRenderInformation, const std::string& gradientId) { + Style* style = getStyleByType(globalRenderInformation, getReactionGlyphStyleType()); + if (style) { + if (globalRenderInformation->getGradientDefinition(gradientId)) { + return setFillColorAsGradient(style, gradientId); + } + } + + return -1; +} + bool isSetFillRule(RenderInformationBase* renderInformationBase, GraphicalObject* graphicalObject) { return isSetFillRule(getStyle(renderInformationBase, graphicalObject)); } @@ -2643,6 +2922,16 @@ bool isSetFillRule(Style* style) { return isSetFillRule(getRenderGroup(style)); } +bool isSetFillRule(RenderGroup* renderGroup) { + if (getNumGeometricShapes(renderGroup) == 1 && isSetFillRule(getGeometricShape(renderGroup))) + return isSetFillRule(getGeometricShape(renderGroup)); + + if (isRenderGroup(renderGroup)) + return renderGroup->isSetFillRule(); + + return false; +} + bool isSetFillRule(Transformation2D* transformation2D) { if (isGraphicalPrimitive2D(transformation2D)) return ((GraphicalPrimitive2D*)transformation2D)->isSetFillRule(); @@ -2662,6 +2951,16 @@ const std::string getFillRule(Style* style) { return getFillRule(getRenderGroup(style)); } +const std::string getFillRule(RenderGroup* renderGroup) { + if (getNumGeometricShapes(renderGroup) == 1 && isSetFillRule(getGeometricShape(renderGroup))) + return getFillRule(getGeometricShape(renderGroup)); + + if (isRenderGroup(renderGroup)) + return renderGroup->getFillRuleAsString(); + + return ""; +} + const std::string getFillRule(Transformation2D* transformation2D) { if (isGraphicalPrimitive2D(transformation2D)) return ((GraphicalPrimitive2D*)transformation2D)->getFillRuleAsString(); @@ -2681,6 +2980,18 @@ int setFillRule(Style* style, const std::string& fillRule) { return setFillRule(getRenderGroup(style), fillRule); } +int setFillRule(RenderGroup* renderGroup, const std::string& fillRule) { + if (getNumGeometricShapes(renderGroup) == 1 && isSetFillRule(getGeometricShape(renderGroup))) + return setFillRule(getGeometricShape(renderGroup), fillRule); + + if (isRenderGroup(renderGroup) && isValidFillRuleValue(fillRule)) { + renderGroup->setFillRule(fillRule); + return 0; + } + + return -1; +} + int setFillRule(Transformation2D* transformation2D, const std::string& fillRule) { if (isGraphicalPrimitive2D(transformation2D) && isValidFillRuleValue(fillRule)) { ((GraphicalPrimitive2D*)transformation2D)->setFillRule(fillRule); @@ -2691,63 +3002,27 @@ int setFillRule(Transformation2D* transformation2D, const std::string& fillRule) } const std::string getCompartmentFillRule(GlobalRenderInformation* globalRenderInformation) { - Style* style = getStyleByType(globalRenderInformation, getCompartmentGlyphStyleType()); - if (style) { - if (getNumGeometricShapes(style) == 1 && !getFillRule(getGeometricShape(style)).empty()) - return getFillRule(getGeometricShape(style)); - - return getFillRule(style); - } - - return ""; + return getFillRule(getStyleByType(globalRenderInformation, getCompartmentGlyphStyleType())); } int setCompartmentFillRule(GlobalRenderInformation* globalRenderInformation, const std::string& fillRule) { - Style* style = getStyleByType(globalRenderInformation, getCompartmentGlyphStyleType()); - if (style) - return setFillRule(style, fillRule); - - return -1; + return setFillRule(getStyleByType(globalRenderInformation, getCompartmentGlyphStyleType()), fillRule); } const std::string getSpeciesFillRule(GlobalRenderInformation* globalRenderInformation) { - Style* style = getStyleByType(globalRenderInformation, getSpeciesGlyphStyleType()); - if (style) { - if (getNumGeometricShapes(style) == 1 && !getFillRule(getGeometricShape(style)).empty()) - return getFillRule(getGeometricShape(style)); - - return getFillRule(style); - } - - return ""; + return getFillRule(getStyleByType(globalRenderInformation, getSpeciesGlyphStyleType())); } int setSpeciesFillRule(GlobalRenderInformation* globalRenderInformation, const std::string& fillRule) { - Style* style = getStyleByType(globalRenderInformation, getSpeciesGlyphStyleType()); - if (style) - return setFillRule(style, fillRule); - - return -1; + return setFillRule(getStyleByType(globalRenderInformation, getSpeciesGlyphStyleType()), fillRule); } const std::string getReactionFillRule(GlobalRenderInformation* globalRenderInformation) { - Style* style = getStyleByType(globalRenderInformation, getReactionGlyphStyleType()); - if (style) { - if (getNumGeometricShapes(style) == 1 && !getFillRule(getGeometricShape(style)).empty()) - return getFillRule(getGeometricShape(style)); - - return getFillRule(style); - } - - return ""; + return getFillRule(getStyleByType(globalRenderInformation, getReactionGlyphStyleType())); } int setReactionFillRule(GlobalRenderInformation* globalRenderInformation, const std::string& fillRule) { - Style* style = getStyleByType(globalRenderInformation, getReactionGlyphStyleType()); - if (style) - return setFillRule(style, fillRule); - - return -1; + return setFillRule(getStyleByType(globalRenderInformation, getReactionGlyphStyleType()), fillRule); } bool isSetStartHead(RenderInformationBase* renderInformationBase, GraphicalObject* graphicalObject) { @@ -2762,10 +3037,18 @@ bool isSetStartHead(Style* style) { return isSetStartHead(getRenderGroup(style)); } +bool isSetStartHead(RenderGroup* renderGroup) { + if (getNumGeometricShapes(renderGroup) == 1 && isSetStartHead(getGeometricShape(renderGroup))) + return isSetStartHead(getGeometricShape(renderGroup)); + + if (isRenderGroup(renderGroup)) + return renderGroup->isSetStartHead(); + + return false; +} + bool isSetStartHead(Transformation2D* transformation2D) { - if (isRenderGroup(transformation2D)) - return ((RenderGroup*)transformation2D)->isSetStartHead(); - else if (isRenderCurve(transformation2D)) + if (isRenderCurve(transformation2D)) return ((RenderCurve*)transformation2D)->isSetStartHead(); return false; @@ -2783,10 +3066,18 @@ const std::string getStartHead(Style* style) { return getStartHead(getRenderGroup(style)); } +const std::string getStartHead(RenderGroup* renderGroup) { + if (getNumGeometricShapes(renderGroup) == 1 && isSetStartHead(getGeometricShape(renderGroup))) + return getStartHead(getGeometricShape(renderGroup)); + + if (isRenderGroup(renderGroup)) + return renderGroup->getStartHead(); + + return ""; +} + const std::string getStartHead(Transformation2D* transformation2D) { - if (isRenderGroup(transformation2D)) - return ((RenderGroup*)transformation2D)->getStartHead(); - else if (isRenderCurve(transformation2D)) + if (isRenderCurve(transformation2D)) return ((RenderCurve*)transformation2D)->getStartHead(); return ""; @@ -2804,16 +3095,22 @@ int setStartHead(Style* style, const std::string& startHead) { return setStartHead(getRenderGroup(style), startHead); } +int setStartHead(RenderGroup* renderGroup, const std::string& startHead) { + if (getNumGeometricShapes(renderGroup) == 1 && isSetStartHead(getGeometricShape(renderGroup))) + return setStartHead(getGeometricShape(renderGroup), startHead); + + if (isRenderGroup(renderGroup) && isValidStartHeadValue(startHead)) { + renderGroup->setStartHead(startHead); + return 0; + } + + return -1; +} + int setStartHead(Transformation2D* transformation2D, const std::string startHead) { - if (isValidStartHeadValue(startHead)) { - if (isRenderGroup(transformation2D)) { - ((RenderGroup*)transformation2D)->setStartHead(startHead); - return 0; - } - else if (isRenderCurve(transformation2D)) { - ((RenderCurve*)transformation2D)->setStartHead(startHead); - return 0; - } + if (isRenderCurve(transformation2D) && isValidStartHeadValue(startHead)) { + ((RenderCurve*)transformation2D)->setStartHead(startHead); + return 0; } return -1; @@ -2831,10 +3128,18 @@ bool isSetEndHead(Style* style) { return isSetEndHead(getRenderGroup(style)); } +bool isSetEndHead(RenderGroup* renderGroup) { + if (getNumGeometricShapes(renderGroup) == 1 && isSetEndHead(getGeometricShape(renderGroup))) + return isSetEndHead(getGeometricShape(renderGroup)); + + if (isRenderGroup(renderGroup)) + return renderGroup->isSetEndHead(); + + return false; +} + bool isSetEndHead(Transformation2D* transformation2D) { - if (isRenderGroup(transformation2D)) - return ((RenderGroup*)transformation2D)->isSetEndHead(); - else if (isRenderCurve(transformation2D)) + if (isRenderCurve(transformation2D)) return ((RenderCurve*)transformation2D)->isSetEndHead(); return false; @@ -2852,10 +3157,18 @@ const std::string getEndHead(Style* style) { return getEndHead(getRenderGroup(style)); } +const std::string getEndHead(RenderGroup* renderGroup) { + if (getNumGeometricShapes(renderGroup) == 1 && isSetEndHead(getGeometricShape(renderGroup))) + return getEndHead(getGeometricShape(renderGroup)); + + if (isRenderGroup(renderGroup)) + return renderGroup->getEndHead(); + + return ""; +} + const std::string getEndHead(Transformation2D* transformation2D) { - if (isRenderGroup(transformation2D)) - return ((RenderGroup*)transformation2D)->getEndHead(); - else if (isRenderCurve(transformation2D)) + if (isRenderCurve(transformation2D)) return ((RenderCurve*)transformation2D)->getEndHead(); return ""; @@ -2873,16 +3186,22 @@ int setEndHead(Style* style, const std::string& endHead) { return setEndHead(getRenderGroup(style), endHead); } +int setEndHead(RenderGroup* renderGroup, const std::string& endHead) { + if (getNumGeometricShapes(renderGroup) == 1 && isSetEndHead(getGeometricShape(renderGroup))) + return setEndHead(getGeometricShape(renderGroup), endHead); + + if (isRenderGroup(renderGroup) && isValidEndHeadValue(endHead)) { + renderGroup->setEndHead(endHead); + return 0; + } + + return -1; +} + int setEndHead(Transformation2D* transformation2D, const std::string endHead) { - if (isValidEndHeadValue(endHead)) { - if (isRenderGroup(transformation2D)) { - ((RenderGroup*)transformation2D)->setEndHead(endHead); - return 0; - } - else if (isRenderCurve(transformation2D)) { - ((RenderCurve*)transformation2D)->setEndHead(endHead); - return 0; - } + if (isRenderCurve(transformation2D) && isValidEndHeadValue(endHead)) { + ((RenderCurve*)transformation2D)->setEndHead(endHead); + return 0; } return -1; @@ -3446,6 +3765,314 @@ bool isText(Transformation2D* shape) { return false; } +bool isSetGeometricShapeStrokeColor(RenderInformationBase* renderInformationBase, GraphicalObject* graphicalObject, unsigned int geometricShapeIndex) { + return isSetGeometricShapeStrokeColor(getStyle(renderInformationBase, graphicalObject), geometricShapeIndex); +} + +bool isSetGeometricShapeStrokeColor(RenderInformationBase* renderInformationBase, const std::string& attribute, unsigned int geometricShapeIndex) { + return isSetGeometricShapeStrokeColor(getStyle(renderInformationBase, attribute), geometricShapeIndex); +} + +bool isSetGeometricShapeStrokeColor(Style* style, unsigned int geometricShapeIndex) { + return isSetGeometricShapeStrokeColor(getRenderGroup(style), geometricShapeIndex); +} + +bool isSetGeometricShapeStrokeColor(RenderGroup* renderGroup, unsigned int geometricShapeIndex) { + return isSetGeometricShapeStrokeColor(getGeometricShape(renderGroup, geometricShapeIndex)); +} + +bool isSetGeometricShapeStrokeColor(Transformation2D* shape) { + if (isGraphicalPrimitive1D(shape)) + return ((GraphicalPrimitive1D*)shape)->isSetStroke(); + + return false; +} + +const std::string getGeometricShapeStrokeColor(RenderInformationBase* renderInformationBase, GraphicalObject* graphicalObject, unsigned int geometricShapeIndex) { + return getGeometricShapeStrokeColor(getStyle(renderInformationBase, graphicalObject), geometricShapeIndex); +} + +const std::string getGeometricShapeStrokeColor(RenderInformationBase* renderInformationBase, const std::string& attribute, unsigned int geometricShapeIndex) { + return getGeometricShapeStrokeColor(getStyle(renderInformationBase, attribute), geometricShapeIndex); +} + +const std::string getGeometricShapeStrokeColor(Style* style, unsigned int geometricShapeIndex) { + return getGeometricShapeStrokeColor(getRenderGroup(style), geometricShapeIndex); +} + +const std::string getGeometricShapeStrokeColor(RenderGroup* renderGroup, unsigned int geometricShapeIndex) { + return getGeometricShapeStrokeColor(getGeometricShape(renderGroup, geometricShapeIndex)); +} + +const std::string getGeometricShapeStrokeColor(Transformation2D* shape) { + if (isGraphicalPrimitive1D(shape)) + return ((GraphicalPrimitive1D*)shape)->getStroke(); + + return ""; +} + +int setGeometricShapeStrokeColor(RenderInformationBase* renderInformationBase, GraphicalObject* graphicalObject, const std::string& strokeColor) { + return setGeometricShapeStrokeColor(renderInformationBase, graphicalObject, 0, strokeColor); +} + +int setGeometricShapeStrokeColor(RenderInformationBase* renderInformationBase, GraphicalObject* graphicalObject, unsigned int geometricShapeIndex, const std::string& strokeColor) { + return setGeometricShapeStrokeColor(getStyle(renderInformationBase, graphicalObject), geometricShapeIndex, strokeColor); +} + +int setGeometricShapeStrokeColor(RenderInformationBase* renderInformationBase, const std::string& attribute, const std::string& strokeColor) { + return setGeometricShapeStrokeColor(renderInformationBase, attribute, 0, strokeColor); +} + +int setGeometricShapeStrokeColor(RenderInformationBase* renderInformationBase, const std::string& attribute, unsigned int geometricShapeIndex, const std::string& strokeColor) { + return setGeometricShapeStrokeColor(getStyle(renderInformationBase, attribute), geometricShapeIndex, strokeColor); +} + +int setGeometricShapeStrokeColor(Style* style, const std::string& strokeColor) { + return setGeometricShapeStrokeColor(style, 0, strokeColor); +} + +int setGeometricShapeStrokeColor(Style* style, unsigned int geometricShapeIndex, const std::string& strokeColor) { + return setGeometricShapeStrokeColor(getRenderGroup(style), geometricShapeIndex, strokeColor); +} + +int setGeometricShapeStrokeColor(RenderGroup* renderGroup, const std::string& strokeColor) { + return setGeometricShapeStrokeColor(renderGroup, 0, strokeColor); +} + +int setGeometricShapeStrokeColor(RenderGroup* renderGroup, unsigned int geometricShapeIndex, const std::string& strokeColor) { + return setGeometricShapeStrokeColor(getGeometricShape(renderGroup, geometricShapeIndex), strokeColor); +} + +int setGeometricShapeStrokeColor(Transformation2D* shape, const std::string& strokeColor) { + if (isValidColorValue(strokeColor)) { + if (isGraphicalPrimitive1D(shape)) { + ((GraphicalPrimitive1D*)shape)->setStroke(strokeColor); + return 0; + } + } + + return -1; +} + +bool isSetGeometricShapeStrokeWidth(RenderInformationBase* renderInformationBase, GraphicalObject* graphicalObject, unsigned int geometricShapeIndex) { + return isSetGeometricShapeStrokeWidth(getStyle(renderInformationBase, graphicalObject), geometricShapeIndex); +} + +bool isSetGeometricShapeStrokeWidth(RenderInformationBase* renderInformationBase, const std::string& attribute, unsigned int geometricShapeIndex) { + return isSetGeometricShapeStrokeWidth(getStyle(renderInformationBase, attribute), geometricShapeIndex); +} + +bool isSetGeometricShapeStrokeWidth(Style* style, unsigned int geometricShapeIndex) { + return isSetGeometricShapeStrokeWidth(getRenderGroup(style), geometricShapeIndex); +} + +bool isSetGeometricShapeStrokeWidth(RenderGroup* renderGroup, unsigned int geometricShapeIndex) { + return isSetGeometricShapeStrokeWidth(getGeometricShape(renderGroup, geometricShapeIndex)); +} + +bool isSetGeometricShapeStrokeWidth(Transformation2D* shape) { + if (isGraphicalPrimitive1D(shape)) + return ((GraphicalPrimitive1D*)shape)->isSetStrokeWidth(); + + return false; +} + +const double getGeometricShapeStrokeWidth(RenderInformationBase* renderInformationBase, GraphicalObject* graphicalObject, unsigned int geometricShapeIndex) { + return getGeometricShapeStrokeWidth(getStyle(renderInformationBase, graphicalObject), geometricShapeIndex); +} + +const double getGeometricShapeStrokeWidth(RenderInformationBase* renderInformationBase, const std::string& attribute, unsigned int geometricShapeIndex) { + return getGeometricShapeStrokeWidth(getStyle(renderInformationBase, attribute), geometricShapeIndex); +} + +const double getGeometricShapeStrokeWidth(Style* style, unsigned int geometricShapeIndex) { + return getGeometricShapeStrokeWidth(getRenderGroup(style), geometricShapeIndex); +} + +const double getGeometricShapeStrokeWidth(RenderGroup* renderGroup, unsigned int geometricShapeIndex) { + return getGeometricShapeStrokeWidth(getGeometricShape(renderGroup, geometricShapeIndex)); +} + +const double getGeometricShapeStrokeWidth(Transformation2D* shape) { + if (isGraphicalPrimitive1D(shape)) + return ((GraphicalPrimitive1D*)shape)->getStrokeWidth(); + + return -1; +} + +int setGeometricShapeStrokeWidth(RenderInformationBase* renderInformationBase, GraphicalObject* graphicalObject, const double& strokeWidth) { + return setGeometricShapeStrokeWidth(renderInformationBase, graphicalObject, 0, strokeWidth); +} + +int setGeometricShapeStrokeWidth(RenderInformationBase* renderInformationBase, GraphicalObject* graphicalObject, unsigned int geometricShapeIndex, const double& strokeWidth) { + return setGeometricShapeStrokeWidth(getStyle(renderInformationBase, graphicalObject), geometricShapeIndex, strokeWidth); +} + +int setGeometricShapeStrokeWidth(RenderInformationBase* renderInformationBase, const std::string& attribute, const double& strokeWidth) { + return setGeometricShapeStrokeWidth(renderInformationBase, attribute, 0, strokeWidth); +} + +int setGeometricShapeStrokeWidth(RenderInformationBase* renderInformationBase, const std::string& attribute, unsigned int geometricShapeIndex, const double& strokeWidth) { + return setGeometricShapeStrokeWidth(getStyle(renderInformationBase, attribute), geometricShapeIndex, strokeWidth); +} + +int setGeometricShapeStrokeWidth(Style* style, const double& strokeWidth) { + return setGeometricShapeStrokeWidth(style, 0, strokeWidth); +} + +int setGeometricShapeStrokeWidth(Style* style, unsigned int geometricShapeIndex, const double& strokeWidth) { + return setGeometricShapeStrokeWidth(getRenderGroup(style), geometricShapeIndex, strokeWidth); +} + +int setGeometricShapeStrokeWidth(RenderGroup* renderGroup, const double& strokeWidth) { + return setGeometricShapeStrokeWidth(renderGroup, 0, strokeWidth); +} + +int setGeometricShapeStrokeWidth(RenderGroup* renderGroup, unsigned int geometricShapeIndex, const double& strokeWidth) { + return setGeometricShapeStrokeWidth(getGeometricShape(renderGroup, geometricShapeIndex), strokeWidth); +} + +int setGeometricShapeStrokeWidth(Transformation2D* shape, const double& strokeWidth) { + if (isGraphicalPrimitive1D(shape)) { + ((GraphicalPrimitive1D*)shape)->setStrokeWidth(strokeWidth); + return 0; + } + + return -1; +} + +bool isSetGeometricShapeFillColor(RenderInformationBase* renderInformationBase, GraphicalObject* graphicalObject, unsigned int geometricShapeIndex) { + return isSetGeometricShapeFillColor(getStyle(renderInformationBase, graphicalObject), geometricShapeIndex); +} + +bool isSetGeometricShapeFillColor(RenderInformationBase* renderInformationBase, const std::string& attribute, unsigned int geometricShapeIndex) { + return isSetGeometricShapeFillColor(getStyle(renderInformationBase, attribute), geometricShapeIndex); +} + +bool isSetGeometricShapeFillColor(Style* style, unsigned int geometricShapeIndex) { + return isSetGeometricShapeFillColor(getRenderGroup(style), geometricShapeIndex); +} + +bool isSetGeometricShapeFillColor(RenderGroup* renderGroup, unsigned int geometricShapeIndex) { + return isSetGeometricShapeFillColor(getGeometricShape(renderGroup, geometricShapeIndex)); +} + +bool isSetGeometricShapeFillColor(Transformation2D* shape) { + if (isGraphicalPrimitive2D(shape)) + return ((GraphicalPrimitive2D*)shape)->isSetFillColor(); + + return false; +} + +const std::string getGeometricShapeFillColor(RenderInformationBase* renderInformationBase, GraphicalObject* graphicalObject, unsigned int geometricShapeIndex) { + return getGeometricShapeFillColor(getStyle(renderInformationBase, graphicalObject), geometricShapeIndex); +} + +const std::string getGeometricShapeFillColor(RenderInformationBase* renderInformationBase, const std::string& attribute, unsigned int geometricShapeIndex) { + return getGeometricShapeFillColor(getStyle(renderInformationBase, attribute), geometricShapeIndex); +} + +const std::string getGeometricShapeFillColor(Style* style, unsigned int geometricShapeIndex) { + return getGeometricShapeFillColor(getRenderGroup(style), geometricShapeIndex); +} + +const std::string getGeometricShapeFillColor(RenderGroup* renderGroup, unsigned int geometricShapeIndex) { + return getGeometricShapeFillColor(getGeometricShape(renderGroup, geometricShapeIndex)); +} + +const std::string getGeometricShapeFillColor(Transformation2D* shape) { + if (isGraphicalPrimitive2D(shape)) + return ((GraphicalPrimitive2D*)shape)->getFillColor(); + + return ""; +} + +int setGeometricShapeFillColor(RenderInformationBase* renderInformationBase, GraphicalObject* graphicalObject, const std::string& fillColor) { + return setGeometricShapeFillColor(renderInformationBase, graphicalObject, 0, fillColor); +} + +int setGeometricShapeFillColor(RenderInformationBase* renderInformationBase, GraphicalObject* graphicalObject, unsigned int geometricShapeIndex, const std::string& fillColor) { + return setGeometricShapeFillColor(getStyle(renderInformationBase, graphicalObject), geometricShapeIndex, fillColor); +} + +int setGeometricShapeFillColor(RenderInformationBase* renderInformationBase, const std::string& attribute, const std::string& fillColor) { + return setGeometricShapeFillColor(renderInformationBase, attribute, 0, fillColor); +} + +int setGeometricShapeFillColor(RenderInformationBase* renderInformationBase, const std::string& attribute, unsigned int geometricShapeIndex, const std::string& fillColor) { + return setGeometricShapeFillColor(getStyle(renderInformationBase, attribute), geometricShapeIndex, fillColor); +} + +int setGeometricShapeFillColor(Style* style, const std::string& fillColor) { + return setGeometricShapeFillColor(style, 0, fillColor); +} + +int setGeometricShapeFillColor(Style* style, unsigned int geometricShapeIndex, const std::string& fillColor) { + return setGeometricShapeFillColor(getRenderGroup(style), geometricShapeIndex, fillColor); +} + +int setGeometricShapeFillColor(RenderGroup* renderGroup, const std::string& fillColor) { + return setGeometricShapeFillColor(renderGroup, 0, fillColor); +} + +int setGeometricShapeFillColor(RenderGroup* renderGroup, unsigned int geometricShapeIndex, const std::string& fillColor) { + return setGeometricShapeFillColor(getGeometricShape(renderGroup, geometricShapeIndex), fillColor); +} + +int setGeometricShapeFillColor(Transformation2D* shape, const std::string& fillColor) { + if (isValidColorValue(fillColor)) { + if (isGraphicalPrimitive2D(shape)) { + ((GraphicalPrimitive2D*)shape)->setFillColor(fillColor); + return 0; + } + } + + return -1; +} + +int setGeometricShapeFillColorAsGradient(RenderInformationBase* renderInformationBase, GraphicalObject* graphicalObject, const std::string& gradientId) { + return setGeometricShapeFillColorAsGradient(renderInformationBase, graphicalObject, 0, gradientId); +} + +int setGeometricShapeFillColorAsGradient(RenderInformationBase* renderInformationBase, GraphicalObject* graphicalObject, unsigned int geometricShapeIndex, const std::string& gradientId) { + return setGeometricShapeFillColorAsGradient(getStyle(renderInformationBase, graphicalObject), geometricShapeIndex, gradientId); +} + +int setGeometricShapeFillColorAsGradient(RenderInformationBase* renderInformationBase, const std::string& attribute, const std::string& gradientId) { + return setGeometricShapeFillColorAsGradient(renderInformationBase, attribute, 0, gradientId); +} + +int setGeometricShapeFillColorAsGradient(RenderInformationBase* renderInformationBase, const std::string& attribute, unsigned int geometricShapeIndex, const std::string& gradientId) { + return setGeometricShapeFillColorAsGradient(getStyle(renderInformationBase, attribute), geometricShapeIndex, gradientId); +} + +int setGeometricShapeFillColorAsGradient(Style* style, const std::string& gradientId) { + return setGeometricShapeFillColorAsGradient(style, 0, gradientId); +} + +int setGeometricShapeFillColorAsGradient(Style* style, unsigned int geometricShapeIndex, const std::string& gradientId) { + return setGeometricShapeFillColorAsGradient(getRenderGroup(style), geometricShapeIndex, gradientId); +} + +int setGeometricShapeFillColorAsGradient(RenderGroup* renderGroup, const std::string& gradientId) { + return setGeometricShapeFillColorAsGradient(renderGroup, 0, gradientId); +} + +int setGeometricShapeFillColorAsGradient(RenderGroup* renderGroup, unsigned int geometricShapeIndex, const std::string& gradientId) { + return setGeometricShapeFillColorAsGradient(getGeometricShape(renderGroup, geometricShapeIndex), gradientId); +} + +int setGeometricShapeFillColorAsGradient(Transformation2D* shape, const std::string& gradientId) { + if (isGraphicalPrimitive2D(shape)) { + ((GraphicalPrimitive2D*)shape)->setFillColor(gradientId); + return 0; + } + + return -1; +} + + + bool isSetGeometricShapeX(RenderInformationBase* renderInformationBase, GraphicalObject* graphicalObject, unsigned int geometricShapeIndex) { return isSetGeometricShapeX(getStyle(renderInformationBase, graphicalObject), geometricShapeIndex); } diff --git a/src/libsbmlnetwork_render.h b/src/libsbmlnetwork_render.h index 4410acae..3e79b6e9 100755 --- a/src/libsbmlnetwork_render.h +++ b/src/libsbmlnetwork_render.h @@ -1120,6 +1120,8 @@ LIBSBMLNETWORK_EXTERN bool isSetStrokeColor(RenderInformationBase* renderInforma /// attribute is not set or the object is @c NULL . LIBSBMLNETWORK_EXTERN bool isSetStrokeColor(Style* style); +LIBSBMLNETWORK_EXTERN bool isSetStrokeColor(RenderGroup* renderGroup); + /// @brief Predicates returning @c true if the "stroke" attribute of this Transformation2D is set. /// @param transformation2D a pointer to the Transformation2D object. /// @return @c true if the "stroke" attribute of this Transformation2D object is set, @c false if either the "stroke" @@ -1143,6 +1145,8 @@ LIBSBMLNETWORK_EXTERN const std::string getStrokeColor(RenderInformationBase* re /// @return the "stroke" attribute of the RenderGroup of this Style object, or @c "" if the object is @c NULL LIBSBMLNETWORK_EXTERN const std::string getStrokeColor(Style* style); +LIBSBMLNETWORK_EXTERN const std::string getStrokeColor(RenderGroup* renderGroup); + /// @brief Returns the value of the "stroke" attribute of this Transformation2D. /// @param transformation2D a pointer to the Transformation2D object. /// @return the "stroke" attribute of the Transformation2D object, or @c "" if the object is @c NULL @@ -1168,6 +1172,8 @@ LIBSBMLNETWORK_EXTERN int setStrokeColor(RenderInformationBase* renderInformatio /// @return integer value indicating success/failure of the function. LIBSBMLNETWORK_EXTERN int setStrokeColor(Style* style, const std::string& stroke); +LIBSBMLNETWORK_EXTERN int setStrokeColor(RenderGroup* renderGroup, const std::string& stroke); + /// @brief Sets the value of the "stroke" attribute of this Transformation2D object. /// @param transformation2D a pointer to the Transformation2D object. /// @param stroke a string value to use as the value of the "stroke" attribute of this Transformation2D object. @@ -1237,6 +1243,8 @@ LIBSBMLNETWORK_EXTERN bool isSetStrokeWidth(RenderInformationBase* renderInforma /// attribute is not set or the object is @c NULL . LIBSBMLNETWORK_EXTERN bool isSetStrokeWidth(Style* style); +LIBSBMLNETWORK_EXTERN bool isSetStrokeWidth(RenderGroup* renderGroup); + /// @brief Predicates returning @c true if the "stroke-width" attribute of this Transformation2D is set. /// @param transformation2D a pointer to the Transformation2D object. /// @return @c true if the "stroke-width" attribute of this Transformation2D object is set, @c false if either the "stroke-width" @@ -1260,6 +1268,8 @@ LIBSBMLNETWORK_EXTERN const double getStrokeWidth(RenderInformationBase* renderI /// @return the "stroke-width" attribute of the RenderGroup of this Style object, or @c 0.0 if the object is @c NULL LIBSBMLNETWORK_EXTERN const double getStrokeWidth(Style* style); +LIBSBMLNETWORK_EXTERN const double getStrokeWidth(RenderGroup* renderGroup); + /// @brief Returns the value of the "stroke-width" attribute of this Transformation2D. /// @param transformation2D a pointer to the Transformation2D object. /// @return the "stroke-width" attribute of the Transformation2D object, or @c 0.0 if the object is @c NULL @@ -1285,6 +1295,8 @@ LIBSBMLNETWORK_EXTERN int setStrokeWidth(RenderInformationBase* renderInformatio /// @return integer value indicating success/failure of the function. LIBSBMLNETWORK_EXTERN int setStrokeWidth(Style* style, const double& strokeWidth); +LIBSBMLNETWORK_EXTERN int setStrokeWidth(RenderGroup* renderGroup, const double& strokeWidth); + /// @brief Sets the value of the "stroke-width" attribute of this Transformation2D object. /// @param transformation2D a pointer to the Transformation2D object. /// @param strokeWidth a double value to use as the value of the "stroke-width" attribute of this Transformation2D object. @@ -1350,6 +1362,8 @@ LIBSBMLNETWORK_EXTERN bool isSetStrokeDashArray(RenderInformationBase* renderInf /// attribute is not set or the object is @c NULL . LIBSBMLNETWORK_EXTERN bool isSetStrokeDashArray(Style* style); +LIBSBMLNETWORK_EXTERN bool isSetStrokeDashArray(RenderGroup* renderGroup); + /// @brief Predicates returning @c true if the "stroke-dasharray" attribute of this Transformation2D is set. /// @param transformation2D a pointer to the Transformation2D object. /// @return @c true if the "stroke-dasharray" attribute of this Transformation2D object is set, @c false if either the "stroke-dasharray" @@ -1373,6 +1387,8 @@ LIBSBMLNETWORK_EXTERN const std::vector getStrokeDashArray(RenderI /// @return the "stroke-dasharray" attribute of the RenderGroup of this Style object, or an empty vector if the object is @c NULL LIBSBMLNETWORK_EXTERN const std::vector getStrokeDashArray(Style* style); +LIBSBMLNETWORK_EXTERN const std::vector getStrokeDashArray(RenderGroup* renderGroup); + /// @brief Returns the vector of the "stroke-dasharray" attribute of this Transformation2D. /// @param transformation2D a pointer to the Transformation2D object. /// @return the "stroke-dasharray" attribute of the Transformation2D object, or an empty vector if the object is @c NULL @@ -1398,6 +1414,8 @@ LIBSBMLNETWORK_EXTERN int setStrokeDashArray(RenderInformationBase* renderInform /// @return integer value indicating success/failure of the function. LIBSBMLNETWORK_EXTERN int setStrokeDashArray(Style* style, const std::vector& strokeDashArray); +LIBSBMLNETWORK_EXTERN int setStrokeDashArray(RenderGroup* renderGroup, const std::vector& strokeDashArray); + /// @brief Sets the value of the "stroke-dasharray" of this GraphicalPrimitive1D object. /// @param shape a pointer to the Transformation2D object. /// @param strokeDashArray a vector to use as the value of the "stroke-dasharray" attribute of this GraphicalPrimitive1D object. @@ -1421,6 +1439,8 @@ LIBSBMLNETWORK_EXTERN unsigned int getNumStrokeDashes(RenderInformationBase* ren /// @return the size of the "stroke-dasharray" attribute of the RenderGroup of this Style object, or @c 0 if the object is @c NULL LIBSBMLNETWORK_EXTERN unsigned int getNumStrokeDashes(Style* style); +LIBSBMLNETWORK_EXTERN unsigned int getNumStrokeDashes(RenderGroup* renderGroup); + /// @brief Returns the size of the "stroke-dasharray" attribute of this Transformation2D. /// @param transformation2D a pointer to the Transformation2D object. /// @return the size of "stroke-dasharray" attribute of the Transformation2D object, or 0 if the object is @c NULL @@ -1446,6 +1466,8 @@ LIBSBMLNETWORK_EXTERN unsigned int getStrokeDash(RenderInformationBase* renderIn /// @return the stroke dash at the given index of "stroke-dasharray" attribute of the RenderGroup of this Style object, or @c 0 if the object is @c NULL LIBSBMLNETWORK_EXTERN unsigned int getStrokeDash(Style* style, unsigned int strokeDashIndex = 0); +LIBSBMLNETWORK_EXTERN unsigned int getStrokeDash(RenderGroup* renderGroup, unsigned int strokeDashIndex = 0); + /// @brief Returns the stroke dash at the given index of the 'stroke-dasharray' attribute of this Transformation2D. /// @param transformation2D a pointer to the Transformation2D object. /// @param strokeDashIndex an unsigned int representing the index of the dash to retrieve. @@ -1496,6 +1518,8 @@ LIBSBMLNETWORK_EXTERN int setStrokeDash(Style* style, unsigned int dash); /// @return integer value indicating success/failure of the function. LIBSBMLNETWORK_EXTERN int setStrokeDash(Style* style, unsigned int strokeDashIndex, unsigned int dash); +LIBSBMLNETWORK_EXTERN int setStrokeDash(RenderGroup* renderGroup, unsigned int dash); + /// @brief Sets the first dash of the 'stroke-dasharray' attribute of this Transformation2D. /// @param transformation2D a pointer to the Transformation2D object. /// @param dash a unsigned int value to use as the fist dash of the 'stroke-dasharray' attribute of this Transformation2D. @@ -1547,6 +1571,8 @@ LIBSBMLNETWORK_EXTERN bool isSetFontColor(RenderInformationBase* renderInformati /// attribute is not set or the object is @c NULL . LIBSBMLNETWORK_EXTERN bool isSetFontColor(Style* style); +LIBSBMLNETWORK_EXTERN bool isSetFontColor(RenderGroup* renderGroup); + /// @brief Predicates returning @c true if the "stroke" attribute of this Transformation2D (Text or RenderGroup) is set. /// @param transformation2D a pointer to the Transformation2D (Text or RenderGroup) object. /// @return @c true if the "stroke" attribute of this Transformation2D (Text or RenderGroup) object is set, @c false if either the "stroke" @@ -1570,6 +1596,8 @@ LIBSBMLNETWORK_EXTERN const std::string getFontColor(RenderInformationBase* rend /// @return the "stroke" attribute of the RenderGroup of this Style object, or @c "" if the object is @c NULL LIBSBMLNETWORK_EXTERN const std::string getFontColor(Style* style); +LIBSBMLNETWORK_EXTERN const std::string getFontColor(RenderGroup* renderGroup); + /// @brief Returns the value of the "stroke" attribute of this Transformation2D (Text or RenderGroup). /// @param transformation2D a pointer to the Transformation2D (Text or RenderGroup) object. /// @return the "stroke" attribute of the Transformation2D (Text or RenderGroup) object, or @c "" if the object is @c NULL @@ -1595,6 +1623,8 @@ LIBSBMLNETWORK_EXTERN int setFontColor(RenderInformationBase* renderInformationB /// @return integer value indicating success/failure of the function. LIBSBMLNETWORK_EXTERN int setFontColor(Style* style, const std::string& fontColor); +LIBSBMLNETWORK_EXTERN int setFontColor(RenderGroup* renderGroup, const std::string& fontColor); + /// @brief Sets the value of the "stroke" attribute of this Transformation2D (Text or RenderGroup) object. /// @param transformation2D a pointer to the Transformation2D (Text or RenderGroup) object. /// @param fontColor a string value to use as the value of the "stroke" attribute of this Transformation2D (Text or RenderGroup) object. @@ -1654,6 +1684,8 @@ LIBSBMLNETWORK_EXTERN bool isSetFontFamily(RenderInformationBase* renderInformat /// attribute is not set or the object is @c NULL . LIBSBMLNETWORK_EXTERN bool isSetFontFamily(Style* style); +LIBSBMLNETWORK_EXTERN bool isSetFontFamily(RenderGroup* renderGroup); + /// @brief Predicates returning @c true if the "font-family" attribute of this Transformation2D (Text or RenderGroup) is set. /// @param transformation2D a pointer to the Transformation2D (Text or RenderGroup) object. /// @return @c true if the "font-family" attribute of this Transformation2D (Text or RenderGroup) object is set, @c false if either the "font-family" @@ -1677,6 +1709,8 @@ LIBSBMLNETWORK_EXTERN const std::string getFontFamily(RenderInformationBase* ren /// @return the "font-family" attribute of the RenderGroup of this Style object, or @c "" if the object is @c NULL LIBSBMLNETWORK_EXTERN const std::string getFontFamily(Style* style); +LIBSBMLNETWORK_EXTERN const std::string getFontFamily(RenderGroup* renderGroup); + /// @brief Returns the value of the "font-family" attribute of this Transformation2D (Text or RenderGroup). /// @param transformation2D a pointer to the Transformation2D (Text or RenderGroup) object. /// @return the "font-family" attribute of the Transformation2D (Text or RenderGroup) object, or @c "" if the object is @c NULL @@ -1702,6 +1736,8 @@ LIBSBMLNETWORK_EXTERN int setFontFamily(RenderInformationBase* renderInformation /// @return integer value indicating success/failure of the function. LIBSBMLNETWORK_EXTERN int setFontFamily(Style* style, const std::string& fontFamily); +LIBSBMLNETWORK_EXTERN int setFontFamily(RenderGroup* renderGroup, const std::string& fontFamily); + /// @brief Sets the value of the "font-family" attribute of this Transformation2D (Text or RenderGroup) object. /// @param transformation2D a pointer to the Transformation2D (Text or RenderGroup) object. /// @param fontFamily a string value to use as the value of the "font-family" attribute of this Transformation2D (Text or RenderGroup) object. @@ -1761,6 +1797,8 @@ LIBSBMLNETWORK_EXTERN bool isSetFontSize(RenderInformationBase* renderInformatio /// attribute is not set or the object is @c NULL . LIBSBMLNETWORK_EXTERN bool isSetFontSize(Style* style); +LIBSBMLNETWORK_EXTERN bool isSetFontSize(RenderGroup* renderGroup); + /// @brief Predicates returning @c true if the "font-size" attribute of this Transformation2D (Text or RenderGroup) is set. /// @param transformation2D a pointer to the Transformation2D (Text or RenderGroup) object. /// @return @c true if the "font-size" attribute of this Transformation2D (Text or RenderGroup) object is set, @c false if either the "font-size" @@ -1784,6 +1822,8 @@ LIBSBMLNETWORK_EXTERN const RelAbsVector getFontSize(RenderInformationBase* rend /// @return the "font-size" attribute of the RenderGroup of this Style object, or @c RelAbsVector() if the object is @c NULL LIBSBMLNETWORK_EXTERN const RelAbsVector getFontSize(Style* style); +LIBSBMLNETWORK_EXTERN const RelAbsVector getFontSize(RenderGroup* renderGroup); + /// @brief Returns the value of the "font-size" attribute of this Transformation2D (Text or RenderGroup). /// @param transformation2D a pointer to the Transformation2D (Text or RenderGroup) object. /// @return the "font-size" attribute of the Transformation2D (Text or RenderGroup) object, or @c RelAbsVector() if the object is @c NULL @@ -1809,6 +1849,8 @@ LIBSBMLNETWORK_EXTERN int setFontSize(RenderInformationBase* renderInformationBa /// @return integer value indicating success/failure of the function. LIBSBMLNETWORK_EXTERN int setFontSize(Style* style, const RelAbsVector& fontSize); +LIBSBMLNETWORK_EXTERN int setFontSize(RenderGroup* renderGroup, const RelAbsVector& fontSize); + /// @brief Sets the value of the "font-size" attribute of this Transformation2D (Text or RenderGroup) object. /// @param transformation2D a pointer to the Transformation2D (Text or RenderGroup) object. /// @param fontSize a RelAbsVector to use as the value of the "font-size" attribute of this Transformation2D (Text or RenderGroup) object. @@ -1835,6 +1877,8 @@ LIBSBMLNETWORK_EXTERN int setFontSizeAsDouble(RenderInformationBase* renderInfor /// @return integer value indicating success/failure of the function. LIBSBMLNETWORK_EXTERN int setFontSizeAsDouble(Style* style, const double& fontSize); +LIBSBMLNETWORK_EXTERN int setFontSizeAsDouble(RenderGroup* renderGroup, const double& fontSize); + /// @brief Sets the value of the "font-size" attribute of this Transformation2D (Text or RenderGroup) object. /// @param transformation2D a pointer to the Transformation2D (Text or RenderGroup) object. /// @param fontSize a double value to use as the value of the "font-size" attribute of this Transformation2D (Text or RenderGroup) object. @@ -1927,6 +1971,8 @@ LIBSBMLNETWORK_EXTERN bool isSetFontWeight(RenderInformationBase* renderInformat /// attribute is not set or the object is @c NULL . LIBSBMLNETWORK_EXTERN bool isSetFontWeight(Style* style); +LIBSBMLNETWORK_EXTERN bool isSetFontWeight(RenderGroup* renderGroup); + /// @brief Predicates returning @c true if the "font-weight" attribute of this Transformation2D (Text or RenderGroup) is set. /// @param transformation2D a pointer to the Transformation2D (Text or RenderGroup) object. /// @return @c true if the "font-weight" attribute of this Transformation2D (Text or RenderGroup) object is set, @c false if either the "font-weight" @@ -1950,6 +1996,8 @@ LIBSBMLNETWORK_EXTERN const std::string getFontWeight(RenderInformationBase* ren /// @return the "font-weight" attribute of the RenderGroup of this Style object, or @c "" if the object is @c NULL LIBSBMLNETWORK_EXTERN const std::string getFontWeight(Style* style); +LIBSBMLNETWORK_EXTERN const std::string getFontWeight(RenderGroup* renderGroup); + /// @brief Returns the value of the "font-weight" attribute of this Transformation2D (Text or RenderGroup). /// @param transformation2D a pointer to the Transformation2D (Text or RenderGroup) object. /// @return the "font-weight" attribute of the Transformation2D (Text or RenderGroup) object, or @c "" if the object is @c NULL @@ -1975,6 +2023,8 @@ LIBSBMLNETWORK_EXTERN int setFontWeight(RenderInformationBase* renderInformation /// @return integer value indicating success/failure of the function. LIBSBMLNETWORK_EXTERN int setFontWeight(Style* style, const std::string& fontWeight); +LIBSBMLNETWORK_EXTERN int setFontWeight(RenderGroup* renderGroup, const std::string& fontWeight); + /// @brief Sets the value of the "font-weight" attribute of this Transformation2D (Text or RenderGroup) object. /// @param transformation2D a pointer to the Transformation2D (Text or RenderGroup) object. /// @param fontWeight a string value to use as the value of the "font-weight" attribute of this Transformation2D (Text or RenderGroup) object. @@ -2034,6 +2084,8 @@ LIBSBMLNETWORK_EXTERN bool isSetFontStyle(RenderInformationBase* renderInformati /// attribute is not set or the object is @c NULL . LIBSBMLNETWORK_EXTERN bool isSetFontStyle(Style* style); +LIBSBMLNETWORK_EXTERN bool isSetFontStyle(RenderGroup* renderGroup); + /// @brief Predicates returning @c true if the "font-style" attribute of this Transformation2D (Text or RenderGroup) is set. /// @param transformation2D a pointer to the Transformation2D (Text or RenderGroup) object. /// @return @c true if the "font-style" attribute of this GraphicalPrimitive1D (Text or RenderGroup) object is set, @c false if either the "font-style" @@ -2057,6 +2109,8 @@ LIBSBMLNETWORK_EXTERN const std::string getFontStyle(RenderInformationBase* rend /// @return the "font-style" attribute of the RenderGroup of this Style object, or @c "" if the object is @c NULL LIBSBMLNETWORK_EXTERN const std::string getFontStyle(Style* style); +LIBSBMLNETWORK_EXTERN const std::string getFontStyle(RenderGroup* renderGroup); + /// @brief Returns the value of the "font-style" attribute of this Transformation2D (Text or RenderGroup). /// @param transformation2D a pointer to the Transformation2D (Text or RenderGroup) object. /// @return the "font-style" attribute of the Transformation2D (Text or RenderGroup) object, or @c "" if the object is @c NULL @@ -2082,6 +2136,8 @@ LIBSBMLNETWORK_EXTERN int setFontStyle(RenderInformationBase* renderInformationB /// @return integer value indicating success/failure of the function. LIBSBMLNETWORK_EXTERN int setFontStyle(Style* style, const std::string& fontStyle); +LIBSBMLNETWORK_EXTERN int setFontStyle(RenderGroup* renderGroup, const std::string& fontStyle); + /// @brief Sets the value of the "font-style" attribute of this Transformation2D (Text or RenderGroup) object. /// @param transformation2D a pointer to the Transformation2D (Text or RenderGroup) object. /// @param fontWeight a string value to use as the value of the "font-style" attribute of this Transformation2D (Text or RenderGroup) object. @@ -2141,6 +2197,8 @@ LIBSBMLNETWORK_EXTERN bool isSetTextAnchor(RenderInformationBase* renderInformat /// attribute is not set or the object is @c NULL . LIBSBMLNETWORK_EXTERN bool isSetTextAnchor(Style* style); +LIBSBMLNETWORK_EXTERN bool isSetTextAnchor(RenderGroup* renderGroup); + /// @brief Predicates returning @c true if the "text-anchor" attribute of this Transformation2D (Text or RenderGroup) is set. /// @param transformation2D a pointer to the Transformation2D (Text or RenderGroup) object. /// @return @c true if the "text-anchor" attribute of this Transformation2D (Text or RenderGroup) object is set, @c false if either the "text-anchor" @@ -2164,6 +2222,8 @@ LIBSBMLNETWORK_EXTERN const std::string getTextAnchor(RenderInformationBase* ren /// @return the "text-anchor" attribute of the RenderGroup of this Style object, or @c "" if the object is @c NULL LIBSBMLNETWORK_EXTERN const std::string getTextAnchor(Style* style); +LIBSBMLNETWORK_EXTERN const std::string getTextAnchor(RenderGroup* renderGroup); + /// @brief Returns the value of the "text-anchor" attribute of this Transformation2D (Text or RenderGroup). /// @param transformation2D a pointer to the Transformation2D (Text or RenderGroup) object. /// @return the "text-anchor" attribute of the Transformation2D (Text or RenderGroup) object, or @c "" if the object is @c NULL @@ -2189,6 +2249,8 @@ LIBSBMLNETWORK_EXTERN int setTextAnchor(RenderInformationBase* renderInformation /// @return integer value indicating success/failure of the function. LIBSBMLNETWORK_EXTERN int setTextAnchor(Style* style, const std::string& textAnchor); +LIBSBMLNETWORK_EXTERN int setTextAnchor(RenderGroup* renderGroup, const std::string& textAnchor); + /// @brief Sets the value of the "text-anchor" attribute of this Transformation2D (Text or RenderGroup) object. /// @param transformation2D a pointer to the Transformation2D (Text or RenderGroup) object. /// @param textAnchor a string value to use as the value of the "text-anchor" attribute of this Transformation2D (Text or RenderGroup) object. @@ -2248,6 +2310,8 @@ LIBSBMLNETWORK_EXTERN bool isSetVTextAnchor(RenderInformationBase* renderInforma /// attribute is not set or the object is @c NULL . LIBSBMLNETWORK_EXTERN bool isSetVTextAnchor(Style* style); +LIBSBMLNETWORK_EXTERN bool isSetVTextAnchor(RenderGroup* renderGroup); + /// @brief Predicates returning @c true if the "vtext-anchor" attribute of this Transformation2D (Text or RenderGroup) is set. /// @param transformation2D a pointer to the Transformation2D (Text or RenderGroup) object. /// @return @c true if the "vtext-anchor" attribute of this Transformation2D (Text or RenderGroup) object is set, @c false if either the "vtext-anchor" @@ -2271,6 +2335,8 @@ LIBSBMLNETWORK_EXTERN const std::string getVTextAnchor(RenderInformationBase* re /// @return the "vtext-anchor" attribute of the RenderGroup of this Style object, or @c "" if the object is @c NULL LIBSBMLNETWORK_EXTERN const std::string getVTextAnchor(Style* style); +LIBSBMLNETWORK_EXTERN const std::string getVTextAnchor(RenderGroup* renderGroup); + /// @brief Returns the value of the "vtext-anchor" attribute of this Transformation2D (Text or RenderGroup). /// @param transformation2D a pointer to the Transformation2D (Text or RenderGroup) object. /// @return the "vtext-anchor" attribute of the GraphicalPrimitive1D (Text or RenderGroup) object, or @c "" if the object is @c NULL @@ -2296,6 +2362,8 @@ LIBSBMLNETWORK_EXTERN int setVTextAnchor(RenderInformationBase* renderInformatio /// @return integer value indicating success/failure of the function. LIBSBMLNETWORK_EXTERN int setVTextAnchor(Style* style, const std::string& vtextAnchor); +LIBSBMLNETWORK_EXTERN int setVTextAnchor(RenderGroup* renderGroup, const std::string& vtextAnchor); + /// @brief Sets the value of the "vtext-anchor" attribute of this Transformation2D (Text or RenderGroup) object. /// @param transformation2D a pointer to the Transformation2D (Text or RenderGroup) object. /// @param vtextAnchor a string value to use as the value of the "vtext-anchor" attribute of this Transformation2D (Text or RenderGroup) object. @@ -2355,6 +2423,8 @@ LIBSBMLNETWORK_EXTERN bool isSetFillColor(RenderInformationBase* renderInformati /// attribute is not set or the object is @c NULL . LIBSBMLNETWORK_EXTERN bool isSetFillColor(Style* style); +LIBSBMLNETWORK_EXTERN bool isSetFillColor(RenderGroup* renderGroup); + /// @brief Predicates returning @c true if the "fill" attribute of this Transformation2D is set. /// @param transformation2D a pointer to the Transformation2D object. /// @return @c true if the "fill" attribute of this Transformation2D object is set, @c false if either the "fill" @@ -2378,6 +2448,8 @@ LIBSBMLNETWORK_EXTERN const std::string getFillColor(RenderInformationBase* rend /// @return the "fill" attribute of the RenderGroup of this Style object, or @c "" if the object is @c NULL LIBSBMLNETWORK_EXTERN const std::string getFillColor(Style* style); +LIBSBMLNETWORK_EXTERN const std::string getFillColor(RenderGroup* renderGroup); + /// @brief Returns the value of the "fill" attribute of this Transformation2D. /// @param transformation2D a pointer to the Transformation2D object. /// @return the "fill" attribute of the Transformation2D object, or @c "" if the object is @c NULL @@ -2403,12 +2475,24 @@ LIBSBMLNETWORK_EXTERN int setFillColor(RenderInformationBase* renderInformationB /// @return integer value indicating success/failure of the function. LIBSBMLNETWORK_EXTERN int setFillColor(Style* style, const std::string& fillColor); +LIBSBMLNETWORK_EXTERN int setFillColor(RenderGroup* renderGroup, const std::string& fillColor); + /// @brief Sets the value of the "fill" attribute of this Transformation2D object. /// @param transformation2D a pointer to the Transformation2D object. /// @param fillColor a string value to use as the value of the "fill" attribute of this Transformation2D object. /// @return integer value indicating success/failure of the function. LIBSBMLNETWORK_EXTERN int setFillColor(Transformation2D* transformation2D, const std::string& fillColor); +LIBSBMLNETWORK_EXTERN int setFillColorAsGradient(RenderInformationBase* renderInformationBase, GraphicalObject* graphicalObject, const std::string& gradientId); + +LIBSBMLNETWORK_EXTERN int setFillColorAsGradient(RenderInformationBase* renderInformationBase, const std::string& attribute, const std::string& gradientId); + +LIBSBMLNETWORK_EXTERN int setFillColorAsGradient(Style* style, const std::string& gradientId); + +LIBSBMLNETWORK_EXTERN int setFillColorAsGradient(RenderGroup* renderGroup, const std::string& gradientId); + +LIBSBMLNETWORK_EXTERN int setFillColorAsGradient(Transformation2D* transformation2D, const std::string& gradientId); + /// @brief Returns the value of the "fill" attribute of the RenderGroup of the Style for all CompartmentGlyph objects. /// @param globalRenderInformation a pointer to the GlobalRenderInformation object. /// @return the "fill" attribute of the RenderGroup of the Style for all CompartmentGlyph objects, or an empty string if the object is @c NULL. @@ -2420,6 +2504,8 @@ LIBSBMLNETWORK_EXTERN const std::string getCompartmentFillColor(GlobalRenderInfo /// @return integer value indicating success/failure of the function. LIBSBMLNETWORK_EXTERN int setCompartmentFillColor(GlobalRenderInformation* globalRenderInformation, const std::string& fillColor); +LIBSBMLNETWORK_EXTERN int setCompartmentFillColorAsGradient(GlobalRenderInformation* globalRenderInformation, const std::string& gradientId); + /// @brief Returns the value of the "fill" attribute of the RenderGroup of the Style for all SpeciesGlyph objects. /// @param globalRenderInformation a pointer to the GlobalRenderInformation object. /// @return the "fill" attribute of the RenderGroup of the Style for all SpeciesGlyph objects, or an empty string if the object is @c NULL. @@ -2431,6 +2517,8 @@ LIBSBMLNETWORK_EXTERN const std::string getSpeciesFillColor(GlobalRenderInformat /// @return integer value indicating success/failure of the function. LIBSBMLNETWORK_EXTERN int setSpeciesFillColor(GlobalRenderInformation* globalRenderInformation, const std::string& fillColor); +LIBSBMLNETWORK_EXTERN int setSpeciesFillColorAsGradient(GlobalRenderInformation* globalRenderInformation, const std::string& gradientId); + /// @brief Returns the value of the "fill" attribute of the RenderGroup of the Style for all ReactionGlyph objects. /// @param globalRenderInformation a pointer to the GlobalRenderInformation object. /// @return the "fill" attribute of the RenderGroup of the Style for all ReactionGlyph objects, or an empty string if the object is @c NULL. @@ -2442,6 +2530,8 @@ LIBSBMLNETWORK_EXTERN const std::string getReactionFillColor(GlobalRenderInforma /// @return integer value indicating success/failure of the function. LIBSBMLNETWORK_EXTERN int setReactionFillColor(GlobalRenderInformation* globalRenderInformation, const std::string& fillColor); +LIBSBMLNETWORK_EXTERN int setReactionFillColorAsGradient(GlobalRenderInformation* globalRenderInformation, const std::string& gradientId); + /// @brief Predicates returning @c true if the "fill-rule" attribute of the RenderGroup of the Style for this GraphicalObject is set. /// @param renderInformationBase a pointer to the RenderInformationBase object. /// @param graphicalObject a pointer to the GraphicalObject object. @@ -2462,6 +2552,8 @@ LIBSBMLNETWORK_EXTERN bool isSetFillRule(RenderInformationBase* renderInformatio /// attribute is not set or the object is @c NULL . LIBSBMLNETWORK_EXTERN bool isSetFillRule(Style* style); +LIBSBMLNETWORK_EXTERN bool isSetFillRule(RenderGroup* renderGroup); + /// @brief Predicates returning @c true if the "fill-rule" attribute of this Transformation2D is set. /// @param transformation2D a pointer to the Transformation2D object. /// @return @c true if the "fill-rule" attribute of this Transformation2D object is set, @c false if either the "fill-rule" @@ -2485,6 +2577,8 @@ LIBSBMLNETWORK_EXTERN const std::string getFillRule(RenderInformationBase* rende /// @return the "fill-rule" attribute of the RenderGroup of this Style object, or @c "" if the object is @c NULL LIBSBMLNETWORK_EXTERN const std::string getFillRule(Style* style); +LIBSBMLNETWORK_EXTERN const std::string getFillRule(RenderGroup* renderGroup); + /// @brief Returns the value of the "fill-rule" attribute of this Transformation2D. /// @param transformation2D a pointer to the Transformation2D object. /// @return the "fill-rule" attribute of the Transformation2D object, or @c "" if the object is @c NULL @@ -2510,6 +2604,8 @@ LIBSBMLNETWORK_EXTERN int setFillRule(RenderInformationBase* renderInformationBa /// @return integer value indicating success/failure of the function. LIBSBMLNETWORK_EXTERN int setFillRule(Style* style, const std::string& fillRule); +LIBSBMLNETWORK_EXTERN int setFillRule(RenderGroup* renderGroup, const std::string& fillRule); + /// @brief Sets the value of the "fill-rule" attribute of this Transformation2D object. /// @param transformation2D a pointer to the Transformation2D object. /// @param fillRule a string value to use as the value of the "fill-rule" attribute of this Transformation2D object. @@ -2569,6 +2665,8 @@ LIBSBMLNETWORK_EXTERN bool isSetStartHead(RenderInformationBase* renderInformati /// attribute is not set or the object is @c NULL . LIBSBMLNETWORK_EXTERN bool isSetStartHead(Style* style); +LIBSBMLNETWORK_EXTERN bool isSetStartHead(RenderGroup* renderGroup); + /// @brief Predicates returning @c true if the "startHead" attribute of this Transformation2D (RenderCurve or RenderGroup) is set. /// @param transformation2D a pointer to the Transformation2D (RenderCurve or RenderGroup) object. /// @return @c true if the "startHead" attribute of this Transformation2D (RenderCurve or RenderGroup) object is set, @c false if either the "startHead" attribute is not set or the object is @c NULL . @@ -2591,6 +2689,8 @@ LIBSBMLNETWORK_EXTERN const std::string getStartHead(RenderInformationBase* rend /// @return the "startHead" attribute of the RenderGroup of this Style object, or @c "" if the object is @c NULL LIBSBMLNETWORK_EXTERN const std::string getStartHead(Style* style); +LIBSBMLNETWORK_EXTERN const std::string getStartHead(RenderGroup* renderGroup); + /// @brief Returns the value of the "startHead" attribute of this Transformation2D (RenderCurve or RenderGroup). /// @param transformation2D a pointer to the Transformation2D (RenderCurve or RenderGroup) object. /// @return the "startHead" attribute of the Transformation2D (RenderCurve or RenderGroup) object, or empty string if the object is @c NULL @@ -2616,6 +2716,8 @@ LIBSBMLNETWORK_EXTERN int setStartHead(RenderInformationBase* renderInformationB /// @return integer value indicating success/failure of the function. LIBSBMLNETWORK_EXTERN int setStartHead(Style* style, const std::string& startHead); +LIBSBMLNETWORK_EXTERN int setStartHead(RenderGroup* renderGroup, const std::string& startHead); + /// @brief Sets the value of the "startHead" attribute of this Transformation2D (RenderCurve or RenderGroup) object. /// @param transformation2D a pointer to the Transformation2D object. /// @param startHead a boolean to use as the value of the "startHead" attribute of this Transformation2D (RenderCurve or RenderGroup) object. @@ -2642,6 +2744,8 @@ LIBSBMLNETWORK_EXTERN bool isSetEndHead(RenderInformationBase* renderInformation /// attribute is not set or the object is @c NULL . LIBSBMLNETWORK_EXTERN bool isSetEndHead(Style* style); +LIBSBMLNETWORK_EXTERN bool isSetEndHead(RenderGroup* renderGroup); + /// @brief Predicates returning @c true if the "endHead" attribute of this Transformation2D (RenderCurve or RenderGroup) is set. /// @param transformation2D a pointer to the Transformation2D (RenderCurve or RenderGroup) object. /// @return @c true if the "endHead" attribute of this Transformation2D (RenderCurve or RenderGroup) object is set, @c false if either the "endHead" attribute is not set or the object is @c NULL . @@ -2664,6 +2768,8 @@ LIBSBMLNETWORK_EXTERN const std::string getEndHead(RenderInformationBase* render /// @return the "endHead" attribute of the RenderGroup of this Style object, or @c "" if the object is @c NULL LIBSBMLNETWORK_EXTERN const std::string getEndHead(Style* style); +LIBSBMLNETWORK_EXTERN const std::string getEndHead(RenderGroup* renderGroup); + /// @brief Returns the value of the "endHead" attribute of this Transformation2D (RenderCurve or RenderGroup). /// @param transformation2D a pointer to the Transformation2D object. /// @return the "endHead" attribute of the Transformation2D (RenderCurve or RenderGroup) object, or empty string if the object is @c NULL @@ -2689,6 +2795,8 @@ LIBSBMLNETWORK_EXTERN int setEndHead(RenderInformationBase* renderInformationBas /// @return integer value indicating success/failure of the function. LIBSBMLNETWORK_EXTERN int setEndHead(Style* style, const std::string& endHead); +LIBSBMLNETWORK_EXTERN int setEndHead(RenderGroup* renderGroup, const std::string& endHead); + /// @brief Sets the value of the "endHead" attribute of this Transformation2D (RenderCurve or RenderGroup) object. /// @param transformation2D a pointer to the Transformation2D object. /// @param endHead a boolean to use as the value of the "endHead" attribute of this Transformation2D (RenderCurve or RenderGroup) object. @@ -3347,6 +3455,390 @@ LIBSBMLNETWORK_EXTERN bool isText(RenderGroup* renderGroup, unsigned int geometr /// @return @c true if this abstract Transformation2D is of type Text, @c false if either it is not of type Text or is or the object is @c NULL. LIBSBMLNETWORK_EXTERN bool isText(Transformation2D* shape); +/// @brief Predicates returning @c true if the "stroke" attribute of the Transformation2D at the given index of the RenderGroup of the Style for this GraphicalObject is set. +/// @param renderInformationBase a pointer to the RenderInformationBase object. +/// @param graphicalObject a pointer to the GraphicalObject object. +/// @param geometricShapeIndex an unsigned int representing the index of the Transformation2D to retrieve. +/// @return @c true if the "stroke" attribute of the Transformation2D at the given index of the RenderGroup of the Style for this GraphicalObject is set, @c false if +/// it is not set or is or the object is @c NULL. +bool isSetGeometricShapeStrokeColor(RenderInformationBase* renderInformationBase, GraphicalObject* graphicalObject, unsigned int geometricShapeIndex); + +/// @brief Predicates returning @c true if the "stroke" attribute of the Transformation2D at the given index of the RenderGroup of the Style that matches this attribute (id, role, type) of a GraphicalObject is set. +/// @param renderInformationBase a pointer to the RenderInformationBase object. +/// @param attribute the attribute (id, role, type) of a GraphicalObject. +/// @param geometricShapeIndex an unsigned int representing the index of the Transformation2D to retrieve. +/// @return @c true if the "stroke" attribute of the Transformation2D at the given index of the RenderGroup of the Style for this GraphicalObject is set, @c false if it is not set or the object is @c NULL. +bool isSetGeometricShapeStrokeColor(RenderInformationBase* renderInformationBase, const std::string& attribute, unsigned int geometricShapeIndex); + +/// @brief Predicates returning @c true if the "stroke" attribute of the Transformation2D at the given index of the RenderGroup of this Style is set. +/// @param style a pointer to the Style object. +/// @param geometricShapeIndex an unsigned int representing the index of the Transformation2D to retrieve. +/// @return @c true if the "stroke" attribute of the Transformation2D at the given index of the RenderGroup of this Style is set, @c false if it is not set or the object is @c NULL. +bool isSetGeometricShapeStrokeColor(Style* style, unsigned int geometricShapeIndex); + +/// @brief Predicates returning @c true if the "stroke" attribute of the Transformation2D at the given index of this RenderGroup is set. +/// @param renderGroup a pointer to the RenderGroup object. +/// @param geometricShapeIndex an unsigned int representing the index of the Transformation2D to retrieve. +/// @return @c true if the "stroke" attribute of the Transformation2D at the given index of this RenderGroup is set, @c false if it is not set or the object is @c NULL. +bool isSetGeometricShapeStrokeColor(RenderGroup* renderGroup, unsigned int geometricShapeIndex); + +/// @brief Predicates returning @c true if the "stroke" attribute of this abstract Transformation2D is set. +/// @param shape a pointer to the Transformation2D object. +/// @return @c true if the "stroke" attribute of this abstract Transformation2D is set, @c false if it is not set or the object is @c NULL. +bool isSetGeometricShapeStrokeColor(Transformation2D* shape); + +/// @brief Retrieves the value of the "stroke" attribute of the Transformation2D at the given index of the RenderGroup of the Style for this GraphicalObject. +/// @param renderInformationBase a pointer to the RenderInformationBase object. +/// @param graphicalObject a pointer to the GraphicalObject object. +/// @param geometricShapeIndex an unsigned int representing the index of the Transformation2D to retrieve. +/// @return a string value representing the "stroke" attribute of the Transformation2D at the given index of the RenderGroup of the Style for this GraphicalObject. +const std::string getGeometricShapeStrokeColor(RenderInformationBase* renderInformationBase, GraphicalObject* graphicalObject, unsigned int geometricShapeIndex); + +/// @brief Retrieves the value of the "stroke" attribute of the Transformation2D at the given index of the RenderGroup of the Style that matches this attribute (id, role, type) of a GraphicalObject. +/// @param renderInformationBase a pointer to the RenderInformationBase object. +/// @param attribute the attribute (id, role, type) of a GraphicalObject. +/// @param geometricShapeIndex an unsigned int representing the index of the Transformation2D to retrieve. +/// @return a string value representing the "stroke" attribute of the Transformation2D at the given index of the RenderGroup of the Style for this GraphicalObject. +const std::string getGeometricShapeStrokeColor(RenderInformationBase* renderInformationBase, const std::string& attribute, unsigned int geometricShapeIndex); + +/// @brief Retrieves the value of the "stroke" attribute of the Transformation2D at the given index of the RenderGroup of this Style. +/// @param style a pointer to the Style object. +/// @param geometricShapeIndex an unsigned int representing the index of the Transformation2D to retrieve. +/// @return a string value representing the "stroke" attribute of the Transformation2D at the given index of the RenderGroup of this Style. +const std::string getGeometricShapeStrokeColor(Style* style, unsigned int geometricShapeIndex); + +/// @brief Retrieves the value of the "stroke" attribute of the Transformation2D at the given index of this RenderGroup. +/// @param renderGroup a pointer to the RenderGroup object. +/// @param geometricShapeIndex an unsigned int representing the index of the Transformation2D to retrieve. +/// @return a string value representing the "stroke" attribute of the Transformation2D at the given index of this RenderGroup. +const std::string getGeometricShapeStrokeColor(RenderGroup* renderGroup, unsigned int geometricShapeIndex); + +/// @brief Retrieves the value of the "stroke" attribute of this abstract Transformation2D. +/// @param shape a pointer to the Transformation2D object. +/// @return a string value representing the "stroke" attribute of this abstract Transformation2D. +const std::string getGeometricShapeStrokeColor(Transformation2D* shape); + +/// @brief Sets the value of the "stroke" attribute of the Transformation2D at the given index of the RenderGroup of the Style for this GraphicalObject. +/// @param renderInformationBase a pointer to the RenderInformationBase object. +/// @param graphicalObject a pointer to the GraphicalObject object. +/// @param StrokeColor a string value to use as the value of the "stroke" attribute of the Transformation2D object. +/// @return integer value indicating success/failure of the function. +int setGeometricShapeStrokeColor(RenderInformationBase* renderInformationBase, GraphicalObject* graphicalObject, const std::string& StrokeColor); + +/// @brief Sets the value of the "stroke" attribute of the Transformation2D at the given index of the RenderGroup of the Style for this GraphicalObject. +/// @param renderInformationBase a pointer to the RenderInformationBase object. +/// @param graphicalObject a pointer to the GraphicalObject object. +/// @param geometricShapeIndex an unsigned int representing the index of the Transformation2D to retrieve. +/// @param StrokeColor a string value to use as the value of the "stroke" attribute of the Transformation2D object. +/// @return integer value indicating success/failure of the function. +int setGeometricShapeStrokeColor(RenderInformationBase* renderInformationBase, GraphicalObject* graphicalObject, unsigned int geometricShapeIndex, const std::string& StrokeColor); + +/// @brief Sets the value of the "stroke" attribute of the Transformation2D at the given index of the RenderGroup of the Style that matches this attribute (id, role, type) of a GraphicalObject. +/// @param renderInformationBase a pointer to the RenderInformationBase object. +/// @param attribute the attribute (id, role, type) of a GraphicalObject. +/// @param StrokeColor a string value to use as the value of the "stroke" attribute of the Transformation2D object. +/// @return integer value indicating success/failure of the function. +int setGeometricShapeStrokeColor(RenderInformationBase* renderInformationBase, const std::string& attribute, const std::string& StrokeColor); + +/// @brief Sets the value of the "stroke" attribute of the Transformation2D at the given index of the RenderGroup of the Style that matches this attribute (id, role, type) of a GraphicalObject. +/// @param renderInformationBase a pointer to the RenderInformationBase object. +/// @param attribute the attribute (id, role, type) of a GraphicalObject. +/// @param geometricShapeIndex an unsigned int representing the index of the Transformation2D to retrieve. +/// @param StrokeColor a string value to use as the value of the "stroke" attribute of the Transformation2D object. +/// @return integer value indicating success/failure of the function. +int setGeometricShapeStrokeColor(RenderInformationBase* renderInformationBase, const std::string& attribute, unsigned int geometricShapeIndex, const std::string& StrokeColor); + +/// @brief Sets the value of the "stroke" attribute of the Transformation2D at the given index of the RenderGroup of this Style. +/// @param style a pointer to the Style object. +/// @param StrokeColor a string value to use as the value of the "stroke" attribute of the Transformation2D object. +/// @return integer value indicating success/failure of the function. +int setGeometricShapeStrokeColor(Style* style, const std::string& StrokeColor); + +/// @brief Sets the value of the "stroke" attribute of the Transformation2D at the given index of the RenderGroup of this Style. +/// @param style a pointer to the Style object. +/// @param geometricShapeIndex an unsigned int representing the index of the Transformation2D to retrieve. +/// @param StrokeColor a string value to use as the value of the "stroke" attribute of the Transformation2D object. +/// @return integer value indicating success/failure of the function. +int setGeometricShapeStrokeColor(Style* style, unsigned int geometricShapeIndex, const std::string& StrokeColor); + +/// @brief Sets the value of the "stroke" attribute of the Transformation2D at the given index of this RenderGroup. +/// @param renderGroup a pointer to the RenderGroup object. +/// @param StrokeColor a string value to use as the value of the "stroke" attribute of the Transformation2D object. +/// @return integer value indicating success/failure of the function. +int setGeometricShapeStrokeColor(RenderGroup* renderGroup, const std::string& StrokeColor); + +/// @brief Sets the value of the "stroke" attribute of the Transformation2D at the given index of this RenderGroup. +/// @param renderGroup a pointer to the RenderGroup object. +/// @param geometricShapeIndex an unsigned int representing the index of the Transformation2D to retrieve. +/// @param StrokeColor a string value to use as the value of the "stroke" attribute of the Transformation2D object. +/// @return integer value indicating success/failure of the function. +int setGeometricShapeStrokeColor(RenderGroup* renderGroup, unsigned int geometricShapeIndex, const std::string& StrokeColor); + +/// @brief Sets the value of the "stroke" attribute of this abstract Transformation2D. +/// @param shape a pointer to the Transformation2D object. +/// @param StrokeColor a string value to use as the value of the "stroke" attribute of the Transformation2D object. +/// @return integer value indicating success/failure of the function. +int setGeometricShapeStrokeColor(Transformation2D* shape, const std::string& StrokeColor); + +/// @brief Predicates returning @c true if the "stroke-width" attribute of the Transformation2D at the given index of the RenderGroup of the Style that matches this attribute (id, role, type) of a GraphicalObject is set. +/// @param renderInformationBase a pointer to the RenderInformationBase object. +/// @param attribute the attribute (id, role, type) of a GraphicalObject. +/// @param geometricShapeIndex an unsigned int representing the index of the Transformation2D to retrieve. +/// @return @c true if the "stroke-width" attribute of the Transformation2D at the given index of the RenderGroup of the Style for this GraphicalObject is set, @c false if it is not set or the object is @c NULL. +bool isSetGeometricShapeStrokeWidth(RenderInformationBase* renderInformationBase, const std::string& attribute, unsigned int geometricShapeIndex); + +/// @brief Predicates returning @c true if the "stroke-width" attribute of the Transformation2D at the given index of the RenderGroup of this Style is set. +/// @param style a pointer to the Style object. +/// @param geometricShapeIndex an unsigned int representing the index of the Transformation2D to retrieve. +/// @return @c true if the "stroke-width" attribute of the Transformation2D at the given index of the RenderGroup of this Style is set, @c false if it is not set or the object is @c NULL. +bool isSetGeometricShapeStrokeWidth(Style* style, unsigned int geometricShapeIndex); + +/// @brief Predicates returning @c true if the "stroke-width" attribute of the Transformation2D at the given index of this RenderGroup is set. +/// @param renderGroup a pointer to the RenderGroup object. +/// @param geometricShapeIndex an unsigned int representing the index of the Transformation2D to retrieve. +/// @return @c true if the "stroke-width" attribute of the Transformation2D at the given index of this RenderGroup is set, @c false if it is not set or the object is @c NULL. +bool isSetGeometricShapeStrokeWidth(RenderGroup* renderGroup, unsigned int geometricShapeIndex); + +/// @brief Predicates returning @c true if the "stroke-width" attribute of this abstract Transformation2D is set. +/// @param shape a pointer to the Transformation2D object. +/// @return @c true if the "stroke-width" attribute of this abstract Transformation2D is set, @c false if it is not set or the object is @c NULL. +bool isSetGeometricShapeStrokeWidth(Transformation2D* shape); + +/// @brief Retrieves the value of the "stroke-width" attribute of the Transformation2D at the given index of the RenderGroup of the Style for this GraphicalObject. +/// @param renderInformationBase a pointer to the RenderInformationBase object. +/// @param graphicalObject a pointer to the GraphicalObject object. +/// @param geometricShapeIndex an unsigned int representing the index of the Transformation2D to retrieve. +/// @return a double value representing the "stroke-width" attribute of the Transformation2D at the given index of the RenderGroup of the Style for this GraphicalObject. +const double getGeometricShapeStrokeWidth(RenderInformationBase* renderInformationBase, GraphicalObject* graphicalObject, unsigned int geometricShapeIndex); + +/// @brief Retrieves the value of the "stroke-width" attribute of the Transformation2D at the given index of the RenderGroup of the Style that matches this attribute (id, role, type) of a GraphicalObject. +/// @param renderInformationBase a pointer to the RenderInformationBase object. +/// @param attribute the attribute (id, role, type) of a GraphicalObject. +/// @param geometricShapeIndex an unsigned int representing the index of the Transformation2D to retrieve. +/// @return a double value representing the "stroke-width" attribute of the Transformation2D at the given index of the RenderGroup of the Style for this GraphicalObject. +const double getGeometricShapeStrokeWidth(RenderInformationBase* renderInformationBase, const std::string& attribute, unsigned int geometricShapeIndex); + +/// @brief Retrieves the value of the "stroke-width" attribute of the Transformation2D at the given index of the RenderGroup of this Style. +/// @param style a pointer to the Style object. +/// @param geometricShapeIndex an unsigned int representing the index of the Transformation2D to retrieve. +/// @return a double value representing the "stroke-width" attribute of the Transformation2D at the given index of the RenderGroup of this Style. +const double getGeometricShapeStrokeWidth(Style* style, unsigned int geometricShapeIndex); + +/// @brief Retrieves the value of the "stroke-width" attribute of the Transformation2D at the given index of this RenderGroup. +/// @param renderGroup a pointer to the RenderGroup object. +/// @param geometricShapeIndex an unsigned int representing the index of the Transformation2D to retrieve. +/// @return a double value representing the "stroke-width" attribute of the Transformation2D at the given index of this RenderGroup. +const double getGeometricShapeStrokeWidth(RenderGroup* renderGroup, unsigned int geometricShapeIndex); + +/// @brief Retrieves the value of the "stroke-width" attribute of this abstract Transformation2D. +/// @param shape a pointer to the Transformation2D object. +/// @return a double value representing the "stroke-width" attribute of this abstract Transformation2D. +const double getGeometricShapeStrokeWidth(Transformation2D* shape); + +/// @brief Sets the value of the "stroke-width" attribute of the Transformation2D at the given index of the RenderGroup of the Style for this GraphicalObject. +/// @param renderInformationBase a pointer to the RenderInformationBase object. +/// @param graphicalObject a pointer to the GraphicalObject object. +/// @param strokeWidth a double value to use as the value of the "stroke-width" attribute of the Transformation2D object. +/// @return integer value indicating success/failure of the function. +int setGeometricShapeStrokeWidth(RenderInformationBase* renderInformationBase, GraphicalObject* graphicalObject, const double& strokeWidth); + +/// @brief Sets the value of the "stroke-width" attribute of the Transformation2D at the given index of the RenderGroup of the Style for this GraphicalObject. +/// @param renderInformationBase a pointer to the RenderInformationBase object. +/// @param graphicalObject a pointer to the GraphicalObject object. +/// @param geometricShapeIndex an unsigned int representing the index of the Transformation2D to retrieve. +/// @param strokeWidth a double value to use as the value of the "stroke-width" attribute of the Transformation2D object. +/// @return integer value indicating success/failure of the function. +int setGeometricShapeStrokeWidth(RenderInformationBase* renderInformationBase, GraphicalObject* graphicalObject, unsigned int geometricShapeIndex, const double& strokeWidth); + +/// @brief Sets the value of the "stroke-width" attribute of the Transformation2D at the given index of the RenderGroup of the Style that matches this attribute (id, role, type) of a GraphicalObject. +/// @param renderInformationBase a pointer to the RenderInformationBase object. +/// @param attribute the attribute (id, role, type) of a GraphicalObject. +/// @param strokeWidth a double value to use as the value of the "stroke-width" attribute of the Transformation2D object. +/// @return integer value indicating success/failure of the function. +int setGeometricShapeStrokeWidth(RenderInformationBase* renderInformationBase, const std::string& attribute, const double& strokeWidth); + +/// @brief Sets the value of the "stroke-width" attribute of the Transformation2D at the given index of the RenderGroup of the Style that matches this attribute (id, role, type) of a GraphicalObject. +/// @param renderInformationBase a pointer to the RenderInformationBase object. +/// @param attribute the attribute (id, role, type) of a GraphicalObject. +/// @param geometricShapeIndex an unsigned int representing the index of the Transformation2D to retrieve. +/// @param strokeWidth a double value to use as the value of the "stroke-width" attribute of the Transformation2D object. +/// @return integer value indicating success/failure of the function. +int setGeometricShapeStrokeWidth(RenderInformationBase* renderInformationBase, const std::string& attribute, unsigned int geometricShapeIndex, const double& strokeWidth); + +/// @brief Sets the value of the "stroke-width" attribute of the Transformation2D at the given index of the RenderGroup of this Style. +/// @param style a pointer to the Style object. +/// @param strokeWidth a double value to use as the value of the "stroke-width" attribute of the Transformation2D object. +/// @return integer value indicating success/failure of the function. +int setGeometricShapeStrokeWidth(Style* style, const double& strokeWidth); + +/// @brief Sets the value of the "stroke-width" attribute of the Transformation2D at the given index of the RenderGroup of this Style. +/// @param style a pointer to the Style object. +/// @param geometricShapeIndex an unsigned int representing the index of the Transformation2D to retrieve. +/// @param strokeWidth a double value to use as the value of the "stroke-width" attribute of the Transformation2D object. +/// @return integer value indicating success/failure of the function. +int setGeometricShapeStrokeWidth(Style* style, unsigned int geometricShapeIndex, const double& strokeWidth); + +/// @brief Sets the value of the "stroke-width" attribute of the Transformation2D at the given index of this RenderGroup. +/// @param renderGroup a pointer to the RenderGroup object. +/// @param strokeWidth a double value to use as the value of the "stroke-width" attribute of the Transformation2D object. +/// @return integer value indicating success/failure of the function. +int setGeometricShapeStrokeWidth(RenderGroup* renderGroup, const double& strokeWidth); + +/// @brief Sets the value of the "stroke-width" attribute of the Transformation2D at the given index of the RenderGroup. +/// @param renderGroup a pointer to the RenderGroup object. +/// @param geometricShapeIndex an unsigned int representing the index of the Transformation2D to retrieve. +/// @param strokeWidth a double value to use as the value of the "stroke-width" attribute of the Transformation2D object. +/// @return integer value indicating success/failure of the function. +int setGeometricShapeStrokeWidth(RenderGroup* renderGroup, unsigned int geometricShapeIndex, const double& strokeWidth); + +/// @brief Sets the value of the "stroke-width" attribute of this abstract Transformation2D. +/// @param shape a pointer to the Transformation2D object. +/// @param strokeWidth a double value to use as the value of the "stroke-width" attribute of the Transformation2D object. +/// @return integer value indicating success/failure of the function. +int setGeometricShapeStrokeWidth(Transformation2D* shape, const double& strokeWidth); + +/// @brief Predicates returning @c true if the "fill" attribute of the Transformation2D at the given index of the RenderGroup of the Style for this GraphicalObject is set. +/// @param renderInformationBase a pointer to the RenderInformationBase object. +/// @param graphicalObject a pointer to the GraphicalObject object. +/// @param geometricShapeIndex an unsigned int representing the index of the Transformation2D to retrieve. +/// @return @c true if the "fill" attribute of the Transformation2D at the given index of the RenderGroup of the Style for this GraphicalObject is set, @c false if it is not set or the object is @c NULL. +bool isSetGeometricShapeFillColor(RenderInformationBase* renderInformationBase, GraphicalObject* graphicalObject, unsigned int geometricShapeIndex); + +/// @brief Predicates returning @c true if the "fill" attribute of the Transformation2D at the given index of the RenderGroup of the Style that matches this attribute (id, role, type) of a GraphicalObject is set. +/// @param renderInformationBase a pointer to the RenderInformationBase object. +/// @param attribute the attribute (id, role, type) of a GraphicalObject. +/// @param geometricShapeIndex an unsigned int representing the index of the Transformation2D to retrieve. +/// @return @c true if the "fill" attribute of the Transformation2D at the given index of the RenderGroup of the Style for this GraphicalObject is set, @c false if it is not set or the object is @c NULL. +bool isSetGeometricShapeFillColor(RenderInformationBase* renderInformationBase, const std::string& attribute, unsigned int geometricShapeIndex); + +/// @brief Predicates returning @c true if the "fill" attribute of the Transformation2D at the given index of the RenderGroup of this Style is set. +/// @param style a pointer to the Style object. +/// @param geometricShapeIndex an unsigned int representing the index of the Transformation2D to retrieve. +/// @return @c true if the "fill" attribute of the Transformation2D at the given index of the RenderGroup of this Style is set, @c false if it is not set or the object is @c NULL. +bool isSetGeometricShapeFillColor(Style* style, unsigned int geometricShapeIndex); + +/// @brief Predicates returning @c true if the "fill" attribute of the Transformation2D at the given index of this RenderGroup is set. +/// @param renderGroup a pointer to the RenderGroup object. +/// @param geometricShapeIndex an unsigned int representing the index of the Transformation2D to retrieve. +/// @return @c true if the "fill" attribute of the Transformation2D at the given index of this RenderGroup is set, @c false if it is not set or the object is @c NULL. +bool isSetGeometricShapeFillColor(RenderGroup* renderGroup, unsigned int geometricShapeIndex); + +/// @brief Predicates returning @c true if the "fill" attribute of this abstract Transformation2D is set. +/// @param shape a pointer to the Transformation2D object. +/// @return @c true if the "fill" attribute of this abstract Transformation2D is set, @c false if it is not set or the object is @c NULL. +bool isSetGeometricShapeFillColor(Transformation2D* shape); + +/// @brief Retrieves the value of the "fill" attribute of the Transformation2D at the given index of the RenderGroup of the Style for this GraphicalObject. +/// @param renderInformationBase a pointer to the RenderInformationBase object. +/// @param graphicalObject a pointer to the GraphicalObject object. +/// @param geometricShapeIndex an unsigned int representing the index of the Transformation2D to retrieve. +/// @return a string value representing the "fill" attribute of the Transformation2D at the given index of the RenderGroup of the Style for this GraphicalObject. +const std::string getGeometricShapeFillColor(RenderInformationBase* renderInformationBase, GraphicalObject* graphicalObject, unsigned int geometricShapeIndex); + +/// @brief Retrieves the value of the "fill" attribute of the Transformation2D at the given index of the RenderGroup of the Style that matches this attribute (id, role, type) of a GraphicalObject. +/// @param renderInformationBase a pointer to the RenderInformationBase object. +/// @param attribute the attribute (id, role, type) of a GraphicalObject. +/// @param geometricShapeIndex an unsigned int representing the index of the Transformation2D to retrieve. +/// @return a string value representing the "fill" attribute of the Transformation2D at the given index of the RenderGroup of the Style for this GraphicalObject. +const std::string getGeometricShapeFillColor(RenderInformationBase* renderInformationBase, const std::string& attribute, unsigned int geometricShapeIndex); + +/// @brief Retrieves the value of the "fill" attribute of the Transformation2D at the given index of the RenderGroup of this Style. +/// @param style a pointer to the Style object. +/// @param geometricShapeIndex an unsigned int representing the index of the Transformation2D to retrieve. +/// @return a string value representing the "fill" attribute of the Transformation2D at the given index of the RenderGroup of this Style. +const std::string getGeometricShapeFillColor(Style* style, unsigned int geometricShapeIndex); + +/// @brief Retrieves the value of the "fill" attribute of the Transformation2D at the given index of this RenderGroup. +/// @param renderGroup a pointer to the RenderGroup object. +/// @param geometricShapeIndex an unsigned int representing the index of the Transformation2D to retrieve. +/// @return a string value representing the "fill" attribute of the Transformation2D at the given index of this RenderGroup. +const std::string getGeometricShapeFillColor(RenderGroup* renderGroup, unsigned int geometricShapeIndex); + +/// @brief Retrieves the value of the "fill" attribute of this abstract Transformation2D. +/// @param shape a pointer to the Transformation2D object. +/// @return a string value representing the "fill" attribute of this abstract Transformation2D. +const std::string getGeometricShapeFillColor(Transformation2D* shape); + +/// @brief Sets the value of the "fill" attribute of the Transformation2D at the given index of the RenderGroup of the Style for this GraphicalObject. +/// @param renderInformationBase a pointer to the RenderInformationBase object. +/// @param graphicalObject a pointer to the GraphicalObject object. +/// @param fillColor a string value to use as the value of the "fill" attribute of the Transformation2D object. +/// @return integer value indicating success/failure of the function. +int setGeometricShapeFillColor(RenderInformationBase* renderInformationBase, GraphicalObject* graphicalObject, const std::string& fillColor); + +/// @brief Sets the value of the "fill" attribute of the Transformation2D at the given index of the RenderGroup of the Style for this GraphicalObject. +/// @param renderInformationBase a pointer to the RenderInformationBase object. +/// @param graphicalObject a pointer to the GraphicalObject object. +/// @param geometricShapeIndex an unsigned int representing the index of the Transformation2D to retrieve. +/// @param fillColor a string value to use as the value of the "fill" attribute of the Transformation2D object. +/// @return integer value indicating success/failure of the function. +int setGeometricShapeFillColor(RenderInformationBase* renderInformationBase, GraphicalObject* graphicalObject, unsigned int geometricShapeIndex, const std::string& fillColor); + +/// @brief Sets the value of the "fill" attribute of the Transformation2D at the given index of the RenderGroup of the Style that matches this attribute (id, role, type) of a GraphicalObject. +/// @param renderInformationBase a pointer to the RenderInformationBase object. +/// @param attribute the attribute (id, role, type) of a GraphicalObject. +/// @param fillColor a string value to use as the value of the "fill" attribute of the Transformation2D object. +/// @return integer value indicating success/failure of the function. +int setGeometricShapeFillColor(RenderInformationBase* renderInformationBase, const std::string& attribute, const std::string& fillColor); + +/// @brief Sets the value of the "fill" attribute of the Transformation2D at the given index of the RenderGroup of the Style that matches this attribute (id, role, type) of a GraphicalObject. +/// @param renderInformationBase a pointer to the RenderInformationBase object. +/// @param attribute the attribute (id, role, type) of a GraphicalObject. +/// @param geometricShapeIndex an unsigned int representing the index of the Transformation2D to retrieve. +/// @param fillColor a string value to use as the value of the "fill" attribute of the Transformation2D object. +/// @return integer value indicating success/failure of the function. +int setGeometricShapeFillColor(RenderInformationBase* renderInformationBase, const std::string& attribute, unsigned int geometricShapeIndex, const std::string& fillColor); + +/// @brief Sets the value of the "fill" attribute of the Transformation2D at the given index of the RenderGroup of this Style. +/// @param style a pointer to the Style object. +/// @param fillColor a string value to use as the value of the "fill" attribute of the Transformation2D object. +/// @return integer value indicating success/failure of the function. +int setGeometricShapeFillColor(Style* style, const std::string& fillColor); + +/// @brief Sets the value of the "fill" attribute of the Transformation2D at the given index of the RenderGroup of this Style. +/// @param style a pointer to the Style object. +/// @param geometricShapeIndex an unsigned int representing the index of the Transformation2D to retrieve. +/// @param fillColor a string value to use as the value of the "fill" attribute of the Transformation2D object. +/// @return integer value indicating success/failure of the function. +int setGeometricShapeFillColor(Style* style, unsigned int geometricShapeIndex, const std::string& fillColor); + +/// @brief Sets the value of the "fill" attribute of the Transformation2D at the given index of this RenderGroup. +/// @param renderGroup a pointer to the RenderGroup object. +/// @param fillColor a string value to use as the value of the "fill" attribute of the Transformation2D object. +/// @return integer value indicating success/failure of the function. +int setGeometricShapeFillColor(RenderGroup* renderGroup, const std::string& fillColor); + +/// @brief Sets the value of the "fill" attribute of the Transformation2D at the given index of the RenderGroup. +/// @param renderGroup a pointer to the RenderGroup object. +/// @param geometricShapeIndex an unsigned int representing the index of the Transformation2D to retrieve. +/// @param fillColor a string value to use as the value of the "fill" attribute of the Transformation2D object. +/// @return integer value indicating success/failure of the function. +int setGeometricShapeFillColor(RenderGroup* renderGroup, unsigned int geometricShapeIndex, const std::string& fillColor); + +/// @brief Sets the value of the "fill" attribute of this abstract Transformation2D. +/// @param shape a pointer to the Transformation2D object. +/// @param fillColor a string value to use as the value of the "fill" attribute of the Transformation2D object. +/// @return integer value indicating success/failure of the function. +int setGeometricShapeFillColor(Transformation2D* shape, const std::string& fillColor); + +int setGeometricShapeFillColorAsGradient(RenderInformationBase* renderInformationBase, GraphicalObject* graphicalObject, const std::string& gradientId); + +int setGeometricShapeFillColorAsGradient(RenderInformationBase* renderInformationBase, GraphicalObject* graphicalObject, unsigned int geometricShapeIndex, const std::string& gradientId); + +int setGeometricShapeFillColorAsGradient(RenderInformationBase* renderInformationBase, const std::string& attribute, const std::string& gradientId); + +int setGeometricShapeFillColorAsGradient(RenderInformationBase* renderInformationBase, const std::string& attribute, unsigned int geometricShapeIndex, const std::string& gradientId); + +int setGeometricShapeFillColorAsGradient(Style* style, const std::string& gradientId); + +int setGeometricShapeFillColorAsGradient(Style* style, unsigned int geometricShapeIndex, const std::string& gradientId); + +int setGeometricShapeFillColorAsGradient(RenderGroup* renderGroup, const std::string& gradientId); + +int setGeometricShapeFillColorAsGradient(RenderGroup* renderGroup, unsigned int geometricShapeIndex, const std::string& gradientId); + +int setGeometricShapeFillColorAsGradient(Transformation2D* shape, const std::string& gradientId); + /// @brief Predicates returning @c true if the "x" attribute of the Transformation2D at the given index of the RenderGroup of the Style for this GraphicalObject is set. /// @param renderInformationBase a pointer to the RenderInformationBase object. /// @param graphicalObject a pointer to the GraphicalObject object. diff --git a/src/libsbmlnetwork_render_helpers.cpp b/src/libsbmlnetwork_render_helpers.cpp index 2cec6a76..28b8cea9 100755 --- a/src/libsbmlnetwork_render_helpers.cpp +++ b/src/libsbmlnetwork_render_helpers.cpp @@ -225,7 +225,26 @@ void addColorsOfDefaultGeometricShapes(GlobalRenderInformation* globalRenderInfo addColor(globalRenderInformation, "black"); } -const bool addColor(SBMLDocument* document, Style* style, const std::string &color) { +const std::string getColorValue(RenderInformationBase* renderInformationBase, const std::string &colorId) { + ColorDefinition* colorDefinition = renderInformationBase->getColorDefinition(colorId); + if (colorDefinition) + return colorDefinition->getValue(); + + return ""; +} + +const std::string getColorId(RenderInformationBase* renderInformationBase, const std::string &colorValue) { + for (unsigned int i = 0; i < renderInformationBase->getNumColorDefinitions(); i++) { + ColorDefinition* colorDefinition = renderInformationBase->getColorDefinition(i); + if (stringCompare(colorDefinition->getValue(), colorValue)) + return colorDefinition->getId(); + } + + return ""; +} + + +const std::string addColor(SBMLDocument* document, Style* style, const std::string &color) { if (style) { for (unsigned int i = 0; i < getNumLocalRenderInformation(document); i++) { LocalRenderInformation* localRenderInformation = getLocalRenderInformation(document, i); @@ -243,10 +262,10 @@ const bool addColor(SBMLDocument* document, Style* style, const std::string &col } } - return false; + return ""; } -const bool addColor(SBMLDocument* document, LineEnding* lineEnding, const std::string &color) { +const std::string addColor(SBMLDocument* document, LineEnding* lineEnding, const std::string &color) { if (lineEnding) { for (unsigned int i = 0; i < getNumLocalRenderInformation(document); i++) { LocalRenderInformation *localRenderInformation = getLocalRenderInformation(document, i); @@ -264,34 +283,112 @@ const bool addColor(SBMLDocument* document, LineEnding* lineEnding, const std::s } } - return false; + return ""; } -const bool addColor(RenderInformationBase* renderInformationBase, const std::string &color) { +const std::string addColor(RenderInformationBase* renderInformationBase, const std::string &color) { if (isValidHexColorCode(color)) return addColor(renderInformationBase, getColorIdFromHexColorCode(renderInformationBase, color), color); else return addColor(renderInformationBase, color, getHexColorCodeFromHtmlColorName(color)); } -const bool addColor(RenderInformationBase* renderInformationBase, const std::string &colorId, const std::string &colorValue) { - if (!colorId.empty() && !colorValue.empty() && !renderInformationBase->getColorDefinition(colorId)) { +const std::string addColor(RenderInformationBase* renderInformationBase, const std::string &colorId, const std::string &colorValue) { + if (stringCompare(getColorValue(renderInformationBase, colorId), colorValue)) + return colorId; + + if (!colorId.empty() && !colorValue.empty()) { RenderPkgNamespaces renderPkgNamespaces(renderInformationBase->getLevel(), renderInformationBase->getVersion()); ColorDefinition* cd = createColorDefinition(&renderPkgNamespaces, toLowerCase(colorId), colorValue); - renderInformationBase->addColorDefinition(cd); - delete cd; - return true; + if (!renderInformationBase->addColorDefinition(cd)) { + delete cd; + return toLowerCase(colorId); + } } - return false; + return ""; +} + +const std::string addGradient(SBMLDocument* document, Style* style, const std::string type, std::vector> stopsVector) { + RenderInformationBase* renderInformation = NULL; + if (style) { + for (unsigned int i = 0; i < getNumLocalRenderInformation(document); i++) { + LocalRenderInformation* localRenderInformation = getLocalRenderInformation(document, i); + for (unsigned int j = 0; j < localRenderInformation->getNumLocalStyles(); j++) { + if (localRenderInformation->getLocalStyle(j) == style) { + renderInformation = localRenderInformation; + break; + } + } + } + for (unsigned int i = 0; i < getNumGlobalRenderInformation(document); i++) { + GlobalRenderInformation* globalRenderInformation = getGlobalRenderInformation(document, i); + for (unsigned int j = 0; j < globalRenderInformation->getNumGlobalStyles(); j++) { + if (globalRenderInformation->getGlobalStyle(j) == style) { + renderInformation = globalRenderInformation; + break; + } + } + } + } + + if (renderInformation) + return addGradient(renderInformation, type, stopsVector); + + return ""; +} + +const std::string addGradient(SBMLDocument* document, LineEnding* lineEnding, const std::string type, std::vector> stopsVector) { + RenderInformationBase* renderInformation = NULL; + if (lineEnding) { + for (unsigned int i = 0; i < getNumLocalRenderInformation(document); i++) { + LocalRenderInformation* localRenderInformation = getLocalRenderInformation(document, i); + for (unsigned int j = 0; j < localRenderInformation->getNumLineEndings(); j++) { + if (localRenderInformation->getLineEnding(j) == lineEnding) { + renderInformation = localRenderInformation; + break; + } + } + } + for (unsigned int i = 0; i < getNumGlobalRenderInformation(document); i++) { + GlobalRenderInformation* globalRenderInformation = getGlobalRenderInformation(document, i); + for (unsigned int j = 0; j < globalRenderInformation->getNumLineEndings(); j++) { + if (globalRenderInformation->getLineEnding(j) == lineEnding) { + renderInformation = globalRenderInformation; + break; + } + } + } + } + + if (renderInformation) + return addGradient(renderInformation, type, stopsVector); + + return ""; +} + +const std::string addGradient(RenderInformationBase* renderInformationBase, const std::string type, std::vector> stopsVector) { + if (isValidGradientStopsVector(stopsVector)) { + for (unsigned int i = 0; i < stopsVector.size(); i++) + addColor(renderInformationBase, stopsVector[i].first); + std::string gradientId = getUniqueGradientId(renderInformationBase); + RenderPkgNamespaces* renderPkgNamespaces = new RenderPkgNamespaces(renderInformationBase->getLevel(), renderInformationBase->getVersion()); + if (!renderInformationBase->addGradientDefinition(createGradient(renderPkgNamespaces, gradientId, type, stopsVector))) + return gradientId; + } + + return ""; } const std::string getColorIdFromHexColorCode(RenderInformationBase* renderInformationBase, const std::string &hexColorCode) { - std::string colorId = getHtmlColorNameFromHexColorCode(hexColorCode); - if (colorId.empty()) - colorId = getUniqueColorId(renderInformationBase); + std::string colorId = getColorId(renderInformationBase, hexColorCode); + if (!colorId.empty()) + return colorId; + colorId = getHtmlColorNameFromHexColorCode(hexColorCode); + if (!colorId.empty()) + return colorId; - return colorId; + return getUniqueColorId(renderInformationBase); } const std::string getUniqueColorId(RenderInformationBase* renderInformationBase) { @@ -313,6 +410,87 @@ ColorDefinition* createColorDefinition(RenderPkgNamespaces* renderPkgNamespaces, return colorDefinition; } +GradientBase* createGradient(RenderPkgNamespaces* renderPkgNamespaces, const std::string &id, const std::string type, std::vector> stopsVector) { + if (type == "linear") + return createLinearGradient(renderPkgNamespaces, id, stopsVector); + else if (type == "radial") + return createRadialGradient(renderPkgNamespaces, id, stopsVector); + + return NULL; +} + +GradientBase* createLinearGradient(RenderPkgNamespaces* renderPkgNamespaces, const std::string &id, std::vector> stopsVector) { + LinearGradient* linearGradient = new LinearGradient(renderPkgNamespaces, id); + for (unsigned int i = 0; i < stopsVector.size(); i++) + linearGradient->addGradientStop(createGradientStop(renderPkgNamespaces, stopsVector[i].first, RelAbsVector(0.0, stopsVector[i].second))); + + return linearGradient; +} + +GradientBase* createRadialGradient(RenderPkgNamespaces* renderPkgNamespaces, const std::string &id, std::vector> stopsVector) { + RadialGradient* radialGradient = new RadialGradient(renderPkgNamespaces, id); + for (unsigned int i = 0; i < stopsVector.size(); i++) + radialGradient->addGradientStop(createGradientStop(renderPkgNamespaces, stopsVector[i].first, stopsVector[i].second)); + + return radialGradient; +} + +GradientStop* createGradientStop(RenderPkgNamespaces* renderPkgNamespaces, const std::string &stopColor, const RelAbsVector& offset) { + GradientStop* gradientStop = new GradientStop(renderPkgNamespaces); + gradientStop->setStopColor(stopColor); + gradientStop->setOffset(offset); + return gradientStop; +} + +const std::string getUniqueGradientId(RenderInformationBase* renderInformationBase) { + std::string uniqueGradientId = "gradient_0"; + unsigned int i = 0; + while (renderInformationBase->getGradientDefinition(uniqueGradientId)) + uniqueGradientId = "gradient_" + std::to_string(i++); + + return uniqueGradientId; +} + +LineEnding* createLocalLineEnding(SBMLDocument* document, RenderInformationBase* localRenderInformation, SpeciesReferenceGlyph* speciesReferenceGlyph) { + LineEnding* localLineEnding = NULL; + std::string localLineEndingId = getLocalLineEndingId(document, speciesReferenceGlyph); + if (localRenderInformation && !localLineEndingId.empty()) { + localLineEnding = ((LocalRenderInformation*)localRenderInformation)->createLineEnding(); + localLineEnding->setId(localLineEndingId); + if (isSetStartHead(document, speciesReferenceGlyph)) + setStartHead(document, speciesReferenceGlyph, localLineEndingId); + else if (isSetEndHead(document, speciesReferenceGlyph)) + setEndHead(document, speciesReferenceGlyph, localLineEndingId); + } + + return localLineEnding; +} + +const bool isLocal(SBMLDocument* document, LineEnding* lineEnding, SpeciesReferenceGlyph* speciesReferenceGlyph) { + if (!lineEnding || !speciesReferenceGlyph) + return false; + + std::string localLineEndingId = getLocalLineEndingId(document, speciesReferenceGlyph); + if (localLineEndingId.empty()) + return false; + + return lineEnding->getId() == localLineEndingId; +} + +const std::string getLocalLineEndingId(SBMLDocument* document, SpeciesReferenceGlyph* speciesReferenceGlyph) { + std::string globalLineEndingId = getStartHead(document, speciesReferenceGlyph); + if (globalLineEndingId.empty()) + globalLineEndingId = getEndHead(document, speciesReferenceGlyph); + if (!globalLineEndingId.empty()) { + if (globalLineEndingId.find(speciesReferenceGlyph->getId()) != std::string::npos) + return globalLineEndingId; + + return speciesReferenceGlyph->getId() + "_" + globalLineEndingId; + } + + return ""; +} + void addDefaultLineEndings(GlobalRenderInformation* globalRenderInformation) { addProductHeadLineEnding(globalRenderInformation); addModifierHeadLineEnding(globalRenderInformation); @@ -878,7 +1056,7 @@ const bool canHaveStrokeDashArray(GraphicalObject* graphicalObject) { } const bool canHaveFillColor(GraphicalObject* graphicalObject) { - if (isCompartmentGlyph(graphicalObject) || isSpeciesGlyph(graphicalObject) || (isReactionGlyph(graphicalObject) && !getCurve(graphicalObject))) + if (isCompartmentGlyph(graphicalObject) || isSpeciesGlyph(graphicalObject) || isReactionGlyph(graphicalObject)) return true; return false; @@ -969,8 +1147,20 @@ const bool isValidSpreadMethodValue(const std::string& spreadMethod) { return isValueValid(spreadMethod, getValidSpreadMethodValues()); } +const bool isValidGradientStopsVector(std::vector> gradientStopsVector) { + for (unsigned int i = 0; i < gradientStopsVector.size(); i++) { + if (!isValidStopColorValue(gradientStopsVector.at(i).first) || !isValidOffsetValue(RelAbsVector(0.0, gradientStopsVector.at(i).second))) + return false; + } + + return true; +} + const bool isValidOffsetValue(const RelAbsVector& offset) { - return isValidRelAbsVectorPositiveValue(offset); + if (std::abs(offset.getAbsoluteValue()) > 0.0001) + return false; + + return isValidRelAbsVectorRelativeValue(offset.getRelativeValue()); } const bool isValidOffsetValue(const double& offset) { @@ -1175,10 +1365,10 @@ const bool isValidGeometricShapeHref(const std::string& href) { } const bool isValidRelAbsVectorPositiveValue(const RelAbsVector& relAbsVectorValue) { - if (isValidRelAbsVectorValue(relAbsVectorValue) && relAbsVectorValue.getAbsoluteValue() > 0.000) + if (isValidRelAbsVectorValue(relAbsVectorValue) && relAbsVectorValue.getAbsoluteValue() >= 0.000) return true; - std::cerr << "error: the absolute value of the entered value must be greater than 0" << std::endl; + std::cerr << "error: the absolute value of the entered value must be equal or greater than 0" << std::endl; return false; } diff --git a/src/libsbmlnetwork_render_helpers.h b/src/libsbmlnetwork_render_helpers.h index c6f33164..a2e4543a 100755 --- a/src/libsbmlnetwork_render_helpers.h +++ b/src/libsbmlnetwork_render_helpers.h @@ -67,13 +67,23 @@ void addColorsOfDefaultGeometricShapes(SBMLDocument* document, Style* style); void addColorsOfDefaultGeometricShapes(GlobalRenderInformation* globalRenderInformation); -const bool addColor(SBMLDocument* document, Style* style, const std::string &color); +const std::string getColorValue(RenderInformationBase* renderInformationBase, const std::string &colorId); -const bool addColor(SBMLDocument* document, LineEnding* lineEnding, const std::string &color); +const std::string getColorId(RenderInformationBase* renderInformationBase, const std::string &colorValue); -const bool addColor(RenderInformationBase* renderInformationBase, const std::string &color); +const std::string addColor(SBMLDocument* document, Style* style, const std::string &color); -const bool addColor(RenderInformationBase* renderInformationBase, const std::string &colorId, const std::string &colorValue); +const std::string addColor(SBMLDocument* document, LineEnding* lineEnding, const std::string &color); + +const std::string addColor(RenderInformationBase* renderInformationBase, const std::string &color); + +const std::string addColor(RenderInformationBase* renderInformationBase, const std::string &colorId, const std::string &colorValue); + +const std::string addGradient(SBMLDocument* document, Style* style, const std::string type, std::vector> stopsVector); + +const std::string addGradient(SBMLDocument* document, LineEnding* lineEnding, const std::string type, std::vector> stopsVector); + +const std::string addGradient(RenderInformationBase* renderInformationBase, const std::string type, std::vector> stopsVector); const std::string getColorIdFromHexColorCode(RenderInformationBase* renderInformationBase, const std::string &hexColorCode); @@ -83,7 +93,23 @@ ColorDefinition* createColorDefinition(RenderPkgNamespaces* renderPkgNamespaces, ColorDefinition* createColorDefinition(RenderPkgNamespaces* renderPkgNamespaces, const std::string &id, const std::string &value); -void addTextGlyphGlobalStyle(GlobalRenderInformation* globalRenderInformation); +GradientBase* createGradient(RenderPkgNamespaces* renderPkgNamespaces, const std::string &id, const std::string type, std::vector> stopsVector); + +GradientBase* createLinearGradient(RenderPkgNamespaces* renderPkgNamespaces, const std::string &id, std::vector> stopsVector); + +GradientBase* createRadialGradient(RenderPkgNamespaces* renderPkgNamespaces, const std::string &id, std::vector> stopsVector); + +GradientStop* createGradientStop(RenderPkgNamespaces* renderPkgNamespaces, const std::string &stopColor, const RelAbsVector& offset); + +const std::string getUniqueGradientId(RenderInformationBase* renderInformationBase); + +LineEnding* createLocalLineEnding(RenderInformationBase* localRenderInformation, LineEnding* globalLineEnding, SpeciesReferenceGlyph* speciesReferenceGlyph); + +LineEnding* createLocalLineEnding(SBMLDocument* document, RenderInformationBase* localRenderInformation, SpeciesReferenceGlyph* speciesReferenceGlyph); + +const bool isLocal(SBMLDocument* document, LineEnding* lineEnding, SpeciesReferenceGlyph* speciesReferenceGlyph); + +const std::string getLocalLineEndingId(SBMLDocument* document, SpeciesReferenceGlyph* speciesReferenceGlyph); void addDefaultLineEndings(GlobalRenderInformation* globalRenderInformation); @@ -243,6 +269,8 @@ const bool isValidBackgroundColorValue(const std::string& backgroundColor); const bool isValidSpreadMethodValue(const std::string& spreadMethod); +const bool isValidGradientStopsVector(std::vector> gradientStopsVector); + const bool isValidOffsetValue(const RelAbsVector& offset); const bool isValidOffsetValue(const double& offset); diff --git a/src/libsbmlnetwork_sbmldocument.cpp b/src/libsbmlnetwork_sbmldocument.cpp index d2908ac5..ff662fab 100644 --- a/src/libsbmlnetwork_sbmldocument.cpp +++ b/src/libsbmlnetwork_sbmldocument.cpp @@ -72,9 +72,9 @@ namespace LIBSBMLNETWORK_CPP_NAMESPACE { return -1; } - int autorender(SBMLDocument* document) { + int autorender(SBMLDocument* document, const int maxNumConnectedEdges) { if (!getNumLayouts(document)) - createDefaultLayoutFeatures(document); + createDefaultLayoutFeatures(document, maxNumConnectedEdges); if (getNumLayouts(document)) return createDefaultRenderInformation(document); @@ -95,10 +95,11 @@ namespace LIBSBMLNETWORK_CPP_NAMESPACE { return -1; } - int distribute(SBMLDocument* document, std::set nodeIds, const std::string& direction, const double& spacing) { + int distribute(SBMLDocument* document, std::set > nodeIds, const std::string& direction, const double spacing) { if (nodeIds.size() > 1) { std::vector allGraphicalObjects; - for (std::set::const_iterator nodeIt = nodeIds.cbegin(); nodeIt != nodeIds.cend(); nodeIt++) { + std::vector sortedNodeIdsVector = getSortedNodeIdsVector(nodeIds); + for (std::vector::const_iterator nodeIt = sortedNodeIdsVector.cbegin(); nodeIt != sortedNodeIdsVector.cend(); nodeIt++) { std::vector graphicalObjects = getGraphicalObjects(document, *nodeIt); allGraphicalObjects.insert(allGraphicalObjects.end(), graphicalObjects.begin(), graphicalObjects.end()); } diff --git a/src/libsbmlnetwork_sbmldocument.h b/src/libsbmlnetwork_sbmldocument.h index c90ed689..89e03a15 100644 --- a/src/libsbmlnetwork_sbmldocument.h +++ b/src/libsbmlnetwork_sbmldocument.h @@ -73,8 +73,9 @@ LIBSBMLNETWORK_EXTERN int autolayout(SBMLDocument* document, const int maxNumCon /// @brief Create a Render object and add it to the the SBML document if it does not exist. /// @param document a pointer to the SBMLDocument object. +/// @param maxNumConnectedEdges the maximum number of connected edges before creating an alias SpeciesGlyph. /// @return integer value indicating success/failure of the function. -LIBSBMLNETWORK_EXTERN int autorender(SBMLDocument* document); +LIBSBMLNETWORK_EXTERN int autorender(SBMLDocument* document, const int maxNumConnectedEdges = 3); /// @brief Align the nodes position in the SBML document in the given alignment type. /// @param document a pointer to the SBMLDocument object. @@ -86,11 +87,11 @@ LIBSBMLNETWORK_EXTERN int align(SBMLDocument* document, std::set no /// @brief Distribute the nodes position in the SBML document in the given distribution direction. /// @param document a pointer to the SBMLDocument object. -/// @param nodeIds a set of node ids to be distributed. +/// @param nodeIds a set of node ids and their order to be distributed. /// @param direction determines how to distribute the nodes. /// @param spacing the spacing between the distributed nodes. /// @return integer value indicating success/failure of the function. -LIBSBMLNETWORK_EXTERN int distribute(SBMLDocument* document, std::set nodeIds, const std::string& direction, const double& spacing = -1); +LIBSBMLNETWORK_EXTERN int distribute(SBMLDocument* document, std::set > nodeIds, const std::string& direction, const double spacing = -1); /// @brief Returns the first child element found that has the given id in the model-wide SId namespace, or NULL if no such object is found. /// @param document a pointer to the SBMLDocument object. diff --git a/src/libsbmlnetwork_sbmldocument_render.cpp b/src/libsbmlnetwork_sbmldocument_render.cpp index e83b8e87..f21426f9 100644 --- a/src/libsbmlnetwork_sbmldocument_render.cpp +++ b/src/libsbmlnetwork_sbmldocument_render.cpp @@ -159,8 +159,7 @@ int setBackgroundColor(SBMLDocument* document, const std::string& backgroundColo } int setBackgroundColor(SBMLDocument* document, unsigned int renderIndex, const std::string& backgroundColor) { - addColor(getGlobalRenderInformation(document, renderIndex), backgroundColor); - return setBackgroundColor(getGlobalRenderInformation(document, renderIndex), backgroundColor); + return setBackgroundColor(getGlobalRenderInformation(document, renderIndex), addColor(getGlobalRenderInformation(document, renderIndex), backgroundColor)); } const unsigned int getNumGlobalColorDefinitions(SBMLDocument* document, unsigned int renderIndex) { @@ -276,15 +275,17 @@ GradientBase* getGradientDefinition(SBMLDocument* document, const std::string& s } GradientBase* getGradientDefinition(SBMLDocument* document, unsigned int renderIndex, const std::string& sid) { - if (getGradientDefinition(getGlobalRenderInformation(document, renderIndex), sid)) - return getGradientDefinition(getGlobalRenderInformation(document, renderIndex), sid); + GradientBase* gradientDefinition = getGradientDefinition(getGlobalRenderInformation(document, renderIndex), sid); + if (gradientDefinition) + return gradientDefinition; return getGradientDefinition(getLocalRenderInformation(document, 0, renderIndex), sid); } GradientBase* getGradientDefinition(SBMLDocument* document, unsigned int renderIndex, unsigned int gradientIndex) { - if (getGradientDefinition(getGlobalRenderInformation(document, renderIndex), gradientIndex)) - return getGradientDefinition(getGlobalRenderInformation(document, renderIndex), gradientIndex); + GradientBase* gradientDefinition = getGradientDefinition(getGlobalRenderInformation(document, renderIndex), gradientIndex); + if (gradientDefinition) + return gradientDefinition; return getGradientDefinition(getLocalRenderInformation(document, 0, renderIndex), gradientIndex); } @@ -418,23 +419,19 @@ const std::string getStopColor(SBMLDocument* document, unsigned int renderIndex, } int setStopColor(SBMLDocument* document, const std::string& sid, const std::string& stopColor) { - addColor(getGlobalRenderInformation(document), stopColor); - return setStopColor(getGradientDefinition(document, sid), stopColor); + return setStopColor(getGradientDefinition(document, sid), addColor(getGlobalRenderInformation(document), stopColor)); } int setStopColor(SBMLDocument* document, unsigned int renderIndex, const std::string& sid, const std::string& stopColor) { - addColor(getGlobalRenderInformation(document, renderIndex), stopColor); - return setStopColor(getGradientDefinition(document, renderIndex, sid), stopColor); + return setStopColor(getGradientDefinition(document, renderIndex, sid), addColor(getGlobalRenderInformation(document, renderIndex), stopColor)); } int setStopColor(SBMLDocument* document, const std::string& sid, unsigned int gradientStopIndex, const std::string& stopColor) { - addColor(getGlobalRenderInformation(document), stopColor); - return setStopColor(getGradientDefinition(document, sid), gradientStopIndex, stopColor); + return setStopColor(getGradientDefinition(document, sid), gradientStopIndex, addColor(getGlobalRenderInformation(document), stopColor)); } int setStopColor(SBMLDocument* document, unsigned int renderIndex, const std::string& sid, unsigned int gradientStopIndex, const std::string& stopColor) { - addColor(getGlobalRenderInformation(document, renderIndex), stopColor); - return setStopColor(getGradientDefinition(document, renderIndex, sid), gradientStopIndex, stopColor); + return setStopColor(getGradientDefinition(document, renderIndex, sid), gradientStopIndex, addColor(getGlobalRenderInformation(document, renderIndex), stopColor)); } bool isSetLinearGradientX1(SBMLDocument* document, const std::string& sid) { @@ -670,11 +667,11 @@ int setRadialGradientCy(SBMLDocument* document, unsigned int renderIndex, const } int setRadialGradientCyAsDouble(SBMLDocument* document, const std::string& sid, const double& cy) { - return setRadialGradientCy(getGradientDefinition(document, sid), cy); + return setRadialGradientCyAsDouble(getGradientDefinition(document, sid), cy); } int setRadialGradientCyAsDouble(SBMLDocument* document, unsigned int renderIndex, const std::string& sid, const double& cy) { - return setRadialGradientCy(getGradientDefinition(document, renderIndex, sid), cy); + return setRadialGradientCyAsDouble(getGradientDefinition(document, renderIndex, sid), cy); } bool isSetRadialGradientFx(SBMLDocument* document, const std::string& sid) { @@ -848,6 +845,43 @@ LineEnding* getLineEnding(SBMLDocument* document, unsigned int renderIndex, unsi return getLineEnding(getLocalRenderInformation(document, 0, renderIndex), lineEndingIndex); } +LineEnding* createLocalLineEnding(SBMLDocument* document, LineEnding* globalLineEnding, SpeciesReferenceGlyph* speciesReferenceGlyph) { + LineEnding* localLineEnding = createLocalLineEnding(document, getLocalRenderInformation(document), speciesReferenceGlyph); + if (localLineEnding && globalLineEnding) { + localLineEnding->setGroup(globalLineEnding->getGroup()->clone()); + localLineEnding->setBoundingBox(globalLineEnding->getBoundingBox()->clone()); + localLineEnding->getBoundingBox()->setId(localLineEnding->getId() + "_bb"); + } + + return localLineEnding; +} + +LineEnding* getSpeciesReferenceLineEnding(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex) { + return getSpeciesReferenceLineEnding(document, 0, reactionId, reactionGlyphIndex, speciesReferenceIndex); +} + +LineEnding* getSpeciesReferenceLineEnding(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex) { + SpeciesReferenceGlyph* speciesReferenceGlyph = getSpeciesReferenceGlyph(document, reactionId, reactionGlyphIndex, speciesReferenceIndex); + LineEnding* lineEnding = getLineEnding(document, getStartHead(document, speciesReferenceGlyph)); + if (!lineEnding) + lineEnding = getLineEnding(document, getEndHead(document, speciesReferenceGlyph)); + + return lineEnding; +} + +LineEnding* getSpeciesReferenceLocalLineEnding(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex) { + return getSpeciesReferenceLocalLineEnding(document, 0, reactionId, reactionGlyphIndex, speciesReferenceIndex); +} + +LineEnding* getSpeciesReferenceLocalLineEnding(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex) { + LineEnding* lineEnding = getSpeciesReferenceLineEnding(document, reactionId, reactionGlyphIndex, speciesReferenceIndex); + SpeciesReferenceGlyph* speciesReferenceGlyph = getSpeciesReferenceGlyph(document, reactionId, reactionGlyphIndex, speciesReferenceIndex); + if(!isLocal(document, lineEnding, speciesReferenceGlyph)) + lineEnding = createLocalLineEnding(document, lineEnding, speciesReferenceGlyph); + + return lineEnding; +} + bool isSetEnableRotationalMapping(SBMLDocument* document, const std::string& sid) { return isSetEnableRotationalMapping(getLineEnding(document, sid)); } @@ -880,6 +914,14 @@ BoundingBox* getLineEndingBoundingBox(SBMLDocument* document, unsigned int rende return getLineEndingBoundingBox(getLineEnding(document, renderIndex, sid)); } +BoundingBox* getSpeciesReferenceLineEndingBoundingBox(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex) { + return getSpeciesReferenceLineEndingBoundingBox(document, 0, reactionId, reactionGlyphIndex, speciesReferenceIndex); +} + +BoundingBox* getSpeciesReferenceLineEndingBoundingBox(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex) { + return getLineEndingBoundingBox(getSpeciesReferenceLineEnding(document, reactionId, reactionGlyphIndex, speciesReferenceIndex)); +} + const double getLineEndingBoundingBoxX(SBMLDocument* document, const std::string& sid) { return getPositionX(getLineEndingBoundingBox(document, sid)); } @@ -888,6 +930,14 @@ const double getLineEndingBoundingBoxX(SBMLDocument* document, unsigned int rend return getPositionX(getLineEndingBoundingBox(document, renderIndex, sid)); } +const double getSpeciesReferenceLineEndingBoundingBoxX(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex) { + return getPositionX(getSpeciesReferenceLineEndingBoundingBox(document, reactionId, reactionGlyphIndex, speciesReferenceIndex)); +} + +const double getSpeciesReferenceLineEndingBoundingBoxX(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex) { + return getPositionX(getSpeciesReferenceLineEndingBoundingBox(document, reactionId, reactionGlyphIndex, speciesReferenceIndex)); +} + int setLineEndingBoundingBoxX(SBMLDocument* document, const std::string& sid, double x) { return setPositionX(getLineEndingBoundingBox(document, sid), x); } @@ -896,6 +946,32 @@ int setLineEndingBoundingBoxX(SBMLDocument* document, unsigned int renderIndex, return setPositionX(getLineEndingBoundingBox(document, renderIndex, sid), x); } +int setSpeciesReferenceLineEndingBoundingBoxX(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, const double x) { + return setPositionX(getLineEndingBoundingBox(getSpeciesReferenceLocalLineEnding(document, reactionId, reactionGlyphIndex, speciesReferenceIndex)), x); +} + +int setSpeciesReferenceLineEndingBoundingBoxX(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, const double x) { + return setPositionX(getLineEndingBoundingBox(getSpeciesReferenceLocalLineEnding(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceIndex)), x); +} + +int setReactionLineEndingBoundingBoxX(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, const double x) { + int isSetSuccessfully = -1; + for (unsigned int i = 0; i < getNumSpeciesReferenceGlyphs(document, reactionId, reactionGlyphIndex); i++) + if (!setSpeciesReferenceLineEndingBoundingBoxX(document, reactionId, reactionGlyphIndex, i, x)) + isSetSuccessfully = 0; + + return isSetSuccessfully; +} + +int setReactionLineEndingBoundingBoxX(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, const double x) { + int isSetSuccessfully = -1; + for (unsigned int i = 0; i < getNumSpeciesReferenceGlyphs(document, reactionId, reactionGlyphIndex); i++) + if (!setSpeciesReferenceLineEndingBoundingBoxX(document, layoutIndex, reactionId, reactionGlyphIndex, i, x)) + isSetSuccessfully = 0; + + return isSetSuccessfully; +} + const double getLineEndingBoundingBoxY(SBMLDocument* document, const std::string& sid) { return getPositionY(getLineEndingBoundingBox(document, sid)); } @@ -904,6 +980,14 @@ const double getLineEndingBoundingBoxY(SBMLDocument* document, unsigned int rend return getPositionY(getLineEndingBoundingBox(document, renderIndex, sid)); } +const double getSpeciesReferenceLineEndingBoundingBoxY(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex) { + return getPositionY(getSpeciesReferenceLineEndingBoundingBox(document, reactionId, reactionGlyphIndex, speciesReferenceIndex)); +} + +const double getSpeciesReferenceLineEndingBoundingBoxY(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex) { + return getPositionY(getSpeciesReferenceLineEndingBoundingBox(document, reactionId, reactionGlyphIndex, speciesReferenceIndex)); +} + int setLineEndingBoundingBoxY(SBMLDocument* document, const std::string& sid, double y) { return setPositionY(getLineEndingBoundingBox(document, sid), y); } @@ -912,6 +996,32 @@ int setLineEndingBoundingBoxY(SBMLDocument* document, unsigned int renderIndex, return setPositionY(getLineEndingBoundingBox(document, renderIndex, sid), y); } +int setSpeciesReferenceLineEndingBoundingBoxY(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, const double y) { + return setPositionY(getLineEndingBoundingBox(getSpeciesReferenceLocalLineEnding(document, reactionId, reactionGlyphIndex, speciesReferenceIndex)), y); +} + +int setSpeciesReferenceLineEndingBoundingBoxY(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, const double y) { + return setPositionY(getLineEndingBoundingBox(getSpeciesReferenceLocalLineEnding(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceIndex)), y); +} + +int setReactionLineEndingBoundingBoxY(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, const double y) { + int isSetSuccessfully = -1; + for (unsigned int i = 0; i < getNumSpeciesReferenceGlyphs(document, reactionId, reactionGlyphIndex); i++) + if (!setSpeciesReferenceLineEndingBoundingBoxY(document, reactionId, reactionGlyphIndex, i, y)) + isSetSuccessfully = 0; + + return isSetSuccessfully; +} + +int setReactionLineEndingBoundingBoxY(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, const double y) { + int isSetSuccessfully = -1; + for (unsigned int i = 0; i < getNumSpeciesReferenceGlyphs(document, reactionId, reactionGlyphIndex); i++) + if (!setSpeciesReferenceLineEndingBoundingBoxY(document, layoutIndex, reactionId, reactionGlyphIndex, i, y)) + isSetSuccessfully = 0; + + return isSetSuccessfully; +} + const double getLineEndingBoundingBoxWidth(SBMLDocument* document, const std::string& sid) { return getDimensionWidth(getLineEndingBoundingBox(document, sid)); } @@ -920,6 +1030,16 @@ const double getLineEndingBoundingBoxWidth(SBMLDocument* document, unsigned int return getDimensionWidth(getLineEndingBoundingBox(document, renderIndex, sid)); } +const double getSpeciesReferenceLineEndingBoundingBoxWidth(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex) { + return getDimensionWidth(getSpeciesReferenceLineEndingBoundingBox(document, reactionId, reactionGlyphIndex, + speciesReferenceIndex)); +} + +const double getSpeciesReferenceLineEndingBoundingBoxWidth(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex) { + return getDimensionWidth(getSpeciesReferenceLineEndingBoundingBox(document, reactionId, reactionGlyphIndex, + speciesReferenceIndex)); +} + int setLineEndingBoundingBoxWidth(SBMLDocument* document, const std::string& sid, double width) { return setDimensionWidth(getLineEndingBoundingBox(document, sid), width); } @@ -928,6 +1048,32 @@ int setLineEndingBoundingBoxWidth(SBMLDocument* document, unsigned int renderInd return setDimensionWidth(getLineEndingBoundingBox(document, renderIndex, sid), width); } +int setSpeciesReferenceLineEndingBoundingBoxWidth(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, const double width) { + return setDimensionWidth(getLineEndingBoundingBox(getSpeciesReferenceLocalLineEnding(document, reactionId, reactionGlyphIndex, speciesReferenceIndex)), width); +} + +int setSpeciesReferenceLineEndingBoundingBoxWidth(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, const double width) { + return setDimensionWidth(getLineEndingBoundingBox(getSpeciesReferenceLocalLineEnding(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceIndex)), width); +} + +int setReactionLineEndingBoundingBoxWidth(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, const double width) { + int isSetSuccessfully = -1; + for (unsigned int i = 0; i < getNumSpeciesReferenceGlyphs(document, reactionId, reactionGlyphIndex); i++) + if (!setSpeciesReferenceLineEndingBoundingBoxWidth(document, reactionId, reactionGlyphIndex, i, width)) + isSetSuccessfully = 0; + + return isSetSuccessfully; +} + +int setReactionLineEndingBoundingBoxWidth(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, const double width) { + int isSetSuccessfully = -1; + for (unsigned int i = 0; i < getNumSpeciesReferenceGlyphs(document, reactionId, reactionGlyphIndex); i++) + if (!setSpeciesReferenceLineEndingBoundingBoxWidth(document, layoutIndex, reactionId, reactionGlyphIndex, i, width)) + isSetSuccessfully = 0; + + return isSetSuccessfully; +} + const double getLineEndingBoundingBoxHeight(SBMLDocument* document, const std::string& sid) { return getDimensionHeight(getLineEndingBoundingBox(document, sid)); } @@ -936,6 +1082,16 @@ const double getLineEndingBoundingBoxHeight(SBMLDocument* document, unsigned int return getDimensionHeight(getLineEndingBoundingBox(document, renderIndex, sid)); } +const double getSpeciesReferenceLineEndingBoundingBoxHeight(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex) { + return getDimensionHeight(getSpeciesReferenceLineEndingBoundingBox(document, reactionId, reactionGlyphIndex, + speciesReferenceIndex)); +} + +const double getSpeciesReferenceLineEndingBoundingBoxHeight(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex) { + return getDimensionHeight(getSpeciesReferenceLineEndingBoundingBox(document, reactionId, reactionGlyphIndex, + speciesReferenceIndex)); +} + int setLineEndingBoundingBoxHeight(SBMLDocument* document, const std::string& sid, double height) { return setDimensionHeight(getLineEndingBoundingBox(document, sid), height); } @@ -944,6 +1100,32 @@ int setLineEndingBoundingBoxHeight(SBMLDocument* document, unsigned int renderIn return setDimensionHeight(getLineEndingBoundingBox(document, renderIndex, sid), height); } +int setSpeciesReferenceLineEndingBoundingBoxHeight(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, const double height) { + return setDimensionHeight(getLineEndingBoundingBox(getSpeciesReferenceLocalLineEnding(document, reactionId, reactionGlyphIndex, speciesReferenceIndex)), height); +} + +int setSpeciesReferenceLineEndingBoundingBoxHeight(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, const double height) { + return setDimensionHeight(getLineEndingBoundingBox(getSpeciesReferenceLocalLineEnding(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceIndex)), height); +} + +int setReactionLineEndingBoundingBoxHeight(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, const double height) { + int isSetSuccessfully = -1; + for (unsigned int i = 0; i < getNumSpeciesReferenceGlyphs(document, reactionId, reactionGlyphIndex); i++) + if (!setSpeciesReferenceLineEndingBoundingBoxHeight(document, reactionId, reactionGlyphIndex, i, height)) + isSetSuccessfully = 0; + + return isSetSuccessfully; +} + +int setReactionLineEndingBoundingBoxHeight(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, const double height) { + int isSetSuccessfully = -1; + for (unsigned int i = 0; i < getNumSpeciesReferenceGlyphs(document, reactionId, reactionGlyphIndex); i++) + if (!setSpeciesReferenceLineEndingBoundingBoxHeight(document, layoutIndex, reactionId, reactionGlyphIndex, i, height)) + isSetSuccessfully = 0; + + return isSetSuccessfully; +} + RenderGroup* getLineEndingRenderGroup(SBMLDocument* document, const std::string& sid) { return getRenderGroup(getLineEnding(document, sid)); } @@ -953,276 +1135,402 @@ RenderGroup* getLineEndingRenderGroup(SBMLDocument* document, unsigned int rende } bool isSetLineEndingStrokeColor(SBMLDocument* document, const std::string& id) { - if (getNumGeometricShapes(getLineEndingRenderGroup(document, id)) == 1 && isSetStrokeColor(getGeometricShape(getLineEndingRenderGroup(document, id)))) - return isSetStrokeColor(getGeometricShape(getLineEndingRenderGroup(document, id))); - return isSetStrokeColor(getLineEndingRenderGroup(document, id)); } bool isSetLineEndingStrokeColor(SBMLDocument* document, unsigned int renderIndex, const std::string& id) { - if (getNumGeometricShapes(getLineEndingRenderGroup(document, renderIndex, id)) == 1 && isSetStrokeColor(getGeometricShape(getLineEndingRenderGroup(document, renderIndex, id)))) - return isSetStrokeColor(getGeometricShape(getLineEndingRenderGroup(document, renderIndex, id))); - return isSetStrokeColor(getLineEndingRenderGroup(document, renderIndex, id)); } -const std::string getLineEndingStrokeColor(SBMLDocument* document, const std::string& id) { - if (getNumGeometricShapes(getLineEndingRenderGroup(document, id)) == 1 && !getStrokeColor(getGeometricShape(getLineEndingRenderGroup(document, id))).empty()) - return getStrokeColor(getGeometricShape(getLineEndingRenderGroup(document, id))); +bool isSetSpeciesReferenceLineEndingStrokeColor(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex) { + return isSetSpeciesReferenceLineEndingStrokeColor(document, 0, reactionId, reactionGlyphIndex, speciesReferenceIndex); +} + +bool isSetSpeciesReferenceLineEndingStrokeColor(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex) { + return isSetStrokeColor(getRenderGroup(getSpeciesReferenceLineEnding(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceIndex))); +} +const std::string getLineEndingStrokeColor(SBMLDocument* document, const std::string& id) { return getStrokeColor(getLineEndingRenderGroup(document, id)); } const std::string getLineEndingStrokeColor(SBMLDocument* document, unsigned int renderIndex, const std::string& id) { - if (getNumGeometricShapes(getLineEndingRenderGroup(document, renderIndex, id)) == 1 && !getStrokeColor(getGeometricShape(getLineEndingRenderGroup(document, renderIndex, id))).empty()) - return getStrokeColor(getGeometricShape(getLineEndingRenderGroup(document, renderIndex, id))); - return getStrokeColor(getLineEndingRenderGroup(document, renderIndex, id)); } -int setLineEndingStrokeColor(SBMLDocument* document, const std::string& id, const std::string& strokeColor) { - addColor(document, getLineEnding(document, id), strokeColor); - if (getNumGeometricShapes(getLineEndingRenderGroup(document, id)) == 1) - return setStrokeColor(getGeometricShape(getLineEndingRenderGroup(document, id)), strokeColor); - return setStrokeColor(getLineEndingRenderGroup(document, id), strokeColor); +const std::string getSpeciesReferenceLineEndingStrokeColor(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex) { + return getSpeciesReferenceLineEndingStrokeColor(document, 0, reactionId, reactionGlyphIndex, speciesReferenceIndex); +} + +const std::string getSpeciesReferenceLineEndingStrokeColor(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex) { + return getStrokeColor(getRenderGroup(getSpeciesReferenceLineEnding(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceIndex))); +} + +int setLineEndingStrokeColor(SBMLDocument* document, const std::string& id, const std::string& strokeColor) { + return setStrokeColor(getLineEndingRenderGroup(document, id), addColor(document, getLineEnding(document, id), strokeColor)); } int setLineEndingStrokeColor(SBMLDocument* document, unsigned int renderIndex, const std::string& id, const std::string& strokeColor) { - addColor(document, getLineEnding(document, renderIndex, id), strokeColor); - if (getNumGeometricShapes(getLineEndingRenderGroup(document, renderIndex, id)) == 1) - return setStrokeColor(getGeometricShape(getLineEndingRenderGroup(document, renderIndex, id)), strokeColor); + return setStrokeColor(getLineEndingRenderGroup(document, renderIndex, id), addColor(document, getLineEnding(document, renderIndex, id), strokeColor)); +} - return setStrokeColor(getLineEndingRenderGroup(document, renderIndex, id), strokeColor); +int setSpeciesReferenceLineEndingStrokeColor(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, const std::string& strokeColor) { + return setStrokeColor(getRenderGroup(getSpeciesReferenceLocalLineEnding(document, reactionId, reactionGlyphIndex, speciesReferenceIndex)), addColor(document, getSpeciesReferenceLineEnding(document, reactionId, reactionGlyphIndex, speciesReferenceIndex), strokeColor)); } -bool isSetLineEndingStrokeWidth(SBMLDocument* document, const std::string& id) { - if (getNumGeometricShapes(getLineEndingRenderGroup(document, id)) == 1 && isSetStrokeWidth(getGeometricShape(getLineEndingRenderGroup(document, id)))) - return isSetStrokeWidth(getGeometricShape(getLineEndingRenderGroup(document, id))); +int setSpeciesReferenceLineEndingStrokeColor(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, const std::string& strokeColor) { + return setStrokeColor(getRenderGroup(getSpeciesReferenceLocalLineEnding(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceIndex)), addColor(document, getSpeciesReferenceLineEnding(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceIndex), strokeColor)); +} +int setReactionLineEndingStrokeColor(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, const std::string& strokeColor) { + int isSetSuccessfully = -1; + for (unsigned int i = 0; i < getNumSpeciesReferenceGlyphs(document, reactionId, reactionGlyphIndex); i++) + if (!setSpeciesReferenceLineEndingStrokeColor(document, reactionId, reactionGlyphIndex, i, strokeColor)) + isSetSuccessfully = 0; + + return isSetSuccessfully; +} + +int setReactionLineEndingStrokeColor(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, const std::string& strokeColor) { + int isSetSuccessfully = -1; + for (unsigned int i = 0; i < getNumSpeciesReferenceGlyphs(document, reactionId, reactionGlyphIndex); i++) + if (!setSpeciesReferenceLineEndingStrokeColor(document, layoutIndex, reactionId, reactionGlyphIndex, i, strokeColor)) + isSetSuccessfully = 0; + + return isSetSuccessfully; +} + +bool isSetLineEndingStrokeWidth(SBMLDocument* document, const std::string& id) { return isSetStrokeWidth(getLineEndingRenderGroup(document, id)); } bool isSetLineEndingStrokeWidth(SBMLDocument* document, unsigned int renderIndex, const std::string& id) { - if (getNumGeometricShapes(getLineEndingRenderGroup(document, renderIndex, id)) == 1 && isSetStrokeWidth(getGeometricShape(getLineEndingRenderGroup(document, renderIndex, id)))) - return isSetStrokeWidth(getGeometricShape(getLineEndingRenderGroup(document, renderIndex, id))); - return isSetStrokeWidth(getLineEndingRenderGroup(document, renderIndex, id)); } -const double getLineEndingStrokeWidth(SBMLDocument* document, const std::string& id) { - if (getNumGeometricShapes(getLineEndingRenderGroup(document, id)) == 1 && getStrokeWidth(getGeometricShape(getLineEndingRenderGroup(document, id))) > 0.01) - return getStrokeWidth(getGeometricShape(getLineEndingRenderGroup(document, id))); +bool isSetSpeciesReferenceLineEndingStrokeWidth(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex) { + return isSetSpeciesReferenceLineEndingStrokeWidth(document, 0, reactionId, reactionGlyphIndex, speciesReferenceIndex); +} + +bool isSetSpeciesReferenceLineEndingStrokeWidth(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex) { + return isSetStrokeWidth(getRenderGroup(getSpeciesReferenceLineEnding(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceIndex))); +} +const double getLineEndingStrokeWidth(SBMLDocument* document, const std::string& id) { return getStrokeWidth(getLineEndingRenderGroup(document, id)); } const double getLineEndingStrokeWidth(SBMLDocument* document, unsigned int renderIndex, const std::string& id) { - if (getNumGeometricShapes(getLineEndingRenderGroup(document, renderIndex, id)) == 1 && getStrokeWidth(getGeometricShape(getLineEndingRenderGroup(document, renderIndex, id))) > 0.01) - return getStrokeWidth(getGeometricShape(getLineEndingRenderGroup(document, renderIndex, id))); - return getStrokeWidth(getLineEndingRenderGroup(document, renderIndex, id)); } -int setLineEndingStrokeWidth(SBMLDocument* document, const std::string& id, double strokeWidth) { - if (getNumGeometricShapes(getLineEndingRenderGroup(document, id)) == 1) - return setStrokeWidth(getGeometricShape(getLineEndingRenderGroup(document, id)), strokeWidth); +const double getSpeciesReferenceLineEndingStrokeWidth(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex) { + return getSpeciesReferenceLineEndingStrokeWidth(document, 0, reactionId, reactionGlyphIndex, speciesReferenceIndex); +} +const double getSpeciesReferenceLineEndingStrokeWidth(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex) { + return getStrokeWidth(getRenderGroup(getSpeciesReferenceLineEnding(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceIndex))); +} + +int setLineEndingStrokeWidth(SBMLDocument* document, const std::string& id, double strokeWidth) { return setStrokeWidth(getLineEndingRenderGroup(document, id), strokeWidth); } int setLineEndingStrokeWidth(SBMLDocument* document, unsigned int renderIndex, const std::string& id, double strokeWidth) { - if (getNumGeometricShapes(getLineEndingRenderGroup(document, renderIndex, id)) == 1) - return setStrokeWidth(getGeometricShape(getLineEndingRenderGroup(document, renderIndex, id)), strokeWidth); - return setStrokeWidth(getLineEndingRenderGroup(document, renderIndex, id), strokeWidth); } -bool isSetLineEndingStrokeDashArray(SBMLDocument* document, const std::string& id) { - if (getNumGeometricShapes(getLineEndingRenderGroup(document, id)) == 1 && isSetStrokeDashArray(getGeometricShape(getLineEndingRenderGroup(document, id)))) - return isSetStrokeDashArray(getGeometricShape(getLineEndingRenderGroup(document, id))); +int setSpeciesReferenceLineEndingStrokeWidth(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, const double strokeWidth) { + return setStrokeWidth(getRenderGroup(getSpeciesReferenceLocalLineEnding(document, reactionId, reactionGlyphIndex, speciesReferenceIndex)), strokeWidth); +} + +int setSpeciesReferenceLineEndingStrokeWidth(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, const double strokeWidth) { + return setStrokeWidth(getRenderGroup(getSpeciesReferenceLocalLineEnding(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceIndex)), strokeWidth); +} +int setReactionLineEndingStrokeWidth(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, const double strokeWidth) { + int isSetSuccessfully = -1; + for (unsigned int i = 0; i < getNumSpeciesReferenceGlyphs(document, reactionId, reactionGlyphIndex); i++) + if (!setSpeciesReferenceLineEndingStrokeWidth(document, reactionId, reactionGlyphIndex, i, strokeWidth)) + isSetSuccessfully = 0; + + return isSetSuccessfully; +} + +int setReactionLineEndingStrokeWidth(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, const double strokeWidth) { + int isSetSuccessfully = -1; + for (unsigned int i = 0; i < getNumSpeciesReferenceGlyphs(document, reactionId, reactionGlyphIndex); i++) + if (!setSpeciesReferenceLineEndingStrokeWidth(document, layoutIndex, reactionId, reactionGlyphIndex, i, strokeWidth)) + isSetSuccessfully = 0; + + return isSetSuccessfully; +} + +bool isSetLineEndingStrokeDashArray(SBMLDocument* document, const std::string& id) { return isSetStrokeDashArray(getLineEndingRenderGroup(document, id)); } bool isSetLineEndingStrokeDashArray(SBMLDocument* document, unsigned int renderIndex, const std::string& id) { - if (getNumGeometricShapes(getLineEndingRenderGroup(document, renderIndex, id)) == 1 && isSetStrokeDashArray(getGeometricShape(getLineEndingRenderGroup(document, renderIndex, id)))) - return isSetStrokeDashArray(getGeometricShape(getLineEndingRenderGroup(document, renderIndex, id))); - return isSetStrokeDashArray(getLineEndingRenderGroup(document, renderIndex, id)); } const std::vector getLineEndingStrokeDashArray(SBMLDocument* document, const std::string& id) { - if (getNumGeometricShapes(getLineEndingRenderGroup(document, id)) == 1 && !getStrokeDashArray(getGeometricShape(getLineEndingRenderGroup(document, id))).empty()) - return getStrokeDashArray(getGeometricShape(getLineEndingRenderGroup(document, id))); - return getStrokeDashArray(getLineEndingRenderGroup(document, id)); } const std::vector getLineEndingStrokeDashArray(SBMLDocument* document, unsigned int renderIndex, const std::string& id) { - if (getNumGeometricShapes(getLineEndingRenderGroup(document, renderIndex, id)) == 1 && !getStrokeDashArray(getGeometricShape(getLineEndingRenderGroup(document, renderIndex, id))).empty()) - return getStrokeDashArray(getGeometricShape(getLineEndingRenderGroup(document, renderIndex, id))); - return getStrokeDashArray(getLineEndingRenderGroup(document, renderIndex, id)); } int setLineEndingStrokeDashArray(SBMLDocument* document, const std::string& id, const std::vector& strokeDashArray) { - if (getNumGeometricShapes(getLineEndingRenderGroup(document, id)) == 1) - return setStrokeDashArray(getGeometricShape(getLineEndingRenderGroup(document, id)), strokeDashArray); - return setStrokeDashArray(getLineEndingRenderGroup(document, id), strokeDashArray); } int setLineEndingStrokeDashArray(SBMLDocument* document, unsigned int renderIndex, const std::string& id, const std::vector& strokeDashArray) { - if (getNumGeometricShapes(getLineEndingRenderGroup(document, renderIndex, id)) == 1) - return setStrokeDashArray(getGeometricShape(getLineEndingRenderGroup(document, renderIndex, id)), strokeDashArray); - return setStrokeDashArray(getLineEndingRenderGroup(document, renderIndex, id), strokeDashArray); } unsigned int getNumLineEndingStrokeDashes(SBMLDocument* document, const std::string& id) { - if (getNumGeometricShapes(getLineEndingRenderGroup(document, id)) == 1) - return getNumStrokeDashes(getGeometricShape(getLineEndingRenderGroup(document, id))); - return getNumStrokeDashes(getLineEndingRenderGroup(document, id)); } unsigned int getNumLineEndingStrokeDashes(SBMLDocument* document, unsigned int renderIndex, const std::string& id) { - if (getNumGeometricShapes(getLineEndingRenderGroup(document, renderIndex, id)) == 1) - return getNumStrokeDashes(getGeometricShape(getLineEndingRenderGroup(document, renderIndex, id))); - return getNumStrokeDashes(getLineEndingRenderGroup(document, renderIndex, id)); } -unsigned int getLineEndingStrokeDash(SBMLDocument* document, const std::string& id, unsigned int dashIndex) { - if (getNumGeometricShapes(getLineEndingRenderGroup(document, id)) == 1) - return getStrokeDash(getGeometricShape(getLineEndingRenderGroup(document, id)), dashIndex); +unsigned int getNumSpeciesReferenceLineEndingStrokeDashes(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex) { + return getNumSpeciesReferenceLineEndingStrokeDashes(document, 0, reactionId, reactionGlyphIndex, speciesReferenceIndex); +} +unsigned int getNumSpeciesReferenceLineEndingStrokeDashes(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex) { + return getNumStrokeDashes(getRenderGroup(getSpeciesReferenceLineEnding(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceIndex))); +} + +unsigned int getLineEndingStrokeDash(SBMLDocument* document, const std::string& id, unsigned int dashIndex) { return getStrokeDash(getLineEndingRenderGroup(document, id), dashIndex); } unsigned int getLineEndingStrokeDash(SBMLDocument* document, unsigned int renderIndex, const std::string& id, unsigned int dashIndex) { - if (getNumGeometricShapes(getLineEndingRenderGroup(document, renderIndex, id)) == 1) - return getStrokeDash(getGeometricShape(getLineEndingRenderGroup(document, renderIndex, id)), dashIndex); - return getStrokeDash(getLineEndingRenderGroup(document, renderIndex, id), dashIndex); } -int setLineEndingStrokeDash(SBMLDocument* document, const std::string& id, unsigned int dash) { - if (getNumGeometricShapes(getLineEndingRenderGroup(document, id)) == 1) - return setStrokeDash(getGeometricShape(getLineEndingRenderGroup(document, id)), dash); +unsigned int getSpeciesReferenceLineEndingStrokeDash(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int dashIndex) { + return getSpeciesReferenceLineEndingStrokeDash(document, 0, reactionId, reactionGlyphIndex, speciesReferenceIndex, dashIndex); +} + +unsigned int getSpeciesReferenceLineEndingStrokeDash(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int dashIndex) { + return getStrokeDash(getRenderGroup(getSpeciesReferenceLineEnding(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceIndex)), dashIndex); +} +int setLineEndingStrokeDash(SBMLDocument* document, const std::string& id, unsigned int dash) { return setStrokeDash(getLineEndingRenderGroup(document, id), dash); } int setLineEndingStrokeDash(SBMLDocument* document, unsigned int renderIndex, const std::string& id, unsigned int dash) { - if (getNumGeometricShapes(getLineEndingRenderGroup(document, renderIndex, id)) == 1) - return setStrokeDash(getGeometricShape(getLineEndingRenderGroup(document, renderIndex, id)), dash); - return setStrokeDash(getLineEndingRenderGroup(document, renderIndex, id), dash); } - int setLineEndingStrokeDash(SBMLDocument* document, const std::string& id, unsigned int dashIndex, unsigned int dash) { - if (getNumGeometricShapes(getLineEndingRenderGroup(document, id)) == 1) - return setStrokeDash(getGeometricShape(getLineEndingRenderGroup(document, id)), dashIndex, dash); - return setStrokeDash(getLineEndingRenderGroup(document, id), dashIndex, dash); } int setLineEndingStrokeDash(SBMLDocument* document, unsigned int renderIndex, const std::string& id, unsigned int dashIndex, unsigned int dash) { - if (getNumGeometricShapes(getLineEndingRenderGroup(document, renderIndex, id)) == 1) - return setStrokeDash(getGeometricShape(getLineEndingRenderGroup(document, renderIndex, id)), dashIndex, dash); - return setStrokeDash(getLineEndingRenderGroup(document, renderIndex, id), dashIndex, dash); } -bool isSetLineEndingFillColor(SBMLDocument* document, const std::string& id) { - if (getNumGeometricShapes(getLineEndingRenderGroup(document, id)) == 1 && isSetFillColor(getGeometricShape(getLineEndingRenderGroup(document, id)))) - return isSetFillColor(getGeometricShape(getLineEndingRenderGroup(document, id))); +int setSpeciesReferenceLineEndingStrokeDash(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int dashIndex, unsigned int dash) { + return setStrokeDash(getRenderGroup(getSpeciesReferenceLocalLineEnding(document, reactionId, reactionGlyphIndex, speciesReferenceIndex)), dashIndex, dash); +} + +int setSpeciesReferenceLineEndingStrokeDash(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int dashIndex, unsigned int dash) { + return setStrokeDash(getRenderGroup(getSpeciesReferenceLocalLineEnding(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceIndex)), dashIndex, dash); +} + +int setReactionLineEndingStrokeDash(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int dashIndex, unsigned int dash) { + int isSetSuccessfully = -1; + for (unsigned int i = 0; i < getNumSpeciesReferenceGlyphs(document, reactionId, reactionGlyphIndex); i++) + if (!setSpeciesReferenceLineEndingStrokeDash(document, reactionId, reactionGlyphIndex, i, dashIndex, dash)) + isSetSuccessfully = 0; + + return isSetSuccessfully; +} +int setReactionLineEndingStrokeDash(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int dashIndex, unsigned int dash) { + int isSetSuccessfully = -1; + for (unsigned int i = 0; i < getNumSpeciesReferenceGlyphs(document, reactionId, reactionGlyphIndex); i++) + if (!setSpeciesReferenceLineEndingStrokeDash(document, layoutIndex, reactionId, reactionGlyphIndex, i, dashIndex, dash)) + isSetSuccessfully = 0; + + return isSetSuccessfully; +} + +bool isSetLineEndingFillColor(SBMLDocument* document, const std::string& id) { return isSetFillColor(getLineEndingRenderGroup(document, id)); } bool isSetLineEndingFillColor(SBMLDocument* document, unsigned int renderIndex, const std::string& id) { - if (getNumGeometricShapes(getLineEndingRenderGroup(document, renderIndex, id)) == 1 && isSetFillColor(getGeometricShape(getLineEndingRenderGroup(document, renderIndex, id)))) - return isSetFillColor(getGeometricShape(getLineEndingRenderGroup(document, renderIndex, id))); - return isSetFillColor(getLineEndingRenderGroup(document, renderIndex, id)); } -const std::string getLineEndingFillColor(SBMLDocument* document, const std::string& id) { - if (getNumGeometricShapes(getLineEndingRenderGroup(document, id)) == 1 && !getFillColor(getGeometricShape(getLineEndingRenderGroup(document, id))).empty()) - return getFillColor(getGeometricShape(getLineEndingRenderGroup(document, id))); +bool isSetSpeciesReferenceLineEndingFillColor(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex) { + return isSetSpeciesReferenceLineEndingFillColor(document, 0, reactionId, reactionGlyphIndex, speciesReferenceIndex); +} + +bool isSetSpeciesReferenceLineEndingFillColor(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex) { + return isSetFillColor(getRenderGroup(getSpeciesReferenceLineEnding(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceIndex))); +} +const std::string getLineEndingFillColor(SBMLDocument* document, const std::string& id) { return getFillColor(getLineEndingRenderGroup(document, id)); } const std::string getLineEndingFillColor(SBMLDocument* document, unsigned int renderIndex, const std::string& id) { - if (getNumGeometricShapes(getLineEndingRenderGroup(document, renderIndex, id)) == 1 && !getFillColor(getGeometricShape(getLineEndingRenderGroup(document, renderIndex, id))).empty()) - return getFillColor(getGeometricShape(getLineEndingRenderGroup(document, renderIndex, id))); - return getFillColor(getLineEndingRenderGroup(document, renderIndex, id)); } +const std::string getSpeciesReferenceLineEndingFillColor(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex) { + return getSpeciesReferenceLineEndingFillColor(document, 0, reactionId, reactionGlyphIndex, speciesReferenceIndex); +} + +const std::string getSpeciesReferenceLineEndingFillColor(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex) { + return getFillColor(getRenderGroup(getSpeciesReferenceLineEnding(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceIndex))); +} + int setLineEndingFillColor(SBMLDocument* document, const std::string& id, const std::string& fillColor) { - addColor(document, getLineEnding(document, id), fillColor); - if (getNumGeometricShapes(getLineEndingRenderGroup(document, id)) == 1) - return setFillColor(getGeometricShape(getLineEndingRenderGroup(document, id)), fillColor); + return setFillColor(getLineEndingRenderGroup(document, id), addColor(document, getLineEnding(document, id), fillColor)); +} - return setFillColor(getLineEndingRenderGroup(document, id), fillColor); +int setFillColorAsGradientAsGradient(SBMLDocument* document, const std::string& id, const std::string& gradientType, std::vector> stopsVector) { + return setFillColorAsGradient(getLineEndingRenderGroup(document, id), addGradient(document, getLineEnding(document, id), gradientType, stopsVector)); } int setLineEndingFillColor(SBMLDocument* document, unsigned int renderIndex, const std::string& id, const std::string& fillColor) { - addColor(document, getLineEnding(document, renderIndex, id), fillColor); - if (getNumGeometricShapes(getLineEndingRenderGroup(document, renderIndex, id)) == 1) - return setFillColor(getGeometricShape(getLineEndingRenderGroup(document, renderIndex, id)), fillColor); + return setFillColor(getLineEndingRenderGroup(document, renderIndex, id), addColor(document, getLineEnding(document, renderIndex, id), fillColor)); +} - return setFillColor(getLineEndingRenderGroup(document, renderIndex, id), fillColor); +int setLineEndingFillColorAsGradient(SBMLDocument* document, unsigned int renderIndex, const std::string& id, const std::string& gradientType, std::vector> stopsVector) { + return setFillColorAsGradient(getLineEndingRenderGroup(document, renderIndex, id), addGradient(document, getLineEnding(document, renderIndex, id), gradientType, stopsVector)); } -bool isSetLineEndingFillRule(SBMLDocument* document, const std::string& id) { - if (getNumGeometricShapes(getLineEndingRenderGroup(document, id)) == 1 && isSetFillRule(getGeometricShape(getLineEndingRenderGroup(document, id)))) - return isSetFillRule(getGeometricShape(getLineEndingRenderGroup(document, id))); +int setSpeciesReferenceLineEndingFillColor(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, const std::string& fillColor) { + return setFillColor(getRenderGroup(getSpeciesReferenceLocalLineEnding(document, reactionId, reactionGlyphIndex, speciesReferenceIndex)), addColor(document, getSpeciesReferenceLineEnding(document, reactionId, reactionGlyphIndex, speciesReferenceIndex), fillColor)); +} + +int setSpeciesReferenceLineEndingFillColorAsGradient(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, const std::string& gradientType, std::vector> stopsVector) { + return setFillColorAsGradient(getRenderGroup(getSpeciesReferenceLocalLineEnding(document, reactionId, reactionGlyphIndex, speciesReferenceIndex)), addGradient(document, getSpeciesReferenceLineEnding(document, reactionId, reactionGlyphIndex, speciesReferenceIndex), gradientType, stopsVector)); +} + +int setSpeciesReferenceLineEndingFillColor(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, const std::string& fillColor) { + return setFillColor(getRenderGroup(getSpeciesReferenceLocalLineEnding(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceIndex)), addColor(document, getSpeciesReferenceLineEnding(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceIndex), fillColor)); +} + +int setSpeciesReferenceLineEndingFillColorAsGradient(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, const std::string& gradientType, std::vector> stopsVector) { + return setFillColorAsGradient(getRenderGroup(getSpeciesReferenceLocalLineEnding(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceIndex)), addGradient(document, getSpeciesReferenceLineEnding(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceIndex), gradientType, stopsVector)); +} + +int setReactionLineEndingFillColor(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, const std::string& fillColor) { + int isSetSuccessfully = -1; + for (unsigned int i = 0; i < getNumSpeciesReferenceGlyphs(document, reactionId, reactionGlyphIndex); i++) + if (!setSpeciesReferenceLineEndingFillColor(document, reactionId, reactionGlyphIndex, i, fillColor)) + isSetSuccessfully = 0; + + return isSetSuccessfully; +} + +int setReactionLineEndingFillColor(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, const std::string& fillColor) { + int isSetSuccessfully = -1; + for (unsigned int i = 0; i < getNumSpeciesReferenceGlyphs(document, reactionId, reactionGlyphIndex); i++) + if (!setSpeciesReferenceLineEndingFillColor(document, layoutIndex, reactionId, reactionGlyphIndex, i, fillColor)) + isSetSuccessfully = 0; + + return isSetSuccessfully; +} + +int setReactionLineEndingFillColorAsGradient(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, const std::string& gradientType, std::vector> stopsVector) { + int isSetSuccessfully = -1; + for (unsigned int i = 0; i < getNumSpeciesReferenceGlyphs(document, reactionId, reactionGlyphIndex); i++) + if (!setSpeciesReferenceLineEndingFillColorAsGradient(document, reactionId, reactionGlyphIndex, i, gradientType, stopsVector)) + isSetSuccessfully = 0; + + return isSetSuccessfully; +} + +int setReactionLineEndingFillColorAsGradient(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, const std::string& gradientType, std::vector> stopsVector) { + int isSetSuccessfully = -1; + for (unsigned int i = 0; i < getNumSpeciesReferenceGlyphs(document, reactionId, reactionGlyphIndex); i++) + if (!setSpeciesReferenceLineEndingFillColorAsGradient(document, layoutIndex, reactionId, reactionGlyphIndex, i, gradientType, stopsVector)) + isSetSuccessfully = 0; + + return isSetSuccessfully; +} +bool isSetLineEndingFillRule(SBMLDocument* document, const std::string& id) { return isSetFillRule(getLineEndingRenderGroup(document, id)); } bool isSetLineEndingFillRule(SBMLDocument* document, unsigned int renderIndex, const std::string& id) { - if (getNumGeometricShapes(getLineEndingRenderGroup(document, renderIndex, id)) == 1 && isSetFillRule(getGeometricShape(getLineEndingRenderGroup(document, renderIndex, id)))) - return isSetFillRule(getGeometricShape(getLineEndingRenderGroup(document, renderIndex, id))); - return isSetFillRule(getLineEndingRenderGroup(document, renderIndex, id)); } -const std::string getLineEndingFillRule(SBMLDocument* document, const std::string& id) { - if (getNumGeometricShapes(getLineEndingRenderGroup(document, id)) == 1 && !getFillRule(getGeometricShape(getLineEndingRenderGroup(document, id))).empty()) - return getFillRule(getGeometricShape(getLineEndingRenderGroup(document, id))); +bool isSetSpeciesReferenceLineEndingFillRule(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex) { + return isSetSpeciesReferenceLineEndingFillRule(document, 0, reactionId, reactionGlyphIndex, speciesReferenceIndex); +} + +bool isSetSpeciesReferenceLineEndingFillRule(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex) { + return isSetFillRule(getRenderGroup(getSpeciesReferenceLineEnding(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceIndex))); +} +const std::string getLineEndingFillRule(SBMLDocument* document, const std::string& id) { return getFillRule(getLineEndingRenderGroup(document, id)); } const std::string getLineEndingFillRule(SBMLDocument* document, unsigned int renderIndex, const std::string& id) { - if (getNumGeometricShapes(getLineEndingRenderGroup(document, renderIndex, id)) == 1 && !getFillRule(getGeometricShape(getLineEndingRenderGroup(document, renderIndex, id))).empty()) - return getFillRule(getGeometricShape(getLineEndingRenderGroup(document, renderIndex, id))); - return getFillRule(getLineEndingRenderGroup(document, renderIndex, id)); } -int setLineEndingFillRule(SBMLDocument* document, const std::string& id, const std::string& fillRule) { - if (getNumGeometricShapes(getLineEndingRenderGroup(document, id)) == 1) - return setFillRule(getGeometricShape(getLineEndingRenderGroup(document, id)), fillRule); +const std::string getSpeciesReferenceLineEndingFillRule(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex) { + return getSpeciesReferenceLineEndingFillRule(document, 0, reactionId, reactionGlyphIndex, speciesReferenceIndex); +} + +const std::string getSpeciesReferenceLineEndingFillRule(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex) { + return getFillRule(getRenderGroup(getSpeciesReferenceLineEnding(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceIndex))); +} +int setLineEndingFillRule(SBMLDocument* document, const std::string& id, const std::string& fillRule) { return setFillRule(getLineEndingRenderGroup(document, id), fillRule); } int setLineEndingFillRule(SBMLDocument* document, unsigned int renderIndex, const std::string& id, const std::string& fillRule) { - if (getNumGeometricShapes(getLineEndingRenderGroup(document, renderIndex, id)) == 1) - return setFillRule(getGeometricShape(getLineEndingRenderGroup(document, renderIndex, id)), fillRule); - return setFillRule(getLineEndingRenderGroup(document, renderIndex, id), fillRule); } +int setSpeciesReferenceLineEndingFillRule(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, const std::string& fillRule) { + return setFillRule(getRenderGroup(getSpeciesReferenceLocalLineEnding(document, reactionId, reactionGlyphIndex, speciesReferenceIndex)), fillRule); +} + +int setSpeciesReferenceLineEndingFillRule(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, const std::string& fillRule) { + return setFillRule(getRenderGroup(getSpeciesReferenceLocalLineEnding(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceIndex)), fillRule); +} + +int setReactionLineEndingFillRule(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, const std::string& fillRule) { + int isSetSuccessfully = -1; + for (unsigned int i = 0; i < getNumSpeciesReferenceGlyphs(document, reactionId, reactionGlyphIndex); i++) + if (!setSpeciesReferenceLineEndingFillRule(document, reactionId, reactionGlyphIndex, i, fillRule)) + isSetSuccessfully = 0; + + return isSetSuccessfully; +} + +int setReactionLineEndingFillRule(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, const std::string& fillRule) { + int isSetSuccessfully = -1; + for (unsigned int i = 0; i < getNumSpeciesReferenceGlyphs(document, reactionId, reactionGlyphIndex); i++) + if (!setSpeciesReferenceLineEndingFillRule(document, layoutIndex, reactionId, reactionGlyphIndex, i, fillRule)) + isSetSuccessfully = 0; + + return isSetSuccessfully; +} + unsigned int getNumLineEndingGeometricShapes(SBMLDocument* document, const std::string& id) { return getNumGeometricShapes(getLineEndingRenderGroup(document, id)); } @@ -1231,6 +1539,14 @@ unsigned int getNumLineEndingGeometricShapes(SBMLDocument* document, unsigned in return getNumGeometricShapes(getLineEndingRenderGroup(document, renderIndex, id)); } +unsigned int getNumSpeciesReferenceLineEndingGeometricShapes(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex) { + return getNumSpeciesReferenceLineEndingGeometricShapes(document, 0, reactionId, reactionGlyphIndex, speciesReferenceIndex); +} + +unsigned int getNumSpeciesReferenceLineEndingGeometricShapes(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex) { + return getNumGeometricShapes(getRenderGroup(getSpeciesReferenceLineEnding(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceIndex))); +} + bool isLineEndingRectangle(SBMLDocument* document, const std::string& id, unsigned int geometricShapeIndex) { return isRectangle(getGeometricShape(getLineEndingRenderGroup(document, id), geometricShapeIndex)); } @@ -1239,6 +1555,14 @@ bool isLineEndingRectangle(SBMLDocument* document, unsigned int renderIndex, con return isRectangle(getGeometricShape(getLineEndingRenderGroup(document, renderIndex, id), geometricShapeIndex)); } +bool isSpeciesReferenceLineEndingRectangle(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex) { + return isSpeciesReferenceLineEndingRectangle(document, 0, reactionId, reactionGlyphIndex, speciesReferenceIndex, geometricShapeIndex); +} + +bool isSpeciesReferenceLineEndingRectangle(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex) { + return isRectangle(getRenderGroup(getSpeciesReferenceLineEnding(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceIndex)), geometricShapeIndex); +} + bool isLineEndingEllipse(SBMLDocument* document, const std::string& id, unsigned int geometricShapeIndex) { return isEllipse(getGeometricShape(getLineEndingRenderGroup(document, id), geometricShapeIndex)); } @@ -1247,6 +1571,14 @@ bool isLineEndingEllipse(SBMLDocument* document, unsigned int renderIndex, const return isEllipse(getGeometricShape(getLineEndingRenderGroup(document, renderIndex, id), geometricShapeIndex)); } +bool isSpeciesReferenceLineEndingEllipse(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex) { + return isEllipse(getRenderGroup(getSpeciesReferenceLineEnding(document, reactionId, reactionGlyphIndex, speciesReferenceIndex)), geometricShapeIndex); +} + +bool isSpeciesReferenceLineEndingEllipse(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex) { + return isEllipse(getRenderGroup(getSpeciesReferenceLineEnding(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceIndex)), geometricShapeIndex); +} + bool isLineEndingPolygon(SBMLDocument* document, const std::string& id, unsigned int geometricShapeIndex) { return isPolygon(getGeometricShape(getLineEndingRenderGroup(document, id), geometricShapeIndex)); } @@ -1255,6 +1587,14 @@ bool isLineEndingPolygon(SBMLDocument* document, unsigned int renderIndex, const return isPolygon(getGeometricShape(getLineEndingRenderGroup(document, renderIndex, id), geometricShapeIndex)); } +bool isSpeciesReferenceLineEndingPolygon(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex) { + return isPolygon(getRenderGroup(getSpeciesReferenceLineEnding(document, reactionId, reactionGlyphIndex, speciesReferenceIndex)), geometricShapeIndex); +} + +bool isSpeciesReferenceLineEndingPolygon(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex) { + return isPolygon(getRenderGroup(getSpeciesReferenceLineEnding(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceIndex)), geometricShapeIndex); +} + bool isLineEndingImage(SBMLDocument* document, const std::string& id, unsigned int geometricShapeIndex) { return isImage(getGeometricShape(getLineEndingRenderGroup(document, id), geometricShapeIndex)); } @@ -1263,6 +1603,14 @@ bool isLineEndingImage(SBMLDocument* document, unsigned int renderIndex, const s return isImage(getGeometricShape(getLineEndingRenderGroup(document, renderIndex, id), geometricShapeIndex)); } +bool isSpeciesReferenceLineEndingImage(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex) { + return isImage(getRenderGroup(getSpeciesReferenceLineEnding(document, reactionId, reactionGlyphIndex, speciesReferenceIndex)), geometricShapeIndex); +} + +bool isSpeciesReferenceLineEndingImage(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex) { + return isImage(getRenderGroup(getSpeciesReferenceLineEnding(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceIndex)), geometricShapeIndex); +} + bool isLineEndingRenderCurve(SBMLDocument* document, const std::string& id, unsigned int geometricShapeIndex) { return isRenderCurve(getGeometricShape(getLineEndingRenderGroup(document, id), geometricShapeIndex)); } @@ -1271,6 +1619,14 @@ bool isLineEndingRenderCurve(SBMLDocument* document, unsigned int renderIndex, c return isRenderCurve(getGeometricShape(getLineEndingRenderGroup(document, renderIndex, id), geometricShapeIndex)); } +bool isSpeciesReferenceLineEndingRenderCurve(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex) { + return isRenderCurve(getRenderGroup(getSpeciesReferenceLineEnding(document, reactionId, reactionGlyphIndex, speciesReferenceIndex)), geometricShapeIndex); +} + +bool isSpeciesReferenceLineEndingRenderCurve(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex) { + return isRenderCurve(getRenderGroup(getSpeciesReferenceLineEnding(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceIndex)), geometricShapeIndex); +} + bool isLineEndingText(SBMLDocument* document, const std::string& id, unsigned int geometricShapeIndex) { return isText(getGeometricShape(getLineEndingRenderGroup(document, id), geometricShapeIndex)); } @@ -1279,6 +1635,14 @@ bool isLineEndingText(SBMLDocument* document, unsigned int renderIndex, const st return isText(getGeometricShape(getLineEndingRenderGroup(document, renderIndex, id), geometricShapeIndex)); } +bool isSpeciesReferenceLineEndingText(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex) { + return isText(getRenderGroup(getSpeciesReferenceLineEnding(document, reactionId, reactionGlyphIndex, speciesReferenceIndex)), geometricShapeIndex); +} + +bool isSpeciesReferenceLineEndingText(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex) { + return isText(getRenderGroup(getSpeciesReferenceLineEnding(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceIndex)), geometricShapeIndex); +} + bool isSetLineEndingGeometricShapeX(SBMLDocument* document, const std::string& id, unsigned int geometricShapeIndex) { return isSetGeometricShapeX(getLineEndingRenderGroup(document, id), geometricShapeIndex); } @@ -1287,6 +1651,14 @@ bool isSetLineEndingGeometricShapeX(SBMLDocument* document, unsigned int renderI return isSetGeometricShapeX(getLineEndingRenderGroup(document, renderIndex, id), geometricShapeIndex); } +bool isSetSpeciesReferenceLineEndingGeometricShapeX(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex) { + return isSetSpeciesReferenceLineEndingGeometricShapeX(document, 0, reactionId, reactionGlyphIndex, speciesReferenceIndex, geometricShapeIndex); +} + +bool isSetSpeciesReferenceLineEndingGeometricShapeX(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex) { + return isSetGeometricShapeX(getRenderGroup(getSpeciesReferenceLineEnding(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceIndex)), geometricShapeIndex); +} + const RelAbsVector getLineEndingGeometricShapeX(SBMLDocument* document, const std::string& id, unsigned int geometricShapeIndex) { return getGeometricShapeX(getLineEndingRenderGroup(document, id), geometricShapeIndex); } @@ -1295,24 +1667,68 @@ const RelAbsVector getLineEndingGeometricShapeX(SBMLDocument* document, unsigned return getGeometricShapeX(getLineEndingRenderGroup(document, renderIndex, id), geometricShapeIndex); } +const RelAbsVector getSpeciesReferenceLineEndingGeometricShapeX(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex) { + return getGeometricShapeX(getRenderGroup(getSpeciesReferenceLineEnding(document, reactionId, reactionGlyphIndex, speciesReferenceIndex)), geometricShapeIndex); +} + +const RelAbsVector getSpeciesReferenceLineEndingGeometricShapeX(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex) { + return getGeometricShapeX(getRenderGroup(getSpeciesReferenceLineEnding(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceIndex)), geometricShapeIndex); +} + const double getLineEndingGeometricShapeXAsDouble(SBMLDocument* document, const std::string& id, unsigned int geometricShapeIndex) { RelAbsVector xVector = getLineEndingGeometricShapeX(document, id, geometricShapeIndex); - return getAbsoluteValue(xVector) + 0.01 * getDimensionWidth(getLineEndingBoundingBox(document, id)) * getRelativeValue(xVector); + return getAbsoluteValue(xVector) + 0.01 * getLineEndingBoundingBoxWidth(document, id) * getRelativeValue(xVector); } const double getLineEndingGeometricShapeXAsDouble(SBMLDocument* document, unsigned int renderIndex, const std::string& id, unsigned int geometricShapeIndex) { RelAbsVector xVector = getLineEndingGeometricShapeX(document, renderIndex, id, geometricShapeIndex); - return getAbsoluteValue(xVector) + 0.01 * getDimensionWidth(getLineEndingBoundingBox(document, renderIndex, id)) * getRelativeValue(xVector); + return getAbsoluteValue(xVector) + 0.01 * getLineEndingBoundingBoxWidth(document, renderIndex, id) * getRelativeValue(xVector); } -int setLineEndingGeometricShapeX(SBMLDocument* document, const std::string& id, unsigned int geometricShapeIndex, const RelAbsVector& x) { - return setGeometricShapeX(getLineEndingRenderGroup(document, id), geometricShapeIndex, x); +const double getSpeciesReferenceLineEndingGeometricShapeXAsDouble(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex) { + RelAbsVector xVector = getSpeciesReferenceLineEndingGeometricShapeX(document, reactionId, reactionGlyphIndex, speciesReferenceIndex, geometricShapeIndex); + return getAbsoluteValue(xVector) + 0.01 * getSpeciesReferenceLineEndingBoundingBoxWidth(document, reactionId, reactionGlyphIndex, speciesReferenceIndex) * getRelativeValue(xVector); } -int setLineEndingGeometricShapeX(SBMLDocument* document, unsigned int renderIndex, const std::string& id, unsigned int geometricShapeIndex, const RelAbsVector& x) { +const double getSpeciesReferenceLineEndingGeometricShapeXAsDouble(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex) { + RelAbsVector xVector = getSpeciesReferenceLineEndingGeometricShapeX(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceIndex, geometricShapeIndex); + return getAbsoluteValue(xVector) + 0.01 * getSpeciesReferenceLineEndingBoundingBoxWidth(document, reactionId, reactionGlyphIndex, speciesReferenceIndex) * getRelativeValue(xVector); +} + +int setLineEndingGeometricShapeX(SBMLDocument* document, const std::string& id, unsigned int geometricShapeIndex, const RelAbsVector& x) { + return setGeometricShapeX(getLineEndingRenderGroup(document, id), geometricShapeIndex, x); +} + +int setLineEndingGeometricShapeX(SBMLDocument* document, unsigned int renderIndex, const std::string& id, unsigned int geometricShapeIndex, const RelAbsVector& x) { return setGeometricShapeX(getLineEndingRenderGroup(document, renderIndex, id), geometricShapeIndex, x); } +int setSpeciesReferenceLineEndingGeometricShapeX(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex, const RelAbsVector& x) { + return setGeometricShapeX(getRenderGroup(getSpeciesReferenceLocalLineEnding(document, reactionId, reactionGlyphIndex, speciesReferenceIndex)), geometricShapeIndex, x); +} + +int setSpeciesReferenceLineEndingGeometricShapeX(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex, const RelAbsVector& x) { + return setGeometricShapeX(getRenderGroup(getSpeciesReferenceLocalLineEnding(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceIndex)), geometricShapeIndex, x); +} + +int setReactionLineEndingGeometricShapeX(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int geometricShapeIndex, const RelAbsVector& x) { + int isSetSuccessfully = -1; + for (unsigned int i = 0; i < getNumSpeciesReferenceGlyphs(document, reactionId, reactionGlyphIndex); i++) + if (!setSpeciesReferenceLineEndingGeometricShapeX(document, reactionId, reactionGlyphIndex, i, geometricShapeIndex, x)) + isSetSuccessfully = 0; + + return isSetSuccessfully; +} + +int setReactionLineEndingGeometricShapeX(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int geometricShapeIndex, const RelAbsVector& x) { + int isSetSuccessfully = -1; + for (unsigned int i = 0; i < getNumSpeciesReferenceGlyphs(document, reactionId, reactionGlyphIndex); i++) + if (!setSpeciesReferenceLineEndingGeometricShapeX(document, layoutIndex, reactionId, reactionGlyphIndex, i, geometricShapeIndex, x)) + isSetSuccessfully = 0; + + return isSetSuccessfully; +} + int setLineEndingGeometricShapeXAsDouble(SBMLDocument* document, const std::string& id, unsigned int geometricShapeIndex, const double& x) { return setGeometricShapeXAsDouble(getLineEndingRenderGroup(document, id), geometricShapeIndex, x); } @@ -1321,6 +1737,32 @@ int setLineEndingGeometricShapeXAsDouble(SBMLDocument* document, unsigned int re return setGeometricShapeXAsDouble(getLineEndingRenderGroup(document, renderIndex, id), geometricShapeIndex, x); } +int setSpeciesReferenceLineEndingGeometricShapeXAsDouble(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex, const double& x) { + return setGeometricShapeXAsDouble(getRenderGroup(getSpeciesReferenceLocalLineEnding(document, reactionId, reactionGlyphIndex, speciesReferenceIndex)), geometricShapeIndex, x); +} + +int setSpeciesReferenceLineEndingGeometricShapeXAsDouble(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex, const double& x) { + return setGeometricShapeXAsDouble(getRenderGroup(getSpeciesReferenceLocalLineEnding(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceIndex)), geometricShapeIndex, x); +} + +int setReactionLineEndingGeometricShapeXAsDouble(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int geometricShapeIndex, const double& x) { + int isSetSuccessfully = -1; + for (unsigned int i = 0; i < getNumSpeciesReferenceGlyphs(document, reactionId, reactionGlyphIndex); i++) + if (!setSpeciesReferenceLineEndingGeometricShapeXAsDouble(document, reactionId, reactionGlyphIndex, i, geometricShapeIndex, x)) + isSetSuccessfully = 0; + + return isSetSuccessfully; +} + +int setReactionLineEndingGeometricShapeXAsDouble(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int geometricShapeIndex, const double& x) { + int isSetSuccessfully = -1; + for (unsigned int i = 0; i < getNumSpeciesReferenceGlyphs(document, reactionId, reactionGlyphIndex); i++) + if (!setSpeciesReferenceLineEndingGeometricShapeXAsDouble(document, layoutIndex, reactionId, reactionGlyphIndex, i, geometricShapeIndex, x)) + isSetSuccessfully = 0; + + return isSetSuccessfully; +} + bool isSetLineEndingGeometricShapeY(SBMLDocument* document, const std::string& id, unsigned int geometricShapeIndex) { return isSetGeometricShapeY(getLineEndingRenderGroup(document, id), geometricShapeIndex); } @@ -1329,6 +1771,14 @@ bool isSetLineEndingGeometricShapeY(SBMLDocument* document, unsigned int renderI return isSetGeometricShapeY(getLineEndingRenderGroup(document, renderIndex, id), geometricShapeIndex); } +bool isSetSpeciesReferenceLineEndingGeometricShapeY(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex) { + return isSetSpeciesReferenceLineEndingGeometricShapeY(document, 0, reactionId, reactionGlyphIndex, speciesReferenceIndex, geometricShapeIndex); +} + +bool isSetSpeciesReferenceLineEndingGeometricShapeY(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex) { + return isSetGeometricShapeY(getRenderGroup(getSpeciesReferenceLineEnding(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceIndex)), geometricShapeIndex); +} + const RelAbsVector getLineEndingGeometricShapeY(SBMLDocument* document, const std::string& id, unsigned int geometricShapeIndex) { return getGeometricShapeY(getLineEndingRenderGroup(document, id), geometricShapeIndex); } @@ -1337,16 +1787,36 @@ const RelAbsVector getLineEndingGeometricShapeY(SBMLDocument* document, unsigned return getGeometricShapeY(getLineEndingRenderGroup(document, renderIndex, id), geometricShapeIndex); } +const RelAbsVector getSpeciesReferenceLineEndingGeometricShapeY(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex) { + return getSpeciesReferenceLineEndingGeometricShapeY(document, 0, reactionId, reactionGlyphIndex, speciesReferenceIndex, geometricShapeIndex); +} + +const RelAbsVector getSpeciesReferenceLineEndingGeometricShapeY(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex) { + return getGeometricShapeY(getRenderGroup(getSpeciesReferenceLineEnding(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceIndex)), geometricShapeIndex); +} + + const double getLineEndingGeometricShapeYAsDouble(SBMLDocument* document, const std::string& id, unsigned int geometricShapeIndex) { RelAbsVector yVector = getLineEndingGeometricShapeY(document, id, geometricShapeIndex); - return getAbsoluteValue(yVector) + 0.01 * getDimensionHeight(getLineEndingBoundingBox(document, id)) * getRelativeValue(yVector); + return getAbsoluteValue(yVector) + 0.01 * getLineEndingBoundingBoxHeight(document, id) * getRelativeValue(yVector); } const double getLineEndingGeometricShapeYAsDouble(SBMLDocument* document, unsigned int renderIndex, const std::string& id, unsigned int geometricShapeIndex) { RelAbsVector yVector = getLineEndingGeometricShapeY(document, renderIndex, id, geometricShapeIndex); - return getAbsoluteValue(yVector) + 0.01 * getDimensionHeight(getLineEndingBoundingBox(document, renderIndex, id)) * getRelativeValue(yVector); + return getAbsoluteValue(yVector) + 0.01 * getLineEndingBoundingBoxHeight(document, renderIndex, id) * getRelativeValue(yVector); } +const double getSpeciesReferenceLineEndingGeometricShapeYAsDouble(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex) { + RelAbsVector yVector = getSpeciesReferenceLineEndingGeometricShapeY(document, reactionId, reactionGlyphIndex, speciesReferenceIndex, geometricShapeIndex); + return getAbsoluteValue(yVector) + 0.01 * getSpeciesReferenceLineEndingBoundingBoxHeight(document, reactionId, reactionGlyphIndex, speciesReferenceIndex) * getRelativeValue(yVector); +} + +const double getSpeciesReferenceLineEndingGeometricShapeYAsDouble(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex) { + RelAbsVector yVector = getSpeciesReferenceLineEndingGeometricShapeY(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceIndex, geometricShapeIndex); + return getAbsoluteValue(yVector) + 0.01 * getSpeciesReferenceLineEndingBoundingBoxHeight(document, reactionId, reactionGlyphIndex, speciesReferenceIndex) * getRelativeValue(yVector); +} + + int setLineEndingGeometricShapeY(SBMLDocument* document, const std::string& id, unsigned int geometricShapeIndex, const RelAbsVector& y) { return setGeometricShapeY(getLineEndingRenderGroup(document, id), geometricShapeIndex, y); } @@ -1355,6 +1825,32 @@ int setLineEndingGeometricShapeY(SBMLDocument* document, unsigned int renderInde return setGeometricShapeY(getLineEndingRenderGroup(document, renderIndex, id), geometricShapeIndex, y); } +int setSpeciesReferenceLineEndingGeometricShapeY(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex, const RelAbsVector& y) { + return setGeometricShapeY(getRenderGroup(getSpeciesReferenceLocalLineEnding(document, reactionId, reactionGlyphIndex, speciesReferenceIndex)), geometricShapeIndex, y); +} + +int setSpeciesReferenceLineEndingGeometricShapeY(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex, const RelAbsVector& y) { + return setGeometricShapeY(getRenderGroup(getSpeciesReferenceLocalLineEnding(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceIndex)), geometricShapeIndex, y); +} + +int setReactionLineEndingGeometricShapeY(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int geometricShapeIndex, const RelAbsVector& y) { + int isSetSuccessfully = -1; + for (unsigned int i = 0; i < getNumSpeciesReferenceGlyphs(document, reactionId, reactionGlyphIndex); i++) + if (!setSpeciesReferenceLineEndingGeometricShapeY(document, reactionId, reactionGlyphIndex, i, geometricShapeIndex, y)) + isSetSuccessfully = 0; + + return isSetSuccessfully; +} + +int setReactionLineEndingGeometricShapeY(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int geometricShapeIndex, const RelAbsVector& y) { + int isSetSuccessfully = -1; + for (unsigned int i = 0; i < getNumSpeciesReferenceGlyphs(document, reactionId, reactionGlyphIndex); i++) + if (!setSpeciesReferenceLineEndingGeometricShapeY(document, layoutIndex, reactionId, reactionGlyphIndex, i, geometricShapeIndex, y)) + isSetSuccessfully = 0; + + return isSetSuccessfully; +} + int setLineEndingGeometricShapeYAsDouble(SBMLDocument* document, const std::string& id, unsigned int geometricShapeIndex, const double& y) { return setGeometricShapeYAsDouble(getLineEndingRenderGroup(document, id), geometricShapeIndex, y); } @@ -1363,6 +1859,32 @@ int setLineEndingGeometricShapeYAsDouble(SBMLDocument* document, unsigned int re return setGeometricShapeYAsDouble(getLineEndingRenderGroup(document, renderIndex, id), geometricShapeIndex, y); } +int setSpeciesReferenceLineEndingGeometricShapeYAsDouble(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex, const double& y) { + return setGeometricShapeYAsDouble(getRenderGroup(getSpeciesReferenceLocalLineEnding(document, reactionId, reactionGlyphIndex, speciesReferenceIndex)), geometricShapeIndex, y); +} + +int setSpeciesReferenceLineEndingGeometricShapeYAsDouble(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex, const double& y) { + return setGeometricShapeYAsDouble(getRenderGroup(getSpeciesReferenceLocalLineEnding(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceIndex)), geometricShapeIndex, y); +} + +int setReactionLineEndingGeometricShapeYAsDouble(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int geometricShapeIndex, const double& y) { + int isSetSuccessfully = -1; + for (unsigned int i = 0; i < getNumSpeciesReferenceGlyphs(document, reactionId, reactionGlyphIndex); i++) + if (!setSpeciesReferenceLineEndingGeometricShapeYAsDouble(document, reactionId, reactionGlyphIndex, i, geometricShapeIndex, y)) + isSetSuccessfully = 0; + + return isSetSuccessfully; +} + +int setReactionLineEndingGeometricShapeYAsDouble(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int geometricShapeIndex, const double& y) { + int isSetSuccessfully = -1; + for (unsigned int i = 0; i < getNumSpeciesReferenceGlyphs(document, reactionId, reactionGlyphIndex); i++) + if (!setSpeciesReferenceLineEndingGeometricShapeYAsDouble(document, layoutIndex, reactionId, reactionGlyphIndex, i, geometricShapeIndex, y)) + isSetSuccessfully = 0; + + return isSetSuccessfully; +} + bool isSetLineEndingGeometricShapeWidth(SBMLDocument* document, const std::string& id, unsigned int geometricShapeIndex) { return isSetGeometricShapeWidth(getLineEndingRenderGroup(document, id), geometricShapeIndex); } @@ -1371,6 +1893,14 @@ bool isSetLineEndingGeometricShapeWidth(SBMLDocument* document, unsigned int ren return isSetGeometricShapeWidth(getLineEndingRenderGroup(document, renderIndex, id), geometricShapeIndex); } +bool isSetSpeciesReferenceLineEndingGeometricShapeWidth(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex) { + return isSetSpeciesReferenceLineEndingGeometricShapeWidth(document, 0, reactionId, reactionGlyphIndex, speciesReferenceIndex, geometricShapeIndex); +} + +bool isSetSpeciesReferenceLineEndingGeometricShapeWidth(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex) { + return isSetGeometricShapeWidth(getRenderGroup(getSpeciesReferenceLineEnding(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceIndex)), geometricShapeIndex); +} + const RelAbsVector getLineEndingGeometricShapeWidth(SBMLDocument* document, const std::string& id, unsigned int geometricShapeIndex) { return getGeometricShapeWidth(getLineEndingRenderGroup(document, id), geometricShapeIndex); } @@ -1379,14 +1909,32 @@ const RelAbsVector getLineEndingGeometricShapeWidth(SBMLDocument* document, unsi return getGeometricShapeWidth(getLineEndingRenderGroup(document, renderIndex, id), geometricShapeIndex); } +const RelAbsVector getSpeciesReferenceLineEndingGeometricShapeWidth(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex) { + return getGeometricShapeWidth(getRenderGroup(getSpeciesReferenceLineEnding(document, reactionId, reactionGlyphIndex, speciesReferenceIndex)), geometricShapeIndex); +} + +const RelAbsVector getSpeciesReferenceLineEndingGeometricShapeWidth(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex) { + return getGeometricShapeWidth(getRenderGroup(getSpeciesReferenceLineEnding(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceIndex)), geometricShapeIndex); +} + const double getLineEndingGeometricShapeWidthAsDouble(SBMLDocument* document, const std::string& id, unsigned int geometricShapeIndex) { RelAbsVector widthVector = getLineEndingGeometricShapeWidth(document, id, geometricShapeIndex); - return getAbsoluteValue(widthVector) + 0.01 * getDimensionWidth(getLineEndingBoundingBox(document, id)) * getRelativeValue(widthVector); + return getAbsoluteValue(widthVector) + 0.01 * getLineEndingBoundingBoxWidth(document, id) * getRelativeValue(widthVector); } const double getLineEndingGeometricShapeWidthAsDouble(SBMLDocument* document, unsigned int renderIndex, const std::string& id, unsigned int geometricShapeIndex) { RelAbsVector widthVector = getLineEndingGeometricShapeWidth(document, renderIndex, id, geometricShapeIndex); - return getAbsoluteValue(widthVector) + 0.01 * getDimensionWidth(getLineEndingBoundingBox(document, renderIndex, id)) * getRelativeValue(widthVector); + return getAbsoluteValue(widthVector) + 0.01 * getLineEndingBoundingBoxWidth(document, renderIndex, id) * getRelativeValue(widthVector); +} + +const double getSpeciesReferenceLineEndingGeometricShapeWidthAsDouble(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex) { + RelAbsVector widthVector = getSpeciesReferenceLineEndingGeometricShapeWidth(document, reactionId, reactionGlyphIndex, speciesReferenceIndex, geometricShapeIndex); + return getAbsoluteValue(widthVector) + 0.01 * getSpeciesReferenceLineEndingBoundingBoxWidth(document, reactionId, reactionGlyphIndex, speciesReferenceIndex) * getRelativeValue(widthVector); +} + +const double getSpeciesReferenceLineEndingGeometricShapeWidthAsDouble(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex) { + RelAbsVector widthVector = getSpeciesReferenceLineEndingGeometricShapeWidth(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceIndex, geometricShapeIndex); + return getAbsoluteValue(widthVector) + 0.01 * getSpeciesReferenceLineEndingBoundingBoxWidth(document, reactionId, reactionGlyphIndex, speciesReferenceIndex) * getRelativeValue(widthVector); } int setLineEndingGeometricShapeWidth(SBMLDocument* document, const std::string& id, unsigned int geometricShapeIndex, const RelAbsVector& width) { @@ -1397,6 +1945,32 @@ int setLineEndingGeometricShapeWidth(SBMLDocument* document, unsigned int render return setGeometricShapeWidth(getLineEndingRenderGroup(document, renderIndex, id), geometricShapeIndex, width); } +int setSpeciesReferenceLineEndingGeometricShapeWidth(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex, const RelAbsVector& width) { + return setGeometricShapeWidth(getRenderGroup(getSpeciesReferenceLocalLineEnding(document, reactionId, reactionGlyphIndex, speciesReferenceIndex)), geometricShapeIndex, width); +} + +int setSpeciesReferenceLineEndingGeometricShapeWidth(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex, const RelAbsVector& width) { + return setGeometricShapeWidth(getRenderGroup(getSpeciesReferenceLocalLineEnding(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceIndex)), geometricShapeIndex, width); +} + +int setReactionLineEndingGeometricShapeWidth(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int geometricShapeIndex, const RelAbsVector& width) { + int isSetSuccessfully = -1; + for (unsigned int i = 0; i < getNumSpeciesReferenceGlyphs(document, reactionId, reactionGlyphIndex); i++) + if (!setSpeciesReferenceLineEndingGeometricShapeWidth(document, reactionId, reactionGlyphIndex, i, geometricShapeIndex, width)) + isSetSuccessfully = 0; + + return isSetSuccessfully; +} + +int setReactionLineEndingGeometricShapeWidth(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int geometricShapeIndex, const RelAbsVector& width) { + int isSetSuccessfully = -1; + for (unsigned int i = 0; i < getNumSpeciesReferenceGlyphs(document, reactionId, reactionGlyphIndex); i++) + if (!setSpeciesReferenceLineEndingGeometricShapeWidth(document, layoutIndex, reactionId, reactionGlyphIndex, i, geometricShapeIndex, width)) + isSetSuccessfully = 0; + + return isSetSuccessfully; +} + int setLineEndingGeometricShapeWidthAsDouble(SBMLDocument* document, const std::string& id, unsigned int geometricShapeIndex, const double& width) { return setGeometricShapeWidthAsDouble(getLineEndingRenderGroup(document, id), geometricShapeIndex, width); } @@ -1405,6 +1979,32 @@ int setLineEndingGeometricShapeWidthAsDouble(SBMLDocument* document, unsigned in return setGeometricShapeWidthAsDouble(getLineEndingRenderGroup(document, renderIndex, id), geometricShapeIndex, width); } +int setSpeciesReferenceLineEndingGeometricShapeWidthAsDouble(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex, const double& width) { + return setGeometricShapeWidthAsDouble(getRenderGroup(getSpeciesReferenceLocalLineEnding(document, reactionId, reactionGlyphIndex, speciesReferenceIndex)), geometricShapeIndex, width); +} + +int setSpeciesReferenceLineEndingGeometricShapeWidthAsDouble(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex, const double& width) { + return setGeometricShapeWidthAsDouble(getRenderGroup(getSpeciesReferenceLocalLineEnding(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceIndex)), geometricShapeIndex, width); +} + +int setReactionLineEndingGeometricShapeWidthAsDouble(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int geometricShapeIndex, const double& width) { + int isSetSuccessfully = -1; + for (unsigned int i = 0; i < getNumSpeciesReferenceGlyphs(document, reactionId, reactionGlyphIndex); i++) + if (!setSpeciesReferenceLineEndingGeometricShapeWidthAsDouble(document, reactionId, reactionGlyphIndex, i, geometricShapeIndex, width)) + isSetSuccessfully = 0; + + return isSetSuccessfully; +} + +int setReactionLineEndingGeometricShapeWidthAsDouble(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int geometricShapeIndex, const double& width) { + int isSetSuccessfully = -1; + for (unsigned int i = 0; i < getNumSpeciesReferenceGlyphs(document, reactionId, reactionGlyphIndex); i++) + if (!setSpeciesReferenceLineEndingGeometricShapeWidthAsDouble(document, layoutIndex, reactionId, reactionGlyphIndex, i, geometricShapeIndex, width)) + isSetSuccessfully = 0; + + return isSetSuccessfully; +} + bool isSetLineEndingGeometricShapeHeight(SBMLDocument* document, const std::string& id, unsigned int geometricShapeIndex) { return isSetGeometricShapeHeight(getLineEndingRenderGroup(document, id), geometricShapeIndex); } @@ -1413,6 +2013,14 @@ bool isSetLineEndingGeometricShapeHeight(SBMLDocument* document, unsigned int re return isSetGeometricShapeHeight(getLineEndingRenderGroup(document, renderIndex, id), geometricShapeIndex); } +bool isSetSpeciesReferenceLineEndingGeometricShapeHeight(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex) { + return isSetSpeciesReferenceLineEndingGeometricShapeHeight(document, 0, reactionId, reactionGlyphIndex, speciesReferenceIndex, geometricShapeIndex); +} + +bool isSetSpeciesReferenceLineEndingGeometricShapeHeight(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex) { + return isSetGeometricShapeHeight(getRenderGroup(getSpeciesReferenceLineEnding(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceIndex)), geometricShapeIndex); +} + const RelAbsVector getLineEndingGeometricShapeHeight(SBMLDocument* document, const std::string& id, unsigned int geometricShapeIndex) { return getGeometricShapeHeight(getLineEndingRenderGroup(document, id), geometricShapeIndex); } @@ -1421,14 +2029,32 @@ const RelAbsVector getLineEndingGeometricShapeHeight(SBMLDocument* document, uns return getGeometricShapeHeight(getLineEndingRenderGroup(document, renderIndex, id), geometricShapeIndex); } +const RelAbsVector getSpeciesReferenceLineEndingGeometricShapeHeight(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex) { + return getGeometricShapeHeight(getRenderGroup(getSpeciesReferenceLineEnding(document, reactionId, reactionGlyphIndex, speciesReferenceIndex)), geometricShapeIndex); +} + +const RelAbsVector getSpeciesReferenceLineEndingGeometricShapeHeight(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex) { + return getGeometricShapeHeight(getRenderGroup(getSpeciesReferenceLineEnding(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceIndex)), geometricShapeIndex); +} + const double getLineEndingGeometricShapeHeightAsDouble(SBMLDocument* document, const std::string& id, unsigned int geometricShapeIndex) { RelAbsVector heightVector = getLineEndingGeometricShapeHeight(document, id, geometricShapeIndex); - return getAbsoluteValue(heightVector) + 0.01 * getDimensionHeight(getLineEndingBoundingBox(document, id)) * getRelativeValue(heightVector); + return getAbsoluteValue(heightVector) + 0.01 * getLineEndingBoundingBoxHeight(document, id) * getRelativeValue(heightVector); } const double getLineEndingGeometricShapeHeightAsDouble(SBMLDocument* document, unsigned int renderIndex, const std::string& id, unsigned int geometricShapeIndex) { RelAbsVector heightVector = getLineEndingGeometricShapeHeight(document, renderIndex, id, geometricShapeIndex); - return getAbsoluteValue(heightVector) + 0.01 * getDimensionHeight(getLineEndingBoundingBox(document, renderIndex, id)) * getRelativeValue(heightVector); + return getAbsoluteValue(heightVector) + 0.01 * getLineEndingBoundingBoxHeight(document, renderIndex, id) * getRelativeValue(heightVector); +} + +const double getSpeciesReferenceLineEndingGeometricShapeHeightAsDouble(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex) { + RelAbsVector heightVector = getSpeciesReferenceLineEndingGeometricShapeHeight(document, reactionId, reactionGlyphIndex, speciesReferenceIndex, geometricShapeIndex); + return getAbsoluteValue(heightVector) + 0.01 * getSpeciesReferenceLineEndingBoundingBoxHeight(document, reactionId, reactionGlyphIndex, speciesReferenceIndex) * getRelativeValue(heightVector); +} + +const double getSpeciesReferenceLineEndingGeometricShapeHeightAsDouble(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex) { + RelAbsVector heightVector = getSpeciesReferenceLineEndingGeometricShapeHeight(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceIndex, geometricShapeIndex); + return getAbsoluteValue(heightVector) + 0.01 * getSpeciesReferenceLineEndingBoundingBoxHeight(document, reactionId, reactionGlyphIndex, speciesReferenceIndex) * getRelativeValue(heightVector); } int setLineEndingGeometricShapeHeight(SBMLDocument* document, const std::string& id, unsigned int geometricShapeIndex, const RelAbsVector& height) { @@ -1439,6 +2065,32 @@ int setLineEndingGeometricShapeHeight(SBMLDocument* document, unsigned int rende return setGeometricShapeHeight(getLineEndingRenderGroup(document, renderIndex, id), geometricShapeIndex, height); } +int setSpeciesReferenceLineEndingGeometricShapeHeight(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex, const RelAbsVector& height) { + return setGeometricShapeHeight(getRenderGroup(getSpeciesReferenceLocalLineEnding(document, reactionId, reactionGlyphIndex, speciesReferenceIndex)), geometricShapeIndex, height); +} + +int setSpeciesReferenceLineEndingGeometricShapeHeight(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex, const RelAbsVector& height) { + return setGeometricShapeHeight(getRenderGroup(getSpeciesReferenceLocalLineEnding(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceIndex)), geometricShapeIndex, height); +} + +int setReactionLineEndingGeometricShapeHeight(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int geometricShapeIndex, const RelAbsVector& height) { + int isSetSuccessfully = -1; + for (unsigned int i = 0; i < getNumSpeciesReferenceGlyphs(document, reactionId, reactionGlyphIndex); i++) + if (!setSpeciesReferenceLineEndingGeometricShapeHeight(document, reactionId, reactionGlyphIndex, i, geometricShapeIndex, height)) + isSetSuccessfully = 0; + + return isSetSuccessfully; +} + +int setReactionLineEndingGeometricShapeHeight(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int geometricShapeIndex, const RelAbsVector& height) { + int isSetSuccessfully = -1; + for (unsigned int i = 0; i < getNumSpeciesReferenceGlyphs(document, reactionId, reactionGlyphIndex); i++) + if (!setSpeciesReferenceLineEndingGeometricShapeHeight(document, layoutIndex, reactionId, reactionGlyphIndex, i, geometricShapeIndex, height)) + isSetSuccessfully = 0; + + return isSetSuccessfully; +} + int setLineEndingGeometricShapeHeightAsDouble(SBMLDocument* document, const std::string& id, unsigned int geometricShapeIndex, const double& height) { return setGeometricShapeHeightAsDouble(getLineEndingRenderGroup(document, id), geometricShapeIndex, height); } @@ -1447,6 +2099,32 @@ int setLineEndingGeometricShapeHeightAsDouble(SBMLDocument* document, unsigned i return setGeometricShapeHeightAsDouble(getLineEndingRenderGroup(document, renderIndex, id), geometricShapeIndex, height); } +int setSpeciesReferenceLineEndingGeometricShapeHeightAsDouble(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex, const double& height) { + return setGeometricShapeHeightAsDouble(getRenderGroup(getSpeciesReferenceLocalLineEnding(document, reactionId, reactionGlyphIndex, speciesReferenceIndex)), geometricShapeIndex, height); +} + +int setSpeciesReferenceLineEndingGeometricShapeHeightAsDouble(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex, const double& height) { + return setGeometricShapeHeightAsDouble(getRenderGroup(getSpeciesReferenceLocalLineEnding(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceIndex)), geometricShapeIndex, height); +} + +int setReactionLineEndingGeometricShapeHeightAsDouble(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int geometricShapeIndex, const double& height) { + int isSetSuccessfully = -1; + for (unsigned int i = 0; i < getNumSpeciesReferenceGlyphs(document, reactionId, reactionGlyphIndex); i++) + if (!setSpeciesReferenceLineEndingGeometricShapeHeightAsDouble(document, reactionId, reactionGlyphIndex, i, geometricShapeIndex, height)) + isSetSuccessfully = 0; + + return isSetSuccessfully; +} + +int setReactionLineEndingGeometricShapeHeightAsDouble(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int geometricShapeIndex, const double& height) { + int isSetSuccessfully = -1; + for (unsigned int i = 0; i < getNumSpeciesReferenceGlyphs(document, reactionId, reactionGlyphIndex); i++) + if (!setSpeciesReferenceLineEndingGeometricShapeHeightAsDouble(document, layoutIndex, reactionId, reactionGlyphIndex, i, geometricShapeIndex, height)) + isSetSuccessfully = 0; + + return isSetSuccessfully; +} + bool isSetLineEndingGeometricShapeRatio(SBMLDocument* document, const std::string& id, unsigned int geometricShapeIndex) { return isSetGeometricShapeRatio(getLineEndingRenderGroup(document, id), geometricShapeIndex); } @@ -1455,6 +2133,14 @@ bool isSetLineEndingGeometricShapeRatio(SBMLDocument* document, unsigned int ren return isSetGeometricShapeRatio(getLineEndingRenderGroup(document, renderIndex, id), geometricShapeIndex); } +bool isSetSpeciesReferenceLineEndingGeometricShapeRatio(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex) { + return isSetSpeciesReferenceLineEndingGeometricShapeRatio(document, 0, reactionId, reactionGlyphIndex, speciesReferenceIndex, geometricShapeIndex); +} + +bool isSetSpeciesReferenceLineEndingGeometricShapeRatio(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex) { + return isSetGeometricShapeRatio(getRenderGroup(getSpeciesReferenceLineEnding(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceIndex)), geometricShapeIndex); +} + const double getLineEndingGeometricShapeRatio(SBMLDocument* document, const std::string& id, unsigned int geometricShapeIndex) { return getGeometricShapeRatio(getLineEndingRenderGroup(document, id), geometricShapeIndex); } @@ -1463,6 +2149,14 @@ const double getLineEndingGeometricShapeRatio(SBMLDocument* document, unsigned i return getGeometricShapeRatio(getLineEndingRenderGroup(document, renderIndex, id), geometricShapeIndex); } +const double getSpeciesReferenceLineEndingGeometricShapeRatio(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex) { + return getSpeciesReferenceLineEndingGeometricShapeRatio(document, 0, reactionId, reactionGlyphIndex, speciesReferenceIndex, geometricShapeIndex); +} + +const double getSpeciesReferenceLineEndingGeometricShapeRatio(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex) { + return getGeometricShapeRatio(getRenderGroup(getSpeciesReferenceLineEnding(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceIndex)), geometricShapeIndex); +} + int setLineEndingGeometricShapeRatio(SBMLDocument* document, const std::string& id, unsigned int geometricShapeIndex, double ratio) { return setGeometricShapeRatio(getLineEndingRenderGroup(document, id), geometricShapeIndex, ratio); } @@ -1471,6 +2165,32 @@ int setLineEndingGeometricShapeRatio(SBMLDocument* document, unsigned int render return setGeometricShapeRatio(getLineEndingRenderGroup(document, renderIndex, id), geometricShapeIndex, ratio); } +int setSpeciesReferenceLineEndingGeometricShapeRatio(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex, const double& ratio) { + return setGeometricShapeRatio(getRenderGroup(getSpeciesReferenceLocalLineEnding(document, reactionId, reactionGlyphIndex, speciesReferenceIndex)), geometricShapeIndex, ratio); +} + +int setSpeciesReferenceLineEndingGeometricShapeRatio(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex, const double& ratio) { + return setGeometricShapeRatio(getRenderGroup(getSpeciesReferenceLocalLineEnding(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceIndex)), geometricShapeIndex, ratio); +} + +int setReactionLineEndingGeometricShapeRatio(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int geometricShapeIndex, const double& ratio) { + int isSetSuccessfully = -1; + for (unsigned int i = 0; i < getNumSpeciesReferenceGlyphs(document, reactionId, reactionGlyphIndex); i++) + if (!setSpeciesReferenceLineEndingGeometricShapeRatio(document, reactionId, reactionGlyphIndex, i, geometricShapeIndex, ratio)) + isSetSuccessfully = 0; + + return isSetSuccessfully; +} + +int setReactionLineEndingGeometricShapeRatio(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int geometricShapeIndex, const double& ratio) { + int isSetSuccessfully = -1; + for (unsigned int i = 0; i < getNumSpeciesReferenceGlyphs(document, reactionId, reactionGlyphIndex); i++) + if (!setSpeciesReferenceLineEndingGeometricShapeRatio(document, layoutIndex, reactionId, reactionGlyphIndex, i, geometricShapeIndex, ratio)) + isSetSuccessfully = 0; + + return isSetSuccessfully; +} + bool isSetLineEndingGeometricShapeCornerCurvatureRadiusX(SBMLDocument* document, const std::string& id, unsigned int geometricShapeIndex) { return isSetGeometricShapeCornerCurvatureRadiusX(getLineEndingRenderGroup(document, id), geometricShapeIndex); } @@ -1479,6 +2199,14 @@ bool isSetLineEndingGeometricShapeCornerCurvatureRadiusX(SBMLDocument* document, return isSetGeometricShapeCornerCurvatureRadiusX(getLineEndingRenderGroup(document, renderIndex, id), geometricShapeIndex); } +bool isSetSpeciesReferenceLineEndingGeometricShapeCornerCurvatureRadiusX(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex) { + return isSetSpeciesReferenceLineEndingGeometricShapeCornerCurvatureRadiusX(document, 0, reactionId, reactionGlyphIndex, speciesReferenceIndex, geometricShapeIndex); +} + +bool isSetSpeciesReferenceLineEndingGeometricShapeCornerCurvatureRadiusX(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex) { + return isSetGeometricShapeCornerCurvatureRadiusX(getRenderGroup(getSpeciesReferenceLineEnding(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceIndex)), geometricShapeIndex); +} + const RelAbsVector getLineEndingGeometricShapeCornerCurvatureRadiusX(SBMLDocument* document, const std::string& id, unsigned int geometricShapeIndex) { return getGeometricShapeCornerCurvatureRadiusX(getLineEndingRenderGroup(document, id), geometricShapeIndex); } @@ -1487,14 +2215,32 @@ const RelAbsVector getLineEndingGeometricShapeCornerCurvatureRadiusX(SBMLDocumen return getGeometricShapeCornerCurvatureRadiusX(getLineEndingRenderGroup(document, renderIndex, id), geometricShapeIndex); } +const RelAbsVector getSpeciesReferenceLineEndingGeometricShapeCornerCurvatureRadiusX(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex) { + return getSpeciesReferenceLineEndingGeometricShapeCornerCurvatureRadiusX(document, 0, reactionId, reactionGlyphIndex, speciesReferenceIndex, geometricShapeIndex); +} + +const RelAbsVector getSpeciesReferenceLineEndingGeometricShapeCornerCurvatureRadiusX(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex) { + return getGeometricShapeCornerCurvatureRadiusX(getRenderGroup(getSpeciesReferenceLineEnding(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceIndex)), geometricShapeIndex); +} + const double getLineEndingGeometricShapeCornerCurvatureRadiusXAsDouble(SBMLDocument* document, const std::string& id, unsigned int geometricShapeIndex) { RelAbsVector cornerCurvatureRadiusXVector = getLineEndingGeometricShapeCornerCurvatureRadiusX(document, id, geometricShapeIndex); - return getAbsoluteValue(cornerCurvatureRadiusXVector) + 0.01 * getDimensionWidth(getLineEndingBoundingBox(document, id)) * getRelativeValue(cornerCurvatureRadiusXVector); + return getAbsoluteValue(cornerCurvatureRadiusXVector) + 0.01 * getLineEndingBoundingBoxWidth(document, id) * getRelativeValue(cornerCurvatureRadiusXVector); } const double getLineEndingGeometricShapeCornerCurvatureRadiusXAsDouble(SBMLDocument* document, unsigned int renderIndex, const std::string& id, unsigned int geometricShapeIndex) { RelAbsVector cornerCurvatureRadiusXVector = getLineEndingGeometricShapeCornerCurvatureRadiusX(document, renderIndex, id, geometricShapeIndex); - return getAbsoluteValue(cornerCurvatureRadiusXVector) + 0.01 * getDimensionWidth(getLineEndingBoundingBox(document, renderIndex, id)) * getRelativeValue(cornerCurvatureRadiusXVector); + return getAbsoluteValue(cornerCurvatureRadiusXVector) + 0.01 * getLineEndingBoundingBoxWidth(document, renderIndex, id) * getRelativeValue(cornerCurvatureRadiusXVector); +} + +const double getSpeciesReferenceLineEndingGeometricShapeCornerCurvatureRadiusXAsDouble(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex) { + RelAbsVector radiusX = getSpeciesReferenceLineEndingGeometricShapeCornerCurvatureRadiusX(document, reactionId, reactionGlyphIndex, speciesReferenceIndex, geometricShapeIndex); + return getAbsoluteValue(radiusX) + 0.01 * getSpeciesReferenceLineEndingBoundingBoxWidth(document, reactionId, reactionGlyphIndex, speciesReferenceIndex) * getRelativeValue(radiusX); +} + +const double getSpeciesReferenceLineEndingGeometricShapeCornerCurvatureRadiusXAsDouble(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex) { + RelAbsVector radiusX = getSpeciesReferenceLineEndingGeometricShapeCornerCurvatureRadiusX(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceIndex, geometricShapeIndex); + return getAbsoluteValue(radiusX) + 0.01 * getSpeciesReferenceLineEndingBoundingBoxWidth(document, reactionId, reactionGlyphIndex, speciesReferenceIndex) * getRelativeValue(radiusX); } int setLineEndingGeometricShapeCornerCurvatureRadiusX(SBMLDocument* document, const std::string& id, unsigned int geometricShapeIndex, const RelAbsVector& cornerCurvatureRadiusX) { @@ -1505,6 +2251,32 @@ int setLineEndingGeometricShapeCornerCurvatureRadiusX(SBMLDocument* document, un return setGeometricShapeCornerCurvatureRadiusX(getLineEndingRenderGroup(document, renderIndex, id), geometricShapeIndex, cornerCurvatureRadiusX); } +int setSpeciesReferenceLineEndingGeometricShapeCornerCurvatureRadiusX(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex, const RelAbsVector& radiusX) { + return setGeometricShapeCornerCurvatureRadiusX(getRenderGroup(getSpeciesReferenceLocalLineEnding(document, reactionId, reactionGlyphIndex, speciesReferenceIndex)), geometricShapeIndex, radiusX); +} + +int setSpeciesReferenceLineEndingGeometricShapeCornerCurvatureRadiusX(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex, const RelAbsVector& radiusX) { + return setGeometricShapeCornerCurvatureRadiusX(getRenderGroup(getSpeciesReferenceLocalLineEnding(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceIndex)), geometricShapeIndex, radiusX); +} + +int setReactionLineEndingGeometricShapeCornerCurvatureRadiusX(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int geometricShapeIndex, const RelAbsVector& radiusX) { + int isSetSuccessfully = -1; + for (unsigned int i = 0; i < getNumSpeciesReferenceGlyphs(document, reactionId, reactionGlyphIndex); i++) + if (!setSpeciesReferenceLineEndingGeometricShapeCornerCurvatureRadiusX(document, reactionId, reactionGlyphIndex, i, geometricShapeIndex, radiusX)) + isSetSuccessfully = 0; + + return isSetSuccessfully; +} + +int setReactionLineEndingGeometricShapeCornerCurvatureRadiusX(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int geometricShapeIndex, const RelAbsVector& radiusX) { + int isSetSuccessfully = -1; + for (unsigned int i = 0; i < getNumSpeciesReferenceGlyphs(document, reactionId, reactionGlyphIndex); i++) + if (!setSpeciesReferenceLineEndingGeometricShapeCornerCurvatureRadiusX(document, layoutIndex, reactionId, reactionGlyphIndex, i, geometricShapeIndex, radiusX)) + isSetSuccessfully = 0; + + return isSetSuccessfully; +} + int setLineEndingGeometricShapeCornerCurvatureRadiusXAsDouble(SBMLDocument* document, const std::string& id, unsigned int geometricShapeIndex, const double& cornerCurvatureRadiusX) { return setGeometricShapeCornerCurvatureRadiusXAsDouble(getLineEndingRenderGroup(document, id), geometricShapeIndex, cornerCurvatureRadiusX); } @@ -1513,6 +2285,32 @@ int setLineEndingGeometricShapeCornerCurvatureRadiusXAsDouble(SBMLDocument* docu return setGeometricShapeCornerCurvatureRadiusXAsDouble(getLineEndingRenderGroup(document, renderIndex, id), geometricShapeIndex, cornerCurvatureRadiusX); } +int setSpeciesReferenceLineEndingGeometricShapeCornerCurvatureRadiusXAsDouble(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex, const double& radiusX) { + return setGeometricShapeCornerCurvatureRadiusXAsDouble(getRenderGroup(getSpeciesReferenceLocalLineEnding(document, reactionId, reactionGlyphIndex, speciesReferenceIndex)), geometricShapeIndex, radiusX); +} + +int setSpeciesReferenceLineEndingGeometricShapeCornerCurvatureRadiusXAsDouble(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex, const double& radiusX) { + return setGeometricShapeCornerCurvatureRadiusXAsDouble(getRenderGroup(getSpeciesReferenceLocalLineEnding(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceIndex)), geometricShapeIndex, radiusX); +} + +int setReactionLineEndingGeometricShapeCornerCurvatureRadiusXAsDouble(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int geometricShapeIndex, const double& radiusX) { + int isSetSuccessfully = -1; + for (unsigned int i = 0; i < getNumSpeciesReferenceGlyphs(document, reactionId, reactionGlyphIndex); i++) + if (!setSpeciesReferenceLineEndingGeometricShapeCornerCurvatureRadiusXAsDouble(document, reactionId, reactionGlyphIndex, i, geometricShapeIndex, radiusX)) + isSetSuccessfully = 0; + + return isSetSuccessfully; +} + +int setReactionLineEndingGeometricShapeCornerCurvatureRadiusXAsDouble(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int geometricShapeIndex, const double& radiusX) { + int isSetSuccessfully = -1; + for (unsigned int i = 0; i < getNumSpeciesReferenceGlyphs(document, reactionId, reactionGlyphIndex); i++) + if (!setSpeciesReferenceLineEndingGeometricShapeCornerCurvatureRadiusXAsDouble(document, layoutIndex, reactionId, reactionGlyphIndex, i, geometricShapeIndex, radiusX)) + isSetSuccessfully = 0; + + return isSetSuccessfully; +} + bool isSetLineEndingGeometricShapeCornerCurvatureRadiusY(SBMLDocument* document, const std::string& id, unsigned int geometricShapeIndex) { return isSetGeometricShapeCornerCurvatureRadiusY(getLineEndingRenderGroup(document, id), geometricShapeIndex); } @@ -1521,6 +2319,14 @@ bool isSetLineEndingGeometricShapeCornerCurvatureRadiusY(SBMLDocument* document, return isSetGeometricShapeCornerCurvatureRadiusY(getLineEndingRenderGroup(document, renderIndex, id), geometricShapeIndex); } +bool isSetSpeciesReferenceLineEndingGeometricShapeCornerCurvatureRadiusY(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex) { + return isSetSpeciesReferenceLineEndingGeometricShapeCornerCurvatureRadiusY(document, 0, reactionId, reactionGlyphIndex, speciesReferenceIndex, geometricShapeIndex); +} + +bool isSetSpeciesReferenceLineEndingGeometricShapeCornerCurvatureRadiusY(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex) { + return isSetGeometricShapeCornerCurvatureRadiusY(getRenderGroup(getSpeciesReferenceLineEnding(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceIndex)), geometricShapeIndex); +} + const RelAbsVector getLineEndingGeometricShapeCornerCurvatureRadiusY(SBMLDocument* document, const std::string& id, unsigned int geometricShapeIndex) { return getGeometricShapeCornerCurvatureRadiusY(getLineEndingRenderGroup(document, id), geometricShapeIndex); } @@ -1529,14 +2335,32 @@ const RelAbsVector getLineEndingGeometricShapeCornerCurvatureRadiusY(SBMLDocumen return getGeometricShapeCornerCurvatureRadiusY(getLineEndingRenderGroup(document, renderIndex, id), geometricShapeIndex); } +const RelAbsVector getSpeciesReferenceLineEndingGeometricShapeCornerCurvatureRadiusY(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex) { + return getSpeciesReferenceLineEndingGeometricShapeCornerCurvatureRadiusY(document, 0, reactionId, reactionGlyphIndex, speciesReferenceIndex, geometricShapeIndex); +} + +const RelAbsVector getSpeciesReferenceLineEndingGeometricShapeCornerCurvatureRadiusY(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex) { + return getGeometricShapeCornerCurvatureRadiusY(getRenderGroup(getSpeciesReferenceLineEnding(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceIndex)), geometricShapeIndex); +} + const double getLineEndingGeometricShapeCornerCurvatureRadiusYAsDouble(SBMLDocument* document, const std::string& id, unsigned int geometricShapeIndex) { RelAbsVector cornerCurvatureRadiusYVector = getLineEndingGeometricShapeCornerCurvatureRadiusY(document, id, geometricShapeIndex); - return getAbsoluteValue(cornerCurvatureRadiusYVector) + 0.01 * getDimensionHeight(getLineEndingBoundingBox(document, id)) * getRelativeValue(cornerCurvatureRadiusYVector); + return getAbsoluteValue(cornerCurvatureRadiusYVector) + 0.01 * getLineEndingBoundingBoxHeight(document, id) * getRelativeValue(cornerCurvatureRadiusYVector); } const double getLineEndingGeometricShapeCornerCurvatureRadiusYAsDouble(SBMLDocument* document, unsigned int renderIndex, const std::string& id, unsigned int geometricShapeIndex) { RelAbsVector cornerCurvatureRadiusYVector = getLineEndingGeometricShapeCornerCurvatureRadiusY(document, renderIndex, id, geometricShapeIndex); - return getAbsoluteValue(cornerCurvatureRadiusYVector) + 0.01 * getDimensionHeight(getLineEndingBoundingBox(document, renderIndex, id)) * getRelativeValue(cornerCurvatureRadiusYVector); + return getAbsoluteValue(cornerCurvatureRadiusYVector) + 0.01 * getLineEndingBoundingBoxHeight(document, renderIndex, id) * getRelativeValue(cornerCurvatureRadiusYVector); +} + +const double getSpeciesReferenceLineEndingGeometricShapeCornerCurvatureRadiusYAsDouble(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex) { + RelAbsVector radiusY = getSpeciesReferenceLineEndingGeometricShapeCornerCurvatureRadiusY(document, reactionId, reactionGlyphIndex, speciesReferenceIndex, geometricShapeIndex); + return getAbsoluteValue(radiusY) + 0.01 * getSpeciesReferenceLineEndingBoundingBoxHeight(document, reactionId, reactionGlyphIndex, speciesReferenceIndex) * getRelativeValue(radiusY); +} + +const double getSpeciesReferenceLineEndingGeometricShapeCornerCurvatureRadiusYAsDouble(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex) { + RelAbsVector radiusY = getSpeciesReferenceLineEndingGeometricShapeCornerCurvatureRadiusY(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceIndex, geometricShapeIndex); + return getAbsoluteValue(radiusY) + 0.01 * getSpeciesReferenceLineEndingBoundingBoxHeight(document, reactionId, reactionGlyphIndex, speciesReferenceIndex) * getRelativeValue(radiusY); } int setLineEndingGeometricShapeCornerCurvatureRadiusY(SBMLDocument* document, const std::string& id, unsigned int geometricShapeIndex, const RelAbsVector& cornerCurvatureRadiusY) { @@ -1547,6 +2371,32 @@ int setLineEndingGeometricShapeCornerCurvatureRadiusY(SBMLDocument* document, un return setGeometricShapeCornerCurvatureRadiusY(getLineEndingRenderGroup(document, renderIndex, id), geometricShapeIndex, cornerCurvatureRadiusY); } +int setSpeciesReferenceLineEndingGeometricShapeCornerCurvatureRadiusY(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex, const RelAbsVector& radiusY) { + return setGeometricShapeCornerCurvatureRadiusY(getRenderGroup(getSpeciesReferenceLocalLineEnding(document, reactionId, reactionGlyphIndex, speciesReferenceIndex)), geometricShapeIndex, radiusY); +} + +int setSpeciesReferenceLineEndingGeometricShapeCornerCurvatureRadiusY(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex, const RelAbsVector& radiusY) { + return setGeometricShapeCornerCurvatureRadiusY(getRenderGroup(getSpeciesReferenceLocalLineEnding(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceIndex)), geometricShapeIndex, radiusY); +} + +int setReactionLineEndingGeometricShapeCornerCurvatureRadiusY(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int geometricShapeIndex, const RelAbsVector& radiusY) { + int isSetSuccessfully = -1; + for (unsigned int i = 0; i < getNumSpeciesReferenceGlyphs(document, reactionId, reactionGlyphIndex); i++) + if (!setSpeciesReferenceLineEndingGeometricShapeCornerCurvatureRadiusY(document, reactionId, reactionGlyphIndex, i, geometricShapeIndex, radiusY)) + isSetSuccessfully = 0; + + return isSetSuccessfully; +} + +int setReactionLineEndingGeometricShapeCornerCurvatureRadiusY(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int geometricShapeIndex, const RelAbsVector& radiusY) { + int isSetSuccessfully = -1; + for (unsigned int i = 0; i < getNumSpeciesReferenceGlyphs(document, reactionId, reactionGlyphIndex); i++) + if (!setSpeciesReferenceLineEndingGeometricShapeCornerCurvatureRadiusY(document, layoutIndex, reactionId, reactionGlyphIndex, i, geometricShapeIndex, radiusY)) + isSetSuccessfully = 0; + + return isSetSuccessfully; +} + int setLineEndingGeometricShapeCornerCurvatureRadiusYAsDouble(SBMLDocument* document, const std::string& id, unsigned int geometricShapeIndex, const double& cornerCurvatureRadiusY) { return setGeometricShapeCornerCurvatureRadiusYAsDouble(getLineEndingRenderGroup(document, id), geometricShapeIndex, cornerCurvatureRadiusY); } @@ -1555,6 +2405,32 @@ int setLineEndingGeometricShapeCornerCurvatureRadiusYAsDouble(SBMLDocument* docu return setGeometricShapeCornerCurvatureRadiusYAsDouble(getLineEndingRenderGroup(document, renderIndex, id), geometricShapeIndex, cornerCurvatureRadiusY); } +int setSpeciesReferenceLineEndingGeometricShapeCornerCurvatureRadiusYAsDouble(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex, const double& radiusY) { + return setGeometricShapeCornerCurvatureRadiusYAsDouble(getRenderGroup(getSpeciesReferenceLocalLineEnding(document, reactionId, reactionGlyphIndex, speciesReferenceIndex)), geometricShapeIndex, radiusY); +} + +int setSpeciesReferenceLineEndingGeometricShapeCornerCurvatureRadiusYAsDouble(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex, const double& radiusY) { + return setGeometricShapeCornerCurvatureRadiusYAsDouble(getRenderGroup(getSpeciesReferenceLocalLineEnding(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceIndex)), geometricShapeIndex, radiusY); +} + +int setReactionLineEndingGeometricShapeCornerCurvatureRadiusYAsDouble(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int geometricShapeIndex, const double& radiusY) { + int isSetSuccessfully = -1; + for (unsigned int i = 0; i < getNumSpeciesReferenceGlyphs(document, reactionId, reactionGlyphIndex); i++) + if (!setSpeciesReferenceLineEndingGeometricShapeCornerCurvatureRadiusYAsDouble(document, reactionId, reactionGlyphIndex, i, geometricShapeIndex, radiusY)) + isSetSuccessfully = 0; + + return isSetSuccessfully; +} + +int setReactionLineEndingGeometricShapeCornerCurvatureRadiusYAsDouble(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int geometricShapeIndex, const double& radiusY) { + int isSetSuccessfully = -1; + for (unsigned int i = 0; i < getNumSpeciesReferenceGlyphs(document, reactionId, reactionGlyphIndex); i++) + if (!setSpeciesReferenceLineEndingGeometricShapeCornerCurvatureRadiusYAsDouble(document, layoutIndex, reactionId, reactionGlyphIndex, i, geometricShapeIndex, radiusY)) + isSetSuccessfully = 0; + + return isSetSuccessfully; +} + bool isSetLineEndingGeometricShapeCenterX(SBMLDocument* document, const std::string& id, unsigned int geometricShapeIndex) { return isSetGeometricShapeCenterX(getLineEndingRenderGroup(document, id), geometricShapeIndex); } @@ -1563,6 +2439,14 @@ bool isSetLineEndingGeometricShapeCenterX(SBMLDocument* document, unsigned int r return isSetGeometricShapeCenterX(getLineEndingRenderGroup(document, renderIndex, id), geometricShapeIndex); } +bool isSetSpeciesReferenceLineEndingGeometricShapeCenterX(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex) { + return isSetSpeciesReferenceLineEndingGeometricShapeCenterX(document, 0, reactionId, reactionGlyphIndex, speciesReferenceIndex, geometricShapeIndex); +} + +bool isSetSpeciesReferenceLineEndingGeometricShapeCenterX(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex) { + return isSetGeometricShapeCenterX(getRenderGroup(getSpeciesReferenceLineEnding(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceIndex)), geometricShapeIndex); +} + const RelAbsVector getLineEndingGeometricShapeCenterX(SBMLDocument* document, const std::string& id, unsigned int geometricShapeIndex) { return getGeometricShapeCenterX(getLineEndingRenderGroup(document, id), geometricShapeIndex); } @@ -1571,14 +2455,32 @@ const RelAbsVector getLineEndingGeometricShapeCenterX(SBMLDocument* document, un return getGeometricShapeCenterX(getLineEndingRenderGroup(document, renderIndex, id), geometricShapeIndex); } +const RelAbsVector getSpeciesReferenceLineEndingGeometricShapeCenterX(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex) { + return getSpeciesReferenceLineEndingGeometricShapeCenterX(document, 0, reactionId, reactionGlyphIndex, speciesReferenceIndex, geometricShapeIndex); +} + +const RelAbsVector getSpeciesReferenceLineEndingGeometricShapeCenterX(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex) { + return getGeometricShapeCenterX(getRenderGroup(getSpeciesReferenceLineEnding(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceIndex)), geometricShapeIndex); +} + const double getLineEndingGeometricShapeCenterXAsDouble(SBMLDocument* document, const std::string& id, unsigned int geometricShapeIndex) { RelAbsVector cXVector = getLineEndingGeometricShapeCenterX(document, id, geometricShapeIndex); - return getAbsoluteValue(cXVector) + 0.01 * getDimensionWidth(getLineEndingBoundingBox(document, id)) * getRelativeValue(cXVector); + return getAbsoluteValue(cXVector) + 0.01 * getLineEndingBoundingBoxWidth(document, id) * getRelativeValue(cXVector); } const double getLineEndingGeometricShapeCenterXAsDouble(SBMLDocument* document, unsigned int renderIndex, const std::string& id, unsigned int geometricShapeIndex) { RelAbsVector xVector = getLineEndingGeometricShapeCenterX(document, renderIndex, id, geometricShapeIndex); - return getAbsoluteValue(xVector) + 0.01 * getDimensionWidth(getLineEndingBoundingBox(document, renderIndex, id)) * getRelativeValue(xVector); + return getAbsoluteValue(xVector) + 0.01 * getLineEndingBoundingBoxWidth(document, renderIndex, id) * getRelativeValue(xVector); +} + +const double getSpeciesReferenceLineEndingGeometricShapeCenterXAsDouble(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex) { + RelAbsVector centerX = getSpeciesReferenceLineEndingGeometricShapeCenterX(document, reactionId, reactionGlyphIndex, speciesReferenceIndex, geometricShapeIndex); + return getAbsoluteValue(centerX) + 0.01 * getSpeciesReferenceLineEndingBoundingBoxWidth(document, reactionId, reactionGlyphIndex, speciesReferenceIndex) * getRelativeValue(centerX); +} + +const double getSpeciesReferenceLineEndingGeometricShapeCenterXAsDouble(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex) { + RelAbsVector centerX = getSpeciesReferenceLineEndingGeometricShapeCenterX(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceIndex, geometricShapeIndex); + return getAbsoluteValue(centerX) + 0.01 * getSpeciesReferenceLineEndingBoundingBoxWidth(document, reactionId, reactionGlyphIndex, speciesReferenceIndex) * getRelativeValue(centerX); } int setLineEndingGeometricShapeCenterX(SBMLDocument* document, const std::string& id, unsigned int geometricShapeIndex, const RelAbsVector& centerX) { @@ -1589,6 +2491,32 @@ int setLineEndingGeometricShapeCenterX(SBMLDocument* document, unsigned int rend return setGeometricShapeCenterX(getLineEndingRenderGroup(document, renderIndex, id), geometricShapeIndex, centerX); } +int setSpeciesReferenceLineEndingGeometricShapeCenterX(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex, const RelAbsVector& centerX) { + return setGeometricShapeCenterX(getRenderGroup(getSpeciesReferenceLocalLineEnding(document, reactionId, reactionGlyphIndex, speciesReferenceIndex)), geometricShapeIndex, centerX); +} + +int setSpeciesReferenceLineEndingGeometricShapeCenterX(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex, const RelAbsVector& centerX) { + return setGeometricShapeCenterX(getRenderGroup(getSpeciesReferenceLocalLineEnding(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceIndex)), geometricShapeIndex, centerX); +} + +int setReactionLineEndingGeometricShapeCenterX(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int geometricShapeIndex, const RelAbsVector& centerX) { + int isSetSuccessfully = -1; + for (unsigned int i = 0; i < getNumSpeciesReferenceGlyphs(document, reactionId, reactionGlyphIndex); i++) + if (!setSpeciesReferenceLineEndingGeometricShapeCenterX(document, reactionId, reactionGlyphIndex, i, geometricShapeIndex, centerX)) + isSetSuccessfully = 0; + + return isSetSuccessfully; +} + +int setReactionLineEndingGeometricShapeCenterX(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int geometricShapeIndex, const RelAbsVector& centerX) { + int isSetSuccessfully = -1; + for (unsigned int i = 0; i < getNumSpeciesReferenceGlyphs(document, reactionId, reactionGlyphIndex); i++) + if (!setSpeciesReferenceLineEndingGeometricShapeCenterX(document, layoutIndex, reactionId, reactionGlyphIndex, i, geometricShapeIndex, centerX)) + isSetSuccessfully = 0; + + return isSetSuccessfully; +} + int setLineEndingGeometricShapeCenterXAsDouble(SBMLDocument* document, const std::string& id, unsigned int geometricShapeIndex, const double& centerX) { return setGeometricShapeCenterXAsDouble(getLineEndingRenderGroup(document, id), geometricShapeIndex, centerX); } @@ -1597,6 +2525,32 @@ int setLineEndingGeometricShapeCenterXAsDouble(SBMLDocument* document, unsigned return setGeometricShapeCenterXAsDouble(getLineEndingRenderGroup(document, renderIndex, id), geometricShapeIndex, centerX); } +int setSpeciesReferenceLineEndingGeometricShapeCenterXAsDouble(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex, const double& centerX) { + return setGeometricShapeCenterXAsDouble(getRenderGroup(getSpeciesReferenceLocalLineEnding(document, reactionId, reactionGlyphIndex, speciesReferenceIndex)), geometricShapeIndex, centerX); +} + +int setSpeciesReferenceLineEndingGeometricShapeCenterXAsDouble(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex, const double& centerX) { + return setGeometricShapeCenterXAsDouble(getRenderGroup(getSpeciesReferenceLocalLineEnding(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceIndex)), geometricShapeIndex, centerX); +} + +int setReactionLineEndingGeometricShapeCenterXAsDouble(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int geometricShapeIndex, const double& centerX) { + int isSetSuccessfully = -1; + for (unsigned int i = 0; i < getNumSpeciesReferenceGlyphs(document, reactionId, reactionGlyphIndex); i++) + if (!setSpeciesReferenceLineEndingGeometricShapeCenterXAsDouble(document, reactionId, reactionGlyphIndex, i, geometricShapeIndex, centerX)) + isSetSuccessfully = 0; + + return isSetSuccessfully; +} + +int setReactionLineEndingGeometricShapeCenterXAsDouble(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int geometricShapeIndex, const double& centerX) { + int isSetSuccessfully = -1; + for (unsigned int i = 0; i < getNumSpeciesReferenceGlyphs(document, reactionId, reactionGlyphIndex); i++) + if (!setSpeciesReferenceLineEndingGeometricShapeCenterXAsDouble(document, layoutIndex, reactionId, reactionGlyphIndex, i, geometricShapeIndex, centerX)) + isSetSuccessfully = 0; + + return isSetSuccessfully; +} + bool isSetLineEndingGeometricShapeCenterY(SBMLDocument* document, const std::string& id, unsigned int geometricShapeIndex) { return isSetGeometricShapeCenterY(getLineEndingRenderGroup(document, id), geometricShapeIndex); } @@ -1605,6 +2559,14 @@ bool isSetLineEndingGeometricShapeCenterY(SBMLDocument* document, unsigned int r return isSetGeometricShapeCenterY(getLineEndingRenderGroup(document, renderIndex, id), geometricShapeIndex); } +bool isSetSpeciesReferenceLineEndingGeometricShapeCenterY(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex) { + return isSetSpeciesReferenceLineEndingGeometricShapeCenterY(document, 0, reactionId, reactionGlyphIndex, speciesReferenceIndex, geometricShapeIndex); +} + +bool isSetSpeciesReferenceLineEndingGeometricShapeCenterY(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex) { + return isSetGeometricShapeCenterY(getRenderGroup(getSpeciesReferenceLineEnding(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceIndex)), geometricShapeIndex); +} + const RelAbsVector getLineEndingGeometricShapeCenterY(SBMLDocument* document, const std::string& id, unsigned int geometricShapeIndex) { return getGeometricShapeCenterY(getLineEndingRenderGroup(document, id), geometricShapeIndex); } @@ -1613,14 +2575,32 @@ const RelAbsVector getLineEndingGeometricShapeCenterY(SBMLDocument* document, un return getGeometricShapeCenterY(getLineEndingRenderGroup(document, renderIndex, id), geometricShapeIndex); } +const RelAbsVector getSpeciesReferenceLineEndingGeometricShapeCenterY(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex) { + return getSpeciesReferenceLineEndingGeometricShapeCenterY(document, 0, reactionId, reactionGlyphIndex, speciesReferenceIndex, geometricShapeIndex); +} + +const RelAbsVector getSpeciesReferenceLineEndingGeometricShapeCenterY(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex) { + return getGeometricShapeCenterY(getRenderGroup(getSpeciesReferenceLineEnding(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceIndex)), geometricShapeIndex); +} + const double getLineEndingGeometricShapeCenterYAsDouble(SBMLDocument* document, const std::string& id, unsigned int geometricShapeIndex) { RelAbsVector cYVector = getLineEndingGeometricShapeCenterY(document, id, geometricShapeIndex); - return getAbsoluteValue(cYVector) + 0.01 * getDimensionHeight(getLineEndingBoundingBox(document, id)) * getRelativeValue(cYVector); + return getAbsoluteValue(cYVector) + 0.01 * getLineEndingBoundingBoxHeight(document, id) * getRelativeValue(cYVector); } const double getLineEndingGeometricShapeCenterYAsDouble(SBMLDocument* document, unsigned int renderIndex, const std::string& id, unsigned int geometricShapeIndex) { RelAbsVector yVector = getLineEndingGeometricShapeCenterY(document, renderIndex, id, geometricShapeIndex); - return getAbsoluteValue(yVector) + 0.01 * getDimensionHeight(getLineEndingBoundingBox(document, renderIndex, id)) * getRelativeValue(yVector); + return getAbsoluteValue(yVector) + 0.01 * getLineEndingBoundingBoxHeight(document, renderIndex, id) * getRelativeValue(yVector); +} + +const double getSpeciesReferenceLineEndingGeometricShapeCenterYAsDouble(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex) { + RelAbsVector centerY = getSpeciesReferenceLineEndingGeometricShapeCenterY(document, reactionId, reactionGlyphIndex, speciesReferenceIndex, geometricShapeIndex); + return getAbsoluteValue(centerY) + 0.01 * getSpeciesReferenceLineEndingBoundingBoxHeight(document, reactionId, reactionGlyphIndex, speciesReferenceIndex) * getRelativeValue(centerY); +} + +const double getSpeciesReferenceLineEndingGeometricShapeCenterYAsDouble(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex) { + RelAbsVector centerY = getSpeciesReferenceLineEndingGeometricShapeCenterY(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceIndex, geometricShapeIndex); + return getAbsoluteValue(centerY) + 0.01 * getSpeciesReferenceLineEndingBoundingBoxHeight(document, reactionId, reactionGlyphIndex, speciesReferenceIndex) * getRelativeValue(centerY); } int setLineEndingGeometricShapeCenterY(SBMLDocument* document, const std::string& id, unsigned int geometricShapeIndex, const RelAbsVector& centerY) { @@ -1631,6 +2611,32 @@ int setLineEndingGeometricShapeCenterY(SBMLDocument* document, unsigned int rend return setGeometricShapeCenterY(getLineEndingRenderGroup(document, renderIndex, id), geometricShapeIndex, centerY); } +int setSpeciesReferenceLineEndingGeometricShapeCenterY(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex, const RelAbsVector& centerY) { + return setGeometricShapeCenterY(getRenderGroup(getSpeciesReferenceLocalLineEnding(document, reactionId, reactionGlyphIndex, speciesReferenceIndex)), geometricShapeIndex, centerY); +} + +int setSpeciesReferenceLineEndingGeometricShapeCenterY(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex, const RelAbsVector& centerY) { + return setGeometricShapeCenterY(getRenderGroup(getSpeciesReferenceLocalLineEnding(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceIndex)), geometricShapeIndex, centerY); +} + +int setReactionLineEndingGeometricShapeCenterY(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int geometricShapeIndex, const RelAbsVector& centerY) { + int isSetSuccessfully = -1; + for (unsigned int i = 0; i < getNumSpeciesReferenceGlyphs(document, reactionId, reactionGlyphIndex); i++) + if (!setSpeciesReferenceLineEndingGeometricShapeCenterY(document, reactionId, reactionGlyphIndex, i, geometricShapeIndex, centerY)) + isSetSuccessfully = 0; + + return isSetSuccessfully; +} + +int setReactionLineEndingGeometricShapeCenterY(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int geometricShapeIndex, const RelAbsVector& centerY) { + int isSetSuccessfully = -1; + for (unsigned int i = 0; i < getNumSpeciesReferenceGlyphs(document, reactionId, reactionGlyphIndex); i++) + if (!setSpeciesReferenceLineEndingGeometricShapeCenterY(document, layoutIndex, reactionId, reactionGlyphIndex, i, geometricShapeIndex, centerY)) + isSetSuccessfully = 0; + + return isSetSuccessfully; +} + int setLineEndingGeometricShapeCenterYAsDouble(SBMLDocument* document, const std::string& id, unsigned int geometricShapeIndex, const double& centerY) { return setGeometricShapeCenterYAsDouble(getLineEndingRenderGroup(document, id), geometricShapeIndex, centerY); } @@ -1639,6 +2645,32 @@ int setLineEndingGeometricShapeCenterYAsDouble(SBMLDocument* document, unsigned return setGeometricShapeCenterYAsDouble(getLineEndingRenderGroup(document, renderIndex, id), geometricShapeIndex, centerY); } +int setSpeciesReferenceLineEndingGeometricShapeCenterYAsDouble(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex, const double& centerY) { + return setGeometricShapeCenterYAsDouble(getRenderGroup(getSpeciesReferenceLocalLineEnding(document, reactionId, reactionGlyphIndex, speciesReferenceIndex)), geometricShapeIndex, centerY); +} + +int setSpeciesReferenceLineEndingGeometricShapeCenterYAsDouble(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex, const double& centerY) { + return setGeometricShapeCenterYAsDouble(getRenderGroup(getSpeciesReferenceLocalLineEnding(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceIndex)), geometricShapeIndex, centerY); +} + +int setReactionLineEndingGeometricShapeCenterYAsDouble(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int geometricShapeIndex, const double& centerY) { + int isSetSuccessfully = -1; + for (unsigned int i = 0; i < getNumSpeciesReferenceGlyphs(document, reactionId, reactionGlyphIndex); i++) + if (!setSpeciesReferenceLineEndingGeometricShapeCenterYAsDouble(document, reactionId, reactionGlyphIndex, i, geometricShapeIndex, centerY)) + isSetSuccessfully = 0; + + return isSetSuccessfully; +} + +int setReactionLineEndingGeometricShapeCenterYAsDouble(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int geometricShapeIndex, const double& centerY) { + int isSetSuccessfully = -1; + for (unsigned int i = 0; i < getNumSpeciesReferenceGlyphs(document, reactionId, reactionGlyphIndex); i++) + if (!setSpeciesReferenceLineEndingGeometricShapeCenterYAsDouble(document, layoutIndex, reactionId, reactionGlyphIndex, i, geometricShapeIndex, centerY)) + isSetSuccessfully = 0; + + return isSetSuccessfully; +} + bool isSetLineEndingGeometricShapeRadiusX(SBMLDocument* document, const std::string& id, unsigned int geometricShapeIndex) { return isSetGeometricShapeRadiusX(getLineEndingRenderGroup(document, id), geometricShapeIndex); } @@ -1647,6 +2679,14 @@ bool isSetLineEndingGeometricShapeRadiusX(SBMLDocument* document, unsigned int r return isSetGeometricShapeRadiusX(getLineEndingRenderGroup(document, renderIndex, id), geometricShapeIndex); } +bool isSetSpeciesReferenceLineEndingGeometricShapeRadiusX(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex) { + return isSetSpeciesReferenceLineEndingGeometricShapeRadiusX(document, 0, reactionId, reactionGlyphIndex, speciesReferenceIndex, geometricShapeIndex); +} + +bool isSetSpeciesReferenceLineEndingGeometricShapeRadiusX(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex) { + return isSetGeometricShapeRadiusX(getRenderGroup(getSpeciesReferenceLineEnding(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceIndex)), geometricShapeIndex); +} + const RelAbsVector getLineEndingGeometricShapeRadiusX(SBMLDocument* document, const std::string& id, unsigned int geometricShapeIndex) { return getGeometricShapeRadiusX(getLineEndingRenderGroup(document, id), geometricShapeIndex); } @@ -1655,14 +2695,32 @@ const RelAbsVector getLineEndingGeometricShapeRadiusX(SBMLDocument* document, un return getGeometricShapeRadiusX(getLineEndingRenderGroup(document, renderIndex, id), geometricShapeIndex); } +const RelAbsVector getSpeciesReferenceLineEndingGeometricShapeRadiusX(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex) { + return getSpeciesReferenceLineEndingGeometricShapeRadiusX(document, 0, reactionId, reactionGlyphIndex, speciesReferenceIndex, geometricShapeIndex); +} + +const RelAbsVector getSpeciesReferenceLineEndingGeometricShapeRadiusX(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex) { + return getGeometricShapeRadiusX(getRenderGroup(getSpeciesReferenceLineEnding(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceIndex)), geometricShapeIndex); +} + const double getLineEndingGeometricShapeRadiusXAsDouble(SBMLDocument* document, const std::string& id, unsigned int geometricShapeIndex) { RelAbsVector rXVector = getLineEndingGeometricShapeRadiusX(document, id, geometricShapeIndex); - return getAbsoluteValue(rXVector) + 0.01 * getDimensionWidth(getLineEndingBoundingBox(document, id)) * getRelativeValue(rXVector); + return getAbsoluteValue(rXVector) + 0.01 * getLineEndingBoundingBoxWidth(document, id) * getRelativeValue(rXVector); } const double getLineEndingGeometricShapeRadiusXAsDouble(SBMLDocument* document, unsigned int renderIndex, const std::string& id, unsigned int geometricShapeIndex) { RelAbsVector rXVector = getLineEndingGeometricShapeRadiusX(document, renderIndex, id, geometricShapeIndex); - return getAbsoluteValue(rXVector) + 0.01 * getDimensionWidth(getLineEndingBoundingBox(document, renderIndex, id)) * getRelativeValue(rXVector); + return getAbsoluteValue(rXVector) + 0.01 * getLineEndingBoundingBoxWidth(document, renderIndex, id) * getRelativeValue(rXVector); +} + +const double getSpeciesReferenceLineEndingGeometricShapeRadiusXAsDouble(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex) { + RelAbsVector radiusX = getSpeciesReferenceLineEndingGeometricShapeRadiusX(document, reactionId, reactionGlyphIndex, speciesReferenceIndex, geometricShapeIndex); + return getAbsoluteValue(radiusX) + 0.01 * getSpeciesReferenceLineEndingBoundingBoxWidth(document, reactionId, reactionGlyphIndex, speciesReferenceIndex) * getRelativeValue(radiusX); +} + +const double getSpeciesReferenceLineEndingGeometricShapeRadiusXAsDouble(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex) { + RelAbsVector radiusX = getSpeciesReferenceLineEndingGeometricShapeRadiusX(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceIndex, geometricShapeIndex); + return getAbsoluteValue(radiusX) + 0.01 * getSpeciesReferenceLineEndingBoundingBoxWidth(document, reactionId, reactionGlyphIndex, speciesReferenceIndex) * getRelativeValue(radiusX); } int setLineEndingGeometricShapeRadiusX(SBMLDocument* document, const std::string& id, unsigned int geometricShapeIndex, const RelAbsVector& radiusX) { @@ -1673,6 +2731,32 @@ int setLineEndingGeometricShapeRadiusX(SBMLDocument* document, unsigned int rend return setGeometricShapeRadiusX(getLineEndingRenderGroup(document, renderIndex, id), geometricShapeIndex, radiusX); } +int setSpeciesReferenceLineEndingGeometricShapeRadiusX(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex, const RelAbsVector& radiusX) { + return setGeometricShapeRadiusX(getRenderGroup(getSpeciesReferenceLocalLineEnding(document, reactionId, reactionGlyphIndex, speciesReferenceIndex)), geometricShapeIndex, radiusX); +} + +int setSpeciesReferenceLineEndingGeometricShapeRadiusX(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex, const RelAbsVector& radiusX) { + return setGeometricShapeRadiusX(getRenderGroup(getSpeciesReferenceLocalLineEnding(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceIndex)), geometricShapeIndex, radiusX); +} + +int setReactionLineEndingGeometricShapeRadiusX(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int geometricShapeIndex, const RelAbsVector& radiusX) { + int isSetSuccessfully = -1; + for (unsigned int i = 0; i < getNumSpeciesReferenceGlyphs(document, reactionId, reactionGlyphIndex); i++) + if (!setSpeciesReferenceLineEndingGeometricShapeRadiusX(document, reactionId, reactionGlyphIndex, i, geometricShapeIndex, radiusX)) + isSetSuccessfully = 0; + + return isSetSuccessfully; +} + +int setReactionLineEndingGeometricShapeRadiusX(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int geometricShapeIndex, const RelAbsVector& radiusX) { + int isSetSuccessfully = -1; + for (unsigned int i = 0; i < getNumSpeciesReferenceGlyphs(document, reactionId, reactionGlyphIndex); i++) + if (!setSpeciesReferenceLineEndingGeometricShapeRadiusX(document, layoutIndex, reactionId, reactionGlyphIndex, i, geometricShapeIndex, radiusX)) + isSetSuccessfully = 0; + + return isSetSuccessfully; +} + int setLineEndingGeometricShapeRadiusXAsDouble(SBMLDocument* document, const std::string& id, unsigned int geometricShapeIndex, const double& radiusX) { return setGeometricShapeRadiusXAsDouble(getLineEndingRenderGroup(document, id), geometricShapeIndex, radiusX); } @@ -1681,6 +2765,32 @@ int setLineEndingGeometricShapeRadiusXAsDouble(SBMLDocument* document, unsigned return setGeometricShapeRadiusXAsDouble(getLineEndingRenderGroup(document, renderIndex, id), geometricShapeIndex, radiusX); } +int setSpeciesReferenceLineEndingGeometricShapeRadiusXAsDouble(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex, const double& radiusX) { + return setGeometricShapeRadiusXAsDouble(getRenderGroup(getSpeciesReferenceLocalLineEnding(document, reactionId, reactionGlyphIndex, speciesReferenceIndex)), geometricShapeIndex, radiusX); +} + +int setSpeciesReferenceLineEndingGeometricShapeRadiusXAsDouble(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex, const double& radiusX) { + return setGeometricShapeRadiusXAsDouble(getRenderGroup(getSpeciesReferenceLocalLineEnding(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceIndex)), geometricShapeIndex, radiusX); +} + +int setReactionLineEndingGeometricShapeRadiusXAsDouble(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int geometricShapeIndex, const double& radiusX) { + int isSetSuccessfully = -1; + for (unsigned int i = 0; i < getNumSpeciesReferenceGlyphs(document, reactionId, reactionGlyphIndex); i++) + if (!setSpeciesReferenceLineEndingGeometricShapeRadiusXAsDouble(document, reactionId, reactionGlyphIndex, i, geometricShapeIndex, radiusX)) + isSetSuccessfully = 0; + + return isSetSuccessfully; +} + +int setReactionLineEndingGeometricShapeRadiusXAsDouble(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int geometricShapeIndex, const double& radiusX) { + int isSetSuccessfully = -1; + for (unsigned int i = 0; i < getNumSpeciesReferenceGlyphs(document, reactionId, reactionGlyphIndex); i++) + if (!setSpeciesReferenceLineEndingGeometricShapeRadiusXAsDouble(document, layoutIndex, reactionId, reactionGlyphIndex, i, geometricShapeIndex, radiusX)) + isSetSuccessfully = 0; + + return isSetSuccessfully; +} + bool isSetLineEndingGeometricShapeRadiusY(SBMLDocument* document, const std::string& id, unsigned int geometricShapeIndex) { return isSetGeometricShapeRadiusY(getLineEndingRenderGroup(document, id), geometricShapeIndex); } @@ -1689,6 +2799,14 @@ bool isSetLineEndingGeometricShapeRadiusY(SBMLDocument* document, unsigned int r return isSetGeometricShapeRadiusY(getLineEndingRenderGroup(document, renderIndex, id), geometricShapeIndex); } +bool isSetSpeciesReferenceLineEndingGeometricShapeRadiusY(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex) { + return isSetSpeciesReferenceLineEndingGeometricShapeRadiusY(document, 0, reactionId, reactionGlyphIndex, speciesReferenceIndex, geometricShapeIndex); +} + +bool isSetSpeciesReferenceLineEndingGeometricShapeRadiusY(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex) { + return isSetGeometricShapeRadiusY(getRenderGroup(getSpeciesReferenceLineEnding(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceIndex)), geometricShapeIndex); +} + const RelAbsVector getLineEndingGeometricShapeRadiusY(SBMLDocument* document, const std::string& id, unsigned int geometricShapeIndex) { return getGeometricShapeRadiusY(getLineEndingRenderGroup(document, id), geometricShapeIndex); } @@ -1697,14 +2815,32 @@ const RelAbsVector getLineEndingGeometricShapeRadiusY(SBMLDocument* document, un return getGeometricShapeRadiusY(getLineEndingRenderGroup(document, renderIndex, id), geometricShapeIndex); } +const RelAbsVector getSpeciesReferenceLineEndingGeometricShapeRadiusY(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex) { + return getSpeciesReferenceLineEndingGeometricShapeRadiusY(document, 0, reactionId, reactionGlyphIndex, speciesReferenceIndex, geometricShapeIndex); +} + +const RelAbsVector getSpeciesReferenceLineEndingGeometricShapeRadiusY(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex) { + return getGeometricShapeRadiusY(getRenderGroup(getSpeciesReferenceLineEnding(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceIndex)), geometricShapeIndex); +} + const double getLineEndingGeometricShapeRadiusYAsDouble(SBMLDocument* document, const std::string& id, unsigned int geometricShapeIndex) { RelAbsVector rYVector = getLineEndingGeometricShapeRadiusY(document, id, geometricShapeIndex); - return getAbsoluteValue(rYVector) + 0.01 * getDimensionHeight(getLineEndingBoundingBox(document, id)) * getRelativeValue(rYVector); + return getAbsoluteValue(rYVector) + 0.01 * getLineEndingBoundingBoxHeight(document, id) * getRelativeValue(rYVector); } const double getLineEndingGeometricShapeRadiusYAsDouble(SBMLDocument* document, unsigned int renderIndex, const std::string& id, unsigned int geometricShapeIndex) { RelAbsVector rYVector = getLineEndingGeometricShapeRadiusY(document, renderIndex, id, geometricShapeIndex); - return getAbsoluteValue(rYVector) + 0.01 * getDimensionHeight(getLineEndingBoundingBox(document, renderIndex, id)) * getRelativeValue(rYVector); + return getAbsoluteValue(rYVector) + 0.01 * getLineEndingBoundingBoxHeight(document, renderIndex, id) * getRelativeValue(rYVector); +} + +const double getSpeciesReferenceLineEndingGeometricShapeRadiusYAsDouble(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex) { + RelAbsVector radiusY = getSpeciesReferenceLineEndingGeometricShapeRadiusY(document, reactionId, reactionGlyphIndex, speciesReferenceIndex, geometricShapeIndex); + return getAbsoluteValue(radiusY) + 0.01 * getSpeciesReferenceLineEndingBoundingBoxHeight(document, reactionId, reactionGlyphIndex, speciesReferenceIndex) * getRelativeValue(radiusY); +} + +const double getSpeciesReferenceLineEndingGeometricShapeRadiusYAsDouble(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex) { + RelAbsVector radiusY = getSpeciesReferenceLineEndingGeometricShapeRadiusY(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceIndex, geometricShapeIndex); + return getAbsoluteValue(radiusY) + 0.01 * getSpeciesReferenceLineEndingBoundingBoxHeight(document, reactionId, reactionGlyphIndex, speciesReferenceIndex) * getRelativeValue(radiusY); } int setLineEndingGeometricShapeRadiusY(SBMLDocument* document, const std::string& id, unsigned int geometricShapeIndex, const RelAbsVector& radiusY) { @@ -1715,6 +2851,32 @@ int setLineEndingGeometricShapeRadiusY(SBMLDocument* document, unsigned int rend return setGeometricShapeRadiusY(getLineEndingRenderGroup(document, renderIndex, id), geometricShapeIndex, radiusY); } +int setSpeciesReferenceLineEndingGeometricShapeRadiusY(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex, const RelAbsVector& radiusY) { + return setGeometricShapeRadiusY(getRenderGroup(getSpeciesReferenceLocalLineEnding(document, reactionId, reactionGlyphIndex, speciesReferenceIndex)), geometricShapeIndex, radiusY); +} + +int setSpeciesReferenceLineEndingGeometricShapeRadiusY(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex, const RelAbsVector& radiusY) { + return setGeometricShapeRadiusY(getRenderGroup(getSpeciesReferenceLocalLineEnding(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceIndex)), geometricShapeIndex, radiusY); +} + +int setReactionLineEndingGeometricShapeRadiusY(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int geometricShapeIndex, const RelAbsVector& radiusY) { + int isSetSuccessfully = -1; + for (unsigned int i = 0; i < getNumSpeciesReferenceGlyphs(document, reactionId, reactionGlyphIndex); i++) + if (!setSpeciesReferenceLineEndingGeometricShapeRadiusY(document, reactionId, reactionGlyphIndex, i, geometricShapeIndex, radiusY)) + isSetSuccessfully = 0; + + return isSetSuccessfully; +} + +int setReactionLineEndingGeometricShapeRadiusY(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int geometricShapeIndex, const RelAbsVector& radiusY) { + int isSetSuccessfully = -1; + for (unsigned int i = 0; i < getNumSpeciesReferenceGlyphs(document, reactionId, reactionGlyphIndex); i++) + if (!setSpeciesReferenceLineEndingGeometricShapeRadiusY(document, layoutIndex, reactionId, reactionGlyphIndex, i, geometricShapeIndex, radiusY)) + isSetSuccessfully = 0; + + return isSetSuccessfully; +} + int setLineEndingGeometricShapeRadiusYAsDouble(SBMLDocument* document, const std::string& id, unsigned int geometricShapeIndex, const double& radiusY) { return setGeometricShapeRadiusYAsDouble(getLineEndingRenderGroup(document, id), geometricShapeIndex, radiusY); } @@ -1723,6 +2885,32 @@ int setLineEndingGeometricShapeRadiusYAsDouble(SBMLDocument* document, unsigned return setGeometricShapeRadiusYAsDouble(getLineEndingRenderGroup(document, renderIndex, id), geometricShapeIndex, radiusY); } +int setSpeciesReferenceLineEndingGeometricShapeRadiusYAsDouble(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex, const double& radiusY) { + return setGeometricShapeRadiusYAsDouble(getRenderGroup(getSpeciesReferenceLocalLineEnding(document, reactionId, reactionGlyphIndex, speciesReferenceIndex)), geometricShapeIndex, radiusY); +} + +int setSpeciesReferenceLineEndingGeometricShapeRadiusYAsDouble(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex, const double& radiusY) { + return setGeometricShapeRadiusYAsDouble(getRenderGroup(getSpeciesReferenceLocalLineEnding(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceIndex)), geometricShapeIndex, radiusY); +} + +int setReactionLineEndingGeometricShapeRadiusYAsDouble(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int geometricShapeIndex, const double& radiusY) { + int isSetSuccessfully = -1; + for (unsigned int i = 0; i < getNumSpeciesReferenceGlyphs(document, reactionId, reactionGlyphIndex); i++) + if (!setSpeciesReferenceLineEndingGeometricShapeRadiusYAsDouble(document, reactionId, reactionGlyphIndex, i, geometricShapeIndex, radiusY)) + isSetSuccessfully = 0; + + return isSetSuccessfully; +} + +int setReactionLineEndingGeometricShapeRadiusYAsDouble(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int geometricShapeIndex, const double& radiusY) { + int isSetSuccessfully = -1; + for (unsigned int i = 0; i < getNumSpeciesReferenceGlyphs(document, reactionId, reactionGlyphIndex); i++) + if (!setSpeciesReferenceLineEndingGeometricShapeRadiusYAsDouble(document, layoutIndex, reactionId, reactionGlyphIndex, i, geometricShapeIndex, radiusY)) + isSetSuccessfully = 0; + + return isSetSuccessfully; +} + const unsigned int getLineEndingGeometricShapeNumElements(SBMLDocument* document, const std::string& id, unsigned int geometricShapeIndex) { return getGeometricShapeNumElements(getLineEndingRenderGroup(document, id), geometricShapeIndex); } @@ -1731,6 +2919,14 @@ const unsigned int getLineEndingGeometricShapeNumElements(SBMLDocument* document return getGeometricShapeNumElements(getLineEndingRenderGroup(document, renderIndex, id), geometricShapeIndex); } +const unsigned int getSpeciesReferenceLineEndingGeometricShapeNumElements(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex) { + return getSpeciesReferenceLineEndingGeometricShapeNumElements(document, 0, reactionId, reactionGlyphIndex, speciesReferenceIndex, geometricShapeIndex); +} + +const unsigned int getSpeciesReferenceLineEndingGeometricShapeNumElements(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex) { + return getGeometricShapeNumElements(getRenderGroup(getSpeciesReferenceLineEnding(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceIndex)), geometricShapeIndex); +} + bool isLineEndingGeometricShapeElementCubicBezier(SBMLDocument* document, const std::string& id, unsigned int geometricShapeIndex, unsigned int elementIndex) { return isRenderCubicBezier(getLineEndingRenderGroup(document, id), geometricShapeIndex, elementIndex); } @@ -1739,6 +2935,14 @@ bool isLineEndingGeometricShapeElementCubicBezier(SBMLDocument* document, unsign return isRenderCubicBezier(getLineEndingRenderGroup(document, renderIndex, id), geometricShapeIndex, elementIndex); } +bool isSpeciesReferenceLineEndingGeometricShapeElementCubicBezier(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex, unsigned int elementIndex) { + return isSpeciesReferenceLineEndingGeometricShapeElementCubicBezier(document, 0, reactionId, reactionGlyphIndex, speciesReferenceIndex, geometricShapeIndex, elementIndex); +} + +bool isSpeciesReferenceLineEndingGeometricShapeElementCubicBezier(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex, unsigned int elementIndex) { + return isRenderCubicBezier(getRenderGroup(getSpeciesReferenceLineEnding(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceIndex)), geometricShapeIndex, elementIndex); +} + const RelAbsVector getLineEndingGeometricShapeElementX(SBMLDocument* document, const std::string& id, unsigned int geometricShapeIndex, unsigned int elementIndex) { return getGeometricShapeElementX(getLineEndingRenderGroup(document, id), geometricShapeIndex, elementIndex); } @@ -1747,14 +2951,32 @@ const RelAbsVector getLineEndingGeometricShapeElementX(SBMLDocument* document, u return getGeometricShapeElementX(getLineEndingRenderGroup(document, renderIndex, id), geometricShapeIndex, elementIndex); } +const RelAbsVector getSpeciesReferenceLineEndingGeometricShapeElementX(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex, unsigned int elementIndex) { + return getSpeciesReferenceLineEndingGeometricShapeElementX(document, 0, reactionId, reactionGlyphIndex, speciesReferenceIndex, geometricShapeIndex, elementIndex); +} + +const RelAbsVector getSpeciesReferenceLineEndingGeometricShapeElementX(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex, unsigned int elementIndex) { + return getGeometricShapeElementX(getRenderGroup(getSpeciesReferenceLineEnding(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceIndex)), geometricShapeIndex, elementIndex); +} + const double getLineEndingGeometricShapeElementXAsDouble(SBMLDocument* document, const std::string& id, unsigned int geometricShapeIndex, unsigned int elementIndex) { RelAbsVector elementXVector = getLineEndingGeometricShapeElementX(document, id, geometricShapeIndex, elementIndex); - return getAbsoluteValue(elementXVector) + 0.01 * getDimensionWidth(getLineEndingBoundingBox(document, id)) * getRelativeValue(elementXVector); + return getAbsoluteValue(elementXVector) + 0.01 * getLineEndingBoundingBoxWidth(document, id) * getRelativeValue(elementXVector); } const double getLineEndingGeometricShapeElementXAsDouble(SBMLDocument* document, unsigned int renderIndex, const std::string& id, unsigned int geometricShapeIndex, unsigned int elementIndex) { RelAbsVector elementXVector = getLineEndingGeometricShapeElementX(document, renderIndex, id, geometricShapeIndex, elementIndex); - return getAbsoluteValue(elementXVector) + 0.01 * getDimensionWidth(getLineEndingBoundingBox(document, renderIndex, id)) * getRelativeValue(elementXVector); + return getAbsoluteValue(elementXVector) + 0.01 * getLineEndingBoundingBoxWidth(document, renderIndex, id) * getRelativeValue(elementXVector); +} + +const double getSpeciesReferenceLineEndingGeometricShapeElementXAsDouble(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex, unsigned int elementIndex) { + RelAbsVector x = getSpeciesReferenceLineEndingGeometricShapeElementX(document, reactionId, reactionGlyphIndex, speciesReferenceIndex, geometricShapeIndex, elementIndex); + return getAbsoluteValue(x) + 0.01 * getSpeciesReferenceLineEndingBoundingBoxWidth(document, reactionId, reactionGlyphIndex, speciesReferenceIndex) * getRelativeValue(x); +} + +const double getSpeciesReferenceLineEndingGeometricShapeElementXAsDouble(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex, unsigned int elementIndex) { + RelAbsVector x = getSpeciesReferenceLineEndingGeometricShapeElementX(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceIndex, geometricShapeIndex, elementIndex); + return getAbsoluteValue(x) + 0.01 * getSpeciesReferenceLineEndingBoundingBoxWidth(document, reactionId, reactionGlyphIndex, speciesReferenceIndex) * getRelativeValue(x); } int setLineEndingGeometricShapeElementX(SBMLDocument* document, const std::string& id, unsigned int geometricShapeIndex, unsigned int elementIndex, const RelAbsVector& x) { @@ -1765,6 +2987,32 @@ int setLineEndingGeometricShapeElementX(SBMLDocument* document, unsigned int ren return setGeometricShapeElementX(getLineEndingRenderGroup(document, renderIndex, id), geometricShapeIndex, elementIndex, x); } +int setSpeciesReferenceLineEndingGeometricShapeElementX(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex, unsigned int elementIndex, const RelAbsVector& x) { + return setGeometricShapeElementX(getRenderGroup(getSpeciesReferenceLocalLineEnding(document, reactionId, reactionGlyphIndex, speciesReferenceIndex)), geometricShapeIndex, elementIndex, x); +} + +int setSpeciesReferenceLineEndingGeometricShapeElementX(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex, unsigned int elementIndex, const RelAbsVector& x) { + return setGeometricShapeElementX(getRenderGroup(getSpeciesReferenceLocalLineEnding(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceIndex)), geometricShapeIndex, elementIndex, x); +} + +int setReactionLineEndingGeometricShapeElementX(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int geometricShapeIndex, unsigned int elementIndex, const RelAbsVector& x) { + int isSetSuccessfully = -1; + for (unsigned int i = 0; i < getNumSpeciesReferenceGlyphs(document, reactionId, reactionGlyphIndex); i++) + if (!setSpeciesReferenceLineEndingGeometricShapeElementX(document, reactionId, reactionGlyphIndex, i, geometricShapeIndex, elementIndex, x)) + isSetSuccessfully = 0; + + return isSetSuccessfully; +} + +int setReactionLineEndingGeometricShapeElementX(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int geometricShapeIndex, unsigned int elementIndex, const RelAbsVector& x) { + int isSetSuccessfully = -1; + for (unsigned int i = 0; i < getNumSpeciesReferenceGlyphs(document, reactionId, reactionGlyphIndex); i++) + if (!setSpeciesReferenceLineEndingGeometricShapeElementX(document, layoutIndex, reactionId, reactionGlyphIndex, i, geometricShapeIndex, elementIndex, x)) + isSetSuccessfully = 0; + + return isSetSuccessfully; +} + int setLineEndingGeometricShapeElementXAsDouble(SBMLDocument* document, const std::string& id, unsigned int geometricShapeIndex, unsigned int elementIndex, const double& x) { return setGeometricShapeElementXAsDouble(getLineEndingRenderGroup(document, id), geometricShapeIndex, elementIndex, x); } @@ -1773,6 +3021,32 @@ int setLineEndingGeometricShapeElementXAsDouble(SBMLDocument* document, unsigned return setGeometricShapeElementXAsDouble(getLineEndingRenderGroup(document, renderIndex, id), geometricShapeIndex, elementIndex, x); } +int setSpeciesReferenceLineEndingGeometricShapeElementXAsDouble(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex, unsigned int elementIndex, const double& x) { + return setGeometricShapeElementXAsDouble(getRenderGroup(getSpeciesReferenceLocalLineEnding(document, reactionId, reactionGlyphIndex, speciesReferenceIndex)), geometricShapeIndex, elementIndex, x); +} + +int setSpeciesReferenceLineEndingGeometricShapeElementXAsDouble(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex, unsigned int elementIndex, const double& x) { + return setGeometricShapeElementXAsDouble(getRenderGroup(getSpeciesReferenceLocalLineEnding(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceIndex)), geometricShapeIndex, elementIndex, x); +} + +int setReactionLineEndingGeometricShapeElementXAsDouble(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int geometricShapeIndex, unsigned int elementIndex, const double& x) { + int isSetSuccessfully = -1; + for (unsigned int i = 0; i < getNumSpeciesReferenceGlyphs(document, reactionId, reactionGlyphIndex); i++) + if (!setSpeciesReferenceLineEndingGeometricShapeElementXAsDouble(document, reactionId, reactionGlyphIndex, i, geometricShapeIndex, elementIndex, x)) + isSetSuccessfully = 0; + + return isSetSuccessfully; +} + +int setReactionLineEndingGeometricShapeElementXAsDouble(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int geometricShapeIndex, unsigned int elementIndex, const double& x) { + int isSetSuccessfully = -1; + for (unsigned int i = 0; i < getNumSpeciesReferenceGlyphs(document, reactionId, reactionGlyphIndex); i++) + if (!setSpeciesReferenceLineEndingGeometricShapeElementXAsDouble(document, layoutIndex, reactionId, reactionGlyphIndex, i, geometricShapeIndex, elementIndex, x)) + isSetSuccessfully = 0; + + return isSetSuccessfully; +} + const RelAbsVector getLineEndingGeometricShapeElementY(SBMLDocument* document, const std::string& id, unsigned int geometricShapeIndex, unsigned int elementIndex) { return getGeometricShapeElementY(getLineEndingRenderGroup(document, id), geometricShapeIndex, elementIndex); } @@ -1781,14 +3055,32 @@ const RelAbsVector getLineEndingGeometricShapeElementY(SBMLDocument* document, u return getGeometricShapeElementY(getLineEndingRenderGroup(document, renderIndex, id), geometricShapeIndex, elementIndex); } +const RelAbsVector getSpeciesReferenceLineEndingGeometricShapeElementY(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex, unsigned int elementIndex) { + return getSpeciesReferenceLineEndingGeometricShapeElementY(document, 0, reactionId, reactionGlyphIndex, speciesReferenceIndex, geometricShapeIndex, elementIndex); +} + +const RelAbsVector getSpeciesReferenceLineEndingGeometricShapeElementY(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex, unsigned int elementIndex) { + return getGeometricShapeElementY(getRenderGroup(getSpeciesReferenceLineEnding(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceIndex)), geometricShapeIndex, elementIndex); +} + const double getLineEndingGeometricShapeElementYAsDouble(SBMLDocument* document, const std::string& id, unsigned int geometricShapeIndex, unsigned int elementIndex) { RelAbsVector elementYVector = getLineEndingGeometricShapeElementY(document, id, geometricShapeIndex, elementIndex); - return getAbsoluteValue(elementYVector) + 0.01 * getDimensionHeight(getLineEndingBoundingBox(document, id)) * getRelativeValue(elementYVector); + return getAbsoluteValue(elementYVector) + 0.01 * getLineEndingBoundingBoxHeight(document, id) * getRelativeValue(elementYVector); } const double getLineEndingGeometricShapeElementYAsDouble(SBMLDocument* document, unsigned int renderIndex, const std::string& id, unsigned int geometricShapeIndex, unsigned int elementIndex) { RelAbsVector elementYVector = getLineEndingGeometricShapeElementY(document, renderIndex, id, geometricShapeIndex, elementIndex); - return getAbsoluteValue(elementYVector) + 0.01 * getDimensionHeight(getLineEndingBoundingBox(document, renderIndex, id)) * getRelativeValue(elementYVector); + return getAbsoluteValue(elementYVector) + 0.01 * getLineEndingBoundingBoxHeight(document, renderIndex, id) * getRelativeValue(elementYVector); +} + +const double getSpeciesReferenceLineEndingGeometricShapeElementYAsDouble(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex, unsigned int elementIndex) { + RelAbsVector y = getSpeciesReferenceLineEndingGeometricShapeElementY(document, reactionId, reactionGlyphIndex, speciesReferenceIndex, geometricShapeIndex, elementIndex); + return getAbsoluteValue(y) + 0.01 * getSpeciesReferenceLineEndingBoundingBoxHeight(document, reactionId, reactionGlyphIndex, speciesReferenceIndex) * getRelativeValue(y); +} + +const double getSpeciesReferenceLineEndingGeometricShapeElementYAsDouble(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex, unsigned int elementIndex) { + RelAbsVector y = getSpeciesReferenceLineEndingGeometricShapeElementY(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceIndex, geometricShapeIndex, elementIndex); + return getAbsoluteValue(y) + 0.01 * getSpeciesReferenceLineEndingBoundingBoxHeight(document, reactionId, reactionGlyphIndex, speciesReferenceIndex) * getRelativeValue(y); } int setLineEndingGeometricShapeElementY(SBMLDocument* document, const std::string& id, unsigned int geometricShapeIndex, unsigned int elementIndex, const RelAbsVector& y) { @@ -1799,6 +3091,32 @@ int setLineEndingGeometricShapeElementY(SBMLDocument* document, unsigned int ren return setGeometricShapeElementY(getLineEndingRenderGroup(document, renderIndex, id), geometricShapeIndex, elementIndex, y); } +int setSpeciesReferenceLineEndingGeometricShapeElementY(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex, unsigned int elementIndex, const RelAbsVector& y) { + return setGeometricShapeElementY(getRenderGroup(getSpeciesReferenceLocalLineEnding(document, reactionId, reactionGlyphIndex, speciesReferenceIndex)), geometricShapeIndex, elementIndex, y); +} + +int setSpeciesReferenceLineEndingGeometricShapeElementY(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex, unsigned int elementIndex, const RelAbsVector& y) { + return setGeometricShapeElementY(getRenderGroup(getSpeciesReferenceLocalLineEnding(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceIndex)), geometricShapeIndex, elementIndex, y); +} + +int setReactionLineEndingGeometricShapeElementY(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int geometricShapeIndex, unsigned int elementIndex, const RelAbsVector& y) { + int isSetSuccessfully = -1; + for (unsigned int i = 0; i < getNumSpeciesReferenceGlyphs(document, reactionId, reactionGlyphIndex); i++) + if (!setSpeciesReferenceLineEndingGeometricShapeElementY(document, reactionId, reactionGlyphIndex, i, geometricShapeIndex, elementIndex, y)) + isSetSuccessfully = 0; + + return isSetSuccessfully; +} + +int setReactionLineEndingGeometricShapeElementY(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int geometricShapeIndex, unsigned int elementIndex, const RelAbsVector& y) { + int isSetSuccessfully = -1; + for (unsigned int i = 0; i < getNumSpeciesReferenceGlyphs(document, reactionId, reactionGlyphIndex); i++) + if (!setSpeciesReferenceLineEndingGeometricShapeElementY(document, layoutIndex, reactionId, reactionGlyphIndex, i, geometricShapeIndex, elementIndex, y)) + isSetSuccessfully = 0; + + return isSetSuccessfully; +} + int setLineEndingGeometricShapeElementYAsDouble(SBMLDocument* document, const std::string& id, unsigned int geometricShapeIndex, unsigned int elementIndex, const double& y) { return setGeometricShapeElementYAsDouble(getLineEndingRenderGroup(document, id), geometricShapeIndex, elementIndex, y); } @@ -1807,6 +3125,32 @@ int setLineEndingGeometricShapeElementYAsDouble(SBMLDocument* document, unsigned return setGeometricShapeElementYAsDouble(getLineEndingRenderGroup(document, renderIndex, id), geometricShapeIndex, elementIndex, y); } +int setSpeciesReferenceLineEndingGeometricShapeElementYAsDouble(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex, unsigned int elementIndex, const double& y) { + return setGeometricShapeElementYAsDouble(getRenderGroup(getSpeciesReferenceLocalLineEnding(document, reactionId, reactionGlyphIndex, speciesReferenceIndex)), geometricShapeIndex, elementIndex, y); +} + +int setSpeciesReferenceLineEndingGeometricShapeElementYAsDouble(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex, unsigned int elementIndex, const double& y) { + return setGeometricShapeElementYAsDouble(getRenderGroup(getSpeciesReferenceLocalLineEnding(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceIndex)), geometricShapeIndex, elementIndex, y); +} + +int setReactionLineEndingGeometricShapeElementYAsDouble(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int geometricShapeIndex, unsigned int elementIndex, const double& y) { + int isSetSuccessfully = -1; + for (unsigned int i = 0; i < getNumSpeciesReferenceGlyphs(document, reactionId, reactionGlyphIndex); i++) + if (!setSpeciesReferenceLineEndingGeometricShapeElementYAsDouble(document, reactionId, reactionGlyphIndex, i, geometricShapeIndex, elementIndex, y)) + isSetSuccessfully = 0; + + return isSetSuccessfully; +} + +int setReactionLineEndingGeometricShapeElementYAsDouble(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int geometricShapeIndex, unsigned int elementIndex, const double& y) { + int isSetSuccessfully = -1; + for (unsigned int i = 0; i < getNumSpeciesReferenceGlyphs(document, reactionId, reactionGlyphIndex); i++) + if (!setSpeciesReferenceLineEndingGeometricShapeElementYAsDouble(document, layoutIndex, reactionId, reactionGlyphIndex, i, geometricShapeIndex, elementIndex, y)) + isSetSuccessfully = 0; + + return isSetSuccessfully; +} + const RelAbsVector getLineEndingGeometricShapeBasePoint1X(SBMLDocument* document, const std::string& id, unsigned int geometricShapeIndex, unsigned int elementIndex) { return getGeometricShapeBasePoint1X(getLineEndingRenderGroup(document, id), geometricShapeIndex); } @@ -1815,14 +3159,32 @@ const RelAbsVector getLineEndingGeometricShapeBasePoint1X(SBMLDocument* document return getGeometricShapeBasePoint1X(getLineEndingRenderGroup(document, renderIndex, id), geometricShapeIndex); } +const RelAbsVector getSpeciesReferenceLineEndingGeometricShapeBasePoint1X(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex, unsigned int elementIndex) { + return getSpeciesReferenceLineEndingGeometricShapeBasePoint1X(document, 0, reactionId, reactionGlyphIndex, speciesReferenceIndex, geometricShapeIndex, elementIndex); +} + +const RelAbsVector getSpeciesReferenceLineEndingGeometricShapeBasePoint1X(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex, unsigned int elementIndex) { + return getGeometricShapeBasePoint1X(getRenderGroup(getSpeciesReferenceLineEnding(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceIndex)), geometricShapeIndex, elementIndex); +} + const double getLineEndingGeometricShapeBasePoint1XAsDouble(SBMLDocument* document, const std::string& id, unsigned int geometricShapeIndex, unsigned int elementIndex) { RelAbsVector basePoint1XVector = getLineEndingGeometricShapeBasePoint1X(document, id, geometricShapeIndex); - return getAbsoluteValue(basePoint1XVector) + 0.01 * getDimensionWidth(getLineEndingBoundingBox(document, id)) * getRelativeValue(basePoint1XVector); + return getAbsoluteValue(basePoint1XVector) + 0.01 * getLineEndingBoundingBoxWidth(document, id) * getRelativeValue(basePoint1XVector); } const double getLineEndingGeometricShapeBasePoint1XAsDouble(SBMLDocument* document, unsigned int renderIndex, const std::string& id, unsigned int geometricShapeIndex, unsigned int elementIndex) { RelAbsVector basePoint1XVector = getLineEndingGeometricShapeBasePoint1X(document, renderIndex, id, geometricShapeIndex); - return getAbsoluteValue(basePoint1XVector) + 0.01 * getDimensionWidth(getLineEndingBoundingBox(document, renderIndex, id)) * getRelativeValue(basePoint1XVector); + return getAbsoluteValue(basePoint1XVector) + 0.01 * getLineEndingBoundingBoxWidth(document, renderIndex, id) * getRelativeValue(basePoint1XVector); +} + +const double getSpeciesReferenceLineEndingGeometricShapeBasePoint1XAsDouble(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex, unsigned int elementIndex) { + RelAbsVector basePoint1X = getSpeciesReferenceLineEndingGeometricShapeBasePoint1X(document, reactionId, reactionGlyphIndex, speciesReferenceIndex, geometricShapeIndex, elementIndex); + return getAbsoluteValue(basePoint1X) + 0.01 * getSpeciesReferenceLineEndingBoundingBoxWidth(document, reactionId, reactionGlyphIndex, speciesReferenceIndex) * getRelativeValue(basePoint1X); +} + +const double getSpeciesReferenceLineEndingGeometricShapeBasePoint1XAsDouble(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex, unsigned int elementIndex) { + RelAbsVector basePoint1X = getSpeciesReferenceLineEndingGeometricShapeBasePoint1X(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceIndex, geometricShapeIndex, elementIndex); + return getAbsoluteValue(basePoint1X) + 0.01 * getSpeciesReferenceLineEndingBoundingBoxWidth(document, reactionId, reactionGlyphIndex, speciesReferenceIndex) * getRelativeValue(basePoint1X); } int setLineEndingGeometricShapeBasePoint1X(SBMLDocument* document, const std::string& id, unsigned int geometricShapeIndex, unsigned int elementIndex, const RelAbsVector& basePoint1X) { @@ -1833,6 +3195,32 @@ int setLineEndingGeometricShapeBasePoint1X(SBMLDocument* document, unsigned int return setGeometricShapeBasePoint1X(getLineEndingRenderGroup(document, renderIndex, id), geometricShapeIndex, elementIndex, basePoint1X); } +int setSpeciesReferenceLineEndingGeometricShapeBasePoint1X(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex, unsigned int elementIndex, const RelAbsVector& basePoint1X) { + return setGeometricShapeBasePoint1X(getRenderGroup(getSpeciesReferenceLocalLineEnding(document, reactionId, reactionGlyphIndex, speciesReferenceIndex)), geometricShapeIndex, elementIndex, basePoint1X); +} + +int setSpeciesReferenceLineEndingGeometricShapeBasePoint1X(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex, unsigned int elementIndex, const RelAbsVector& basePoint1X) { + return setGeometricShapeBasePoint1X(getRenderGroup(getSpeciesReferenceLocalLineEnding(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceIndex)), geometricShapeIndex, elementIndex, basePoint1X); +} + +int setReactionLineEndingGeometricShapeBasePoint1X(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int geometricShapeIndex, unsigned int elementIndex, const RelAbsVector& basePoint1X) { + int isSetSuccessfully = -1; + for (unsigned int i = 0; i < getNumSpeciesReferenceGlyphs(document, reactionId, reactionGlyphIndex); i++) + if (!setSpeciesReferenceLineEndingGeometricShapeBasePoint1X(document, reactionId, reactionGlyphIndex, i, geometricShapeIndex, elementIndex, basePoint1X)) + isSetSuccessfully = 0; + + return isSetSuccessfully; +} + +int setReactionLineEndingGeometricShapeBasePoint1X(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int geometricShapeIndex, unsigned int elementIndex, const RelAbsVector& basePoint1X) { + int isSetSuccessfully = -1; + for (unsigned int i = 0; i < getNumSpeciesReferenceGlyphs(document, reactionId, reactionGlyphIndex); i++) + if (!setSpeciesReferenceLineEndingGeometricShapeBasePoint1X(document, layoutIndex, reactionId, reactionGlyphIndex, i, geometricShapeIndex, elementIndex, basePoint1X)) + isSetSuccessfully = 0; + + return isSetSuccessfully; +} + int setLineEndingGeometricShapeBasePoint1XAsDouble(SBMLDocument* document, const std::string& id, unsigned int geometricShapeIndex, unsigned int elementIndex, const double& basePoint1X) { return setGeometricShapeBasePoint1XAsDouble(getLineEndingRenderGroup(document, id), geometricShapeIndex, elementIndex, basePoint1X); } @@ -1841,6 +3229,32 @@ int setLineEndingGeometricShapeBasePoint1XAsDouble(SBMLDocument* document, unsig return setGeometricShapeBasePoint1XAsDouble(getLineEndingRenderGroup(document, renderIndex, id), geometricShapeIndex, elementIndex, basePoint1X); } +int setSpeciesReferenceLineEndingGeometricShapeBasePoint1XAsDouble(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex, unsigned int elementIndex, const double& basePoint1X) { + return setGeometricShapeBasePoint1XAsDouble(getRenderGroup(getSpeciesReferenceLocalLineEnding(document, reactionId, reactionGlyphIndex, speciesReferenceIndex)), geometricShapeIndex, elementIndex, basePoint1X); +} + +int setSpeciesReferenceLineEndingGeometricShapeBasePoint1XAsDouble(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex, unsigned int elementIndex, const double& basePoint1X) { + return setGeometricShapeBasePoint1XAsDouble(getRenderGroup(getSpeciesReferenceLocalLineEnding(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceIndex)), geometricShapeIndex, elementIndex, basePoint1X); +} + +int setReactionLineEndingGeometricShapeBasePoint1XAsDouble(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int geometricShapeIndex, unsigned int elementIndex, const double& basePoint1X) { + int isSetSuccessfully = -1; + for (unsigned int i = 0; i < getNumSpeciesReferenceGlyphs(document, reactionId, reactionGlyphIndex); i++) + if (!setSpeciesReferenceLineEndingGeometricShapeBasePoint1XAsDouble(document, reactionId, reactionGlyphIndex, i, geometricShapeIndex, elementIndex, basePoint1X)) + isSetSuccessfully = 0; + + return isSetSuccessfully; +} + +int setReactionLineEndingGeometricShapeBasePoint1XAsDouble(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int geometricShapeIndex, unsigned int elementIndex, const double& basePoint1X) { + int isSetSuccessfully = -1; + for (unsigned int i = 0; i < getNumSpeciesReferenceGlyphs(document, reactionId, reactionGlyphIndex); i++) + if (!setSpeciesReferenceLineEndingGeometricShapeBasePoint1XAsDouble(document, layoutIndex, reactionId, reactionGlyphIndex, i, geometricShapeIndex, elementIndex, basePoint1X)) + isSetSuccessfully = 0; + + return isSetSuccessfully; +} + const RelAbsVector getLineEndingGeometricShapeBasePoint1Y(SBMLDocument* document, const std::string& id, unsigned int geometricShapeIndex, unsigned int elementIndex) { return getGeometricShapeBasePoint1Y(getLineEndingRenderGroup(document, id), geometricShapeIndex); } @@ -1849,14 +3263,32 @@ const RelAbsVector getLineEndingGeometricShapeBasePoint1Y(SBMLDocument* document return getGeometricShapeBasePoint1Y(getLineEndingRenderGroup(document, renderIndex, id), geometricShapeIndex); } +const RelAbsVector getSpeciesReferenceLineEndingGeometricShapeBasePoint1Y(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex, unsigned int elementIndex) { + return getSpeciesReferenceLineEndingGeometricShapeBasePoint1Y(document, 0, reactionId, reactionGlyphIndex, speciesReferenceIndex, geometricShapeIndex, elementIndex); +} + +const RelAbsVector getSpeciesReferenceLineEndingGeometricShapeBasePoint1Y(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex, unsigned int elementIndex) { + return getGeometricShapeBasePoint1Y(getRenderGroup(getSpeciesReferenceLineEnding(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceIndex)), geometricShapeIndex, elementIndex); +} + const double getLineEndingGeometricShapeBasePoint1YAsDouble(SBMLDocument* document, const std::string& id, unsigned int geometricShapeIndex, unsigned int elementIndex) { RelAbsVector basePoint1YVector = getLineEndingGeometricShapeBasePoint1Y(document, id, geometricShapeIndex); - return getAbsoluteValue(basePoint1YVector) + 0.01 * getDimensionHeight(getLineEndingBoundingBox(document, id)) * getRelativeValue(basePoint1YVector); + return getAbsoluteValue(basePoint1YVector) + 0.01 * getLineEndingBoundingBoxHeight(document, id) * getRelativeValue(basePoint1YVector); } const double getLineEndingGeometricShapeBasePoint1YAsDouble(SBMLDocument* document, unsigned int renderIndex, const std::string& id, unsigned int geometricShapeIndex, unsigned int elementIndex) { RelAbsVector basePoint1YVector = getLineEndingGeometricShapeBasePoint1Y(document, renderIndex, id, geometricShapeIndex); - return getAbsoluteValue(basePoint1YVector) + 0.01 * getDimensionHeight(getLineEndingBoundingBox(document, renderIndex, id)) * getRelativeValue(basePoint1YVector); + return getAbsoluteValue(basePoint1YVector) + 0.01 * getLineEndingBoundingBoxHeight(document, renderIndex, id) * getRelativeValue(basePoint1YVector); +} + +const double getSpeciesReferenceLineEndingGeometricShapeBasePoint1YAsDouble(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex, unsigned int elementIndex) { + RelAbsVector basePoint1Y = getSpeciesReferenceLineEndingGeometricShapeBasePoint1Y(document, reactionId, reactionGlyphIndex, speciesReferenceIndex, geometricShapeIndex, elementIndex); + return getAbsoluteValue(basePoint1Y) + 0.01 * getSpeciesReferenceLineEndingBoundingBoxHeight(document, reactionId, reactionGlyphIndex, speciesReferenceIndex) * getRelativeValue(basePoint1Y); +} + +const double getSpeciesReferenceLineEndingGeometricShapeBasePoint1YAsDouble(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex, unsigned int elementIndex) { + RelAbsVector basePoint1Y = getSpeciesReferenceLineEndingGeometricShapeBasePoint1Y(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceIndex, geometricShapeIndex, elementIndex); + return getAbsoluteValue(basePoint1Y) + 0.01 * getSpeciesReferenceLineEndingBoundingBoxHeight(document, reactionId, reactionGlyphIndex, speciesReferenceIndex) * getRelativeValue(basePoint1Y); } int setLineEndingGeometricShapeBasePoint1Y(SBMLDocument* document, const std::string& id, unsigned int geometricShapeIndex, unsigned int elementIndex, const RelAbsVector& basePoint1Y) { @@ -1867,6 +3299,32 @@ int setLineEndingGeometricShapeBasePoint1Y(SBMLDocument* document, unsigned int return setGeometricShapeBasePoint1Y(getLineEndingRenderGroup(document, renderIndex, id), geometricShapeIndex, elementIndex, basePoint1Y); } +int setSpeciesReferenceLineEndingGeometricShapeBasePoint1Y(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex, unsigned int elementIndex, const RelAbsVector& basePoint1Y) { + return setGeometricShapeBasePoint1Y(getRenderGroup(getSpeciesReferenceLocalLineEnding(document, reactionId, reactionGlyphIndex, speciesReferenceIndex)), geometricShapeIndex, elementIndex, basePoint1Y); +} + +int setSpeciesReferenceLineEndingGeometricShapeBasePoint1Y(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex, unsigned int elementIndex, const RelAbsVector& basePoint1Y) { + return setGeometricShapeBasePoint1Y(getRenderGroup(getSpeciesReferenceLocalLineEnding(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceIndex)), geometricShapeIndex, elementIndex, basePoint1Y); +} + +int setReactionLineEndingGeometricShapeBasePoint1Y(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int geometricShapeIndex, unsigned int elementIndex, const RelAbsVector& basePoint1Y) { + int isSetSuccessfully = -1; + for (unsigned int i = 0; i < getNumSpeciesReferenceGlyphs(document, reactionId, reactionGlyphIndex); i++) + if (!setSpeciesReferenceLineEndingGeometricShapeBasePoint1Y(document, reactionId, reactionGlyphIndex, i, geometricShapeIndex, elementIndex, basePoint1Y)) + isSetSuccessfully = 0; + + return isSetSuccessfully; +} + +int setReactionLineEndingGeometricShapeBasePoint1Y(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int geometricShapeIndex, unsigned int elementIndex, const RelAbsVector& basePoint1Y) { + int isSetSuccessfully = -1; + for (unsigned int i = 0; i < getNumSpeciesReferenceGlyphs(document, reactionId, reactionGlyphIndex); i++) + if (!setSpeciesReferenceLineEndingGeometricShapeBasePoint1Y(document, layoutIndex, reactionId, reactionGlyphIndex, i, geometricShapeIndex, elementIndex, basePoint1Y)) + isSetSuccessfully = 0; + + return isSetSuccessfully; +} + int setLineEndingGeometricShapeBasePoint1YAsDouble(SBMLDocument* document, const std::string& id, unsigned int geometricShapeIndex, unsigned int elementIndex, const double& basePoint1Y) { return setGeometricShapeBasePoint1YAsDouble(getLineEndingRenderGroup(document, id), geometricShapeIndex, elementIndex, basePoint1Y); } @@ -1875,6 +3333,32 @@ int setLineEndingGeometricShapeBasePoint1YAsDouble(SBMLDocument* document, unsig return setGeometricShapeBasePoint1YAsDouble(getLineEndingRenderGroup(document, renderIndex, id), geometricShapeIndex, elementIndex, basePoint1Y); } +int setSpeciesReferenceLineEndingGeometricShapeBasePoint1YAsDouble(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex, unsigned int elementIndex, const double& basePoint1Y) { + return setGeometricShapeBasePoint1YAsDouble(getRenderGroup(getSpeciesReferenceLocalLineEnding(document, reactionId, reactionGlyphIndex, speciesReferenceIndex)), geometricShapeIndex, elementIndex, basePoint1Y); +} + +int setSpeciesReferenceLineEndingGeometricShapeBasePoint1YAsDouble(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex, unsigned int elementIndex, const double& basePoint1Y) { + return setGeometricShapeBasePoint1YAsDouble(getRenderGroup(getSpeciesReferenceLocalLineEnding(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceIndex)), geometricShapeIndex, elementIndex, basePoint1Y); +} + +int setReactionLineEndingGeometricShapeBasePoint1YAsDouble(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int geometricShapeIndex, unsigned int elementIndex, const double& basePoint1Y) { + int isSetSuccessfully = -1; + for (unsigned int i = 0; i < getNumSpeciesReferenceGlyphs(document, reactionId, reactionGlyphIndex); i++) + if (!setSpeciesReferenceLineEndingGeometricShapeBasePoint1YAsDouble(document, reactionId, reactionGlyphIndex, i, geometricShapeIndex, elementIndex, basePoint1Y)) + isSetSuccessfully = 0; + + return isSetSuccessfully; +} + +int setReactionLineEndingGeometricShapeBasePoint1YAsDouble(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int geometricShapeIndex, unsigned int elementIndex, const double& basePoint1Y) { + int isSetSuccessfully = -1; + for (unsigned int i = 0; i < getNumSpeciesReferenceGlyphs(document, reactionId, reactionGlyphIndex); i++) + if (!setSpeciesReferenceLineEndingGeometricShapeBasePoint1YAsDouble(document, layoutIndex, reactionId, reactionGlyphIndex, i, geometricShapeIndex, elementIndex, basePoint1Y)) + isSetSuccessfully = 0; + + return isSetSuccessfully; +} + const RelAbsVector getLineEndingGeometricShapeBasePoint2X(SBMLDocument* document, const std::string& id, unsigned int geometricShapeIndex, unsigned int elementIndex) { return getGeometricShapeBasePoint2X(getLineEndingRenderGroup(document, id), geometricShapeIndex); } @@ -1883,14 +3367,32 @@ const RelAbsVector getLineEndingGeometricShapeBasePoint2X(SBMLDocument* document return getGeometricShapeBasePoint2X(getLineEndingRenderGroup(document, renderIndex, id), geometricShapeIndex); } +const RelAbsVector getSpeciesReferenceLineEndingGeometricShapeBasePoint2X(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex, unsigned int elementIndex) { + return getSpeciesReferenceLineEndingGeometricShapeBasePoint2X(document, 0, reactionId, reactionGlyphIndex, speciesReferenceIndex, geometricShapeIndex, elementIndex); +} + +const RelAbsVector getSpeciesReferenceLineEndingGeometricShapeBasePoint2X(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex, unsigned int elementIndex) { + return getGeometricShapeBasePoint2X(getRenderGroup(getSpeciesReferenceLineEnding(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceIndex)), geometricShapeIndex, elementIndex); +} + const double getLineEndingGeometricShapeBasePoint2XAsDouble(SBMLDocument* document, const std::string& id, unsigned int geometricShapeIndex, unsigned int elementIndex) { RelAbsVector basePoint2XVector = getLineEndingGeometricShapeBasePoint2X(document, id, geometricShapeIndex); - return getAbsoluteValue(basePoint2XVector) + 0.01 * getDimensionWidth(getLineEndingBoundingBox(document, id)) * getRelativeValue(basePoint2XVector); + return getAbsoluteValue(basePoint2XVector) + 0.01 * getLineEndingBoundingBoxWidth(document, id) * getRelativeValue(basePoint2XVector); } const double getLineEndingGeometricShapeBasePoint2XAsDouble(SBMLDocument* document, unsigned int renderIndex, const std::string& id, unsigned int geometricShapeIndex, unsigned int elementIndex) { RelAbsVector basePoint2XVector = getLineEndingGeometricShapeBasePoint2X(document, renderIndex, id, geometricShapeIndex); - return getAbsoluteValue(basePoint2XVector) + 0.01 * getDimensionWidth(getLineEndingBoundingBox(document, renderIndex, id)) * getRelativeValue(basePoint2XVector); + return getAbsoluteValue(basePoint2XVector) + 0.01 * getLineEndingBoundingBoxWidth(document, renderIndex, id) * getRelativeValue(basePoint2XVector); +} + +const double getSpeciesReferenceLineEndingGeometricShapeBasePoint2XAsDouble(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex, unsigned int elementIndex) { + RelAbsVector basePoint2X = getSpeciesReferenceLineEndingGeometricShapeBasePoint2X(document, reactionId, reactionGlyphIndex, speciesReferenceIndex, geometricShapeIndex, elementIndex); + return getAbsoluteValue(basePoint2X) + 0.01 * getSpeciesReferenceLineEndingBoundingBoxWidth(document, reactionId, reactionGlyphIndex, speciesReferenceIndex) * getRelativeValue(basePoint2X); +} + +const double getSpeciesReferenceLineEndingGeometricShapeBasePoint2XAsDouble(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex, unsigned int elementIndex) { + RelAbsVector basePoint2X = getSpeciesReferenceLineEndingGeometricShapeBasePoint2X(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceIndex, geometricShapeIndex, elementIndex); + return getAbsoluteValue(basePoint2X) + 0.01 * getSpeciesReferenceLineEndingBoundingBoxWidth(document, reactionId, reactionGlyphIndex, speciesReferenceIndex) * getRelativeValue(basePoint2X); } int setLineEndingGeometricShapeBasePoint2X(SBMLDocument* document, const std::string& id, unsigned int geometricShapeIndex, unsigned int elementIndex, const RelAbsVector& basePoint2X) { @@ -1901,6 +3403,32 @@ int setLineEndingGeometricShapeBasePoint2X(SBMLDocument* document, unsigned int return setGeometricShapeBasePoint2X(getLineEndingRenderGroup(document, renderIndex, id), geometricShapeIndex, elementIndex, basePoint2X); } +int setSpeciesReferenceLineEndingGeometricShapeBasePoint2X(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex, unsigned int elementIndex, const RelAbsVector& basePoint2X) { + return setGeometricShapeBasePoint2X(getRenderGroup(getSpeciesReferenceLocalLineEnding(document, reactionId, reactionGlyphIndex, speciesReferenceIndex)), geometricShapeIndex, elementIndex, basePoint2X); +} + +int setSpeciesReferenceLineEndingGeometricShapeBasePoint2X(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex, unsigned int elementIndex, const RelAbsVector& basePoint2X) { + return setGeometricShapeBasePoint2X(getRenderGroup(getSpeciesReferenceLocalLineEnding(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceIndex)), geometricShapeIndex, elementIndex, basePoint2X); +} + +int setReactionLineEndingGeometricShapeBasePoint2X(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int geometricShapeIndex, unsigned int elementIndex, const RelAbsVector& basePoint2X) { + int isSetSuccessfully = -1; + for (unsigned int i = 0; i < getNumSpeciesReferenceGlyphs(document, reactionId, reactionGlyphIndex); i++) + if (!setSpeciesReferenceLineEndingGeometricShapeBasePoint2X(document, reactionId, reactionGlyphIndex, i, geometricShapeIndex, elementIndex, basePoint2X)) + isSetSuccessfully = 0; + + return isSetSuccessfully; +} + +int setReactionLineEndingGeometricShapeBasePoint2X(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int geometricShapeIndex, unsigned int elementIndex, const RelAbsVector& basePoint2X) { + int isSetSuccessfully = -1; + for (unsigned int i = 0; i < getNumSpeciesReferenceGlyphs(document, reactionId, reactionGlyphIndex); i++) + if (!setSpeciesReferenceLineEndingGeometricShapeBasePoint2X(document, layoutIndex, reactionId, reactionGlyphIndex, i, geometricShapeIndex, elementIndex, basePoint2X)) + isSetSuccessfully = 0; + + return isSetSuccessfully; +} + int setLineEndingGeometricShapeBasePoint2XAsDouble(SBMLDocument* document, const std::string& id, unsigned int geometricShapeIndex, unsigned int elementIndex, const double& basePoint2X) { return setGeometricShapeBasePoint2XAsDouble(getLineEndingRenderGroup(document, id), geometricShapeIndex, elementIndex, basePoint2X); } @@ -1909,6 +3437,32 @@ int setLineEndingGeometricShapeBasePoint2XAsDouble(SBMLDocument* document, unsig return setGeometricShapeBasePoint2XAsDouble(getLineEndingRenderGroup(document, renderIndex, id), geometricShapeIndex, elementIndex, basePoint2X); } +int setSpeciesReferenceLineEndingGeometricShapeBasePoint2XAsDouble(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex, unsigned int elementIndex, const double& basePoint2X) { + return setGeometricShapeBasePoint2XAsDouble(getRenderGroup(getSpeciesReferenceLocalLineEnding(document, reactionId, reactionGlyphIndex, speciesReferenceIndex)), geometricShapeIndex, elementIndex, basePoint2X); +} + +int setSpeciesReferenceLineEndingGeometricShapeBasePoint2XAsDouble(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex, unsigned int elementIndex, const double& basePoint2X) { + return setGeometricShapeBasePoint2XAsDouble(getRenderGroup(getSpeciesReferenceLocalLineEnding(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceIndex)), geometricShapeIndex, elementIndex, basePoint2X); +} + +int setReactionLineEndingGeometricShapeBasePoint2XAsDouble(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int geometricShapeIndex, unsigned int elementIndex, const double& basePoint2X) { + int isSetSuccessfully = -1; + for (unsigned int i = 0; i < getNumSpeciesReferenceGlyphs(document, reactionId, reactionGlyphIndex); i++) + if (!setSpeciesReferenceLineEndingGeometricShapeBasePoint2XAsDouble(document, reactionId, reactionGlyphIndex, i, geometricShapeIndex, elementIndex, basePoint2X)) + isSetSuccessfully = 0; + + return isSetSuccessfully; +} + +int setReactionLineEndingGeometricShapeBasePoint2XAsDouble(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int geometricShapeIndex, unsigned int elementIndex, const double& basePoint2X) { + int isSetSuccessfully = -1; + for (unsigned int i = 0; i < getNumSpeciesReferenceGlyphs(document, reactionId, reactionGlyphIndex); i++) + if (!setSpeciesReferenceLineEndingGeometricShapeBasePoint2XAsDouble(document, layoutIndex, reactionId, reactionGlyphIndex, i, geometricShapeIndex, elementIndex, basePoint2X)) + isSetSuccessfully = 0; + + return isSetSuccessfully; +} + const RelAbsVector getLineEndingGeometricShapeBasePoint2Y(SBMLDocument* document, const std::string& id, unsigned int geometricShapeIndex, unsigned int elementIndex) { return getGeometricShapeBasePoint2Y(getLineEndingRenderGroup(document, id), geometricShapeIndex); } @@ -1917,14 +3471,32 @@ const RelAbsVector getLineEndingGeometricShapeBasePoint2Y(SBMLDocument* document return getGeometricShapeBasePoint2Y(getLineEndingRenderGroup(document, renderIndex, id), geometricShapeIndex); } +const RelAbsVector getSpeciesReferenceLineEndingGeometricShapeBasePoint2Y(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex, unsigned int elementIndex) { + return getSpeciesReferenceLineEndingGeometricShapeBasePoint2Y(document, 0, reactionId, reactionGlyphIndex, speciesReferenceIndex, geometricShapeIndex, elementIndex); +} + +const RelAbsVector getSpeciesReferenceLineEndingGeometricShapeBasePoint2Y(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex, unsigned int elementIndex) { + return getGeometricShapeBasePoint2Y(getRenderGroup(getSpeciesReferenceLocalLineEnding(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceIndex)), geometricShapeIndex, elementIndex); +} + const double getLineEndingGeometricShapeBasePoint2YAsDouble(SBMLDocument* document, const std::string& id, unsigned int geometricShapeIndex, unsigned int elementIndex) { RelAbsVector basePoint2YVector = getLineEndingGeometricShapeBasePoint2Y(document, id, geometricShapeIndex); - return getAbsoluteValue(basePoint2YVector) + 0.01 * getDimensionHeight(getLineEndingBoundingBox(document, id)) * getRelativeValue(basePoint2YVector); + return getAbsoluteValue(basePoint2YVector) + 0.01 * getLineEndingBoundingBoxHeight(document, id) * getRelativeValue(basePoint2YVector); } const double getLineEndingGeometricShapeBasePoint2YAsDouble(SBMLDocument* document, unsigned int renderIndex, const std::string& id, unsigned int geometricShapeIndex, unsigned int elementIndex) { RelAbsVector basePoint2YVector = getLineEndingGeometricShapeBasePoint2Y(document, renderIndex, id, geometricShapeIndex); - return getAbsoluteValue(basePoint2YVector) + 0.01 * getDimensionHeight(getLineEndingBoundingBox(document, renderIndex, id)) * getRelativeValue(basePoint2YVector); + return getAbsoluteValue(basePoint2YVector) + 0.01 * getLineEndingBoundingBoxHeight(document, renderIndex, id) * getRelativeValue(basePoint2YVector); +} + +const double getSpeciesReferenceLineEndingGeometricShapeBasePoint2YAsDouble(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex, unsigned int elementIndex) { + RelAbsVector basePoint2Y = getSpeciesReferenceLineEndingGeometricShapeBasePoint2Y(document, reactionId, reactionGlyphIndex, speciesReferenceIndex, geometricShapeIndex, elementIndex); + return getAbsoluteValue(basePoint2Y) + 0.01 * getSpeciesReferenceLineEndingBoundingBoxHeight(document, reactionId, reactionGlyphIndex, speciesReferenceIndex) * getRelativeValue(basePoint2Y); +} + +const double getSpeciesReferenceLineEndingGeometricShapeBasePoint2YAsDouble(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex, unsigned int elementIndex) { + RelAbsVector basePoint2Y = getSpeciesReferenceLineEndingGeometricShapeBasePoint2Y(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceIndex, geometricShapeIndex, elementIndex); + return getAbsoluteValue(basePoint2Y) + 0.01 * getSpeciesReferenceLineEndingBoundingBoxHeight(document, reactionId, reactionGlyphIndex, speciesReferenceIndex) * getRelativeValue(basePoint2Y); } int setLineEndingGeometricShapeBasePoint2Y(SBMLDocument* document, const std::string& id, unsigned int geometricShapeIndex, unsigned int elementIndex, const RelAbsVector& basePoint2Y) { @@ -1935,6 +3507,32 @@ int setLineEndingGeometricShapeBasePoint2Y(SBMLDocument* document, unsigned int return setGeometricShapeBasePoint2Y(getLineEndingRenderGroup(document, renderIndex, id), geometricShapeIndex, elementIndex, basePoint2Y); } +int setSpeciesReferenceLineEndingGeometricShapeBasePoint2Y(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex, unsigned int elementIndex, const RelAbsVector& basePoint2Y) { + return setGeometricShapeBasePoint2Y(getRenderGroup(getSpeciesReferenceLocalLineEnding(document, reactionId, reactionGlyphIndex, speciesReferenceIndex)), geometricShapeIndex, elementIndex, basePoint2Y); +} + +int setSpeciesReferenceLineEndingGeometricShapeBasePoint2Y(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex, unsigned int elementIndex, const RelAbsVector& basePoint2Y) { + return setGeometricShapeBasePoint2Y(getRenderGroup(getSpeciesReferenceLocalLineEnding(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceIndex)), geometricShapeIndex, elementIndex, basePoint2Y); +} + +int setReactionLineEndingGeometricShapeBasePoint2Y(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int geometricShapeIndex, unsigned int elementIndex, const RelAbsVector& basePoint2Y) { + int isSetSuccessfully = -1; + for (unsigned int i = 0; i < getNumSpeciesReferenceGlyphs(document, reactionId, reactionGlyphIndex); i++) + if (!setSpeciesReferenceLineEndingGeometricShapeBasePoint2Y(document, reactionId, reactionGlyphIndex, i, geometricShapeIndex, elementIndex, basePoint2Y)) + isSetSuccessfully = 0; + + return isSetSuccessfully; +} + +int setReactionLineEndingGeometricShapeBasePoint2Y(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int geometricShapeIndex, unsigned int elementIndex, const RelAbsVector& basePoint2Y) { + int isSetSuccessfully = -1; + for (unsigned int i = 0; i < getNumSpeciesReferenceGlyphs(document, reactionId, reactionGlyphIndex); i++) + if (!setSpeciesReferenceLineEndingGeometricShapeBasePoint2Y(document, layoutIndex, reactionId, reactionGlyphIndex, i, geometricShapeIndex, elementIndex, basePoint2Y)) + isSetSuccessfully = 0; + + return isSetSuccessfully; +} + int setLineEndingGeometricShapeBasePoint2YAsDouble(SBMLDocument* document, const std::string& id, unsigned int geometricShapeIndex, unsigned int elementIndex, const double& basePoint2Y) { return setGeometricShapeBasePoint2YAsDouble(getLineEndingRenderGroup(document, id), geometricShapeIndex, elementIndex, basePoint2Y); } @@ -1943,6 +3541,32 @@ int setLineEndingGeometricShapeBasePoint2YAsDouble(SBMLDocument* document, unsig return setGeometricShapeBasePoint2YAsDouble(getLineEndingRenderGroup(document, renderIndex, id), geometricShapeIndex, elementIndex, basePoint2Y); } +int setSpeciesReferenceLineEndingGeometricShapeBasePoint2YAsDouble(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex, unsigned int elementIndex, const double& basePoint2Y) { + return setGeometricShapeBasePoint2YAsDouble(getRenderGroup(getSpeciesReferenceLocalLineEnding(document, reactionId, reactionGlyphIndex, speciesReferenceIndex)), geometricShapeIndex, elementIndex, basePoint2Y); +} + +int setSpeciesReferenceLineEndingGeometricShapeBasePoint2YAsDouble(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex, unsigned int elementIndex, const double& basePoint2Y) { + return setGeometricShapeBasePoint2YAsDouble(getRenderGroup(getSpeciesReferenceLocalLineEnding(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceIndex)), geometricShapeIndex, elementIndex, basePoint2Y); +} + +int setReactionLineEndingGeometricShapeBasePoint2YAsDouble(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int geometricShapeIndex, unsigned int elementIndex, const double& basePoint2Y) { + int isSetSuccessfully = -1; + for (unsigned int i = 0; i < getNumSpeciesReferenceGlyphs(document, reactionId, reactionGlyphIndex); i++) + if (!setSpeciesReferenceLineEndingGeometricShapeBasePoint2YAsDouble(document, reactionId, reactionGlyphIndex, i, geometricShapeIndex, elementIndex, basePoint2Y)) + isSetSuccessfully = 0; + + return isSetSuccessfully; +} + +int setReactionLineEndingGeometricShapeBasePoint2YAsDouble(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int geometricShapeIndex, unsigned int elementIndex, const double& basePoint2Y) { + int isSetSuccessfully = -1; + for (unsigned int i = 0; i < getNumSpeciesReferenceGlyphs(document, reactionId, reactionGlyphIndex); i++) + if (!setSpeciesReferenceLineEndingGeometricShapeBasePoint2YAsDouble(document, layoutIndex, reactionId, reactionGlyphIndex, i, geometricShapeIndex, elementIndex, basePoint2Y)) + isSetSuccessfully = 0; + + return isSetSuccessfully; +} + bool isSetLineEndingGeometricShapeHref(SBMLDocument* document, const std::string& id, unsigned int geometricShapeIndex) { return isSetGeometricShapeHref(getLineEndingRenderGroup(document, id), geometricShapeIndex); } @@ -1951,6 +3575,14 @@ bool isSetLineEndingGeometricShapeHref(SBMLDocument* document, unsigned int rend return isSetGeometricShapeHref(getLineEndingRenderGroup(document, renderIndex, id), geometricShapeIndex); } +bool isSetSpeciesReferenceLineEndingGeometricShapeHref(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex) { + return isSetSpeciesReferenceLineEndingGeometricShapeHref(document, 0, reactionId, reactionGlyphIndex, speciesReferenceIndex, geometricShapeIndex); +} + +bool isSetSpeciesReferenceLineEndingGeometricShapeHref(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex) { + return isSetGeometricShapeHref(getRenderGroup(getSpeciesReferenceLineEnding(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceIndex)), geometricShapeIndex); +} + const std::string getLineEndingGeometricShapeHref(SBMLDocument* document, const std::string& id, unsigned int geometricShapeIndex) { return getGeometricShapeHref(getLineEndingRenderGroup(document, id), geometricShapeIndex); } @@ -1959,6 +3591,14 @@ const std::string getLineEndingGeometricShapeHref(SBMLDocument* document, unsign return getGeometricShapeHref(getLineEndingRenderGroup(document, renderIndex, id), geometricShapeIndex); } +LIBSBMLNETWORK_EXTERN const std::string getSpeciesReferenceLineEndingGeometricShapeHref(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex) { + return getSpeciesReferenceLineEndingGeometricShapeHref(document, 0, reactionId, reactionGlyphIndex, speciesReferenceIndex, geometricShapeIndex); +} + +LIBSBMLNETWORK_EXTERN const std::string getSpeciesReferenceLineEndingGeometricShapeHref(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex) { + return getGeometricShapeHref(getRenderGroup(getSpeciesReferenceLineEnding(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceIndex)), geometricShapeIndex); +} + int setLineEndingGeometricShapeHref(SBMLDocument* document, const std::string& id, unsigned int geometricShapeIndex, const std::string& href) { return setGeometricShapeHref(getLineEndingRenderGroup(document, id), geometricShapeIndex, href); } @@ -1967,6 +3607,32 @@ int setLineEndingGeometricShapeHref(SBMLDocument* document, unsigned int renderI return setGeometricShapeHref(getLineEndingRenderGroup(document, renderIndex, id), geometricShapeIndex, href); } +int setSpeciesReferenceLineEndingGeometricShapeHref(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex, const std::string& href) { + return setGeometricShapeHref(getRenderGroup(getSpeciesReferenceLocalLineEnding(document, reactionId, reactionGlyphIndex, speciesReferenceIndex)), geometricShapeIndex, href); +} + +int setSpeciesReferenceLineEndingGeometricShapeHref(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex, const std::string& href) { + return setGeometricShapeHref(getRenderGroup(getSpeciesReferenceLocalLineEnding(document, layoutIndex, reactionId, reactionGlyphIndex, speciesReferenceIndex)), geometricShapeIndex, href); +} + +int setReactionLineEndingGeometricShapeHref(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int geometricShapeIndex, const std::string& href) { + int isSetSuccessfully = -1; + for (unsigned int i = 0; i < getNumSpeciesReferenceGlyphs(document, reactionId, reactionGlyphIndex); i++) + if (!setSpeciesReferenceLineEndingGeometricShapeHref(document, reactionId, reactionGlyphIndex, i, geometricShapeIndex, href)) + isSetSuccessfully = 0; + + return isSetSuccessfully; +} + +int setReactionLineEndingGeometricShapeHref(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int geometricShapeIndex, const std::string& href) { + int isSetSuccessfully = -1; + for (unsigned int i = 0; i < getNumSpeciesReferenceGlyphs(document, reactionId, reactionGlyphIndex); i++) + if (!setSpeciesReferenceLineEndingGeometricShapeHref(document, layoutIndex, reactionId, reactionGlyphIndex, i, geometricShapeIndex, href)) + isSetSuccessfully = 0; + + return isSetSuccessfully; +} + Style* getStyle(SBMLDocument* document, GraphicalObject* graphicalObject) { Style* style = getLocalStyle(document, graphicalObject); if (!style) @@ -2181,49 +3847,29 @@ RenderGroup* getRenderGroup(SBMLDocument* document, unsigned int renderIndex, co } bool isSetStrokeColor(SBMLDocument* document, GraphicalObject* graphicalObject) { - if (canHaveStrokeColor(graphicalObject)) { - Style* style = getStyle(document, graphicalObject); - if (getNumGeometricShapes(style) == 1 && isSetStrokeColor(getGeometricShape(style))) - return isSetStrokeColor(getGeometricShape(style)); - - return isSetStrokeColor(style); - } + if (canHaveStrokeColor(graphicalObject)) + return isSetStrokeColor(getStyle(document, graphicalObject)); return false; } bool isSetStrokeColor(SBMLDocument* document, const std::string& attribute) { - if (canHaveStrokeColor(getGraphicalObject(document, attribute))) { - Style* style = getStyle(document, attribute); - if (getNumGeometricShapes(style) == 1 && isSetStrokeColor(getGeometricShape(style))) - return isSetStrokeColor(getGeometricShape(style)); - - return isSetStrokeColor(style); - } + if (canHaveStrokeColor(getGraphicalObject(document, attribute))) + return isSetStrokeColor(getStyle(document, attribute)); return false; } const std::string getStrokeColor(SBMLDocument* document, GraphicalObject* graphicalObject) { - if (canHaveStrokeColor(graphicalObject)) { - Style* style = getStyle(document, graphicalObject); - if (getNumGeometricShapes(style) == 1 && !getStrokeColor(getGeometricShape(style)).empty()) - return getStrokeColor(getGeometricShape(style)); - - return getStrokeColor(style); - } + if (canHaveStrokeColor(graphicalObject)) + return getStrokeColor(getStyle(document, graphicalObject)); return ""; } const std::string getStrokeColor(SBMLDocument* document, const std::string& attribute) { - if (canHaveStrokeColor(getGraphicalObject(document, attribute))) { - Style* style = getStyle(document, attribute); - if (getNumGeometricShapes(style) == 1 && !getStrokeColor(getGeometricShape(style)).empty()) - return getStrokeColor(getGeometricShape(style)); - - return getStrokeColor(style); - } + if (canHaveStrokeColor(getGraphicalObject(document, attribute))) + return getStrokeColor(getStyle(document, attribute)); return ""; } @@ -2233,8 +3879,8 @@ int setStrokeColor(SBMLDocument* document, GraphicalObject* graphicalObject, con Style* style = getLocalStyle(document, graphicalObject); if (!style) style = createLocalStyle(document, graphicalObject); - addColor(document, style, stroke); - return setStrokeColor(style, stroke); + setReactionLineEndingStrokeColor(document, getReactionId(graphicalObject), 0, stroke); + return setStrokeColor(style, addColor(document, style, stroke)); } return -1; @@ -2245,8 +3891,8 @@ int setStrokeColor(SBMLDocument* document, const std::string& attribute, const s Style* style = getLocalStyle(document, attribute); if (!style) style = createLocalStyle(document, attribute); - addColor(document, style, stroke); - return setStrokeColor(style, stroke); + setReactionLineEndingStrokeColor(document, attribute, 0, stroke); + return setStrokeColor(style, addColor(document, style, stroke)); } return -1; @@ -2324,49 +3970,29 @@ int setStrokeColor(SBMLDocument* document, unsigned int layoutIndex, const std:: } bool isSetStrokeWidth(SBMLDocument* document, GraphicalObject* graphicalObject) { - if (canHaveStrokeWidth(graphicalObject)) { - Style* style = getStyle(document, graphicalObject); - if (getNumGeometricShapes(style) == 1 && isSetStrokeWidth(getGeometricShape(style))) - return isSetStrokeWidth(getGeometricShape(style)); - - return isSetStrokeWidth(style); - } + if (canHaveStrokeWidth(graphicalObject)) + return isSetStrokeWidth(getStyle(document, graphicalObject)); return false; } bool isSetStrokeWidth(SBMLDocument* document, const std::string& attribute) { - if (canHaveStrokeWidth(getGraphicalObject(document, attribute))) { - Style* style = getStyle(document, attribute); - if (getNumGeometricShapes(style) == 1 && isSetStrokeWidth(getGeometricShape(style))) - return isSetStrokeWidth(getGeometricShape(style)); - - return isSetStrokeWidth(style); - } + if (canHaveStrokeWidth(getGraphicalObject(document, attribute))) + return isSetStrokeWidth(getStyle(document, attribute)); return false; } const double getStrokeWidth(SBMLDocument* document, GraphicalObject* graphicalObject) { - if (canHaveStrokeWidth(graphicalObject)) { - Style* style = getStyle(document, graphicalObject); - if (getNumGeometricShapes(style) == 1 && getStrokeWidth(getGeometricShape(style)) > 0.01) - return getStrokeWidth(getGeometricShape(style)); - - return getStrokeWidth(style); - } + if (canHaveStrokeWidth(graphicalObject)) + return getStrokeWidth(getStyle(document, graphicalObject)); return NAN; } const double getStrokeWidth(SBMLDocument* document, const std::string& attribute) { - if (canHaveStrokeWidth(getGraphicalObject(document, attribute))) { - Style* style = getStyle(document, attribute); - if (getNumGeometricShapes(style) == 1 && getStrokeWidth(getGeometricShape(style)) > 0.01) - return getStrokeWidth(getGeometricShape(style)); - - return getStrokeWidth(style); - } + if (canHaveStrokeWidth(getGraphicalObject(document, attribute))) + return getStrokeWidth(getStyle(document, attribute)); return NAN; } @@ -2376,6 +4002,7 @@ int setStrokeWidth(SBMLDocument* document, GraphicalObject* graphicalObject, con Style* style = getLocalStyle(document, graphicalObject); if (!style) style = createLocalStyle(document, graphicalObject); + setReactionLineEndingStrokeWidth(document, getReactionId(graphicalObject), 0, strokeWidth); return setStrokeWidth(style, strokeWidth); } @@ -2387,6 +4014,7 @@ int setStrokeWidth(SBMLDocument* document, const std::string& attribute, const d Style* style = getLocalStyle(document, attribute); if (!style) style = createLocalStyle(document, attribute); + setReactionLineEndingStrokeWidth(document, attribute, 0, strokeWidth); return setStrokeWidth(style, strokeWidth); } @@ -2467,95 +4095,57 @@ int setStrokeWidth(SBMLDocument* document, unsigned int layoutIndex, const doubl } bool isSetStrokeDashArray(SBMLDocument* document, GraphicalObject* graphicalObject) { - if (canHaveStrokeDashArray(graphicalObject)) { - Style* style = getStyle(document, graphicalObject); - if (getNumGeometricShapes(style) == 1 && isSetStrokeDashArray(getGeometricShape(style))) - return isSetStrokeDashArray(getGeometricShape(style)); - - return isSetStrokeDashArray(style); - } + if (canHaveStrokeDashArray(graphicalObject)) + return isSetStrokeDashArray(getStyle(document, graphicalObject)); return false; } bool isSetStrokeDashArray(SBMLDocument* document, const std::string& attribute) { - if (canHaveStrokeDashArray(getGraphicalObject(document, attribute))) { - Style* style = getStyle(document, attribute); - if (getNumGeometricShapes(style) == 1 && isSetStrokeDashArray(getGeometricShape(style))) - return isSetStrokeDashArray(getGeometricShape(style)); - - return isSetStrokeDashArray(style); - } + if (canHaveStrokeDashArray(getGraphicalObject(document, attribute))) + return isSetStrokeDashArray(getStyle(document, attribute)); return false; } const std::vector getStrokeDashArray(SBMLDocument* document, GraphicalObject* graphicalObject) { - if (canHaveStrokeDashArray(graphicalObject)) { - Style* style = getStyle(document, graphicalObject); - if (getNumGeometricShapes(style) == 1 && getStrokeDashArray(getGeometricShape(style)).size()) - return getStrokeDashArray(getGeometricShape(style)); - - return getStrokeDashArray(style); - } + if (canHaveStrokeDashArray(graphicalObject)) + return getStrokeDashArray(getStyle(document, graphicalObject)); return std::vector(); } const std::vector getStrokeDashArray(SBMLDocument* document, const std::string& attribute) { - if (canHaveStrokeDashArray(getGraphicalObject(document, attribute))) { - Style* style = getStyle(document, attribute); - if (getNumGeometricShapes(style) == 1 && getStrokeDashArray(getGeometricShape(style)).size()) - return getStrokeDashArray(getGeometricShape(style)); - - return getStrokeDashArray(style); - } + if (canHaveStrokeDashArray(getGraphicalObject(document, attribute))) + return getStrokeDashArray(getStyle(document, attribute)); return std::vector(); } int setStrokeDashArray(SBMLDocument* document, GraphicalObject* graphicalObject, const std::vector& strokeDashArray) { - if (canHaveStrokeDashArray(graphicalObject)) { - Style* style = getLocalStyle(document, graphicalObject); - if (!style) - style = createLocalStyle(document, graphicalObject); - return setStrokeDashArray(style, strokeDashArray); - } + if (canHaveStrokeDashArray(graphicalObject)) + return setStrokeDashArray(getStyle(document, graphicalObject), strokeDashArray); return -1; } int setStrokeDashArray(SBMLDocument* document, const std::string& attribute, const std::vector& strokeDashArray) { - if (canHaveStrokeDashArray(getGraphicalObject(document, attribute))) { - Style* style = getLocalStyle(document, attribute); - if (!style) - style = createLocalStyle(document, attribute); - return setStrokeDashArray(style, strokeDashArray); - } + if (canHaveStrokeDashArray(getGraphicalObject(document, attribute))) + return setStrokeDashArray(getStyle(document, attribute), strokeDashArray); return -1; } unsigned int getNumStrokeDashes(SBMLDocument* document, GraphicalObject* graphicalObject) { - if (canHaveStrokeDashArray(graphicalObject)) { - Style* style = getStyle(document, graphicalObject); - if (getNumGeometricShapes(style) == 1 && getNumStrokeDashes(getGeometricShape(style))) - return getNumStrokeDashes(getGeometricShape(style)); - - return getNumStrokeDashes(style); - } + if (canHaveStrokeDashArray(graphicalObject)) + return getNumStrokeDashes(getStyle(document, graphicalObject)); return 0; } unsigned int getNumStrokeDashes(SBMLDocument* document, const std::string& attribute) { - if (canHaveStrokeDashArray(getGraphicalObject(document, attribute))) { - Style* style = getStyle(document, attribute); - if (getNumGeometricShapes(style) == 1 && getNumStrokeDashes(getGeometricShape(style))) - return getNumStrokeDashes(getGeometricShape(style)); - - return getNumStrokeDashes(style); - } + if (canHaveStrokeDashArray(getGraphicalObject(document, attribute))) + return getNumStrokeDashes(getStyle(document, attribute)); return 0; } @@ -2582,6 +4172,7 @@ unsigned int setStrokeDash(SBMLDocument* document, GraphicalObject* graphicalObj Style* style = getLocalStyle(document, graphicalObject); if (!style) style = createLocalStyle(document, graphicalObject); + setReactionLineEndingStrokeDash(document, getReactionId(graphicalObject), 0, 0, dash); return setStrokeDash(style, dash); } @@ -2593,6 +4184,7 @@ unsigned int setStrokeDash(SBMLDocument* document, GraphicalObject* graphicalObj Style* style = getLocalStyle(document, graphicalObject); if (!style) style = createLocalStyle(document, graphicalObject); + setReactionLineEndingStrokeDash(document, getReactionId(graphicalObject), 0, 0, dash); return setStrokeDash(style, dashIndex, dash); } @@ -2604,6 +4196,7 @@ unsigned int setStrokeDash(SBMLDocument* document, const std::string& attribute, Style* style = getLocalStyle(document, attribute); if (!style) style = createLocalStyle(document, attribute); + setReactionLineEndingStrokeDash(document, attribute, 0, 0,dash); return setStrokeDash(style, dash); } @@ -2615,6 +4208,7 @@ unsigned int setStrokeDash(SBMLDocument* document, const std::string& attribute, Style* style = getLocalStyle(document, attribute); if (!style) style = createLocalStyle(document, attribute); + setReactionLineEndingStrokeDash(document, attribute, 0, 0, dash); return setStrokeDash(style, dashIndex, dash); } @@ -2627,8 +4221,6 @@ bool isSetFontColor(SBMLDocument* document, GraphicalObject* graphicalObject, un Style* style = getStyle(document, textGlyph); if (!style) style = getStyle(document, graphicalObject); - if (getNumGeometricShapes(style) == 1 && isText(getGeometricShape(style))) - return isSetFontColor(getGeometricShape(style)); return isSetFontColor(style); } @@ -2642,8 +4234,6 @@ bool isSetFontColor(SBMLDocument* document, const std::string& attribute, unsign Style* style = getStyle(document, textGlyph); if (!style) style = getStyle(document, attribute); - if (getNumGeometricShapes(style) == 1 && isText(getGeometricShape(style))) - return isSetFontColor(getGeometricShape(style)); return isSetFontColor(style); } @@ -2657,8 +4247,6 @@ const std::string getFontColor(SBMLDocument* document, GraphicalObject* graphica Style* style = getStyle(document, textGlyph); if (!style) style = getStyle(document, graphicalObject); - if (getNumGeometricShapes(style) == 1 && isText(getGeometricShape(style))) - return getFontColor(getGeometricShape(style)); return getFontColor(style); } @@ -2672,8 +4260,6 @@ const std::string getFontColor(SBMLDocument* document, const std::string& attrib Style* style = getStyle(document, textGlyph); if (!style) style = getStyle(document, attribute); - if (getNumGeometricShapes(style) == 1 && isText(getGeometricShape(style))) - return getFontColor(getGeometricShape(style)); return getFontColor(style); } @@ -2691,11 +4277,7 @@ int setFontColor(SBMLDocument* document, GraphicalObject* graphicalObject, unsig Style* style = getLocalStyle(document, textGlyph); if (!style) style = createLocalStyle(document, textGlyph, graphicalObject); - addColor(document, style, fontColor); - if (getNumGeometricShapes(style) == 1 && isText(getGeometricShape(style))) - return setFontColor(getGeometricShape(style), fontColor); - - return setFontColor(style, fontColor); + return setFontColor(style, addColor(document, style, fontColor)); } return -1; @@ -2711,11 +4293,7 @@ int setFontColor(SBMLDocument* document, const std::string& attribute, unsigned Style* style = getLocalStyle(document, textGlyph); if (!style) style = createLocalStyle(document, textGlyph, getGraphicalObject(document, attribute)); - addColor(document, style, fontColor); - if (getNumGeometricShapes(style) == 1 && isText(getGeometricShape(style))) - return setFontColor(getGeometricShape(style), fontColor); - - return setFontColor(style, fontColor); + return setFontColor(style, addColor(document, style, fontColor)); } return -1; @@ -2774,8 +4352,6 @@ bool isSetFontFamily(SBMLDocument* document, GraphicalObject* graphicalObject, u Style* style = getStyle(document, textGlyph); if (!style) style = getStyle(document, graphicalObject); - if (getNumGeometricShapes(style) == 1 && isText(getGeometricShape(style))) - return isSetFontFamily(getGeometricShape(style)); return isSetFontFamily(style); } @@ -2789,8 +4365,6 @@ bool isSetFontFamily(SBMLDocument* document, const std::string& attribute, unsig Style* style = getStyle(document, textGlyph); if (!style) style = getStyle(document, attribute); - if (getNumGeometricShapes(style) == 1 && isText(getGeometricShape(style))) - return isSetFontFamily(getGeometricShape(style)); return isSetFontFamily(style); } @@ -2804,8 +4378,6 @@ const std::string getFontFamily(SBMLDocument* document, GraphicalObject* graphic Style* style = getStyle(document, textGlyph); if (!style) style = getStyle(document, graphicalObject); - if (getNumGeometricShapes(style) == 1 && isText(getGeometricShape(style))) - return getFontFamily(getGeometricShape(style)); return getFontFamily(style); } @@ -2819,8 +4391,6 @@ const std::string getFontFamily(SBMLDocument* document, const std::string& attri Style* style = getStyle(document, textGlyph); if (!style) style = getStyle(document, attribute); - if (getNumGeometricShapes(style) == 1 && isText(getGeometricShape(style))) - return getFontFamily(getGeometricShape(style)); return getFontFamily(style); } @@ -2838,8 +4408,6 @@ int setFontFamily(SBMLDocument* document, GraphicalObject* graphicalObject, unsi Style* style = getLocalStyle(document, textGlyph); if (!style) style = createLocalStyle(document, textGlyph, graphicalObject); - if (getNumGeometricShapes(style) == 1 && isText(getGeometricShape(style))) - return setFontFamily(getGeometricShape(style), fontFamily); return setFontFamily(style, fontFamily); } @@ -2857,8 +4425,6 @@ int setFontFamily(SBMLDocument* document, const std::string& attribute, unsigned Style* style = getLocalStyle(document, textGlyph); if (!style) style = createLocalStyle(document, textGlyph, getGraphicalObject(document, attribute)); - if (getNumGeometricShapes(style) == 1 && isText(getGeometricShape(style))) - return setFontFamily(getGeometricShape(style), fontFamily); return setFontFamily(style, fontFamily); } @@ -2919,8 +4485,6 @@ bool isSetFontSize(SBMLDocument* document, GraphicalObject* graphicalObject, uns Style* style = getStyle(document, textGlyph); if (!style) style = getStyle(document, graphicalObject); - if (getNumGeometricShapes(style) == 1 && isText(getGeometricShape(style))) - return isSetFontSize(getGeometricShape(style)); return isSetFontSize(style); } @@ -2934,8 +4498,6 @@ bool isSetFontSize(SBMLDocument* document, const std::string& attribute, unsigne Style* style = getStyle(document, textGlyph); if (!style) style = getStyle(document, attribute); - if (getNumGeometricShapes(style) == 1 && isText(getGeometricShape(style))) - return isSetFontSize(getGeometricShape(style)); return isSetFontSize(style); } @@ -2949,8 +4511,6 @@ const RelAbsVector getFontSize(SBMLDocument* document, GraphicalObject* graphica Style* style = getStyle(document, textGlyph); if (!style) style = getStyle(document, graphicalObject); - if (getNumGeometricShapes(style) == 1 && isText(getGeometricShape(style))) - return getFontSize(getGeometricShape(style)); return getFontSize(style); } @@ -2964,8 +4524,6 @@ const RelAbsVector getFontSize(SBMLDocument* document, const std::string& attrib Style* style = getStyle(document, textGlyph); if (!style) style = getStyle(document, attribute); - if (getNumGeometricShapes(style) == 1 && isText(getGeometricShape(style))) - return getFontSize(getGeometricShape(style)); return getFontSize(style); } @@ -2993,8 +4551,6 @@ int setFontSize(SBMLDocument* document, GraphicalObject* graphicalObject, unsign Style* style = getLocalStyle(document, textGlyph); if (!style) style = createLocalStyle(document, textGlyph, graphicalObject); - if (getNumGeometricShapes(style) == 1 && isText(getGeometricShape(style))) - return setFontSize(getGeometricShape(style), fontSize); return setFontSize(style, fontSize); } @@ -3012,8 +4568,6 @@ int setFontSize(SBMLDocument* document, const std::string& attribute, unsigned i Style* style = getLocalStyle(document, textGlyph); if (!style) style = createLocalStyle(document, textGlyph, getGraphicalObject(document, attribute)); - if (getNumGeometricShapes(style) == 1 && isText(getGeometricShape(style))) - return setFontSize(getGeometricShape(style), fontSize); return setFontSize(style, fontSize); } @@ -3031,8 +4585,6 @@ int setFontSizeAsDouble(SBMLDocument* document, GraphicalObject* graphicalObject Style* style = getLocalStyle(document, textGlyph); if (!style) style = createLocalStyle(document, textGlyph, graphicalObject); - if (getNumGeometricShapes(style) == 1 && isText(getGeometricShape(style))) - return setFontSizeAsDouble(getGeometricShape(style), fontSize); return setFontSizeAsDouble(style, fontSize); } @@ -3050,8 +4602,6 @@ int setFontSizeAsDouble(SBMLDocument* document, const std::string& attribute, un Style* style = getLocalStyle(document, textGlyph); if (!style) style = createLocalStyle(document, textGlyph, getGraphicalObject(document, attribute)); - if (getNumGeometricShapes(style) == 1 && isText(getGeometricShape(style))) - return setFontSizeAsDouble(getGeometricShape(style), fontSize); return setFontSizeAsDouble(style, fontSize); } @@ -3159,8 +4709,6 @@ bool isSetFontWeight(SBMLDocument* document, GraphicalObject* graphicalObject, u Style* style = getStyle(document, textGlyph); if (!style) style = getStyle(document, graphicalObject); - if (getNumGeometricShapes(style) == 1 && isText(getGeometricShape(style))) - return isSetFontWeight(getGeometricShape(style)); return isSetFontWeight(style); } @@ -3174,8 +4722,6 @@ bool isSetFontWeight(SBMLDocument* document, const std::string& attribute, unsig Style* style = getStyle(document, textGlyph); if (!style) style = getStyle(document, attribute); - if (getNumGeometricShapes(style) == 1 && isText(getGeometricShape(style))) - return isSetFontWeight(getGeometricShape(style)); return isSetFontWeight(style); } @@ -3189,8 +4735,6 @@ const std::string getFontWeight(SBMLDocument* document, GraphicalObject* graphic Style* style = getStyle(document, textGlyph); if (!style) style = getStyle(document, graphicalObject); - if (getNumGeometricShapes(style) == 1 && isText(getGeometricShape(style))) - return getFontWeight(getGeometricShape(style)); return getFontWeight(style); } @@ -3204,8 +4748,6 @@ const std::string getFontWeight(SBMLDocument* document, const std::string& attri Style* style = getStyle(document, textGlyph); if (!style) style = getStyle(document, attribute); - if (getNumGeometricShapes(style) == 1 && isText(getGeometricShape(style))) - return getFontWeight(getGeometricShape(style)); return getFontWeight(style); } @@ -3223,8 +4765,6 @@ int setFontWeight(SBMLDocument* document, GraphicalObject* graphicalObject, unsi Style* style = getLocalStyle(document, textGlyph); if (!style) style = createLocalStyle(document, textGlyph, graphicalObject); - if (getNumGeometricShapes(style) == 1 && isText(getGeometricShape(style))) - return setFontWeight(getGeometricShape(style), fontWeight); return setFontWeight(style, fontWeight); } @@ -3242,8 +4782,6 @@ int setFontWeight(SBMLDocument* document, const std::string& attribute, unsigned Style* style = getLocalStyle(document, textGlyph); if (!style) style = createLocalStyle(document, textGlyph, getGraphicalObject(document, attribute)); - if (getNumGeometricShapes(style) == 1 && isText(getGeometricShape(style))) - return setFontWeight(getGeometricShape(style), fontWeight); return setFontWeight(style, fontWeight); } @@ -3304,8 +4842,6 @@ bool isSetFontStyle(SBMLDocument* document, GraphicalObject* graphicalObject, un Style* style = getStyle(document, textGlyph); if (!style) style = getStyle(document, graphicalObject); - if (getNumGeometricShapes(style) == 1 && isText(getGeometricShape(style))) - return isSetFontStyle(getGeometricShape(style)); return isSetFontStyle(style); } @@ -3319,8 +4855,6 @@ bool isSetFontStyle(SBMLDocument* document, const std::string& attribute, unsign Style* style = getStyle(document, textGlyph); if (!style) style = getStyle(document, attribute); - if (getNumGeometricShapes(style) == 1 && isText(getGeometricShape(style))) - return isSetFontStyle(getGeometricShape(style)); return isSetFontStyle(style); } @@ -3334,8 +4868,6 @@ const std::string getFontStyle(SBMLDocument* document, GraphicalObject* graphica Style* style = getStyle(document, textGlyph); if (!style) style = getStyle(document, graphicalObject); - if (getNumGeometricShapes(style) == 1 && isText(getGeometricShape(style))) - return getFontStyle(getGeometricShape(style)); return getFontStyle(style); } @@ -3349,8 +4881,6 @@ const std::string getFontStyle(SBMLDocument* document, const std::string& attrib Style* style = getStyle(document, textGlyph); if (!style) style = getStyle(document, attribute); - if (getNumGeometricShapes(style) == 1 && isText(getGeometricShape(style))) - return getFontStyle(getGeometricShape(style)); return getFontStyle(style); } @@ -3368,8 +4898,6 @@ int setFontStyle(SBMLDocument* document, GraphicalObject* graphicalObject, unsig Style* style = getLocalStyle(document, textGlyph); if (!style) style = createLocalStyle(document, textGlyph, graphicalObject); - if (getNumGeometricShapes(style) == 1 && isText(getGeometricShape(style))) - return setFontStyle(getGeometricShape(style), fontStyle); return setFontStyle(style, fontStyle); } @@ -3387,8 +4915,6 @@ int setFontStyle(SBMLDocument* document, const std::string& attribute, unsigned Style* style = getLocalStyle(document, textGlyph); if (!style) style = createLocalStyle(document, textGlyph, getGraphicalObject(document, attribute)); - if (getNumGeometricShapes(style) == 1 && isText(getGeometricShape(style))) - return setFontStyle(getGeometricShape(style), fontStyle); return setFontStyle(style, fontStyle); } @@ -3449,8 +4975,6 @@ bool isSetTextAnchor(SBMLDocument* document, GraphicalObject* graphicalObject, u Style* style = getStyle(document, textGlyph); if (!style) style = getStyle(document, graphicalObject); - if (getNumGeometricShapes(style) == 1 && isText(getGeometricShape(style))) - return isSetTextAnchor(getGeometricShape(style)); return isSetTextAnchor(style); } @@ -3464,8 +4988,6 @@ bool isSetTextAnchor(SBMLDocument* document, const std::string& attribute, unsig Style* style = getStyle(document, textGlyph); if (!style) style = getStyle(document, attribute); - if (getNumGeometricShapes(style) == 1 && isText(getGeometricShape(style))) - return isSetTextAnchor(getGeometricShape(style)); return isSetTextAnchor(style); } @@ -3479,8 +5001,6 @@ const std::string getTextAnchor(SBMLDocument* document, GraphicalObject* graphic Style* style = getStyle(document, textGlyph); if (!style) style = getStyle(document, graphicalObject); - if (getNumGeometricShapes(style) == 1 && isText(getGeometricShape(style))) - return getTextAnchor(getGeometricShape(style)); return getTextAnchor(style); } @@ -3494,8 +5014,6 @@ const std::string getTextAnchor(SBMLDocument* document, const std::string& attri Style* style = getStyle(document, textGlyph); if (!style) style = getStyle(document, attribute); - if (getNumGeometricShapes(style) == 1 && isText(getGeometricShape(style))) - return getTextAnchor(getGeometricShape(style)); return getTextAnchor(style); } @@ -3513,8 +5031,6 @@ int setTextAnchor(SBMLDocument* document, GraphicalObject* graphicalObject, unsi Style* style = getLocalStyle(document, textGlyph); if (!style) style = createLocalStyle(document, textGlyph, graphicalObject); - if (getNumGeometricShapes(style) == 1 && isText(getGeometricShape(style))) - return setTextAnchor(getGeometricShape(style), textAnchor); return setTextAnchor(style, textAnchor); } @@ -3532,8 +5048,6 @@ int setTextAnchor(SBMLDocument* document, const std::string& attribute, unsigned Style* style = getLocalStyle(document, textGlyph); if (!style) style = createLocalStyle(document, textGlyph, getGraphicalObject(document, attribute)); - if (getNumGeometricShapes(style) == 1 && isText(getGeometricShape(style))) - return setTextAnchor(getGeometricShape(style), textAnchor); return setTextAnchor(style, textAnchor); } @@ -3594,8 +5108,6 @@ bool isSetVTextAnchor(SBMLDocument* document, GraphicalObject* graphicalObject, Style* style = getStyle(document, textGlyph); if (!style) style = getStyle(document, graphicalObject); - if (getNumGeometricShapes(style) == 1 && isText(getGeometricShape(style))) - return isSetVTextAnchor(getGeometricShape(style)); return isSetVTextAnchor(style); } @@ -3609,8 +5121,6 @@ bool isSetVTextAnchor(SBMLDocument* document, const std::string& attribute, unsi Style* style = getStyle(document, textGlyph); if (!style) style = getStyle(document, attribute); - if (getNumGeometricShapes(style) == 1 && isText(getGeometricShape(style))) - return isSetVTextAnchor(getGeometricShape(style)); return isSetVTextAnchor(style); } @@ -3624,8 +5134,6 @@ const std::string getVTextAnchor(SBMLDocument* document, GraphicalObject* graphi Style* style = getStyle(document, textGlyph); if (!style) style = getStyle(document, graphicalObject); - if (getNumGeometricShapes(style) == 1 && isText(getGeometricShape(style))) - return getVTextAnchor(getGeometricShape(style)); return getVTextAnchor(style); } @@ -3639,8 +5147,6 @@ const std::string getVTextAnchor(SBMLDocument* document, const std::string& attr Style* style = getStyle(document, textGlyph); if (!style) style = getStyle(document, attribute); - if (getNumGeometricShapes(style) == 1 && isText(getGeometricShape(style))) - return getVTextAnchor(getGeometricShape(style)); return getVTextAnchor(style); } @@ -3658,8 +5164,6 @@ int setVTextAnchor(SBMLDocument* document, GraphicalObject* graphicalObject, uns Style* style = getLocalStyle(document, textGlyph); if (!style) style = createLocalStyle(document, textGlyph, graphicalObject); - if (getNumGeometricShapes(style) == 1 && isText(getGeometricShape(style))) - return setVTextAnchor(getGeometricShape(style), vtextAnchor); return setVTextAnchor(style, vtextAnchor); } @@ -3677,8 +5181,6 @@ int setVTextAnchor(SBMLDocument* document, const std::string& attribute, unsigne Style* style = getLocalStyle(document, textGlyph); if (!style) style = createLocalStyle(document, textGlyph, getGraphicalObject(document, attribute)); - if (getNumGeometricShapes(style) == 1 && isText(getGeometricShape(style))) - return setVTextAnchor(getGeometricShape(style), vtextAnchor); return setVTextAnchor(style, vtextAnchor); } @@ -3734,49 +5236,29 @@ int setVTextAnchor(SBMLDocument* document, unsigned int layoutIndex, const std:: } bool isSetFillColor(SBMLDocument* document, GraphicalObject* graphicalObject) { - if (canHaveFillColor(graphicalObject)) { - Style* style = getStyle(document, graphicalObject); - if (getNumGeometricShapes(style) == 1 && isSetFillColor(getGeometricShape(style))) - return isSetFillColor(getGeometricShape(style)); - - return isSetFillColor(style); - } + if (canHaveFillColor(graphicalObject)) + return isSetFillColor(getStyle(document, graphicalObject)); return false; } bool isSetFillColor(SBMLDocument* document, const std::string& attribute) { - if (canHaveFillColor(getGraphicalObject(document, attribute))) { - Style* style = getStyle(document, attribute); - if (getNumGeometricShapes(style) == 1 && isSetFillColor(getGeometricShape(style))) - return isSetFillColor(getGeometricShape(style)); - - return isSetFillColor(style); - } + if (canHaveFillColor(getGraphicalObject(document, attribute))) + return isSetFillColor(getStyle(document, attribute)); return false; } const std::string getFillColor(SBMLDocument* document, GraphicalObject* graphicalObject) { - if (canHaveFillColor(graphicalObject)) { - Style* style = getStyle(document, graphicalObject); - if (getNumGeometricShapes(style) == 1 && !getFillColor(getGeometricShape(style)).empty()) - return getFillColor(getGeometricShape(style)); - - return getFillColor(style); - } + if (canHaveFillColor(graphicalObject)) + return getFillColor(getStyle(document, graphicalObject)); return ""; } const std::string getFillColor(SBMLDocument* document, const std::string& attribute) { - if (canHaveFillColor(getGraphicalObject(document, attribute))) { - Style* style = getStyle(document, attribute); - if (getNumGeometricShapes(style) == 1 && !getFillColor(getGeometricShape(style)).empty()) - return getFillColor(getGeometricShape(style)); - - return getFillColor(style); - } + if (canHaveFillColor(getGraphicalObject(document, attribute))) + return getFillColor(getStyle(document, attribute)); return ""; } @@ -3786,11 +5268,8 @@ int setFillColor(SBMLDocument* document, GraphicalObject* graphicalObject, const Style* style = getLocalStyle(document, graphicalObject); if (!style) style = createLocalStyle(document, graphicalObject); - addColor(document, style, fillColor); - if (getNumGeometricShapes(style) == 1 && isSetFillColor(getGeometricShape(style))) - return setFillColor(getGeometricShape(style), fillColor); - - return setFillColor(style, fillColor); + setReactionLineEndingFillColor(document, getReactionId(graphicalObject), 0, fillColor); + return setFillColor(style, addColor(document, style, fillColor)); } return -1; @@ -3801,11 +5280,32 @@ int setFillColor(SBMLDocument* document, const std::string& attribute, const std Style* style = getLocalStyle(document, attribute); if (!style) style = createLocalStyle(document, attribute); - addColor(document, style, fillColor); - if (getNumGeometricShapes(style) == 1 && isSetFillColor(getGeometricShape(style))) - return setFillColor(getGeometricShape(style), fillColor); + setReactionLineEndingFillColor(document, attribute, 0, fillColor); + return setFillColor(style, addColor(document, style, fillColor)); + } + + return -1; +} + +int setFillColorAsGradient(SBMLDocument* document, GraphicalObject* graphicalObject, const std::string& gradientType, std::vector> stopsVector) { + if (canHaveFillColor(graphicalObject)) { + Style* style = getLocalStyle(document, graphicalObject); + if (!style) + style = createLocalStyle(document, graphicalObject); + setReactionLineEndingFillColorAsGradient(document, getReactionId(graphicalObject), 0, gradientType, stopsVector); + return setFillColorAsGradient(style, addGradient(document, style, gradientType, stopsVector)); + } + + return -1; +} - return setFillColor(style, fillColor); +int setFillColorAsGradient(SBMLDocument* document, const std::string& attribute, const std::string& gradientType, std::vector> stopsVector) { + if (canHaveFillColor(getGraphicalObject(document, attribute))) { + Style* style = getLocalStyle(document, attribute); + if (!style) + style = createLocalStyle(document, attribute); + setReactionLineEndingFillColorAsGradient(document, attribute, 0, gradientType, stopsVector); + return setFillColorAsGradient(style, addGradient(document, style, gradientType, stopsVector)); } return -1; @@ -3823,6 +5323,14 @@ int setCompartmentFillColor(SBMLDocument* document, unsigned int layoutIndex, co return -1; } +int setCompartmentFillColorAsGradient(SBMLDocument* document, unsigned int layoutIndex, const std::string& gradientType, std::vector> stopsVector) { + if (!setCompartmentFillColorAsGradient(getGlobalRenderInformation(document), addGradient(getGlobalRenderInformation(document, layoutIndex), gradientType, stopsVector)) && !setCompartmentFillColorAsGradient( + getLayout(document, layoutIndex), getLocalRenderInformation(document, layoutIndex), addGradient(getLocalRenderInformation(document, layoutIndex), gradientType, stopsVector))) + return 0; + + return -1; +} + const std::string getSpeciesFillColor(SBMLDocument* document) { return getSpeciesFillColor(getGlobalRenderInformation(document)); } @@ -3835,6 +5343,14 @@ int setSpeciesFillColor(SBMLDocument* document, unsigned int layoutIndex, const return -1; } +int setSpeciesFillColorAsGradient(SBMLDocument* document, unsigned int layoutIndex, const std::string& gradientType, std::vector> stopsVector) {; + if (!setSpeciesFillColorAsGradient(getGlobalRenderInformation(document), addGradient(getGlobalRenderInformation(document, layoutIndex), gradientType, stopsVector)) && !setSpeciesFillColorAsGradient( + getLayout(document, layoutIndex), getLocalRenderInformation(document, layoutIndex), addGradient(getLocalRenderInformation(document, layoutIndex), gradientType, stopsVector))) + return 0; + + return -1; +} + const std::string getReactionFillColor(SBMLDocument* document) { return getReactionFillColor(getGlobalRenderInformation(document)); } @@ -3847,6 +5363,14 @@ int setReactionFillColor(SBMLDocument* document, unsigned int layoutIndex, const return -1; } +int setReactionFillColorAsGradient(SBMLDocument* document, unsigned int layoutIndex, const std::string& gradientType, std::vector> stopsVector) { + if (!setReactionFillColorAsGradient(getGlobalRenderInformation(document), addGradient(getGlobalRenderInformation(document, layoutIndex), gradientType, stopsVector)) && !setReactionFillColorAsGradient( + getLayout(document, layoutIndex), getLocalRenderInformation(document, layoutIndex), addGradient(getLocalRenderInformation(document, layoutIndex), gradientType, stopsVector))) + return 0; + + return -1; +} + int setLineEndingFillColor(SBMLDocument* document, unsigned int layoutIndex, const std::string& fillColor) { for (unsigned int renderIndex = 0; renderIndex < getNumLocalRenderInformation(document, layoutIndex); renderIndex++) { for (unsigned int lineEndingIndex = 0; lineEndingIndex < getNumLineEndings(getLocalRenderInformation(document, lineEndingIndex, renderIndex)); lineEndingIndex++) { @@ -3864,61 +5388,69 @@ int setLineEndingFillColor(SBMLDocument* document, unsigned int layoutIndex, con return 0; } -int setFillColor(SBMLDocument* document, unsigned int layoutIndex, const std::string& fillColor) { - if (setCompartmentFillColor(document, layoutIndex, fillColor)) +int setLineEndingFillColorAsGradient(SBMLDocument* document, unsigned int layoutIndex, const std::string& gradientType, std::vector> stopsVector) { + for (unsigned int renderIndex = 0; renderIndex < getNumLocalRenderInformation(document, layoutIndex); renderIndex++) { + for (unsigned int lineEndingIndex = 0; lineEndingIndex < getNumLineEndings(getLocalRenderInformation(document, lineEndingIndex, renderIndex)); lineEndingIndex++) { + if (setLineEndingFillColorAsGradient(document, renderIndex, getLineEnding(getLocalRenderInformation(document, layoutIndex, renderIndex), lineEndingIndex)->getId(), gradientType, stopsVector)) + return -1; + } + } + for (unsigned int renderIndex = 0; renderIndex < getNumGlobalRenderInformation(document); renderIndex++) { + for (unsigned int lineEndingIndex = 0; lineEndingIndex < getNumLineEndings(getGlobalRenderInformation(document, renderIndex)); lineEndingIndex++) { + if (setLineEndingFillColorAsGradient(document, renderIndex, getLineEnding(getGlobalRenderInformation(document, renderIndex), lineEndingIndex)->getId(), gradientType, stopsVector)) + return -1; + } + } + + return 0; +} + +int setFillColor(SBMLDocument* document, unsigned int layoutIndex, const std::string& fillColor) { + if (setCompartmentFillColor(document, layoutIndex, fillColor)) + return -1; + if (setSpeciesFillColor(document, layoutIndex, fillColor)) + return -1; + if (setReactionFillColor(document, layoutIndex, fillColor)) + return -1; + + return 0; +} + +int setFillColorAsGradient(SBMLDocument* document, unsigned int layoutIndex, const std::string& gradientType, std::vector> stopsVector) { + if (setCompartmentFillColorAsGradient(document, layoutIndex, gradientType, stopsVector)) return -1; - if (setSpeciesFillColor(document, layoutIndex, fillColor)) + if (setSpeciesFillColorAsGradient(document, layoutIndex, gradientType, stopsVector)) return -1; - if (setReactionFillColor(document, layoutIndex, fillColor)) + if (setReactionFillColorAsGradient(document, layoutIndex, gradientType, stopsVector)) return -1; return 0; } bool isSetFillRule(SBMLDocument* document, GraphicalObject* graphicalObject) { - if (canHaveFillRule(graphicalObject)) { - Style* style = getStyle(document, graphicalObject); - if (getNumGeometricShapes(style) == 1 && isPolygon(getGeometricShape(style))) - return isSetFillRule(getGeometricShape(style)); - - return isSetFillRule(style); - } + if (canHaveFillRule(graphicalObject)) + return isSetFillRule(getStyle(document, graphicalObject)); return false; } bool isSetFillRule(SBMLDocument* document, const std::string& attribute) { - if (canHaveFillRule(getGraphicalObject(document, attribute))) { - Style* style = getStyle(document, attribute); - if (getNumGeometricShapes(style) == 1 && isPolygon(getGeometricShape(style))) - return isSetFillRule(getGeometricShape(style)); - - return isSetFillRule(style); - } + if (canHaveFillRule(getGraphicalObject(document, attribute))) + return isSetFillRule(getStyle(document, attribute)); return false; } const std::string getFillRule(SBMLDocument* document, GraphicalObject* graphicalObject) { - if (canHaveFillRule(graphicalObject)) { - Style* style = getStyle(document, graphicalObject); - if (getNumGeometricShapes(style) == 1 && isPolygon(getGeometricShape(style))) - return getFillRule(getGeometricShape(style)); - - return getFillRule(style); - } + if (canHaveFillRule(graphicalObject)) + return getFillRule(getStyle(document, graphicalObject)); return ""; } const std::string getFillRule(SBMLDocument* document, const std::string& attribute) { - if (canHaveFillRule(getGraphicalObject(document, attribute))) { - Style* style = getStyle(document, attribute); - if (getNumGeometricShapes(style) == 1 && isPolygon(getGeometricShape(style))) - return getFillRule(getGeometricShape(style)); - - return getFillRule(style); - } + if (canHaveFillRule(getGraphicalObject(document, attribute))) + return getFillRule(getStyle(document, attribute)); return ""; } @@ -3928,9 +5460,7 @@ int setFillRule(SBMLDocument* document, GraphicalObject* graphicalObject, const Style* style = getLocalStyle(document, graphicalObject); if (!style) style = createLocalStyle(document, graphicalObject); - if (getNumGeometricShapes(style) == 1 && isPolygon(getGeometricShape(style))) - return setFillRule(getGeometricShape(style), fillRule); - + setReactionLineEndingFillRule(document, getReactionId(graphicalObject), 0, fillRule); return setFillRule(style, fillRule); } @@ -3942,9 +5472,7 @@ int setFillRule(SBMLDocument* document, const std::string& attribute, const std: Style* style = getLocalStyle(document, attribute); if (!style) style = createLocalStyle(document, attribute); - if (getNumGeometricShapes(style) == 1 && isPolygon(getGeometricShape(style))) - return setFillRule(getGeometricShape(style), fillRule); - + setReactionLineEndingFillRule(document, attribute, 0, fillRule); return setFillRule(style, fillRule); } @@ -4016,49 +5544,29 @@ int setFillRule(SBMLDocument* document, unsigned int layoutIndex, const std::str } bool isSetStartHead(SBMLDocument* document, GraphicalObject* graphicalObject) { - if (canHaveStartHead(graphicalObject)) { - Style* style = getStyle(document, graphicalObject); - if (getNumGeometricShapes(style) == 1 && isRenderCurve(getGeometricShape(style))) - return isSetStartHead(getGeometricShape(style)); - - return isSetStartHead(style); - } + if (canHaveStartHead(graphicalObject)) + return isSetStartHead(getStyle(document, graphicalObject)); return false; } bool isSetStartHead(SBMLDocument* document, const std::string& attribute) { - if (canHaveStartHead(getGraphicalObject(document, attribute))) { - Style* style = getStyle(document, attribute); - if (getNumGeometricShapes(style) == 1 && isRenderCurve(getGeometricShape(style))) - return isSetStartHead(getGeometricShape(style)); - - return isSetStartHead(style); - } + if (canHaveStartHead(getGraphicalObject(document, attribute))) + return isSetStartHead(getStyle(document, attribute)); return false; } const std::string getStartHead(SBMLDocument* document, GraphicalObject* graphicalObject) { - if (canHaveStartHead(graphicalObject)) { - Style* style = getStyle(document, graphicalObject); - if (getNumGeometricShapes(style) == 1 && isRenderCurve(getGeometricShape(style))) - return getStartHead(getGeometricShape(style)); - - return getStartHead(style); - } + if (canHaveStartHead(graphicalObject)) + return getStartHead(getStyle(document, graphicalObject)); return ""; } const std::string getStartHead(SBMLDocument* document, const std::string& attribute) { - if (canHaveStartHead(getGraphicalObject(document, attribute))) { - Style* style = getStyle(document, attribute); - if (getNumGeometricShapes(style) == 1 && isRenderCurve(getGeometricShape(style))) - return getStartHead(getGeometricShape(style)); - - return getStartHead(style); - } + if (canHaveStartHead(getGraphicalObject(document, attribute))) + return getStartHead(getStyle(document, attribute)); return ""; } @@ -4068,9 +5576,6 @@ int setStartHead(SBMLDocument* document, GraphicalObject* graphicalObject, const Style* style = getLocalStyle(document, graphicalObject); if (!style) style = createLocalStyle(document, graphicalObject); - if (getNumGeometricShapes(style) == 1 && isRenderCurve(getGeometricShape(style))) - return setStartHead(getGeometricShape(style), startHead); - return setStartHead(style, startHead); } @@ -4082,9 +5587,6 @@ int setStartHead(SBMLDocument* document, const std::string& attribute, const std Style* style = getLocalStyle(document, attribute); if (!style) style = createLocalStyle(document, attribute); - if (getNumGeometricShapes(style) == 1 && isRenderCurve(getGeometricShape(style))) - return setStartHead(getGeometricShape(style), startHead); - return setStartHead(style, startHead); } @@ -4092,49 +5594,29 @@ int setStartHead(SBMLDocument* document, const std::string& attribute, const std } bool isSetEndHead(SBMLDocument* document, GraphicalObject* graphicalObject) { - if (canHaveEndHead(graphicalObject)) { - Style* style = getStyle(document, graphicalObject); - if (getNumGeometricShapes(style) == 1 && isRenderCurve(getGeometricShape(style))) - return isSetEndHead(getGeometricShape(style)); - - return isSetEndHead(style); - } + if (canHaveEndHead(graphicalObject)) + return isSetEndHead(getStyle(document, graphicalObject)); return false; } bool isSetEndHead(SBMLDocument* document, const std::string& attribute) { - if (canHaveEndHead(getGraphicalObject(document, attribute))) { - Style* style = getStyle(document, attribute); - if (getNumGeometricShapes(style) == 1 && isRenderCurve(getGeometricShape(style))) - return isSetEndHead(getGeometricShape(style)); - - return isSetEndHead(style); - } + if (canHaveEndHead(getGraphicalObject(document, attribute))) + return isSetEndHead(getStyle(document, attribute)); return false; } const std::string getEndHead(SBMLDocument* document, GraphicalObject* graphicalObject) { - if (canHaveEndHead(graphicalObject)) { - Style* style = getStyle(document, graphicalObject); - if (getNumGeometricShapes(style) == 1 && isRenderCurve(getGeometricShape(style))) - return getEndHead(getGeometricShape(style)); - - return getEndHead(style); - } + if (canHaveEndHead(graphicalObject)) + return getEndHead(getStyle(document, graphicalObject)); return ""; } const std::string getEndHead(SBMLDocument* document, const std::string& attribute) { - if (canHaveEndHead(getGraphicalObject(document, attribute))) { - Style* style = getStyle(document, attribute); - if (getNumGeometricShapes(style) == 1 && isRenderCurve(getGeometricShape(style))) - return getEndHead(getGeometricShape(style)); - - return getEndHead(style); - } + if (canHaveEndHead(getGraphicalObject(document, attribute))) + return getEndHead(getStyle(document, attribute)); return ""; } @@ -4144,9 +5626,6 @@ int setEndHead(SBMLDocument* document, GraphicalObject* graphicalObject, const s Style* style = getLocalStyle(document, graphicalObject); if (!style) style = createLocalStyle(document, graphicalObject); - if (getNumGeometricShapes(style) == 1 && isRenderCurve(getGeometricShape(style))) - return setEndHead(getGeometricShape(style), endHead); - return setEndHead(style, endHead); } @@ -4158,9 +5637,6 @@ int setEndHead(SBMLDocument* document, const std::string& attribute, const std:: Style* style = getLocalStyle(document, attribute); if (!style) style = createLocalStyle(document, attribute); - if (getNumGeometricShapes(style) == 1 && isRenderCurve(getGeometricShape(style))) - return setEndHead(getGeometricShape(style), endHead); - return setEndHead(style, endHead); } @@ -4448,6 +5924,266 @@ bool isText(SBMLDocument* document, const std::string& attribute, unsigned int g return false; } +bool isSetGeometricShapeStrokeColor(SBMLDocument* document, GraphicalObject* graphicalObject, unsigned int geometricShapeIndex) { + if (canHaveGeometricShape(graphicalObject)) + return isSetGeometricShapeStrokeColor(getStyle(document, graphicalObject), geometricShapeIndex); + + return false; +} + +bool isSetGeometricShapeStrokeColor(SBMLDocument* document, const std::string& attribute, unsigned int geometricShapeIndex) { + if (canHaveGeometricShape(getGraphicalObject(document, attribute))) + return isSetGeometricShapeStrokeColor(getStyle(document, attribute), geometricShapeIndex); + + return false; +} + +const std::string getGeometricShapeStrokeColor(SBMLDocument* document, GraphicalObject* graphicalObject, unsigned int geometricShapeIndex) { + if (canHaveGeometricShape(graphicalObject)) + return getGeometricShapeStrokeColor(getStyle(document, graphicalObject), geometricShapeIndex); + + return ""; +} + +const std::string getGeometricShapeStrokeColor(SBMLDocument* document, const std::string& attribute, unsigned int geometricShapeIndex) { + if (canHaveGeometricShape(getGraphicalObject(document, attribute))) + return getGeometricShapeStrokeColor(getStyle(document, attribute), geometricShapeIndex); + + return ""; +} + +int setGeometricShapeStrokeColor(SBMLDocument* document, GraphicalObject* graphicalObject, const std::string& strokeColor) { + if (canHaveGeometricShape(graphicalObject)) { + Style* style = getLocalStyle(document, graphicalObject); + if (!style) + style = createLocalStyle(document, graphicalObject); + return setGeometricShapeStrokeColor(style, 0, strokeColor); + } + + return -1; +} + +int setGeometricShapeStrokeColor(SBMLDocument* document, GraphicalObject* graphicalObject, unsigned int geometricShapeIndex, const std::string& strokeColor) { + if (canHaveGeometricShape(graphicalObject)) { + Style* style = getLocalStyle(document, graphicalObject); + if (!style) + style = createLocalStyle(document, graphicalObject); + return setGeometricShapeStrokeColor(style, geometricShapeIndex, strokeColor); + } + + return -1; +} + +int setGeometricShapeStrokeColor(SBMLDocument* document, const std::string& attribute, const std::string& strokeColor) { + if (canHaveGeometricShape(getGraphicalObject(document, attribute))) { + Style* style = getLocalStyle(document, attribute); + if (!style) + style = createLocalStyle(document, attribute); + return setGeometricShapeStrokeColor(style, 0, strokeColor); + } + + return -1; +} + +int setGeometricShapeStrokeColor(SBMLDocument* document, const std::string& attribute, unsigned int geometricShapeIndex, const std::string& strokeColor) { + if (canHaveGeometricShape(getGraphicalObject(document, attribute))) { + Style* style = getLocalStyle(document, attribute); + if (!style) + style = createLocalStyle(document, attribute); + return setGeometricShapeStrokeColor(style, geometricShapeIndex, strokeColor); + } + + return -1; +} + +bool isSetGeometricShapeStrokeWidth(SBMLDocument* document, GraphicalObject* graphicalObject, unsigned int geometricShapeIndex) { + if (canHaveGeometricShape(graphicalObject)) + return isSetGeometricShapeStrokeWidth(getStyle(document, graphicalObject), geometricShapeIndex); + + return false; +} + +bool isSetGeometricShapeStrokeWidth(SBMLDocument* document, const std::string& attribute, unsigned int geometricShapeIndex) { + if (canHaveGeometricShape(getGraphicalObject(document, attribute))) + return isSetGeometricShapeStrokeWidth(getStyle(document, attribute), geometricShapeIndex); + + return false; +} + +const double getGeometricShapeStrokeWidth(SBMLDocument* document, GraphicalObject* graphicalObject, unsigned int geometricShapeIndex) { + if (canHaveGeometricShape(graphicalObject)) + return getGeometricShapeStrokeWidth(getStyle(document, graphicalObject), geometricShapeIndex); + + return NAN; +} + +const double getGeometricShapeStrokeWidth(SBMLDocument* document, const std::string& attribute, unsigned int geometricShapeIndex) { + if (canHaveGeometricShape(getGraphicalObject(document, attribute))) + return getGeometricShapeStrokeWidth(getStyle(document, attribute), geometricShapeIndex); + + return NAN; +} + +int setGeometricShapeStrokeWidth(SBMLDocument* document, GraphicalObject* graphicalObject, const double& strokeWidth) { + if (canHaveGeometricShape(graphicalObject)) { + Style* style = getLocalStyle(document, graphicalObject); + if (!style) + style = createLocalStyle(document, graphicalObject); + return setGeometricShapeStrokeWidth(style, 0, strokeWidth); + } + + return -1; +} + +int setGeometricShapeStrokeWidth(SBMLDocument* document, GraphicalObject* graphicalObject, unsigned int geometricShapeIndex, const double& strokeWidth) { + if (canHaveGeometricShape(graphicalObject)) { + Style* style = getLocalStyle(document, graphicalObject); + if (!style) + style = createLocalStyle(document, graphicalObject); + return setGeometricShapeStrokeWidth(style, geometricShapeIndex, strokeWidth); + } + + return -1; +} + +int setGeometricShapeStrokeWidth(SBMLDocument* document, const std::string& attribute, const double& strokeWidth) { + if (canHaveGeometricShape(getGraphicalObject(document, attribute))) { + Style* style = getLocalStyle(document, attribute); + if (!style) + style = createLocalStyle(document, attribute); + return setGeometricShapeStrokeWidth(style, 0, strokeWidth); + } + + return -1; +} + +int setGeometricShapeStrokeWidth(SBMLDocument* document, const std::string& attribute, unsigned int geometricShapeIndex, const double& strokeWidth) { + if (canHaveGeometricShape(getGraphicalObject(document, attribute))) { + Style* style = getLocalStyle(document, attribute); + if (!style) + style = createLocalStyle(document, attribute); + return setGeometricShapeStrokeWidth(style, geometricShapeIndex, strokeWidth); + } + + return -1; +} + +bool isSetGeometricShapeFillColor(SBMLDocument* document, GraphicalObject* graphicalObject, unsigned int geometricShapeIndex) { + if (canHaveGeometricShape(graphicalObject)) + return isSetGeometricShapeFillColor(getStyle(document, graphicalObject), geometricShapeIndex); + + return false; +} + +bool isSetGeometricShapeFillColor(SBMLDocument* document, const std::string& attribute, unsigned int geometricShapeIndex) { + if (canHaveGeometricShape(getGraphicalObject(document, attribute))) + return isSetGeometricShapeFillColor(getStyle(document, attribute), geometricShapeIndex); + + return false; +} + +const std::string getGeometricShapeFillColor(SBMLDocument* document, GraphicalObject* graphicalObject, unsigned int geometricShapeIndex) { + if (canHaveGeometricShape(graphicalObject)) + return getGeometricShapeFillColor(getStyle(document, graphicalObject), geometricShapeIndex); + + return ""; +} + +const std::string getGeometricShapeFillColor(SBMLDocument* document, const std::string& attribute, unsigned int geometricShapeIndex) { + if (canHaveGeometricShape(getGraphicalObject(document, attribute))) + return getGeometricShapeFillColor(getStyle(document, attribute), geometricShapeIndex); + + return ""; +} + +int setGeometricShapeFillColor(SBMLDocument* document, GraphicalObject* graphicalObject, const std::string& fillColor) { + if (canHaveGeometricShape(graphicalObject)) { + Style* style = getLocalStyle(document, graphicalObject); + if (!style) + style = createLocalStyle(document, graphicalObject); + return setGeometricShapeFillColor(style, 0, fillColor); + } + + return -1; +} + +int setGeometricShapeFillColorAsGradient(SBMLDocument* document, GraphicalObject* graphicalObject, const std::string& gradientType, std::vector> stopsVector) { + if (canHaveGeometricShape(graphicalObject)) { + Style* style = getLocalStyle(document, graphicalObject); + if (!style) + style = createLocalStyle(document, graphicalObject); + return setGeometricShapeFillColorAsGradient(style, addGradient(document, style, gradientType, stopsVector)); + } + + return -1; +} + +int setGeometricShapeFillColor(SBMLDocument* document, GraphicalObject* graphicalObject, unsigned int geometricShapeIndex, const std::string& fillColor) { + if (canHaveGeometricShape(graphicalObject)) { + Style* style = getLocalStyle(document, graphicalObject); + if (!style) + style = createLocalStyle(document, graphicalObject); + return setGeometricShapeFillColor(style, geometricShapeIndex, fillColor); + } + + return -1; +} + +int setGeometricShapeFillColorAsGradient(SBMLDocument* document, GraphicalObject* graphicalObject, unsigned int geometricShapeIndex, const std::string& gradientType, std::vector> stopsVector) { + if (canHaveGeometricShape(graphicalObject)) { + Style* style = getLocalStyle(document, graphicalObject); + if (!style) + style = createLocalStyle(document, graphicalObject); + return setGeometricShapeFillColorAsGradient(style, addGradient(document, style, gradientType, stopsVector)); + } + + return -1; +} + +int setGeometricShapeFillColor(SBMLDocument* document, const std::string& attribute, const std::string& fillColor) { + if (canHaveGeometricShape(getGraphicalObject(document, attribute))) { + Style* style = getLocalStyle(document, attribute); + if (!style) + style = createLocalStyle(document, attribute); + return setGeometricShapeFillColor(style, 0, fillColor); + } + + return -1; +} + +int setGeometricShapeFillColorAsGradient(SBMLDocument* document, const std::string& attribute, const std::string& gradientType, std::vector> stopsVector) { + if (canHaveGeometricShape(getGraphicalObject(document, attribute))) { + Style* style = getLocalStyle(document, attribute); + if (!style) + style = createLocalStyle(document, attribute); + return setGeometricShapeFillColorAsGradient(style, addGradient(document, style, gradientType, stopsVector)); + } + + return -1; +} + +int setGeometricShapeFillColor(SBMLDocument* document, const std::string& attribute, unsigned int geometricShapeIndex, const std::string& fillColor) { + if (canHaveGeometricShape(getGraphicalObject(document, attribute))) { + Style* style = getLocalStyle(document, attribute); + if (!style) + style = createLocalStyle(document, attribute); + return setGeometricShapeFillColor(style, geometricShapeIndex, fillColor); + } + + return -1; +} + +int setGeometricShapeFillColor(SBMLDocument* document, const std::string& attribute, unsigned int geometricShapeIndex, const std::string& gradientType, std::vector> stopsVector) { + if (canHaveGeometricShape(getGraphicalObject(document, attribute))) { + Style* style = getLocalStyle(document, attribute); + if (!style) + style = createLocalStyle(document, attribute); + return setGeometricShapeFillColorAsGradient(style, addGradient(document, style, gradientType, stopsVector)); + } + + return -1; +} + bool isSetGeometricShapeX(SBMLDocument* document, GraphicalObject* graphicalObject, unsigned int geometricShapeIndex) { if (canHaveGeometricShape(graphicalObject)) return isSetGeometricShapeX(getStyle(document, graphicalObject), geometricShapeIndex); @@ -4499,6 +6235,7 @@ int setGeometricShapeX(SBMLDocument* document, GraphicalObject* graphicalObject, Style* style = getLocalStyle(document, graphicalObject); if (!style) style = createLocalStyle(document, graphicalObject); + setReactionLineEndingGeometricShapeX(document, getReactionId(graphicalObject), 0, 0, x); return setGeometricShapeX(style, 0, x); } @@ -4510,6 +6247,7 @@ int setGeometricShapeX(SBMLDocument* document, GraphicalObject* graphicalObject, Style* style = getLocalStyle(document, graphicalObject); if (!style) style = createLocalStyle(document, graphicalObject); + setReactionLineEndingGeometricShapeX(document, getReactionId(graphicalObject), 0, geometricShapeIndex, x); return setGeometricShapeX(style, geometricShapeIndex, x); } @@ -4521,6 +6259,7 @@ int setGeometricShapeX(SBMLDocument* document, const std::string& attribute, con Style* style = getLocalStyle(document, attribute); if (!style) style = createLocalStyle(document, attribute); + setReactionLineEndingGeometricShapeX(document, attribute, 0, 0,x); return setGeometricShapeX(style, 0, x); } @@ -4532,6 +6271,7 @@ int setGeometricShapeX(SBMLDocument* document, const std::string& attribute, uns Style* style = getLocalStyle(document, attribute); if (!style) style = createLocalStyle(document, attribute); + setReactionLineEndingGeometricShapeX(document, attribute, 0, geometricShapeIndex, x); return setGeometricShapeX(style, geometricShapeIndex, x); } @@ -4543,6 +6283,7 @@ int setGeometricShapeXAsDouble(SBMLDocument* document, GraphicalObject* graphica Style* style = getLocalStyle(document, graphicalObject); if (!style) style = createLocalStyle(document, graphicalObject); + setReactionLineEndingGeometricShapeXAsDouble(document, getReactionId(graphicalObject), 0, 0, x); return setGeometricShapeXAsDouble(style, 0, x); } @@ -4554,6 +6295,7 @@ int setGeometricShapeXAsDouble(SBMLDocument* document, GraphicalObject* graphica Style* style = getLocalStyle(document, graphicalObject); if (!style) style = createLocalStyle(document, graphicalObject); + setReactionLineEndingGeometricShapeXAsDouble(document, getReactionId(graphicalObject), 0, geometricShapeIndex, x); return setGeometricShapeXAsDouble(style, geometricShapeIndex, x); } @@ -4565,6 +6307,7 @@ int setGeometricShapeXAsDouble(SBMLDocument* document, const std::string& attrib Style* style = getLocalStyle(document, attribute); if (!style) style = createLocalStyle(document, attribute); + setReactionLineEndingGeometricShapeXAsDouble(document, attribute, 0, 0, x); return setGeometricShapeXAsDouble(style, 0, x); } @@ -4576,6 +6319,7 @@ int setGeometricShapeXAsDouble(SBMLDocument* document, const std::string& attrib Style* style = getLocalStyle(document, attribute); if (!style) style = createLocalStyle(document, attribute); + setReactionLineEndingGeometricShapeX(document, attribute, 0, geometricShapeIndex, x); return setGeometricShapeXAsDouble(style, geometricShapeIndex, x); } @@ -4727,6 +6471,7 @@ int setGeometricShapeY(SBMLDocument* document, GraphicalObject* graphicalObject, Style* style = getLocalStyle(document, graphicalObject); if (!style) style = createLocalStyle(document, graphicalObject); + setReactionLineEndingGeometricShapeY(document, getReactionId(graphicalObject), 0, 0, y); return setGeometricShapeY(style, 0, y); } @@ -4738,6 +6483,7 @@ int setGeometricShapeY(SBMLDocument* document, GraphicalObject* graphicalObject, Style* style = getLocalStyle(document, graphicalObject); if (!style) style = createLocalStyle(document, graphicalObject); + setReactionLineEndingGeometricShapeY(document, getReactionId(graphicalObject), 0, geometricShapeIndex, y); return setGeometricShapeY(style, geometricShapeIndex, y); } @@ -4749,6 +6495,7 @@ int setGeometricShapeY(SBMLDocument* document, const std::string& attribute, con Style* style = getLocalStyle(document, attribute); if (!style) style = createLocalStyle(document, attribute); + setReactionLineEndingGeometricShapeY(document, attribute, 0, 0, y); return setGeometricShapeY(style, 0, y); } @@ -4760,6 +6507,7 @@ int setGeometricShapeY(SBMLDocument* document, const std::string& attribute, uns Style* style = getLocalStyle(document, attribute); if (!style) style = createLocalStyle(document, attribute); + setReactionLineEndingGeometricShapeY(document, attribute, 0, geometricShapeIndex, y); return setGeometricShapeY(style, geometricShapeIndex, y); } @@ -4771,6 +6519,7 @@ int setGeometricShapeYAsDouble(SBMLDocument* document, GraphicalObject* graphica Style* style = getLocalStyle(document, graphicalObject); if (!style) style = createLocalStyle(document, graphicalObject); + setReactionLineEndingGeometricShapeYAsDouble(document, getReactionId(graphicalObject), 0, 0, y); return setGeometricShapeYAsDouble(style, 0, y); } @@ -4782,6 +6531,7 @@ int setGeometricShapeYAsDouble(SBMLDocument* document, GraphicalObject* graphica Style* style = getLocalStyle(document, graphicalObject); if (!style) style = createLocalStyle(document, graphicalObject); + setReactionLineEndingGeometricShapeYAsDouble(document, getReactionId(graphicalObject), 0, geometricShapeIndex, y); return setGeometricShapeYAsDouble(style, geometricShapeIndex, y); } @@ -4793,6 +6543,7 @@ int setGeometricShapeYAsDouble(SBMLDocument* document, const std::string& attrib Style* style = getLocalStyle(document, attribute); if (!style) style = createLocalStyle(document, attribute); + setReactionLineEndingGeometricShapeYAsDouble(document, attribute, 0, 0, y); return setGeometricShapeYAsDouble(style, 0, y); } @@ -4804,6 +6555,7 @@ int setGeometricShapeYAsDouble(SBMLDocument* document, const std::string& attrib Style* style = getLocalStyle(document, attribute); if (!style) style = createLocalStyle(document, attribute); + setReactionLineEndingGeometricShapeYAsDouble(document, attribute, 0, geometricShapeIndex, y); return setGeometricShapeYAsDouble(style, geometricShapeIndex, y); } @@ -4955,6 +6707,7 @@ int setGeometricShapeWidth(SBMLDocument* document, GraphicalObject* graphicalObj Style* style = getLocalStyle(document, graphicalObject); if (!style) style = createLocalStyle(document, graphicalObject); + setReactionLineEndingGeometricShapeWidth(document, getReactionId(graphicalObject), 0, 0, width); return setGeometricShapeWidth(style, 0, width); } @@ -4966,6 +6719,7 @@ int setGeometricShapeWidth(SBMLDocument* document, GraphicalObject* graphicalObj Style* style = getLocalStyle(document, graphicalObject); if (!style) style = createLocalStyle(document, graphicalObject); + setReactionLineEndingGeometricShapeWidth(document, getReactionId(graphicalObject), 0, geometricShapeIndex, width); return setGeometricShapeWidth(style, geometricShapeIndex, width); } @@ -4977,6 +6731,7 @@ int setGeometricShapeWidth(SBMLDocument* document, const std::string& attribute, Style* style = getLocalStyle(document, attribute); if (!style) style = createLocalStyle(document, attribute); + setReactionLineEndingGeometricShapeWidth(document, attribute, 0, 0, width); return setGeometricShapeWidth(style, 0, width); } @@ -4988,6 +6743,7 @@ int setGeometricShapeWidth(SBMLDocument* document, const std::string& attribute, Style* style = getLocalStyle(document, attribute); if (!style) style = createLocalStyle(document, attribute); + setReactionLineEndingGeometricShapeWidth(document, attribute, 0, geometricShapeIndex, width); return setGeometricShapeWidth(style, geometricShapeIndex, width); } @@ -4999,6 +6755,7 @@ int setGeometricShapeWidthAsDouble(SBMLDocument* document, GraphicalObject* grap Style* style = getLocalStyle(document, graphicalObject); if (!style) style = createLocalStyle(document, graphicalObject); + setReactionLineEndingGeometricShapeWidthAsDouble(document, getReactionId(graphicalObject), 0, 0, width); return setGeometricShapeWidthAsDouble(style, 0, width); } @@ -5010,6 +6767,7 @@ int setGeometricShapeWidthAsDouble(SBMLDocument* document, GraphicalObject* grap Style* style = getLocalStyle(document, graphicalObject); if (!style) style = createLocalStyle(document, graphicalObject); + setReactionLineEndingGeometricShapeWidthAsDouble(document, getReactionId(graphicalObject), 0, geometricShapeIndex, width); return setGeometricShapeWidthAsDouble(style, geometricShapeIndex, width); } @@ -5021,6 +6779,7 @@ int setGeometricShapeWidthAsDouble(SBMLDocument* document, const std::string& at Style* style = getLocalStyle(document, attribute); if (!style) style = createLocalStyle(document, attribute); + setReactionLineEndingGeometricShapeWidthAsDouble(document, attribute, 0, 0, width); return setGeometricShapeWidthAsDouble(style, 0, width); } @@ -5032,6 +6791,7 @@ int setGeometricShapeWidthAsDouble(SBMLDocument* document, const std::string& at Style* style = getLocalStyle(document, attribute); if (!style) style = createLocalStyle(document, attribute); + setReactionLineEndingGeometricShapeWidthAsDouble(document, attribute, 0, geometricShapeIndex, width); return setGeometricShapeWidthAsDouble(style, geometricShapeIndex, width); } @@ -5183,6 +6943,7 @@ int setGeometricShapeHeight(SBMLDocument* document, GraphicalObject* graphicalOb Style* style = getLocalStyle(document, graphicalObject); if (!style) style = createLocalStyle(document, graphicalObject); + setReactionLineEndingGeometricShapeHeight(document, getReactionId(graphicalObject), 0, 0, height); return setGeometricShapeHeight(style, 0, height); } @@ -5194,6 +6955,7 @@ int setGeometricShapeHeight(SBMLDocument* document, GraphicalObject* graphicalOb Style* style = getLocalStyle(document, graphicalObject); if (!style) style = createLocalStyle(document, graphicalObject); + setReactionLineEndingGeometricShapeHeight(document, getReactionId(graphicalObject), 0, geometricShapeIndex, height); return setGeometricShapeHeight(style, geometricShapeIndex, height); } @@ -5205,6 +6967,7 @@ int setGeometricShapeHeight(SBMLDocument* document, const std::string& attribute Style* style = getLocalStyle(document, attribute); if (!style) style = createLocalStyle(document, attribute); + setReactionLineEndingGeometricShapeHeight(document, attribute, 0, 0, height); return setGeometricShapeHeight(style, 0, height); } @@ -5216,6 +6979,7 @@ int setGeometricShapeHeight(SBMLDocument* document, const std::string& attribute Style* style = getLocalStyle(document, attribute); if (!style) style = createLocalStyle(document, attribute); + setReactionLineEndingGeometricShapeHeight(document, attribute, 0, geometricShapeIndex, height); return setGeometricShapeHeight(style, geometricShapeIndex, height); } @@ -5227,6 +6991,7 @@ int setGeometricShapeHeightAsDouble(SBMLDocument* document, GraphicalObject* gra Style* style = getLocalStyle(document, graphicalObject); if (!style) style = createLocalStyle(document, graphicalObject); + setReactionLineEndingGeometricShapeHeightAsDouble(document, getReactionId(graphicalObject), 0, 0, height); return setGeometricShapeHeightAsDouble(style, 0, height); } @@ -5238,6 +7003,7 @@ int setGeometricShapeHeightAsDouble(SBMLDocument* document, GraphicalObject* gra Style* style = getLocalStyle(document, graphicalObject); if (!style) style = createLocalStyle(document, graphicalObject); + setReactionLineEndingGeometricShapeHeightAsDouble(document, getReactionId(graphicalObject), 0, geometricShapeIndex, height); return setGeometricShapeHeightAsDouble(style, geometricShapeIndex, height); } @@ -5249,6 +7015,7 @@ int setGeometricShapeHeightAsDouble(SBMLDocument* document, const std::string& a Style* style = getLocalStyle(document, attribute); if (!style) style = createLocalStyle(document, attribute); + setReactionLineEndingGeometricShapeHeightAsDouble(document, attribute, 0, 0, height); return setGeometricShapeHeightAsDouble(style, 0, height); } @@ -5260,6 +7027,7 @@ int setGeometricShapeHeightAsDouble(SBMLDocument* document, const std::string& a Style* style = getLocalStyle(document, attribute); if (!style) style = createLocalStyle(document, attribute); + setReactionLineEndingGeometricShapeHeightAsDouble(document, attribute, 0, geometricShapeIndex, height); return setGeometricShapeHeightAsDouble(style, geometricShapeIndex, height); } @@ -5393,6 +7161,7 @@ int setGeometricShapeRatio(SBMLDocument* document, GraphicalObject* graphicalObj Style* style = getLocalStyle(document, graphicalObject); if (!style) style = createLocalStyle(document, graphicalObject); + setReactionLineEndingGeometricShapeRatio(document, getReactionId(graphicalObject), 0, 0, ratio); return setGeometricShapeRatio(style, ratio); } @@ -5404,6 +7173,7 @@ int setGeometricShapeRatio(SBMLDocument* document, GraphicalObject* graphicalObj Style* style = getLocalStyle(document, graphicalObject); if (!style) style = createLocalStyle(document, graphicalObject); + setReactionLineEndingGeometricShapeRatio(document, getReactionId(graphicalObject), 0, geometricShapeIndex, ratio); return setGeometricShapeRatio(style, geometricShapeIndex, ratio); } @@ -5415,6 +7185,7 @@ int setGeometricShapeRatio(SBMLDocument* document, const std::string& attribute, Style* style = getLocalStyle(document, attribute); if (!style) style = createLocalStyle(document, attribute); + setReactionLineEndingGeometricShapeRatio(document, attribute, 0, 0, ratio); return setGeometricShapeRatio(style, ratio); } @@ -5426,6 +7197,7 @@ int setGeometricShapeRatio(SBMLDocument* document, const std::string& attribute, Style* style = getLocalStyle(document, attribute); if (!style) style = createLocalStyle(document, attribute); + setReactionLineEndingGeometricShapeRatio(document, attribute, 0, geometricShapeIndex, ratio); return setGeometricShapeRatio(style, geometricShapeIndex, ratio); } @@ -5530,6 +7302,7 @@ int setGeometricShapeCornerCurvatureRadiusX(SBMLDocument* document, GraphicalObj Style* style = getLocalStyle(document, graphicalObject); if (!style) style = createLocalStyle(document, graphicalObject); + setReactionLineEndingGeometricShapeCornerCurvatureRadiusX(document, getReactionId(graphicalObject), 0, 0, rx); return setGeometricShapeCornerCurvatureRadiusX(style, rx); } @@ -5541,6 +7314,7 @@ int setGeometricShapeCornerCurvatureRadiusX(SBMLDocument* document, GraphicalObj Style* style = getLocalStyle(document, graphicalObject); if (!style) style = createLocalStyle(document, graphicalObject); + setReactionLineEndingGeometricShapeCornerCurvatureRadiusX(document, getReactionId(graphicalObject), 0, geometricShapeIndex, rx); return setGeometricShapeCornerCurvatureRadiusX(style, geometricShapeIndex, rx); } @@ -5552,6 +7326,7 @@ int setGeometricShapeCornerCurvatureRadiusX(SBMLDocument* document, const std::s Style* style = getLocalStyle(document, attribute); if (!style) style = createLocalStyle(document, attribute); + setReactionLineEndingGeometricShapeCornerCurvatureRadiusX(document, attribute, 0, 0, rx); return setGeometricShapeCornerCurvatureRadiusX(style, rx); } @@ -5563,6 +7338,7 @@ int setGeometricShapeCornerCurvatureRadiusX(SBMLDocument* document, const std::s Style* style = getLocalStyle(document, attribute); if (!style) style = createLocalStyle(document, attribute); + setReactionLineEndingGeometricShapeCornerCurvatureRadiusX(document, attribute, 0, geometricShapeIndex, rx); return setGeometricShapeCornerCurvatureRadiusX(style, geometricShapeIndex, rx); } @@ -5574,6 +7350,7 @@ int setGeometricShapeCornerCurvatureRadiusXAsDouble(SBMLDocument* document, Grap Style* style = getLocalStyle(document, graphicalObject); if (!style) style = createLocalStyle(document, graphicalObject); + setReactionLineEndingGeometricShapeCornerCurvatureRadiusXAsDouble(document, getReactionId(graphicalObject), 0, 0, rx); return setGeometricShapeCornerCurvatureRadiusXAsDouble(style, rx); } @@ -5585,6 +7362,7 @@ int setGeometricShapeCornerCurvatureRadiusXAsDouble(SBMLDocument* document, Grap Style* style = getLocalStyle(document, graphicalObject); if (!style) style = createLocalStyle(document, graphicalObject); + setReactionLineEndingGeometricShapeCornerCurvatureRadiusXAsDouble(document, getReactionId(graphicalObject), 0, geometricShapeIndex, rx); return setGeometricShapeCornerCurvatureRadiusXAsDouble(style, geometricShapeIndex, rx); } @@ -5596,6 +7374,7 @@ int setGeometricShapeCornerCurvatureRadiusXAsDouble(SBMLDocument* document, cons Style* style = getLocalStyle(document, attribute); if (!style) style = createLocalStyle(document, attribute); + setReactionLineEndingGeometricShapeCornerCurvatureRadiusXAsDouble(document, attribute, 0, 0, rx); return setGeometricShapeCornerCurvatureRadiusXAsDouble(style, rx); } @@ -5607,6 +7386,7 @@ int setGeometricShapeCornerCurvatureRadiusXAsDouble(SBMLDocument* document, cons Style* style = getLocalStyle(document, attribute); if (!style) style = createLocalStyle(document, attribute); + setReactionLineEndingGeometricShapeCornerCurvatureRadiusXAsDouble(document, attribute, 0, geometricShapeIndex, rx); return setGeometricShapeCornerCurvatureRadiusXAsDouble(style, geometricShapeIndex, rx); } @@ -5758,6 +7538,7 @@ int setGeometricShapeCornerCurvatureRadiusY(SBMLDocument* document, GraphicalObj Style* style = getLocalStyle(document, graphicalObject); if (!style) style = createLocalStyle(document, graphicalObject); + setReactionLineEndingGeometricShapeCornerCurvatureRadiusY(document, getReactionId(graphicalObject), 0, 0, ry); return setGeometricShapeCornerCurvatureRadiusY(style, ry); } @@ -5769,6 +7550,7 @@ int setGeometricShapeCornerCurvatureRadiusY(SBMLDocument* document, GraphicalObj Style* style = getLocalStyle(document, graphicalObject); if (!style) style = createLocalStyle(document, graphicalObject); + setReactionLineEndingGeometricShapeCornerCurvatureRadiusY(document, getReactionId(graphicalObject), 0, geometricShapeIndex, ry); return setGeometricShapeCornerCurvatureRadiusY(style, geometricShapeIndex, ry); } @@ -5780,6 +7562,7 @@ int setGeometricShapeCornerCurvatureRadiusY(SBMLDocument* document, const std::s Style* style = getLocalStyle(document, attribute); if (!style) style = createLocalStyle(document, attribute); + setReactionLineEndingGeometricShapeCornerCurvatureRadiusY(document, attribute, 0, 0, ry); return setGeometricShapeCornerCurvatureRadiusY(style, ry); } @@ -5791,6 +7574,7 @@ int setGeometricShapeCornerCurvatureRadiusY(SBMLDocument* document, const std::s Style* style = getLocalStyle(document, attribute); if (!style) style = createLocalStyle(document, attribute); + setReactionLineEndingGeometricShapeCornerCurvatureRadiusY(document, attribute, 0, geometricShapeIndex, ry); return setGeometricShapeCornerCurvatureRadiusY(style, geometricShapeIndex, ry); } @@ -5802,6 +7586,7 @@ int setGeometricShapeCornerCurvatureRadiusYAsDouble(SBMLDocument* document, Grap Style* style = getLocalStyle(document, graphicalObject); if (!style) style = createLocalStyle(document, graphicalObject); + setReactionLineEndingGeometricShapeCornerCurvatureRadiusYAsDouble(document, getReactionId(graphicalObject), 0, 0, ry); return setGeometricShapeCornerCurvatureRadiusYAsDouble(style, ry); } @@ -5813,6 +7598,7 @@ int setGeometricShapeCornerCurvatureRadiusYAsDouble(SBMLDocument* document, Grap Style* style = getLocalStyle(document, graphicalObject); if (!style) style = createLocalStyle(document, graphicalObject); + setReactionLineEndingGeometricShapeCornerCurvatureRadiusYAsDouble(document, getReactionId(graphicalObject), 0, geometricShapeIndex, ry); return setGeometricShapeCornerCurvatureRadiusYAsDouble(style, geometricShapeIndex, ry); } @@ -5824,6 +7610,7 @@ int setGeometricShapeCornerCurvatureRadiusYAsDouble(SBMLDocument* document, cons Style* style = getLocalStyle(document, attribute); if (!style) style = createLocalStyle(document, attribute); + setReactionLineEndingGeometricShapeCornerCurvatureRadiusYAsDouble(document, attribute, 0, 0, ry); return setGeometricShapeCornerCurvatureRadiusYAsDouble(style, ry); } @@ -5835,6 +7622,7 @@ int setGeometricShapeCornerCurvatureRadiusYAsDouble(SBMLDocument* document, cons Style* style = getLocalStyle(document, attribute); if (!style) style = createLocalStyle(document, attribute); + setReactionLineEndingGeometricShapeCornerCurvatureRadiusYAsDouble(document, attribute, 0, geometricShapeIndex, ry); return setGeometricShapeCornerCurvatureRadiusYAsDouble(style, geometricShapeIndex, ry); } @@ -5986,6 +7774,7 @@ int setGeometricShapeCenterX(SBMLDocument* document, GraphicalObject* graphicalO Style* style = getLocalStyle(document, graphicalObject); if (!style) style = createLocalStyle(document, graphicalObject); + setReactionLineEndingGeometricShapeCenterX(document, getReactionId(graphicalObject), 0, 0, cx); return setGeometricShapeCenterX(style, cx); } @@ -5997,6 +7786,7 @@ int setGeometricShapeCenterX(SBMLDocument* document, GraphicalObject* graphicalO Style* style = getLocalStyle(document, graphicalObject); if (!style) style = createLocalStyle(document, graphicalObject); + setReactionLineEndingGeometricShapeCenterX(document, getReactionId(graphicalObject), 0, geometricShapeIndex, cx); return setGeometricShapeCenterX(style, geometricShapeIndex, cx); } @@ -6008,6 +7798,7 @@ int setGeometricShapeCenterX(SBMLDocument* document, const std::string& attribut Style* style = getLocalStyle(document, attribute); if (!style) style = createLocalStyle(document, attribute); + setReactionLineEndingGeometricShapeCenterX(document, attribute, 0, 0, cx); return setGeometricShapeCenterX(style, cx); } @@ -6019,6 +7810,7 @@ int setGeometricShapeCenterX(SBMLDocument* document, const std::string& attribut Style* style = getLocalStyle(document, attribute); if (!style) style = createLocalStyle(document, attribute); + setReactionLineEndingGeometricShapeCenterX(document, attribute, 0, geometricShapeIndex, cx); return setGeometricShapeCenterX(style, geometricShapeIndex, cx); } @@ -6030,6 +7822,7 @@ int setGeometricShapeCenterXAsDouble(SBMLDocument* document, GraphicalObject* gr Style* style = getLocalStyle(document, graphicalObject); if (!style) style = createLocalStyle(document, graphicalObject); + setReactionLineEndingGeometricShapeCenterXAsDouble(document, getReactionId(graphicalObject), 0, 0, cx); return setGeometricShapeCenterXAsDouble(style, cx); } @@ -6041,6 +7834,7 @@ int setGeometricShapeCenterXAsDouble(SBMLDocument* document, GraphicalObject* gr Style* style = getLocalStyle(document, graphicalObject); if (!style) style = createLocalStyle(document, graphicalObject); + setReactionLineEndingGeometricShapeCenterXAsDouble(document, getReactionId(graphicalObject), 0, geometricShapeIndex, cx); return setGeometricShapeCenterXAsDouble(style, geometricShapeIndex, cx); } @@ -6052,6 +7846,7 @@ int setGeometricShapeCenterXAsDouble(SBMLDocument* document, const std::string& Style* style = getLocalStyle(document, attribute); if (!style) style = createLocalStyle(document, attribute); + setReactionLineEndingGeometricShapeCenterXAsDouble(document, attribute, 0, 0, cx); return setGeometricShapeCenterXAsDouble(style, cx); } @@ -6063,6 +7858,7 @@ int setGeometricShapeCenterXAsDouble(SBMLDocument* document, const std::string& Style* style = getLocalStyle(document, attribute); if (!style) style = createLocalStyle(document, attribute); + setReactionLineEndingGeometricShapeCenterXAsDouble(document, attribute, 0, geometricShapeIndex, cx); return setGeometricShapeCenterXAsDouble(style, geometricShapeIndex, cx); } @@ -6214,6 +8010,7 @@ int setGeometricShapeCenterY(SBMLDocument* document, GraphicalObject* graphicalO Style* style = getLocalStyle(document, graphicalObject); if (!style) style = createLocalStyle(document, graphicalObject); + setReactionLineEndingGeometricShapeCenterY(document, getReactionId(graphicalObject), 0, 0, cy); return setGeometricShapeCenterY(style, cy); } @@ -6225,6 +8022,7 @@ int setGeometricShapeCenterY(SBMLDocument* document, GraphicalObject* graphicalO Style* style = getLocalStyle(document, graphicalObject); if (!style) style = createLocalStyle(document, graphicalObject); + setReactionLineEndingGeometricShapeCenterY(document, getReactionId(graphicalObject), 0, geometricShapeIndex, cy); return setGeometricShapeCenterY(style, geometricShapeIndex, cy); } @@ -6236,6 +8034,7 @@ int setGeometricShapeCenterY(SBMLDocument* document, const std::string& attribut Style* style = getLocalStyle(document, attribute); if (!style) style = createLocalStyle(document, attribute); + setReactionLineEndingGeometricShapeCenterY(document, attribute, 0, 0, cy); return setGeometricShapeCenterY(style, cy); } @@ -6247,6 +8046,7 @@ int setGeometricShapeCenterY(SBMLDocument* document, const std::string& attribut Style* style = getLocalStyle(document, attribute); if (!style) style = createLocalStyle(document, attribute); + setReactionLineEndingGeometricShapeCenterY(document, attribute, 0, geometricShapeIndex, cy); return setGeometricShapeCenterY(style, geometricShapeIndex, cy); } @@ -6258,6 +8058,7 @@ int setGeometricShapeCenterYAsDouble(SBMLDocument* document, GraphicalObject* gr Style* style = getLocalStyle(document, graphicalObject); if (!style) style = createLocalStyle(document, graphicalObject); + setReactionLineEndingGeometricShapeCenterYAsDouble(document, getReactionId(graphicalObject), 0, 0, cy); return setGeometricShapeCenterYAsDouble(style, cy); } @@ -6269,6 +8070,7 @@ int setGeometricShapeCenterYAsDouble(SBMLDocument* document, GraphicalObject* gr Style* style = getLocalStyle(document, graphicalObject); if (!style) style = createLocalStyle(document, graphicalObject); + setReactionLineEndingGeometricShapeCenterYAsDouble(document, getReactionId(graphicalObject), 0, geometricShapeIndex, cy); return setGeometricShapeCenterYAsDouble(style, geometricShapeIndex, cy); } @@ -6280,6 +8082,7 @@ int setGeometricShapeCenterYAsDouble(SBMLDocument* document, const std::string& Style* style = getLocalStyle(document, attribute); if (!style) style = createLocalStyle(document, attribute); + setReactionLineEndingGeometricShapeCenterYAsDouble(document, attribute, 0, 0, cy); return setGeometricShapeCenterYAsDouble(style, cy); } @@ -6291,6 +8094,7 @@ int setGeometricShapeCenterYAsDouble(SBMLDocument* document, const std::string& Style* style = getLocalStyle(document, attribute); if (!style) style = createLocalStyle(document, attribute); + setReactionLineEndingGeometricShapeCenterYAsDouble(document, attribute, 0, geometricShapeIndex, cy); return setGeometricShapeCenterYAsDouble(style, geometricShapeIndex, cy); } @@ -6443,6 +8247,7 @@ int setGeometricShapeRadiusX(SBMLDocument* document, GraphicalObject* graphicalO Style* style = getLocalStyle(document, graphicalObject); if (!style) style = createLocalStyle(document, graphicalObject); + setReactionLineEndingGeometricShapeRadiusX(document, getReactionId(graphicalObject), 0, 0, rx); return setGeometricShapeRadiusX(style, rx); } @@ -6454,6 +8259,7 @@ int setGeometricShapeRadiusX(SBMLDocument* document, GraphicalObject* graphicalO Style* style = getLocalStyle(document, graphicalObject); if (!style) style = createLocalStyle(document, graphicalObject); + setReactionLineEndingGeometricShapeRadiusX(document, getReactionId(graphicalObject), 0, geometricShapeIndex, rx); return setGeometricShapeRadiusX(style, geometricShapeIndex, rx); } @@ -6465,6 +8271,7 @@ int setGeometricShapeRadiusX(SBMLDocument* document, const std::string& attribut Style* style = getLocalStyle(document, attribute); if (!style) style = createLocalStyle(document, attribute); + setReactionLineEndingGeometricShapeRadiusX(document, attribute, 0, 0, rx); return setGeometricShapeRadiusX(style, rx); } @@ -6476,6 +8283,7 @@ int setGeometricShapeRadiusX(SBMLDocument* document, const std::string& attribut Style* style = getLocalStyle(document, attribute); if (!style) style = createLocalStyle(document, attribute); + setReactionLineEndingGeometricShapeRadiusX(document, attribute, 0, geometricShapeIndex, rx); return setGeometricShapeRadiusX(style, geometricShapeIndex, rx); } @@ -6487,6 +8295,7 @@ int setGeometricShapeRadiusXAsDouble(SBMLDocument* document, GraphicalObject* gr Style* style = getLocalStyle(document, graphicalObject); if (!style) style = createLocalStyle(document, graphicalObject); + setReactionLineEndingGeometricShapeRadiusXAsDouble(document, getReactionId(graphicalObject), 0, 0, rx); return setGeometricShapeRadiusXAsDouble(style, rx); } @@ -6498,6 +8307,7 @@ int setGeometricShapeRadiusXAsDouble(SBMLDocument* document, GraphicalObject* gr Style* style = getLocalStyle(document, graphicalObject); if (!style) style = createLocalStyle(document, graphicalObject); + setReactionLineEndingGeometricShapeRadiusXAsDouble(document, getReactionId(graphicalObject), 0, geometricShapeIndex, rx); return setGeometricShapeRadiusXAsDouble(style, geometricShapeIndex, rx); } @@ -6509,6 +8319,7 @@ int setGeometricShapeRadiusXAsDouble(SBMLDocument* document, const std::string& Style* style = getLocalStyle(document, attribute); if (!style) style = createLocalStyle(document, attribute); + setReactionLineEndingGeometricShapeRadiusXAsDouble(document, attribute, 0, 0, rx); return setGeometricShapeRadiusXAsDouble(style, rx); } @@ -6520,6 +8331,7 @@ int setGeometricShapeRadiusXAsDouble(SBMLDocument* document, const std::string& Style* style = getLocalStyle(document, attribute); if (!style) style = createLocalStyle(document, attribute); + setReactionLineEndingGeometricShapeRadiusXAsDouble(document, attribute, 0, geometricShapeIndex, rx); return setGeometricShapeRadiusXAsDouble(style, geometricShapeIndex, rx); } @@ -6671,6 +8483,7 @@ int setGeometricShapeRadiusY(SBMLDocument* document, GraphicalObject* graphicalO Style* style = getLocalStyle(document, graphicalObject); if (!style) style = createLocalStyle(document, graphicalObject); + setReactionLineEndingGeometricShapeRadiusY(document, getReactionId(graphicalObject), 0, 0, ry); return setGeometricShapeRadiusY(style, ry); } @@ -6682,6 +8495,7 @@ int setGeometricShapeRadiusY(SBMLDocument* document, GraphicalObject* graphicalO Style* style = getLocalStyle(document, graphicalObject); if (!style) style = createLocalStyle(document, graphicalObject); + setReactionLineEndingGeometricShapeRadiusY(document, getReactionId(graphicalObject), 0, geometricShapeIndex, ry); return setGeometricShapeRadiusY(style, geometricShapeIndex, ry); } @@ -6693,6 +8507,7 @@ int setGeometricShapeRadiusY(SBMLDocument* document, const std::string& attribut Style* style = getLocalStyle(document, attribute); if (!style) style = createLocalStyle(document, attribute); + setReactionLineEndingGeometricShapeRadiusY(document, attribute, 0, 0, ry); return setGeometricShapeRadiusY(style, ry); } @@ -6704,6 +8519,7 @@ int setGeometricShapeRadiusY(SBMLDocument* document, const std::string& attribut Style* style = getLocalStyle(document, attribute); if (!style) style = createLocalStyle(document, attribute); + setReactionLineEndingGeometricShapeRadiusY(document, attribute, 0, geometricShapeIndex, ry); return setGeometricShapeRadiusY(style, geometricShapeIndex, ry); } @@ -6715,6 +8531,7 @@ int setGeometricShapeRadiusYAsDouble(SBMLDocument* document, GraphicalObject* gr Style* style = getLocalStyle(document, graphicalObject); if (!style) style = createLocalStyle(document, graphicalObject); + setReactionLineEndingGeometricShapeRadiusYAsDouble(document, getReactionId(graphicalObject), 0, 0, ry); return setGeometricShapeRadiusYAsDouble(style, ry); } @@ -6726,6 +8543,7 @@ int setGeometricShapeRadiusYAsDouble(SBMLDocument* document, GraphicalObject* gr Style* style = getLocalStyle(document, graphicalObject); if (!style) style = createLocalStyle(document, graphicalObject); + setReactionLineEndingGeometricShapeRadiusYAsDouble(document, getReactionId(graphicalObject), 0, geometricShapeIndex, ry); return setGeometricShapeRadiusYAsDouble(style, geometricShapeIndex, ry); } @@ -6737,6 +8555,7 @@ int setGeometricShapeRadiusYAsDouble(SBMLDocument* document, const std::string& Style* style = getLocalStyle(document, attribute); if (!style) style = createLocalStyle(document, attribute); + setReactionLineEndingGeometricShapeRadiusYAsDouble(document, attribute, 0, 0, ry); return setGeometricShapeRadiusYAsDouble(style, ry); } @@ -6748,6 +8567,7 @@ int setGeometricShapeRadiusYAsDouble(SBMLDocument* document, const std::string& Style* style = getLocalStyle(document, attribute); if (!style) style = createLocalStyle(document, attribute); + setReactionLineEndingGeometricShapeRadiusYAsDouble(document, attribute, 0, geometricShapeIndex, ry); return setGeometricShapeRadiusYAsDouble(style, geometricShapeIndex, ry); } @@ -6914,6 +8734,7 @@ int setGeometricShapeElementX(SBMLDocument* document, GraphicalObject* graphical Style* style = getLocalStyle(document, graphicalObject); if (!style) style = createLocalStyle(document, graphicalObject); + setReactionLineEndingGeometricShapeElementX(document, getReactionId(graphicalObject), 0, 0, 0, x); return setGeometricShapeElementX(style, x); } @@ -6925,6 +8746,7 @@ int setGeometricShapeElementX(SBMLDocument* document, GraphicalObject* graphical Style* style = getLocalStyle(document, graphicalObject); if (!style) style = createLocalStyle(document, graphicalObject); + setReactionLineEndingGeometricShapeElementX(document, getReactionId(graphicalObject), 0, 0, elementIndex, x); return setGeometricShapeElementX(style, elementIndex, x); } @@ -6936,6 +8758,7 @@ int setGeometricShapeElementX(SBMLDocument* document, GraphicalObject* graphical Style* style = getLocalStyle(document, graphicalObject); if (!style) style = createLocalStyle(document, graphicalObject); + setReactionLineEndingGeometricShapeElementX(document, getReactionId(graphicalObject), 0, geometricShapeIndex, elementIndex, x); return setGeometricShapeElementX(style, geometricShapeIndex, elementIndex, x); } @@ -6947,6 +8770,7 @@ int setGeometricShapeElementX(SBMLDocument* document, const std::string& attribu Style* style = getLocalStyle(document, attribute); if (!style) style = createLocalStyle(document, attribute); + setReactionLineEndingGeometricShapeElementX(document, attribute, 0, 0, 0, x); return setGeometricShapeElementX(style, x); } @@ -6958,6 +8782,7 @@ int setGeometricShapeElementX(SBMLDocument* document, const std::string& attribu Style* style = getLocalStyle(document, attribute); if (!style) style = createLocalStyle(document, attribute); + setReactionLineEndingGeometricShapeElementX(document, attribute, 0, 0, elementIndex, x); return setGeometricShapeElementX(style, elementIndex, x); } @@ -6969,6 +8794,7 @@ int setGeometricShapeElementX(SBMLDocument* document, const std::string& attribu Style* style = getLocalStyle(document, attribute); if (!style) style = createLocalStyle(document, attribute); + setReactionLineEndingGeometricShapeElementX(document, attribute, 0, geometricShapeIndex, elementIndex, x); return setGeometricShapeElementX(style, geometricShapeIndex, elementIndex, x); } @@ -6980,6 +8806,7 @@ int setGeometricShapeElementXAsDouble(SBMLDocument* document, GraphicalObject* g Style* style = getLocalStyle(document, graphicalObject); if (!style) style = createLocalStyle(document, graphicalObject); + setReactionLineEndingGeometricShapeElementXAsDouble(document, getReactionId(graphicalObject), 0, 0, 0, x); return setGeometricShapeElementXAsDouble(style, x); } @@ -6991,6 +8818,7 @@ int setGeometricShapeElementXAsDouble(SBMLDocument* document, GraphicalObject* g Style* style = getLocalStyle(document, graphicalObject); if (!style) style = createLocalStyle(document, graphicalObject); + setReactionLineEndingGeometricShapeElementXAsDouble(document, getReactionId(graphicalObject), 0, 0, elementIndex, x); return setGeometricShapeElementXAsDouble(style, elementIndex, x); } @@ -7002,6 +8830,7 @@ int setGeometricShapeElementXAsDouble(SBMLDocument* document, GraphicalObject* g Style* style = getLocalStyle(document, graphicalObject); if (!style) style = createLocalStyle(document, graphicalObject); + setReactionLineEndingGeometricShapeElementXAsDouble(document, getReactionId(graphicalObject), 0, geometricShapeIndex, elementIndex, x); return setGeometricShapeElementXAsDouble(style, geometricShapeIndex, elementIndex, x); } @@ -7013,6 +8842,7 @@ int setGeometricShapeElementXAsDouble(SBMLDocument* document, const std::string& Style* style = getLocalStyle(document, attribute); if (!style) style = createLocalStyle(document, attribute); + setReactionLineEndingGeometricShapeElementXAsDouble(document, attribute, 0, 0, 0, x); return setGeometricShapeElementXAsDouble(style, x); } @@ -7024,6 +8854,7 @@ int setGeometricShapeElementXAsDouble(SBMLDocument* document, const std::string& Style* style = getLocalStyle(document, attribute); if (!style) style = createLocalStyle(document, attribute); + setReactionLineEndingGeometricShapeElementXAsDouble(document, attribute, 0, 0, elementIndex, x); return setGeometricShapeElementXAsDouble(style, elementIndex, x); } @@ -7035,6 +8866,7 @@ int setGeometricShapeElementXAsDouble(SBMLDocument* document, const std::string& Style* style = getLocalStyle(document, attribute); if (!style) style = createLocalStyle(document, attribute); + setReactionLineEndingGeometricShapeElementXAsDouble(document, attribute, 0, geometricShapeIndex, elementIndex, x); return setGeometricShapeElementXAsDouble(style, geometricShapeIndex, elementIndex, x); } @@ -7170,6 +9002,7 @@ int setGeometricShapeElementY(SBMLDocument* document, GraphicalObject* graphical Style* style = getLocalStyle(document, graphicalObject); if (!style) style = createLocalStyle(document, graphicalObject); + setReactionLineEndingGeometricShapeElementY(document, getReactionId(graphicalObject), 0, 0, 0, y); return setGeometricShapeElementY(style, y); } return -1; @@ -7180,6 +9013,7 @@ int setGeometricShapeElementY(SBMLDocument* document, GraphicalObject* graphical Style* style = getLocalStyle(document, graphicalObject); if (!style) style = createLocalStyle(document, graphicalObject); + setReactionLineEndingGeometricShapeElementY(document, getReactionId(graphicalObject), 0, 0, elementIndex, y); return setGeometricShapeElementY(style, elementIndex, y); } return -1; @@ -7190,6 +9024,7 @@ int setGeometricShapeElementY(SBMLDocument* document, GraphicalObject* graphical Style* style = getLocalStyle(document, graphicalObject); if (!style) style = createLocalStyle(document, graphicalObject); + setReactionLineEndingGeometricShapeElementY(document, getReactionId(graphicalObject), 0, geometricShapeIndex, elementIndex, y); return setGeometricShapeElementY(style, geometricShapeIndex, elementIndex, y); } return -1; @@ -7200,6 +9035,7 @@ int setGeometricShapeElementY(SBMLDocument* document, const std::string& attribu Style* style = getLocalStyle(document, attribute); if (!style) style = createLocalStyle(document, attribute); + setReactionLineEndingGeometricShapeElementY(document, attribute, 0, 0, 0, y); return setGeometricShapeElementY(style, y); } return -1; @@ -7210,6 +9046,7 @@ int setGeometricShapeElementY(SBMLDocument* document, const std::string& attribu Style* style = getLocalStyle(document, attribute); if (!style) style = createLocalStyle(document, attribute); + setReactionLineEndingGeometricShapeElementY(document, attribute, 0, 0, elementIndex, y); return setGeometricShapeElementY(style, elementIndex, y); } return -1; @@ -7220,6 +9057,7 @@ int setGeometricShapeElementY(SBMLDocument* document, const std::string& attribu Style* style = getLocalStyle(document, attribute); if (!style) style = createLocalStyle(document, attribute); + setReactionLineEndingGeometricShapeElementY(document, attribute, 0, geometricShapeIndex, elementIndex, y); return setGeometricShapeElementY(style, geometricShapeIndex, elementIndex, y); } return -1; @@ -7230,6 +9068,7 @@ int setGeometricShapeElementYAsDouble(SBMLDocument* document, GraphicalObject* g Style* style = getLocalStyle(document, graphicalObject); if (!style) style = createLocalStyle(document, graphicalObject); + setReactionLineEndingGeometricShapeElementYAsDouble(document, getReactionId(graphicalObject), 0, 0, 0, y); return setGeometricShapeElementYAsDouble(style, y); } return -1; @@ -7240,6 +9079,7 @@ int setGeometricShapeElementYAsDouble(SBMLDocument* document, GraphicalObject* g Style* style = getLocalStyle(document, graphicalObject); if (!style) style = createLocalStyle(document, graphicalObject); + setReactionLineEndingGeometricShapeElementYAsDouble(document, getReactionId(graphicalObject), 0, 0, elementIndex, y); return setGeometricShapeElementYAsDouble(style, elementIndex, y); } return -1; @@ -7250,6 +9090,7 @@ int setGeometricShapeElementYAsDouble(SBMLDocument* document, GraphicalObject* g Style* style = getLocalStyle(document, graphicalObject); if (!style) style = createLocalStyle(document, graphicalObject); + setReactionLineEndingGeometricShapeElementYAsDouble(document, getReactionId(graphicalObject), 0, geometricShapeIndex, elementIndex, y); return setGeometricShapeElementYAsDouble(style, geometricShapeIndex, elementIndex, y); } return -1; @@ -7260,6 +9101,7 @@ int setGeometricShapeElementYAsDouble(SBMLDocument* document, const std::string& Style* style = getLocalStyle(document, attribute); if (!style) style = createLocalStyle(document, attribute); + setReactionLineEndingGeometricShapeElementYAsDouble(document, attribute, 0, 0, 0, y); return setGeometricShapeElementYAsDouble(style, y); } return -1; @@ -7270,6 +9112,7 @@ int setGeometricShapeElementYAsDouble(SBMLDocument* document, const std::string& Style* style = getLocalStyle(document, attribute); if (!style) style = createLocalStyle(document, attribute); + setReactionLineEndingGeometricShapeElementYAsDouble(document, attribute, 0, 0, elementIndex, y); return setGeometricShapeElementYAsDouble(style, elementIndex, y); } return -1; @@ -7280,6 +9123,7 @@ int setGeometricShapeElementYAsDouble(SBMLDocument* document, const std::string& Style* style = getLocalStyle(document, attribute); if (!style) style = createLocalStyle(document, attribute); + setReactionLineEndingGeometricShapeElementYAsDouble(document, attribute, 0, geometricShapeIndex, elementIndex, y); return setGeometricShapeElementYAsDouble(style, geometricShapeIndex, elementIndex, y); } return -1; @@ -7414,6 +9258,7 @@ int setGeometricShapeBasePoint1X(SBMLDocument* document, GraphicalObject* graphi Style* style = getLocalStyle(document, graphicalObject); if (!style) style = createLocalStyle(document, graphicalObject); + setReactionLineEndingGeometricShapeBasePoint1X(document, getReactionId(graphicalObject), 0, 0, 0, x); return setGeometricShapeBasePoint1X(style, x); } return -1; @@ -7424,6 +9269,7 @@ int setGeometricShapeBasePoint1X(SBMLDocument* document, GraphicalObject* graphi Style* style = getLocalStyle(document, graphicalObject); if (!style) style = createLocalStyle(document, graphicalObject); + setReactionLineEndingGeometricShapeBasePoint1X(document, getReactionId(graphicalObject), 0, 0, elementIndex, x); return setGeometricShapeBasePoint1X(style, elementIndex, x); } return -1; @@ -7434,6 +9280,7 @@ int setGeometricShapeBasePoint1X(SBMLDocument* document, GraphicalObject* graphi Style* style = getLocalStyle(document, graphicalObject); if (!style) style = createLocalStyle(document, graphicalObject); + setReactionLineEndingGeometricShapeBasePoint1X(document, getReactionId(graphicalObject), 0, geometricShapeIndex, elementIndex, x); return setGeometricShapeBasePoint1X(style, geometricShapeIndex, elementIndex, x); } return -1; @@ -7444,6 +9291,7 @@ int setGeometricShapeBasePoint1X(SBMLDocument* document, const std::string& attr Style* style = getLocalStyle(document, attribute); if (!style) style = createLocalStyle(document, attribute); + setReactionLineEndingGeometricShapeBasePoint1X(document, attribute, 0, 0, 0, x); return setGeometricShapeBasePoint1X(style, x); } return -1; @@ -7454,6 +9302,7 @@ int setGeometricShapeBasePoint1X(SBMLDocument* document, const std::string& attr Style* style = getLocalStyle(document, attribute); if (!style) style = createLocalStyle(document, attribute); + setReactionLineEndingGeometricShapeBasePoint1X(document, attribute, 0, 0, elementIndex, x); return setGeometricShapeBasePoint1X(style, elementIndex, x); } return -1; @@ -7464,6 +9313,7 @@ int setGeometricShapeBasePoint1X(SBMLDocument* document, const std::string& attr Style* style = getLocalStyle(document, attribute); if (!style) style = createLocalStyle(document, attribute); + setReactionLineEndingGeometricShapeBasePoint1X(document, attribute, 0, geometricShapeIndex, elementIndex, x); return setGeometricShapeBasePoint1X(style, geometricShapeIndex, elementIndex, x); } return -1; @@ -7474,6 +9324,7 @@ int setGeometricShapeBasePoint1XAsDouble(SBMLDocument* document, GraphicalObject Style* style = getLocalStyle(document, graphicalObject); if (!style) style = createLocalStyle(document, graphicalObject); + setReactionLineEndingGeometricShapeBasePoint1XAsDouble(document, getReactionId(graphicalObject), 0, 0, 0, x); return setGeometricShapeBasePoint1XAsDouble(style, x); } return -1; @@ -7484,6 +9335,7 @@ int setGeometricShapeBasePoint1XAsDouble(SBMLDocument* document, GraphicalObject Style* style = getLocalStyle(document, graphicalObject); if (!style) style = createLocalStyle(document, graphicalObject); + setReactionLineEndingGeometricShapeBasePoint1XAsDouble(document, getReactionId(graphicalObject), 0, 0, elementIndex, x); return setGeometricShapeBasePoint1XAsDouble(style, elementIndex, x); } return -1; @@ -7494,6 +9346,7 @@ int setGeometricShapeBasePoint1XAsDouble(SBMLDocument* document, GraphicalObject Style* style = getLocalStyle(document, graphicalObject); if (!style) style = createLocalStyle(document, graphicalObject); + setReactionLineEndingGeometricShapeBasePoint1XAsDouble(document, getReactionId(graphicalObject), 0, geometricShapeIndex, elementIndex, x); return setGeometricShapeBasePoint1XAsDouble(style, geometricShapeIndex, elementIndex, x); } return -1; @@ -7504,6 +9357,7 @@ int setGeometricShapeBasePoint1XAsDouble(SBMLDocument* document, const std::stri Style* style = getLocalStyle(document, attribute); if (!style) style = createLocalStyle(document, attribute); + setReactionLineEndingGeometricShapeBasePoint1XAsDouble(document, attribute, 0, 0, 0, x); return setGeometricShapeBasePoint1XAsDouble(style, x); } return -1; @@ -7514,6 +9368,7 @@ int setGeometricShapeBasePoint1XAsDouble(SBMLDocument* document, const std::stri Style* style = getLocalStyle(document, attribute); if (!style) style = createLocalStyle(document, attribute); + setReactionLineEndingGeometricShapeBasePoint1XAsDouble(document, attribute, 0, 0, elementIndex, x); return setGeometricShapeBasePoint1XAsDouble(style, elementIndex, x); } return -1; @@ -7524,6 +9379,7 @@ int setGeometricShapeBasePoint1XAsDouble(SBMLDocument* document, const std::stri Style* style = getLocalStyle(document, attribute); if (!style) style = createLocalStyle(document, attribute); + setReactionLineEndingGeometricShapeBasePoint1XAsDouble(document, attribute, 0, geometricShapeIndex, elementIndex, x); return setGeometricShapeBasePoint1XAsDouble(style, geometricShapeIndex, elementIndex, x); } return -1; @@ -7672,6 +9528,7 @@ int setGeometricShapeBasePoint1Y(SBMLDocument* document, GraphicalObject* graphi Style* style = getLocalStyle(document, graphicalObject); if (!style) style = createLocalStyle(document, graphicalObject); + setReactionLineEndingGeometricShapeBasePoint1Y(document, getReactionId(graphicalObject), 0, 0, 0, y); return setGeometricShapeBasePoint1Y(style, elementIndex, y); } @@ -7683,6 +9540,7 @@ int setGeometricShapeBasePoint1Y(SBMLDocument* document, GraphicalObject* graphi Style* style = getLocalStyle(document, graphicalObject); if (!style) style = createLocalStyle(document, graphicalObject); + setReactionLineEndingGeometricShapeBasePoint1Y(document, getReactionId(graphicalObject), 0, geometricShapeIndex, elementIndex, y); return setGeometricShapeBasePoint1Y(style, geometricShapeIndex, elementIndex, y); } @@ -7694,6 +9552,7 @@ int setGeometricShapeBasePoint1Y(SBMLDocument* document, const std::string& attr Style* style = getLocalStyle(document, attribute); if (!style) style = createLocalStyle(document, attribute); + setReactionLineEndingGeometricShapeBasePoint1Y(document, attribute, 0, 0, 0, y); return setGeometricShapeBasePoint1Y(style, y); } @@ -7705,6 +9564,7 @@ int setGeometricShapeBasePoint1Y(SBMLDocument* document, const std::string& attr Style* style = getLocalStyle(document, attribute); if (!style) style = createLocalStyle(document, attribute); + setReactionLineEndingGeometricShapeBasePoint1Y(document, attribute, 0, 0, elementIndex, y); return setGeometricShapeBasePoint1Y(style, elementIndex, y); } @@ -7716,6 +9576,7 @@ int setGeometricShapeBasePoint1Y(SBMLDocument* document, const std::string& attr Style* style = getLocalStyle(document, attribute); if (!style) style = createLocalStyle(document, attribute); + setReactionLineEndingGeometricShapeBasePoint1Y(document, attribute, 0, geometricShapeIndex, elementIndex, y); return setGeometricShapeBasePoint1Y(style, geometricShapeIndex, elementIndex, y); } @@ -7727,6 +9588,7 @@ int setGeometricShapeBasePoint1YAsDouble(SBMLDocument* document, GraphicalObject Style* style = getLocalStyle(document, graphicalObject); if (!style) style = createLocalStyle(document, graphicalObject); + setReactionLineEndingGeometricShapeBasePoint1YAsDouble(document, getReactionId(graphicalObject), 0, 0, 0, y); return setGeometricShapeBasePoint1YAsDouble(style, y); } @@ -7738,6 +9600,7 @@ int setGeometricShapeBasePoint1YAsDouble(SBMLDocument* document, GraphicalObject Style* style = getLocalStyle(document, graphicalObject); if (!style) style = createLocalStyle(document, graphicalObject); + setReactionLineEndingGeometricShapeBasePoint1YAsDouble(document, getReactionId(graphicalObject), 0, 0, elementIndex, y); return setGeometricShapeBasePoint1YAsDouble(style, elementIndex, y); } @@ -7749,6 +9612,7 @@ int setGeometricShapeBasePoint1YAsDouble(SBMLDocument* document, GraphicalObject Style* style = getLocalStyle(document, graphicalObject); if (!style) style = createLocalStyle(document, graphicalObject); + setReactionLineEndingGeometricShapeBasePoint1YAsDouble(document, getReactionId(graphicalObject), 0, geometricShapeIndex, elementIndex, y); return setGeometricShapeBasePoint1YAsDouble(style, geometricShapeIndex, elementIndex, y); } @@ -7760,6 +9624,7 @@ int setGeometricShapeBasePoint1YAsDouble(SBMLDocument* document, const std::stri Style* style = getLocalStyle(document, attribute); if (!style) style = createLocalStyle(document, attribute); + setReactionLineEndingGeometricShapeBasePoint1YAsDouble(document, attribute, 0, 0, 0, y); return setGeometricShapeBasePoint1YAsDouble(style, y); } @@ -7771,6 +9636,7 @@ int setGeometricShapeBasePoint1YAsDouble(SBMLDocument* document, const std::stri Style* style = getLocalStyle(document, attribute); if (!style) style = createLocalStyle(document, attribute); + setReactionLineEndingGeometricShapeBasePoint1YAsDouble(document, attribute, 0, 0, elementIndex, y); return setGeometricShapeBasePoint1YAsDouble(style, elementIndex, y); } @@ -7782,6 +9648,7 @@ int setGeometricShapeBasePoint1YAsDouble(SBMLDocument* document, const std::stri Style* style = getLocalStyle(document, attribute); if (!style) style = createLocalStyle(document, attribute); + setReactionLineEndingGeometricShapeBasePoint1YAsDouble(document, attribute, 0, geometricShapeIndex, elementIndex, y); return setGeometricShapeBasePoint1YAsDouble(style, geometricShapeIndex, elementIndex, y); } @@ -7920,6 +9787,7 @@ int setGeometricShapeBasePoint2X(SBMLDocument* document, GraphicalObject* graphi Style* style = getLocalStyle(document, graphicalObject); if (!style) style = createLocalStyle(document, graphicalObject); + setReactionLineEndingGeometricShapeBasePoint2X(document, getReactionId(graphicalObject), 0, 0, 0, x); return setGeometricShapeBasePoint2X(style, x); } @@ -7931,6 +9799,7 @@ int setGeometricShapeBasePoint2X(SBMLDocument* document, GraphicalObject* graphi Style* style = getLocalStyle(document, graphicalObject); if (!style) style = createLocalStyle(document, graphicalObject); + setReactionLineEndingGeometricShapeBasePoint2X(document, getReactionId(graphicalObject), 0, 0, elementIndex, x); return setGeometricShapeBasePoint2X(style, elementIndex, x); } @@ -7942,6 +9811,7 @@ int setGeometricShapeBasePoint2X(SBMLDocument* document, GraphicalObject* graphi Style* style = getLocalStyle(document, graphicalObject); if (!style) style = createLocalStyle(document, graphicalObject); + setReactionLineEndingGeometricShapeBasePoint2X(document, getReactionId(graphicalObject), 0, geometricShapeIndex, elementIndex, x); return setGeometricShapeBasePoint2X(style, geometricShapeIndex, elementIndex, x); } @@ -7953,6 +9823,7 @@ int setGeometricShapeBasePoint2X(SBMLDocument* document, const std::string& attr Style* style = getLocalStyle(document, attribute); if (!style) style = createLocalStyle(document, attribute); + setReactionLineEndingGeometricShapeBasePoint2X(document, attribute, 0, 0, 0, x); return setGeometricShapeBasePoint2X(style, x); } @@ -7964,6 +9835,7 @@ int setGeometricShapeBasePoint2X(SBMLDocument* document, const std::string& attr Style* style = getLocalStyle(document, attribute); if (!style) style = createLocalStyle(document, attribute); + setReactionLineEndingGeometricShapeBasePoint2X(document, attribute, 0, 0, elementIndex, x); return setGeometricShapeBasePoint2X(style, elementIndex, x); } @@ -7975,6 +9847,7 @@ int setGeometricShapeBasePoint2X(SBMLDocument* document, const std::string& attr Style* style = getLocalStyle(document, attribute); if (!style) style = createLocalStyle(document, attribute); + setReactionLineEndingGeometricShapeBasePoint2X(document, attribute, 0, geometricShapeIndex, elementIndex, x); return setGeometricShapeBasePoint2X(style, geometricShapeIndex, elementIndex, x); } @@ -7986,6 +9859,7 @@ int setGeometricShapeBasePoint2XAsDouble(SBMLDocument* document, GraphicalObject Style* style = getLocalStyle(document, graphicalObject); if (!style) style = createLocalStyle(document, graphicalObject); + setReactionLineEndingGeometricShapeBasePoint2XAsDouble(document, getReactionId(graphicalObject), 0, 0, 0, x); return setGeometricShapeBasePoint2XAsDouble(style, x); } @@ -7997,6 +9871,7 @@ int setGeometricShapeBasePoint2XAsDouble(SBMLDocument* document, GraphicalObject Style* style = getLocalStyle(document, graphicalObject); if (!style) style = createLocalStyle(document, graphicalObject); + setReactionLineEndingGeometricShapeBasePoint2XAsDouble(document, getReactionId(graphicalObject), 0, 0, elementIndex, x); return setGeometricShapeBasePoint2XAsDouble(style, elementIndex, x); } @@ -8008,6 +9883,7 @@ int setGeometricShapeBasePoint2XAsDouble(SBMLDocument* document, GraphicalObject Style* style = getLocalStyle(document, graphicalObject); if (!style) style = createLocalStyle(document, graphicalObject); + setReactionLineEndingGeometricShapeBasePoint2XAsDouble(document, getReactionId(graphicalObject), 0, geometricShapeIndex, elementIndex, x); return setGeometricShapeBasePoint2XAsDouble(style, geometricShapeIndex, elementIndex, x); } @@ -8019,6 +9895,7 @@ int setGeometricShapeBasePoint2XAsDouble(SBMLDocument* document, const std::stri Style* style = getLocalStyle(document, attribute); if (!style) style = createLocalStyle(document, attribute); + setReactionLineEndingGeometricShapeBasePoint2XAsDouble(document, attribute, 0, 0, 0, x); return setGeometricShapeBasePoint2XAsDouble(style, x); } @@ -8030,6 +9907,7 @@ int setGeometricShapeBasePoint2XAsDouble(SBMLDocument* document, const std::stri Style* style = getLocalStyle(document, attribute); if (!style) style = createLocalStyle(document, attribute); + setReactionLineEndingGeometricShapeBasePoint2XAsDouble(document, attribute, 0, 0, elementIndex, x); return setGeometricShapeBasePoint2XAsDouble(style, elementIndex, x); } @@ -8041,6 +9919,7 @@ int setGeometricShapeBasePoint2XAsDouble(SBMLDocument* document, const std::stri Style* style = getLocalStyle(document, attribute); if (!style) style = createLocalStyle(document, attribute); + setReactionLineEndingGeometricShapeBasePoint2XAsDouble(document, attribute, 0, geometricShapeIndex, elementIndex, x); return setGeometricShapeBasePoint2XAsDouble(style, geometricShapeIndex, elementIndex, x); } @@ -8179,6 +10058,7 @@ int setGeometricShapeBasePoint2Y(SBMLDocument* document, GraphicalObject* graphi Style* style = getLocalStyle(document, graphicalObject); if (!style) style = createLocalStyle(document, graphicalObject); + setReactionLineEndingGeometricShapeBasePoint2Y(document, getReactionId(graphicalObject), 0, 0, 0, y); return setGeometricShapeBasePoint2Y(style, y); } @@ -8190,6 +10070,7 @@ int setGeometricShapeBasePoint2Y(SBMLDocument* document, GraphicalObject* graphi Style* style = getLocalStyle(document, graphicalObject); if (!style) style = createLocalStyle(document, graphicalObject); + setReactionLineEndingGeometricShapeBasePoint2Y(document, getReactionId(graphicalObject), 0, 0, elementIndex, y); return setGeometricShapeBasePoint2Y(style, elementIndex, y); } @@ -8201,6 +10082,7 @@ int setGeometricShapeBasePoint2Y(SBMLDocument* document, GraphicalObject* graphi Style* style = getLocalStyle(document, graphicalObject); if (!style) style = createLocalStyle(document, graphicalObject); + setReactionLineEndingGeometricShapeBasePoint2Y(document, getReactionId(graphicalObject), 0, geometricShapeIndex, elementIndex, y); return setGeometricShapeBasePoint2Y(style, geometricShapeIndex, elementIndex, y); } @@ -8212,6 +10094,7 @@ int setGeometricShapeBasePoint2Y(SBMLDocument* document, const std::string& attr Style* style = getLocalStyle(document, attribute); if (!style) style = createLocalStyle(document, attribute); + setReactionLineEndingGeometricShapeBasePoint2Y(document, attribute, 0, 0, 0, y); return setGeometricShapeBasePoint2Y(style, y); } @@ -8223,6 +10106,7 @@ int setGeometricShapeBasePoint2Y(SBMLDocument* document, const std::string& attr Style* style = getLocalStyle(document, attribute); if (!style) style = createLocalStyle(document, attribute); + setReactionLineEndingGeometricShapeBasePoint2Y(document, attribute, 0, 0, elementIndex, y); return setGeometricShapeBasePoint2Y(style, elementIndex, y); } @@ -8234,6 +10118,7 @@ int setGeometricShapeBasePoint2Y(SBMLDocument* document, const std::string& attr Style* style = getLocalStyle(document, attribute); if (!style) style = createLocalStyle(document, attribute); + setReactionLineEndingGeometricShapeBasePoint2Y(document, attribute, 0, geometricShapeIndex, elementIndex, y); return setGeometricShapeBasePoint2Y(style, geometricShapeIndex, elementIndex, y); } @@ -8245,6 +10130,7 @@ int setGeometricShapeBasePoint2YAsDouble(SBMLDocument* document, GraphicalObject Style* style = getLocalStyle(document, graphicalObject); if (!style) style = createLocalStyle(document, graphicalObject); + setReactionLineEndingGeometricShapeBasePoint2YAsDouble(document, getReactionId(graphicalObject), 0, 0, 0, y); return setGeometricShapeBasePoint2YAsDouble(style, y); } @@ -8256,6 +10142,7 @@ int setGeometricShapeBasePoint2YAsDouble(SBMLDocument* document, GraphicalObject Style* style = getLocalStyle(document, graphicalObject); if (!style) style = createLocalStyle(document, graphicalObject); + setReactionLineEndingGeometricShapeBasePoint2YAsDouble(document, getReactionId(graphicalObject), 0, 0, elementIndex, y); return setGeometricShapeBasePoint2YAsDouble(style, elementIndex, y); } @@ -8267,6 +10154,7 @@ int setGeometricShapeBasePoint2YAsDouble(SBMLDocument* document, GraphicalObject Style* style = getLocalStyle(document, graphicalObject); if (!style) style = createLocalStyle(document, graphicalObject); + setReactionLineEndingGeometricShapeBasePoint2YAsDouble(document, getReactionId(graphicalObject), 0, geometricShapeIndex, elementIndex, y); return setGeometricShapeBasePoint2YAsDouble(style, geometricShapeIndex, elementIndex, y); } @@ -8278,6 +10166,7 @@ int setGeometricShapeBasePoint2YAsDouble(SBMLDocument* document, const std::stri Style* style = getLocalStyle(document, attribute); if (!style) style = createLocalStyle(document, attribute); + setReactionLineEndingGeometricShapeBasePoint2YAsDouble(document, attribute, 0, 0, 0, y); return setGeometricShapeBasePoint2YAsDouble(style, y); } @@ -8289,6 +10178,7 @@ int setGeometricShapeBasePoint2YAsDouble(SBMLDocument* document, const std::stri Style* style = getLocalStyle(document, attribute); if (!style) style = createLocalStyle(document, attribute); + setReactionLineEndingGeometricShapeBasePoint2YAsDouble(document, attribute, 0, 0, elementIndex, y); return setGeometricShapeBasePoint2YAsDouble(style, elementIndex, y); } @@ -8300,6 +10190,7 @@ int setGeometricShapeBasePoint2YAsDouble(SBMLDocument* document, const std::stri Style* style = getLocalStyle(document, attribute); if (!style) style = createLocalStyle(document, attribute); + setReactionLineEndingGeometricShapeBasePoint2YAsDouble(document, attribute, 0, geometricShapeIndex, elementIndex, y); return setGeometricShapeBasePoint2YAsDouble(style, geometricShapeIndex, elementIndex, y); } diff --git a/src/libsbmlnetwork_sbmldocument_render.h b/src/libsbmlnetwork_sbmldocument_render.h index c6562c5d..f9becc31 100644 --- a/src/libsbmlnetwork_sbmldocument_render.h +++ b/src/libsbmlnetwork_sbmldocument_render.h @@ -112,19 +112,19 @@ LIBSBMLNETWORK_EXTERN int setDefaultLocalRenderInformationFeatures(SBMLDocument* /// @brief Create a GlobalRenderInformation object and add it to list of global renders of the SBML document, and /// Create a LocalRenderInformation object, add it to list of local renders of the Layout of the SBML document, and -/// set all the necessary features for them. +/// @brief Set all the necessary features for them. /// @param document a pointer to the SBMLDocument object. /// @return integer value indicating success/failure of the function. LIBSBMLNETWORK_EXTERN int createDefaultRenderInformation(SBMLDocument* document); /// @brief Create a GlobalRenderInformation object, add it to list of global renders of the SBML document, and -/// set all the necessary features for it. +/// @brief Set all the necessary features for it. /// @param document a pointer to the SBMLDocument object. /// @return integer value indicating success/failure of the function. LIBSBMLNETWORK_EXTERN int createDefaultGlobalRenderInformation(SBMLDocument* document); /// @brief Create a LocalRenderInformation object, add it to list of local renders of the Layout of the SBML document, and -/// set all the necessary features for it. +/// @brief Set all the necessary features for it. /// @param document a pointer to the SBMLDocument object. /// @return integer value indicating success/failure of the function. LIBSBMLNETWORK_EXTERN int createDefaultLocalRenderInformation(SBMLDocument* document); @@ -1248,6 +1248,39 @@ LIBSBMLNETWORK_EXTERN LineEnding* getLineEnding(SBMLDocument* document, unsigned /// @return the @c LineEnding withf the given index, or NULL if LineEnding does not exist or the object is @c NULL LIBSBMLNETWORK_EXTERN LineEnding* getLineEnding(SBMLDocument* document, unsigned int renderIndex = 0, unsigned int lineEndingIndex = 0); +/// @brief Clone the LineEnding with the given identifier from the RenderInformationBase object with the given index of the SBML document to create a new LineEnding that can be used locally by a SpeciesReferenceGlyph. +/// @param document a pointer to the SBMLDocument object. +/// @param globalLineEnding the LineEnding to be cloned. +/// @param speciesReferenceGlyph the SpeciesReferenceGlyph that will use the new LineEnding. +/// @return the new LineEnding object, or @c NULL if the object is @c NULL +LIBSBMLNETWORK_EXTERN LineEnding* createLocalLineEnding(SBMLDocument* document, LineEnding* globalLineEnding, SpeciesReferenceGlyph* speciesReferenceGlyph); + +/// @brief Returns the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier in Layout with the given index of the SBML document. +/// @param document a pointer to the SBMLDocument object. +/// @param layoutIndex the index number of the Layout object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @return the LineEnding associated with the SpeciesReferenceGlyph with the given index, or @c NULL if the object is @c NULL +LIBSBMLNETWORK_EXTERN LineEnding* getSpeciesReferenceLineEnding(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex); + +/// @brief Returns the local LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier in the first Layout of the SBML document. Creates a new LineEnding from the global LineEnding if the local LineEnding does not exist. +/// @param document a pointer to the SBMLDocument object. +/// @reactionId a string representing the identifier of the Reaction object. +/// @reactionGlyphIndex the index number of the ReactionGlyph object. +/// @speciesReferenceIndex the index number of the SpeciesReference object. +/// @return the LineEnding associated with the SpeciesReferenceGlyph with the given index, or @c NULL if the object is @c NULL +LIBSBMLNETWORK_EXTERN LineEnding* getSpeciesReferenceLocalLineEnding(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex); + +/// @brief Returns the local LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier in the Layout with the given index of the SBML document. Creates a new LineEnding from the global LineEnding if the local LineEnding does not exist. +/// @param document a pointer to the SBMLDocument object. +/// @param layoutIndex the index number of the Layout object. +/// @reactionId a string representing the identifier of the Reaction object. +/// @reactionGlyphIndex the index number of the ReactionGlyph object. +/// @speciesReferenceIndex the index number of the SpeciesReference object. +/// @return the LineEnding associated with the SpeciesReferenceGlyph with the given index, or @c NULL if the object is @c NULL +LIBSBMLNETWORK_EXTERN LineEnding* getSpeciesReferenceLocalLineEnding(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex); + /// @brief Predicates returning @c true if the "enableRotationalMapping" attribute of the LineEnding with the given identifier /// of the first RenderInformationBase object of the SBML document is set. /// @param sid a string representing the identifier of the LineEnding to retrieve. @@ -1294,40 +1327,74 @@ LIBSBMLNETWORK_EXTERN int setEnableRotationalMapping(SBMLDocument* document, con /// @return integer value indicating success/failure of the function. LIBSBMLNETWORK_EXTERN int setEnableRotationalMapping(SBMLDocument* document, unsigned int renderIndex, const std::string& sid, bool enableRotationalMapping); -/// Returns the bounding box for the LineEnding with the given identifier. +/// @brief Returns the bounding box for the LineEnding with the given identifier. /// @param document a pointer to the SBMLDocument object. /// @param sid a string representing the identifier of the LineEnding to retrieve. /// @return the bounding box for the LineEnding object, or @c NULL if the object is @c NULL LIBSBMLNETWORK_EXTERN BoundingBox* getLineEndingBoundingBox(SBMLDocument* document, const std::string& sid); -/// Returns the bounding box for the LineEnding with the given identifier in the render information base with the given index of the SBML document. +/// @brief Returns the bounding box for the LineEnding with the given identifier in the render information base with the given index of the SBML document. /// @param document a pointer to the SBMLDocument object. /// @param renderIndex the index number of the RenderInformationBase object. /// @param sid a string representing the identifier of the LineEnding to retrieve. /// @return the bounding box for the LineEnding object, or @c NULL if the object is @c NULL LIBSBMLNETWORK_EXTERN BoundingBox* getLineEndingBoundingBox(SBMLDocument* document, unsigned int renderIndex, const std::string& sid); -/// Returns the value of the "x" attribute of the bounding box for the LineEnding with the given identifier +/// @brief Returns the bounding box for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier in the first Layout of the SBML document. +/// @param document a pointer to the SBMLDocument object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @return the bounding box for the LineEnding object, or @c NULL if the object is @c NULL +LIBSBMLNETWORK_EXTERN BoundingBox* getSpeciesReferenceLineEndingBoundingBox(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex); + +/// @brief Returns the bounding box for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier in the Layout with the given index of the SBML document. +/// @param document a pointer to the SBMLDocument object. +/// @param layoutIndex the index number of the Layout object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @return the bounding box for the LineEnding object, or @c NULL if the object is @c NULL +LIBSBMLNETWORK_EXTERN BoundingBox* getSpeciesReferenceLineEndingBoundingBox(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex); + +/// @brief Returns the value of the "x" attribute of the bounding box for the LineEnding with the given identifier /// @param document a pointer to the SBMLDocument object. /// @param sid a string representing the identifier of the LineEnding to retrieve. /// @return the value of the "x" attribute of the bounding box for this LineEnding, or @c 0.0 if the object is @c NULL LIBSBMLNETWORK_EXTERN const double getLineEndingBoundingBoxX(SBMLDocument* document, const std::string& sid); -/// Returns the value of the "x" attribute of the bounding box for the LineEnding with the given identifier in the render information base with the given index of the SBML document. +/// @brief Returns the value of the "x" attribute of the bounding box for the LineEnding with the given identifier in the render information base with the given index of the SBML document. /// @param document a pointer to the SBMLDocument object. /// @param renderIndex the index number of the RenderInformationBase object. /// @param sid a string representing the identifier of the LineEnding to retrieve. /// @return the value of the "x" attribute of the bounding box for this LineEnding, or @c 0.0 if the object is @c NULL LIBSBMLNETWORK_EXTERN const double getLineEndingBoundingBoxX(SBMLDocument* document, unsigned int renderIndex, const std::string& sid); -/// Sets the value of the "x" attribute of the bounding box for the LineEnding with the given identifier +/// @brief Returns the value of the "x" attribute of the bounding box for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier in the first Layout of the SBML document. +/// @param document a pointer to the SBMLDocument object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @return the value of the "x" attribute of the bounding box for this LineEnding, or @c 0.0 if the object is @c NULL +LIBSBMLNETWORK_EXTERN const double getSpeciesReferenceLineEndingBoundingBoxX(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex); + +/// @brief Returns the value of the "x" attribute of the bounding box for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier in the Layout with the given index of the SBML document. +/// @param document a pointer to the SBMLDocument object. +/// @param layoutIndex the index number of the Layout object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @return the value of the "x" attribute of the bounding box for this LineEnding, or @c 0.0 if the object is @c NULL +LIBSBMLNETWORK_EXTERN const double getSpeciesReferenceLineEndingBoundingBoxX(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex); + +/// @brief Sets the value of the "x" attribute of the bounding box for the LineEnding with the given identifier /// @param document a pointer to the SBMLDocument object. /// @param sid a string representing the identifier of the LineEnding to retrieve. /// @param x a double to use as the value of the "x" attribute of the bounding box for this LineEnding object. /// @return integer value indicating success/failure of the function. LIBSBMLNETWORK_EXTERN int setLineEndingBoundingBoxX(SBMLDocument* document, const std::string& sid, double x); -/// Sets the value of the "x" attribute of the bounding box for the LineEnding with the given identifier in the render information base with the given index of the SBML document. +/// @brief Sets the value of the "x" attribute of the bounding box for the LineEnding with the given identifier in the render information base with the given index of the SBML document. /// @param document a pointer to the SBMLDocument object. /// @param renderIndex the index number of the RenderInformationBase object. /// @param sid a string representing the identifier of the LineEnding to retrieve. @@ -1335,27 +1402,80 @@ LIBSBMLNETWORK_EXTERN int setLineEndingBoundingBoxX(SBMLDocument* document, cons /// @return integer value indicating success/failure of the function. LIBSBMLNETWORK_EXTERN int setLineEndingBoundingBoxX(SBMLDocument* document, unsigned int renderIndex, const std::string& sid, double x); -/// Returns the value of the "y" attribute of the bounding box for the LineEnding with the given identifier +/// @brief Sets the value of the "x" attribute of the bounding box for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier in the first Layout of the SBML document. +/// @param document a pointer to the SBMLDocument object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param x a double to use as the value of the "x" attribute of the bounding box for this LineEnding object. +/// @return integer value indicating success/failure of the function. +LIBSBMLNETWORK_EXTERN int setSpeciesReferenceLineEndingBoundingBoxX(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, const double x); + +/// @brief Sets the value of the "x" attribute of the bounding box for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier in the Layout with the given index of the SBML document. +/// @param document a pointer to the SBMLDocument object. +/// @param layoutIndex the index number of the Layout object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param x a double to use as the value of the "x" attribute of the bounding box for this LineEnding object. +/// @return integer value indicating success/failure of the function. +LIBSBMLNETWORK_EXTERN int setSpeciesReferenceLineEndingBoundingBoxX(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, const double x); + +/// @brief Sets the value of the "x" attribute of the bounding box for the LineEnding associated with the ReactionGlyph with the given index of the reaction with the given identifier in the first Layout of the SBML document. +/// @param document a pointer to the SBMLDocument object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param x a double to use as the value of the "x" attribute of the bounding box for this LineEnding object. +/// @return integer value indicating success/failure of the function. +LIBSBMLNETWORK_EXTERN int setReactionLineEndingBoundingBoxX(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, const double x); + +/// @brief Sets the value of the "x" attribute of the bounding box for the LineEnding associated with the ReactionGlyph with the given index of the reaction with the given identifier in the Layout with the given index of the SBML document. +/// @param document a pointer to the SBMLDocument object. +/// @param layoutIndex the index number of the Layout object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param x a double to use as the value of the "x" attribute of the bounding box for this LineEnding object. +/// @return integer value indicating success/failure of the function. +LIBSBMLNETWORK_EXTERN int setReactionLineEndingBoundingBoxX(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, const double x); + +/// @brief Returns the value of the "y" attribute of the bounding box for the LineEnding with the given identifier /// @param document a pointer to the SBMLDocument object. /// @param sid a string representing the identifier of the LineEnding to retrieve. /// @return the value of the "y" attribute of the bounding box for this LineEnding, or @c 0.0 if the object is @c NULL LIBSBMLNETWORK_EXTERN const double getLineEndingBoundingBoxY(SBMLDocument* document, const std::string& sid); -/// Returns the value of the "y" attribute of the bounding box for the LineEnding with the given identifier in the render information base with the given index of the SBML document. +/// @brief Returns the value of the "y" attribute of the bounding box for the LineEnding with the given identifier in the render information base with the given index of the SBML document. /// @param document a pointer to the SBMLDocument object. /// @param renderIndex the index number of the RenderInformationBase object. /// @param sid a string representing the identifier of the LineEnding to retrieve. /// @return the value of the "y" attribute of the bounding box for this LineEnding, or @c 0.0 if the object is @c NULL LIBSBMLNETWORK_EXTERN const double getLineEndingBoundingBoxY(SBMLDocument* document, unsigned int renderIndex, const std::string& sid); -/// Sets the value of the "y" attribute of the bounding box for the LineEnding with the given identifier +/// @brief Returns the value of the "y" attribute of the bounding box for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier in the first Layout of the SBML document. +/// @param document a pointer to the SBMLDocument object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @return the value of the "y" attribute of the bounding box for this LineEnding, or @c 0.0 if the object is @c NULL +LIBSBMLNETWORK_EXTERN const double getSpeciesReferenceLineEndingBoundingBoxY(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex); + +/// @brief Returns the value of the "y" attribute of the bounding box for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier in the Layout with the given index of the SBML document. +/// @param document a pointer to the SBMLDocument object. +/// @param layoutIndex the index number of the Layout object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @return the value of the "y" attribute of the bounding box for this LineEnding, or @c 0.0 if the object is @c NULL +LIBSBMLNETWORK_EXTERN const double getSpeciesReferenceLineEndingBoundingBoxY(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex); + +/// @brief Sets the value of the "y" attribute of the bounding box for the LineEnding with the given identifier /// @param document a pointer to the SBMLDocument object. /// @param sid a string representing the identifier of the LineEnding to retrieve. /// @param y a double to use as the value of the "y" attribute of the bounding box for this LineEnding object. /// @return integer value indicating success/failure of the function. LIBSBMLNETWORK_EXTERN int setLineEndingBoundingBoxY(SBMLDocument* document, const std::string& sid, double y); -/// Sets the value of the "y" attribute of the bounding box for the LineEnding with the given identifier in the render information base with the given index of the SBML document. +/// @brief Sets the value of the "y" attribute of the bounding box for the LineEnding with the given identifier in the render information base with the given index of the SBML document. /// @param document a pointer to the SBMLDocument object. /// @param renderIndex the index number of the RenderInformationBase object. /// @param sid a string representing the identifier of the LineEnding to retrieve. @@ -1363,27 +1483,67 @@ LIBSBMLNETWORK_EXTERN int setLineEndingBoundingBoxY(SBMLDocument* document, cons /// @return integer value indicating success/failure of the function. LIBSBMLNETWORK_EXTERN int setLineEndingBoundingBoxY(SBMLDocument* document, unsigned int renderIndex, const std::string& sid, double y); -/// Returns the value of the "width" attribute of the bounding box for the LineEnding with the given identifier +/// @brief Sets the value of the "y" attribute of the bounding box for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier in the first Layout of the SBML document. +/// @param document a pointer to the SBMLDocument object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param y a double to use as the value of the "y" attribute of the bounding box for this LineEnding object. +/// @return integer value indicating success/failure of the function. +LIBSBMLNETWORK_EXTERN int setSpeciesReferenceLineEndingBoundingBoxY(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, const double y); + +/// @brief Sets the value of the "y" attribute of the bounding box for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier in the Layout with the given index of the SBML document. +/// @param document a pointer to the SBMLDocument object. +/// @param layoutIndex the index number of the Layout object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param y a double to use as the value of the "y" attribute of the bounding box for this LineEnding object. +/// @return integer value indicating success/failure of the function. +LIBSBMLNETWORK_EXTERN int setSpeciesReferenceLineEndingBoundingBoxY(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, const double y); + +/// @brief Sets the value of the "y" attribute of the bounding box for the LineEnding associated with the ReactionGlyph with the given index of the reaction with the given identifier in the first Layout of the SBML document. +/// @param document a pointer to the SBMLDocument object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param y a double to use as the value of the "y" attribute of the bounding box for this LineEnding object. +/// @return integer value indicating success/failure of the function. +LIBSBMLNETWORK_EXTERN int setReactionLineEndingBoundingBoxY(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, const double y); + +/// @brief Sets the value of the "y" attribute of the bounding box for the LineEnding associated with the ReactionGlyph with the given index of the reaction with the given identifier in the Layout with the given index of the SBML document. +/// @param document a pointer to the SBMLDocument object. +/// @param layoutIndex the index number of the Layout object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param y a double to use as the value of the "y" attribute of the bounding box for this LineEnding object. +/// @return integer value indicating success/failure of the function. +LIBSBMLNETWORK_EXTERN int setReactionLineEndingBoundingBoxY(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, const double y); + +/// @brief Returns the value of the "width" attribute of the bounding box for the LineEnding with the given identifier /// @param document a pointer to the SBMLDocument object. /// @param sid a string representing the identifier of the LineEnding to retrieve. /// @return the value of the "width" attribute of the bounding box for this LineEnding, or @c 0.0 if the object is @c NULL LIBSBMLNETWORK_EXTERN const double getLineEndingBoundingBoxWidth(SBMLDocument* document, const std::string& sid); -/// Returns the value of the "width" attribute of the bounding box for the LineEnding with the given identifier in the render information base with the given index of the SBML document. +/// @brief Returns the value of the "width" attribute of the bounding box for the LineEnding with the given identifier in the render information base with the given index of the SBML document. /// @param document a pointer to the SBMLDocument object. /// @param renderIndex the index number of the RenderInformationBase object. /// @param sid a string representing the identifier of the LineEnding to retrieve. /// @return the value of the "width" attribute of the bounding box for this LineEnding, or @c 0.0 if the object is @c NULL LIBSBMLNETWORK_EXTERN const double getLineEndingBoundingBoxWidth(SBMLDocument* document, unsigned int renderIndex, const std::string& sid); -/// Sets the value of the "width" attribute of the bounding box for the LineEnding with the given identifier +LIBSBMLNETWORK_EXTERN const double getSpeciesReferenceLineEndingBoundingBoxWidth(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex); + +LIBSBMLNETWORK_EXTERN const double getSpeciesReferenceLineEndingBoundingBoxWidth(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex); + +/// @brief Sets the value of the "width" attribute of the bounding box for the LineEnding with the given identifier /// @param document a pointer to the SBMLDocument object. /// @param sid a string representing the identifier of the LineEnding to retrieve. /// @param width a double to use as the value of the "width" attribute of the bounding box for this LineEnding object. /// @return integer value indicating success/failure of the function. LIBSBMLNETWORK_EXTERN int setLineEndingBoundingBoxWidth(SBMLDocument* document, const std::string& sid, double width); -/// Sets the value of the "width" attribute of the bounding box for the LineEnding with the given identifier in the render information base with the given index of the SBML document. +/// @brief Sets the value of the "width" attribute of the bounding box for the LineEnding with the given identifier in the render information base with the given index of the SBML document. /// @param document a pointer to the SBMLDocument object. /// @param renderIndex the index number of the RenderInformationBase object. /// @param sid a string representing the identifier of the LineEnding to retrieve. @@ -1391,27 +1551,48 @@ LIBSBMLNETWORK_EXTERN int setLineEndingBoundingBoxWidth(SBMLDocument* document, /// @return integer value indicating success/failure of the function. LIBSBMLNETWORK_EXTERN int setLineEndingBoundingBoxWidth(SBMLDocument* document, unsigned int renderIndex, const std::string& sid, double width); -/// Returns the value of the "height" attribute of the bounding box for the LineEnding with the given identifier +LIBSBMLNETWORK_EXTERN int setSpeciesReferenceLineEndingBoundingBoxWidth(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, const double width); + +LIBSBMLNETWORK_EXTERN int setSpeciesReferenceLineEndingBoundingBoxWidth(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, const double width); + +LIBSBMLNETWORK_EXTERN int setReactionLineEndingBoundingBoxWidth(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, const double width); + +LIBSBMLNETWORK_EXTERN int setReactionLineEndingBoundingBoxWidth(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, const double width); + +/// @brief Returns the value of the "height" attribute of the bounding box for the LineEnding with the given identifier /// @param document a pointer to the SBMLDocument object. /// @param sid a string representing the identifier of the LineEnding to retrieve. /// @return the value of the "height" attribute of the bounding box for this LineEnding, or @c 0.0 if the object is @c NULL LIBSBMLNETWORK_EXTERN const double getLineEndingBoundingBoxHeight(SBMLDocument* document, const std::string& sid); -/// Returns the value of the "height" attribute of the bounding box for the LineEnding with the given identifier in the render information base with the given index of the SBML document. +/// @brief Returns the value of the "height" attribute of the bounding box for the LineEnding with the given identifier in the render information base with the given index of the SBML document. /// @param document a pointer to the SBMLDocument object. /// @param renderIndex the index number of the RenderInformationBase object. /// @param sid a string representing the identifier of the LineEnding to retrieve. /// @return the value of the "height" attribute of the bounding box for this LineEnding, or @c 0.0 if the object is @c NULL LIBSBMLNETWORK_EXTERN const double getLineEndingBoundingBoxHeight(SBMLDocument* document, unsigned int renderIndex, const std::string& sid); -/// Sets the value of the "height" attribute of the bounding box for the LineEnding with the given identifier +LIBSBMLNETWORK_EXTERN const double getSpeciesReferenceLineEndingBoundingBoxHeight(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex); + +LIBSBMLNETWORK_EXTERN const double getSpeciesReferenceLineEndingBoundingBoxHeight(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex); + +/// @brief Sets the value of the "height" attribute of the bounding box for the LineEnding with the given identifier /// @param document a pointer to the SBMLDocument object. /// @param sid a string representing the identifier of the LineEnding to retrieve. /// @param height a double to use as the value of the "height" attribute of the bounding box for this LineEnding object. /// @return integer value indicating success/failure of the function. LIBSBMLNETWORK_EXTERN int setLineEndingBoundingBoxHeight(SBMLDocument* document, const std::string& sid, double height); -/// Sets the value of the "height" attribute of the bounding box for the LineEnding with the given identifier in the render information base with the given index of the SBML document. +/// @brief Returns the value of the "width" attribute of the bounding box for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier in the first Layout of the SBML document. +/// @param document a pointer to the SBMLDocument object. +/// @param layoutIndex the index number of the Layout object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @return the value of the "width" attribute of the bounding box for this LineEnding, or \c 0.0 if the object is \c NULL +LIBSBMLNETWORK_EXTERN const double getSpeciesReferenceLineEndingBoundingBoxWidth(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex); + +/// @brief Sets the value of the "height" attribute of the bounding box for the LineEnding with the given identifier in the render information base with the given index of the SBML document. /// @param document a pointer to the SBMLDocument object. /// @param renderIndex the index number of the RenderInformationBase object. /// @param sid a string representing the identifier of the LineEnding to retrieve. @@ -1419,13 +1600,49 @@ LIBSBMLNETWORK_EXTERN int setLineEndingBoundingBoxHeight(SBMLDocument* document, /// @return integer value indicating success/failure of the function. LIBSBMLNETWORK_EXTERN int setLineEndingBoundingBoxHeight(SBMLDocument* document, unsigned int renderIndex, const std::string& sid, double height); -/// Returns the value of the "group" element of the LineEnding with the given identifier. +/// @brief Sets the value of the "height" attribute of the bounding box for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier in the first Layout of the SBML document. +/// @param document a pointer to the SBMLDocument object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param height a double to use as the value of the "height" attribute of the bounding box for this LineEnding object. +/// @return integer value indicating success/failure of the function. +LIBSBMLNETWORK_EXTERN int setSpeciesReferenceLineEndingBoundingBoxHeight(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, const double height); + +/// @brief Sets the value of the "height" attribute of the bounding box for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier in the Layout with the given index of the SBML document. +/// @param document a pointer to the SBMLDocument object. +/// @param layoutIndex the index number of the Layout object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param height a double to use as the value of the "height" attribute of the bounding box for this LineEnding object. +/// @return integer value indicating success/failure of the function. +LIBSBMLNETWORK_EXTERN int setSpeciesReferenceLineEndingBoundingBoxHeight(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, const double height); + +/// @brief Sets the value of the "height" attribute of the bounding box for the LineEnding associated with the ReactionGlyph with the given index of the reaction with the given identifier in the first Layout of the SBML document. +/// @param document a pointer to the SBMLDocument object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param height a double to use as the value of the "height" attribute of the bounding box for this LineEnding object. +/// @return integer value indicating success/failure of the function. +LIBSBMLNETWORK_EXTERN int setReactionLineEndingBoundingBoxHeight(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, const double height); + +/// @brief Sets the value of the "height" attribute of the bounding box for the LineEnding associated with the ReactionGlyph with the given index of the reaction with the given identifier in the Layout with the given index of the SBML document. +/// @param document a pointer to the SBMLDocument object. +/// @param layoutIndex the index number of the Layout object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param height a double to use as the value of the "height" attribute of the bounding box for this LineEnding object. +/// @return integer value indicating success/failure of the function. +LIBSBMLNETWORK_EXTERN int setReactionLineEndingBoundingBoxHeight(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, const double height); + +/// @brief Returns the value of the "group" element of the LineEnding with the given identifier. /// @param document a pointer to the SBMLDocument object. /// @param sid a string representing the identifier of the LineEnding to retrieve. /// @return the value of the "group" element of this LineEnding as a RenderGroup, or @c NULL if the object is @c NULL LIBSBMLNETWORK_EXTERN RenderGroup* getLineEndingRenderGroup(SBMLDocument* document, const std::string& sid); -/// Returns the value of the "group" element of the LineEnding with the given identifier in the render information base with the givne index of the SBML document. +/// @brief Returns the value of the "group" element of the LineEnding with the given identifier in the render information base with the givne index of the SBML document. /// @param document a pointer to the SBMLDocument object. /// @param renderIndex the index number of the RenderInformationBase object. /// @param sid a string representing the identifier of the LineEnding to retrieve. @@ -1447,6 +1664,23 @@ LIBSBMLNETWORK_EXTERN bool isSetLineEndingStrokeColor(SBMLDocument* document, co /// attribute is not set or the object is @c NULL. LIBSBMLNETWORK_EXTERN bool isSetLineEndingStrokeColor(SBMLDocument* document, unsigned int renderIndex, const std::string& id); +/// @brief Predicates returning \c true if the "stroke" attribute of the RenderGroup for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier in the first Layout of the SBML document. +/// @param document a pointer to the SBMLDocument object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @return \c true if the "stroke" attribute of the RenderGroup for this LineEnding object is set, \c false if either the "stroke" attribute is not set or the object is \c NULL. +LIBSBMLNETWORK_EXTERN bool isSetSpeciesReferenceLineEndingStrokeColor(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex); + +/// @brief Predicates returning \c true if the "stroke" attribute of the RenderGroup for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier in the Layout with the given index of the SBML document. +/// @param document a pointer to the SBMLDocument object. +/// @param layoutIndex the index number of the Layout object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @return \c true if the "stroke" attribute of the RenderGroup for this LineEnding object is set, \c false if either the "stroke" attribute is not set or the object is \c NULL. +LIBSBMLNETWORK_EXTERN bool isSetSpeciesReferenceLineEndingStrokeColor(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex); + /// @brief Returns the value of the "stroke" attribute of the RenderGroup for the LineEnding with the given identifier /// @param document a pointer to the SBMLDocument object. /// @param id a string representing the identifier of the LineEnding to retrieve. @@ -1460,6 +1694,38 @@ LIBSBMLNETWORK_EXTERN const std::string getLineEndingStrokeColor(SBMLDocument* d /// @return the "stroke" attribute of the RenderGroup for this LineEnding object, or @c NULL if the object is @c NULL. LIBSBMLNETWORK_EXTERN const std::string getLineEndingStrokeColor(SBMLDocument* document, unsigned int renderIndex, const std::string& id); +/// @brief Returns the value of the "stroke" attribute of the RenderGroup for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier in the first Layout of the SBML document. +/// @param document a pointer to the SBMLDocument object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @return the "stroke" attribute of the RenderGroup for this LineEnding object, or @c NULL if the object is @c NULL. +LIBSBMLNETWORK_EXTERN const std::string getSpeciesReferenceLineEndingStrokeColor(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex); + +/// @brief Returns the value of the "stroke" attribute of the RenderGroup for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier in the Layout with the given index of the SBML document. +/// @param document a pointer to the SBMLDocument object. +/// @param layoutIndex the index number of the Layout object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @return the "stroke" attribute of the RenderGroup for this LineEnding object, or @c NULL if the object is @c NULL. +LIBSBMLNETWORK_EXTERN const std::string getSpeciesReferenceLineEndingStrokeColor(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex);/// @brief Returns the value of the "stroke" attribute of the RenderGroup for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier in the first Layout of the SBML document. +/// @param document a pointer to the SBMLDocument object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @return the "stroke" attribute of the RenderGroup for this LineEnding object, or @c NULL if the object is @c NULL. +LIBSBMLNETWORK_EXTERN const std::string getSpeciesReferenceLineEndingStrokeColor(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex); + +/// @brief Returns the value of the "stroke" attribute of the RenderGroup for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier in the Layout with the given index of the SBML document. +/// @param document a pointer to the SBMLDocument object. +/// @param layoutIndex the index number of the Layout object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @return the "stroke" attribute of the RenderGroup for this LineEnding object, or @c NULL if the object is @c NULL. +LIBSBMLNETWORK_EXTERN const std::string getSpeciesReferenceLineEndingStrokeColor(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex); + /// @brief Sets the value of the "stroke" attribute of the RenderGroup for the LineEnding with the given identifier /// @param document a pointer to the SBMLDocument object. /// @param id a string representing the identifier of the LineEnding to retrieve. @@ -1475,6 +1741,42 @@ LIBSBMLNETWORK_EXTERN int setLineEndingStrokeColor(SBMLDocument* document, const /// @return integer value indicating success/failure of the function. LIBSBMLNETWORK_EXTERN int setLineEndingStrokeColor(SBMLDocument* document, unsigned int renderIndex, const std::string& id, const std::string& stroke); +/// @brief Sets the value of the "stroke" attribute of the RenderGroup for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier in the first Layout of the SBML document. +/// @param document a pointer to the SBMLDocument object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param strokeColor a string to use as the value of the "stroke" attribute of the RenderGroup for this LineEnding object. +/// @return integer value indicating success/failure of the function. +LIBSBMLNETWORK_EXTERN int setSpeciesReferenceLineEndingStrokeColor(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, const std::string& strokeColor); + +/// @brief Sets the value of the "stroke" attribute of the RenderGroup for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier in the Layout with the given index of the SBML document. +/// @param document a pointer to the SBMLDocument object. +/// @param layoutIndex the index number of the Layout object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param strokeColor a string to use as the value of the "stroke" attribute of the RenderGroup for this LineEnding object. +/// @return integer value indicating success/failure of the function. +LIBSBMLNETWORK_EXTERN int setSpeciesReferenceLineEndingStrokeColor(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, const std::string& strokeColor); + +/// @brief Sets the value of the "stroke" attribute of the RenderGroup for the LineEnding associated with the ReactionGlyph with the given index of the reaction with the given identifier in the first Layout of the SBML document. +/// @param document a pointer to the SBMLDocument object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param strokeColor a string to use as the value of the "stroke" attribute of the RenderGroup for this LineEnding object. +/// @return integer value indicating success/failure of the function. +LIBSBMLNETWORK_EXTERN int setReactionLineEndingStrokeColor(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, const std::string& strokeColor); + +/// @brief Sets the value of the "stroke" attribute of the RenderGroup for the LineEnding associated with the ReactionGlyph with the given index of the reaction with the given identifier in the Layout with the given index of the SBML document. +/// @param document a pointer to the SBMLDocument object. +/// @param layoutIndex the index number of the Layout object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param strokeColor a string to use as the value of the "stroke" attribute of the RenderGroup for this LineEnding object. +/// @return integer value indicating success/failure of the function. +LIBSBMLNETWORK_EXTERN int setReactionLineEndingStrokeColor(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, const std::string& strokeColor); + /// @brief Predicates returning @c true if the "stroke-width" attribute of the RenderGroup for the LineEnding with the given identifier /// @param document a pointer to the SBMLDocument object. /// @param id a string representing the identifier of the LineEnding to retrieve. @@ -1490,6 +1792,22 @@ LIBSBMLNETWORK_EXTERN bool isSetLineEndingStrokeWidth(SBMLDocument* document, co /// attribute is not set or the object is @c NULL. LIBSBMLNETWORK_EXTERN bool isSetLineEndingStrokeWidth(SBMLDocument* document, unsigned int renderIndex, const std::string& id); +/// @brief Predicates returning \c true if the "stroke-width" attribute of the RenderGroup for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier in the first Layout of the SBML document. +/// @param document a pointer to the SBMLDocument object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @return \c true if the "stroke-width" attribute of the RenderGroup for this LineEnding object is set, \c false if either the "stroke-width" attribute is not set or the object is \c NULL. +LIBSBMLNETWORK_EXTERN bool isSetSpeciesReferenceLineEndingStrokeWidth(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex); + +/// @brief Predicates returning \c true if the "stroke-width" attribute of the RenderGroup for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier in the Layout with the given index of the SBML document. +/// @param document a pointer to the SBMLDocument object. +/// @param layoutIndex the index number of the Layout object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @return \c true if the "stroke-width" attribute of the RenderGroup for this LineEnding object is set, \c false if either the "stroke-width" attribute is not set or the object is \c NULL. +LIBSBMLNETWORK_EXTERN bool isSetSpeciesReferenceLineEndingStrokeWidth(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex); /// @brief Returns the value of the "stroke-width" attribute of the RenderGroup for the LineEnding with the given identifier /// @param document a pointer to the SBMLDocument object. /// @param id a string representing the identifier of the LineEnding to retrieve. @@ -1503,7 +1821,24 @@ LIBSBMLNETWORK_EXTERN const double getLineEndingStrokeWidth(SBMLDocument* docume /// @return the "stroke-width" attribute of the RenderGroup for this LineEnding object, or @c NULL if the object is @c NULL. LIBSBMLNETWORK_EXTERN const double getLineEndingStrokeWidth(SBMLDocument* document, unsigned int renderIndex, const std::string& id); -/// @brief Sets the value of the "stroke-width" attribute of the RenderGroup for the LineEnding with the given identifier +/// @brief Returns the value of the "stroke-width" attribute of the RenderGroup for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier in the first Layout of the SBML document. +/// @param document a pointer to the SBMLDocument object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @return the value of the "stroke-width" attribute of the RenderGroup for this LineEnding object, or \c 0.0 if the object is \c NULL. +LIBSBMLNETWORK_EXTERN const double getSpeciesReferenceLineEndingStrokeWidth(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex); + +/// @brief Returns the value of the "stroke-width" attribute of the RenderGroup for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier in the Layout with the given index of the SBML document. +/// @param document a pointer to the SBMLDocument object. +/// @param layoutIndex the index number of the Layout object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @return the value of the "stroke-width" attribute of the RenderGroup for this LineEnding object, or \c 0.0 if the object is \c NULL. +LIBSBMLNETWORK_EXTERN const double getSpeciesReferenceLineEndingStrokeWidth(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex); + +// @brief Sets the value of the "stroke-width" attribute of the RenderGroup for the LineEnding with the given identifier /// @param document a pointer to the SBMLDocument object. /// @param id a string representing the identifier of the LineEnding to retrieve. /// @param strokeWidth a double to use as the value of the "stroke-width" attribute of the RenderGroup for this LineEnding object. @@ -1518,6 +1853,42 @@ LIBSBMLNETWORK_EXTERN int setLineEndingStrokeWidth(SBMLDocument* document, const /// @return integer value indicating success/failure of the function. LIBSBMLNETWORK_EXTERN int setLineEndingStrokeWidth(SBMLDocument* document, unsigned int renderIndex, const std::string& id, double strokeWidth); +/// @brief Sets the value of the "stroke-width" attribute of the RenderGroup for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier in the first Layout of the SBML document. +/// @param document a pointer to the SBMLDocument object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param strokeWidth a double to use as the value of the "stroke-width" attribute of the RenderGroup for this LineEnding object. +/// @return integer value indicating success/failure of the function. +LIBSBMLNETWORK_EXTERN int setSpeciesReferenceLineEndingStrokeWidth(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, const double strokeWidth); + +/// @brief Sets the value of the "stroke-width" attribute of the RenderGroup for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier in the Layout with the given index of the SBML document. +/// @param document a pointer to the SBMLDocument object. +/// @param layoutIndex the index number of the Layout object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param strokeWidth a double to use as the value of the "stroke-width" attribute of the RenderGroup for this LineEnding object. +/// @return integer value indicating success/failure of the function. +LIBSBMLNETWORK_EXTERN int setSpeciesReferenceLineEndingStrokeWidth(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, const double strokeWidth); + +/// @brief Sets the value of the "stroke-width" attribute of the RenderGroup for the LineEnding associated with the ReactionGlyph with the given index of the reaction with the given identifier in the first Layout of the SBML document. +/// @param document a pointer to the SBMLDocument object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param strokeWidth a double to use as the value of the "stroke-width" attribute of the RenderGroup for this LineEnding object. +/// @return integer value indicating success/failure of the function. +LIBSBMLNETWORK_EXTERN int setReactionLineEndingStrokeWidth(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, const double strokeWidth); + +/// @brief Sets the value of the "stroke-width" attribute of the RenderGroup for the LineEnding associated with the ReactionGlyph with the given index of the reaction with the given identifier in the Layout with the given index of the SBML document. +/// @param document a pointer to the SBMLDocument object. +/// @param layoutIndex the index number of the Layout object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param strokeWidth a double to use as the value of the "stroke-width" attribute of the RenderGroup for this LineEnding object. +/// @return integer value indicating success/failure of the function. +LIBSBMLNETWORK_EXTERN int setReactionLineEndingStrokeWidth(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, const double strokeWidth); + /// @brief Predicates returning @c true if the "stroke-dasharray" attribute of the RenderGroup for the LineEnding with the given identifier /// @param document a pointer to the SBMLDocument object. /// @param id a string representing the identifier of the LineEnding to retrieve. @@ -1533,6 +1904,23 @@ LIBSBMLNETWORK_EXTERN bool isSetLineEndingStrokeDashArray(SBMLDocument* document /// attribute is not set or the object is @c NULL. LIBSBMLNETWORK_EXTERN bool isSetLineEndingStrokeDashArray(SBMLDocument* document, unsigned int renderIndex, const std::string& id); +/// @brief Returns the number of dashes in the "stroke-dasharray" attribute of the RenderGroup for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier in the first Layout of the SBML document. +/// @param document a pointer to the SBMLDocument object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @return the number of dashes in the "stroke-dasharray" attribute of the RenderGroup for this LineEnding object, or \c 0 if the object is \c NULL. +LIBSBMLNETWORK_EXTERN unsigned int getNumSpeciesReferenceLineEndingStrokeDashes(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex); + +/// @brief Returns the number of dashes in the "stroke-dasharray" attribute of the RenderGroup for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier in the Layout with the given index of the SBML document. +/// @param document a pointer to the SBMLDocument object. +/// @param layoutIndex the index number of the Layout object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @return the number of dashes in the "stroke-dasharray" attribute of the RenderGroup for this LineEnding object, or \c 0 if the object is \c NULL. +LIBSBMLNETWORK_EXTERN unsigned int getNumSpeciesReferenceLineEndingStrokeDashes(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex); + /// @brief Returns the value of the "stroke-dasharray" attribute of the RenderGroup for the LineEnding with the given identifier /// @param document a pointer to the SBMLDocument object. /// @param id a string representing the identifier of the LineEnding to retrieve. @@ -1588,6 +1976,25 @@ LIBSBMLNETWORK_EXTERN unsigned int getLineEndingStrokeDash(SBMLDocument* documen /// @return the stroke dash at the given index of "stroke-dasharray" attribute of the RenderGroup for this LineEnding object, @c 0 if the object is @c NULL LIBSBMLNETWORK_EXTERN unsigned int getLineEndingStrokeDash(SBMLDocument* document, unsigned int renderIndex, const std::string& id, unsigned int dashIndex = 0); +/// @brief Returns the stroke dash at the given index of the 'stroke-dasharray' attribute of the RenderGroup for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier in the first Layout of the SBML document. +/// @param document a pointer to the SBMLDocument object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param dashIndex an unsigned int representing the index of the stroke dash to retrieve. +/// @return the stroke dash at the given index of "stroke-dasharray" attribute of the RenderGroup for this LineEnding object, \c 0 if the object is \c NULL. +LIBSBMLNETWORK_EXTERN unsigned int getSpeciesReferenceLineEndingStrokeDash(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int dashIndex); + +/// @brief Returns the stroke dash at the given index of the 'stroke-dasharray' attribute of the RenderGroup for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier in the Layout with the given index of the SBML document. +/// @param document a pointer to the SBMLDocument object. +/// @param layoutIndex the index number of the Layout object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param dashIndex an unsigned int representing the index of the stroke dash to retrieve. +/// @return the stroke dash at the given index of "stroke-dasharray" attribute of the RenderGroup for this LineEnding object, \c 0 if the object is \c NULL. + +LIBSBMLNETWORK_EXTERN unsigned int getSpeciesReferenceLineEndingStrokeDash(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int dashIndex); /// @brief Sets the first dash of the 'stroke-dasharray' attribute of the RenderGroup for the LineEnding with the given identifier /// @param document a pointer to the SBMLDocument object. /// @param id a string representing the identifier of the LineEnding to retrieve. @@ -1618,6 +2025,46 @@ LIBSBMLNETWORK_EXTERN int setLineEndingStrokeDash(SBMLDocument* document, const /// @return integer value indicating success/failure of the function. LIBSBMLNETWORK_EXTERN int setLineEndingStrokeDash(SBMLDocument* document, unsigned int renderIndex, const std::string& id, unsigned int dashIndex, unsigned int dash); +/// @brief Sets the dash at the given index of the 'stroke-dasharray' attribute of the RenderGroup for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier in the first Layout of the SBML document. +/// @param document a pointer to the SBMLDocument object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param dashIndex an unsigned int representing the index of the stroke dash to set. +/// @param dash an unsigned int value to use as the dash at the given index of the 'stroke-dasharray' attribute of the RenderGroup for this LineEnding object. +/// @return integer value indicating success/failure of the function. +LIBSBMLNETWORK_EXTERN int setSpeciesReferenceLineEndingStrokeDash(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int dashIndex, unsigned int dash); + +/// @brief Sets the dash at the given index of the 'stroke-dasharray' attribute of the RenderGroup for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier in the Layout with the given index of the SBML document. +/// @param document a pointer to the SBMLDocument object. +/// @param layoutIndex the index number of the Layout object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param dashIndex an unsigned int representing the index of the stroke dash to set. +/// @param dash an unsigned int value to use as the dash at the given index of the 'stroke-dasharray' attribute of the RenderGroup for this LineEnding object. +/// @return integer value indicating success/failure of the function. +LIBSBMLNETWORK_EXTERN int setSpeciesReferenceLineEndingStrokeDash(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int dashIndex, unsigned int dash); + +/// @brief Sets the dash at the given index of the 'stroke-dasharray' attribute of the RenderGroup for the LineEnding associated with the ReactionGlyph with the given index of the reaction with the given identifier in the first Layout of the SBML document. +/// @param document a pointer to the SBMLDocument object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param dashIndex an unsigned int representing the index of the stroke dash to set. +/// @param dash an unsigned int value to use as the dash at the given index of the 'stroke-dasharray' attribute of the RenderGroup for this LineEnding object. +/// @return integer value indicating success/failure of the function. +LIBSBMLNETWORK_EXTERN int setReactionLineEndingStrokeDash(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int dashIndex, unsigned int dash); + +/// @brief Sets the dash at the given index of the 'stroke-dasharray' attribute of the RenderGroup for the LineEnding associated with the ReactionGlyph with the given index of the reaction with the given identifier in the Layout with the given index of the SBML document. +/// @param document a pointer to the SBMLDocument object. +/// @param layoutIndex the index number of the Layout object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param dashIndex an unsigned int representing the index of the stroke dash to set. +/// @param dash an unsigned int value to use as the dash at the given index of the 'stroke-dasharray' attribute of the RenderGroup for this LineEnding object. +/// @return integer value indicating success/failure of the function. + +LIBSBMLNETWORK_EXTERN int setReactionLineEndingStrokeDash(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int dashIndex, unsigned int dash); /// @brief Predicates returning @c true if the "fill" attribute of the RenderGroup for the LineEnding with the given identifier /// @param document a pointer to the SBMLDocument object. /// @param id a string representing the identifier of the LineEnding to retrieve. @@ -1633,6 +2080,23 @@ LIBSBMLNETWORK_EXTERN bool isSetLineEndingFillColor(SBMLDocument* document, cons /// attribute is not set or the object is @c NULL. LIBSBMLNETWORK_EXTERN bool isSetLineEndingFillColor(SBMLDocument* document, unsigned int renderIndex, const std::string& id); +/// @brief Predicates returning \c true if the "fill" attribute of the RenderGroup for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier in the first Layout of the SBML document. +/// @param document a pointer to the SBMLDocument object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @return \c true if the "fill" attribute of the RenderGroup for this LineEnding object is set, \c false if either the "fill" attribute is not set or the object is \c NULL. +LIBSBMLNETWORK_EXTERN bool isSetSpeciesReferenceLineEndingFillColor(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex); + +/// @brief Predicates returning \c true if the "fill" attribute of the RenderGroup for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier in the Layout with the given index of the SBML document. +/// @param document a pointer to the SBMLDocument object. +/// @param layoutIndex the index number of the Layout object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @return \c true if the "fill" attribute of the RenderGroup for this LineEnding object is set, \c false if either the "fill" attribute is not set or the object is \c NULL. + +LIBSBMLNETWORK_EXTERN bool isSetSpeciesReferenceLineEndingFillColor(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex); /// @brief Returns the value of the "fill" attribute of the RenderGroup for the LineEnding with the given identifier /// @param document a pointer to the SBMLDocument object. /// @param id a string representing the identifier of the LineEnding to retrieve. @@ -1646,6 +2110,23 @@ LIBSBMLNETWORK_EXTERN const std::string getLineEndingFillColor(SBMLDocument* doc /// @return the "fill" attribute of the RenderGroup for this LineEnding object, or @c NULL if the object is @c NULL. LIBSBMLNETWORK_EXTERN const std::string getLineEndingFillColor(SBMLDocument* document, unsigned int renderIndex, const std::string& id); +/// @brief Returns the value of the "fill" attribute of the RenderGroup for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier in the first Layout of the SBML document. +/// @param document a pointer to the SBMLDocument object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @return the "fill" attribute of the RenderGroup for this LineEnding object, or @c NULL if the object is @c NULL. +LIBSBMLNETWORK_EXTERN const std::string getSpeciesReferenceLineEndingFillColor(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex); + +/// @brief Returns the value of the "fill" attribute of the RenderGroup for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier in the Layout with the given index of the SBML document. +/// @param document a pointer to the SBMLDocument object. +/// @param layoutIndex the index number of the Layout object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @return the "fill" attribute of the RenderGroup for this LineEnding object, or @c NULL if the object is @c NULL. +LIBSBMLNETWORK_EXTERN const std::string getSpeciesReferenceLineEndingFillColor(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex); + /// @brief Sets the value of the "fill" attribute of the RenderGroup for the LineEnding with the given identifier /// @param document a pointer to the SBMLDocument object. /// @param id a string representing the identifier of the LineEnding to retrieve. @@ -1653,6 +2134,14 @@ LIBSBMLNETWORK_EXTERN const std::string getLineEndingFillColor(SBMLDocument* doc /// @return integer value indicating success/failure of the function. LIBSBMLNETWORK_EXTERN int setLineEndingFillColor(SBMLDocument* document, const std::string& id, const std::string& fill); +/// @brief Sets the value of the "fill" attribute of the RenderGroup for the LineEnding with the given identifier as a gradient. +/// @param document a pointer to the SBMLDocument object. +/// @param id a string representing the identifier of the LineEnding to retrieve. +/// @param gradientType a string representing the type of gradient to use. +/// @param stopsVector a vector of pairs where each pair consists of a string representing the color and a double representing the offset for the gradient stop. +/// @return integer value indicating success/failure of the function. +LIBSBMLNETWORK_EXTERN int setLineEndingFillColorAsGradient(SBMLDocument* document, const std::string& id, const std::string& gradientType, std::vector> stopsVector); + /// @brief Sets the value of the "fill" attribute of the RenderGroup for the LineEnding with the given identifier in the render information base with the given index of the SBML document. /// @param document a pointer to the SBMLDocument object. /// @param renderIndex the index number of the RenderInformationBase object. @@ -1661,6 +2150,91 @@ LIBSBMLNETWORK_EXTERN int setLineEndingFillColor(SBMLDocument* document, const s /// @return integer value indicating success/failure of the function. LIBSBMLNETWORK_EXTERN int setLineEndingFillColor(SBMLDocument* document, unsigned int renderIndex, const std::string& id, const std::string& fill); +/// @brief Sets the value of the "fill" attribute of the RenderGroup for the LineEnding with the given identifier as a gradient in the render information base with the given index of the SBML document. +/// @param document a pointer to the SBMLDocument object. +/// @param renderIndex the index number of the RenderInformationBase object. +/// @param id a string representing the identifier of the LineEnding to retrieve. +/// @param gradientType a string representing the type of gradient to use. +/// @param stopsVector a vector of pairs where each pair consists of a string representing the color and a double representing the offset for the gradient stop. +/// @return integer value indicating success/failure of the function. +LIBSBMLNETWORK_EXTERN int setLineEndingFillColorAsGradient(SBMLDocument* document, unsigned int renderIndex, const std::string& id, const std::string& gradientType, std::vector> stopsVector); + +/// @brief Sets the value of the "fill" attribute of the RenderGroup for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier in the first Layout of the SBML document. +/// @param document a pointer to the SBMLDocument object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param fillColor a string to use as the value of the "fill" attribute of the RenderGroup for this LineEnding object. +/// @return integer value indicating success/failure of the function. +LIBSBMLNETWORK_EXTERN int setSpeciesReferenceLineEndingFillColor(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, const std::string& fillColor); + +/// @brief Sets the value of the "fill" attribute of the RenderGroup for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier in the first Layout of the SBML document as a gradient. +/// @param document a pointer to the SBMLDocument object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param gradientType a string representing the type of gradient to use. +/// @param stopsVector a vector of pairs where each pair consists of a string representing the color and a double representing the offset for the gradient stop. +/// @return integer value indicating success/failure of the function. +LIBSBMLNETWORK_EXTERN int setSpeciesReferenceLineEndingFillColorAsGradient(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, const std::string& gradientType, std::vector> stopsVector); + +/// @brief Sets the value of the "fill" attribute of the RenderGroup for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier in the Layout with the given index of the SBML document. +/// @param document a pointer to the SBMLDocument object. +/// @param layoutIndex the index number of the Layout object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param fillColor a string to use as the value of the "fill" attribute of the RenderGroup for this LineEnding object. +/// @return integer value indicating success/failure of the function. +LIBSBMLNETWORK_EXTERN int setSpeciesReferenceLineEndingFillColor(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, const std::string& fillColor); + +/// @brief Sets the value of the "fill" attribute of the RenderGroup for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier in the Layout with the given index of the SBML document as a gradient. +/// @param document a pointer to the SBMLDocument object. +/// @param layoutIndex the index number of the Layout object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param gradientType a string representing the type of gradient to use. +/// @param stopsVector a vector of pairs where each pair consists of a string representing the color and a double representing the offset for the gradient stop. +/// @return integer value indicating success/failure of the function. +LIBSBMLNETWORK_EXTERN int setSpeciesReferenceLineEndingFillColorAsGradient(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, const std::string& gradientType, std::vector> stopsVector); + +/// @brief Sets the value of the "fill" attribute of the RenderGroup for the LineEnding associated with the ReactionGlyph with the given index of the reaction with the given identifier in the first Layout of the SBML document. +/// @param document a pointer to the SBMLDocument object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param fillColor a string to use as the value of the "fill" attribute of the RenderGroup for this LineEnding object. +/// @return integer value indicating success/failure of the function. +LIBSBMLNETWORK_EXTERN int setReactionLineEndingFillColor(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, const std::string& fillColor); + +/// @brief Sets the value of the "fill" attribute of the RenderGroup for the LineEnding associated with the ReactionGlyph with the given index of the reaction with the given identifier in the first Layout of the SBML document as a gradient. +/// @param document a pointer to the SBMLDocument object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param gradientType a string representing the type of gradient to use. +/// @param stopsVector a vector of pairs where each pair consists of a string representing the color and a double representing the offset for the gradient stop. +/// @return integer value indicating success/failure of the function. +LIBSBMLNETWORK_EXTERN int setReactionLineEndingFillColorAsGradient(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, const std::string& gradientType, std::vector> stopsVector); + +/// @brief Sets the value of the "fill" attribute of the RenderGroup for the LineEnding associated with the ReactionGlyph with the given index of the reaction with the given identifier in the Layout with the given index of the SBML document. +/// @param document a pointer to the SBMLDocument object. +/// @param layoutIndex the index number of the Layout object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param fillColor a string to use as the value of the "fill" attribute of the RenderGroup for this LineEnding object. +/// @return integer value indicating success/failure of the function. +LIBSBMLNETWORK_EXTERN int setReactionLineEndingFillColor(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, const std::string& fillColor); + +/// @brief Sets the value of the "fill" attribute of the RenderGroup for the LineEnding associated with the ReactionGlyph with the given index of the reaction with the given identifier in the Layout with the given index of the SBML document as a gradient. +/// @param document a pointer to the SBMLDocument object. +/// @param layoutIndex the index number of the Layout object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param gradientType a string representing the type of gradient to use. +/// @param stopsVector a vector of pairs where each pair consists of a string representing the color and a double representing the offset for the gradient stop. +/// @return integer value indicating success/failure of the function. +LIBSBMLNETWORK_EXTERN int setReactionLineEndingFillColorAsGradient(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, const std::string& gradientType, std::vector> stopsVector); + /// @brief Predicates returning @c true if the "fill-rule" attribute of the RenderGroup for the LineEnding with the given identifier /// @param document a pointer to the SBMLDocument object. /// @param id a string representing the identifier of the LineEnding to retrieve. @@ -1676,6 +2250,23 @@ LIBSBMLNETWORK_EXTERN bool isSetLineEndingFillRule(SBMLDocument* document, const /// attribute is not set or the object is @c NULL. LIBSBMLNETWORK_EXTERN bool isSetLineEndingFillRule(SBMLDocument* document, unsigned int renderIndex, const std::string& id); +/// @brief Predicates returning \c true if the "fill-rule" attribute of the RenderGroup for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier in the first Layout of the SBML document. +/// @param document a pointer to the SBMLDocument object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @return \c true if the "fill-rule" attribute of the RenderGroup for this LineEnding object is set, \c false if either the "fill-rule" attribute is not set or the object is \c NULL. +LIBSBMLNETWORK_EXTERN bool isSetSpeciesReferenceLineEndingFillRule(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex); + +/// @brief Predicates returning \c true if the "fill-rule" attribute of the RenderGroup for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier in the Layout with the given index of the SBML document. +/// @param document a pointer to the SBMLDocument object. +/// @param layoutIndex the index number of the Layout object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @return \c true if the "fill-rule" attribute of the RenderGroup for this LineEnding object is set, \c false if either the "fill-rule" attribute is not set or the object is \c NULL. + +LIBSBMLNETWORK_EXTERN bool isSetSpeciesReferenceLineEndingFillRule(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex); /// @brief Returns the value of the "fill-rule" attribute of the RenderGroup for the LineEnding with the given identifier /// @param document a pointer to the SBMLDocument object. /// @param id a string representing the identifier of the LineEnding to retrieve. @@ -1689,6 +2280,23 @@ LIBSBMLNETWORK_EXTERN const std::string getLineEndingFillRule(SBMLDocument* docu /// @return the "fill-rule" attribute of the RenderGroup for this LineEnding object, or @c NULL if the object is @c NULL. LIBSBMLNETWORK_EXTERN const std::string getLineEndingFillRule(SBMLDocument* document, unsigned int renderIndex, const std::string& id); +/// @brief Returns the value of the "fill-rule" attribute of the RenderGroup for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier in the first Layout of the SBML document. +/// @param document a pointer to the SBMLDocument object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @return the "fill-rule" attribute of the RenderGroup for this LineEnding object, or @c NULL if the object is @c NULL. +LIBSBMLNETWORK_EXTERN const std::string getSpeciesReferenceLineEndingFillRule(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex); + +/// @brief Returns the value of the "fill-rule" attribute of the RenderGroup for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier in the Layout with the given index of the SBML document. +/// @param document a pointer to the SBMLDocument object. +/// @param layoutIndex the index number of the Layout object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @return the "fill-rule" attribute of the RenderGroup for this LineEnding object, or @c NULL if the object is @c NULL. +LIBSBMLNETWORK_EXTERN const std::string getSpeciesReferenceLineEndingFillRule(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex); + /// @brief Sets the value of the "fill-rule" attribute of the RenderGroup for the LineEnding with the given identifier /// @param document a pointer to the SBMLDocument object. /// @param id a string representing the identifier of the LineEnding to retrieve. @@ -1703,19 +2311,72 @@ LIBSBMLNETWORK_EXTERN int setLineEndingFillRule(SBMLDocument* document, const st /// @return integer value indicating success/failure of the function. LIBSBMLNETWORK_EXTERN int setLineEndingFillRule(SBMLDocument* document, unsigned int renderIndex, const std::string& id, const std::string& fillRule); -/// @brief Returns number of Transformation2D objects in the RenderGroup for the LineEnding with the given identifier +/// @brief Sets the value of the "fill-rule" attribute of the RenderGroup for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier in the first Layout of the SBML document. /// @param document a pointer to the SBMLDocument object. -/// @param id a string representing the identifier of the LineEnding to retrieve. -/// @return the number of Transformation2D objects in the RenderGroup for this LineEnding object, or @c 0 if the object is @c NULL. -LIBSBMLNETWORK_EXTERN unsigned int getNumLineEndingGeometricShapes(SBMLDocument* document, const std::string& id); +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param fillRule a string to use as the value of the "fill-rule" attribute of the RenderGroup for this LineEnding object. +/// @return integer value indicating success/failure of the function. +LIBSBMLNETWORK_EXTERN int setSpeciesReferenceLineEndingFillRule(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, const std::string& fillRule); -/// @brief Returns number of Transformation2D objects in the RenderGroup for the LineEnding with the given identifier in the render information base with the given index +/// @brief Sets the value of the "fill-rule" attribute of the RenderGroup for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier in the Layout with the given index of the SBML document. /// @param document a pointer to the SBMLDocument object. -/// @param renderIndex the index number of the RenderInformationBase object. -/// @param id a string representing the identifier of the LineEnding to retrieve. -/// @return the number of Transformation2D objects in the RenderGroup for this LineEnding object, or @c 0 if the object is @c NULL. -LIBSBMLNETWORK_EXTERN unsigned int getNumLineEndingGeometricShapes(SBMLDocument* document, unsigned int renderIndex, const std::string& id); +/// @param layoutIndex the index number of the Layout object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param fillRule a string to use as the value of the "fill-rule" attribute of the RenderGroup for this LineEnding object. +/// @return integer value indicating success/failure of the function. +LIBSBMLNETWORK_EXTERN int setSpeciesReferenceLineEndingFillRule(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, const std::string& fillRule); +/// @brief Sets the value of the "fill-rule" attribute of the RenderGroup for the LineEnding associated with the ReactionGlyph with the given index of the reaction with the given identifier in the first Layout of the SBML document. +/// @param document a pointer to the SBMLDocument object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param fillRule a string to use as the value of the "fill-rule" attribute of the RenderGroup for this LineEnding object. +/// @return integer value indicating success/failure of the function. +LIBSBMLNETWORK_EXTERN int setReactionLineEndingFillRule(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, const std::string& fillRule); + +/// @brief Sets the value of the "fill-rule" attribute of the RenderGroup for the LineEnding associated with the ReactionGlyph with the given index of the reaction with the given identifier in the Layout with the given index of the SBML document. +/// @param document a pointer to the SBMLDocument object. +/// @param layoutIndex the index number of the Layout object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param fillRule a string to use as the value of the "fill-rule" attribute of the RenderGroup for this LineEnding object. +/// @return integer value indicating success/failure of the function. +LIBSBMLNETWORK_EXTERN int setReactionLineEndingFillRule(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, const std::string& fillRule); + +/// @brief Returns number of Transformation2D objects in the RenderGroup for the LineEnding with the given identifier +/// @param document a pointer to the SBMLDocument object. +/// @param id a string representing the identifier of the LineEnding to retrieve. +/// @return the number of Transformation2D objects in the RenderGroup for this LineEnding object, or @c 0 if the object is @c NULL. +LIBSBMLNETWORK_EXTERN unsigned int getNumLineEndingGeometricShapes(SBMLDocument* document, const std::string& id); + +/// @brief Returns number of Transformation2D objects in the RenderGroup for the LineEnding with the given identifier in the render information base with the given index +/// @param document a pointer to the SBMLDocument object. +/// @param renderIndex the index number of the RenderInformationBase object. +/// @param id a string representing the identifier of the LineEnding to retrieve. +/// @return the number of Transformation2D objects in the RenderGroup for this LineEnding object, or @c 0 if the object is @c NULL. +LIBSBMLNETWORK_EXTERN unsigned int getNumLineEndingGeometricShapes(SBMLDocument* document, unsigned int renderIndex, const std::string& id); + +/// @brief Returns the number of Transformation2D objects in the RenderGroup for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier in the first Layout of the SBML document. +/// @param document a pointer to the SBMLDocument object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @return the number of Transformation2D objects in the RenderGroup for this LineEnding object, or @c 0 if the object is @c NULL. +LIBSBMLNETWORK_EXTERN unsigned int getNumSpeciesReferenceLineEndingGeometricShapes(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex); + +/// @brief Returns the number of Transformation2D objects in the RenderGroup for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier in the Layout with the given index of the SBML document. +/// @param document a pointer to the SBMLDocument object. +/// @param layoutIndex the index number of the Layout object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @return the number of Transformation2D objects in the RenderGroup for this LineEnding object, or @c 0 if the object is @c NULL. + +LIBSBMLNETWORK_EXTERN unsigned int getNumSpeciesReferenceLineEndingGeometricShapes(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex); /// @brief Predicates returning @c true if the Transformation2D at the given index of the RenderGroup of the LineEnding object of the RenderInformationBase object with the given index of the SBML document is of type Rectangle. /// @param document a pointer to the SBMLDocument object. /// @param id a string representing the identifier of the LineEnding to retrieve. @@ -1731,6 +2392,25 @@ LIBSBMLNETWORK_EXTERN bool isLineEndingRectangle(SBMLDocument* document, const s /// @return @c true if the Transformation2D at the given index of the RenderGroup for this LineEnding object is of type Rectangle, @c false otherwise. LIBSBMLNETWORK_EXTERN bool isLineEndingRectangle(SBMLDocument* document, unsigned int renderIndex, const std::string& id, unsigned int geometricShapeIndex = 0); +/// @brief Predicates returning \c true if the Transformation2D at the given index of the RenderGroup for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier in the first Layout of the SBML document is of type Rectangle. +/// @param document a pointer to the SBMLDocument object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param geometricShapeIndex an unsigned int representing the index of the Transformation2D to retrieve. +/// @return \c true if the Transformation2D at the given index of the RenderGroup for this LineEnding object is of type Rectangle, \c false otherwise. +LIBSBMLNETWORK_EXTERN bool isSpeciesReferenceLineEndingRectangle(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex); + +/// @brief Predicates returning \c true if the Transformation2D at the given index of the RenderGroup for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier in the Layout with the given index of the SBML document is of type Rectangle. +/// @param document a pointer to the SBMLDocument object. +/// @param layoutIndex the index number of the Layout object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param geometricShapeIndex an unsigned int representing the index of the Transformation2D to retrieve. +/// @return \c true if the Transformation2D at the given index of the RenderGroup for this LineEnding object is of type Rectangle, \c false otherwise. +LIBSBMLNETWORK_EXTERN bool isSpeciesReferenceLineEndingRectangle(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex); + /// @brief Predicates returning @c true if the Transformation2D at the given index of the RenderGroup of the LineEnding object of the RenderInformationBase object with the given index of the SBML document is of type Ellipse. /// @param document a pointer to the SBMLDocument object. /// @param id a string representing the identifier of the LineEnding to retrieve. @@ -1746,6 +2426,25 @@ LIBSBMLNETWORK_EXTERN bool isLineEndingEllipse(SBMLDocument* document, const std /// @return @c true if the Transformation2D at the given index of the RenderGroup for this LineEnding object is of type Ellipse, @c false otherwise. LIBSBMLNETWORK_EXTERN bool isLineEndingEllipse(SBMLDocument* document, unsigned int renderIndex, const std::string& id, unsigned int geometricShapeIndex = 0); +/// @brief Predicates returning \c true if the Transformation2D at the given index of the RenderGroup for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier in the first Layout of the SBML document is of type Ellipse. +/// @param document a pointer to the SBMLDocument object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param geometricShapeIndex an unsigned int representing the index of the Transformation2D to retrieve. +/// @return \c true if the Transformation2D at the given index of the RenderGroup for this LineEnding object is of type Ellipse, \c false otherwise. +LIBSBMLNETWORK_EXTERN bool isSpeciesReferenceLineEndingEllipse(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex); + +/// @brief Predicates returning \c true if the Transformation2D at the given index of the RenderGroup for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier in the Layout with the given index of the SBML document is of type Ellipse. +/// @param document a pointer to the SBMLDocument object. +/// @param layoutIndex the index number of the Layout object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param geometricShapeIndex an unsigned int representing the index of the Transformation2D to retrieve. +/// @return \c true if the Transformation2D at the given index of the RenderGroup for this LineEnding object is of type Ellipse, \c false otherwise. +LIBSBMLNETWORK_EXTERN bool isSpeciesReferenceLineEndingEllipse(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex); + /// @brief Predicates returning @c true if the Transformation2D at the given index of the RenderGroup of the LineEnding object of the RenderInformationBase object with the given index of the SBML document is of type Polygon. /// @param document a pointer to the SBMLDocument object. /// @param id a string representing the identifier of the LineEnding to retrieve. @@ -1761,6 +2460,25 @@ LIBSBMLNETWORK_EXTERN bool isLineEndingPolygon(SBMLDocument* document, const std /// @return @c true if the Transformation2D at the given index of the RenderGroup for this LineEnding object is of type Polygon, @c false otherwise. LIBSBMLNETWORK_EXTERN bool isLineEndingPolygon(SBMLDocument* document, unsigned int renderIndex, const std::string& id, unsigned int geometricShapeIndex = 0); +/// @brief Predicates returning \c true if the Transformation2D at the given index of the RenderGroup for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier in the first Layout of the SBML document is of type Polygon. +/// @param document a pointer to the SBMLDocument object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param geometricShapeIndex an unsigned int representing the index of the Transformation2D to retrieve. +/// @return \c true if the Transformation2D at the given index of the RenderGroup for this LineEnding object is of type Polygon, \c false otherwise. +LIBSBMLNETWORK_EXTERN bool isSpeciesReferenceLineEndingPolygon(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex); + +/// @brief Predicates returning \c true if the Transformation2D at the given index of the RenderGroup for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier in the Layout with the given index of the SBML document is of type Polygon. +/// @param document a pointer to the SBMLDocument object. +/// @param layoutIndex the index number of the Layout object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param geometricShapeIndex an unsigned int representing the index of the Transformation2D to retrieve. +/// @return \c true if the Transformation2D at the given index of the RenderGroup for this LineEnding object is of type Polygon, \c false otherwise. + +LIBSBMLNETWORK_EXTERN bool isSpeciesReferenceLineEndingPolygon(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex); /// @brief Predicates returning @c true if the Transformation2D at the given index of the RenderGroup of the LineEnding object of the RenderInformationBase object with the given index of the SBML document is of type Image. /// @param document a pointer to the SBMLDocument object. /// @param id a string representing the identifier of the LineEnding to retrieve. @@ -1776,6 +2494,25 @@ LIBSBMLNETWORK_EXTERN bool isLineEndingImage(SBMLDocument* document, const std:: /// @return @c true if the Transformation2D at the given index of the RenderGroup for this LineEnding object is of type Image, @c false otherwise. LIBSBMLNETWORK_EXTERN bool isLineEndingImage(SBMLDocument* document, unsigned int renderIndex, const std::string& id, unsigned int geometricShapeIndex = 0); +/// @brief Predicates returning \c true if the Transformation2D at the given index of the RenderGroup for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier in the first Layout of the SBML document is of type Image. +/// @param document a pointer to the SBMLDocument object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param geometricShapeIndex an unsigned int representing the index of the Transformation2D to retrieve. +/// @return \c true if the Transformation2D at the given index of the RenderGroup for this LineEnding object is of type Image, \c false otherwise. +LIBSBMLNETWORK_EXTERN bool isSpeciesReferenceLineEndingImage(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex); + +/// @brief Predicates returning \c true if the Transformation2D at the given index of the RenderGroup for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier in the Layout with the given index of the SBML document is of type Image. +/// @param document a pointer to the SBMLDocument object. +/// @param layoutIndex the index number of the Layout object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param geometricShapeIndex an unsigned int representing the index of the Transformation2D to retrieve. +/// @return \c true if the Transformation2D at the given index of the RenderGroup for this LineEnding object is of type Image, \c false otherwise. +LIBSBMLNETWORK_EXTERN bool isSpeciesReferenceLineEndingImage(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex); + /// @brief Predicates returning @c true if the Transformation2D at the given index of the RenderGroup of the LineEnding object of the RenderInformationBase object with the given index of the SBML document is of type RenderCurve. /// @param document a pointer to the SBMLDocument object. /// @param id a string representing the identifier of the LineEnding to retrieve. @@ -1791,6 +2528,25 @@ LIBSBMLNETWORK_EXTERN bool isLineEndingRenderCurve(SBMLDocument* document, const /// @return @c true if the Transformation2D at the given index of the RenderGroup for this LineEnding object is of type RenderCurve, @c false otherwise. LIBSBMLNETWORK_EXTERN bool isLineEndingRenderCurve(SBMLDocument* document, unsigned int renderIndex, const std::string& id, unsigned int geometricShapeIndex = 0); +/// @brief Predicates returning \c true if the Transformation2D at the given index of the RenderGroup for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier in the first Layout of the SBML document is of type RenderCurve. +/// @param document a pointer to the SBMLDocument object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param geometricShapeIndex an unsigned int representing the index of the Transformation2D to retrieve. +/// @return \c true if the Transformation2D at the given index of the RenderGroup for this LineEnding object is of type RenderCurve, \c false otherwise. +LIBSBMLNETWORK_EXTERN bool isSpeciesReferenceLineEndingRenderCurve(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex); + +/// @brief Predicates returning \c true if the Transformation2D at the given index of the RenderGroup for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier in the Layout with the given index of the SBML document is of type RenderCurve. +/// @param document a pointer to the SBMLDocument object. +/// @param layoutIndex the index number of the Layout object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param geometricShapeIndex an unsigned int representing the index of the Transformation2D to retrieve. +/// @return \c true if the Transformation2D at the given index of the RenderGroup for this LineEnding object is of type RenderCurve, \c false otherwise. +LIBSBMLNETWORK_EXTERN bool isSpeciesReferenceLineEndingRenderCurve(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex); + /// @brief Predicates returning @c true if the Transformation2D at the given index of the RenderGroup of the LineEnding object of the RenderInformationBase object with the given index of the SBML document is of type Text. /// @param document a pointer to the SBMLDocument object. /// @param id a string representing the identifier of the LineEnding to retrieve. @@ -1806,6 +2562,25 @@ LIBSBMLNETWORK_EXTERN bool isLineEndingText(SBMLDocument* document, const std::s /// @return @c true if the Transformation2D at the given index of the RenderGroup for this LineEnding object is of type Text, @c false otherwise. LIBSBMLNETWORK_EXTERN bool isLineEndingText(SBMLDocument* document, unsigned int renderIndex, const std::string& id, unsigned int geometricShapeIndex = 0); +/// @brief Predicates returning \c true if the Transformation2D at the given index of the RenderGroup for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier in the first Layout of the SBML document is of type Text. +/// @param document a pointer to the SBMLDocument object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param geometricShapeIndex an unsigned int representing the index of the Transformation2D to retrieve. +/// @return \c true if the Transformation2D at the given index of the RenderGroup for this LineEnding object is of type Text, \c false otherwise. +LIBSBMLNETWORK_EXTERN bool isSpeciesReferenceLineEndingText(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex); + +/// @brief Predicates returning \c true if the Transformation2D at the given index of the RenderGroup for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier in the Layout with the given index of the SBML document is of type Text. +/// @param document a pointer to the SBMLDocument object. +/// @param layoutIndex the index number of the Layout object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param geometricShapeIndex an unsigned int representing the index of the Transformation2D to retrieve. +/// @return \c true if the Transformation2D at the given index of the RenderGroup for this LineEnding object is of type Text, \c false otherwise. +LIBSBMLNETWORK_EXTERN bool isSpeciesReferenceLineEndingText(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex); + /// @brief Checks if the X coordinate of the geometric shape for the LineEnding with the given identifier is set. /// @param document a pointer to the SBMLDocument object. /// @param id a string representing the identifier of the LineEnding to retrieve. @@ -1821,6 +2596,25 @@ LIBSBMLNETWORK_EXTERN bool isSetLineEndingGeometricShapeX(SBMLDocument* document /// @return true if the X coordinate is set, false otherwise. LIBSBMLNETWORK_EXTERN bool isSetLineEndingGeometricShapeX(SBMLDocument* document, unsigned int renderIndex, const std::string& id, unsigned int geometricShapeIndex = 0); +/// @brief Checks if the X coordinate of the geometric shape for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier is set. +/// @param document a pointer to the SBMLDocument object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape to check. +/// @return true if the X coordinate is set, false otherwise. +LIBSBMLNETWORK_EXTERN bool isSetSpeciesReferenceLineEndingGeometricShapeX(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex); + +/// @brief Checks if the X coordinate of the geometric shape for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier in the Layout with the given index of the SBML document is set. +/// @param document a pointer to the SBMLDocument object. +/// @param layoutIndex the index number of the Layout object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape to check. +/// @return true if the X coordinate is set, false otherwise. +LIBSBMLNETWORK_EXTERN bool isSetSpeciesReferenceLineEndingGeometricShapeX(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex); + /// @brief Gets the X coordinate of the geometric shape for the LineEnding with the given identifier. /// @param document a pointer to the SBMLDocument object. /// @param id a string representing the identifier of the LineEnding to retrieve. @@ -1836,6 +2630,25 @@ LIBSBMLNETWORK_EXTERN const RelAbsVector getLineEndingGeometricShapeX(SBMLDocume /// @return the X coordinate as a RelAbsVector. LIBSBMLNETWORK_EXTERN const RelAbsVector getLineEndingGeometricShapeX(SBMLDocument* document, unsigned int renderIndex, const std::string& id, unsigned int geometricShapeIndex = 0); +/// @brief Gets the X coordinate of the geometric shape for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier in the first Layout of the SBML document. +/// @param document a pointer to the SBMLDocument object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape. +/// @return the X coordinate as a RelAbsVector. +LIBSBMLNETWORK_EXTERN const RelAbsVector getSpeciesReferenceLineEndingGeometricShapeX(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex); + +/// @brief Gets the X coordinate of the geometric shape for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier in the Layout with the given index of the SBML document. +/// @param document a pointer to the SBMLDocument object. +/// @param layoutIndex the index number of the Layout object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape. +/// @return the X coordinate as a RelAbsVector. +LIBSBMLNETWORK_EXTERN const RelAbsVector getSpeciesReferenceLineEndingGeometricShapeX(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex); + /// @brief Returns the X coordinate of the geometric shape for the LineEnding with the given identifier as a double. /// @param document a pointer to the SBMLDocument object. /// @param id a string representing the identifier of the LineEnding to retrieve. @@ -1851,6 +2664,25 @@ LIBSBMLNETWORK_EXTERN const double getLineEndingGeometricShapeXAsDouble(SBMLDocu /// @return the X coordinate as a double, or \c 0 if the object is \c NULL. LIBSBMLNETWORK_EXTERN const double getLineEndingGeometricShapeXAsDouble(SBMLDocument* document, unsigned int renderIndex, const std::string& id, unsigned int geometricShapeIndex = 0); +/// @brief Returns the X coordinate of the geometric shape for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier in the first Layout of the SBML document as a double. +/// @param document a pointer to the SBMLDocument object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape. +/// @return the X coordinate as a double, or \c 0 if the object is \c NULL. +LIBSBMLNETWORK_EXTERN const double getSpeciesReferenceLineEndingGeometricShapeXAsDouble(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex); + +/// @brief Returns the X coordinate of the geometric shape for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier in the Layout with the given index of the SBML document as a double. +/// @param document a pointer to the SBMLDocument object. +/// @param layoutIndex the index number of the Layout object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape. +/// @return the X coordinate as a double, or \c 0 if the object is \c NULL. +LIBSBMLNETWORK_EXTERN const double getSpeciesReferenceLineEndingGeometricShapeXAsDouble(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex); + /// @brief Sets the X coordinate of the geometric shape for the LineEnding with the given identifier. /// @param document a pointer to the SBMLDocument object. /// @param id a string representing the identifier of the LineEnding to modify. @@ -1868,6 +2700,46 @@ LIBSBMLNETWORK_EXTERN int setLineEndingGeometricShapeX(SBMLDocument* document, c /// @return an integer indicating success (0) or failure (non-zero). LIBSBMLNETWORK_EXTERN int setLineEndingGeometricShapeX(SBMLDocument* document, unsigned int renderIndex, const std::string& id, unsigned int geometricShapeIndex, const RelAbsVector& x); +/// @brief Sets the X coordinate of the geometric shape for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier in the first Layout of the SBML document. +/// @param document a pointer to the SBMLDocument object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape to modify. +/// @param x the new X coordinate as a RelAbsVector. +/// @return an integer indicating success (0) or failure (non-zero). +LIBSBMLNETWORK_EXTERN int setSpeciesReferenceLineEndingGeometricShapeX(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex, const RelAbsVector& x); + +/// @brief Sets the X coordinate of the geometric shape for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier in the Layout with the given index of the SBML document. +/// @param document a pointer to the SBMLDocument object. +/// @param layoutIndex the index number of the Layout object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape to modify. +/// @param x the new X coordinate as a RelAbsVector. +/// @return an integer indicating success (0) or failure (non-zero). +LIBSBMLNETWORK_EXTERN int setSpeciesReferenceLineEndingGeometricShapeX(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex, const RelAbsVector& x); + +/// @brief Sets the X coordinate of the geometric shape for the LineEnding associated with the ReactionGlyph with the given index of the reaction with the given identifier in the first Layout of the SBML document. +/// @param document a pointer to the SBMLDocument object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape to modify. +/// @param x the new X coordinate as a RelAbsVector. +/// @return an integer indicating success (0) or failure (non-zero). +LIBSBMLNETWORK_EXTERN int setReactionLineEndingGeometricShapeX(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int geometricShapeIndex, const RelAbsVector& x); + +/// @brief Sets the X coordinate of the geometric shape for the LineEnding associated with the ReactionGlyph with the given index of the reaction with the given identifier in the Layout with the given index of the SBML document. +/// @param document a pointer to the SBMLDocument object. +/// @param layoutIndex the index number of the Layout object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape to modify. +/// @param x the new X coordinate as a RelAbsVector. +/// @return an integer indicating success (0) or failure (non-zero). +LIBSBMLNETWORK_EXTERN int setReactionLineEndingGeometricShapeX(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int geometricShapeIndex, const RelAbsVector& x); + /// @brief Sets the X coordinate of the geometric shape for the LineEnding with the given identifier as a double. /// @param document a pointer to the SBMLDocument object. /// @param id a string representing the identifier of the LineEnding to modify. @@ -1885,6 +2757,46 @@ LIBSBMLNETWORK_EXTERN int setLineEndingGeometricShapeXAsDouble(SBMLDocument* doc /// @return an integer indicating success (0) or failure (non-zero). LIBSBMLNETWORK_EXTERN int setLineEndingGeometricShapeXAsDouble(SBMLDocument* document, unsigned int renderIndex, const std::string& id, unsigned int geometricShapeIndex, const double& x); +/// @brief Sets the X coordinate of the geometric shape for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier in the first Layout of the SBML document. +/// @param document a pointer to the SBMLDocument object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape to modify. +/// @param x the new X coordinate as a double. +/// @return an integer indicating success (0) or failure (non-zero). +LIBSBMLNETWORK_EXTERN int setSpeciesReferenceLineEndingGeometricShapeXAsDouble(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex, const double& x); + +/// @brief Sets the X coordinate of the geometric shape for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier in the Layout with the given index of the SBML document. +/// @param document a pointer to the SBMLDocument object. +/// @param layoutIndex the index number of the Layout object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape to modify. +/// @param x the new X coordinate as a double. +/// @return an integer indicating success (0) or failure (non-zero). +LIBSBMLNETWORK_EXTERN int setSpeciesReferenceLineEndingGeometricShapeXAsDouble(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex, const double& x); + +/// @brief Sets the X coordinate of the geometric shape for the LineEnding associated with the ReactionGlyph with the given index of the reaction with the given identifier in the first Layout of the SBML document. +/// @param document a pointer to the SBMLDocument object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape to modify. +/// @param x the new X coordinate as a double. +/// @return an integer indicating success (0) or failure (non-zero). +LIBSBMLNETWORK_EXTERN int setReactionLineEndingGeometricShapeXAsDouble(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int geometricShapeIndex, const double& x); + +/// @brief Sets the X coordinate of the geometric shape for the LineEnding associated with the ReactionGlyph with the given index of the reaction with the given identifier in the Layout with the given index of the SBML document. +/// @param document a pointer to the SBMLDocument object. +/// @param layoutIndex the index number of the Layout object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape to modify. +/// @param x the new X coordinate as a double. +/// @return an integer indicating success (0) or failure (non-zero). +LIBSBMLNETWORK_EXTERN int setReactionLineEndingGeometricShapeXAsDouble(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int geometricShapeIndex, const double& x); + /// @brief Checks if the Y coordinate of the geometric shape for the LineEnding with the given identifier is set. /// @param document a pointer to the SBMLDocument object. /// @param id a string representing the identifier of the LineEnding to retrieve. @@ -1900,6 +2812,24 @@ LIBSBMLNETWORK_EXTERN bool isSetLineEndingGeometricShapeY(SBMLDocument* document /// @return true if the Y coordinate is set, false otherwise. LIBSBMLNETWORK_EXTERN bool isSetLineEndingGeometricShapeY(SBMLDocument* document, unsigned int renderIndex, const std::string& id, unsigned int geometricShapeIndex = 0); +/// @brief Checks if the Y coordinate of the geometric shape for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier is set. +/// @param document a pointer to the SBMLDocument object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape to check. +/// @return true if the Y coordinate is set, false otherwise. +LIBSBMLNETWORK_EXTERN bool isSetSpeciesReferenceLineEndingGeometricShapeY(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex); + +/// @brief Checks if the Y coordinate of the geometric shape for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier in the Layout with the given index of the SBML document is set. +/// @param document a pointer to the SBMLDocument object. +/// @param layoutIndex the index number of the Layout object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape to check. +/// @return true if the Y coordinate is set, false otherwise. +LIBSBMLNETWORK_EXTERN bool isSetSpeciesReferenceLineEndingGeometricShapeY(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex); /// @brief Gets the Y coordinate of the geometric shape for the LineEnding with the given identifier. /// @param document a pointer to the SBMLDocument object. /// @param id a string representing the identifier of the LineEnding to retrieve. @@ -1915,6 +2845,25 @@ LIBSBMLNETWORK_EXTERN const RelAbsVector getLineEndingGeometricShapeY(SBMLDocume /// @return the Y coordinate as a RelAbsVector. LIBSBMLNETWORK_EXTERN const RelAbsVector getLineEndingGeometricShapeY(SBMLDocument* document, unsigned int renderIndex, const std::string& id, unsigned int geometricShapeIndex = 0); +/// @brief Gets the Y coordinate of the geometric shape for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier. +/// @param document a pointer to the SBMLDocument object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape. +/// @return the Y coordinate as a RelAbsVector. +LIBSBMLNETWORK_EXTERN const RelAbsVector getSpeciesReferenceLineEndingGeometricShapeY(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex); + +/// @brief Gets the Y coordinate of the geometric shape for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier in the Layout with the given index of the SBML document. +/// @param document a pointer to the SBMLDocument object. +/// @param layoutIndex the index number of the Layout object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape. +/// @return the Y coordinate as a RelAbsVector. +LIBSBMLNETWORK_EXTERN const RelAbsVector getSpeciesReferenceLineEndingGeometricShapeY(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex); + /// @brief Returns the Y coordinate of the geometric shape for the LineEnding with the given identifier as a double. /// @param document a pointer to the SBMLDocument object. /// @param id a string representing the identifier of the LineEnding to retrieve. @@ -1930,6 +2879,24 @@ LIBSBMLNETWORK_EXTERN const double getLineEndingGeometricShapeYAsDouble(SBMLDocu /// @return the Y coordinate as a double, or \c 0 if the object is \c NULL. LIBSBMLNETWORK_EXTERN const double getLineEndingGeometricShapeYAsDouble(SBMLDocument* document, unsigned int renderIndex, const std::string& id, unsigned int geometricShapeIndex = 0); +/// @brief Returns the Y coordinate of the geometric shape for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier as a double. +/// @param document a pointer to the SBMLDocument object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape. +/// @return the Y coordinate as a double, or \c 0 if the object is \c NULL. +LIBSBMLNETWORK_EXTERN const double getSpeciesReferenceLineEndingGeometricShapeYAsDouble(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex); + +/// @brief Returns the Y coordinate of the geometric shape for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier in the Layout with the given index of the SBML document as a double. +/// @param document a pointer to the SBMLDocument object. +/// @param layoutIndex the index number of the Layout object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape. +/// @return the Y coordinate as a double, or \c 0 if the object is \c NULL. +LIBSBMLNETWORK_EXTERN const double getSpeciesReferenceLineEndingGeometricShapeYAsDouble(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex); /// @brief Sets the Y coordinate of the geometric shape for the LineEnding with the given identifier. /// @param document a pointer to the SBMLDocument object. /// @param id a string representing the identifier of the LineEnding to modify. @@ -1947,6 +2914,46 @@ LIBSBMLNETWORK_EXTERN int setLineEndingGeometricShapeY(SBMLDocument* document, c /// @return an integer indicating success (0) or failure (non-zero). LIBSBMLNETWORK_EXTERN int setLineEndingGeometricShapeY(SBMLDocument* document, unsigned int renderIndex, const std::string& id, unsigned int geometricShapeIndex, const RelAbsVector& y); +/// @brief Sets the Y coordinate of the geometric shape for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier in the first Layout of the SBML document. +/// @param document a pointer to the SBMLDocument object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape to modify. +/// @param y the new Y coordinate as a RelAbsVector. +/// @return an integer indicating success (0) or failure (non-zero). +LIBSBMLNETWORK_EXTERN int setSpeciesReferenceLineEndingGeometricShapeY(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex, const RelAbsVector& y); + +/// @brief Sets the Y coordinate of the geometric shape for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier in the Layout with the given index of the SBML document. +/// @param document a pointer to the SBMLDocument object. +/// @param layoutIndex the index number of the Layout object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape to modify. +/// @param y the new Y coordinate as a RelAbsVector. +/// @return an integer indicating success (0) or failure (non-zero). +LIBSBMLNETWORK_EXTERN int setSpeciesReferenceLineEndingGeometricShapeY(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex, const RelAbsVector& y); + +/// @brief Sets the Y coordinate of the geometric shape for the LineEnding associated with the ReactionGlyph with the given index of the reaction with the given identifier in the first Layout of the SBML document. +/// @param document a pointer to the SBMLDocument object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape to modify. +/// @param y the new Y coordinate as a RelAbsVector. +/// @return an integer indicating success (0) or failure (non-zero). +LIBSBMLNETWORK_EXTERN int setReactionLineEndingGeometricShapeY(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int geometricShapeIndex, const RelAbsVector& y); + +/// @brief Sets the Y coordinate of the geometric shape for the LineEnding associated with the ReactionGlyph with the given index of the reaction with the given identifier in the Layout with the given index of the SBML document. +/// @param document a pointer to the SBMLDocument object. +/// @param layoutIndex the index number of the Layout object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape to modify. +/// @param y the new Y coordinate as a RelAbsVector. +/// @return an integer indicating success (0) or failure (non-zero). +LIBSBMLNETWORK_EXTERN int setReactionLineEndingGeometricShapeY(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int geometricShapeIndex, const RelAbsVector& y); + /// @brief Sets the Y coordinate of the geometric shape for the LineEnding with the given identifier as a double. /// @param document a pointer to the SBMLDocument object. /// @param id a string representing the identifier of the LineEnding to modify. @@ -1964,6 +2971,46 @@ LIBSBMLNETWORK_EXTERN int setLineEndingGeometricShapeYAsDouble(SBMLDocument* doc /// @return an integer indicating success (0) or failure (non-zero). LIBSBMLNETWORK_EXTERN int setLineEndingGeometricShapeYAsDouble(SBMLDocument* document, unsigned int renderIndex, const std::string& id, unsigned int geometricShapeIndex, const double& y); +/// @brief Sets the Y coordinate of the geometric shape for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier in the first Layout of the SBML document. +/// @param document a pointer to the SBMLDocument object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape to modify. +/// @param y the new Y coordinate as a double. +/// @return an integer indicating success (0) or failure (non-zero). +LIBSBMLNETWORK_EXTERN int setSpeciesReferenceLineEndingGeometricShapeYAsDouble(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex, const double& y); + +/// @brief Sets the Y coordinate of the geometric shape for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier in the Layout with the given index of the SBML document. +/// @param document a pointer to the SBMLDocument object. +/// @param layoutIndex the index number of the Layout object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape to modify. +/// @param y the new Y coordinate as a double. +/// @return an integer indicating success (0) or failure (non-zero). +LIBSBMLNETWORK_EXTERN int setSpeciesReferenceLineEndingGeometricShapeYAsDouble(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex, const double& y); + +/// @brief Sets the Y coordinate of the geometric shape for the LineEnding associated with the ReactionGlyph with the given index of the reaction with the given identifier in the first Layout of the SBML document. +/// @param document a pointer to the SBMLDocument object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape to modify. +/// @param y the new Y coordinate as a double. +/// @return an integer indicating success (0) or failure (non-zero). +LIBSBMLNETWORK_EXTERN int setReactionLineEndingGeometricShapeYAsDouble(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int geometricShapeIndex, const double& y); + +/// @brief Sets the Y coordinate of the geometric shape for the LineEnding associated with the ReactionGlyph with the given index of the reaction with the given identifier in the Layout with the given index of the SBML document. +/// @param document a pointer to the SBMLDocument object. +/// @param layoutIndex the index number of the Layout object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape to modify. +/// @param y the new Y coordinate as a double. +/// @return an integer indicating success (0) or failure (non-zero). +LIBSBMLNETWORK_EXTERN int setReactionLineEndingGeometricShapeYAsDouble(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int geometricShapeIndex, const double& y); + /// @brief Checks if the width of the geometric shape for the LineEnding with the given identifier is set. /// @param document a pointer to the SBMLDocument object. /// @param id a string representing the identifier of the LineEnding to retrieve. @@ -1979,6 +3026,25 @@ LIBSBMLNETWORK_EXTERN bool isSetLineEndingGeometricShapeWidth(SBMLDocument* docu /// @return true if the width is set, false otherwise. LIBSBMLNETWORK_EXTERN bool isSetLineEndingGeometricShapeWidth(SBMLDocument* document, unsigned int renderIndex, const std::string& id, unsigned int geometricShapeIndex = 0); +/// @brief Checks if the width of the geometric shape for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier is set. +/// @param document a pointer to the SBMLDocument object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape to check. +/// @return true if the width is set, false otherwise. +LIBSBMLNETWORK_EXTERN bool isSetSpeciesReferenceLineEndingGeometricShapeWidth(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex); + +/// @brief Checks if the width of the geometric shape for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier in the Layout with the given index of the SBML document is set. +/// @param document a pointer to the SBMLDocument object. +/// @param layoutIndex the index number of the Layout object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape to check. +/// @return true if the width is set, false otherwise. +LIBSBMLNETWORK_EXTERN bool isSetSpeciesReferenceLineEndingGeometricShapeWidth(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex); + /// @brief Gets the width of the geometric shape for the LineEnding with the given identifier. /// @param document a pointer to the SBMLDocument object. /// @param id a string representing the identifier of the LineEnding to retrieve. @@ -1994,6 +3060,25 @@ LIBSBMLNETWORK_EXTERN const RelAbsVector getLineEndingGeometricShapeWidth(SBMLDo /// @return the width as a RelAbsVector. LIBSBMLNETWORK_EXTERN const RelAbsVector getLineEndingGeometricShapeWidth(SBMLDocument* document, unsigned int renderIndex, const std::string& id, unsigned int geometricShapeIndex = 0); +/// @brief Gets the width of the geometric shape for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier. +/// @param document a pointer to the SBMLDocument object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape. +/// @return the width as a RelAbsVector. +LIBSBMLNETWORK_EXTERN const RelAbsVector getSpeciesReferenceLineEndingGeometricShapeWidth(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex); + +/// @brief Gets the width of the geometric shape for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier in the Layout with the given index of the SBML document. +/// @param document a pointer to the SBMLDocument object. +/// @param layoutIndex the index number of the Layout object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape. +/// @return the width as a RelAbsVector. +LIBSBMLNETWORK_EXTERN const RelAbsVector getSpeciesReferenceLineEndingGeometricShapeWidth(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex); + /// @brief Returns the width of the geometric shape for the LineEnding with the given identifier as a double. /// @param document a pointer to the SBMLDocument object. /// @param id a string representing the identifier of the LineEnding to retrieve. @@ -2009,6 +3094,25 @@ LIBSBMLNETWORK_EXTERN const double getLineEndingGeometricShapeWidthAsDouble(SBML /// @return the width as a double, or \c 0 if the object is \c NULL. LIBSBMLNETWORK_EXTERN const double getLineEndingGeometricShapeWidthAsDouble(SBMLDocument* document, unsigned int renderIndex, const std::string& id, unsigned int geometricShapeIndex = 0); +/// @brief Returns the width of the geometric shape for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier in the first Layout of the SBML document as a double. +/// @param document a pointer to the SBMLDocument object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape. +/// @return the width as a double, or \c 0 if the object is \c NULL. +LIBSBMLNETWORK_EXTERN const double getSpeciesReferenceLineEndingGeometricShapeWidthAsDouble(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex); + +/// @brief Returns the width of the geometric shape for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier in the Layout with the given index of the SBML document as a double. +/// @param document a pointer to the SBMLDocument object. +/// @param layoutIndex the index number of the Layout object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape. +/// @return the width as a double, or \c 0 if the object is \c NULL. +LIBSBMLNETWORK_EXTERN const double getSpeciesReferenceLineEndingGeometricShapeWidthAsDouble(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex); + /// @brief Sets the width of the geometric shape for the LineEnding with the given identifier. /// @param document a pointer to the SBMLDocument object. /// @param id a string representing the identifier of the LineEnding to modify. @@ -2026,30 +3130,110 @@ LIBSBMLNETWORK_EXTERN int setLineEndingGeometricShapeWidth(SBMLDocument* documen /// @return an integer indicating success (0) or failure (non-zero). LIBSBMLNETWORK_EXTERN int setLineEndingGeometricShapeWidth(SBMLDocument* document, unsigned int renderIndex, const std::string& id, unsigned int geometricShapeIndex, const RelAbsVector& width); -/// @brief Sets the width of the geometric shape for the LineEnding with the given identifier as a double. +/// @brief Sets the width of the geometric shape for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier in the first Layout of the SBML document. /// @param document a pointer to the SBMLDocument object. -/// @param id a string representing the identifier of the LineEnding to modify. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. /// @param geometricShapeIndex an unsigned int representing the index of the geometric shape to modify. -/// @param width the new width as a double. +/// @param width the new width as a RelAbsVector. /// @return an integer indicating success (0) or failure (non-zero). -LIBSBMLNETWORK_EXTERN int setLineEndingGeometricShapeWidthAsDouble(SBMLDocument* document, const std::string& id, unsigned int geometricShapeIndex, const double& width); +LIBSBMLNETWORK_EXTERN int setSpeciesReferenceLineEndingGeometricShapeWidth(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex, const RelAbsVector& width); -/// @brief Sets the width of the geometric shape for the LineEnding with the given identifier and render index as a double. +/// @brief Sets the width of the geometric shape for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier in the Layout with the given index of the SBML document. /// @param document a pointer to the SBMLDocument object. -/// @param renderIndex the index number of the RenderInformationBase object. -/// @param id a string representing the identifier of the LineEnding to modify. +/// @param layoutIndex the index number of the Layout object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. /// @param geometricShapeIndex an unsigned int representing the index of the geometric shape to modify. -/// @param width the new width as a double. +/// @param width the new width as a RelAbsVector. /// @return an integer indicating success (0) or failure (non-zero). -LIBSBMLNETWORK_EXTERN int setLineEndingGeometricShapeWidthAsDouble(SBMLDocument* document, unsigned int renderIndex, const std::string& id, unsigned int geometricShapeIndex, const double& width); +LIBSBMLNETWORK_EXTERN int setSpeciesReferenceLineEndingGeometricShapeWidth(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex, const RelAbsVector& width); -/// @brief Checks if the height of the geometric shape for the LineEnding with the given identifier is set. +/// @brief Sets the width of the geometric shape for the LineEnding associated with the ReactionGlyph with the given index of the reaction with the given identifier in the first Layout of the SBML document. /// @param document a pointer to the SBMLDocument object. -/// @param id a string representing the identifier of the LineEnding to retrieve. -/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape to check. -/// @return true if the height is set, false otherwise. -LIBSBMLNETWORK_EXTERN bool isSetLineEndingGeometricShapeHeight(SBMLDocument* document, const std::string& id, unsigned int geometricShapeIndex = 0); - +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape to modify. +/// @param width the new width as a RelAbsVector. +/// @return an integer indicating success (0) or failure (non-zero). +LIBSBMLNETWORK_EXTERN int setReactionLineEndingGeometricShapeWidth(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int geometricShapeIndex, const RelAbsVector& width); + +/// @brief Sets the width of the geometric shape for the LineEnding associated with the ReactionGlyph with the given index of the reaction with the given identifier in the Layout with the given index of the SBML document. +/// @param document a pointer to the SBMLDocument object. +/// @param layoutIndex the index number of the Layout object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape to modify. +/// @param width the new width as a RelAbsVector. +/// @return an integer indicating success (0) or failure (non-zero). +LIBSBMLNETWORK_EXTERN int setReactionLineEndingGeometricShapeWidth(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int geometricShapeIndex, const RelAbsVector& width); + +/// @brief Sets the width of the geometric shape for the LineEnding with the given identifier as a double. +/// @param document a pointer to the SBMLDocument object. +/// @param id a string representing the identifier of the LineEnding to modify. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape to modify. +/// @param width the new width as a double. +/// @return an integer indicating success (0) or failure (non-zero). +LIBSBMLNETWORK_EXTERN int setLineEndingGeometricShapeWidthAsDouble(SBMLDocument* document, const std::string& id, unsigned int geometricShapeIndex, const double& width); + +/// @brief Sets the width of the geometric shape for the LineEnding with the given identifier and render index as a double. +/// @param document a pointer to the SBMLDocument object. +/// @param renderIndex the index number of the RenderInformationBase object. +/// @param id a string representing the identifier of the LineEnding to modify. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape to modify. +/// @param width the new width as a double. +/// @return an integer indicating success (0) or failure (non-zero). +LIBSBMLNETWORK_EXTERN int setLineEndingGeometricShapeWidthAsDouble(SBMLDocument* document, unsigned int renderIndex, const std::string& id, unsigned int geometricShapeIndex, const double& width); + +/// @brief Sets the width of the geometric shape for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier in the first Layout of the SBML document as a double. +/// @param document a pointer to the SBMLDocument object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape to modify. +/// @param width the new width as a double. +/// @return an integer indicating success (0) or failure (non-zero). +LIBSBMLNETWORK_EXTERN int setSpeciesReferenceLineEndingGeometricShapeWidthAsDouble(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex, const double& width); + +/// @brief Sets the width of the geometric shape for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier in the Layout with the given index of the SBML document as a double. +/// @param document a pointer to the SBMLDocument object. +/// @param layoutIndex the index number of the Layout object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape to modify. +/// @param width the new width as a double. +/// @return an integer indicating success (0) or failure (non-zero). +LIBSBMLNETWORK_EXTERN int setSpeciesReferenceLineEndingGeometricShapeWidthAsDouble(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex, const double& width); + +/// @brief Sets the width of the geometric shape for the LineEnding associated with the ReactionGlyph with the given index of the reaction with the given identifier in the first Layout of the SBML document as a double. +/// @param document a pointer to the SBMLDocument object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape to modify. +/// @param width the new width as a double. +/// @return an integer indicating success (0) or failure (non-zero). +LIBSBMLNETWORK_EXTERN int setReactionLineEndingGeometricShapeWidthAsDouble(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int geometricShapeIndex, const double& width); + +/// @brief Sets the width of the geometric shape for the LineEnding associated with the ReactionGlyph with the given index of the reaction with the given identifier in the Layout with the given index of the SBML document as a double. +/// @param document a pointer to the SBMLDocument object. +/// @param layoutIndex the index number of the Layout object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape to modify. +/// @param width the new width as a double. +/// @return an integer indicating success (0) or failure (non-zero). +LIBSBMLNETWORK_EXTERN int setReactionLineEndingGeometricShapeWidthAsDouble(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int geometricShapeIndex, const double& width); + +/// @brief Checks if the height of the geometric shape for the LineEnding with the given identifier is set. +/// @param document a pointer to the SBMLDocument object. +/// @param id a string representing the identifier of the LineEnding to retrieve. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape to check. +/// @return true if the height is set, false otherwise. +LIBSBMLNETWORK_EXTERN bool isSetLineEndingGeometricShapeHeight(SBMLDocument* document, const std::string& id, unsigned int geometricShapeIndex = 0); + /// @brief Checks if the height of the geometric shape for the LineEnding with the given identifier and render index is set. /// @param document a pointer to the SBMLDocument object. /// @param renderIndex the index number of the RenderInformationBase object. @@ -2058,6 +3242,25 @@ LIBSBMLNETWORK_EXTERN bool isSetLineEndingGeometricShapeHeight(SBMLDocument* doc /// @return true if the height is set, false otherwise. LIBSBMLNETWORK_EXTERN bool isSetLineEndingGeometricShapeHeight(SBMLDocument* document, unsigned int renderIndex, const std::string& id, unsigned int geometricShapeIndex = 0); +/// @brief Checks if the height of the geometric shape for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier is set. +/// @param document a pointer to the SBMLDocument object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape to check. +/// @return true if the height is set, false otherwise. +LIBSBMLNETWORK_EXTERN bool isSetSpeciesReferenceLineEndingGeometricShapeHeight(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex); + +/// @brief Checks if the height of the geometric shape for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier in the Layout with the given index of the SBML document is set. +/// @param document a pointer to the SBMLDocument object. +/// @param layoutIndex the index number of the Layout object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape to check. +/// @return true if the height is set, false otherwise. +LIBSBMLNETWORK_EXTERN bool isSetSpeciesReferenceLineEndingGeometricShapeHeight(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex); + /// @brief Gets the height of the geometric shape for the LineEnding with the given identifier. /// @param document a pointer to the SBMLDocument object. /// @param id a string representing the identifier of the LineEnding to retrieve. @@ -2073,6 +3276,25 @@ LIBSBMLNETWORK_EXTERN const RelAbsVector getLineEndingGeometricShapeHeight(SBMLD /// @return the height as a RelAbsVector. LIBSBMLNETWORK_EXTERN const RelAbsVector getLineEndingGeometricShapeHeight(SBMLDocument* document, unsigned int renderIndex, const std::string& id, unsigned int geometricShapeIndex = 0); +/// @brief Gets the height of the geometric shape for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier. +/// @param document a pointer to the SBMLDocument object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape. +/// @return the height as a RelAbsVector. +LIBSBMLNETWORK_EXTERN const RelAbsVector getSpeciesReferenceLineEndingGeometricShapeHeight(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex); + +/// @brief Gets the height of the geometric shape for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier in the Layout with the given index of the SBML document. +/// @param document a pointer to the SBMLDocument object. +/// @param layoutIndex the index number of the Layout object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape. +/// @return the height as a RelAbsVector. +LIBSBMLNETWORK_EXTERN const RelAbsVector getSpeciesReferenceLineEndingGeometricShapeHeight(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex); + /// @brief Returns the height of the geometric shape for the LineEnding with the given identifier as a double. /// @param document a pointer to the SBMLDocument object. /// @param id a string representing the identifier of the LineEnding to retrieve. @@ -2088,6 +3310,24 @@ LIBSBMLNETWORK_EXTERN const double getLineEndingGeometricShapeHeightAsDouble(SBM /// @return the height as a double, or \c 0 if the object is \c NULL. LIBSBMLNETWORK_EXTERN const double getLineEndingGeometricShapeHeightAsDouble(SBMLDocument* document, unsigned int renderIndex, const std::string& id, unsigned int geometricShapeIndex = 0); +/// @brief Returns the height of the geometric shape for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier as a double. +/// @param document a pointer to the SBMLDocument object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape. +/// @return the height as a double, or \c 0 if the object is \c NULL. +LIBSBMLNETWORK_EXTERN const double getSpeciesReferenceLineEndingGeometricShapeHeightAsDouble(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex); + +/// @brief Returns the height of the geometric shape for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier in the Layout with the given index of the SBML document as a double. +/// @param document a pointer to the SBMLDocument object. +/// @param layoutIndex the index number of the Layout object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape. +/// @return the height as a double, or \c 0 if the object is \c NULL. +LIBSBMLNETWORK_EXTERN const double getSpeciesReferenceLineEndingGeometricShapeHeightAsDouble(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex); /// @brief Sets the height of the geometric shape for the LineEnding with the given identifier. /// @param document a pointer to the SBMLDocument object. /// @param id a string representing the identifier of the LineEnding to modify. @@ -2103,7 +3343,47 @@ LIBSBMLNETWORK_EXTERN int setLineEndingGeometricShapeHeight(SBMLDocument* docume /// @param geometricShapeIndex an unsigned int representing the index of the geometric shape to modify. /// @param height the new height as a RelAbsVector. /// @return an integer indicating success (0) or failure (non-zero). -LIBSBMLNETWORK_EXTERN int setLineEndingGeometricShapeHeight(SBMLDocument* document, unsigned int renderIndex, const std::string& id, unsigned int geometricShapeIndex, const RelAbsVector& height); +LIBSBMLNETWORK_EXTERN int setLineEndingGeometricShapeHeight(SBMLDocument* document, unsigned int renderIndex, const std::string& id, unsigned int geometricShapeIndex, const RelAbsVector& height); + +/// @brief Sets the height of the geometric shape for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier in the first Layout of the SBML document. +/// @param document a pointer to the SBMLDocument object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape to modify. +/// @param height the new height as a RelAbsVector. +/// @return an integer indicating success (0) or failure (non-zero). +LIBSBMLNETWORK_EXTERN int setSpeciesReferenceLineEndingGeometricShapeHeight(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex, const RelAbsVector& height); + +/// @brief Sets the height of the geometric shape for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier in the Layout with the given index of the SBML document. +/// @param document a pointer to the SBMLDocument object. +/// @param layoutIndex the index number of the Layout object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape to modify. +/// @param height the new height as a RelAbsVector. +/// @return an integer indicating success (0) or failure (non-zero). +LIBSBMLNETWORK_EXTERN int setSpeciesReferenceLineEndingGeometricShapeHeight(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex, const RelAbsVector& height); + +/// @brief Sets the height of the geometric shape for the LineEnding associated with the ReactionGlyph with the given index of the reaction with the given identifier in the first Layout of the SBML document. +/// @param document a pointer to the SBMLDocument object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape to modify. +/// @param height the new height as a RelAbsVector. +/// @return an integer indicating success (0) or failure (non-zero). +LIBSBMLNETWORK_EXTERN int setReactionLineEndingGeometricShapeHeight(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int geometricShapeIndex, const RelAbsVector& height); + +/// @brief Sets the height of the geometric shape for the LineEnding associated with the ReactionGlyph with the given index of the reaction with the given identifier in the Layout with the given index of the SBML document. +/// @param document a pointer to the SBMLDocument object. +/// @param layoutIndex the index number of the Layout object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape to modify. +/// @param height the new height as a RelAbsVector. +/// @return an integer indicating success (0) or failure (non-zero). +LIBSBMLNETWORK_EXTERN int setReactionLineEndingGeometricShapeHeight(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int geometricShapeIndex, const RelAbsVector& height); /// @brief Sets the height of the geometric shape for the LineEnding with the given identifier as a double. /// @param document a pointer to the SBMLDocument object. @@ -2121,6 +3401,47 @@ LIBSBMLNETWORK_EXTERN int setLineEndingGeometricShapeHeightAsDouble(SBMLDocument /// @param height the new height as a double. /// @return an integer indicating success (0) or failure (non-zero). LIBSBMLNETWORK_EXTERN int setLineEndingGeometricShapeHeightAsDouble(SBMLDocument* document, unsigned int renderIndex, const std::string& id, unsigned int geometricShapeIndex, const double& height); + +/// @brief Sets the height of the geometric shape for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier in the first Layout of the SBML document as a double. +/// @param document a pointer to the SBMLDocument object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape to modify. +/// @param height the new height as a double. +/// @return an integer indicating success (0) or failure (non-zero). +LIBSBMLNETWORK_EXTERN int setSpeciesReferenceLineEndingGeometricShapeHeightAsDouble(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex, const double& height); + +/// @brief Sets the height of the geometric shape for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier in the Layout with the given index of the SBML document as a double. +/// @param document a pointer to the SBMLDocument object. +/// @param layoutIndex the index number of the Layout object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape to modify. +/// @param height the new height as a double. +/// @return an integer indicating success (0) or failure (non-zero). +LIBSBMLNETWORK_EXTERN int setSpeciesReferenceLineEndingGeometricShapeHeightAsDouble(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex, const double& height); + +/// @brief Sets the height of the geometric shape for the LineEnding associated with the ReactionGlyph with the given index of the reaction with the given identifier in the first Layout of the SBML document as a double. +/// @param document a pointer to the SBMLDocument object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape to modify. +/// @param height the new height as a double. +/// @return an integer indicating success (0) or failure (non-zero). +LIBSBMLNETWORK_EXTERN int setReactionLineEndingGeometricShapeHeightAsDouble(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int geometricShapeIndex, const double& height); + +/// @brief Sets the height of the geometric shape for the LineEnding associated with the ReactionGlyph with the given index of the reaction with the given identifier in the Layout with the given index of the SBML document as a double. +/// @param document a pointer to the SBMLDocument object. +/// @param layoutIndex the index number of the Layout object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape to modify. +/// @param height the new height as a double. +/// @return an integer indicating success (0) or failure (non-zero). +LIBSBMLNETWORK_EXTERN int setReactionLineEndingGeometricShapeHeightAsDouble(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int geometricShapeIndex, const double& height); + /// @brief Checks if the ratio of the geometric shape for the LineEnding with the given identifier is set. /// @param document a pointer to the SBMLDocument object. /// @param id a string representing the identifier of the LineEnding. @@ -2136,6 +3457,25 @@ LIBSBMLNETWORK_EXTERN bool isSetLineEndingGeometricShapeRatio(SBMLDocument* docu /// @return true if the ratio is set, false otherwise. LIBSBMLNETWORK_EXTERN bool isSetLineEndingGeometricShapeRatio(SBMLDocument* document, unsigned int renderIndex, const std::string& id, unsigned int geometricShapeIndex = 0); +/// @brief Checks if the ratio of the geometric shape for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier is set. +/// @param document a pointer to the SBMLDocument object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape to check. +/// @return true if the ratio is set, false otherwise. +LIBSBMLNETWORK_EXTERN bool isSetSpeciesReferenceLineEndingGeometricShapeRatio(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex); + +/// @brief Checks if the ratio of the geometric shape for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier in the Layout with the given index of the SBML document is set. +/// @param document a pointer to the SBMLDocument object. +/// @param layoutIndex the index number of the Layout object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape to check. +/// @return true if the ratio is set, false otherwise. +LIBSBMLNETWORK_EXTERN bool isSetSpeciesReferenceLineEndingGeometricShapeRatio(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex); + /// @brief Gets the ratio of the geometric shape for the LineEnding with the given identifier. /// @param document a pointer to the SBMLDocument object. /// @param id a string representing the identifier of the LineEnding. @@ -2151,20 +3491,24 @@ LIBSBMLNETWORK_EXTERN const double getLineEndingGeometricShapeRatio(SBMLDocument /// @return the ratio as a double. LIBSBMLNETWORK_EXTERN const double getLineEndingGeometricShapeRatio(SBMLDocument* document, unsigned int renderIndex, const std::string& id, unsigned int geometricShapeIndex = 0); -/// @brief Gets the ratio of the geometric shape for the LineEnding with the given identifier as a double. +/// @brief Gets the ratio of the geometric shape for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier. /// @param document a pointer to the SBMLDocument object. -/// @param id a string representing the identifier of the LineEnding. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. /// @param geometricShapeIndex an unsigned int representing the index of the geometric shape. /// @return the ratio as a double. -LIBSBMLNETWORK_EXTERN const double getLineEndingGeometricShapeRatioAsDouble(SBMLDocument* document, const std::string& id, unsigned int geometricShapeIndex = 0); +LIBSBMLNETWORK_EXTERN const double getSpeciesReferenceLineEndingGeometricShapeRatio(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex); -/// @brief Gets the ratio of the geometric shape for the LineEnding with the given identifier and render index as a double. +/// @brief Gets the ratio of the geometric shape for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier in the Layout with the given index of the SBML document. /// @param document a pointer to the SBMLDocument object. -/// @param renderIndex the index number of the RenderInformationBase object. -/// @param id a string representing the identifier of the LineEnding. +/// @param layoutIndex the index number of the Layout object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. /// @param geometricShapeIndex an unsigned int representing the index of the geometric shape. /// @return the ratio as a double. -LIBSBMLNETWORK_EXTERN const double getLineEndingGeometricShapeRatioAsDouble(SBMLDocument* document, unsigned int renderIndex, const std::string& id, unsigned int geometricShapeIndex = 0); +LIBSBMLNETWORK_EXTERN const double getSpeciesReferenceLineEndingGeometricShapeRatio(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex); /// @brief Sets the ratio of the geometric shape for the LineEnding with the given identifier. /// @param document a pointer to the SBMLDocument object. @@ -2172,7 +3516,7 @@ LIBSBMLNETWORK_EXTERN const double getLineEndingGeometricShapeRatioAsDouble(SBML /// @param geometricShapeIndex an unsigned int representing the index of the geometric shape to modify. /// @param ratio the new ratio as a double. /// @return an integer indicating success (0) or failure (non-zero). -LIBSBMLNETWORK_EXTERN int setLineEndingGeometricShapeRatio(SBMLDocument* document, const std::string& id, unsigned int geometricShapeIndex, double ratio); +LIBSBMLNETWORK_EXTERN int setLineEndingGeometricShapeRatio(SBMLDocument* document, const std::string& id, unsigned int geometricShapeIndex, double ratio); /// @brief Sets the ratio of the geometric shape for the LineEnding with the given identifier and render index. /// @param document a pointer to the SBMLDocument object. @@ -2181,7 +3525,47 @@ LIBSBMLNETWORK_EXTERN int setLineEndingGeometricShapeRatio(SBMLDocument* documen /// @param geometricShapeIndex an unsigned int representing the index of the geometric shape to modify. /// @param ratio the new ratio as a double. /// @return an integer indicating success (0) or failure (non-zero). -LIBSBMLNETWORK_EXTERN int setLineEndingGeometricShapeRatio(SBMLDocument* document, unsigned int renderIndex, const std::string& id, unsigned int geometricShapeIndex, double ratio); +LIBSBMLNETWORK_EXTERN int setLineEndingGeometricShapeRatio(SBMLDocument* document, unsigned int renderIndex, const std::string& id, unsigned int geometricShapeIndex, double ratio); + +/// @brief Sets the ratio of the geometric shape for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier. +/// @param document a pointer to the SBMLDocument object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape to modify. +/// @param ratio the new ratio as a double. +/// @return an integer indicating success (0) or failure (non-zero). +LIBSBMLNETWORK_EXTERN int setSpeciesReferenceLineEndingGeometricShapeRatio(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex, const double& ratio); + +/// @brief Sets the ratio of the geometric shape for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier in the Layout with the given index of the SBML document. +/// @param document a pointer to the SBMLDocument object. +/// @param layoutIndex the index number of the Layout object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape to modify. +/// @param ratio the new ratio as a double. +/// @return an integer indicating success (0) or failure (non-zero). +LIBSBMLNETWORK_EXTERN int setSpeciesReferenceLineEndingGeometricShapeRatio(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex, const double& ratio); + +/// @brief Sets the ratio of the geometric shape for the LineEnding associated with the ReactionGlyph with the given index of the reaction with the given identifier in the first Layout of the SBML document. +/// @param document a pointer to the SBMLDocument object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape to modify. +/// @param ratio the new ratio as a double. +/// @return an integer indicating success (0) or failure (non-zero). +LIBSBMLNETWORK_EXTERN int setReactionLineEndingGeometricShapeRatio(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int geometricShapeIndex, const double& ratio); + +/// @brief Sets the ratio of the geometric shape for the LineEnding associated with the ReactionGlyph with the given index of the reaction with the given identifier in the Layout with the given index of the SBML document. +/// @param document a pointer to the SBMLDocument object. +/// @param layoutIndex the index number of the Layout object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape to modify. +/// @param ratio the new ratio as a double. +/// @return an integer indicating success (0) or failure (non-zero). +LIBSBMLNETWORK_EXTERN int setReactionLineEndingGeometricShapeRatio(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int geometricShapeIndex, const double& ratio); /// @brief Checks if the X curvature radius of the geometric shape corner for the LineEnding with the given identifier is set. /// @param document a pointer to the SBMLDocument object. @@ -2198,6 +3582,25 @@ LIBSBMLNETWORK_EXTERN bool isSetLineEndingGeometricShapeCornerCurvatureRadiusX(S /// @return true if the X curvature radius is set, false otherwise. LIBSBMLNETWORK_EXTERN bool isSetLineEndingGeometricShapeCornerCurvatureRadiusX(SBMLDocument* document, unsigned int renderIndex, const std::string& id, unsigned int geometricShapeIndex = 0); +/// @brief Checks if the X curvature radius of the geometric shape corner for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier is set. +/// @param document a pointer to the SBMLDocument object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape. +/// @return true if the X curvature radius is set, false otherwise. +LIBSBMLNETWORK_EXTERN bool isSetSpeciesReferenceLineEndingGeometricShapeCornerCurvatureRadiusX(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex); + +/// @brief Checks if the X curvature radius of the geometric shape corner for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier in the Layout with the given index of the SBML document is set. +/// @param document a pointer to the SBMLDocument object. +/// @param layoutIndex the index number of the Layout object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape. +/// @return true if the X curvature radius is set, false otherwise. +LIBSBMLNETWORK_EXTERN bool isSetSpeciesReferenceLineEndingGeometricShapeCornerCurvatureRadiusX(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex); + /// @brief Gets the X curvature radius of the geometric shape corner for the LineEnding with the given identifier. /// @param document a pointer to the SBMLDocument object. /// @param id a string representing the identifier of the LineEnding. @@ -2213,6 +3616,25 @@ LIBSBMLNETWORK_EXTERN const RelAbsVector getLineEndingGeometricShapeCornerCurvat /// @return the X curvature radius as a RelAbsVector. LIBSBMLNETWORK_EXTERN const RelAbsVector getLineEndingGeometricShapeCornerCurvatureRadiusX(SBMLDocument* document, unsigned int renderIndex, const std::string& id, unsigned int geometricShapeIndex = 0); +/// @brief Gets the X curvature radius of the geometric shape corner for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier. +/// @param document a pointer to the SBMLDocument object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape. +/// @return the X curvature radius as a RelAbsVector. +LIBSBMLNETWORK_EXTERN const RelAbsVector getSpeciesReferenceLineEndingGeometricShapeCornerCurvatureRadiusX(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex); + +/// @brief Gets the X curvature radius of the geometric shape corner for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier in the Layout with the given index of the SBML document. +/// @param document a pointer to the SBMLDocument object. +/// @param layoutIndex the index number of the Layout object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape. +/// @return the X curvature radius as a RelAbsVector. +LIBSBMLNETWORK_EXTERN const RelAbsVector getSpeciesReferenceLineEndingGeometricShapeCornerCurvatureRadiusX(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex); + /// @brief Returns the X curvature radius of the geometric shape corner for the LineEnding with the given identifier as a double. /// @param document a pointer to the SBMLDocument object. /// @param id a string representing the identifier of the LineEnding. @@ -2228,6 +3650,25 @@ LIBSBMLNETWORK_EXTERN const double getLineEndingGeometricShapeCornerCurvatureRad /// @return the X curvature radius as a double. LIBSBMLNETWORK_EXTERN const double getLineEndingGeometricShapeCornerCurvatureRadiusXAsDouble(SBMLDocument* document, unsigned int renderIndex, const std::string& id, unsigned int geometricShapeIndex = 0); +/// @brief Returns the X curvature radius of the geometric shape corner for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier as a double. +/// @param document a pointer to the SBMLDocument object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape. +/// @return the X curvature radius as a double. +LIBSBMLNETWORK_EXTERN const double getSpeciesReferenceLineEndingGeometricShapeCornerCurvatureRadiusXAsDouble(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex); + +/// @brief Returns the X curvature radius of the geometric shape corner for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier in the Layout with the given index of the SBML document as a double. +/// @param document a pointer to the SBMLDocument object. +/// @param layoutIndex the index number of the Layout object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape. +/// @return the X curvature radius as a double. +LIBSBMLNETWORK_EXTERN const double getSpeciesReferenceLineEndingGeometricShapeCornerCurvatureRadiusXAsDouble(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex); + /// @brief Sets the X curvature radius of the geometric shape corner for the LineEnding with the given identifier. /// @param document a pointer to the SBMLDocument object. /// @param id a string representing the identifier of the LineEnding to modify. @@ -2245,6 +3686,46 @@ LIBSBMLNETWORK_EXTERN int setLineEndingGeometricShapeCornerCurvatureRadiusX(SBML /// @return An integer indicating success (0) or failure (non-zero). LIBSBMLNETWORK_EXTERN int setLineEndingGeometricShapeCornerCurvatureRadiusX(SBMLDocument* document, unsigned int renderIndex, const std::string& id, unsigned int geometricShapeIndex, const RelAbsVector& CornerCurvatureRadiusX); +/// @brief Sets the X curvature radius of the geometric shape corner for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier. +/// @param document a pointer to the SBMLDocument object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape to modify. +/// @param radiusX the new X curvature radius as a RelAbsVector. +/// @return an integer indicating success (0) or failure (non-zero). +LIBSBMLNETWORK_EXTERN int setSpeciesReferenceLineEndingGeometricShapeCornerCurvatureRadiusX(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex, const RelAbsVector& radiusX); + +/// @brief Sets the X curvature radius of the geometric shape corner for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier in the Layout with the given index of the SBML document. +/// @param document a pointer to the SBMLDocument object. +/// @param layoutIndex the index number of the Layout object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape to modify. +/// @param radiusX the new X curvature radius as a RelAbsVector. +/// @return an integer indicating success (0) or failure (non-zero). +LIBSBMLNETWORK_EXTERN int setSpeciesReferenceLineEndingGeometricShapeCornerCurvatureRadiusX(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex, const RelAbsVector& radiusX); + +/// @brief Sets the X curvature radius of the geometric shape corner for the LineEnding associated with the ReactionGlyph with the given index of the reaction with the given identifier. +/// @param document a pointer to the SBMLDocument object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape to modify. +/// @param radiusX the new X curvature radius as a RelAbsVector. +/// @return an integer indicating success (0) or failure (non-zero). +LIBSBMLNETWORK_EXTERN int setReactionLineEndingGeometricShapeCornerCurvatureRadiusX(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int geometricShapeIndex, const RelAbsVector& radiusX); + +/// @brief Sets the X curvature radius of the geometric shape corner for the LineEnding associated with the ReactionGlyph with the given index of the reaction with the given identifier in the Layout with the given index of the SBML document. +/// @param document a pointer to the SBMLDocument object. +/// @param layoutIndex the index number of the Layout object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape to modify. +/// @param radiusX the new X curvature radius as a RelAbsVector. +/// @return an integer indicating success (0) or failure (non-zero). +LIBSBMLNETWORK_EXTERN int setReactionLineEndingGeometricShapeCornerCurvatureRadiusX(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int geometricShapeIndex, const RelAbsVector& radiusX); + /// @brief Sets the X curvature radius of the geometric shape corner for the LineEnding with the given identifier as a double. /// @param document a pointer to the SBMLDocument object. /// @param id a string representing the identifier of the LineEnding to modify. @@ -2262,6 +3743,46 @@ LIBSBMLNETWORK_EXTERN int setLineEndingGeometricShapeCornerCurvatureRadiusXAsDou /// @return an integer indicating success (0) or failure (non-zero). LIBSBMLNETWORK_EXTERN int setLineEndingGeometricShapeCornerCurvatureRadiusXAsDouble(SBMLDocument* document, unsigned int renderIndex, const std::string& id, unsigned int geometricShapeIndex, const double& CornerCurvatureRadiusX); +/// @brief Sets the X curvature radius of the geometric shape corner for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier. +/// @param document a pointer to the SBMLDocument object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape to modify. +/// @param radiusX the new X curvature radius as a double. +/// @return an integer indicating success (0) or failure (non-zero). +LIBSBMLNETWORK_EXTERN int setSpeciesReferenceLineEndingGeometricShapeCornerCurvatureRadiusXAsDouble(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex, const double& radiusX); + +/// @brief Sets the X curvature radius of the geometric shape corner for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier in the Layout with the given index of the SBML document. +/// @param document a pointer to the SBMLDocument object. +/// @param layoutIndex the index number of the Layout object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape to modify. +/// @param radiusX the new X curvature radius as a double. +/// @return an integer indicating success (0) or failure (non-zero). +LIBSBMLNETWORK_EXTERN int setSpeciesReferenceLineEndingGeometricShapeCornerCurvatureRadiusXAsDouble(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex, const double& radiusX); + +/// @brief Sets the X curvature radius of the geometric shape corner for the LineEnding associated with the ReactionGlyph with the given index of the reaction with the given identifier. +/// @param document a pointer to the SBMLDocument object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape to modify. +/// @param radiusX the new X curvature radius as a double. +/// @return an integer indicating success (0) or failure (non-zero). +LIBSBMLNETWORK_EXTERN int setReactionLineEndingGeometricShapeCornerCurvatureRadiusXAsDouble(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int geometricShapeIndex, const double& radiusX); + +/// @brief Sets the X curvature radius of the geometric shape corner for the LineEnding associated with the ReactionGlyph with the given index of the reaction with the given identifier in the Layout with the given index of the SBML document. +/// @param document a pointer to the SBMLDocument object. +/// @param layoutIndex the index number of the Layout object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape to modify. +/// @param radiusX the new X curvature radius as a double. +/// @return an integer indicating success (0) or failure (non-zero). +LIBSBMLNETWORK_EXTERN int setReactionLineEndingGeometricShapeCornerCurvatureRadiusXAsDouble(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int geometricShapeIndex, const double& radiusX); + /// @brief Checks if the Y curvature radius of the geometric shape corner for the LineEnding with the given identifier is set. /// @param document A pointer to the SBMLDocument object. /// @param id A string representing the identifier of the LineEnding. @@ -2277,6 +3798,25 @@ LIBSBMLNETWORK_EXTERN bool isSetLineEndingGeometricShapeCornerCurvatureRadiusY(S /// @return True if the Y curvature radius is set, false otherwise. LIBSBMLNETWORK_EXTERN bool isSetLineEndingGeometricShapeCornerCurvatureRadiusY(SBMLDocument* document, unsigned int renderIndex, const std::string& id, unsigned int geometricShapeIndex = 0); +/// @brief Checks if the Y curvature radius of the geometric shape corner for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier is set. +/// @param document a pointer to the SBMLDocument object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape. +/// @return true if the Y curvature radius is set, false otherwise. +LIBSBMLNETWORK_EXTERN bool isSetSpeciesReferenceLineEndingGeometricShapeCornerCurvatureRadiusY(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex); + +/// @brief Checks if the Y curvature radius of the geometric shape corner for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier in the Layout with the given index of the SBML document is set. +/// @param document a pointer to the SBMLDocument object. +/// @param layoutIndex the index number of the Layout object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape. +/// @return true if the Y curvature radius is set, false otherwise. +LIBSBMLNETWORK_EXTERN bool isSetSpeciesReferenceLineEndingGeometricShapeCornerCurvatureRadiusY(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex); + /// @brief Gets the Y curvature radius of the geometric shape corner for the LineEnding with the given identifier. /// @param document A pointer to the SBMLDocument object. /// @param id A string representing the identifier of the LineEnding. @@ -2292,21 +3832,63 @@ LIBSBMLNETWORK_EXTERN const RelAbsVector getLineEndingGeometricShapeCornerCurvat /// @return The Y curvature radius as a RelAbsVector. LIBSBMLNETWORK_EXTERN const RelAbsVector getLineEndingGeometricShapeCornerCurvatureRadiusY(SBMLDocument* document, unsigned int renderIndex, const std::string& id, unsigned int geometricShapeIndex = 0); -/// @brief Returns the Y curvature radius of the geometric shape corner for the LineEnding with the given identifier as a double. +/// @brief Gets the Y curvature radius of the geometric shape corner for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier in the first Layout with of the SBML document. /// @param document a pointer to the SBMLDocument object. -/// @param id a string representing the identifier of the LineEnding. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape. +/// @return the Y curvature radius as a RelAbsVector. +LIBSBMLNETWORK_EXTERN const RelAbsVector getSpeciesReferenceLineEndingGeometricShapeCornerCurvatureRadiusY(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex); + +/// @brief Gets the Y curvature radius of the geometric shape corner for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier in the Layout with the given index of the SBML document. +/// @param document a pointer to the SBMLDocument object. +/// @param layoutIndex the index number of the Layout object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape. +/// @return the Y curvature radius as a RelAbsVector. +LIBSBMLNETWORK_EXTERN const RelAbsVector getSpeciesReferenceLineEndingGeometricShapeCornerCurvatureRadiusY(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex); + +/// @brief Returns the Y curvature radius of the geometric shape corner for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier as a double. +/// @param document a pointer to the SBMLDocument object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. /// @param geometricShapeIndex an unsigned int representing the index of the geometric shape. /// @return the Y curvature radius as a double. LIBSBMLNETWORK_EXTERN const double getLineEndingGeometricShapeCornerCurvatureRadiusYAsDouble(SBMLDocument* document, const std::string& id, unsigned int geometricShapeIndex = 0); -/// @brief Returns the Y curvature radius of the geometric shape corner for the LineEnding with the given identifier and render index as a double. +/// @brief Returns the Y curvature radius of the geometric shape corner for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier in the Layout with the given index of the SBML document as a double. /// @param document a pointer to the SBMLDocument object. -/// @param renderIndex the index number of the RenderInformationBase object. -/// @param id a string representing the identifier of the LineEnding. +/// @param layoutIndex the index number of the Layout object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. /// @param geometricShapeIndex an unsigned int representing the index of the geometric shape. /// @return the Y curvature radius as a double. LIBSBMLNETWORK_EXTERN const double getLineEndingGeometricShapeCornerCurvatureRadiusYAsDouble(SBMLDocument* document, unsigned int renderIndex, const std::string& id, unsigned int geometricShapeIndex = 0); +/// @brief Returns the Y curvature radius of the geometric shape corner for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier as a double. +/// @param document a pointer to the SBMLDocument object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape. +/// @return the Y curvature radius as a double. +LIBSBMLNETWORK_EXTERN const double getSpeciesReferenceLineEndingGeometricShapeCornerCurvatureRadiusYAsDouble(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex); + +/// @brief Returns the Y curvature radius of the geometric shape corner for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier in the Layout with the given index of the SBML document as a double. +/// @param document a pointer to the SBMLDocument object. +/// @param layoutIndex the index number of the Layout object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape. +/// @return the Y curvature radius as a double. +LIBSBMLNETWORK_EXTERN const double getSpeciesReferenceLineEndingGeometricShapeCornerCurvatureRadiusYAsDouble(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex); + /// @brief Sets the Y curvature radius of the geometric shape corner for the LineEnding with the given identifier. /// @param document A pointer to the SBMLDocument object. /// @param id A string representing the identifier of the LineEnding to modify. @@ -2324,6 +3906,46 @@ LIBSBMLNETWORK_EXTERN int setLineEndingGeometricShapeCornerCurvatureRadiusY(SBML /// @return An integer indicating success (0) or failure (non-zero). LIBSBMLNETWORK_EXTERN int setLineEndingGeometricShapeCornerCurvatureRadiusY(SBMLDocument* document, unsigned int renderIndex, const std::string& id, unsigned int geometricShapeIndex, const RelAbsVector& CornerCurvatureRadiusY); +/// @brief Sets the Y curvature radius of the geometric shape corner for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier. +/// @param document a pointer to the SBMLDocument object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape to modify. +/// @param radiusY the new Y curvature radius as a RelAbsVector. +/// @return an integer indicating success (0) or failure (non-zero). +LIBSBMLNETWORK_EXTERN int setSpeciesReferenceLineEndingGeometricShapeCornerCurvatureRadiusY(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex, const RelAbsVector& radiusY); + +/// @brief Sets the Y curvature radius of the geometric shape corner for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier in the Layout with the given index of the SBML document. +/// @param document a pointer to the SBMLDocument object. +/// @param layoutIndex the index number of the Layout object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape to modify. +/// @param radiusY the new Y curvature radius as a RelAbsVector. +/// @return an integer indicating success (0) or failure (non-zero). +LIBSBMLNETWORK_EXTERN int setSpeciesReferenceLineEndingGeometricShapeCornerCurvatureRadiusY(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex, const RelAbsVector& radiusY); + +/// @brief Sets the Y curvature radius of the geometric shape corner for the LineEnding associated with the ReactionGlyph with the given index of the reaction with the given identifier. +/// @param document a pointer to the SBMLDocument object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape to modify. +/// @param radiusY the new Y curvature radius as a RelAbsVector. +/// @return an integer indicating success (0) or failure (non-zero). +LIBSBMLNETWORK_EXTERN int setReactionLineEndingGeometricShapeCornerCurvatureRadiusY(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int geometricShapeIndex, const RelAbsVector& radiusY); + +/// @brief Sets the Y curvature radius of the geometric shape corner for the LineEnding associated with the ReactionGlyph with the given index of the reaction with the given identifier in the Layout with the given index of the SBML document. +/// @param document a pointer to the SBMLDocument object. +/// @param layoutIndex the index number of the Layout object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape to modify. +/// @param radiusY the new Y curvature radius as a RelAbsVector. +/// @return an integer indicating success (0) or failure (non-zero). +LIBSBMLNETWORK_EXTERN int setReactionLineEndingGeometricShapeCornerCurvatureRadiusY(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int geometricShapeIndex, const RelAbsVector& radiusY); + /// @brief Sets the Y curvature radius of the geometric shape corner for the LineEnding with the given identifier as a double. /// @param document a pointer to the SBMLDocument object. /// @param id a string representing the identifier of the LineEnding to modify. @@ -2341,6 +3963,46 @@ LIBSBMLNETWORK_EXTERN int setLineEndingGeometricShapeCornerCurvatureRadiusYAsDou /// @return an integer indicating success (0) or failure (non-zero). LIBSBMLNETWORK_EXTERN int setLineEndingGeometricShapeCornerCurvatureRadiusYAsDouble(SBMLDocument* document, unsigned int renderIndex, const std::string& id, unsigned int geometricShapeIndex, const double& CornerCurvatureRadiusY); +/// @brief Sets the Y curvature radius of the geometric shape corner for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier. +/// @param document a pointer to the SBMLDocument object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape to modify. +/// @param radiusY the new Y curvature radius as a double. +/// @return an integer indicating success (0) or failure (non-zero). +LIBSBMLNETWORK_EXTERN int setSpeciesReferenceLineEndingGeometricShapeCornerCurvatureRadiusYAsDouble(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex, const double& radiusY); + +/// @brief Sets the Y curvature radius of the geometric shape corner for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier in the Layout with the given index of the SBML document. +/// @param document a pointer to the SBMLDocument object. +/// @param layoutIndex the index number of the Layout object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape to modify. +/// @param radiusY the new Y curvature radius as a double. +/// @return an integer indicating success (0) or failure (non-zero). +LIBSBMLNETWORK_EXTERN int setSpeciesReferenceLineEndingGeometricShapeCornerCurvatureRadiusYAsDouble(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex, const double& radiusY); + +/// @brief Sets the Y curvature radius of the geometric shape corner for the LineEnding associated with the ReactionGlyph with the given index of the reaction with the given identifier. +/// @param document a pointer to the SBMLDocument object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape to modify. +/// @param radiusY the new Y curvature radius as a double. +/// @return an integer indicating success (0) or failure (non-zero). +LIBSBMLNETWORK_EXTERN int setReactionLineEndingGeometricShapeCornerCurvatureRadiusYAsDouble(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int geometricShapeIndex, const double& radiusY); + +/// @brief Sets the Y curvature radius of the geometric shape corner for the LineEnding associated with the ReactionGlyph with the given index of the reaction with the given identifier in the Layout with the given index of the SBML document. +/// @param document a pointer to the SBMLDocument object. +/// @param layoutIndex the index number of the Layout object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape to modify. +/// @param radiusY the new Y curvature radius as a double. +/// @return an integer indicating success (0) or failure (non-zero). +LIBSBMLNETWORK_EXTERN int setReactionLineEndingGeometricShapeCornerCurvatureRadiusYAsDouble(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int geometricShapeIndex, const double& radiusY); + /// @brief Checks if the center X coordinate of the geometric shape for the LineEnding with the given identifier is set. /// @param document A pointer to the SBMLDocument object. /// @param id A string representing the identifier of the LineEnding. @@ -2356,6 +4018,25 @@ LIBSBMLNETWORK_EXTERN bool isSetLineEndingGeometricShapeCenterX(SBMLDocument* do /// @return True if the center X coordinate is set, false otherwise. LIBSBMLNETWORK_EXTERN bool isSetLineEndingGeometricShapeCenterX(SBMLDocument* document, unsigned int renderIndex, const std::string& id, unsigned int geometricShapeIndex = 0); +/// @brief Checks if the center X coordinate of the geometric shape for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier is set. +/// @param document a pointer to the SBMLDocument object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape. +/// @return true if the center X coordinate is set, false otherwise. +LIBSBMLNETWORK_EXTERN bool isSetSpeciesReferenceLineEndingGeometricShapeCenterX(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex); + +/// @brief Checks if the center X coordinate of the geometric shape for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier in the Layout with the given index of the SBML document is set. +/// @param document a pointer to the SBMLDocument object. +/// @param layoutIndex the index number of the Layout object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape. +/// @return true if the center X coordinate is set, false otherwise. +LIBSBMLNETWORK_EXTERN bool isSetSpeciesReferenceLineEndingGeometricShapeCenterX(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex); + /// @brief Gets the center X coordinate of the geometric shape for the LineEnding with the given identifier. /// @param document A pointer to the SBMLDocument object. /// @param id A string representing the identifier of the LineEnding. @@ -2371,6 +4052,25 @@ LIBSBMLNETWORK_EXTERN const RelAbsVector getLineEndingGeometricShapeCenterX(SBML /// @return The center X coordinate as a RelAbsVector. LIBSBMLNETWORK_EXTERN const RelAbsVector getLineEndingGeometricShapeCenterX(SBMLDocument* document, unsigned int renderIndex, const std::string& id, unsigned int geometricShapeIndex = 0); +/// @brief Gets the center X coordinate of the geometric shape for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier. +/// @param document a pointer to the SBMLDocument object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape. +/// @return the center X coordinate as a RelAbsVector. +LIBSBMLNETWORK_EXTERN const RelAbsVector getSpeciesReferenceLineEndingGeometricShapeCenterX(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex); + +/// @brief Gets the center X coordinate of the geometric shape for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier in the Layout with the given index of the SBML document. +/// @param document a pointer to the SBMLDocument object. +/// @param layoutIndex the index number of the Layout object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape. +/// @return the center X coordinate as a RelAbsVector. +LIBSBMLNETWORK_EXTERN const RelAbsVector getSpeciesReferenceLineEndingGeometricShapeCenterX(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex); + /// @brief Returns the center X coordinate of the geometric shape for the LineEnding with the given identifier as a double. /// @param document a pointer to the SBMLDocument object. /// @param id a string representing the identifier of the LineEnding. @@ -2386,6 +4086,25 @@ LIBSBMLNETWORK_EXTERN const double getLineEndingGeometricShapeCenterXAsDouble(SB /// @return the center X coordinate as a double. LIBSBMLNETWORK_EXTERN const double getLineEndingGeometricShapeCenterXAsDouble(SBMLDocument* document, unsigned int renderIndex, const std::string& id, unsigned int geometricShapeIndex = 0); +/// @brief Returns the center X coordinate of the geometric shape for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier as a double. +/// @param document a pointer to the SBMLDocument object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape. +/// @return the center X coordinate as a double. +LIBSBMLNETWORK_EXTERN const double getSpeciesReferenceLineEndingGeometricShapeCenterXAsDouble(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex); + +/// @brief Returns the center X coordinate of the geometric shape for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier in the Layout with the given index of the SBML document as a double. +/// @param document a pointer to the SBMLDocument object. +/// @param layoutIndex the index number of the Layout object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape. +/// @return the center X coordinate as a double. +LIBSBMLNETWORK_EXTERN const double getSpeciesReferenceLineEndingGeometricShapeCenterXAsDouble(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex); + /// @brief Sets the center X coordinate of the geometric shape for the LineEnding with the given identifier. /// @param document A pointer to the SBMLDocument object. /// @param id A string representing the identifier of the LineEnding to modify. @@ -2403,6 +4122,46 @@ LIBSBMLNETWORK_EXTERN int setLineEndingGeometricShapeCenterX(SBMLDocument* docum /// @return An integer indicating success (0) or failure (non-zero). LIBSBMLNETWORK_EXTERN int setLineEndingGeometricShapeCenterX(SBMLDocument* document, unsigned int renderIndex, const std::string& id, unsigned int geometricShapeIndex, const RelAbsVector& centerX); +/// @brief Sets the center X coordinate of the geometric shape for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier. +/// @param document a pointer to the SBMLDocument object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape to modify. +/// @param centerX the new center X coordinate as a RelAbsVector. +/// @return an integer indicating success (0) or failure (non-zero). +LIBSBMLNETWORK_EXTERN int setSpeciesReferenceLineEndingGeometricShapeCenterX(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex, const RelAbsVector& centerX); + +/// @brief Sets the center X coordinate of the geometric shape for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier in the Layout with the given index of the SBML document. +/// @param document a pointer to the SBMLDocument object. +/// @param layoutIndex the index number of the Layout object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape to modify. +/// @param centerX the new center X coordinate as a RelAbsVector. +/// @return an integer indicating success (0) or failure (non-zero). +LIBSBMLNETWORK_EXTERN int setSpeciesReferenceLineEndingGeometricShapeCenterX(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex, const RelAbsVector& centerX); + +/// @brief Sets the center X coordinate of the geometric shape for the LineEnding associated with the ReactionGlyph with the given index of the reaction with the given identifier. +/// @param document a pointer to the SBMLDocument object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape to modify. +/// @param centerX the new center X coordinate as a RelAbsVector. +/// @return an integer indicating success (0) or failure (non-zero). +LIBSBMLNETWORK_EXTERN int setReactionLineEndingGeometricShapeCenterX(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int geometricShapeIndex, const RelAbsVector& centerX); + +/// @brief Sets the center X coordinate of the geometric shape for the LineEnding associated with the ReactionGlyph with the given index of the reaction with the given identifier in the Layout with the given index of the SBML document. +/// @param document a pointer to the SBMLDocument object. +/// @param layoutIndex the index number of the Layout object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape to modify. +/// @param centerX the new center X coordinate as a RelAbsVector. +/// @return an integer indicating success (0) or failure (non-zero). +LIBSBMLNETWORK_EXTERN int setReactionLineEndingGeometricShapeCenterX(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int geometricShapeIndex, const RelAbsVector& centerX); + /// @brief Sets the center X coordinate of the geometric shape for the LineEnding with the given identifier as a double. /// @param document a pointer to the SBMLDocument object. /// @param id a string representing the identifier of the LineEnding to modify. @@ -2420,6 +4179,46 @@ LIBSBMLNETWORK_EXTERN int setLineEndingGeometricShapeCenterXAsDouble(SBMLDocumen /// @return an integer indicating success (0) or failure (non-zero). LIBSBMLNETWORK_EXTERN int setLineEndingGeometricShapeCenterXAsDouble(SBMLDocument* document, unsigned int renderIndex, const std::string& id, unsigned int geometricShapeIndex, const double& centerX); +/// @brief Sets the center X coordinate of the geometric shape for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier as a double. +/// @param document a pointer to the SBMLDocument object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape to modify. +/// @param centerX the new center X coordinate as a double. +/// @return an integer indicating success (0) or failure (non-zero). +LIBSBMLNETWORK_EXTERN int setSpeciesReferenceLineEndingGeometricShapeCenterXAsDouble(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex, const double& centerX); + +/// @brief Sets the center X coordinate of the geometric shape for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier in the Layout with the given index of the SBML document as a double. +/// @param document a pointer to the SBMLDocument object. +/// @param layoutIndex the index number of the Layout object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape to modify. +/// @param centerX the new center X coordinate as a double. +/// @return an integer indicating success (0) or failure (non-zero). +LIBSBMLNETWORK_EXTERN int setSpeciesReferenceLineEndingGeometricShapeCenterXAsDouble(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex, const double& centerX); + +/// @brief Sets the center X coordinate of the geometric shape for the LineEnding associated with the ReactionGlyph with the given index of the reaction with the given identifier as a double. +/// @param document a pointer to the SBMLDocument object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape to modify. +/// @param centerX the new center X coordinate as a double. +/// @return an integer indicating success (0) or failure (non-zero). +LIBSBMLNETWORK_EXTERN int setReactionLineEndingGeometricShapeCenterXAsDouble(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int geometricShapeIndex, const double& centerX); + +/// @brief Sets the center X coordinate of the geometric shape for the LineEnding associated with the ReactionGlyph with the given index of the reaction with the given identifier in the Layout with the given index of the SBML document as a double. +/// @param document a pointer to the SBMLDocument object. +/// @param layoutIndex the index number of the Layout object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape to modify. +/// @param centerX the new center X coordinate as a double. +/// @return an integer indicating success (0) or failure (non-zero). +LIBSBMLNETWORK_EXTERN int setReactionLineEndingGeometricShapeCenterXAsDouble(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int geometricShapeIndex, const double& centerX); + /// @brief Checks if the center Y coordinate of the geometric shape for the LineEnding with the given identifier is set. /// @param document A pointer to the SBMLDocument object. /// @param id A string representing the identifier of the LineEnding. @@ -2435,6 +4234,25 @@ LIBSBMLNETWORK_EXTERN bool isSetLineEndingGeometricShapeCenterY(SBMLDocument* do /// @return True if the center Y coordinate is set, false otherwise. LIBSBMLNETWORK_EXTERN bool isSetLineEndingGeometricShapeCenterY(SBMLDocument* document, unsigned int renderIndex, const std::string& id, unsigned int geometricShapeIndex = 0); +/// @brief Checks if the center Y coordinate of the geometric shape for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier is set. +/// @param document a pointer to the SBMLDocument object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape. +/// @return true if the center Y coordinate is set, false otherwise. +LIBSBMLNETWORK_EXTERN bool isSetSpeciesReferenceLineEndingGeometricShapeCenterY(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex); + +/// @brief Checks if the center Y coordinate of the geometric shape for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier in the Layout with the given index of the SBML document is set. +/// @param document a pointer to the SBMLDocument object. +/// @param layoutIndex the index number of the Layout object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape. +/// @return true if the center Y coordinate is set, false otherwise. +LIBSBMLNETWORK_EXTERN bool isSetSpeciesReferenceLineEndingGeometricShapeCenterY(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex); + /// @brief Gets the center Y coordinate of the geometric shape for the LineEnding with the given identifier. /// @param document A pointer to the SBMLDocument object. /// @param id A string representing the identifier of the LineEnding. @@ -2450,6 +4268,18 @@ LIBSBMLNETWORK_EXTERN const RelAbsVector getLineEndingGeometricShapeCenterY(SBML /// @return The center Y coordinate as a RelAbsVector. LIBSBMLNETWORK_EXTERN const RelAbsVector getLineEndingGeometricShapeCenterY(SBMLDocument* document, unsigned int renderIndex, const std::string& id, unsigned int geometricShapeIndex = 0); +LIBSBMLNETWORK_EXTERN const RelAbsVector getSpeciesReferenceLineEndingGeometricShapeCenterY(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex); + +/// @brief Gets the center Y coordinate of the geometric shape for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier in the Layout with the given index of the SBML document. +/// @param document a pointer to the SBMLDocument object. +/// @param layoutIndex the index number of the Layout object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape. +/// @return the center Y coordinate as a RelAbsVector. +LIBSBMLNETWORK_EXTERN const RelAbsVector getSpeciesReferenceLineEndingGeometricShapeCenterY(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex); + /// @brief Returns the center Y coordinate of the geometric shape for the LineEnding with the given identifier as a double. /// @param document a pointer to the SBMLDocument object. /// @param id a string representing the identifier of the LineEnding. @@ -2463,7 +4293,26 @@ LIBSBMLNETWORK_EXTERN const double getLineEndingGeometricShapeCenterYAsDouble(SB /// @param id a string representing the identifier of the LineEnding. /// @param geometricShapeIndex an unsigned int representing the index of the geometric shape. /// @return the center Y coordinate as a double. -LIBSBMLNETWORK_EXTERN const double getLineEndingGeometricShapeCenterYAsDouble(SBMLDocument* document, unsigned int renderIndex, const std::string& id, unsigned int geometricShapeIndex = 0); +LIBSBMLNETWORK_EXTERN const double getLineEndingGeometricShapeCenterYAsDouble(SBMLDocument* document, unsigned int renderIndex, const std::string& id, unsigned int geometricShapeIndex = 0); + +/// @brief Returns the center Y coordinate of the geometric shape for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier as a double. +/// @param document a pointer to the SBMLDocument object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape. +/// @return the center Y coordinate as a double. +LIBSBMLNETWORK_EXTERN const double getSpeciesReferenceLineEndingGeometricShapeCenterYAsDouble(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex); + +/// @brief Returns the center Y coordinate of the geometric shape for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier in the Layout with the given index of the SBML document as a double. +/// @param document a pointer to the SBMLDocument object. +/// @param layoutIndex the index number of the Layout object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape. +/// @return the center Y coordinate as a double. +LIBSBMLNETWORK_EXTERN const double getSpeciesReferenceLineEndingGeometricShapeCenterYAsDouble(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex); /// @brief Sets the center Y coordinate of the geometric shape for the LineEnding with the given identifier. /// @param document A pointer to the SBMLDocument object. @@ -2482,6 +4331,46 @@ LIBSBMLNETWORK_EXTERN int setLineEndingGeometricShapeCenterY(SBMLDocument* docum /// @return An integer indicating success (0) or failure (non-zero). LIBSBMLNETWORK_EXTERN int setLineEndingGeometricShapeCenterY(SBMLDocument* document, unsigned int renderIndex, const std::string& id, unsigned int geometricShapeIndex, const RelAbsVector& centerY); +/// @brief Sets the center Y coordinate of the geometric shape for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier. +/// @param document a pointer to the SBMLDocument object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape to modify. +/// @param centerY the new center Y coordinate as a RelAbsVector. +/// @return an integer indicating success (0) or failure (non-zero). +LIBSBMLNETWORK_EXTERN int setSpeciesReferenceLineEndingGeometricShapeCenterY(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex, const RelAbsVector& centerY); + +/// @brief Sets the center Y coordinate of the geometric shape for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier in the Layout with the given index of the SBML document. +/// @param document a pointer to the SBMLDocument object. +/// @param layoutIndex the index number of the Layout object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape to modify. +/// @param centerY the new center Y coordinate as a RelAbsVector. +/// @return an integer indicating success (0) or failure (non-zero). +LIBSBMLNETWORK_EXTERN int setSpeciesReferenceLineEndingGeometricShapeCenterY(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex, const RelAbsVector& centerY); + +/// @brief Sets the center Y coordinate of the geometric shape for the LineEnding associated with the ReactionGlyph with the given index of the reaction with the given identifier. +/// @param document a pointer to the SBMLDocument object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape to modify. +/// @param centerY the new center Y coordinate as a RelAbsVector. +/// @return an integer indicating success (0) or failure (non-zero). +LIBSBMLNETWORK_EXTERN int setReactionLineEndingGeometricShapeCenterY(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int geometricShapeIndex, const RelAbsVector& centerY); + +/// @brief Sets the center Y coordinate of the geometric shape for the LineEnding associated with the ReactionGlyph with the given index of the reaction with the given identifier in the Layout with the given index of the SBML document. +/// @param document a pointer to the SBMLDocument object. +/// @param layoutIndex the index number of the Layout object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape to modify. +/// @param centerY the new center Y coordinate as a RelAbsVector. +/// @return an integer indicating success (0) or failure (non-zero). +LIBSBMLNETWORK_EXTERN int setReactionLineEndingGeometricShapeCenterY(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int geometricShapeIndex, const RelAbsVector& centerY); + /// @brief Sets the center Y coordinate of the geometric shape for the LineEnding with the given identifier as a double. /// @param document a pointer to the SBMLDocument object. /// @param id a string representing the identifier of the LineEnding to modify. @@ -2499,6 +4388,46 @@ LIBSBMLNETWORK_EXTERN int setLineEndingGeometricShapeCenterYAsDouble(SBMLDocumen /// @return an integer indicating success (0) or failure (non-zero). LIBSBMLNETWORK_EXTERN int setLineEndingGeometricShapeCenterYAsDouble(SBMLDocument* document, unsigned int renderIndex, const std::string& id, unsigned int geometricShapeIndex, const double& centerY); +/// @brief Sets the center Y coordinate of the geometric shape for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier as a double. +/// @param document a pointer to the SBMLDocument object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape to modify. +/// @param centerY the new center Y coordinate as a double. +/// @return an integer indicating success (0) or failure (non-zero). +LIBSBMLNETWORK_EXTERN int setSpeciesReferenceLineEndingGeometricShapeCenterYAsDouble(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex, const double& centerY); + +/// @brief Sets the center Y coordinate of the geometric shape for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier in the Layout with the given index of the SBML document as a double. +/// @param document a pointer to the SBMLDocument object. +/// @param layoutIndex the index number of the Layout object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape to modify. +/// @param centerY the new center Y coordinate as a double. +/// @return an integer indicating success (0) or failure (non-zero). +LIBSBMLNETWORK_EXTERN int setSpeciesReferenceLineEndingGeometricShapeCenterYAsDouble(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex, const double& centerY); + +/// @brief Sets the center Y coordinate of the geometric shape for the LineEnding associated with the ReactionGlyph with the given index of the reaction with the given identifier as a double. +/// @param document a pointer to the SBMLDocument object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape to modify. +/// @param centerY the new center Y coordinate as a double. +/// @return an integer indicating success (0) or failure (non-zero). +LIBSBMLNETWORK_EXTERN int setReactionLineEndingGeometricShapeCenterYAsDouble(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int geometricShapeIndex, const double& centerY); + +/// @brief Sets the center Y coordinate of the geometric shape for the LineEnding associated with the ReactionGlyph with the given index of the reaction with the given identifier in the Layout with the given index of the SBML document as a double. +/// @param document a pointer to the SBMLDocument object. +/// @param layoutIndex the index number of the Layout object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape to modify. +/// @param centerY the new center Y coordinate as a double. +/// @return an integer indicating success (0) or failure (non-zero). +LIBSBMLNETWORK_EXTERN int setReactionLineEndingGeometricShapeCenterYAsDouble(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int geometricShapeIndex, const double& centerY); + /// @brief Checks if the radius X of the geometric shape for the LineEnding with the given identifier is set. /// @param document A pointer to the SBMLDocument object. /// @param id A string representing the identifier of the LineEnding. @@ -2514,6 +4443,25 @@ LIBSBMLNETWORK_EXTERN bool isSetLineEndingGeometricShapeRadiusX(SBMLDocument* do /// @return True if the radius X is set, false otherwise. LIBSBMLNETWORK_EXTERN bool isSetLineEndingGeometricShapeRadiusX(SBMLDocument* document, unsigned int renderIndex, const std::string& id, unsigned int geometricShapeIndex = 0); +/// @brief Checks if the radius X of the geometric shape for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier is set. +/// @param document a pointer to the SBMLDocument object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape. +/// @return true if the radius X is set, false otherwise. +LIBSBMLNETWORK_EXTERN bool isSetSpeciesReferenceLineEndingGeometricShapeRadiusX(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex); + +/// @brief Checks if the radius X of the geometric shape for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier in the Layout with the given index of the SBML document is set. +/// @param document a pointer to the SBMLDocument object. +/// @param layoutIndex the index number of the Layout object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape. +/// @return true if the radius X is set, false otherwise. +LIBSBMLNETWORK_EXTERN bool isSetSpeciesReferenceLineEndingGeometricShapeRadiusX(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex); + /// @brief Gets the X radius of the geometric shape for the LineEnding with the given identifier. /// @param document A pointer to the SBMLDocument object. /// @param id A string representing the identifier of the LineEnding. @@ -2529,6 +4477,25 @@ LIBSBMLNETWORK_EXTERN const RelAbsVector getLineEndingGeometricShapeRadiusX(SBML /// @return The X radius as a RelAbsVector. LIBSBMLNETWORK_EXTERN const RelAbsVector getLineEndingGeometricShapeRadiusX(SBMLDocument* document, unsigned int renderIndex, const std::string& id, unsigned int geometricShapeIndex = 0); +/// @brief Gets the X radius of the geometric shape for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier. +/// @param document a pointer to the SBMLDocument object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape. +/// @return the X radius as a RelAbsVector. +LIBSBMLNETWORK_EXTERN const RelAbsVector getSpeciesReferenceLineEndingGeometricShapeRadiusX(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex); + +/// @brief Gets the X radius of the geometric shape for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier in the Layout with the given index of the SBML document. +/// @param document a pointer to the SBMLDocument object. +/// @param layoutIndex the index number of the Layout object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape. +/// @return the X radius as a RelAbsVector. +LIBSBMLNETWORK_EXTERN const RelAbsVector getSpeciesReferenceLineEndingGeometricShapeRadiusX(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex); + /// @brief Returns the X radius of the geometric shape for the LineEnding with the given identifier as a double. /// @param document a pointer to the SBMLDocument object. /// @param id a string representing the identifier of the LineEnding. @@ -2544,6 +4511,24 @@ LIBSBMLNETWORK_EXTERN const double getLineEndingGeometricShapeRadiusXAsDouble(SB /// @return the X radius as a double. LIBSBMLNETWORK_EXTERN const double getLineEndingGeometricShapeRadiusXAsDouble(SBMLDocument* document, unsigned int renderIndex, const std::string& id, unsigned int geometricShapeIndex = 0); +/// @brief Returns the X radius of the geometric shape for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier as a double. +/// @param document a pointer to the SBMLDocument object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape. +/// @return the X radius as a double. +LIBSBMLNETWORK_EXTERN const double getSpeciesReferenceLineEndingGeometricShapeRadiusXAsDouble(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex); + +/// @brief Returns the X radius of the geometric shape for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier in the Layout with the given index of the SBML document as a double. +/// @param document a pointer to the SBMLDocument object. +/// @param layoutIndex the index number of the Layout object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape. +/// @return the X radius as a double. +LIBSBMLNETWORK_EXTERN const double getSpeciesReferenceLineEndingGeometricShapeRadiusXAsDouble(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex); /// @brief Sets the X radius of the geometric shape for the LineEnding with the given identifier. /// @param document A pointer to the SBMLDocument object. /// @param id A string representing the identifier of the LineEnding to modify. @@ -2561,6 +4546,46 @@ LIBSBMLNETWORK_EXTERN int setLineEndingGeometricShapeRadiusX(SBMLDocument* docum /// @return An integer indicating success (0) or failure (non-zero). LIBSBMLNETWORK_EXTERN int setLineEndingGeometricShapeRadiusX(SBMLDocument* document, unsigned int renderIndex, const std::string& id, unsigned int geometricShapeIndex, const RelAbsVector& radiusX); +/// @brief Sets the X radius of the geometric shape for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier. +/// @param document a pointer to the SBMLDocument object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape to modify. +/// @param radiusX the new X radius as a RelAbsVector. +/// @return an integer indicating success (0) or failure (non-zero). +LIBSBMLNETWORK_EXTERN int setSpeciesReferenceLineEndingGeometricShapeRadiusX(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex, const RelAbsVector& radiusX); + +/// @brief Sets the X radius of the geometric shape for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier in the Layout with the given index of the SBML document. +/// @param document a pointer to the SBMLDocument object. +/// @param layoutIndex the index number of the Layout object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape to modify. +/// @param radiusX the new X radius as a RelAbsVector. +/// @return an integer indicating success (0) or failure (non-zero). +LIBSBMLNETWORK_EXTERN int setSpeciesReferenceLineEndingGeometricShapeRadiusX(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex, const RelAbsVector& radiusX); + +/// @brief Sets the X radius of the geometric shape for the LineEnding associated with the ReactionGlyph with the given index of the reaction with the given identifier. +/// @param document a pointer to the SBMLDocument object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape to modify. +/// @param radiusX the new X radius as a RelAbsVector. +/// @return an integer indicating success (0) or failure (non-zero). +LIBSBMLNETWORK_EXTERN int setReactionLineEndingGeometricShapeRadiusX(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int geometricShapeIndex, const RelAbsVector& radiusX); + +/// @brief Sets the X radius of the geometric shape for the LineEnding associated with the ReactionGlyph with the given index of the reaction with the given identifier in the Layout with the given index of the SBML document. +/// @param document a pointer to the SBMLDocument object. +/// @param layoutIndex the index number of the Layout object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape to modify. +/// @param radiusX the new X radius as a RelAbsVector. +/// @return an integer indicating success (0) or failure (non-zero). +LIBSBMLNETWORK_EXTERN int setReactionLineEndingGeometricShapeRadiusX(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int geometricShapeIndex, const RelAbsVector& radiusX); + /// @brief Sets the X radius of the geometric shape for the LineEnding with the given identifier as a double. /// @param document a pointer to the SBMLDocument object. /// @param id a string representing the identifier of the LineEnding to modify. @@ -2578,6 +4603,46 @@ LIBSBMLNETWORK_EXTERN int setLineEndingGeometricShapeRadiusXAsDouble(SBMLDocumen /// @return an integer indicating success (0) or failure (non-zero). LIBSBMLNETWORK_EXTERN int setLineEndingGeometricShapeRadiusXAsDouble(SBMLDocument* document, unsigned int renderIndex, const std::string& id, unsigned int geometricShapeIndex, const double& radiusX); +/// @brief Sets the X radius of the geometric shape for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier as a double. +/// @param document a pointer to the SBMLDocument object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape to modify. +/// @param radiusX the new X radius as a double. +/// @return an integer indicating success (0) or failure (non-zero). +LIBSBMLNETWORK_EXTERN int setSpeciesReferenceLineEndingGeometricShapeRadiusXAsDouble(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex, const double& radiusX); + +/// @brief Sets the X radius of the geometric shape for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier in the Layout with the given index of the SBML document as a double. +/// @param document a pointer to the SBMLDocument object. +/// @param layoutIndex the index number of the Layout object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape to modify. +/// @param radiusX the new X radius as a double. +/// @return an integer indicating success (0) or failure (non-zero). +LIBSBMLNETWORK_EXTERN int setSpeciesReferenceLineEndingGeometricShapeRadiusXAsDouble(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex, const double& radiusX); + +/// @brief Sets the X radius of the geometric shape for the LineEnding associated with the ReactionGlyph with the given index of the reaction with the given identifier as a double. +/// @param document a pointer to the SBMLDocument object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape to modify. +/// @param radiusX the new X radius as a double. +/// @return an integer indicating success (0) or failure (non-zero). +LIBSBMLNETWORK_EXTERN int setReactionLineEndingGeometricShapeRadiusXAsDouble(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int geometricShapeIndex, const double& radiusX); + +/// @brief Sets the X radius of the geometric shape for the LineEnding associated with the ReactionGlyph with the given index of the reaction with the given identifier in the Layout with the given index of the SBML document as a double. +/// @param document a pointer to the SBMLDocument object. +/// @param layoutIndex the index number of the Layout object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape to modify. +/// @param radiusX the new X radius as a double. +/// @return an integer indicating success (0) or failure (non-zero). +LIBSBMLNETWORK_EXTERN int setReactionLineEndingGeometricShapeRadiusXAsDouble(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int geometricShapeIndex, const double& radiusX); + /// @brief Checks if the Y radius of the geometric shape for the LineEnding with the given identifier is set. /// @param document A pointer to the SBMLDocument object. /// @param id A string representing the identifier of the LineEnding. @@ -2593,6 +4658,25 @@ LIBSBMLNETWORK_EXTERN bool isSetLineEndingGeometricShapeRadiusY(SBMLDocument* do /// @return True if the Y radius is set, false otherwise. LIBSBMLNETWORK_EXTERN bool isSetLineEndingGeometricShapeRadiusY(SBMLDocument* document, unsigned int renderIndex, const std::string& id, unsigned int geometricShapeIndex = 0); +/// @brief Checks if the Y radius of the geometric shape for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier is set. +/// @param document a pointer to the SBMLDocument object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape. +/// @return true if the Y radius is set, false otherwise. +LIBSBMLNETWORK_EXTERN bool isSetSpeciesReferenceLineEndingGeometricShapeRadiusY(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex); + +/// @brief Checks if the Y radius of the geometric shape for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier in the Layout with the given index of the SBML document is set. +/// @param document a pointer to the SBMLDocument object. +/// @param layoutIndex the index number of the Layout object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape. +/// @return true if the Y radius is set, false otherwise. +LIBSBMLNETWORK_EXTERN bool isSetSpeciesReferenceLineEndingGeometricShapeRadiusY(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex); + /// @brief Gets the Y radius of the geometric shape for the LineEnding with the given identifier. /// @param document A pointer to the SBMLDocument object. /// @param id A string representing the identifier of the LineEnding. @@ -2608,6 +4692,25 @@ LIBSBMLNETWORK_EXTERN const RelAbsVector getLineEndingGeometricShapeRadiusY(SBML /// @return The Y radius as a RelAbsVector. LIBSBMLNETWORK_EXTERN const RelAbsVector getLineEndingGeometricShapeRadiusY(SBMLDocument* document, unsigned int renderIndex, const std::string& id, unsigned int geometricShapeIndex = 0); +/// @brief Gets the Y radius of the geometric shape for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier in the first Layout of the SBML document. +/// @param document a pointer to the SBMLDocument object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape. +/// @return the Y radius as a RelAbsVector. +LIBSBMLNETWORK_EXTERN const RelAbsVector getSpeciesReferenceLineEndingGeometricShapeRadiusY(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex); + +/// @brief Gets the Y radius of the geometric shape for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier in the Layout with the given index of the SBML document. +/// @param document a pointer to the SBMLDocument object. +/// @param layoutIndex the index number of the Layout object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape. +/// @return the Y radius as a RelAbsVector. +LIBSBMLNETWORK_EXTERN const RelAbsVector getSpeciesReferenceLineEndingGeometricShapeRadiusY(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex); + /// @brief Returns the Y radius of the geometric shape for the LineEnding with the given identifier as a double. /// @param document a pointer to the SBMLDocument object. /// @param id a string representing the identifier of the LineEnding. @@ -2623,6 +4726,25 @@ LIBSBMLNETWORK_EXTERN const double getLineEndingGeometricShapeRadiusYAsDouble(SB /// @return the Y radius as a double. LIBSBMLNETWORK_EXTERN const double getLineEndingGeometricShapeRadiusYAsDouble(SBMLDocument* document, unsigned int renderIndex, const std::string& id, unsigned int geometricShapeIndex = 0); +/// @brief Returns the Y radius of the geometric shape for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier as a double. +/// @param document a pointer to the SBMLDocument object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape. +/// @return the Y radius as a double. +LIBSBMLNETWORK_EXTERN const double getSpeciesReferenceLineEndingGeometricShapeRadiusYAsDouble(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex); + +/// @brief Returns the Y radius of the geometric shape for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier in the Layout with the given index of the SBML document as a double. +/// @param document a pointer to the SBMLDocument object. +/// @param layoutIndex the index number of the Layout object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape. +/// @return the Y radius as a double. +LIBSBMLNETWORK_EXTERN const double getSpeciesReferenceLineEndingGeometricShapeRadiusYAsDouble(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex); + /// @brief Sets the Y radius of the geometric shape for the LineEnding with the given identifier. /// @param document A pointer to the SBMLDocument object. /// @param id A string representing the identifier of the LineEnding to modify. @@ -2640,6 +4762,46 @@ LIBSBMLNETWORK_EXTERN int setLineEndingGeometricShapeRadiusY(SBMLDocument* docum /// @return An integer indicating success (0) or failure (non-zero). LIBSBMLNETWORK_EXTERN int setLineEndingGeometricShapeRadiusY(SBMLDocument* document, unsigned int renderIndex, const std::string& id, unsigned int geometricShapeIndex, const RelAbsVector& radiusY); +/// @brief Sets the Y radius of the geometric shape for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier. +/// @param document a pointer to the SBMLDocument object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape to modify. +/// @param radiusY the new Y radius as a RelAbsVector. +/// @return an integer indicating success (0) or failure (non-zero). +LIBSBMLNETWORK_EXTERN int setSpeciesReferenceLineEndingGeometricShapeRadiusY(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex, const RelAbsVector& radiusY); + +/// @brief Sets the Y radius of the geometric shape for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier in the Layout with the given index of the SBML document. +/// @param document a pointer to the SBMLDocument object. +/// @param layoutIndex the index number of the Layout object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape to modify. +/// @param radiusY the new Y radius as a RelAbsVector. +/// @return an integer indicating success (0) or failure (non-zero). +LIBSBMLNETWORK_EXTERN int setSpeciesReferenceLineEndingGeometricShapeRadiusY(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex, const RelAbsVector& radiusY); + +/// @brief Sets the Y radius of the geometric shape for the LineEnding associated with the ReactionGlyph with the given index of the reaction with the given identifier. +/// @param document a pointer to the SBMLDocument object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape to modify. +/// @param radiusY the new Y radius as a RelAbsVector. +/// @return an integer indicating success (0) or failure (non-zero). +LIBSBMLNETWORK_EXTERN int setReactionLineEndingGeometricShapeRadiusY(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int geometricShapeIndex, const RelAbsVector& radiusY); + +/// @brief Sets the Y radius of the geometric shape for the LineEnding associated with the ReactionGlyph with the given index of the reaction with the given identifier in the Layout with the given index of the SBML document. +/// @param document a pointer to the SBMLDocument object. +/// @param layoutIndex the index number of the Layout object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape to modify. +/// @param radiusY the new Y radius as a RelAbsVector. +/// @return an integer indicating success (0) or failure (non-zero). +LIBSBMLNETWORK_EXTERN int setReactionLineEndingGeometricShapeRadiusY(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int geometricShapeIndex, const RelAbsVector& radiusY); + /// @brief Sets the Y radius of the geometric shape for the LineEnding with the given identifier as a double. /// @param document a pointer to the SBMLDocument object. /// @param id a string representing the identifier of the LineEnding to modify. @@ -2657,6 +4819,46 @@ LIBSBMLNETWORK_EXTERN int setLineEndingGeometricShapeRadiusYAsDouble(SBMLDocumen /// @return an integer indicating success (0) or failure (non-zero). LIBSBMLNETWORK_EXTERN int setLineEndingGeometricShapeRadiusYAsDouble(SBMLDocument* document, unsigned int renderIndex, const std::string& id, unsigned int geometricShapeIndex, const double& radiusY); +/// @brief Sets the Y radius of the geometric shape for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier as a double. +/// @param document a pointer to the SBMLDocument object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape to modify. +/// @param radiusY the new Y radius as a double. +/// @return an integer indicating success (0) or failure (non-zero). +LIBSBMLNETWORK_EXTERN int setSpeciesReferenceLineEndingGeometricShapeRadiusYAsDouble(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex, const double& radiusY); + +/// @brief Sets the Y radius of the geometric shape for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier in the Layout with the given index of the SBML document as a double. +/// @param document a pointer to the SBMLDocument object. +/// @param layoutIndex the index number of the Layout object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape to modify. +/// @param radiusY the new Y radius as a double. +/// @return an integer indicating success (0) or failure (non-zero). +LIBSBMLNETWORK_EXTERN int setSpeciesReferenceLineEndingGeometricShapeRadiusYAsDouble(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex, const double& radiusY); + +/// @brief Sets the Y radius of the geometric shape for the LineEnding associated with the ReactionGlyph with the given index of the reaction with the given identifier as a double. +/// @param document a pointer to the SBMLDocument object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape to modify. +/// @param radiusY the new Y radius as a double. +/// @return an integer indicating success (0) or failure (non-zero). +LIBSBMLNETWORK_EXTERN int setReactionLineEndingGeometricShapeRadiusYAsDouble(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int geometricShapeIndex, const double& radiusY); + +/// @brief Sets the Y radius of the geometric shape for the LineEnding associated with the ReactionGlyph with the given index of the reaction with the given identifier in the Layout with the given index of the SBML document as a double. +/// @param document a pointer to the SBMLDocument object. +/// @param layoutIndex the index number of the Layout object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape to modify. +/// @param radiusY the new Y radius as a double. +/// @return an integer indicating success (0) or failure (non-zero). +LIBSBMLNETWORK_EXTERN int setReactionLineEndingGeometricShapeRadiusYAsDouble(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int geometricShapeIndex, const double& radiusY); + /// @brief Gets the number of elements in the geometric shape for the LineEnding with the given identifier. /// @param document A pointer to the SBMLDocument object. /// @param id A string representing the identifier of the LineEnding. @@ -2672,6 +4874,25 @@ LIBSBMLNETWORK_EXTERN const unsigned int getLineEndingGeometricShapeNumElements( /// @return The number of elements as an unsigned int. LIBSBMLNETWORK_EXTERN const unsigned int getLineEndingGeometricShapeNumElements(SBMLDocument* document, unsigned int renderIndex, const std::string& id, unsigned int geometricShapeIndex = 0); +/// @brief Returns the number of elements in the geometric shape for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier. +/// @param document a pointer to the SBMLDocument object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape. +/// @return the number of elements as an unsigned int. +LIBSBMLNETWORK_EXTERN const unsigned int getSpeciesReferenceLineEndingGeometricShapeNumElements(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex); + +/// @brief Returns the number of elements in the geometric shape for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier in the Layout with the given index of the SBML document. +/// @param document a pointer to the SBMLDocument object. +/// @param layoutIndex the index number of the Layout object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape. +/// @return the number of elements as an unsigned int. +LIBSBMLNETWORK_EXTERN const unsigned int getSpeciesReferenceLineEndingGeometricShapeNumElements(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex); + /// @brief Checks if the geometric shape element for the LineEnding with the given identifier is a CubicBezier. /// @param document A pointer to the SBMLDocument object. /// @param id A string representing the identifier of the LineEnding. @@ -2689,6 +4910,27 @@ LIBSBMLNETWORK_EXTERN bool isLineEndingGeometricShapeElementCubicBezier(SBMLDocu /// @return True if the element is a CubicBezier, false otherwise. LIBSBMLNETWORK_EXTERN bool isLineEndingGeometricShapeElementCubicBezier(SBMLDocument* document, unsigned int renderIndex, const std::string& id, unsigned int geometricShapeIndex = 0, unsigned int elementIndex = 0); +/// @brief Checks if the geometric shape element for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier is a CubicBezier. +/// @param document a pointer to the SBMLDocument object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape. +/// @param elementIndex an unsigned int representing the index of the element. +/// @return true if the element is a CubicBezier, false otherwise. +LIBSBMLNETWORK_EXTERN bool isSpeciesReferenceLineEndingGeometricShapeElementCubicBezier(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex, unsigned int elementIndex); + +/// @brief Checks if the geometric shape element for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier in the Layout with the given index of the SBML document is a CubicBezier. +/// @param document a pointer to the SBMLDocument object. +/// @param layoutIndex the index number of the Layout object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape. +/// @param elementIndex an unsigned int representing the index of the element. +/// @return true if the element is a CubicBezier, false otherwise. +LIBSBMLNETWORK_EXTERN bool isSpeciesReferenceLineEndingGeometricShapeElementCubicBezier(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex, unsigned int elementIndex); + /// @brief Gets the X coordinate of the geometric shape element for the LineEnding with the given identifier. /// @param document A pointer to the SBMLDocument object. /// @param id A string representing the identifier of the LineEnding. @@ -2706,6 +4948,27 @@ LIBSBMLNETWORK_EXTERN const RelAbsVector getLineEndingGeometricShapeElementX(SBM /// @return The X coordinate as a RelAbsVector. LIBSBMLNETWORK_EXTERN const RelAbsVector getLineEndingGeometricShapeElementX(SBMLDocument* document, unsigned int renderIndex, const std::string& id, unsigned int geometricShapeIndex = 0, unsigned int elementIndex = 0); +/// @brief Gets the X coordinate of the geometric shape element for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier. +/// @param document a pointer to the SBMLDocument object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape. +/// @param elementIndex an unsigned int representing the index of the element. +/// @return the X coordinate as a RelAbsVector. +LIBSBMLNETWORK_EXTERN const RelAbsVector getSpeciesReferenceLineEndingGeometricShapeElementX(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex, unsigned int elementIndex); + +/// @brief Gets the X coordinate of the geometric shape element for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier in the Layout with the given index of the SBML document. +/// @param document a pointer to the SBMLDocument object. +/// @param layoutIndex the index number of the Layout object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape. +/// @param elementIndex an unsigned int representing the index of the element. +/// @return the X coordinate as a RelAbsVector. +LIBSBMLNETWORK_EXTERN const RelAbsVector getSpeciesReferenceLineEndingGeometricShapeElementX(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex, unsigned int elementIndex); + /// @brief Returns the X coordinate of the geometric shape element for the LineEnding with the given identifier as a double. /// @param document a pointer to the SBMLDocument object. /// @param id a string representing the identifier of the LineEnding. @@ -2723,6 +4986,27 @@ LIBSBMLNETWORK_EXTERN const double getLineEndingGeometricShapeElementXAsDouble(S /// @return the X coordinate as a double. LIBSBMLNETWORK_EXTERN const double getLineEndingGeometricShapeElementXAsDouble(SBMLDocument* document, unsigned int renderIndex, const std::string& id, unsigned int geometricShapeIndex = 0, unsigned int elementIndex = 0); +/// @brief Returns the X coordinate of the geometric shape element for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier as a double. +/// @param document a pointer to the SBMLDocument object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape. +/// @param elementIndex an unsigned int representing the index of the element. +/// @return the X coordinate as a double. +LIBSBMLNETWORK_EXTERN const double getSpeciesReferenceLineEndingGeometricShapeElementXAsDouble(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex, unsigned int elementIndex); + +/// @brief Returns the X coordinate of the geometric shape element for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier in the Layout with the given index of the SBML document as a double. +/// @param document a pointer to the SBMLDocument object. +/// @param layoutIndex the index number of the Layout object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape. +/// @param elementIndex an unsigned int representing the index of the element. +/// @return the X coordinate as a double. +LIBSBMLNETWORK_EXTERN const double getSpeciesReferenceLineEndingGeometricShapeElementXAsDouble(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex, unsigned int elementIndex); + /// @brief Sets the X coordinate of the geometric shape element for the LineEnding with the given identifier. /// @param document A pointer to the SBMLDocument object. /// @param id A string representing the identifier of the LineEnding to modify. @@ -2742,6 +5026,50 @@ LIBSBMLNETWORK_EXTERN int setLineEndingGeometricShapeElementX(SBMLDocument* docu /// @return An integer indicating success (0) or failure (non-zero). LIBSBMLNETWORK_EXTERN int setLineEndingGeometricShapeElementX(SBMLDocument* document, unsigned int renderIndex, const std::string& id, unsigned int geometricShapeIndex, unsigned int elementIndex, const RelAbsVector& x); +/// @brief Sets the X coordinate of the geometric shape element for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier. +/// @param document a pointer to the SBMLDocument object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape. +/// @param elementIndex an unsigned int representing the index of the element. +/// @param x the new X coordinate as a RelAbsVector. +/// @return an integer indicating success (0) or failure (non-zero). +LIBSBMLNETWORK_EXTERN int setSpeciesReferenceLineEndingGeometricShapeElementX(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex, unsigned int elementIndex, const RelAbsVector& x); + +/// @brief Sets the X coordinate of the geometric shape element for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier in the Layout with the given index of the SBML document. +/// @param document a pointer to the SBMLDocument object. +/// @param layoutIndex the index number of the Layout object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape. +/// @param elementIndex an unsigned int representing the index of the element. +/// @param x the new X coordinate as a RelAbsVector. +/// @return an integer indicating success (0) or failure (non-zero). +LIBSBMLNETWORK_EXTERN int setSpeciesReferenceLineEndingGeometricShapeElementX(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex, unsigned int elementIndex, const RelAbsVector& x); + +/// @brief Sets the X coordinate of the geometric shape element for the LineEnding associated with the ReactionGlyph with the given index of the reaction with the given identifier. +/// @param document a pointer to the SBMLDocument object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape. +/// @param elementIndex an unsigned int representing the index of the element. +/// @param x the new X coordinate as a RelAbsVector. +/// @return an integer indicating success (0) or failure (non-zero). +LIBSBMLNETWORK_EXTERN int setReactionLineEndingGeometricShapeElementX(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int geometricShapeIndex, unsigned int elementIndex, const RelAbsVector& x); + +/// @brief Sets the X coordinate of the geometric shape element for the LineEnding associated with the ReactionGlyph with the given index of the reaction with the given identifier in the Layout with the given index of the SBML document. +/// @param document a pointer to the SBMLDocument object. +/// @param layoutIndex the index number of the Layout object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape. +/// @param elementIndex an unsigned int representing the index of the element. +/// @param x the new X coordinate as a RelAbsVector. +/// @return an integer indicating success (0) or failure (non-zero). +LIBSBMLNETWORK_EXTERN int setReactionLineEndingGeometricShapeElementX(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int geometricShapeIndex, unsigned int elementIndex, const RelAbsVector& x); + /// @brief Sets the X coordinate of the geometric shape element for the LineEnding with the given identifier as a double. /// @param document a pointer to the SBMLDocument object. /// @param id a string representing the identifier of the LineEnding to modify. @@ -2759,7 +5087,51 @@ LIBSBMLNETWORK_EXTERN int setLineEndingGeometricShapeElementXAsDouble(SBMLDocume /// @param elementIndex an unsigned int representing the index of the element to modify. /// @param x the new X coordinate as a double. /// @return an integer indicating success (0) or failure (non-zero). -LIBSBMLNETWORK_EXTERN int setLineEndingGeometricShapeElementXAsDouble(SBMLDocument* document, unsigned int renderIndex, const std::string& id, unsigned int geometricShapeIndex, unsigned int elementIndex, const double& x); +LIBSBMLNETWORK_EXTERN int setLineEndingGeometricShapeElementXAsDouble(SBMLDocument* document, unsigned int renderIndex, const std::string& id, unsigned int geometricShapeIndex, unsigned int elementIndex, const double& x); + +/// @brief Sets the X coordinate of the geometric shape element for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier as a double. +/// @param document a pointer to the SBMLDocument object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape. +/// @param elementIndex an unsigned int representing the index of the element. +/// @param x the new X coordinate as a double. +/// @return an integer indicating success (0) or failure (non-zero). +LIBSBMLNETWORK_EXTERN int setSpeciesReferenceLineEndingGeometricShapeElementXAsDouble(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex, unsigned int elementIndex, const double& x); + +/// @brief Sets the X coordinate of the geometric shape element for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier in the Layout with the given index of the SBML document as a double. +/// @param document a pointer to the SBMLDocument object. +/// @param layoutIndex the index number of the Layout object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape. +/// @param elementIndex an unsigned int representing the index of the element. +/// @param x the new X coordinate as a double. +/// @return an integer indicating success (0) or failure (non-zero). +LIBSBMLNETWORK_EXTERN int setSpeciesReferenceLineEndingGeometricShapeElementXAsDouble(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex, unsigned int elementIndex, const double& x); + +/// @brief Sets the X coordinate of the geometric shape element for the LineEnding associated with the ReactionGlyph with the given index of the reaction with the given identifier as a double. +/// @param document a pointer to the SBMLDocument object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape. +/// @param elementIndex an unsigned int representing the index of the element. +/// @param x the new X coordinate as a double. +/// @return an integer indicating success (0) or failure (non-zero). +LIBSBMLNETWORK_EXTERN int setReactionLineEndingGeometricShapeElementXAsDouble(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int geometricShapeIndex, unsigned int elementIndex, const double& x); + +/// @brief Sets the X coordinate of the geometric shape element for the LineEnding associated with the ReactionGlyph with the given index of the reaction with the given identifier in the Layout with the given index of the SBML document as a double. +/// @param document a pointer to the SBMLDocument object. +/// @param layoutIndex the index number of the Layout object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape. +/// @param elementIndex an unsigned int representing the index of the element. +/// @param x the new X coordinate as a double. +/// @return an integer indicating success (0) or failure (non-zero). +LIBSBMLNETWORK_EXTERN int setReactionLineEndingGeometricShapeElementXAsDouble(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int geometricShapeIndex, unsigned int elementIndex, const double& x); /// @brief Gets the Y coordinate of the geometric shape element for the LineEnding with the given identifier. /// @param document A pointer to the SBMLDocument object. @@ -2778,6 +5150,27 @@ LIBSBMLNETWORK_EXTERN const RelAbsVector getLineEndingGeometricShapeElementY(SBM /// @return The Y coordinate as a RelAbsVector. LIBSBMLNETWORK_EXTERN const RelAbsVector getLineEndingGeometricShapeElementY(SBMLDocument* document, unsigned int renderIndex, const std::string& id, unsigned int geometricShapeIndex = 0, unsigned int elementIndex = 0); +/// @brief Gets the Y coordinate of the geometric shape element for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier. +/// @param document a pointer to the SBMLDocument object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape. +/// @param elementIndex an unsigned int representing the index of the element. +/// @return the Y coordinate as a RelAbsVector. +LIBSBMLNETWORK_EXTERN const RelAbsVector getSpeciesReferenceLineEndingGeometricShapeElementY(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex, unsigned int elementIndex); + +/// @brief Gets the Y coordinate of the geometric shape element for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier in the Layout with the given index of the SBML document. +/// @param document a pointer to the SBMLDocument object. +/// @param layoutIndex the index number of the Layout object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape. +/// @param elementIndex an unsigned int representing the index of the element. +/// @return the Y coordinate as a RelAbsVector. +LIBSBMLNETWORK_EXTERN const RelAbsVector getSpeciesReferenceLineEndingGeometricShapeElementY(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex, unsigned int elementIndex); + /// @brief Returns the Y coordinate of the geometric shape element for the LineEnding with the given identifier as a double. /// @param document a pointer to the SBMLDocument object. /// @param id a string representing the identifier of the LineEnding. @@ -2795,6 +5188,27 @@ LIBSBMLNETWORK_EXTERN const double getLineEndingGeometricShapeElementYAsDouble(S /// @return the Y coordinate as a double. LIBSBMLNETWORK_EXTERN const double getLineEndingGeometricShapeElementYAsDouble(SBMLDocument* document, unsigned int renderIndex, const std::string& id, unsigned int geometricShapeIndex = 0, unsigned int elementIndex = 0); +/// @brief Returns the Y coordinate of the geometric shape element for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier as a double. +/// @param document a pointer to the SBMLDocument object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape. +/// @param elementIndex an unsigned int representing the index of the element. +/// @return the Y coordinate as a double. +LIBSBMLNETWORK_EXTERN const double getSpeciesReferenceLineEndingGeometricShapeElementYAsDouble(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex, unsigned int elementIndex); + +/// @brief Returns the Y coordinate of the geometric shape element for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier in the Layout with the given index of the SBML document as a double. +/// @param document a pointer to the SBMLDocument object. +/// @param layoutIndex the index number of the Layout object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape. +/// @param elementIndex an unsigned int representing the index of the element. +/// @return the Y coordinate as a double. +LIBSBMLNETWORK_EXTERN const double getSpeciesReferenceLineEndingGeometricShapeElementYAsDouble(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex, unsigned int elementIndex); + /// @brief Sets the Y coordinate of the geometric shape element for the LineEnding with the given identifier. /// @param document A pointer to the SBMLDocument object. /// @param id A string representing the identifier of the LineEnding to modify. @@ -2814,6 +5228,50 @@ LIBSBMLNETWORK_EXTERN int setLineEndingGeometricShapeElementY(SBMLDocument* docu /// @return An integer indicating success (0) or failure (non-zero). LIBSBMLNETWORK_EXTERN int setLineEndingGeometricShapeElementY(SBMLDocument* document, unsigned int renderIndex, const std::string& id, unsigned int geometricShapeIndex, unsigned int elementIndex, const RelAbsVector& y); +/// @brief Sets the Y coordinate of the geometric shape element for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier. +/// @param document a pointer to the SBMLDocument object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape. +/// @param elementIndex an unsigned int representing the index of the element. +/// @param y the new Y coordinate as a RelAbsVector. +/// @return an integer indicating success (0) or failure (non-zero). +LIBSBMLNETWORK_EXTERN int setSpeciesReferenceLineEndingGeometricShapeElementY(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex, unsigned int elementIndex, const RelAbsVector& y); + +/// @brief Sets the Y coordinate of the geometric shape element for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier in the Layout with the given index of the SBML document. +/// @param document a pointer to the SBMLDocument object. +/// @param layoutIndex the index number of the Layout object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape. +/// @param elementIndex an unsigned int representing the index of the element. +/// @param y the new Y coordinate as a RelAbsVector. +/// @return an integer indicating success (0) or failure (non-zero). +LIBSBMLNETWORK_EXTERN int setSpeciesReferenceLineEndingGeometricShapeElementY(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex, unsigned int elementIndex, const RelAbsVector& y); + +/// @brief Sets the Y coordinate of the geometric shape element for the LineEnding associated with the ReactionGlyph with the given index of the reaction with the given identifier. +/// @param document a pointer to the SBMLDocument object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape. +/// @param elementIndex an unsigned int representing the index of the element. +/// @param y the new Y coordinate as a RelAbsVector. +/// @return an integer indicating success (0) or failure (non-zero). +LIBSBMLNETWORK_EXTERN int setReactionLineEndingGeometricShapeElementY(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int geometricShapeIndex, unsigned int elementIndex, const RelAbsVector& y); + +/// @brief Sets the Y coordinate of the geometric shape element for the LineEnding associated with the ReactionGlyph with the given index of the reaction with the given identifier in the Layout with the given index of the SBML document. +/// @param document a pointer to the SBMLDocument object. +/// @param layoutIndex the index number of the Layout object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape. +/// @param elementIndex an unsigned int representing the index of the element. +/// @param y the new Y coordinate as a RelAbsVector. +/// @return an integer indicating success (0) or failure (non-zero). +LIBSBMLNETWORK_EXTERN int setReactionLineEndingGeometricShapeElementY(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int geometricShapeIndex, unsigned int elementIndex, const RelAbsVector& y); + /// @brief Sets the Y coordinate of the geometric shape element for the LineEnding with the given identifier as a double. /// @param document a pointer to the SBMLDocument object. /// @param id a string representing the identifier of the LineEnding to modify. @@ -2833,6 +5291,50 @@ LIBSBMLNETWORK_EXTERN int setLineEndingGeometricShapeElementYAsDouble(SBMLDocume /// @return an integer indicating success (0) or failure (non-zero). LIBSBMLNETWORK_EXTERN int setLineEndingGeometricShapeElementYAsDouble(SBMLDocument* document, unsigned int renderIndex, const std::string& id, unsigned int geometricShapeIndex, unsigned int elementIndex, const double& y); +/// @brief Sets the Y coordinate of the geometric shape element for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier as a double. +/// @param document a pointer to the SBMLDocument object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape. +/// @param elementIndex an unsigned int representing the index of the element. +/// @param y the new Y coordinate as a double. +/// @return an integer indicating success (0) or failure (non-zero). +LIBSBMLNETWORK_EXTERN int setSpeciesReferenceLineEndingGeometricShapeElementYAsDouble(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex, unsigned int elementIndex, const double& y); + +/// @brief Sets the Y coordinate of the geometric shape element for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier in the Layout with the given index of the SBML document as a double. +/// @param document a pointer to the SBMLDocument object. +/// @param layoutIndex the index number of the Layout object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape. +/// @param elementIndex an unsigned int representing the index of the element. +/// @param y the new Y coordinate as a double. +/// @return an integer indicating success (0) or failure (non-zero). +LIBSBMLNETWORK_EXTERN int setSpeciesReferenceLineEndingGeometricShapeElementYAsDouble(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex, unsigned int elementIndex, const double& y); + +/// @brief Sets the Y coordinate of the geometric shape element for the LineEnding associated with the ReactionGlyph with the given index of the reaction with the given identifier as a double. +/// @param document a pointer to the SBMLDocument object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape. +/// @param elementIndex an unsigned int representing the index of the element. +/// @param y the new Y coordinate as a double. +/// @return an integer indicating success (0) or failure (non-zero). +LIBSBMLNETWORK_EXTERN int setReactionLineEndingGeometricShapeElementYAsDouble(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int geometricShapeIndex, unsigned int elementIndex, const double& y); + +/// @brief Sets the Y coordinate of the geometric shape element for the LineEnding associated with the ReactionGlyph with the given index of the reaction with the given identifier in the Layout with the given index of the SBML document as a double. +/// @param document a pointer to the SBMLDocument object. +/// @param layoutIndex the index number of the Layout object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape. +/// @param elementIndex an unsigned int representing the index of the element. +/// @param y the new Y coordinate as a double. +/// @return an integer indicating success (0) or failure (non-zero). +LIBSBMLNETWORK_EXTERN int setReactionLineEndingGeometricShapeElementYAsDouble(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int geometricShapeIndex, unsigned int elementIndex, const double& y); + /// @brief Gets the base point 1 X coordinate of the geometric shape for the LineEnding with the given identifier. /// @param document A pointer to the SBMLDocument object. /// @param id A string representing the identifier of the LineEnding. @@ -2850,6 +5352,27 @@ LIBSBMLNETWORK_EXTERN const RelAbsVector getLineEndingGeometricShapeBasePoint1X( /// @return The base point 1 X coordinate as a RelAbsVector. LIBSBMLNETWORK_EXTERN const RelAbsVector getLineEndingGeometricShapeBasePoint1X(SBMLDocument* document, unsigned int renderIndex, const std::string& id, unsigned int geometricShapeIndex = 0, unsigned int elementIndex = 0); +/// @brief Gets the base point 1 X coordinate of the geometric shape for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier. +/// @param document a pointer to the SBMLDocument object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape. +/// @param elementIndex an unsigned int representing the index of the element. +/// @return the base point 1 X coordinate as a RelAbsVector. +LIBSBMLNETWORK_EXTERN const RelAbsVector getSpeciesReferenceLineEndingGeometricShapeBasePoint1X(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex, unsigned int elementIndex); + +/// @brief Gets the base point 1 X coordinate of the geometric shape for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier in the Layout with the given index of the SBML document. +/// @param document a pointer to the SBMLDocument object. +/// @param layoutIndex the index number of the Layout object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape. +/// @param elementIndex an unsigned int representing the index of the element. +/// @return the base point 1 X coordinate as a RelAbsVector. +LIBSBMLNETWORK_EXTERN const RelAbsVector getSpeciesReferenceLineEndingGeometricShapeBasePoint1X(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex, unsigned int elementIndex); + /// @brief Returns the base point 1 X coordinate of the geometric shape for the LineEnding with the given identifier as a double. /// @param document a pointer to the SBMLDocument object. /// @param id a string representing the identifier of the LineEnding. @@ -2867,6 +5390,27 @@ LIBSBMLNETWORK_EXTERN const double getLineEndingGeometricShapeBasePoint1XAsDoubl /// @return the base point 1 X coordinate as a double. LIBSBMLNETWORK_EXTERN const double getLineEndingGeometricShapeBasePoint1XAsDouble(SBMLDocument* document, unsigned int renderIndex, const std::string& id, unsigned int geometricShapeIndex = 0, unsigned int elementIndex = 0); +/// @brief Returns the base point 1 X coordinate of the geometric shape for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier as a double. +/// @param document a pointer to the SBMLDocument object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape. +/// @param elementIndex an unsigned int representing the index of the element. +/// @return the base point 1 X coordinate as a double. +LIBSBMLNETWORK_EXTERN const double getSpeciesReferenceLineEndingGeometricShapeBasePoint1XAsDouble(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex, unsigned int elementIndex); + +/// @brief Returns the base point 1 X coordinate of the geometric shape for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier in the Layout with the given index of the SBML document as a double. +/// @param document a pointer to the SBMLDocument object. +/// @param layoutIndex the index number of the Layout object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape. +/// @param elementIndex an unsigned int representing the index of the element. +/// @return the base point 1 X coordinate as a double. +LIBSBMLNETWORK_EXTERN const double getSpeciesReferenceLineEndingGeometricShapeBasePoint1XAsDouble(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex, unsigned int elementIndex); + /// @brief Sets the base point 1 X coordinate of the geometric shape for the LineEnding with the given identifier. /// @param document A pointer to the SBMLDocument object. /// @param id A string representing the identifier of the LineEnding to modify. @@ -2886,6 +5430,50 @@ LIBSBMLNETWORK_EXTERN int setLineEndingGeometricShapeBasePoint1X(SBMLDocument* d /// @return An integer indicating success (0) or failure (non-zero). LIBSBMLNETWORK_EXTERN int setLineEndingGeometricShapeBasePoint1X(SBMLDocument* document, unsigned int renderIndex, const std::string& id, unsigned int geometricShapeIndex, unsigned int elementIndex, const RelAbsVector& basePoint1X); +/// @brief Sets the base point 1 X coordinate of the geometric shape for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier. +/// @param document a pointer to the SBMLDocument object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape. +/// @param elementIndex an unsigned int representing the index of the element. +/// @param basePoint1X the new base point 1 X coordinate as a RelAbsVector. +/// @return an integer indicating success (0) or failure (non-zero). +LIBSBMLNETWORK_EXTERN int setSpeciesReferenceLineEndingGeometricShapeBasePoint1X(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex, unsigned int elementIndex, const RelAbsVector& basePoint1X); + +/// @brief Sets the base point 1 X coordinate of the geometric shape for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier in the Layout with the given index of the SBML document. +/// @param document a pointer to the SBMLDocument object. +/// @param layoutIndex the index number of the Layout object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape. +/// @param elementIndex an unsigned int representing the index of the element. +/// @param basePoint1X the new base point 1 X coordinate as a RelAbsVector. +/// @return an integer indicating success (0) or failure (non-zero). +LIBSBMLNETWORK_EXTERN int setSpeciesReferenceLineEndingGeometricShapeBasePoint1X(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex, unsigned int elementIndex, const RelAbsVector& basePoint1X); + +/// @brief Sets the base point 1 X coordinate of the geometric shape for the LineEnding associated with the ReactionGlyph with the given index of the reaction with the given identifier. +/// @param document a pointer to the SBMLDocument object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape. +/// @param elementIndex an unsigned int representing the index of the element. +/// @param basePoint1X the new base point 1 X coordinate as a RelAbsVector. +/// @return an integer indicating success (0) or failure (non-zero). +LIBSBMLNETWORK_EXTERN int setReactionLineEndingGeometricShapeBasePoint1X(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int geometricShapeIndex, unsigned int elementIndex, const RelAbsVector& basePoint1X); + +/// @brief Sets the base point 1 X coordinate of the geometric shape for the LineEnding associated with the ReactionGlyph with the given index of the reaction with the given identifier in the Layout with the given index of the SBML document. +/// @param document a pointer to the SBMLDocument object. +/// @param layoutIndex the index number of the Layout object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape. +/// @param elementIndex an unsigned int representing the index of the element. +/// @param basePoint1X the new base point 1 X coordinate as a RelAbsVector. +/// @return an integer indicating success (0) or failure (non-zero). +LIBSBMLNETWORK_EXTERN int setReactionLineEndingGeometricShapeBasePoint1X(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int geometricShapeIndex, unsigned int elementIndex, const RelAbsVector& basePoint1X); + /// @brief Sets the base point 1 X coordinate of the geometric shape for the LineEnding with the given identifier as a double. /// @param document a pointer to the SBMLDocument object. /// @param id a string representing the identifier of the LineEnding to modify. @@ -2905,6 +5493,50 @@ LIBSBMLNETWORK_EXTERN int setLineEndingGeometricShapeBasePoint1XAsDouble(SBMLDoc /// @return an integer indicating success (0) or failure (non-zero). LIBSBMLNETWORK_EXTERN int setLineEndingGeometricShapeBasePoint1XAsDouble(SBMLDocument* document, unsigned int renderIndex, const std::string& id, unsigned int geometricShapeIndex, unsigned int elementIndex, const double& basePoint1X); +/// @brief Sets the base point 1 X coordinate of the geometric shape for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier as a double. +/// @param document a pointer to the SBMLDocument object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape. +/// @param elementIndex an unsigned int representing the index of the element. +/// @param basePoint1X the new base point 1 X coordinate as a double. +/// @return an integer indicating success (0) or failure (non-zero). +LIBSBMLNETWORK_EXTERN int setSpeciesReferenceLineEndingGeometricShapeBasePoint1XAsDouble(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex, unsigned int elementIndex, const double& basePoint1X); + +/// @brief Sets the base point 1 X coordinate of the geometric shape for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier in the Layout with the given index of the SBML document as a double. +/// @param document a pointer to the SBMLDocument object. +/// @param layoutIndex the index number of the Layout object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape. +/// @param elementIndex an unsigned int representing the index of the element. +/// @param basePoint1X the new base point 1 X coordinate as a double. +/// @return an integer indicating success (0) or failure (non-zero). +LIBSBMLNETWORK_EXTERN int setSpeciesReferenceLineEndingGeometricShapeBasePoint1XAsDouble(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex, unsigned int elementIndex, const double& basePoint1X); + +/// @brief Sets the base point 1 X coordinate of the geometric shape for the LineEnding associated with the ReactionGlyph with the given index of the reaction with the given identifier as a double. +/// @param document a pointer to the SBMLDocument object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape. +/// @param elementIndex an unsigned int representing the index of the element. +/// @param basePoint1X the new base point 1 X coordinate as a double. +/// @return an integer indicating success (0) or failure (non-zero). +LIBSBMLNETWORK_EXTERN int setReactionLineEndingGeometricShapeBasePoint1XAsDouble(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int geometricShapeIndex, unsigned int elementIndex, const double& basePoint1X); + +/// @brief Sets the base point 1 X coordinate of the geometric shape for the LineEnding associated with the ReactionGlyph with the given index of the reaction with the given identifier in the Layout with the given index of the SBML document as a double. +/// @param document a pointer to the SBMLDocument object. +/// @param layoutIndex the index number of the Layout object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape. +/// @param elementIndex an unsigned int representing the index of the element. +/// @param basePoint1X the new base point 1 X coordinate as a double. +/// @return an integer indicating success (0) or failure (non-zero). +LIBSBMLNETWORK_EXTERN int setReactionLineEndingGeometricShapeBasePoint1XAsDouble(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int geometricShapeIndex, unsigned int elementIndex, const double& basePoint1X); + /// @brief Gets the base point 1 Y coordinate of the geometric shape for the LineEnding with the given identifier. /// @param document A pointer to the SBMLDocument object. /// @param id A string representing the identifier of the LineEnding. @@ -2922,6 +5554,27 @@ LIBSBMLNETWORK_EXTERN const RelAbsVector getLineEndingGeometricShapeBasePoint1Y( /// @return The base point 1 Y coordinate as a RelAbsVector. LIBSBMLNETWORK_EXTERN const RelAbsVector getLineEndingGeometricShapeBasePoint1Y(SBMLDocument* document, unsigned int renderIndex, const std::string& id, unsigned int geometricShapeIndex = 0, unsigned int elementIndex = 0); +/// @brief Gets the base point 1 Y coordinate of the geometric shape for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier. +/// @param document a pointer to the SBMLDocument object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape. +/// @param elementIndex an unsigned int representing the index of the element. +/// @return the base point 1 Y coordinate as a RelAbsVector. +LIBSBMLNETWORK_EXTERN const RelAbsVector getSpeciesReferenceLineEndingGeometricShapeBasePoint1Y(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex, unsigned int elementIndex); + +/// @brief Gets the base point 1 Y coordinate of the geometric shape for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier in the Layout with the given index of the SBML document. +/// @param document a pointer to the SBMLDocument object. +/// @param layoutIndex the index number of the Layout object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape. +/// @param elementIndex an unsigned int representing the index of the element. +/// @return the base point 1 Y coordinate as a RelAbsVector. +LIBSBMLNETWORK_EXTERN const RelAbsVector getSpeciesReferenceLineEndingGeometricShapeBasePoint1Y(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex, unsigned int elementIndex); + /// @brief Returns the base point 1 Y coordinate of the geometric shape for the LineEnding with the given identifier as a double. /// @param document a pointer to the SBMLDocument object. /// @param id a string representing the identifier of the LineEnding. @@ -2939,6 +5592,27 @@ LIBSBMLNETWORK_EXTERN const double getLineEndingGeometricShapeBasePoint1YAsDoubl /// @return the base point 1 Y coordinate as a double. LIBSBMLNETWORK_EXTERN const double getLineEndingGeometricShapeBasePoint1YAsDouble(SBMLDocument* document, unsigned int renderIndex, const std::string& id, unsigned int geometricShapeIndex = 0, unsigned int elementIndex = 0); +/// @brief Returns the base point 1 Y coordinate of the geometric shape for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier as a double. +/// @param document a pointer to the SBMLDocument object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape. +/// @param elementIndex an unsigned int representing the index of the element. +/// @return the base point 1 Y coordinate as a double. +LIBSBMLNETWORK_EXTERN const double getSpeciesReferenceLineEndingGeometricShapeBasePoint1YAsDouble(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex, unsigned int elementIndex); + +/// @brief Returns the base point 1 Y coordinate of the geometric shape for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier in the Layout with the given index of the SBML document as a double. +/// @param document a pointer to the SBMLDocument object. +/// @param layoutIndex the index number of the Layout object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape. +/// @param elementIndex an unsigned int representing the index of the element. +/// @return the base point 1 Y coordinate as a double. +LIBSBMLNETWORK_EXTERN const double getSpeciesReferenceLineEndingGeometricShapeBasePoint1YAsDouble(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex, unsigned int elementIndex); + /// @brief Sets the base point 1 Y coordinate of the geometric shape for the LineEnding with the given identifier. /// @param document A pointer to the SBMLDocument object. /// @param id A string representing the identifier of the LineEnding to modify. @@ -2958,6 +5632,50 @@ LIBSBMLNETWORK_EXTERN int setLineEndingGeometricShapeBasePoint1Y(SBMLDocument* d /// @return An integer indicating success (0) or failure (non-zero). LIBSBMLNETWORK_EXTERN int setLineEndingGeometricShapeBasePoint1Y(SBMLDocument* document, unsigned int renderIndex, const std::string& id, unsigned int geometricShapeIndex, unsigned int elementIndex, const RelAbsVector& basePoint1Y); +/// @brief Sets the base point 1 Y coordinate of the geometric shape for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier. +/// @param document a pointer to the SBMLDocument object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape. +/// @param elementIndex an unsigned int representing the index of the element. +/// @param basePoint1Y the new base point 1 Y coordinate as a RelAbsVector. +/// @return an integer indicating success (0) or failure (non-zero). +LIBSBMLNETWORK_EXTERN int setSpeciesReferenceLineEndingGeometricShapeBasePoint1Y(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex, unsigned int elementIndex, const RelAbsVector& basePoint1Y); + +/// @brief Sets the base point 1 Y coordinate of the geometric shape for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier in the Layout with the given index of the SBML document. +/// @param document a pointer to the SBMLDocument object. +/// @param layoutIndex the index number of the Layout object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape. +/// @param elementIndex an unsigned int representing the index of the element. +/// @param basePoint1Y the new base point 1 Y coordinate as a RelAbsVector. +/// @return an integer indicating success (0) or failure (non-zero). +LIBSBMLNETWORK_EXTERN int setSpeciesReferenceLineEndingGeometricShapeBasePoint1Y(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex, unsigned int elementIndex, const RelAbsVector& basePoint1Y); + +/// @brief Sets the base point 1 Y coordinate of the geometric shape for the LineEnding associated with the ReactionGlyph with the given index of the reaction with the given identifier. +/// @param document a pointer to the SBMLDocument object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape. +/// @param elementIndex an unsigned int representing the index of the element. +/// @param basePoint1Y the new base point 1 Y coordinate as a RelAbsVector. +/// @return an integer indicating success (0) or failure (non-zero). +LIBSBMLNETWORK_EXTERN int setReactionLineEndingGeometricShapeBasePoint1Y(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int geometricShapeIndex, unsigned int elementIndex, const RelAbsVector& basePoint1Y); + +/// @brief Sets the base point 1 Y coordinate of the geometric shape for the LineEnding associated with the ReactionGlyph with the given index of the reaction with the given identifier in the Layout with the given index of the SBML document. +/// @param document a pointer to the SBMLDocument object. +/// @param layoutIndex the index number of the Layout object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape. +/// @param elementIndex an unsigned int representing the index of the element. +/// @param basePoint1Y the new base point 1 Y coordinate as a RelAbsVector. +/// @return an integer indicating success (0) or failure (non-zero). +LIBSBMLNETWORK_EXTERN int setReactionLineEndingGeometricShapeBasePoint1Y(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int geometricShapeIndex, unsigned int elementIndex, const RelAbsVector& basePoint1Y); + /// @brief Sets the base point 1 Y coordinate of the geometric shape for the LineEnding with the given identifier as a double. /// @param document a pointer to the SBMLDocument object. /// @param id a string representing the identifier of the LineEnding to modify. @@ -2975,8 +5693,52 @@ LIBSBMLNETWORK_EXTERN int setLineEndingGeometricShapeBasePoint1YAsDouble(SBMLDoc /// @param elementIndex an unsigned int representing the index of the element to modify. /// @param basePoint1Y the new base point 1 Y coordinate as a double. /// @return an integer indicating success (0) or failure (non-zero). - LIBSBMLNETWORK_EXTERN int setLineEndingGeometricShapeBasePoint1YAsDouble(SBMLDocument* document, unsigned int renderIndex, const std::string& id, unsigned int geometricShapeIndex, unsigned int elementIndex, const double& basePoint1Y); + +/// @brief Sets the base point 1 Y coordinate of the geometric shape for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier as a double. +/// @param document a pointer to the SBMLDocument object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape. +/// @param elementIndex an unsigned int representing the index of the element. +/// @param basePoint1Y the new base point 1 Y coordinate as a double. +/// @return an integer indicating success (0) or failure (non-zero). +LIBSBMLNETWORK_EXTERN int setSpeciesReferenceLineEndingGeometricShapeBasePoint1YAsDouble(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex, unsigned int elementIndex, const double& basePoint1Y); + +/// @brief Sets the base point 1 Y coordinate of the geometric shape for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier in the Layout with the given index of the SBML document as a double. +/// @param document a pointer to the SBMLDocument object. +/// @param layoutIndex the index number of the Layout object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape. +/// @param elementIndex an unsigned int representing the index of the element. +/// @param basePoint1Y the new base point 1 Y coordinate as a double. +/// @return an integer indicating success (0) or failure (non-zero). +LIBSBMLNETWORK_EXTERN int setSpeciesReferenceLineEndingGeometricShapeBasePoint1YAsDouble(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex, unsigned int elementIndex, const double& basePoint1Y); + +/// @brief Sets the base point 1 Y coordinate of the geometric shape for the LineEnding associated with the ReactionGlyph with the given index of the reaction with the given identifier as a double. +/// @param document a pointer to the SBMLDocument object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape. +/// @param elementIndex an unsigned int representing the index of the element. +/// @param basePoint1Y the new base point 1 Y coordinate as a double. +/// @return an integer indicating success (0) or failure (non-zero). +LIBSBMLNETWORK_EXTERN int setReactionLineEndingGeometricShapeBasePoint1YAsDouble(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int geometricShapeIndex, unsigned int elementIndex, const double& basePoint1Y); + +/// @brief Sets the base point 1 Y coordinate of the geometric shape for the LineEnding associated with the ReactionGlyph with the given index of the reaction with the given identifier in the Layout with the given index of the SBML document as a double. +/// @param document a pointer to the SBMLDocument object. +/// @param layoutIndex the index number of the Layout object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape. +/// @param elementIndex an unsigned int representing the index of the element. +/// @param basePoint1Y the new base point 1 Y coordinate as a double. +/// @return an integer indicating success (0) or failure (non-zero). +LIBSBMLNETWORK_EXTERN int setReactionLineEndingGeometricShapeBasePoint1YAsDouble(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int geometricShapeIndex, unsigned int elementIndex, const double& basePoint1Y); + /// @brief Gets the base point 2 X coordinate of the geometric shape for the LineEnding with the given identifier. /// @param document A pointer to the SBMLDocument object. /// @param id A string representing the identifier of the LineEnding. @@ -2994,6 +5756,27 @@ LIBSBMLNETWORK_EXTERN const RelAbsVector getLineEndingGeometricShapeBasePoint2X( /// @return The base point 2 X coordinate as a RelAbsVector. LIBSBMLNETWORK_EXTERN const RelAbsVector getLineEndingGeometricShapeBasePoint2X(SBMLDocument* document, unsigned int renderIndex, const std::string& id, unsigned int geometricShapeIndex = 0, unsigned int elementIndex = 0); +/// @brief Gets the base point 2 X coordinate of the geometric shape for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier. +/// @param document a pointer to the SBMLDocument object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape. +/// @param elementIndex an unsigned int representing the index of the element. +/// @return the base point 2 X coordinate as a RelAbsVector. +LIBSBMLNETWORK_EXTERN const RelAbsVector getSpeciesReferenceLineEndingGeometricShapeBasePoint2X(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex, unsigned int elementIndex); + +/// @brief Gets the base point 2 X coordinate of the geometric shape for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier in the Layout with the given index of the SBML document. +/// @param document a pointer to the SBMLDocument object. +/// @param layoutIndex the index number of the Layout object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape. +/// @param elementIndex an unsigned int representing the index of the element. +/// @return the base point 2 X coordinate as a RelAbsVector. +LIBSBMLNETWORK_EXTERN const RelAbsVector getSpeciesReferenceLineEndingGeometricShapeBasePoint2X(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex, unsigned int elementIndex); + /// @brief Returns the base point 2 X coordinate of the geometric shape for the LineEnding with the given identifier as a double. /// @param document a pointer to the SBMLDocument object. /// @param id a string representing the identifier of the LineEnding. @@ -3011,6 +5794,27 @@ LIBSBMLNETWORK_EXTERN const double getLineEndingGeometricShapeBasePoint2XAsDoubl /// @return the base point 2 X coordinate as a double. LIBSBMLNETWORK_EXTERN const double getLineEndingGeometricShapeBasePoint2XAsDouble(SBMLDocument* document, unsigned int renderIndex, const std::string& id, unsigned int geometricShapeIndex = 0, unsigned int elementIndex = 0); +/// @brief Returns the base point 2 X coordinate of the geometric shape for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier as a double. +/// @param document a pointer to the SBMLDocument object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape. +/// @param elementIndex an unsigned int representing the index of the element. +/// @return the base point 2 X coordinate as a double. +LIBSBMLNETWORK_EXTERN const double getSpeciesReferenceLineEndingGeometricShapeBasePoint2XAsDouble(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex, unsigned int elementIndex); + +/// @brief Returns the base point 2 X coordinate of the geometric shape for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier in the Layout with the given index of the SBML document as a double. +/// @param document a pointer to the SBMLDocument object. +/// @param layoutIndex the index number of the Layout object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape. +/// @param elementIndex an unsigned int representing the index of the element. +/// @return the base point 2 X coordinate as a double. +LIBSBMLNETWORK_EXTERN const double getSpeciesReferenceLineEndingGeometricShapeBasePoint2XAsDouble(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex, unsigned int elementIndex); + /// @brief Sets the base point 2 X coordinate of the geometric shape for the LineEnding with the given identifier. /// @param document A pointer to the SBMLDocument object. /// @param id A string representing the identifier of the LineEnding to modify. @@ -3030,6 +5834,50 @@ LIBSBMLNETWORK_EXTERN int setLineEndingGeometricShapeBasePoint2X(SBMLDocument* d /// @return An integer indicating success (0) or failure (non-zero). LIBSBMLNETWORK_EXTERN int setLineEndingGeometricShapeBasePoint2X(SBMLDocument* document, unsigned int renderIndex, const std::string& id, unsigned int geometricShapeIndex, unsigned int elementIndex, const RelAbsVector& basePoint2X); +/// @brief Sets the base point 2 X coordinate of the geometric shape for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier. +/// @param document a pointer to the SBMLDocument object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape. +/// @param elementIndex an unsigned int representing the index of the element. +/// @param basePoint2X the new base point 2 X coordinate as a RelAbsVector. +/// @return an integer indicating success (0) or failure (non-zero). +LIBSBMLNETWORK_EXTERN int setSpeciesReferenceLineEndingGeometricShapeBasePoint2X(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex, unsigned int elementIndex, const RelAbsVector& basePoint2X); + +/// @brief Sets the base point 2 X coordinate of the geometric shape for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier in the Layout with the given index of the SBML document. +/// @param document a pointer to the SBMLDocument object. +/// @param layoutIndex the index number of the Layout object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape. +/// @param elementIndex an unsigned int representing the index of the element. +/// @param basePoint2X the new base point 2 X coordinate as a RelAbsVector. +/// @return an integer indicating success (0) or failure (non-zero). +LIBSBMLNETWORK_EXTERN int setSpeciesReferenceLineEndingGeometricShapeBasePoint2X(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex, unsigned int elementIndex, const RelAbsVector& basePoint2X); + +/// @brief Sets the base point 2 X coordinate of the geometric shape for the LineEnding associated with the ReactionGlyph with the given index of the reaction with the given identifier. +/// @param document a pointer to the SBMLDocument object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape. +/// @param elementIndex an unsigned int representing the index of the element. +/// @param basePoint2X the new base point 2 X coordinate as a RelAbsVector. +/// @return an integer indicating success (0) or failure (non-zero). +LIBSBMLNETWORK_EXTERN int setReactionLineEndingGeometricShapeBasePoint2X(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int geometricShapeIndex, unsigned int elementIndex, const RelAbsVector& basePoint2X); + +/// @brief Sets the base point 2 X coordinate of the geometric shape for the LineEnding associated with the ReactionGlyph with the given index of the reaction with the given identifier in the Layout with the given index of the SBML document. +/// @param document a pointer to the SBMLDocument object. +/// @param layoutIndex the index number of the Layout object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape. +/// @param elementIndex an unsigned int representing the index of the element. +/// @param basePoint2X the new base point 2 X coordinate as a RelAbsVector. +/// @return an integer indicating success (0) or failure (non-zero). +LIBSBMLNETWORK_EXTERN int setReactionLineEndingGeometricShapeBasePoint2X(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int geometricShapeIndex, unsigned int elementIndex, const RelAbsVector& basePoint2X); + /// @brief Sets the base point 2 X coordinate of the geometric shape for the LineEnding with the given identifier as a double. /// @param document a pointer to the SBMLDocument object. /// @param id a string representing the identifier of the LineEnding to modify. @@ -3049,6 +5897,50 @@ LIBSBMLNETWORK_EXTERN int setLineEndingGeometricShapeBasePoint2XAsDouble(SBMLDoc /// @return an integer indicating success (0) or failure (non-zero). LIBSBMLNETWORK_EXTERN int setLineEndingGeometricShapeBasePoint2XAsDouble(SBMLDocument* document, unsigned int renderIndex, const std::string& id, unsigned int geometricShapeIndex, unsigned int elementIndex, const double& basePoint2X); +/// @brief Sets the base point 2 X coordinate of the geometric shape for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier as a double. +/// @param document a pointer to the SBMLDocument object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape. +/// @param elementIndex an unsigned int representing the index of the element. +/// @param basePoint2X the new base point 2 X coordinate as a double. +/// @return an integer indicating success (0) or failure (non-zero). +LIBSBMLNETWORK_EXTERN int setSpeciesReferenceLineEndingGeometricShapeBasePoint2XAsDouble(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex, unsigned int elementIndex, const double& basePoint2X); + +/// @brief Sets the base point 2 X coordinate of the geometric shape for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier in the Layout with the given index of the SBML document as a double. +/// @param document a pointer to the SBMLDocument object. +/// @param layoutIndex the index number of the Layout object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape. +/// @param elementIndex an unsigned int representing the index of the element. +/// @param basePoint2X the new base point 2 X coordinate as a double. +/// @return an integer indicating success (0) or failure (non-zero). +LIBSBMLNETWORK_EXTERN int setSpeciesReferenceLineEndingGeometricShapeBasePoint2XAsDouble(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex, unsigned int elementIndex, const double& basePoint2X); + +/// @brief Sets the base point 2 X coordinate of the geometric shape for the LineEnding associated with the ReactionGlyph with the given index of the reaction with the given identifier as a double. +/// @param document a pointer to the SBMLDocument object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape. +/// @param elementIndex an unsigned int representing the index of the element. +/// @param basePoint2X the new base point 2 X coordinate as a double. +/// @return an integer indicating success (0) or failure (non-zero). +LIBSBMLNETWORK_EXTERN int setReactionLineEndingGeometricShapeBasePoint2XAsDouble(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int geometricShapeIndex, unsigned int elementIndex, const double& basePoint2X); + +/// @brief Sets the base point 2 X coordinate of the geometric shape for the LineEnding associated with the ReactionGlyph with the given index of the reaction with the given identifier in the Layout with the given index of the SBML document as a double. +/// @param document a pointer to the SBMLDocument object. +/// @param layoutIndex the index number of the Layout object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape. +/// @param elementIndex an unsigned int representing the index of the element. +/// @param basePoint2X the new base point 2 X coordinate as a double. +/// @return an integer indicating success (0) or failure (non-zero). +LIBSBMLNETWORK_EXTERN int setReactionLineEndingGeometricShapeBasePoint2XAsDouble(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int geometricShapeIndex, unsigned int elementIndex, const double& basePoint2X); + /// @brief Gets the base point 2 Y coordinate of the geometric shape for the LineEnding with the given identifier. /// @param document A pointer to the SBMLDocument object. /// @param id A string representing the identifier of the LineEnding. @@ -3066,6 +5958,27 @@ LIBSBMLNETWORK_EXTERN const RelAbsVector getLineEndingGeometricShapeBasePoint2Y( /// @return The base point 2 Y coordinate as a RelAbsVector. LIBSBMLNETWORK_EXTERN const RelAbsVector getLineEndingGeometricShapeBasePoint2Y(SBMLDocument* document, unsigned int renderIndex, const std::string& id, unsigned int geometricShapeIndex = 0, unsigned int elementIndex = 0); +/// @brief Gets the base point 2 Y coordinate of the geometric shape for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier. +/// @param document a pointer to the SBMLDocument object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape. +/// @param elementIndex an unsigned int representing the index of the element. +/// @return the base point 2 Y coordinate as a RelAbsVector. +LIBSBMLNETWORK_EXTERN const RelAbsVector getSpeciesReferenceLineEndingGeometricShapeBasePoint2Y(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex, unsigned int elementIndex); + +/// @brief Gets the base point 2 Y coordinate of the geometric shape for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier in the Layout with the given index of the SBML document. +/// @param document a pointer to the SBMLDocument object. +/// @param layoutIndex the index number of the Layout object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape. +/// @param elementIndex an unsigned int representing the index of the element. +/// @return the base point 2 Y coordinate as a RelAbsVector. +LIBSBMLNETWORK_EXTERN const RelAbsVector getSpeciesReferenceLineEndingGeometricShapeBasePoint2Y(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex, unsigned int elementIndex); + /// @brief Returns the base point 2 Y coordinate of the geometric shape for the LineEnding with the given identifier as a double. /// @param document a pointer to the SBMLDocument object. /// @param id a string representing the identifier of the LineEnding. @@ -3083,6 +5996,27 @@ LIBSBMLNETWORK_EXTERN const double getLineEndingGeometricShapeBasePoint2YAsDoubl /// @return the base point 2 Y coordinate as a double. LIBSBMLNETWORK_EXTERN const double getLineEndingGeometricShapeBasePoint2YAsDouble(SBMLDocument* document, unsigned int renderIndex, const std::string& id, unsigned int geometricShapeIndex = 0, unsigned int elementIndex = 0); +/// @brief Returns the base point 2 Y coordinate of the geometric shape for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier as a double. +/// @param document a pointer to the SBMLDocument object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape. +/// @param elementIndex an unsigned int representing the index of the element. +/// @return the base point 2 Y coordinate as a double. +LIBSBMLNETWORK_EXTERN const double getSpeciesReferenceLineEndingGeometricShapeBasePoint2YAsDouble(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex, unsigned int elementIndex); + +/// @brief Returns the base point 2 Y coordinate of the geometric shape for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier in the Layout with the given index of the SBML document as a double. +/// @param document a pointer to the SBMLDocument object. +/// @param layoutIndex the index number of the Layout object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape. +/// @param elementIndex an unsigned int representing the index of the element. +/// @return the base point 2 Y coordinate as a double. +LIBSBMLNETWORK_EXTERN const double getSpeciesReferenceLineEndingGeometricShapeBasePoint2YAsDouble(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex, unsigned int elementIndex); + /// @brief Sets the base point 2 Y coordinate of the geometric shape for the LineEnding with the given identifier. /// @param document A pointer to the SBMLDocument object. /// @param id A string representing the identifier of the LineEnding to modify. @@ -3102,6 +6036,50 @@ LIBSBMLNETWORK_EXTERN int setLineEndingGeometricShapeBasePoint2Y(SBMLDocument* d /// @return An integer indicating success (0) or failure (non-zero). LIBSBMLNETWORK_EXTERN int setLineEndingGeometricShapeBasePoint2Y(SBMLDocument* document, unsigned int renderIndex, const std::string& id, unsigned int geometricShapeIndex, unsigned int elementIndex, const RelAbsVector& basePoint2Y); +/// @brief Sets the base point 2 Y coordinate of the geometric shape for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier. +/// @param document a pointer to the SBMLDocument object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape. +/// @param elementIndex an unsigned int representing the index of the element. +/// @param basePoint2Y the new base point 2 Y coordinate as a RelAbsVector. +/// @return an integer indicating success (0) or failure (non-zero). +LIBSBMLNETWORK_EXTERN int setSpeciesReferenceLineEndingGeometricShapeBasePoint2Y(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex, unsigned int elementIndex, const RelAbsVector& basePoint2Y); + +/// @brief Sets the base point 2 Y coordinate of the geometric shape for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier in the Layout with the given index of the SBML document. +/// @param document a pointer to the SBMLDocument object. +/// @param layoutIndex the index number of the Layout object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape. +/// @param elementIndex an unsigned int representing the index of the element. +/// @param basePoint2Y the new base point 2 Y coordinate as a RelAbsVector. +/// @return an integer indicating success (0) or failure (non-zero). +LIBSBMLNETWORK_EXTERN int setSpeciesReferenceLineEndingGeometricShapeBasePoint2Y(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex, unsigned int elementIndex, const RelAbsVector& basePoint2Y); + +/// @brief Sets the base point 2 Y coordinate of the geometric shape for the LineEnding associated with the ReactionGlyph with the given index of the reaction with the given identifier. +/// @param document a pointer to the SBMLDocument object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape. +/// @param elementIndex an unsigned int representing the index of the element. +/// @param basePoint2Y the new base point 2 Y coordinate as a RelAbsVector. +/// @return an integer indicating success (0) or failure (non-zero). +LIBSBMLNETWORK_EXTERN int setReactionLineEndingGeometricShapeBasePoint2Y(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int geometricShapeIndex, unsigned int elementIndex, const RelAbsVector& basePoint2Y); + +/// @brief Sets the base point 2 Y coordinate of the geometric shape for the LineEnding associated with the ReactionGlyph with the given index of the reaction with the given identifier in the Layout with the given index of the SBML document. +/// @param document a pointer to the SBMLDocument object. +/// @param layoutIndex the index number of the Layout object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape. +/// @param elementIndex an unsigned int representing the index of the element. +/// @param basePoint2Y the new base point 2 Y coordinate as a RelAbsVector. +/// @return an integer indicating success (0) or failure (non-zero). +LIBSBMLNETWORK_EXTERN int setReactionLineEndingGeometricShapeBasePoint2Y(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int geometricShapeIndex, unsigned int elementIndex, const RelAbsVector& basePoint2Y); + /// @brief Sets the base point 2 Y coordinate of the geometric shape for the LineEnding with the given identifier as a double. /// @param document a pointer to the SBMLDocument object. /// @param id a string representing the identifier of the LineEnding to modify. @@ -3121,6 +6099,50 @@ LIBSBMLNETWORK_EXTERN int setLineEndingGeometricShapeBasePoint2YAsDouble(SBMLDoc /// @return an integer indicating success (0) or failure (non-zero). LIBSBMLNETWORK_EXTERN int setLineEndingGeometricShapeBasePoint2YAsDouble(SBMLDocument* document, unsigned int renderIndex, const std::string& id, unsigned int geometricShapeIndex, unsigned int elementIndex, const double& basePoint2Y); +/// @brief Sets the base point 2 Y coordinate of the geometric shape for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier as a double. +/// @param document a pointer to the SBMLDocument object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape. +/// @param elementIndex an unsigned int representing the index of the element. +/// @param basePoint2Y the new base point 2 Y coordinate as a double. +/// @return an integer indicating success (0) or failure (non-zero). +LIBSBMLNETWORK_EXTERN int setSpeciesReferenceLineEndingGeometricShapeBasePoint2YAsDouble(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex, unsigned int elementIndex, const double& basePoint2Y); + +/// @brief Sets the base point 2 Y coordinate of the geometric shape for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier in the Layout with the given index of the SBML document as a double. +/// @param document a pointer to the SBMLDocument object. +/// @param layoutIndex the index number of the Layout object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape. +/// @param elementIndex an unsigned int representing the index of the element. +/// @param basePoint2Y the new base point 2 Y coordinate as a double. +/// @return an integer indicating success (0) or failure (non-zero). +LIBSBMLNETWORK_EXTERN int setSpeciesReferenceLineEndingGeometricShapeBasePoint2YAsDouble(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex, unsigned int elementIndex, const double& basePoint2Y); + +/// @brief Sets the base point 2 Y coordinate of the geometric shape for the LineEnding associated with the ReactionGlyph with the given index of the reaction with the given identifier as a double. +/// @param document a pointer to the SBMLDocument object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape. +/// @param elementIndex an unsigned int representing the index of the element. +/// @param basePoint2Y the new base point 2 Y coordinate as a double. +/// @return an integer indicating success (0) or failure (non-zero). +LIBSBMLNETWORK_EXTERN int setReactionLineEndingGeometricShapeBasePoint2YAsDouble(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int geometricShapeIndex, unsigned int elementIndex, const double& basePoint2Y); + +/// @brief Sets the base point 2 Y coordinate of the geometric shape for the LineEnding associated with the ReactionGlyph with the given index of the reaction with the given identifier in the Layout with the given index of the SBML document as a double. +/// @param document a pointer to the SBMLDocument object. +/// @param layoutIndex the index number of the Layout object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape. +/// @param elementIndex an unsigned int representing the index of the element. +/// @param basePoint2Y the new base point 2 Y coordinate as a double. +/// @return an integer indicating success (0) or failure (non-zero). +LIBSBMLNETWORK_EXTERN int setReactionLineEndingGeometricShapeBasePoint2YAsDouble(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int geometricShapeIndex, unsigned int elementIndex, const double& basePoint2Y); + /// @brief Checks if the Href attribute of the geometric shape for the LineEnding with the given identifier is set. /// @param document A pointer to the SBMLDocument object. /// @param id A string representing the identifier of the LineEnding. @@ -3136,6 +6158,25 @@ LIBSBMLNETWORK_EXTERN bool isSetLineEndingGeometricShapeHref(SBMLDocument* docum /// @return True if the Href attribute is set, false otherwise. LIBSBMLNETWORK_EXTERN bool isSetLineEndingGeometricShapeHref(SBMLDocument* document, unsigned int renderIndex, const std::string& id, unsigned int geometricShapeIndex = 0); +/// @brief Checks if the Href attribute of the geometric shape for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier is set. +/// @param document a pointer to the SBMLDocument object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape. +/// @return True if the Href attribute is set, false otherwise. +LIBSBMLNETWORK_EXTERN bool isSetSpeciesReferenceLineEndingGeometricShapeHref(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex); + +/// @brief Checks if the Href attribute of the geometric shape for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier in the Layout with the given index of the SBML document is set. +/// @param document a pointer to the SBMLDocument object. +/// @param layoutIndex the index number of the Layout object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape. +/// @return True if the Href attribute is set, false otherwise. +LIBSBMLNETWORK_EXTERN bool isSetSpeciesReferenceLineEndingGeometricShapeHref(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex); + /// @brief Gets the Href attribute of the geometric shape for the LineEnding with the given identifier. /// @param document A pointer to the SBMLDocument object. /// @param id A string representing the identifier of the LineEnding. @@ -3151,6 +6192,25 @@ LIBSBMLNETWORK_EXTERN const std::string getLineEndingGeometricShapeHref(SBMLDocu /// @return The Href attribute as a string. LIBSBMLNETWORK_EXTERN const std::string getLineEndingGeometricShapeHref(SBMLDocument* document, unsigned int renderIndex, const std::string& id, unsigned int geometricShapeIndex = 0); +/// @brief Gets the Href attribute of the geometric shape for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier. +/// @param document a pointer to the SBMLDocument object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape. +/// @return the Href attribute as a string. +LIBSBMLNETWORK_EXTERN const std::string getSpeciesReferenceLineEndingGeometricShapeHref(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex); + +/// @brief Gets the Href attribute of the geometric shape for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier in the Layout with the given index of the SBML document. +/// @param document a pointer to the SBMLDocument object. +/// @param layoutIndex the index number of the Layout object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape. +/// @return the Href attribute as a string. +LIBSBMLNETWORK_EXTERN const std::string getSpeciesReferenceLineEndingGeometricShapeHref(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex); + /// @brief Sets the Href attribute of the geometric shape for the LineEnding with the given identifier. /// @param document A pointer to the SBMLDocument object. /// @param id A string representing the identifier of the LineEnding to modify. @@ -3168,6 +6228,46 @@ LIBSBMLNETWORK_EXTERN int setLineEndingGeometricShapeHref(SBMLDocument* document /// @return An integer indicating success (0) or failure (non-zero). LIBSBMLNETWORK_EXTERN int setLineEndingGeometricShapeHref(SBMLDocument* document, unsigned int renderIndex, const std::string& id, unsigned int geometricShapeIndex, const std::string& href); +/// @brief Sets the Href attribute of the geometric shape for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier. +/// @param document a pointer to the SBMLDocument object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape. +/// @param href the new Href attribute as a string. +/// @return an integer indicating success (0) or failure (non-zero). +LIBSBMLNETWORK_EXTERN int setSpeciesReferenceLineEndingGeometricShapeHref(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex, const std::string& href); + +/// @brief Sets the Href attribute of the geometric shape for the LineEnding associated with the SpeciesReferenceGlyph with the given index of the reaction glyph with the given index of the reaction with the given identifier in the Layout with the given index of the SBML document. +/// @param document a pointer to the SBMLDocument object. +/// @param layoutIndex the index number of the Layout object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param speciesReferenceIndex the index number of the SpeciesReference object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape. +/// @param href the new Href attribute as a string. +/// @return an integer indicating success (0) or failure (non-zero). +LIBSBMLNETWORK_EXTERN int setSpeciesReferenceLineEndingGeometricShapeHref(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int speciesReferenceIndex, unsigned int geometricShapeIndex, const std::string& href); + +/// @brief Sets the Href attribute of the geometric shape for the LineEnding associated with the ReactionGlyph with the given index of the reaction with the given identifier. +/// @param document a pointer to the SBMLDocument object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape. +/// @param href the new Href attribute as a string. +/// @return an integer indicating success (0) or failure (non-zero). +LIBSBMLNETWORK_EXTERN int setReactionLineEndingGeometricShapeHref(SBMLDocument* document, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int geometricShapeIndex, const std::string& href); + +/// @brief Sets the Href attribute of the geometric shape for the LineEnding associated with the ReactionGlyph with the given index of the reaction with the given identifier in the Layout with the given index of the SBML document. +/// @param document a pointer to the SBMLDocument object. +/// @param layoutIndex the index number of the Layout object. +/// @param reactionId a string representing the identifier of the Reaction object. +/// @param reactionGlyphIndex the index number of the ReactionGlyph object. +/// @param geometricShapeIndex an unsigned int representing the index of the geometric shape. +/// @param href the new Href attribute as a string. +/// @return an integer indicating success (0) or failure (non-zero). +LIBSBMLNETWORK_EXTERN int setReactionLineEndingGeometricShapeHref(SBMLDocument* document, unsigned int layoutIndex, const std::string& reactionId, unsigned int reactionGlyphIndex, unsigned int geometricShapeIndex, const std::string& href); + /// @brief Searches among the styles of the first render information base in the SBML document and returns one that matches this GraphicalObject attributes /// @param document a pointer to the SBMLDocument object. /// @param graphicalObject a pointer to the GraphicalObject object. @@ -3357,26 +6457,26 @@ LIBSBMLNETWORK_EXTERN Style* getStyleByType(SBMLDocument* document, const std::s /// @return a pointer to the found Style object. LIBSBMLNETWORK_EXTERN Style* getStyleByType(SBMLDocument* document, unsigned int renderIndex, const std::string& type); -/// Returns the value of the "group" element of the Style for this GraphicalObject. +/// @brief Returns the value of the "group" element of the Style for this GraphicalObject. /// @param document a pointer to the SBMLDocument object. /// @param graphicalObject a pointer to the GraphicalObject object. /// @return the value of the "group" element of the Style for this GraphicalObjet as a RenderGroup, or @c NULL if the object is @c NULL LIBSBMLNETWORK_EXTERN RenderGroup* getRenderGroup(SBMLDocument* document, GraphicalObject* graphicalObject); -/// Returns the value of the "group" element of the Style for this GraphicalObject in the render information base with the givne index of the SBML document. +/// @brief Returns the value of the "group" element of the Style for this GraphicalObject in the render information base with the givne index of the SBML document. /// @param document a pointer to the SBMLDocument object. /// @param renderIndex the index number of the RenderInformationBase object. /// @param graphicalObject a pointer to the GraphicalObject object. /// @return the value of the "group" element of the Style for this GraphicalObjet as a RenderGroup, or @c NULL if the object is @c NULL LIBSBMLNETWORK_EXTERN RenderGroup* getRenderGroup(SBMLDocument* document, unsigned int renderIndex, GraphicalObject* graphicalObject); -/// Returns the value of the "group" element of the Style that matches this attribute (id, role, type) of a GraphicalObject. +/// @brief Returns the value of the "group" element of the Style that matches this attribute (id, role, type) of a GraphicalObject. /// @param document a pointer to the SBMLDocument object. /// @param attribute the attribute (id, role, type) of a GraphicalObject. /// @return a pointer to the found Style object. LIBSBMLNETWORK_EXTERN RenderGroup* getRenderGroup(SBMLDocument* document, const std::string& attribute); -/// Returns the value of the "group" element of the Style that matches this attribute (id, role, type) of a GraphicalObject in the render information base with the givne index of the SBML document. +/// @brief Returns the value of the "group" element of the Style that matches this attribute (id, role, type) of a GraphicalObject in the render information base with the givne index of the SBML document. /// @param document a pointer to the SBMLDocument object. /// @param renderIndex the index number of the RenderInformationBase object. /// @param attribute the attribute (id, role, type) of a GraphicalObject. @@ -4495,6 +7595,10 @@ LIBSBMLNETWORK_EXTERN int setFillColor(SBMLDocument* document, GraphicalObject* /// @return integer value indicating success/failure of the function. LIBSBMLNETWORK_EXTERN int setFillColor(SBMLDocument* document, const std::string& attribute, const std::string& fillColor); +int setFillColorAsGradient(SBMLDocument* document, GraphicalObject* graphicalObject, const std::string& gradientType, std::vector> stopsVector); + +int setFillColorAsGradient(SBMLDocument* document, const std::string& attribute, const std::string& gradientType, std::vector> stopsVector); + /// @brief Returns the value of the "fill" attribute of the RenderGroup of the Style for the Compartment. /// @param document a pointer to the SBMLDocument object. /// @return the "fill" attribute of the RenderGroup of the Style for the Compartment, or @c "" if the object is @c NULL. @@ -4507,6 +7611,8 @@ LIBSBMLNETWORK_EXTERN const std::string getCompartmentFillColor(SBMLDocument* do /// @return integer value indicating success/failure of the function. LIBSBMLNETWORK_EXTERN int setCompartmentFillColor(SBMLDocument* document, unsigned int layoutIndex, const std::string& fillColor); +LIBSBMLNETWORK_EXTERN int setCompartmentFillColorAsGradient(SBMLDocument* document, unsigned int layoutIndex, const std::string& gradientType, std::vector> stopsVector); + /// @brief Returns the value of the "fill" attribute of the RenderGroup of the Style for the Species. /// @param document a pointer to the SBMLDocument object. /// @return the "fill" attribute of the RenderGroup of the Style for the Species, or @c "" if the object is @c NULL. @@ -4519,6 +7625,8 @@ LIBSBMLNETWORK_EXTERN const std::string getSpeciesFillColor(SBMLDocument* docume /// @return integer value indicating success/failure of the function. LIBSBMLNETWORK_EXTERN int setSpeciesFillColor(SBMLDocument* document, unsigned int layoutIndex, const std::string& fillColor); +LIBSBMLNETWORK_EXTERN int setSpeciesFillColorAsGradient(SBMLDocument* document, unsigned int layoutIndex, const std::string& gradientType, std::vector> stopsVector); + /// @brief Returns the value of the "fill" attribute of the RenderGroup of the Style for the Reaction. /// @param document a pointer to the SBMLDocument object. /// @return the "fill" attribute of the RenderGroup of the Style for the Reaction, or @c "" if the object is @c NULL. @@ -4531,6 +7639,8 @@ LIBSBMLNETWORK_EXTERN const std::string getReactionFillColor(SBMLDocument* docum /// @return integer value indicating success/failure of the function. LIBSBMLNETWORK_EXTERN int setReactionFillColor(SBMLDocument* document, unsigned int layoutIndex, const std::string& fillColor); +LIBSBMLNETWORK_EXTERN int setReactionFillColorAsGradient(SBMLDocument* document, unsigned int layoutIndex, const std::string& gradientType, std::vector> stopsVector); + /// @brief Sets the value of the "fill" attribute of the RenderGroup of all LineEnding objects. /// @param document a pointer to the SBMLDocument object. /// @param layoutIndex the index number of the Layout object. @@ -4538,6 +7648,8 @@ LIBSBMLNETWORK_EXTERN int setReactionFillColor(SBMLDocument* document, unsigned /// @return integer value indicating success/failure of the function. LIBSBMLNETWORK_EXTERN int setLineEndingFillColor(SBMLDocument* document, unsigned int layoutIndex, const std::string& fillColor); +LIBSBMLNETWORK_EXTERN int setLineEndingFillColorAsGradient(SBMLDocument* document, unsigned int layoutIndex, const std::string& gradientType, std::vector> stopsVector); + /// @brief Sets the value of the "fill" attribute of the RenderGroup of the Style for all GraphicalObject objects. /// @param document a pointer to the SBMLDocument object. /// @param layoutIndex the index number of the Layout object. @@ -4545,6 +7657,8 @@ LIBSBMLNETWORK_EXTERN int setLineEndingFillColor(SBMLDocument* document, unsigne /// @return integer value indicating success/failure of the function. LIBSBMLNETWORK_EXTERN int setFillColor(SBMLDocument* document, unsigned int layoutIndex, const std::string& fillColor); +LIBSBMLNETWORK_EXTERN int setFillColorAsGradient(SBMLDocument* document, unsigned int layoutIndex, const std::string& gradientType, std::vector> stopsVector); + /// @brief Predicates returning @c true if the "fill-rule" attribute of the RenderGroup of the Style for this GraphicalObject is set. /// @param document a pointer to the SBMLDocument object. /// @param graphicalObject a pointer to the GraphicalObject object. @@ -4968,7 +8082,216 @@ LIBSBMLNETWORK_EXTERN bool isText(SBMLDocument* document, GraphicalObject* graph /// it is not of type Text or is or the object is @c NULL. LIBSBMLNETWORK_EXTERN bool isText(SBMLDocument* document, const std::string& attribute, unsigned int geometricShapeIndex = 0); -/// @brief Predicates returning @c true if the "x" attribute of the Transformation2D at the given index of the RenderGroup of the Style for this GraphicalObject is set. +/// @brief Predicates returning @c true if the "storke" attribute of the Transformation2D at the given index of the RenderGroup of the Style for this GraphicalObject is set. +/// @param document a pointer to the SBMLDocument object. +/// @param graphicalObject a pointer to the GraphicalObject object. +/// @param geometricShapeIndex an unsigned int representing the index of the Transformation2D to retrieve. +/// @return @c true if the "stroke" attribute of the Transformation2D object at the given index of the RenderGroup of the Style for this GraphicalObject is set, +LIBSBMLNETWORK_EXTERN bool isSetGeometricShapeStrokeColor(SBMLDocument* document, GraphicalObject* graphicalObject, unsigned int geometricShapeIndex); + +/// @brief Predicates returning @c true if the "stroke" attribute of the Transformation2D at the given index of the RenderGroup of the Style that matches this attribute (id, role, type) of a GraphicalObject is set. +/// @param document a pointer to the SBMLDocument object. +/// @param attribute the attribute (id, role, type) of a GraphicalObject. +/// @param geometricShapeIndex an unsigned int representing the index of the Transformation2D to retrieve. +/// @return @c true if the "stroke" attribute of the Transformation2D object at the given index of the RenderGroup of the Style for this GraphicalObject is set, @c false if either the "stroke" attribute is not set or the object is @c NULL. +LIBSBMLNETWORK_EXTERN bool isSetGeometricShapeStrokeColor(SBMLDocument* document, const std::string& attribute, unsigned int geometricShapeIndex); + +/// @brief Returns the value of the "stroke" attribute of the Transformation2D at the given index of the RenderGroup of the Style for this GraphicalObject. +/// @param document a pointer to the SBMLDocument object. +/// @param graphicalObject a pointer to the GraphicalObject object. +/// @param geometricShapeIndex an unsigned int representing the index of the Transformation2D to retrieve. +/// @return the "stroke" attribute of the Transformation2D object at the given index of the RenderGroup of the Style for this GraphicalObject, or @c "" if the object is @c NULL. +LIBSBMLNETWORK_EXTERN const std::string getGeometricShapeStrokeColor(SBMLDocument* document, GraphicalObject* graphicalObject, unsigned int geometricShapeIndex); + +/// @brief Returns the value of the "stroke" attribute of the Transformation2D at the given index of the RenderGroup of the Style that matches this attribute (id, role, type) of a GraphicalObject. +/// @param document a pointer to the SBMLDocument object. +/// @param attribute the attribute (id, role, type) of a GraphicalObject. +/// @param geometricShapeIndex an unsigned int representing the index of the Transformation2D to retrieve. +/// @return the "stroke" attribute of the Transformation2D object at the given index of the RenderGroup of the Style for this GraphicalObject, or @c "" if the object is @c NULL. +LIBSBMLNETWORK_EXTERN const std::string getGeometricShapeStrokeColor(SBMLDocument* document, const std::string& attribute, unsigned int geometricShapeIndex); + +/// @brief Sets the value of the "stroke" attribute of the Transformation2D at the given index of the RenderGroup of the Style for this GraphicalObject. +/// @param document a pointer to the SBMLDocument object. +/// @param graphicalObject a pointer to the GraphicalObject object. +/// @param strokeColor a string value to use as the value of the "stroke" attribute of the Transformation2D object. +/// @return integer value indicating success/failure of the function. +LIBSBMLNETWORK_EXTERN int setGeometricShapeStrokeColor(SBMLDocument* document, GraphicalObject* graphicalObject, const std::string& strokeColor); + +/// @brief Sets the value of the "stroke" attribute of the Transformation2D at the given index of the RenderGroup of the Style for this GraphicalObject. +/// @param document a pointer to the SBMLDocument object. +/// @param graphicalObject a pointer to the GraphicalObject object. +/// @param geometricShapeIndex an unsigned int representing the index of the Transformation2D to retrieve. +/// @param strokeColor a string value to use as the value of the "stroke" attribute of the Transformation2D object. +/// @return integer value indicating success/failure of the function. +LIBSBMLNETWORK_EXTERN int setGeometricShapeStrokeColor(SBMLDocument* document, GraphicalObject* graphicalObject, unsigned int geometricShapeIndex, const std::string& strokeColor); + +/// @brief Sets the value of the "stroke" attribute of the Transformation2D at the given index of the RenderGroup of the Style that matches this attribute (id, role, type) of a GraphicalObject. +/// @param document a pointer to the SBMLDocument object. +/// @param attribute the attribute (id, role, type) of a GraphicalObject. +/// @param strokeColor a string value to use as the value of the "stroke" attribute of the Transformation2D object. +/// @return integer value indicating success/failure of the function. +LIBSBMLNETWORK_EXTERN int setGeometricShapeStrokeColor(SBMLDocument* document, const std::string& attribute, const std::string& strokeColor); + +/// @brief Sets the value of the "stroke" attribute of the Transformation2D at the given index of the RenderGroup of the Style that matches this attribute (id, role, type) of a GraphicalObject. +/// @param document a pointer to the SBMLDocument object. +/// @param attribute the attribute (id, role, type) of a GraphicalObject. +/// @param geometricShapeIndex an unsigned int representing the index of the Transformation2D to retrieve. +/// @param strokeColor a string value to use as the value of the "stroke" attribute of the Transformation2D object. +/// @return integer value indicating success/failure of the function. +LIBSBMLNETWORK_EXTERN int setGeometricShapeStrokeColor(SBMLDocument* document, const std::string& attribute, unsigned int geometricShapeIndex, const std::string& strokeColor); + +/// @brief Predicates returning @c true if the "stroke-width" attribute of the Transformation2D at the given index of the RenderGroup of the Style for this GraphicalObject is set. +/// @param document a pointer to the SBMLDocument object. +/// @param graphicalObject a pointer to the GraphicalObject object. +/// @param geometricShapeIndex an unsigned int representing the index of the Transformation2D to retrieve. +/// @return @c true if the "stroke-width" attribute of the Transformation2D object at the given index of the RenderGroup of the Style for this GraphicalObject is set, @c false if either the "stroke-width" attribute is not set or the object is @c NULL. +LIBSBMLNETWORK_EXTERN bool isSetGeometricShapeStrokeWidth(SBMLDocument* document, GraphicalObject* graphicalObject, unsigned int geometricShapeIndex); + +/// @brief Predicates returning @c true if the "stroke-width" attribute of the Transformation2D at the given index of the RenderGroup of the Style that matches this attribute (id, role, type) of a GraphicalObject is set. +/// @param document a pointer to the SBMLDocument object. +/// @param attribute the attribute (id, role, type) of a GraphicalObject. +/// @param geometricShapeIndex an unsigned int representing the index of the Transformation2D to retrieve. +/// @return @c true if the "stroke-width" attribute of the Transformation2D object at the given index of the RenderGroup of the Style for this GraphicalObject is set, @c false if either the "stroke-width" attribute is not set or the object is @c NULL. +LIBSBMLNETWORK_EXTERN bool isSetGeometricShapeStrokeWidth(SBMLDocument* document, const std::string& attribute, unsigned int geometricShapeIndex); + +/// @brief Returns the value of the "stroke-width" attribute of the Transformation2D at the given index of the RenderGroup of the Style for this GraphicalObject. +/// @param document a pointer to the SBMLDocument object. +/// @param graphicalObject a pointer to the GraphicalObject object. +/// @param geometricShapeIndex an unsigned int representing the index of the Transformation2D to retrieve. +/// @return the "stroke-width" attribute of the Transformation2D object at the given index of the RenderGroup of the Style for this GraphicalObject, or @c 0.0 if the object is @c NULL. +LIBSBMLNETWORK_EXTERN const double getGeometricShapeStrokeWidth(SBMLDocument* document, GraphicalObject* graphicalObject, unsigned int geometricShapeIndex); + +/// @brief Returns the value of the "stroke-width" attribute of the Transformation2D at the given index of the RenderGroup of the Style that matches this attribute (id, role, type) of a GraphicalObject. +/// @param document a pointer to the SBMLDocument object. +/// @param attribute the attribute (id, role, type) of a GraphicalObject. +/// @param geometricShapeIndex an unsigned int representing the index of the Transformation2D to retrieve. +/// @return the "stroke-width" attribute of the Transformation2D object at the given index of the RenderGroup of the Style for this GraphicalObject, or @c 0.0 if the object is @c NULL. +LIBSBMLNETWORK_EXTERN const double getGeometricShapeStrokeWidth(SBMLDocument* document, const std::string& attribute, unsigned int geometricShapeIndex); + +/// @brief Sets the value of the "stroke-width" attribute of the Transformation2D at the given index of the RenderGroup of the Style for this GraphicalObject. +/// @param document a pointer to the SBMLDocument object. +/// @param graphicalObject a pointer to the GraphicalObject object. +/// @param strokeWidth a double value to use as the value of the "stroke-width" attribute of the Transformation2D object. +/// @return integer value indicating success/failure of the function. +LIBSBMLNETWORK_EXTERN int setGeometricShapeStrokeWidth(SBMLDocument* document, GraphicalObject* graphicalObject, const double& strokeWidth); + +/// @brief Sets the value of the "stroke-width" attribute of the Transformation2D at the given index of the RenderGroup of the Style for this GraphicalObject. +/// @param document a pointer to the SBMLDocument object. +/// @param graphicalObject a pointer to the GraphicalObject object. +/// @param geometricShapeIndex an unsigned int representing the index of the Transformation2D to retrieve. +/// @param strokeWidth a double value to use as the value of the "stroke-width" attribute of the Transformation2D object. +/// @return integer value indicating success/failure of the function. +LIBSBMLNETWORK_EXTERN int setGeometricShapeStrokeWidth(SBMLDocument* document, GraphicalObject* graphicalObject, unsigned int geometricShapeIndex, const double& strokeWidth); + +/// @brief Sets the value of the "stroke-width" attribute of the Transformation2D at the given index of the RenderGroup of the Style that matches this attribute (id, role, type) of a GraphicalObject. +/// @param document a pointer to the SBMLDocument object. +/// @param attribute the attribute (id, role, type) of a GraphicalObject. +/// @param strokeWidth a double value to use as the value of the "stroke-width" attribute of the Transformation2D object. +/// @return integer value indicating success/failure of the function. +LIBSBMLNETWORK_EXTERN int setGeometricShapeStrokeWidth(SBMLDocument* document, const std::string& attribute, const double& strokeWidth); + +/// @brief Sets the value of the "stroke-width" attribute of the Transformation2D at the given index of the RenderGroup of the Style that matches this attribute (id, role, type) of a GraphicalObject. +/// @param document a pointer to the SBMLDocument object. +/// @param attribute the attribute (id, role, type) of a GraphicalObject. +/// @param geometricShapeIndex an unsigned int representing the index of the Transformation2D to retrieve. +/// @param strokeWidth a double value to use as the value of the "stroke-width" attribute of the Transformation2D object. +/// @return integer value indicating success/failure of the function. +LIBSBMLNETWORK_EXTERN int setGeometricShapeStrokeWidth(SBMLDocument* document, const std::string& attribute, unsigned int geometricShapeIndex, const double& strokeWidth); + +/// @brief Predicates returning @c true if the "fill" attribute of the Transformation2D at the given index of the RenderGroup of the Style for this GraphicalObject is set. +/// @param document a pointer to the SBMLDocument object. +/// @param graphicalObject a pointer to the GraphicalObject object. +/// @param geometricShapeIndex an unsigned int representing the index of the Transformation2D to retrieve. +/// @return @c true if the "fill" attribute of the Transformation2D object at the given index of the RenderGroup of the Style for this GraphicalObject is set, @c false if either the "fill" attribute is not set or the object is @c NULL. +LIBSBMLNETWORK_EXTERN bool isSetGeometricShapeFillColor(SBMLDocument* document, GraphicalObject* graphicalObject, unsigned int geometricShapeIndex); + +/// @brief Predicates returning @c true if the "fill" attribute of the Transformation2D at the given index of the RenderGroup of the Style that matches this attribute (id, role, type) of a GraphicalObject is set. +/// @param document a pointer to the SBMLDocument object. +/// @param attribute the attribute (id, role, type) of a GraphicalObject. +/// @param geometricShapeIndex an unsigned int representing the index of the Transformation2D to retrieve. +/// @return @c true if the "fill" attribute of the Transformation2D object at the given index of the RenderGroup of the Style for this GraphicalObject is set, @c false if either the "fill" attribute is not set or the object is @c NULL. +LIBSBMLNETWORK_EXTERN bool isSetGeometricShapeFillColor(SBMLDocument* document, const std::string& attribute, unsigned int geometricShapeIndex); + +/// @brief Returns the value of the "fill" attribute of the Transformation2D at the given index of the RenderGroup of the Style for this GraphicalObject. +/// @param document a pointer to the SBMLDocument object. +/// @param graphicalObject a pointer to the GraphicalObject object. +/// @param geometricShapeIndex an unsigned int representing the index of the Transformation2D to retrieve. +/// @return the "fill" attribute of the Transformation2D object at the given index of the RenderGroup of the Style for this GraphicalObject, or @c "" if the object is @c NULL. +LIBSBMLNETWORK_EXTERN const std::string getGeometricShapeFillColor(SBMLDocument* document, GraphicalObject* graphicalObject, unsigned int geometricShapeIndex); + +/// @brief Returns the value of the "fill" attribute of the Transformation2D at the given index of the RenderGroup of the Style that matches this attribute (id, role, type) of a GraphicalObject. +/// @param document a pointer to the SBMLDocument object. +/// @param attribute the attribute (id, role, type) of a GraphicalObject. +/// @param geometricShapeIndex an unsigned int representing the index of the Transformation2D to retrieve. +/// @return the "fill" attribute of the Transformation2D object at the given index of the RenderGroup of the Style for this GraphicalObject, or @c "" if the object is @c NULL. +LIBSBMLNETWORK_EXTERN const std::string getGeometricShapeFillColor(SBMLDocument* document, const std::string& attribute, unsigned int geometricShapeIndex); + +/// @brief Sets the value of the "fill" attribute of the Transformation2D at the given index of the RenderGroup of the Style for this GraphicalObject. +/// @param document a pointer to the SBMLDocument object. +/// @param graphicalObject a pointer to the GraphicalObject object. +/// @param fillColor a string value to use as the value of the "fill" attribute of the Transformation2D object. +/// @return integer value indicating success/failure of the function. +LIBSBMLNETWORK_EXTERN int setGeometricShapeFillColor(SBMLDocument* document, GraphicalObject* graphicalObject, const std::string& fillColor); + +/// @brief Sets the value of the "fill" attribute of the Transformation2D at the given index of the RenderGroup of the Style for this GraphicalObject in the form of a gradient. +/// @param document a pointer to the SBMLDocument object. +/// @param graphicalObject a pointer to the GraphicalObject object. +/// @param gradientType a string value that determines what type of gradient (linear or radial) to use. +/// @param stopsVector a vector of pairs of strings and doubles that represent the color and offset of the gradient stops. +/// @return integer value indicating success/failure of the function. +LIBSBMLNETWORK_EXTERN int setGeometricShapeFillColorAsGradient(SBMLDocument* document, GraphicalObject* graphicalObject, const std::string& gradientType, std::vector> stopsVector); + +/// @brief Sets the value of the "fill" attribute of the Transformation2D at the given index of the RenderGroup of the Style for this GraphicalObject. +/// @param document a pointer to the SBMLDocument object. +/// @param graphicalObject a pointer to the GraphicalObject object. +/// @param geometricShapeIndex an unsigned int representing the index of the Transformation2D to retrieve. +/// @param fillColor a string value to use as the value of the "fill" attribute of the Transformation2D object. +/// @return integer value indicating success/failure of the function. +LIBSBMLNETWORK_EXTERN int setGeometricShapeFillColor(SBMLDocument* document, GraphicalObject* graphicalObject, unsigned int geometricShapeIndex, const std::string& fillColor); + +/// @brief Sets the value of the "fill" attribute of the Transformation2D at the given index of the RenderGroup of the Style for this GraphicalObject in the form of a gradient. +/// @param document a pointer to the SBMLDocument object. +/// @param graphicalObject a pointer to the GraphicalObject object. +/// @param geometricShapeIndex an unsigned int representing the index of the Transformation2D to retrieve. +/// @param gradientType a string value that determines what type of gradient (linear or radial) to use. +/// @param stopsVector a vector of pairs of strings and doubles that represent the color and offset of the gradient stops. +/// @return integer value indicating success/failure of the function. +LIBSBMLNETWORK_EXTERN int setGeometricShapeFillColorAsGradient(SBMLDocument* document, GraphicalObject* graphicalObject, unsigned int geometricShapeIndex, const std::string& gradientType, std::vector> stopsVector); + +/// @brief Sets the value of the "fill" attribute of the Transformation2D at the given index of the RenderGroup of the Style that matches this attribute (id, role, type) of a GraphicalObject. +/// @param document a pointer to the SBMLDocument object. +/// @param attribute the attribute (id, role, type) of a GraphicalObject. +/// @param fillColor a string value to use as the value of the "fill" attribute of the Transformation2D object. +/// @return integer value indicating success/failure of the function. +LIBSBMLNETWORK_EXTERN int setGeometricShapeFillColor(SBMLDocument* document, const std::string& attribute, const std::string& fillColor); + + +/// @brief Sets the value of the "fill" attribute of the Transformation2D at the given index of the RenderGroup of the Style that matches this attribute (id, role, type) of a GraphicalObject in the form of a gradient. +/// @param document a pointer to the SBMLDocument object. +/// @param attribute the attribute (id, role, type) of a GraphicalObject. +/// @param gradientType a string value that determines what type of gradient (linear or radial) to use. +/// @param stopsVector a vector of pairs of strings and doubles that represent the color and offset of the gradient stops. +/// @return integer value indicating success/failure of the function. +LIBSBMLNETWORK_EXTERN int setGeometricShapeFillColorAsGradient(SBMLDocument* document, const std::string& attribute, const std::string& gradientType, std::vector> stopsVector); + +/// @brief Sets the value of the "fill" attribute of the Transformation2D at the given index of the RenderGroup of the Style that matches this attribute (id, role, type) of a GraphicalObject. +/// @param document a pointer to the SBMLDocument object. +/// @param attribute the attribute (id, role, type) of a GraphicalObject. +/// @param geometricShapeIndex an unsigned int representing the index of the Transformation2D to retrieve. +/// @param fillColor a string value to use as the value of the "fill" attribute of the Transformation2D object. +/// @return integer value indicating success/failure of the function. +LIBSBMLNETWORK_EXTERN int setGeometricShapeFillColor(SBMLDocument* document, const std::string& attribute, unsigned int geometricShapeIndex, const std::string& fillColor); + +/// @brief Sets the value of the "fill" attribute of the Transformation2D at the given index of the RenderGroup of the Style that matches this attribute (id, role, type) of a GraphicalObject in the form of a gradient. +/// @param document a pointer to the SBMLDocument object. +/// @param attribute the attribute (id, role, type) of a GraphicalObject. +/// @param geometricShapeIndex an unsigned int representing the index of the Transformation2D to retrieve. +/// @param gradientType a string value that determines what type of gradient (linear or radial) to use. +/// @param stopsVector a vector of pairs of strings and doubles that represent the color and offset of the gradient stops. +/// @return integer value indicating success/failure of the function. +LIBSBMLNETWORK_EXTERN int setGeometricShapeFillColorAsGradient(SBMLDocument* document, const std::string& attribute, unsigned int geometricShapeIndex, const std::string& gradientType, std::vector> stopsVector); + +// @brief Predicates returning @c true if the "x" attribute of the Transformation2D at the given index of the RenderGroup of the Style for this GraphicalObject is set. /// @param document a pointer to the SBMLDocument object. /// @param graphicalObject a pointer to the GraphicalObject object. /// @param geometricShapeIndex an unsigned int representing the index of the Transformation2D to retrieve. diff --git a/src/styles/libsbmlnetwork_styles.cpp b/src/styles/libsbmlnetwork_styles.cpp index 84a9c4e4..9386326f 100644 --- a/src/styles/libsbmlnetwork_styles.cpp +++ b/src/styles/libsbmlnetwork_styles.cpp @@ -812,10 +812,8 @@ namespace LIBSBMLNETWORK_CPP_NAMESPACE { }); const int scoreThreshold = 15; - if (styleScores.at(0).second <= scoreThreshold) { - std::cerr << "error: no predefined style found" << std::endl; + if (styleScores.at(0).second <= scoreThreshold) return ""; - } return styleScores.at(0).first; }