Open
Graph Drawing
Framework

 v. 2023.09 (Elderberry)
 

ogdf::GraphAttributes Class Reference

Stores additional attributes of a graph (like layout information). More...

#include <ogdf/basic/GraphAttributes.h>

+ Inheritance diagram for ogdf::GraphAttributes:

Public Member Functions

Construction and management of attributes
 GraphAttributes ()
 Constructs graph attributes for no associated graph (default constructor). More...
 
 GraphAttributes (const Graph &G, long attr=nodeGraphics|edgeGraphics)
 Constructs graph attributes associated with the graph G. More...
 
virtual ~GraphAttributes ()=default
 
long attributes () const
 Returns currently accessible attributes. More...
 
bool has (long attr) const
 Returns true iff all attributes in attr are available. More...
 
virtual void init (const Graph &G, long attr)
 Initializes the graph attributes for graph G. More...
 
void init (long attr)
 Re-initializes the graph attributes while maintaining the associated graph. More...
 
void addAttributes (long attr)
 Enables attributes specified by attr and allocates required memory. More...
 
void destroyAttributes (long attr)
 Disables attributes specified by attr and releases available memory. More...
 
const GraphconstGraph () const
 Returns a reference to the associated graph. More...
 
General attributes
bool directed () const
 Returns if the graph is directed. More...
 
bool & directed ()
 Returns if the graph is directed. More...
 
Node attributes
double x (node v) const
 Returns the x-coordinate of node v. More...
 
double & x (node v)
 Returns the x-coordinate of node v. More...
 
double y (node v) const
 Returns the y-coordinate of node v. More...
 
double & y (node v)
 Returns the y-coordinate of node v. More...
 
double z (node v) const
 Returns the z-coordinate of node v. More...
 
double & z (node v)
 Returns the z-coordinate of node v. More...
 
double xLabel (node v) const
 Returns the label x-coordinate of node v. More...
 
double & xLabel (node v)
 Returns the label x-coordinate of node v. More...
 
double yLabel (node v) const
 Returns the label y-coordinate of node v. More...
 
double & yLabel (node v)
 Returns the label y-coordinate of node v. More...
 
double zLabel (node v) const
 Returns the label z-coordinate of node v. More...
 
double & zLabel (node v)
 Returns the label z-coordinate of node v. More...
 
double width (node v) const
 Returns the width of the bounding box of node v. More...
 
double & width (node v)
 Returns the width of the bounding box of node v. More...
 
const NodeArray< double > & width () const
 Returns a reference to the node array m_width. More...
 
NodeArray< double > & width ()
 Returns a reference to the node array #m_width. More...
 
double height (node v) const
 Returns the height of the bounding box of node v. More...
 
double & height (node v)
 Returns the height of the bounding box of node v. More...
 
const NodeArray< double > & height () const
 Returns a reference to the node array m_height. More...
 
NodeArray< double > & height ()
 Returns a reference to the node array m_height. More...
 
Shape shape (node v) const
 Returns the shape type of node v. More...
 
Shapeshape (node v)
 Returns the shape type of node v. More...
 
StrokeType strokeType (node v) const
 Returns the stroke type of node v. More...
 
StrokeTypestrokeType (node v)
 Returns the stroke type of node v. More...
 
const ColorstrokeColor (node v) const
 Returns the stroke color of node v. More...
 
ColorstrokeColor (node v)
 Returns the stroke color of node v. More...
 
float strokeWidth (node v) const
 Returns the stroke width of node v. More...
 
float & strokeWidth (node v)
 Returns the stroke width of node v. More...
 
FillPattern fillPattern (node v) const
 Returns the fill pattern of node v. More...
 
FillPatternfillPattern (node v)
 Returns the fill pattern of node v. More...
 
const ColorfillColor (node v) const
 Returns the fill color of node v. More...
 
ColorfillColor (node v)
 Returns the fill color of node v. More...
 
const ColorfillBgColor (node v) const
 Returns the background color of fill patterns for node v. More...
 
ColorfillBgColor (node v)
 Returns the background color of fill patterns for node v. More...
 
const string & label (node v) const
 Returns the label of node v. More...
 
string & label (node v)
 Returns the label of node v. More...
 
const string & templateNode (node v) const
 Returns the template name of node v. More...
 
string & templateNode (node v)
 Returns the template name of node v. More...
 
int weight (node v) const
 Returns the weight of node v. More...
 
int & weight (node v)
 Returns the weight of node v. More...
 
Graph::NodeType type (node v) const
 Returns the type of node v. More...
 
Graph::NodeTypetype (node v)
 Returns the type of node v. More...
 
int idNode (node v) const
 Returns the user ID of node v. More...
 
int & idNode (node v)
 Returns the user ID of node v. More...
 
Edge attributes
const DPolylinebends (edge e) const
 Returns the list of bend points of edge e. More...
 
DPolylinebends (edge e)
 Returns the list of bend points of edge e. More...
 
EdgeArrow arrowType (edge e) const
 Returns the arrow type of edge e. More...
 
EdgeArrowarrowType (edge e)
 Returns the arrow type of edge e. More...
 
StrokeType strokeType (edge e) const
 Returns the stroke type of edge e. More...
 
StrokeTypestrokeType (edge e)
 Returns the stroke type of edge e. More...
 
const ColorstrokeColor (edge e) const
 Returns the stroke color of edge e. More...
 
ColorstrokeColor (edge e)
 Returns the stroke color of edge e. More...
 
float strokeWidth (edge e) const
 Returns the stroke width of edge e. More...
 
float & strokeWidth (edge e)
 Returns the stroke width of edge e. More...
 
const string & label (edge e) const
 Returns the label of edge e. More...
 
string & label (edge e)
 Returns the label of edge e. More...
 
int intWeight (edge e) const
 Returns the (integer) weight of edge e. More...
 
int & intWeight (edge e)
 Returns the (integer) weight of edge e. More...
 
double doubleWeight (edge e) const
 Returns the (real number) weight of edge e. More...
 
double & doubleWeight (edge e)
 Returns the (real number) weight of edge e. More...
 
Graph::EdgeType type (edge e) const
 Returns the type of edge e. More...
 
Graph::EdgeTypetype (edge e)
 Returns the type of edge e. More...
 
uint32_t subGraphBits (edge e) const
 Returns the edgesubgraph value of an edge e. More...
 
uint32_t & subGraphBits (edge e)
 Returns the edgesubgraph value of an edge e. More...
 
bool inSubGraph (edge e, int n) const
 Checks whether edge e belongs to basic graph n. More...
 
void addSubGraph (edge e, int n)
 Adds edge e to basic graph n. More...
 
void removeSubGraph (edge e, int n)
 Removes edge e from basic graph n. More...
 
