85 bool draw(std::ostream& os);
Derived class of GraphObserver providing additional functionality to handle clustered graphs.
Declares ClusterGraphAttributes, an extension of class GraphAttributes, to store clustergraph layout ...
Includes declaration of graph class.
Declares class GraphIO which provides access to all graph read and write functionality.
Declaration of classes GenericPoint, GenericPolyline, GenericLine, GenericSegment,...
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.
bool isCoveredBy(const DPoint &point, adjEntry adj) const
Determines whether a candidate arrow tip lies inside the rectangle of the node.
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.
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.
The namespace for all OGDF objects.
HypergraphRegistry< HypernodeElement >::iterator end(const HypergraphRegistry< HypernodeElement > &self)