Open
Graph Drawing
Framework

 v.2012.07
 

ogdf::UMLGraph Class Reference

#include <ogdf/basic/UMLGraph.h>

+ Inheritance diagram for ogdf::UMLGraph:

List of all members.

Classes

class  AssociationClass
class  CliqueInfo

Public Member Functions

 UMLGraph ()
 UMLGraph (Graph &G, long initAttributes=0)
virtual ~UMLGraph ()
void adjustHierarchyParents ()
const AssociationClassassClass (edge e) const
const SListPure
< AssociationClass * > & 
assClassList () const
const SListPure< node > & centerNodes ()
DPoint cliquePos (node v)
DRect cliqueRect (node v)
void computeCliquePosition (node center, double rectMin)
void computeCliquePosition (List< node > &adjNodes, node center, double rectMin=-1.0)
node createAssociationClass (edge e, double width=1.0, double height=1.0)
node doInsertMergers (node v, SList< edge > &inGens)
double getDefaultCliqueCenterSize ()
virtual void init (Graph &G, long initAttr)
void insertGenMergers ()
bool isReplacement (edge e)
node modelAssociationClass (AssociationClass *ac)
void modelAssociationClasses ()
 operator const Graph & () const
GraphpureGraph () const
void replaceByStar (List< List< node > > &cliques)
void setDefaultCliqueCenterSize (double i)
void setUpwards (adjEntry a, bool b)
void sortEdgesFromLayout ()
void undoAssociationClass (AssociationClass *ac)
void undoAssociationClasses ()
void undoGenMergers ()
void undoStar (node center, bool restoreAllEdges)
void undoStars ()
bool upwards (adjEntry a) const
void writeGML (const char *fileName)
void writeGML (ostream &os)
- Public Member Functions inherited from ogdf::GraphAttributes
 GraphAttributes ()
 Constructs graph attributes for no associated graph (default constructor).
 GraphAttributes (const Graph &G, long initAttributes=nodeGraphics|edgeGraphics)
 Constructs graph attributes associated with the graph G.
virtual ~GraphAttributes ()
void addNodeCenter2Bends (int mode=1)
void addSubGraph (edge e, int n)
 Addes edge e to basic graph n.
const EdgeArrowarrowEdge (edge e) const
 Returns the arrow type of edge e.
EdgeArrowarrowEdge (edge e)
 Returns the arrow type of edge e.
long attributes () const
 Returns currently accessible attributes.
const DPolylinebends (edge e) const
 Returns the list of bend points of edge e.
DPolylinebends (edge e)
 Returns the list of bend points of edge e.
const DRect boundingBox () const
 Returns the bounding box of the graph.
void clearAllBends ()
const StringcolorEdge (edge e) const
 Returns the color of node v.
StringcolorEdge (edge e)
 Returns the color of node v.
const StringcolorNode (node v) const
 Returns the color of node v.
StringcolorNode (node v)
 Returns the color of node v.
const GraphconstGraph () const
 Returns a reference to the associated graph.
void destroyAttributes (long attr)
 Destroys attributes in attr.
bool directed ()
 Returns if the graph is directed.
void directed (bool directed)
 Sets if the graph is directed to directed.
const double & doubleWeight (edge e) const
 Returns the (real number) weight of edge e.
double & doubleWeight (edge e)
 Returns the (real number) weight of edge e.
const double & edgeWidth (edge e) const
 Returns the line width of edge e.
double & edgeWidth (edge e)
 Returns the line width of edge e.
const NodeArray< double > & height () const
 Returns a reference to the NodeArray m_height.
NodeArray< double > & height ()
 Returns a refeence to the NodeArray m_height.
const double & height (node v) const
 Returns the height of the bounding box of node v.
double & height (node v)
 Returns the height of the bounding box of node v.
int hierarchyList (List< List< node > * > &list) const
 Returns a list of all inheritance hierarchies in the graph.
int hierarchyList (List< List< edge > * > &list) const
 Returns a list of all inheritance hierarchies in the graph.
const int & idNode (node v) const
 Returns the user ID of node v.
int & idNode (node v)
 Returns the user ID of node v.
const ImageAlignmentimageAlignmentNode (node v) const
ImageAlignmentimageAlignmentNode (node v)
const bool & imageDrawLineNode (node v) const
 Returns bool value drawLine of node v.