Layout transformations
virtual void scale (double sx, double sy, bool scaleNodes=true)
 Scales the layout by (sx,sy). More...
 
virtual void scale (double s, bool scaleNodes=true)
 Scales the layout by s. More...
 
virtual void translate (double dx, double dy)
 Translates the layout by (dx,dy). More...
 
virtual void translateToNonNeg ()
 Translates the layout such that the lower left corner is at (0,0). More...
 
virtual void flipVertical ()
 Flips the layout vertically within its bounding box. More...
 
virtual void flipVertical (const DRect &box)
 Flips the (whole) layout vertically such that the part in box remains in this area. More...
 
virtual void flipHorizontal ()
 Flips the layout horizontally within its bounding box. More...
 
virtual void flipHorizontal (const DRect &box)
 Flips the (whole) layout horizontally such that the part in box remains in this area. More...
 
virtual void scaleAndTranslate (double sx, double sy, double dx, double dy, bool scaleNodes=true)
 Scales the layout by (sx,sy) and then translates it by (dx,dy). More...
 
virtual void scaleAndTranslate (double s, double dx, double dy, bool scaleNodes=true)
 Scales the layout by s and then translates it by (dx,dy). More...
 
virtual void rotateRight90 ()
 Rotates the layout by 90 degree (in clockwise direction) around the origin. More...
 
virtual void rotateLeft90 ()
 Rotates the layout by 90 degree (in counter-clockwise direction) around the origin. More...
 

Static Public Attributes

Flags for enabling attributes.
static const long nodeGraphics
 Corresponds to node attributes x(node), y(node), width(node), height(node), and shape(node). More...
 
static const long edgeGraphics
 Corresponds to edge attribute bends(edge). More...
 
static const long edgeIntWeight
 Corresponds to edge attribute intWeight(edge). More...
 
static const long edgeDoubleWeight
 Corresponds to edge attribute doubleWeight(edge). More...
 
static const long edgeLabel
 Corresponds to edge attribute label(edge). More...
 
static const long nodeLabel
 Corresponds to node attribute label(node). More...
 
static const long edgeType
 Corresponds to edge attribute type(edge). More...
 
static const long nodeType
 Corresponds to node attribute type(node). More...
 
static const long nodeId
 Corresponds to node attribute idNode(node). More...
 
static const long edgeArrow
 Corresponds to edge attribute arrowType(edge). More...
 
static const long edgeStyle
 Corresponds to edge attributes strokeColor(edge), strokeType(edge), and strokeWidth(edge). More...
 
static const long nodeStyle
 Corresponds to node attributes strokeColor(node), strokeType(node), strokeWidth(node), fillPattern(node), fillColor(node), and fillBgColor(node). More...
 
static const long nodeTemplate
 Corresponds to node attribute templateNode(node). More...
 
static const long edgeSubGraphs
 Corresponds to edge attributes modified by addSubGraph(edge, int), inSubGraph(edge, int) const, and removeSubGraph(edge, int). More...
 
static const long nodeWeight
 Corresponds to node attribute weight(node). More...
 
static const long threeD
 Corresponds to node attribute z(node). Note that all methods work on 2D coordinates only. More...
 
static const long nodeLabelPosition
 Corresponds to node attributes xLabel(node), yLabel(node), and zLabel(node). More...
 
static const long all
 Enables all available flags. More...
 

Protected Attributes

long m_attributes
 bit vector of currently used attributes More...
 
EdgeArray< DPolylinem_bends
 list of bend points of an edge More...
 
bool m_directed
 whether or not the graph is directed More...
 
EdgeArray< double > m_doubleWeight
 (real number) weight of an edge More...
 
EdgeArray< EdgeArrowm_edgeArrow
 arrow type of an edge More...
 
EdgeArray< string > m_edgeLabel
 label of an edge More...
 
EdgeArray< Strokem_edgeStroke
 stroke of an edge More...
 
EdgeArray< Graph::EdgeTypem_eType
 type of an edge (association or generalization) More...
 
NodeArray< double > m_height
 height of a nodes's bounding box More...
 
EdgeArray< int > m_intWeight
 (integer) weight of an edge More...
 
NodeArray< Fillm_nodeFill
 fill of a node More...
 
NodeArray< int > m_nodeId
 user ID of a node More...
 
NodeArray< int > m_nodeIntWeight
 (integer) weight of a node More...
 
NodeArray< string > m_nodeLabel
 label of a node More...
 
NodeArray< double > m_nodeLabelPosX
 x-coordinate of a node label More...
 
NodeArray< double > m_nodeLabelPosY
 y-coordinate of a node label More...
 
NodeArray< double > m_nodeLabelPosZ
 z-coordinate of a node label More...
 
NodeArray< Shapem_nodeShape
 shape of a node More...
 
NodeArray< Strokem_nodeStroke
 stroke of a node More...
 
NodeArray< string > m_nodeTemplate
 name of template of a node More...
 
const Graphm_pGraph
 associated graph More...
 
EdgeArray< uint32_t > m_subGraph
 is element of subgraphs given by bitvector More...
 
NodeArray< Graph::NodeTypem_vType
 type (vertex, dummy, generalizationMerger) More...
 
NodeArray< double > m_width
 width of a node's bounding box More...
 
NodeArray< double > m_x
 x-coordinate of a node More...
 
NodeArray< double > m_y
 y-coordinate of a node More...
 
NodeArray< double > m_z
 z-coordinate of a node More...
 

Private Member Functions

void copyEdgeAttributes (GraphAttributes &toAttr, edge eFrom, edge eTo, long attrs) const
 Copies all attributes attrs except bends (!) of eFrom to toAttr for eTo. More...
 
void copyNodeAttributes (GraphAttributes &toAttr, node vFrom, node vTo, long attrs) const
 Copies all attributes attrs of vFrom to toAttr for vTo. More...
 

Utility functions

template<typename T >
using NodeAttributeGetter = T(GraphAttributes::*)(node) const
 type of node attribute getter functions More...
 
template<typename T >
using EdgeAttributeGetter = T(GraphAttributes::*)(edge) const
 type of edge attribute getter functions More...
 
template<typename T >
bool isUniformForNodes (NodeAttributeGetter< T > attribute) const
 Checks whether a certain attribute has the same value for all nodes. More...
 
template<typename T >
bool isUniformForEdges (EdgeAttributeGetter< T > attribute) const
 Checks whether a certain attribute has the same value for all edges. More...
 
bool isUniform (long attributes) const
 Check whether all of the attributes associated with the bitflags in attributes (that are also enabled for this ogdf::GraphAttributes instance) are uniform, i.e. More...
 
DPoint point (node v) const
 Returns a DPoint corresponding to the x- and y-coordinates of v. More...
 
void transferToOriginal (GraphAttributes &origAttr) const
 Copies attributes of this to origAttr. More...
 
