// // p r i n t D i a g r a m s I n U M L G r a p h F o r m a t // void DinoUmlToGraphConverter::printDiagramsInUMLGraphFormat(ofstream &os) { // Traverse diagrams SListConstIterator<UMLGraph*> diagramIt; for (diagramIt = m_diagramGraphsInUMLGraphFormat.begin(); diagramIt.valid(); ++diagramIt) { // Get underlying graphs const Graph &G = (const Graph &)**diagramIt; const GraphAttributes &AG = **diagramIt; // Nodes os << "Classes:" << endl; NodeElement *v; forall_nodes(v,G) { os << "\t" << AG.labelNode(v); os << " with geometry (" << AG.x(v) << ", " << AG.y(v) << ", " << AG.width(v) << ", " << AG.height(v) << ")"; os << endl; } // Edges EdgeElement *e; os << "Relations:" << endl; forall_edges(e,G) { os << "\t"; if (AG.type(e) == Graph::association) os << "Association between "; if (AG.type(e) == Graph::generalization) os << "Generalization between "; os << AG.labelNode(e->source()) << " and " << AG.labelNode(e->target()) << endl; }