bool & imageDrawLineNode (node v)
 Returns bool value drawLine of node v.
const double & imageHeightNode (node v) const
double & imageHeightNode (node v)
const ImageStyleimageStyleNode (node v) const
 Returns image style of node v.
ImageStyleimageStyleNode (node v)
 Returns image style of node v.
const StringimageUriNode (node v) const
 Returns image uri of node v.
StringimageUriNode (node v)
 Returns image uri of node v.
const double & imageWidthNode (node v) const
 Returns image width of node v.
double & imageWidthNode (node v)
 Returns image width of node v.
virtual void init (const Graph &G, long initAttr)
 Initializes the graph attributes for graph G.
void initAttributes (long attr)
 Initializes attributes in attr for usage.
bool inSubGraph (edge e, int n) const
 Checks whether edge e belongs to basic graph n.
const int & intWeight (edge e) const
 Returns the (integer) weight of edge e.
int & intWeight (edge e)
 Returns the (integer) weight of edge e.
bool isAssociationClass (node v) const
const StringlabelEdge (edge e) const
 Returns the label of edge e.
StringlabelEdge (edge e)
 Returns the label of edge e.
const StringlabelNode (node v) const
 Returns the label of node \ v.
StringlabelNode (node v)
 Returns the label of node \ v.
const int & level (node v) const
 Returns the level of node v.
int & level (node v)
 Returns the level of node v.
const double & lineWidthNode (node v) const
 Returns the line width of node v.
double & lineWidthNode (node v)
 Returns the line width of node v.
const StringnodeLine (node v) const
 Returns the line color of node v.
StringnodeLine (node v)
 Returns the line color of node v.
const BrushPatternnodePattern (node v) const
 Returns the brush pattern of node v.
BrushPatternnodePattern (node v)
 Returns the brush pattern of node v.
bool readGML (Graph &G, const String &fileName)
 Reads the graph from a GML file fileName.
bool readGML (Graph &G, istream &is)
 Reads the graph from a GML input stream is.
bool readRudy (Graph &G, const String &fileName)
 Reads a graph in Rudy format from file fileName.
bool readRudy (Graph &G, istream &is)
 Reads a graph in Rudy format from input stream is.
bool readXML (Graph &G, const String &fileName)
 Reads the graph and attributes from the XML file fileName.
bool readXML (Graph &G, istream &is)
 Reads the graph and attributes from the XML input stream is.
void removeSubGraph (edge e, int n)
 Removes edge e from basic graph n.
void removeUnnecessaryBendsHV ()
 Removes unnecessary bend points in orthogonal segements.
void setAllHeight (double h)
 Sets the height of all nodes to h.
void setAllWidth (double w)
 Sets the width of all nodes to w.
int shapeNode (node v) const
 Returns the shape type of node v.
int & shapeNode (node v)
 Returns the shape type of node v.
const EdgeStylestyleEdge (edge e) const
 Returns the line style of an edge e.
EdgeStylestyleEdge (edge e)
 Returns the line style of an edge e.
const EdgeStylestyleNode (node v) const
 Returns the line style of node \ v.
EdgeStylestyleNode (node v)
 Returns the line style of node \ v.
const unsigned int & subGraphBits (edge e) const
 Returns the edgesubgraph value of an edge e.
unsigned int & subGraphBits (edge e)
 Returns the edgesubgraph value of an edge e.
const StringtemplateNode (node v) const
 Returns the template name of node v.
StringtemplateNode (node v)
 Returns the template name of node v.
Graph::EdgeType type (edge e) const
 Returns the type of edge e.
Graph::EdgeTypetype (edge e)
 Returns the type of edge e.
Graph::NodeType type (node v) const
 Returns the type of node v.
Graph::NodeTypetype (node v)
 Returns the type of node v.
const int & weight (node v) const
 Returns the weight of node v.
int & weight (node v)
 Returns the weight of node v.
const NodeArray< double > & width () const
 Returns a reference to the NodeArray m_width.
NodeArray< double > & width ()
 Returns a refeence to the NodeArray m_width.
const double & width (node v) const
 Returns the width of the bounding box of node v.
double & width (node v)
 Returns the width of the bounding box of node v.
void writeGML (const String &fileName) const
 Writes the graph with its attributes in GML format to file fileName.