void transferToCopy (GraphAttributes &copyAttr) const
 Copies attributes of this to copyAttr. More...
 
virtual DRect boundingBox () const
 Returns the bounding box of the graph. More...
 
template<class Rectangle = DRect>
void nodeBoundingBoxes (NodeArray< Rectangle > &boundingBoxes) const
 Computes the bounding rectangle for each node. More...
 
void setAllWidth (double w)
 Sets the width of all nodes to w. More...
 
void setAllHeight (double h)
 Sets the height of all nodes to h. More...
 
void clearAllBends ()
 Removes all edge bends. More...
 
void removeUnnecessaryBendsHV ()
 Removes unnecessary bend points in orthogonal segements. More...
 
void addNodeCenter2Bends (int mode=1)
 Adds additional bend points to all edges for connecting their endpoints. More...
 
bool isAssociationClass (node v) const
 Returns true iff v represents an association class. More...
 
int hierarchyList (List< List< node > * > &list) const
 Returns a list of all inheritance hierarchies in the graph. More...
 
int hierarchyList (List< List< edge > * > &list) const
 Returns a list of all inheritance hierarchies in the graph. More...
 

Detailed Description

Stores additional attributes of a graph (like layout information).

It is frequently necessary to associate additional attributes with a graph. The class GraphAttributes provides various such attributes and is the central place were such attributes are stored.

Attributes are simply stored in node or edge arrays; for memory consumption reasons, only a subset of these arrays is in fact initialized for the graph; non-initialized arrays require only a few bytes of extra memory.

Which arrays are initialized is specified by a bit vector; each bit in this bit vector corresponds to one or more attributes. See the available flags for a detailed description.

Attributes can be enabled/disabled by the constructor GraphAttributes(const Graph &,long), the re-initialization procedure init, addAttributes, and destroyAttributes.

Definition at line 66 of file GraphAttributes.h.

Member Typedef Documentation

◆ EdgeAttributeGetter

template<typename T >
using ogdf::GraphAttributes::EdgeAttributeGetter = T (GraphAttributes::*)(edge) const

type of edge attribute getter functions

Definition at line 982 of file GraphAttributes.h.

◆ NodeAttributeGetter

template<typename T >
using ogdf::GraphAttributes::NodeAttributeGetter = T (GraphAttributes::*)(node) const

type of node attribute getter functions

Definition at line 978 of file GraphAttributes.h.

Constructor & Destructor Documentation

◆ GraphAttributes() [1/2]

ogdf::GraphAttributes::GraphAttributes ( )

Constructs graph attributes for no associated graph (default constructor).

The associated graph can be set later with the init() function.

◆ GraphAttributes() [2/2]

ogdf::GraphAttributes::GraphAttributes ( const Graph G,
long  attr = nodeGraphics|edgeGraphics 
)
explicit

Constructs graph attributes associated with the graph G.

Parameters
Gis the associated graph.
attrspecifies the set of attributes that can be accessed.

◆ ~GraphAttributes()

virtual ogdf::GraphAttributes::~GraphAttributes ( )
virtualdefault

Member Function Documentation

◆ addAttributes()

void ogdf::GraphAttributes::addAttributes ( long  attr)

Enables attributes specified by attr and allocates required memory.

◆ addNodeCenter2Bends()

void ogdf::GraphAttributes::addNodeCenter2Bends ( int  mode = 1)

Adds additional bend points to all edges for connecting their endpoints.

According to mode switch add either the node center points to the bends or the anchor point on the node boundary

  • mode = 0: only add node center
  • mode = 1: compute intersection with the line segment to the center and the boundary of the rectangular node
  • mode = 2: compute intersection with the first/last line segment and the boundary of the rectangular node
Precondition
nodeGraphics and edgeGraphics is enabled

◆ addSubGraph()

void ogdf::GraphAttributes::addSubGraph ( edge  e,
int  n 
)
inline

Adds edge e to basic graph n.

Precondition
edgeSubGraphs is enabled

Definition at line 851 of file GraphAttributes.h.

◆ arrowType() [1/2]

EdgeArrow& ogdf::GraphAttributes::arrowType ( edge  e)
inline

Returns the arrow type of edge e.

Precondition
edgeArrow is enabled

Definition at line 687 of file GraphAttributes.h.

◆ arrowType() [2/2]

EdgeArrow ogdf::GraphAttributes::arrowType ( edge  e) const
inline

Returns the arrow type of edge e.

Precondition
edgeArrow is enabled

Definition at line 678 of file GraphAttributes.h.

◆ attributes()

long ogdf::GraphAttributes::attributes ( ) const
inline

Returns currently accessible attributes.

Definition at line 191 of file GraphAttributes.h.

◆ bends() [1/2]

DPolyline& ogdf::GraphAttributes::bends ( edge  e)
inline

Returns the list of bend points of edge e.

See also
bends(edge e) const
Precondition
edgeGraphics is enabled

Definition at line 669 of file GraphAttributes.h.

◆ bends() [2/2]

const DPolyline& ogdf::GraphAttributes::bends ( edge  e) const
inline

Returns the list of bend points of edge e.

Note that bend points should not be co-linear. This can always be achieved by calling DPolyline::normalize(). Similarly, bend points should never include the point of the edge's source or target node, even though the poly-line for the entire edge formally includes them.

Precondition
edgeGraphics is enabled

Definition at line 658 of file GraphAttributes.h.

◆ boundingBox()

virtual DRect ogdf::GraphAttributes::boundingBox ( ) const
virtual

Returns the bounding box of the graph.

Precondition
nodeGraphics and edgeGraphics is enabled

Reimplemented in ogdf::ClusterGraphAttributes.

◆ clearAllBends()

void ogdf::GraphAttributes::clearAllBends ( )

Removes all edge bends.

Precondition
edgeGraphics is enabled

◆ constGraph()

const Graph& ogdf::GraphAttributes::constGraph ( ) const
inline

Returns a reference to the associated graph.

Definition at line 217 of file GraphAttributes.h.

◆ copyEdgeAttributes()

void ogdf::GraphAttributes::copyEdgeAttributes ( GraphAttributes toAttr,
edge  eFrom,
edge  eTo,
long  attrs 
) const
private

Copies all attributes attrs except bends (!) of eFrom to toAttr for eTo.

◆ copyNodeAttributes()

void ogdf::GraphAttributes::copyNodeAttributes ( GraphAttributes toAttr,
node  vFrom,
node  vTo,
long  attrs 
) const
private

Copies all attributes attrs of vFrom to toAttr for vTo.

◆ destroyAttributes()

void ogdf::GraphAttributes::destroyAttributes ( long  attr)

Disables attributes specified by attr and releases available memory.

◆ directed() [1/2]

bool& ogdf::GraphAttributes::directed ( )
inline

Returns if the graph is directed.

