|
Open Graph Drawing Framework |
v. 2023.09 (Elderberry)
|
|
|
Go to the documentation of this file.
46 class CombinatorialEmbedding;
47 class GridLayoutMapped;
85 void compute_place(
node v, NodeInfo& inf );
88 void compute_routing(
node v);
91 void compute_glue_points_y(
node v);
94 void compute_gen_glue_points_y(
node v);
97 void compute_glue_points_x(
node& v);
100 void compute_gen_glue_points_x(
node v);
103 void initialize_node_info(
node v,
int sep);
117 void addbends(
BendString& bs,
const char* s2);
126 return (*inf.
inList(d).get(pos))->adjTarget();
128 return (*inf.
inList(d).get(pos))->adjSource();
135 return (*inf.
inList(d).get(pos))->adjSource();
137 return (*inf.
inList(d).get(pos))->adjTarget();
142 void set_position(
node v,
int x = 0,
int y = 0);
145 void fix_position(
node v,
int x = 0,
int y = 0);
160 void setOrSep(
int sep) {m_hasOrSep =
true; m_orSep = sep;}
219 void set_corners(
node v);
233 nt = m_prup->
typeOf(oppositeNode(ae));
253 const bool bendLeft,
const bool bendUp,
int pos = 0);
256 const bool updateX,
const OrthoDir dir,
const bool bendLeft,
const bool bendUp,
257 const bool subtract);
260 const bool updateX,
const OrthoDir dir,
const bool bendLeft);
265 auto& inf = infos[v];
269 m_abends[adj] = btDouble;
270 inf.inc_E(dirB, dir);
273 m_abends[adj] = btSingle;
274 inf.inc_E_hook(dirB, dir);
NodeArray< OrthoDir > m_mergeDir
direction of adjacent (to) merger edges
The namespace for all OGDF objects.
GridLayoutMapped * m_layoutp
Includes declaration of graph class.
NodeArray< int > * m_nodewidth
Planarized representations (of a connected component) of a graph.
NodeArray< bool > m_mergerSon
is part of merger son cage
Represents the bends on an edge e consisting of vertical and horizontal segments.
AdjEntryArray< int > m_agp_y
because edges can connect two replacement cages
Places node boxes in replacement areas of orthogonal drawing step and route edges to minimize bends.
AdjEntryArray< int > m_acp_y
edge connection point coordinates before treatment
Declaration of class NodeInfo.
CombinatorialEmbedding * m_comb
void updateOneBend(const bool isDoubleBend, const adjEntry adj, const node v, const OrthoDir dir, const bool bendLeft, const BendType btSingle, const BendType btDouble)
int gp_x(adjEntry ae)
Returns assigned glue point (node border) x-coordinate.
BendType abendType(adjEntry ae)
Declaration of a base class for planar representations of graphs and cluster graphs.
NodeArray< ProcessType > m_processStatus
keep information about already processed Nodes
bool is_in_edge(OrthoDir od, int pos)
Class for adjacency list elements.
bool oppositeExpander(adjEntry ae)
check if the target node of the outgoing adjEntry still is a expander
Declaration of orthogonal representation of planar graphs.
Orthogonal representation of an embedded graph.
int gp_y(adjEntry ae)
Returns assigned glue point (node border) y-coordinate.
void align(bool b)
set alignment option: place nodes in cage at outgoing generalization
int m_overh
minimum overhang
Graph::NodeType typeOf(node v) const
Returns the type of node v.
AdjEntryArray< node > m_cage_point
newly introduced bends destroy edge to point connection
static OrthoDir nextDir(OrthoDir d)
Returns the next OrthoDir (in a clockwise manner)
AdjEntryArray< int > auppe
NodeArray< bool > m_fixed
saves info about changed position, no further change is allowed
RegisteredArray for nodes, edges and adjEntries of a graph.
NodeArray< int > m_newy
new placement position for original node
NodeType
The type of nodes.
RoutingChannel< int > * m_rc
node twinNode() const
Returns the associated node of the corresponding adjacency entry (shorthand for twin()->theNode()).
node oppositeNode(adjEntry ae)
helper for oppositeExpander
int cp_y(adjEntry ae)
Returns assigned connection point (cage border) y-coordinate of ae 's source.
NodeArray< BendType > m_oppositeBendType
keep the information about the type of bend inserted at one end of an (originally unbend) edge,...
int cp_x(adjEntry ae)
Returns assigned connection point (cage border) x-coordinate of ae 's source.
List< edge > & inList(OrthoDir bs)
Basic declarations, included by all source files.
adjEntry inEntry(NodeInfo &inf, OrthoDir d, int pos)
adjEntries for edges in inLists
double Cconst
relative sep to overhang / delta to eps
#define OGDF_EXPORT
Specifies that a function or class is exported by the OGDF DLL.
Combinatorial embeddings of planar graphs with modification functionality.
ProcessType
Process status of nodes.
Class for the representation of edges.
MinimumEdgeDistances< int > * m_med
Declaration of doubly linked lists and iterators.
adjEntry outEntry(NodeInfo &inf, OrthoDir d, int pos)
adjEntries for edges in inLists
NodeArray< NodeInfo > infos
holds the cage and placement information
NodeArray< int > * m_nodeheight
Extends GridLayout by a grid mapping mechanism.
int m_sep
minimum separation
Encapsulates a pointer to a list element.
Declaration of class RoutingChannel which maintains required size of routing channels and separation,...
Maintains input sizes for improvement compaction (deltas and epsilons)
static OrthoDir prevDir(OrthoDir d)
Returns the previous OrthoDir (in a clockwise manner)
bool m_minDelta
set minimum delta values for flip decision and adjust distances correspondingly
Class for the representation of nodes.
AdjEntryArray< BendType > m_abends
bends
RegisteredArray for edges of a graph, specialized for EdgeArray<edge>.
BendType
Edge types, defined by necessary bends.