Open
Graph Drawing
Framework
v. 2023.09 (Elderberry)
Overview
Class Hierarchy
Class Index
Class List
Members
Namespaces
Source Files
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
42
namespace
ogdf
{
43
44
using
nodeType
=
long
long
;
45
46
enum class
UMLNodeTypePatterns
:
nodeType
{
47
Primary
= 0x0000000f,
48
Secondary
= 0x000000f0,
49
Tertiary
= 0x00000f00,
50
Fourth
= 0x0000f000,
51
User
= 0xff000000,
52
All
= 0xffffffff
53
};
54
55
enum class
UMLNodeTypeConstants
{
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
82
enum class
UMLNodeTypeOffsets
{
83
Primary
= 0,
84
Secondary
= 4,
85
Tertiary
= 8,
86
Fourth
= 12,
87
Fifth
= 16,
88
User
= 24
89
};
90
91
inline
int
operator<<
(
UMLNodeTypeConstants
lhs,
UMLNodeTypeOffsets
rhs) {
92
return
static_cast<
int
>
(lhs) <<
static_cast<
int
>
(rhs);
93
}
94
95
}
getDoubleFactoredZeroAdjustedMerger
static MultilevelBuilder * getDoubleFactoredZeroAdjustedMerger()
Definition
multilevelmixer.cpp:36
ogdf
The namespace for all OGDF objects.
Definition
AugmentationModule.h:36
ogdf::nodeType
long long nodeType
Definition
NodeTypePatterns.h:44
ogdf::operator<<
std::ostream & operator<<(std::ostream &os, const ogdf::Array< E, INDEX > &a)
Prints array a to output stream os.
Definition
Array.h:978
ogdf::UMLNodeTypeConstants
UMLNodeTypeConstants
Definition
NodeTypePatterns.h:55
ogdf::UMLNodeTypeConstants::FourFlow
@ FourFlow
ogdf::UMLNodeTypeConstants::FourType
@ FourType
ogdf::UMLNodeTypeConstants::SecStructural
@ SecStructural
ogdf::UMLNodeTypeConstants::TerLDExpander
@ TerLDExpander
ogdf::UMLNodeTypeConstants::PrimOriginal
@ PrimOriginal
ogdf::UMLNodeTypeConstants::TerHDExpander
@ TerHDExpander
ogdf::UMLNodeTypeConstants::TerCrossing
@ TerCrossing
ogdf::UMLNodeTypeConstants::FourCorner
@ FourCorner
ogdf::UMLNodeTypeConstants::SecNonStructural
@ SecNonStructural
ogdf::UMLNodeTypeConstants::PrimCopy
@ PrimCopy
ogdf::UMLNodeTypeConstants::TerExpander
@ TerExpander
ogdf::UMLNodeTypeConstants::FourLabel
@ FourLabel
ogdf::UMLEdgeTypeOffsets::Fifth
@ Fifth
ogdf::UMLEdgeTypePatterns::Tertiary
@ Tertiary
ogdf::UMLEdgeTypePatterns::Primary
@ Primary
ogdf::UMLEdgeTypePatterns::Secondary
@ Secondary
ogdf::UMLEdgeTypePatterns::Fourth
@ Fourth
ogdf::UMLEdgeTypePatterns::User
@ User
ogdf::UMLEdgeTypePatterns::All
@ All
ogdf::UMLNodeTypeOffsets
UMLNodeTypeOffsets
Definition
NodeTypePatterns.h:82
ogdf::UMLNodeTypePatterns
UMLNodeTypePatterns
Definition
NodeTypePatterns.h:46
include
ogdf
planarity
NodeTypePatterns.h
© 1999–2023
The OGDF Team