Definition at line 229 of file GraphAttributes.h.

◆ directed() [2/2]

bool ogdf::GraphAttributes::directed ( ) const
inline

Returns if the graph is directed.

Definition at line 226 of file GraphAttributes.h.

◆ doubleWeight() [1/2]

double& ogdf::GraphAttributes::doubleWeight ( edge  e)
inline

Returns the (real number) weight of edge e.

Precondition
edgeDoubleWeight is enabled

Definition at line 795 of file GraphAttributes.h.

◆ doubleWeight() [2/2]

double ogdf::GraphAttributes::doubleWeight ( edge  e) const
inline

Returns the (real number) weight of edge e.

Precondition
edgeDoubleWeight is enabled

Definition at line 786 of file GraphAttributes.h.

◆ fillBgColor() [1/2]

Color& ogdf::GraphAttributes::fillBgColor ( node  v)
inline

Returns the background color of fill patterns for node v.

Precondition
nodeStyle is enabled

Definition at line 540 of file GraphAttributes.h.

◆ fillBgColor() [2/2]

const Color& ogdf::GraphAttributes::fillBgColor ( node  v) const
inline

Returns the background color of fill patterns for node v.

Precondition
nodeStyle is enabled

Definition at line 531 of file GraphAttributes.h.

◆ fillColor() [1/2]

Color& ogdf::GraphAttributes::fillColor ( node  v)
inline

Returns the fill color of node v.

Precondition
nodeStyle is enabled

Definition at line 522 of file GraphAttributes.h.

◆ fillColor() [2/2]

const Color& ogdf::GraphAttributes::fillColor ( node  v) const
inline

Returns the fill color of node v.

Precondition
nodeStyle is enabled

Definition at line 513 of file GraphAttributes.h.

◆ fillPattern() [1/2]

FillPattern& ogdf::GraphAttributes::fillPattern ( node  v)
inline

Returns the fill pattern of node v.

Precondition
nodeStyle is enabled

Definition at line 504 of file GraphAttributes.h.

◆ fillPattern() [2/2]

FillPattern ogdf::GraphAttributes::fillPattern ( node  v) const
inline

Returns the fill pattern of node v.

Precondition
nodeStyle is enabled

Definition at line 495 of file GraphAttributes.h.

◆ flipHorizontal() [1/2]

virtual void ogdf::GraphAttributes::flipHorizontal ( )
inlinevirtual

Flips the layout horizontally within its bounding box.

If preserving the bounding box is not required, the layout can also be flipped horizontally by calling scale(-1.0, 1.0, false).

Definition at line 927 of file GraphAttributes.h.

◆ flipHorizontal() [2/2]

virtual void ogdf::GraphAttributes::flipHorizontal ( const DRect box)
virtual

Flips the (whole) layout horizontally such that the part in box remains in this area.

The whole layout is flipped and then moved such that the part that was in box before flipping is moved to this area.

Reimplemented in ogdf::ClusterGraphAttributes.

◆ flipVertical() [1/2]

virtual void ogdf::GraphAttributes::flipVertical ( )
inlinevirtual

Flips the layout vertically within its bounding box.

If preserving the bounding box is not required, the layout can also be flipped vertically by calling scale(1.0, -1.0, false).

Definition at line 913 of file GraphAttributes.h.

◆ flipVertical() [2/2]

virtual void ogdf::GraphAttributes::flipVertical ( const DRect box)
virtual

Flips the (whole) layout vertically such that the part in box remains in this area.

The whole layout is flipped and then moved such that the part that was in box before flipping is moved to this area.

Reimplemented in ogdf::ClusterGraphAttributes.

◆ has()

bool ogdf::GraphAttributes::has ( long  attr) const
inline

Returns true iff all attributes in attr are available.

Definition at line 194 of file GraphAttributes.h.

◆ height() [1/4]

NodeArray<double>& ogdf::GraphAttributes::height ( )
inline

Returns a reference to the node array m_height.

Precondition
nodeGraphics is enabled

Definition at line 414 of file GraphAttributes.h.

◆ height() [2/4]

const NodeArray<double>& ogdf::GraphAttributes::height ( ) const
inline

Returns a reference to the node array m_height.

Precondition
nodeGraphics is enabled

Definition at line 405 of file GraphAttributes.h.

◆ height() [3/4]

double& ogdf::GraphAttributes::height ( node  v)
inline

Returns the height of the bounding box of node v.

Precondition
nodeGraphics is enabled

Definition at line 396 of file GraphAttributes.h.

◆ height() [4/4]

double ogdf::GraphAttributes::height ( node  v) const
inline

Returns the height of the bounding box of node v.

Precondition
nodeGraphics is enabled

Definition at line 387 of file GraphAttributes.h.

◆ hierarchyList() [1/2]

int ogdf::GraphAttributes::hierarchyList ( List< List< edge > * > &  list) const

Returns a list of all inheritance hierarchies in the graph.

Inheritance hierarchies are identified by edges with type Graph::generalization.

Parameters
listis a list of all hierarchies; each hierarchy is itself a list of all edges in this hierarchy.
Returns
Returns the number of generalization hierarchies.

◆ hierarchyList() [2/2]

int ogdf::GraphAttributes::hierarchyList ( List< List< node > * > &  list) const

Returns a list of all inheritance hierarchies in the graph.

Inheritance hierarchies are identified by edges with type Graph::generalization.

Parameters
listis a list of all hierarchies; each hierarchy is itself a list of all nodes in this hierarchy.
Returns
Returns the number of generalization hierarchies.

◆ idNode() [1/2]

int& ogdf::GraphAttributes::idNode ( node  v)
inline

Returns the user ID of node v.

If no user ID is set, returns the original index of the node instead.

Precondition
nodeId is enabled

Definition at line 634 of file GraphAttributes.h.

◆ idNode() [2/2]

int ogdf::GraphAttributes::idNode ( node  v) const
inline

Returns the user ID of node v.

If no user ID is set, returns the original index of the node instead.

Precondition
nodeId is enabled

Definition at line 623 of file GraphAttributes.h.

◆ init() [1/2]

virtual void ogdf::GraphAttributes::init ( const Graph G,
long  attr 
)
virtual

Initializes the graph attributes for graph G.

Parameters
Gis the new associated graph.
attrspecifies the set of attributes that can be accessed.
Warning
All attributes that were allocated before are destroyed by this function! If you wish to extend the set of allocated attributes, use addAttributes.

Reimplemented in ogdf::UMLGraph.

◆ init() [2/2]

void ogdf::GraphAttributes::init ( long  attr)

Re-initializes the graph attributes while maintaining the associated graph.

See also
init(const Graph&, long)

◆ inSubGraph()

bool ogdf::GraphAttributes::inSubGraph ( edge  e,
int  n 
) const
inline

Checks whether edge e belongs to basic graph n.

