Open
Graph Drawing
Framework

 v. 2023.09 (Elderberry)
 

Loading...
Searching...
No Matches
UmlDiagramGraph.h
Go to the documentation of this file.
1
38#pragma once
39
40#include <ogdf/basic/SList.h>
42
43namespace ogdf {
44
52 friend OGDF_EXPORT std::ostream& operator<<(std::ostream&, const UmlDiagramGraph&);
53
54public:
56 enum class UmlDiagramType {
57 classDiagram,
58 moduleDiagram,
59 sequenceDiagram,
60 collaborationDiagram,
61 componentDiagram,
62 unknownDiagram
63 };
64
65private:
68
71
74
79
84
89
94
99
104
105public:
108 const string& diagramName);
109
112
114 void addNodeWithGeometry(node umlNode, double x, double y, double w, double h);
115
118
120 const string& getDiagramName() const { return m_diagramName; }
121
123 const char* getDiagramTypeString() const;
124
126 const SList<node>& getNodes() const { return m_containedNodes; }
127
129 const SList<edge>& getEdges() const { return m_containedEdges; }
130
132 const SList<double>& getX() const { return m_x; }
133
135 const SList<double>& getY() const { return m_y; }
136
138 const SList<double>& getWidth() const { return m_w; }
139
141 const SList<double>& getHeight() const { return m_h; }
142};
143
144}
Declaration of singly linked lists and iterators.
Contains the class UmlModelGraph which represents the complete UML Model in a graph like data structu...
Class for the representation of edges.
Definition Graph_d.h:300
Class for the representation of nodes.
Definition Graph_d.h:177
Singly linked lists (maintaining the length of the list).
Definition SList.h:833
Contains the class UmlDiagramGraph which represents one particular diagram of the complete UML Model.
UmlDiagramType
This enum type represents the different diagram types of UML. *‍/.
~UmlDiagramGraph()
Destructor.
SList< double > m_y
This list contains the y-coordinates of the nodes contained in the represented diagram.
string m_diagramName
The name of the diagram.
friend std::ostream & operator<<(std::ostream &, const UmlDiagramGraph &)
const SList< node > & getNodes() const
Access to contained nodes.
SList< double > m_x
This list contains the x-coordinates of the nodes contained in the represented diagram.
UmlDiagramGraph(const UmlModelGraph &umlModelGraph, UmlDiagramType diagramType, const string &diagramName)
Constructor.
void addNodeWithGeometry(node umlNode, double x, double y, double w, double h)
Adds a node with the given coordinates.
void addEdge(edge umlEdge)
Adds an edge.
SList< double > m_h
This list contains the height of the nodes contained in the represented diagram.
SList< edge > m_containedEdges
This list holds pointer to the edges contained in the represented diagram.
const string & getDiagramName() const
Returns the name of the diagram.
UmlDiagramType m_diagramType
The type of diagram.
SList< double > m_w
This list contains the width of the nodes contained in the represented diagram.
const SList< double > & getWidth() const
Access to width.
const SList< double > & getY() const
Access to y-coordinates.
SList< node > m_containedNodes
This list holds pointer to the nodes contained in the represented diagram.
const SList< double > & getHeight() const
Access to height.
const SList< edge > & getEdges() const
Access to contained edges.
const SList< double > & getX() const
Access to x-coordinates.
const char * getDiagramTypeString() const
Returns the type of the diagram as string.
const UmlModelGraph & m_modelGraph
Reference to the model graph.
This class represents the complete UML Model in a graph-like data structure.
#define OGDF_EXPORT
Specifies that a function or class is exported by the OGDF DLL.
Definition config.h:101
static MultilevelBuilder * getDoubleFactoredZeroAdjustedMerger()
The namespace for all OGDF objects.