|
Open Graph Drawing Framework |
v. 2023.09 (Elderberry)
|
|
|
Go to the documentation of this file.
75 m_hierarchyParent.init(constGraph(),
nullptr);
76 m_upwardEdge.init(constGraph(),
false);
82 virtual void init(
const Graph& G,
long initAttr)
override {
90 void insertGenMergers();
93 void undoGenMergers();
108 void undoStar(
node center,
bool restoreAllEdges);
121 void computeCliquePosition(
node center,
double rectMin);
122 void computeCliquePosition(
node center,
double rectMin,
const adjEntry &startAdj);
131 void computeCliquePosition(
List<node>& adjNodes,
node center,
double rectMin = -1.0);
144 return m_replacementEdge[e];
150 Graph& pureGraph()
const {
return *m_pG;}
154 void setAlign(
edge e,
bool b) {m_alignEdge[e] = b;}
163 void writeGML(
const char* fileName);
166 void writeGML(std::ostream& os);
171 void adjustHierarchyParents();
174 void sortEdgesFromLayout();
185 : m_width(width), m_height(height), m_x(x), m_y(y), m_edge(e), m_node(nullptr) { }
203 m_assClassList.pushBack(ac);
207 node v = m_pG->newNode();
210 m_associationClassModel[ac->
m_edge] = v;
225 modelAssociationClass((*it));
231 node dummy = m_pG->split(ac->
m_edge)->source();
236 m_pG->newEdge(ac->
m_node, dummy);
244 undoAssociationClass((*it));
275 m_pG->unsplit(dummy);
297 CliqueInfo(
node v,
int i) : m_target(v), m_edgeIndex(i) {}
The namespace for all OGDF objects.
Stores additional attributes of a graph (like layout information).
Declaration of class GraphAttributes which extends a Graph by additional attributes.
const SListPure< node > & centerNodes()
Includes declaration of graph class.
void undoAssociationClasses()
AssociationClass(edge e, double width=1.0, double height=1.0, double x=0.0, double y=0.0)
bool isReplacement(edge e)
Returns true if edge was inserted during clique replacement.
Definition of exception classes.
Declaration of classes GenericPoint, GenericPolyline, GenericLine, GenericSegment,...
Graph::HiddenEdgeSet * m_hiddenEdges
#define OGDF_ASSERT(expr)
Assert condition expr. See doc/build.md for more information.
node theNode() const
Returns the node whose adjacency list contains this element.
SListPure< edge > m_mergeEdges
Functionality for temporarily hiding edges in constant time.
Encapsulates a pointer to an ogdf::SList element.
virtual void init(const Graph &G, long attr)
Initializes the graph attributes for graph G.
Singly linked lists (maintaining the length of the list).
SListPure< node > m_centerNodes
center nodes introduced at clique replacement
DRect cliqueRect(node v)
Returns the size of a circular drawing for a clique around center v.
SListPure< AssociationClass * > m_assClassList
saves all accociation classes
void modelAssociationClasses()
Inserts representation for association class in underlying graph.
bool valid() const
Returns true iff the iterator points to an element.
adjEntry twin() const
Returns the corresponding adjacency element associated with the same edge.
Modelling of association classes.
Class for adjacency list elements.
Exception thrown when an algorithm realizes an internal bug that prevents it from continuing.
EdgeElement * edge
The type of edges.
AdjEntryArray< bool > m_upwardEdge
used to classify edges for embedding with alignment
edge theEdge() const
Returns the edge associated with this adjacency entry.
EdgeArray< node > m_associationClassModel
modelled classes are stored
int degree() const
Returns the degree of the node (indegree + outdegree).
void undoAssociationClass(AssociationClass *ac)
Removes the modeling of the association class without removing the information.
Declaration of singly linked lists and iterators.
Rectangles with real coordinates.
NodeArray< node > m_hierarchyParent
used to derive edge types for alignment in PlanRepUML (same hierarchyparent => edge connects (half)br...
NodeArray< DPoint > m_cliqueCirclePos
save the position of the node in the circular drawing of the clique
EdgeArray< bool > m_replacementEdge
used to mark clique replacement edges
const AssociationClass * assClass(edge e) const
Doubly linked lists (maintaining the length of the list).
RegisteredArray for nodes, edges and adjEntries of a graph.
Data type for general directed graphs (adjacency list representation).
virtual void init(const Graph &G, long initAttr) override
Initializes the graph attributes for graph G.
void setDefaultCliqueCenterSize(double i)
Default size of inserted clique replacement center nodes.
void setUpwards(adjEntry a, bool b)
Sets status of edges to be specially embedded (if alignment)
node modelAssociationClass(AssociationClass *ac)
const SListPure< AssociationClass * > & assClassList() const
EdgeArray< AssociationClass * > m_assClass
association class for list
Basic declarations, included by all source files.
#define OGDF_EXPORT
Specifies that a function or class is exported by the OGDF DLL.
adjEntry firstAdj() const
Returns the first entry in the adjaceny list.
Class for the representation of edges.
bool upwards(adjEntry a) const
static const long nodeType
Corresponds to node attribute type(node).
node createAssociationClass(edge e, double width=1.0, double height=1.0)
Adds association class to edge e.
double m_cliqueCenterSize
default size of inserted clique replacement center nodes
double getDefaultCliqueCenterSize()
Class for the representation of nodes.
NodeArray< DRect > m_cliqueCircleSize
save the bounding box size of the circular drawing of the clique at center
virtual void init(Graph &G, long initAttr)
RegisteredArray for edges of a graph, specialized for EdgeArray<edge>.