Precondition
edgeSubGraphs is enabled

Definition at line 840 of file GraphAttributes.h.

◆ intWeight() [1/2]

int& ogdf::GraphAttributes::intWeight ( edge  e)
inline

Returns the (integer) weight of edge e.

Precondition
edgeIntWeight is enabled

Definition at line 777 of file GraphAttributes.h.

◆ intWeight() [2/2]

int ogdf::GraphAttributes::intWeight ( edge  e) const
inline

Returns the (integer) weight of edge e.

Precondition
edgeIntWeight is enabled

Definition at line 768 of file GraphAttributes.h.

◆ isAssociationClass()

bool ogdf::GraphAttributes::isAssociationClass ( node  v) const
inline

Returns true iff v represents an association class.

We hide the internal representation of semantic node types from the user to be able to change this later (semantic node type member array). We are not allowed to set association classes manually, only by calling createAssociationClass().

Precondition
nodeGraphics are enabled

Definition at line 1152 of file GraphAttributes.h.

◆ isUniform()

bool ogdf::GraphAttributes::isUniform ( long  attributes) const

Check whether all of the attributes associated with the bitflags in attributes (that are also enabled for this ogdf::GraphAttributes instance) are uniform, i.e.

have the same value.

Parameters
attributesbitmask for all attribute flags to query
Returns
true iff the associated attributes of all enabled flags in attributes are uniform

◆ isUniformForEdges()

template<typename T >
bool ogdf::GraphAttributes::isUniformForEdges ( EdgeAttributeGetter< T >  attribute) const
inline

Checks whether a certain attribute has the same value for all edges.

Precondition
The necessary attribute flag is enabled.
Template Parameters
Treturn type of the attribute getter function
Parameters
attributeedge attribute getter function
Returns
true iff the specified attribute has the same value for all edges

Definition at line 1017 of file GraphAttributes.h.

◆ isUniformForNodes()

template<typename T >
bool ogdf::GraphAttributes::isUniformForNodes ( NodeAttributeGetter< T >  attribute) const
inline

Checks whether a certain attribute has the same value for all nodes.

Precondition
The necessary attribute flag is enabled.
Template Parameters
Treturn type of the attribute getter function
Parameters
attributenode attribute getter function
Returns
true iff the specified attribute has the same value for all nodes

Definition at line 993 of file GraphAttributes.h.

◆ label() [1/4]

string& ogdf::GraphAttributes::label ( edge  e)
inline

Returns the label of edge e.

Precondition
edgeLabel is enabled

Definition at line 759 of file GraphAttributes.h.

◆ label() [2/4]

const string& ogdf::GraphAttributes::label ( edge  e) const
inline

Returns the label of edge e.

Precondition
edgeLabel is enabled

Definition at line 750 of file GraphAttributes.h.

◆ label() [3/4]

string& ogdf::GraphAttributes::label ( node  v)
inline

Returns the label of node v.

Precondition
nodeLabel is enabled

Definition at line 558 of file GraphAttributes.h.

◆ label() [4/4]

const string& ogdf::GraphAttributes::label ( node  v) const
inline

Returns the label of node v.

Precondition
nodeLabel is enabled

Definition at line 549 of file GraphAttributes.h.

◆ nodeBoundingBoxes()

template<class Rectangle = DRect>
void ogdf::GraphAttributes::nodeBoundingBoxes ( NodeArray< Rectangle > &  boundingBoxes) const
inline

Computes the bounding rectangle for each node.

Template Parameters
Rectangleis the kind of rectangle that should be created.
Parameters
boundingBoxesis assigned the bounding rectangle for each node.
Precondition
nodeGraphics is enabled

Definition at line 1090 of file GraphAttributes.h.

◆ point()

DPoint ogdf::GraphAttributes::point ( node  v) const
inline

Returns a DPoint corresponding to the x- and y-coordinates of v.

Definition at line 1044 of file GraphAttributes.h.

◆ removeSubGraph()

void ogdf::GraphAttributes::removeSubGraph ( edge  e,
int  n 
)
inline

Removes edge e from basic graph n.

Precondition
edgeSubGraphs is enabled

Definition at line 862 of file GraphAttributes.h.

◆ removeUnnecessaryBendsHV()

void ogdf::GraphAttributes::removeUnnecessaryBendsHV ( )

Removes unnecessary bend points in orthogonal segements.

Processes all edges and removes unnecessary bend points in the bend point list of the edge, i.e., bend points such that the preceding and succeeding bend point form a horizontal or vertical segement containing this bend point. This function is useful to remove redundant bend points in an orthogonal layout.

Precondition
edgeGraphics is enabled

◆ rotateLeft90()

virtual void ogdf::GraphAttributes::rotateLeft90 ( )
virtual

Rotates the layout by 90 degree (in counter-clockwise direction) around the origin.

◆ rotateRight90()

virtual void ogdf::GraphAttributes::rotateRight90 ( )
virtual

Rotates the layout by 90 degree (in clockwise direction) around the origin.

◆ scale() [1/2]

virtual void ogdf::GraphAttributes::scale ( double  s,
bool  scaleNodes = true 
)
inlinevirtual

Scales the layout by s.

If scaleNodes is true, node sizes are scaled as well.

Parameters
sis the scaling factor for both x- and y-coordinates.
scaleNodesdetermines if nodes size are scaled as well (true) or not.
Precondition
nodeGraphics and edgeGraphics are enabled

Definition at line 896 of file GraphAttributes.h.

◆ scale() [2/2]

virtual void ogdf::GraphAttributes::scale ( double  sx,
double  sy,
bool  scaleNodes = true 
)
virtual

Scales the layout by (sx,sy).

If scaleNodes is true, node sizes are scaled as well.

Parameters
sxis the scaling factor for x-coordinates.
syis the scaling factor for y-coordinates.
scaleNodesdetermines if nodes size are scaled as well (true) or not.
Precondition
nodeGraphics and edgeGraphics are enabled

Reimplemented in ogdf::ClusterGraphAttributes.

◆ scaleAndTranslate() [1/2]

virtual void ogdf::GraphAttributes::scaleAndTranslate ( double  s,
double  dx,
double  dy,
bool  scaleNodes = true 
)
inlinevirtual

Scales the layout by s and then translates it by (dx,dy).

If scaleNodes is true, node sizes are scaled as well. A point (x,y) is moved to (sx + dx, sy + dy).

Parameters
sis the scaling factor for both x- and y-coordinates.
dxis the translation in x-direction.
dyis the translation in y-direction.
scaleNodesdetermines if nodes size are scaled as well (true) or not.

Definition at line 960 of file GraphAttributes.h.

◆ scaleAndTranslate() [2/2]

virtual void ogdf::GraphAttributes::scaleAndTranslate ( double  sx,
double  sy,
double  dx,
double  dy,
bool  scaleNodes = true 
)
virtual

