81 static const long all;
86 using GraphAttributes::height;
87 using GraphAttributes::width;
88 using GraphAttributes::x;
89 using GraphAttributes::y;
91 using GraphAttributes::label;
93 using GraphAttributes::strokeColor;
94 using GraphAttributes::strokeType;
95 using GraphAttributes::strokeWidth;
97 using GraphAttributes::fillBgColor;
98 using GraphAttributes::fillColor;
99 using GraphAttributes::fillPattern;
111 long initAttributes = nodeGraphics | edgeGraphics | clusterGraphics);
117 using GraphAttributes::init;
239 return m_stroke[c].m_type;
248 return m_stroke[c].m_type;
257 return m_stroke[c].m_color;
266 return m_stroke[c].m_color;
275 return m_stroke[c].m_width;
284 return m_stroke[c].m_width;
293 return m_fill[c].m_pattern;
302 return m_fill[c].m_pattern;
311 return m_fill[c].m_color;
320 return m_fill[c].m_color;
329 return m_fill[c].m_bgColor;
338 return m_fill[c].m_bgColor;
365 return m_clusterTemplate[c];
374 return m_clusterTemplate[c];
383 using GraphAttributes::flipHorizontal;
384 using GraphAttributes::flipVertical;
385 using GraphAttributes::scale;
395 virtual void scale(
double sx,
double sy,
bool scaleNodes =
true)
override;
Declaration and implementation of ClusterArray class.
Declaration of class GraphAttributes which extends a Graph by additional attributes.
Dynamic arrays indexed with clusters.
Representation of clusters in a clustered graph.
Stores additional attributes of a clustered graph (like layout information).
ClusterArray< string > m_label
Cluster label.
FillPattern & fillPattern(cluster c)
Returns the fill pattern of cluster c.
void addAttributes(long attr)
Enables attributes specified by attr and allocates required memory.
double x(cluster c) const
Returns the x-position of cluster c's cage (lower left corner).
float & strokeWidth(cluster c)
Returns the stroke width of cluster c.
void init(long attr=0)
Re-initializes the ClusterGraphAttributes while maintaining the associated CluterGraph.
const FillPattern & fillPattern(cluster c) const
Returns the fill pattern of cluster c.
ClusterArray< double > m_x
X-position of lower left corner.
static const long clusterTemplate
Corresponds to cluster attribute templateCluster(cluster).
double & height(cluster c)
Returns the height of cluster c.
ClusterArray< double > m_y
Y-position of lower left corner.
const float & strokeWidth(cluster c) const
Returns the stroke width of cluster c.
const string & templateCluster(cluster c) const
Returns the template of cluster c.
static const long clusterStyle
Corresponds to cluster attributes strokeColor(cluster), strokeType(cluster), strokeWidth(cluster),...
ClusterArray< Fill > m_fill
Fill (style of interior)
string & label(cluster c)
Returns the label of cluster c.
double width(cluster c) const
Returns the width of cluster c.
const Color & strokeColor(cluster c) const
Returns the stroke color of cluster c.
const string & label(cluster c) const
Returns the label of cluster c.
static const long clusterGraphics
Corresponds to cluster attributes x(cluster), y(cluster), width(cluster), height(cluster).
void destroyAttributes(long attr)
Disables attributes specified by attr and releases available memory.
ClusterArray< Stroke > m_stroke
Stroke (style of boundary)
const ClusterGraph & constClusterGraph() const
Returns the associated cluster graph.
virtual DRect boundingBox() const override
Returns the bounding box of the layout.
ClusterArray< string > m_clusterTemplate
Name of cluster template.
ClusterGraphAttributes(const ClusterGraph &cg, long initAttributes=nodeGraphics|edgeGraphics|clusterGraphics)
Constructs cluster graph attributes for cluster graph cg with attributes initAttributes.
ClusterGraphAttributes()
Constructs cluster graph attributes for no associated graph.
static const long clusterLabel
Corresponds to cluster attribute label(cluster).
const Color & fillBgColor(cluster c) const
Returns the background color of fill patterns for cluster c.
virtual void translate(double dx, double dy) override
Translates the layout by (dx,dy).
ClusterArray< double > m_height
Cluster height.
double y(cluster c) const
Returns the y-position of cluster c's cage (lower left corner).
virtual void flipVertical(const DRect &box) override
Flips the (whole) layout vertically such that the part in box remains in this area.
cluster clusterOf(node v)
Returns the parent cluster of node v.
static const long all
Enables all available flags.
const ClusterGraph * m_pClusterGraph
Only points to existing graphs.
virtual void flipHorizontal(const DRect &box) override
Flips the (whole) layout horizontally such that the part in box remains in this area.
double & width(cluster c)
Returns the width of cluster c.
string & templateCluster(cluster c)
Returns the template of cluster c.
ClusterArray< double > m_width
Cluster width.
virtual void scale(double sx, double sy, bool scaleNodes=true) override
Scales the layout by (sx,sy).
Color & fillColor(cluster c)
Returns the fill color of cluster c.
double height(cluster c) const
Returns the height of cluster c.
void updateClusterPositions(double boundaryDist=1.0)
Updates positions of cluster boundaries wrt to children and child clusters.
virtual ~ClusterGraphAttributes()
void destroyClusterAttributes(long attr)
Destroy all cluster-related attributes in attr.
double & x(cluster c)
Returns the x-position of cluster c's cage (lower left corner).
const Color & fillColor(cluster c) const
Returns the fill color of cluster c.
const StrokeType & strokeType(cluster c) const
Returns the stroke type of cluster c.
double & y(cluster c)
Returns the y-position of cluster c's cage (lower left corner).
Color & strokeColor(cluster c)
Returns the stroke color of cluster c.
Color & fillBgColor(cluster c)
Returns the background color of fill patterns for cluster c.
StrokeType & strokeType(cluster c)
Returns the stroke type of cluster c.
void init(ClusterGraph &cg, long attr=0)
Initializes the ClusterGraphAttributes for ClusterGraph cg.
void addClusterAttributes(long attr)
Add all cluster-related attributes in attr.
Representation of clustered graphs.
cluster clusterOf(node v) const
Returns the cluster to which a node belongs.
Colors represented as RGBA values.
Rectangles with real coordinates.
Stores additional attributes of a graph (like layout information).
Class for the representation of nodes.
#define OGDF_EXPORT
Specifies that a function or class is exported by the OGDF DLL.
FillPattern
Fill patterns.
StrokeType
Line types of strokes.
#define OGDF_ASSERT(expr)
Assert condition expr. See doc/build.md for more information.
static MultilevelBuilder * getDoubleFactoredZeroAdjustedMerger()
The namespace for all OGDF objects.