void writeGML (ostream &os) const
 Writes the graph with its attributes in GML format to output stream os.
void writeRudy (const String &fileName) const
 Writes the graph in Rudy format to file fileName.
void writeRudy (ostream &os) const
 Writes the graph in Rudy format to output stream os.
void writeSVG (const String &fileName, int fontSize=3, const String &fontColor="#000000") const
 Writes the graph with its attributes in SVG format to file fileName.
void writeSVG (ostream &os, int fontSize, const String &fontColor) const
 Writes the graph with its attributes in SVG format to output stream os.
void writeXML (const String &fileName, const char *delimiter="", const char *offset="") const
 Writes the graph to the XML file fileName.
virtual void writeXML (ostream &os, const char *delimiter="", const char *offset="") const
 Writes the graph to XML output stream os.
const double & x (node v) const
 Returns the x-coordinate of node v.
double & x (node v)
 Returns the x-coordinate of node v.
const double & y (node v) const
 Returns the y-coordinate of node v.
double & y (node v)
 Returns the y-coordinate of node v.

Protected Member Functions

DRect circularBound (node center)
node replaceByStar (List< node > &clique, NodeArray< int > &cliqueNum)
- Protected Member Functions inherited from ogdf::GraphAttributes
String formatLabel (const String &labelText)
 Static helper method for exchanging X(HT)ML-tag specific chars.
void writeLongString (ostream &os, const String &str) const

Private Attributes

EdgeArray< AssociationClass * > m_assClass
SListPure< AssociationClass * > m_assClassList
EdgeArray< nodem_associationClassModel
SListPure< nodem_centerNodes
double m_cliqueCenterSize
NodeArray< DPointm_cliqueCirclePos
NodeArray< DRectm_cliqueCircleSize
NodeArray< nodem_hierarchyParent
SListPure< edgem_mergeEdges
Graphm_pG
EdgeArray< bool > m_replacementEdge
AdjEntryArray< bool > m_upwardEdge

Additional Inherited Members

- Public Types inherited from ogdf::GraphAttributes
enum  {
  nodeGraphics = 0x00001, edgeGraphics = 0x00002, nodeLevel = 0x00004, edgeIntWeight = 0x00008, edgeDoubleWeight = 0x00010, edgeLabel = 0x00020, nodeLabel = 0x00040, edgeType = 0x00080, nodeType = 0x00100, nodeColor = 0x00200, nodeId = 0x00400, edgeArrow = 0x00800, edgeColor = 0x01000, edgeStyle = 0x02000,
  nodeStyle = 0x04000, nodeTemplate = 0x08000, edgeSubGraph = 0x10000, nodeWeight = 0x20000
}
 Bits for specifying attributes. More...
enum  { oval = 0x8001, rectangle = 0x8002 }
 Bits for specifying node shapes. More...
enum  BrushPattern {
  bpNone = 0, bpSolid = 1, bpDense1 = 2, bpDense2 = 3, bpDense3 = 4, bpDense4 = 5, bpDense5 = 6, bpDense6 = 7, bpDense7 = 8, bpHorizontal = 9, bpVertical = 10, bpCross = 11, BackwardDiagonal = 12, ForwardDiagonal = 13,
  DiagonalCross = 14
}
 Types for object brush patterns. More...
enum  EdgeArrow { none, last, first, both, undefined }
 Types for edge arrows. More...
enum  EdgeStyle { esNoPen = 0, esSolid = 1, esDash = 2, esDot = 3, esDashdot = 4, esDashdotdot = 5 }
 Types for line styles. More...
enum  ImageAlignment { TopLeft = 0, TopCenter, TopRight, CenterLeft, Center, CenterRight, BottomLeft, BottomCenter, BottomRight }
 Specifies image alignment. More...
enum  ImageStyle { FreeScale = 0, FixScale = 1 }
 Specifies scaling of images. More...
- Static Public Member Functions inherited from ogdf::GraphAttributes
static ImageAlignment intToImageAlignment (int i)
 Helper function mapping int values to image alignment.
static ImageStyle intToImageStyle (int i)
 Helper function mapping int values to image styles.
static BrushPattern intToPattern (int i)
 Converts integer i to brush pattern.
static EdgeStyle intToStyle (int i)
 Converts integer i to edge style.