Scales the layout by (sx,sy) and then translates it by (dx,dy).

If scaleNodes is true, node sizes are scaled as well. A point (x,y) is moved to (sxx + dx, syy + dy).

Parameters
sxis the scaling factor for x-coordinates.
syis the scaling factor for y-coordinates.
dxis the translation in x-direction.
dyis the translation in y-direction.
scaleNodesdetermines if nodes size are scaled as well (true) or not.

◆ setAllHeight()

void ogdf::GraphAttributes::setAllHeight ( double  h)

Sets the height of all nodes to h.

Precondition
nodeGraphics is enabled

◆ setAllWidth()

void ogdf::GraphAttributes::setAllWidth ( double  w)

Sets the width of all nodes to w.

Precondition
nodeGraphics is enabled

◆ shape() [1/2]

Shape& ogdf::GraphAttributes::shape ( node  v)
inline

Returns the shape type of node v.

Precondition
nodeGraphics is enabled

Definition at line 432 of file GraphAttributes.h.

◆ shape() [2/2]

Shape ogdf::GraphAttributes::shape ( node  v) const
inline

Returns the shape type of node v.

Precondition
nodeGraphics is enabled

Definition at line 423 of file GraphAttributes.h.

◆ strokeColor() [1/4]

Color& ogdf::GraphAttributes::strokeColor ( edge  e)
inline

Returns the stroke color of edge e.

Precondition
edgeStyle is enabled

Definition at line 723 of file GraphAttributes.h.

◆ strokeColor() [2/4]

const Color& ogdf::GraphAttributes::strokeColor ( edge  e) const
inline

Returns the stroke color of edge e.

Precondition
edgeStyle is enabled

Definition at line 714 of file GraphAttributes.h.

◆ strokeColor() [3/4]

Color& ogdf::GraphAttributes::strokeColor ( node  v)
inline

Returns the stroke color of node v.

Precondition
nodeStyle is enabled

Definition at line 468 of file GraphAttributes.h.

◆ strokeColor() [4/4]

const Color& ogdf::GraphAttributes::strokeColor ( node  v) const
inline

Returns the stroke color of node v.

Precondition
nodeStyle is enabled

Definition at line 459 of file GraphAttributes.h.

◆ strokeType() [1/4]

StrokeType& ogdf::GraphAttributes::strokeType ( edge  e)
inline

Returns the stroke type of edge e.

Precondition
edgeStyle is enabled

Definition at line 705 of file GraphAttributes.h.

◆ strokeType() [2/4]

StrokeType ogdf::GraphAttributes::strokeType ( edge  e) const
inline

Returns the stroke type of edge e.

Precondition
edgeStyle is enabled

Definition at line 696 of file GraphAttributes.h.

◆ strokeType() [3/4]

StrokeType& ogdf::GraphAttributes::strokeType ( node  v)
inline

Returns the stroke type of node v.

Precondition
nodeStyle is enabled

Definition at line 450 of file GraphAttributes.h.

◆ strokeType() [4/4]

StrokeType ogdf::GraphAttributes::strokeType ( node  v) const
inline

Returns the stroke type of node v.

Precondition
nodeStyle is enabled

Definition at line 441 of file GraphAttributes.h.

◆ strokeWidth() [1/4]

float& ogdf::GraphAttributes::strokeWidth ( edge  e)
inline

Returns the stroke width of edge e.

Precondition
edgeStyle is enabled

Definition at line 741 of file GraphAttributes.h.

◆ strokeWidth() [2/4]

float ogdf::GraphAttributes::strokeWidth ( edge  e) const
inline

Returns the stroke width of edge e.

Precondition
edgeStyle is enabled

Definition at line 732 of file GraphAttributes.h.

◆ strokeWidth() [3/4]

float& ogdf::GraphAttributes::strokeWidth ( node  v)
inline

Returns the stroke width of node v.

Precondition
nodeStyle is enabled

Definition at line 486 of file GraphAttributes.h.

◆ strokeWidth() [4/4]

float ogdf::GraphAttributes::strokeWidth ( node  v) const
inline

Returns the stroke width of node v.

Precondition
nodeStyle is enabled

Definition at line 477 of file GraphAttributes.h.

◆ subGraphBits() [1/2]

uint32_t& ogdf::GraphAttributes::subGraphBits ( edge  e)
inline

Returns the edgesubgraph value of an edge e.

Precondition
edgeSubGraphs is enabled

Definition at line 831 of file GraphAttributes.h.

◆ subGraphBits() [2/2]

uint32_t ogdf::GraphAttributes::subGraphBits ( edge  e) const
inline

Returns the edgesubgraph value of an edge e.

Precondition
edgeSubGraphs is enabled

Definition at line 822 of file GraphAttributes.h.

◆ templateNode() [1/2]

string& ogdf::GraphAttributes::templateNode ( node  v)
inline

Returns the template name of node v.

Precondition
nodeTemplate is enabled

Definition at line 576 of file GraphAttributes.h.

◆ templateNode() [2/2]

const string& ogdf::GraphAttributes::templateNode ( node  v) const
inline

Returns the template name of node v.

Precondition
nodeTemplate is enabled

Definition at line 567 of file GraphAttributes.h.

◆ transferToCopy()

void ogdf::GraphAttributes::transferToCopy ( GraphAttributes copyAttr) const

Copies attributes of this to copyAttr.

Only attributes which are enabled in both this and copyAttr are copied. The edges of copyAttr get attributes associated with the respective original edge. Bend points, however, are only transferred to the first edge in the chain of copy edges. Bend points of all other copy edges in the chain are cleared.

Precondition
copyAttr is associated with a GraphCopy, which is a copy of the graph that this GraphAttributes is associated with.
Parameters
copyAttris the GraphAttributes of the GraphCopy.

◆ transferToOriginal()

void ogdf::GraphAttributes::transferToOriginal ( GraphAttributes origAttr) const

Copies attributes of this to origAttr.

Only attributes which are enabled in both this and origAttr are copied. The edges of origAttr get attributes associated with the respective first edge in the chain of copy edges. Both dummy nodes and bends between dummy nodes are added as bends to origAttr.

Precondition
This GraphAttributes is associated with a GraphCopy, which is a copy of the graph that origAttr is associated with.
Parameters
origAttris the GraphAttributes of the original graph.

◆ translate()

virtual void ogdf::GraphAttributes::translate ( double  dx,
double  dy 
)
virtual

Translates the layout by (dx,dy).

Parameters
dxis the translation in x-direction.
dyis the translation in y-direction.

Reimplemented in ogdf::ClusterGraphAttributes.

◆ translateToNonNeg()

virtual void ogdf::GraphAttributes::translateToNonNeg ( )
virtual

