Declares class GraphIO which provides access to all graph read and write functionality.
Class for adjacency list elements.
Representation of clusters in a clustered graph.
Stores additional attributes of a clustered graph (like layout information).
Rectangles with real coordinates.
Class for the representation of edges.
Stores additional attributes of a graph (like layout information).
Condensed settings for drawing SVGs.
Doubly linked lists (maintaining the length of the list).
Class for the representation of nodes.
SvgPrinter(const GraphAttributes &attr, const GraphIO::SVGSettings &settings)
Creates a new SVG Printer for a ogdf::Graph.
void drawLines(std::stringstream &ss, List< DPoint > &points)
Draws a list of points as straight lines.
bool isArrowEnabled(adjEntry adj)
Returns whether an edge arrow is to be drawn.
pugi::xml_node writeHeader(pugi::xml_document &doc)
Writes the header including the bounding box as the viewport.
void appendLineStyle(pugi::xml_node line, edge e, bool isArrowHead=false)
Writes the requested line style to the line's XML-node.
void drawBezierPath(std::stringstream &ss, List< DPoint > &points)
Draws a list of points using cubic Bézier interpolation.
void drawBezier(std::stringstream &ss, const DPoint &p1, const DPoint &p2, const DPoint &c1, const DPoint &c2)
Draws a cubic Bezíer path.
const ClusterGraphAttributes * m_clsAttr
attributes of the cluster graph (nullptr if no cluster graph)
void writeDashArray(pugi::xml_node xmlNode, StrokeType lineStyle, double lineWidth)
Generates a string that describes the requested dash type.
DRect m_bbox
cached bounding box of the graph to be visualized
double getArrowSize(adjEntry adj)
Returns the size of the arrow.
const GraphIO::SVGSettings & m_settings
SVG configuration.
bool draw(std::ostream &os)
Prints the graph and attributes of this printer to the given output stream.
void drawEdge(pugi::xml_node xmlNode, edge e)
Draws a sequence of lines for an edge.
void drawRoundPath(std::stringstream &ss, List< DPoint > &points)
Draws a list of points as straight lines connected by circular arcs.
void drawEdges(pugi::xml_node xmlNode)
Draws a sequence of lines for each edge in the graph.
void drawArrowHead(pugi::xml_node xmlNode, const DPoint &start, DPoint &end, adjEntry adj)
Draws an arrow head at the end of the edge.
void drawClusters(pugi::xml_node xmlNode)
Draws a rectangle for each cluster in the ogdf::ClusterGraph.
void drawCluster(pugi::xml_node xmlNode, cluster c)
Draws a single cluster as a rectangle.
void drawNodes(pugi::xml_node xmlNode)
Draws all nodes of the graph.
const GraphAttributes & m_attr
attributes of the graph to be visualized
void drawNode(pugi::xml_node xmlNode, node v)
Draws a single node.
SvgPrinter(const ClusterGraphAttributes &attr, const GraphIO::SVGSettings &settings)
Creates a new SVG Printer for a ogdf::ClusterGraph.
pugi::xml_node drawPolygon(pugi::xml_node xmlNode, const std::list< double > points)
Draws a polygon with the respective points.
void drawLine(std::stringstream &ss, const DPoint &p1, const DPoint &p2)
Draws the path corresponding to a single line to the stream.
bool isCoveredBy(const DPoint &point, adjEntry adj)
Determines whether a candidate arrow tip lies inside the rectangle of the node.
pugi::xml_node drawCurve(pugi::xml_node xmlNode, edge e, List< DPoint > &points)
Draws the curve depicting a particular edge.
StrokeType
Line types of strokes.
static MultilevelBuilder * getDoubleFactoredZeroAdjustedMerger()
The namespace for all OGDF objects.