- Static Protected Member Functions inherited from ogdf::GraphAttributes
static const char * brushPatternToOGML (const GraphAttributes::BrushPattern &brushPattern)
 Static helper method for mapping brush patterns styles to ogml.
static const char * edgeStyleToOGML (const GraphAttributes::EdgeStyle &edgeStyle)
 Static helper method for mapping edge styles to ogml.
static const char * imageAlignmentToOGML (const GraphAttributes::ImageAlignment &imgAlign)
 Static helper method for mapping image alignments to ogml.
static const char * imageStyleToOGML (const GraphAttributes::ImageStyle &imgStyle)
 Static helper method for mapping image style to ogml.
- Protected Attributes inherited from ogdf::GraphAttributes
long m_attributes
 bit vector of currently used attributes
EdgeArray< DPolylinem_bends
 list of bend points of an edge
bool m_directed
 whether or not the graph is directed
EdgeArray< double > m_doubleWeight
 (real number) weight of an edge
EdgeArray< EdgeArrowm_edgeArrow
 arrow type of an edge
EdgeArray< Stringm_edgeColor
 line color of an edge
EdgeArray< Stringm_edgeLabel
 label of an edge
EdgeArray< EdgeStylem_edgeStyle
 line style of an edge
EdgeArray< double > m_edgeWidth
 line width of an edge
EdgeArray< Graph::EdgeTypem_eType
 type of an edge (association or generalization)
NodeArray< double > m_height
 height of a nodes's bounding box
NodeArray< ImageAlignmentm_imageAlign
NodeArray< bool > m_imageDrawLine
NodeArray< double > m_imageHeight
NodeArray< ImageStylem_imageStyle
NodeArray< Stringm_imageUri
NodeArray< double > m_imageWidth
EdgeArray< int > m_intWeight
 (integer) weight of an edge
NodeArray< int > m_level
 level of a node
NodeArray< Stringm_nodeColor
 color of a node
NodeArray< int > m_nodeId
 user ID of a node
NodeArray< int > m_nodeIntWeight
 (integer) weight of a node
NodeArray< Stringm_nodeLabel
 label of a node
NodeArray< Stringm_nodeLine
 line color of a node
NodeArray< double > m_nodeLineWidth
 line width of a node
NodeArray< BrushPatternm_nodePattern
 brush pattern of a node
NodeArray< int > m_nodeShape
 shape of a node
NodeArray< EdgeStylem_nodeStyle
 line style of a node
NodeArray< Stringm_nodeTemplate
 name of template of a node
const Graphm_pGraph
 associated graph
EdgeArray< unsigned int > m_subGraph
 is element of subgraphs given by bitvector
NodeArray< Graph::NodeTypem_vType
NodeArray< double > m_width
 width of a node's bounding box
NodeArray< double > m_x
 x-coordinate of a node
NodeArray< double > m_y
 y-coordinate pf a node

Detailed Description

Definition at line 59 of file UMLGraph.h.


Constructor & Destructor Documentation

ogdf::UMLGraph::UMLGraph ( )
inline

Definition at line 65 of file UMLGraph.h.

ogdf::UMLGraph::UMLGraph ( Graph G,
long  initAttributes = 0 
)
explicit
virtual ogdf::UMLGraph::~UMLGraph ( )
virtual

Member Function Documentation

void ogdf::UMLGraph::adjustHierarchyParents ( )
const AssociationClass* ogdf::UMLGraph::assClass ( edge  e) const
inline

Definition at line 183 of file UMLGraph.h.

const SListPure<AssociationClass*>& ogdf::UMLGraph::assClassList ( ) const
inline

Definition at line 181 of file UMLGraph.h.

const SListPure<node>& ogdf::UMLGraph::centerNodes ( )
inline

Definition at line 159 of file UMLGraph.h.

DRect ogdf::UMLGraph::circularBound ( node  center)
protected
DPoint ogdf::UMLGraph::cliquePos ( node  v)
inline

Definition at line 108 of file UMLGraph.h.

DRect ogdf::UMLGraph::cliqueRect ( node  v)
inline

Definition at line 104 of file UMLGraph.h.