Translates the layout such that the lower left corner is at (0,0).

◆ type() [1/4]

Graph::EdgeType& ogdf::GraphAttributes::type ( edge  e)
inline

Returns the type of edge e.

Precondition
edgeType is enabled

Definition at line 813 of file GraphAttributes.h.

◆ type() [2/4]

Graph::EdgeType ogdf::GraphAttributes::type ( edge  e) const
inline

Returns the type of edge e.

Precondition
edgeType is enabled

Definition at line 804 of file GraphAttributes.h.

◆ type() [3/4]

Graph::NodeType& ogdf::GraphAttributes::type ( node  v)
inline

Returns the type of node v.

Precondition
nodeType is enabled

Definition at line 612 of file GraphAttributes.h.

◆ type() [4/4]

Graph::NodeType ogdf::GraphAttributes::type ( node  v) const
inline

Returns the type of node v.

Precondition
nodeType is enabled

Definition at line 603 of file GraphAttributes.h.

◆ weight() [1/2]

int& ogdf::GraphAttributes::weight ( node  v)
inline

Returns the weight of node v.

Precondition
nodeWeight is enabled

Definition at line 594 of file GraphAttributes.h.

◆ weight() [2/2]

int ogdf::GraphAttributes::weight ( node  v) const
inline

Returns the weight of node v.

Precondition
nodeWeight is enabled

Definition at line 585 of file GraphAttributes.h.

◆ width() [1/4]

NodeArray<double>& ogdf::GraphAttributes::width ( )
inline

Returns a reference to the node array #m_width.

Precondition
nodeGraphics is enabled

Definition at line 378 of file GraphAttributes.h.

◆ width() [2/4]

const NodeArray<double>& ogdf::GraphAttributes::width ( ) const
inline

Returns a reference to the node array m_width.

Precondition
nodeGraphics is enabled

Definition at line 369 of file GraphAttributes.h.

◆ width() [3/4]

double& ogdf::GraphAttributes::width ( node  v)
inline

Returns the width of the bounding box of node v.

Precondition
nodeGraphics is enabled

Definition at line 360 of file GraphAttributes.h.

◆ width() [4/4]

double ogdf::GraphAttributes::width ( node  v) const
inline

Returns the width of the bounding box of node v.

Precondition
nodeGraphics is enabled

Definition at line 351 of file GraphAttributes.h.

◆ x() [1/2]

double& ogdf::GraphAttributes::x ( node  v)
inline

Returns the x-coordinate of node v.

Precondition
nodeGraphics is enabled

Definition at line 250 of file GraphAttributes.h.

◆ x() [2/2]

double ogdf::GraphAttributes::x ( node  v) const
inline

Returns the x-coordinate of node v.

Precondition
nodeGraphics is enabled

Definition at line 241 of file GraphAttributes.h.

◆ xLabel() [1/2]

double& ogdf::GraphAttributes::xLabel ( node  v)
inline

Returns the label x-coordinate of node v.

Precondition
nodeLabelPosition is enabled

Definition at line 304 of file GraphAttributes.h.

◆ xLabel() [2/2]

double ogdf::GraphAttributes::xLabel ( node  v) const
inline

Returns the label x-coordinate of node v.

Precondition
nodeLabelPosition is enabled

Definition at line 295 of file GraphAttributes.h.

◆ y() [1/2]

double& ogdf::GraphAttributes::y ( node  v)
inline

Returns the y-coordinate of node v.

Precondition
nodeGraphics is enabled

Definition at line 268 of file GraphAttributes.h.

◆ y() [2/2]

double ogdf::GraphAttributes::y ( node  v) const
inline

Returns the y-coordinate of node v.

Precondition
nodeGraphics is enabled

Definition at line 259 of file GraphAttributes.h.

◆ yLabel() [1/2]

double& ogdf::GraphAttributes::yLabel ( node  v)
inline

Returns the label y-coordinate of node v.

Precondition
nodeLabelPosition is enabled

Definition at line 322 of file GraphAttributes.h.

◆ yLabel() [2/2]

double ogdf::GraphAttributes::yLabel ( node  v) const
inline

Returns the label y-coordinate of node v.

Precondition
nodeLabelPosition is enabled

Definition at line 313 of file GraphAttributes.h.

◆ z() [1/2]

double& ogdf::GraphAttributes::z ( node  v)
inline

Returns the z-coordinate of node v.

Precondition
threeD is enabled

Definition at line 286 of file GraphAttributes.h.

◆ z() [2/2]

double ogdf::GraphAttributes::z ( node  v) const
inline

Returns the z-coordinate of node v.

Precondition
threeD is enabled

Definition at line 277 of file GraphAttributes.h.

◆ zLabel() [1/2]

double& ogdf::GraphAttributes::zLabel ( node  v)
inline

Returns the label z-coordinate of node v.

Precondition
nodeLabelPosition and threeD are enabled

Definition at line 341 of file GraphAttributes.h.

◆ zLabel() [2/2]

double ogdf::GraphAttributes::zLabel ( node  v) const
inline

Returns the label z-coordinate of node v.

Precondition
nodeLabelPosition and threeD are enabled

Definition at line 331 of file GraphAttributes.h.

Member Data Documentation

◆ all

const long ogdf::GraphAttributes::all
static

Enables all available flags.

Definition at line 166 of file GraphAttributes.h.

◆ edgeArrow

const long ogdf::GraphAttributes::edgeArrow
static

Corresponds to edge attribute arrowType(edge).

Definition at line 140 of file GraphAttributes.h.

◆ edgeDoubleWeight

const long ogdf::GraphAttributes::edgeDoubleWeight
static

Corresponds to edge attribute doubleWeight(edge).

Definition at line 122 of file GraphAttributes.h.

◆ edgeGraphics

const long ogdf::GraphAttributes::edgeGraphics
static

Corresponds to edge attribute bends(edge).

Definition at line 116 of file GraphAttributes.h.

◆ edgeIntWeight

const long ogdf::GraphAttributes::edgeIntWeight
static

Corresponds to edge attribute intWeight(edge).

Definition at line 119 of file GraphAttributes.h.

◆ edgeLabel

const long ogdf::GraphAttributes::edgeLabel
static

Corresponds to edge attribute label(edge).

Definition at line 125 of file GraphAttributes.h.

◆ edgeStyle

const long ogdf::GraphAttributes::edgeStyle
static

Corresponds to edge attributes strokeColor(edge), strokeType(edge), and strokeWidth(edge).

Definition at line 143 of file GraphAttributes.h.

◆ edgeSubGraphs

const long ogdf::GraphAttributes::edgeSubGraphs
static

Corresponds to edge attributes modified by addSubGraph(edge, int), inSubGraph(edge, int) const, and removeSubGraph(edge, int).

Definition at line 154 of file GraphAttributes.h.

