48 #ifndef OGDF_UML_GRAPH_H
49 #define OGDF_UML_GRAPH_H
74 virtual void init(
Graph &G,
long initAttr)
78 m_hierarchyParent.init(constGraph(), 0);
79 m_upwardEdge.init(constGraph(),
false);
82 operator const Graph &()
const {
return *m_pGraph; }
87 void insertGenMergers();
90 void undoGenMergers();
101 void undoStar(
node center,
bool restoreAllEdges);
106 return m_cliqueCircleSize[v];
110 return m_cliqueCirclePos[v];
118 void computeCliquePosition(
node center,
double rectMin);
122 void computeCliquePosition(
List<node> &adjNodes,
node center,
double rectMin = -1.0);
134 void writeGML(
const char *fileName);
137 void writeGML(ostream &os);
142 void adjustHierarchyParents();
147 void sortEdgesFromLayout();
156 return m_replacementEdge[e];
170 double x = 0.0,
double y = 0.0)
171 : m_width(width), m_height(height), m_x(x), m_y(y), m_edge(e), m_node(0)
187 node createAssociationClass(
edge e,
double width = 1.0,
double height = 1.0)
191 m_assClassList.pushBack(ac);
195 node v = m_pG->newNode();
198 m_associationClassModel[ac->
m_edge] = v;
211 void modelAssociationClasses()
216 modelAssociationClass((*it));
222 node dummy = m_pG->split(ac->
m_edge)->source();
227 m_pG->newEdge(ac->
m_node, dummy);
232 void undoAssociationClasses()
237 undoAssociationClass((*it));
266 m_pG->unsplit(dummy);