void ogdf::UMLGraph::computeCliquePosition ( node  center,
double  rectMin 
)
void ogdf::UMLGraph::computeCliquePosition ( List< node > &  adjNodes,
node  center,
double  rectMin = -1.0 
)
node ogdf::UMLGraph::createAssociationClass ( edge  e,
double  width = 1.0,
double  height = 1.0 
)
inline

Definition at line 187 of file UMLGraph.h.

node ogdf::UMLGraph::doInsertMergers ( node  v,
SList< edge > &  inGens 
)
double ogdf::UMLGraph::getDefaultCliqueCenterSize ( )
inline

Definition at line 163 of file UMLGraph.h.

virtual void ogdf::UMLGraph::init ( Graph G,
long  initAttr 
)
inlinevirtual

Definition at line 74 of file UMLGraph.h.

void ogdf::UMLGraph::insertGenMergers ( )
bool ogdf::UMLGraph::isReplacement ( edge  e)
inline

Definition at line 154 of file UMLGraph.h.

node ogdf::UMLGraph::modelAssociationClass ( AssociationClass ac)
inline

Definition at line 220 of file UMLGraph.h.

void ogdf::UMLGraph::modelAssociationClasses ( )
inline

Definition at line 211 of file UMLGraph.h.

ogdf::UMLGraph::operator const Graph & ( ) const
inline

Definition at line 82 of file UMLGraph.h.

Graph& ogdf::UMLGraph::pureGraph ( ) const
inline

Definition at line 125 of file UMLGraph.h.

void ogdf::UMLGraph::replaceByStar ( List< List< node > > &  cliques)
node ogdf::UMLGraph::replaceByStar ( List< node > &  clique,
NodeArray< int > &  cliqueNum 
)
protected
void ogdf::UMLGraph::setDefaultCliqueCenterSize ( double  i)
inline

Definition at line 162 of file UMLGraph.h.

void ogdf::UMLGraph::setUpwards ( adjEntry  a,
bool  b 
)
inline

Definition at line 130 of file UMLGraph.h.

void ogdf::UMLGraph::sortEdgesFromLayout ( )
void ogdf::UMLGraph::undoAssociationClass ( AssociationClass ac)
inline

Definition at line 242 of file UMLGraph.h.

void ogdf::UMLGraph::undoAssociationClasses ( )
inline

Definition at line 232 of file UMLGraph.h.

void ogdf::UMLGraph::undoGenMergers ( )
void ogdf::UMLGraph::undoStar ( node  center,
bool  restoreAllEdges 
)
void ogdf::UMLGraph::undoStars ( )
bool ogdf::UMLGraph::upwards ( adjEntry  a) const
inline

Definition at line 131 of file UMLGraph.h.

void ogdf::UMLGraph::writeGML ( const char *  fileName)
void ogdf::UMLGraph::writeGML ( ostream &  os)

Member Data Documentation

EdgeArray<AssociationClass*> ogdf::UMLGraph::m_assClass
private

Definition at line 301 of file UMLGraph.h.

SListPure<AssociationClass*> ogdf::UMLGraph::m_assClassList
private

Definition at line 300 of file UMLGraph.h.

EdgeArray<node> ogdf::UMLGraph::m_associationClassModel
private

Definition at line 302 of file UMLGraph.h.

SListPure<node> ogdf::UMLGraph::m_centerNodes
private

Definition at line 290 of file UMLGraph.h.

double ogdf::UMLGraph::m_cliqueCenterSize
private

Definition at line 287 of file UMLGraph.h.

NodeArray<DPoint> ogdf::UMLGraph::m_cliqueCirclePos
private

Definition at line 295 of file UMLGraph.h.

NodeArray<DRect> ogdf::UMLGraph::m_cliqueCircleSize
private

Definition at line 293 of file UMLGraph.h.

NodeArray<node> ogdf::UMLGraph::m_hierarchyParent
private

Definition at line 313 of file UMLGraph.h.

SListPure<edge> ogdf::UMLGraph::m_mergeEdges
private

Definition at line 289 of file UMLGraph.h.

Graph* ogdf::UMLGraph::m_pG
private

Definition at line 278 of file UMLGraph.h.

EdgeArray<bool> ogdf::UMLGraph::m_replacementEdge
private

Definition at line 291 of file UMLGraph.h.

AdjEntryArray<bool> ogdf::UMLGraph::m_upwardEdge
private

Definition at line 308 of file UMLGraph.h.


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