◆ edgeType

const long ogdf::GraphAttributes::edgeType
static

Corresponds to edge attribute type(edge).

Definition at line 131 of file GraphAttributes.h.

◆ m_attributes

long ogdf::GraphAttributes::m_attributes
protected

bit vector of currently used attributes

Definition at line 104 of file GraphAttributes.h.

◆ m_bends

EdgeArray<DPolyline> ogdf::GraphAttributes::m_bends
protected

list of bend points of an edge

Definition at line 93 of file GraphAttributes.h.

◆ m_directed

bool ogdf::GraphAttributes::m_directed
protected

whether or not the graph is directed

Definition at line 70 of file GraphAttributes.h.

◆ m_doubleWeight

EdgeArray<double> ogdf::GraphAttributes::m_doubleWeight
protected

(real number) weight of an edge

Definition at line 100 of file GraphAttributes.h.

◆ m_edgeArrow

EdgeArray<EdgeArrow> ogdf::GraphAttributes::m_edgeArrow
protected

arrow type of an edge

Definition at line 95 of file GraphAttributes.h.

◆ m_edgeLabel

EdgeArray<string> ogdf::GraphAttributes::m_edgeLabel
protected

label of an edge

Definition at line 94 of file GraphAttributes.h.

◆ m_edgeStroke

EdgeArray<Stroke> ogdf::GraphAttributes::m_edgeStroke
protected

stroke of an edge

Definition at line 96 of file GraphAttributes.h.

◆ m_eType

EdgeArray<Graph::EdgeType> ogdf::GraphAttributes::m_eType
protected

type of an edge (association or generalization)

Definition at line 101 of file GraphAttributes.h.

◆ m_height

NodeArray<double> ogdf::GraphAttributes::m_height
protected

height of a nodes's bounding box

Definition at line 80 of file GraphAttributes.h.

◆ m_intWeight

EdgeArray<int> ogdf::GraphAttributes::m_intWeight
protected

(integer) weight of an edge

Definition at line 99 of file GraphAttributes.h.

◆ m_nodeFill

NodeArray<Fill> ogdf::GraphAttributes::m_nodeFill
protected

fill of a node

Definition at line 84 of file GraphAttributes.h.

◆ m_nodeId

NodeArray<int> ogdf::GraphAttributes::m_nodeId
protected

user ID of a node

Definition at line 88 of file GraphAttributes.h.

◆ m_nodeIntWeight

NodeArray<int> ogdf::GraphAttributes::m_nodeIntWeight
protected

(integer) weight of a node

Definition at line 89 of file GraphAttributes.h.

◆ m_nodeLabel

NodeArray<string> ogdf::GraphAttributes::m_nodeLabel
protected

label of a node

Definition at line 82 of file GraphAttributes.h.

◆ m_nodeLabelPosX

NodeArray<double> ogdf::GraphAttributes::m_nodeLabelPosX
protected

x-coordinate of a node label

Definition at line 76 of file GraphAttributes.h.

◆ m_nodeLabelPosY

NodeArray<double> ogdf::GraphAttributes::m_nodeLabelPosY
protected

y-coordinate of a node label

Definition at line 77 of file GraphAttributes.h.

◆ m_nodeLabelPosZ

NodeArray<double> ogdf::GraphAttributes::m_nodeLabelPosZ
protected

z-coordinate of a node label

Definition at line 78 of file GraphAttributes.h.

◆ m_nodeShape

NodeArray<Shape> ogdf::GraphAttributes::m_nodeShape
protected

shape of a node

Definition at line 81 of file GraphAttributes.h.

◆ m_nodeStroke

NodeArray<Stroke> ogdf::GraphAttributes::m_nodeStroke
protected

stroke of a node

Definition at line 83 of file GraphAttributes.h.

◆ m_nodeTemplate

NodeArray<string> ogdf::GraphAttributes::m_nodeTemplate
protected

name of template of a node

Definition at line 85 of file GraphAttributes.h.

◆ m_pGraph

const Graph* ogdf::GraphAttributes::m_pGraph
protected

associated graph

Definition at line 68 of file GraphAttributes.h.

◆ m_subGraph

EdgeArray<uint32_t> ogdf::GraphAttributes::m_subGraph
protected

is element of subgraphs given by bitvector

Definition at line 102 of file GraphAttributes.h.

◆ m_vType

NodeArray<Graph::NodeType> ogdf::GraphAttributes::m_vType
protected

type (vertex, dummy, generalizationMerger)

Definition at line 90 of file GraphAttributes.h.

◆ m_width

NodeArray<double> ogdf::GraphAttributes::m_width
protected

width of a node's bounding box

Definition at line 79 of file GraphAttributes.h.

◆ m_x

NodeArray<double> ogdf::GraphAttributes::m_x
protected

x-coordinate of a node

Definition at line 73 of file GraphAttributes.h.

◆ m_y

NodeArray<double> ogdf::GraphAttributes::m_y
protected

y-coordinate of a node

Definition at line 74 of file GraphAttributes.h.

◆ m_z

NodeArray<double> ogdf::GraphAttributes::m_z
protected

z-coordinate of a node

Definition at line 75 of file GraphAttributes.h.

◆ nodeGraphics

const long ogdf::GraphAttributes::nodeGraphics
static

Corresponds to node attributes x(node), y(node), width(node), height(node), and shape(node).

Definition at line 113 of file GraphAttributes.h.

◆ nodeId

const long ogdf::GraphAttributes::nodeId
static

Corresponds to node attribute idNode(node).

Definition at line 137 of file GraphAttributes.h.

◆ nodeLabel

const long ogdf::GraphAttributes::nodeLabel
static

Corresponds to node attribute label(node).

Definition at line 128 of file GraphAttributes.h.

◆ nodeLabelPosition

const long ogdf::GraphAttributes::nodeLabelPosition
static

Corresponds to node attributes xLabel(node), yLabel(node), and zLabel(node).

Definition at line 163 of file GraphAttributes.h.

◆ nodeStyle

const long ogdf::GraphAttributes::nodeStyle
static

◆ nodeTemplate

const long ogdf::GraphAttributes::nodeTemplate
static

Corresponds to node attribute templateNode(node).

Definition at line 150 of file GraphAttributes.h.

◆ nodeType

const long ogdf::GraphAttributes::nodeType
static

Corresponds to node attribute type(node).

Definition at line 134 of file GraphAttributes.h.

◆ nodeWeight

const long ogdf::GraphAttributes::nodeWeight
static

Corresponds to node attribute weight(node).

Definition at line 157 of file GraphAttributes.h.

◆ threeD

const long ogdf::GraphAttributes::threeD
static

Corresponds to node attribute z(node). Note that all methods work on 2D coordinates only.

Definition at line 160 of file GraphAttributes.h.


The documentation for this class was generated from the following file: