Loading [MathJax]/extensions/tex2jax.js

Open
Graph Drawing
Framework

 v. 2023.09 (Elderberry)
 

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
Loading...
Searching...
No Matches
NodeTypePatterns.h
Go to the documentation of this file.
1
33//edge type patterns:
34//THREE TYPE LEVELS:
35//primary: holds information about structural/non-structural
36// nodes, this influences the handling in algorithms
37//secondary: type of node, e.g. flow node, simple label node, ...
38//user edge types can be set locally
39
40#pragma once
41
42namespace ogdf {
43
44using nodeType = long long;
45
47 Primary = 0x0000000f,
48 Secondary = 0x000000f0,
49 Tertiary = 0x00000f00,
50 Fourth = 0x0000f000,
51 User = 0xff000000,
52 All = 0xffffffff
53};
54
56 //primary types (should be disjoint bits)
57 PrimOriginal = 0x1,
58 PrimCopy = 0x2,
59 //secondary types: type of node (should be disjoint types, but not bits,
60 //but may not completely cover others that are allowed to be set together)
61 //preliminary: setsecondarytype deletes old type
62 //defines the structure of the diagram, e.g. as flow transmitter
63 SecStructural = 0x1,
64 SecNonStructural = 0x2,
65 //tertiary
66 //crossing node, high/low degree expander
67 TerCrossing = 0x1,
68 TerExpander = 0x2,
69 TerHDExpander = 0x6,
70 TerLDExpander = 0xA,
71 //fourth level types: special types
72 //flow node, simple label node, type label node, expansion corner node
73 FourFlow = 0x1,
74 FourLabel = 0x2,
75 FourType = 0x3,
76 FourCorner = 0x4
77
78 //user type hint: what you have done with the edge, e.g. brother edge
79 //that is embedded crossing free and should be drawn bend free
80};
81
83 Primary = 0,
84 Secondary = 4,
85 Tertiary = 8,
86 Fourth = 12,
87 Fifth = 16,
88 User = 24
89};
90
92 return static_cast<int>(lhs) << static_cast<int>(rhs);
93}
94
95}
static MultilevelBuilder * getDoubleFactoredZeroAdjustedMerger()
The namespace for all OGDF objects.
long long nodeType
std::ostream & operator<<(std::ostream &os, const ogdf::Array< E, INDEX > &a)
Prints array a to output stream os.
Definition Array.h:978