# Katabatic Documentation

# Katabatic - Routing Toolbox

Constants.h
1 // -*- mode: C++; explicit-buffer-name: "Constants.h<katabatic>" -*-
2 //
3 // This file is part of the Coriolis Software.
4 // Copyright (c) UPMC 2013-2018, All Rights Reserved
5 //
6 // +-----------------------------------------------------------------+
7 // | C O R I O L I S |
8 // | K a t a b a t i c - Routing Toolbox |
9 // | |
10 // | Author : Jean-Paul CHAPUT |
11 // | E-mail : Jean-Paul.Chaput@lip6.fr |
12 // | =============================================================== |
13 // | C++ Header : "./katabatic/Constants.h" |
14 // +-----------------------------------------------------------------+
15
16
17 #ifndef KATABATIC_CONSTANTS_H
18 #define KATABATIC_CONSTANTS_H
19
20 namespace Katabatic {
21
22 enum FunctionFlag { KbNoFlags = 0x00000000
23 , KbOpenSession = 0x00000001
24 , KbRealignate = 0x00000002
25 , KbNativeConstraints = 0x00000004
26 , KbForceMove = 0x00000008
27 , KbHorizontal = 0x00000010
28 , KbVertical = 0x00000020
29 , KbWithPerpands = 0x00000040
30 , KbSource = 0x00000080
31 , KbTarget = 0x00000100
32 , KbWarnOnError = 0x00000200
33 , KbTopology = 0x00000400
34 , KbGlobalSegment = 0x00000800
35 , KbAllowTerminal = 0x00001000
36 , KbAllowLocal = 0x00002000
37 , KbIgnoreContacts = 0x00004000
38 , KbPropagate = 0x00008000
39 , KbSuperior = 0x00010000
40 , KbUseAboveLayer = 0x00020000
41 , KbUseBelowLayer = 0x00040000
42 , KbDoglegOnLeft = 0x00080000
43 , KbDoglegOnRight = 0x00100000
44 , KbWithNeighbors = 0x00200000
45 , KbNoCheckLayer = 0x00400000
46 , KbHalfSlacken = 0x00800000
47 , KbNoGCellShrink = 0x01000000
48 , KbCParanoid = 0x02000000
49 , KbCreate = 0x04000000
50 , KbCheckLowDensity = 0x08000000
51 , KbDirectionMask = KbHorizontal|KbVertical
52 };
53
54 enum EngineState { EngineCreation = 1
55 , EngineGlobalLoaded = 2
56 , EngineActive = 3
57 , EngineDriving = 4
58 , EnginePreDestroying = 5
59 , EngineGutted = 6
60 };
61
62 enum EngineFlag { EngineDemoMode = 0x00000001
63 , EngineWarnOnGCellOverload = 0x00000002
64 , EngineDestroyBaseContact = 0x00000004
65 , EngineDestroyBaseSegment = 0x00000008
66 , EngineDestroyMask = EngineDestroyBaseContact|EngineDestroyBaseSegment
67 };
68
69 enum EngineAlgorithm { EngineLoadGrByNet = 0x00000001
70 , EngineLoadGrByGCell = 0x00000002
71 , EngineLayerAssignByLength = 0x00000004
72 , EngineLayerAssignByTrunk = 0x00000008
73 , EngineNoNetLayerAssign = 0x00000010
74 };
75
76
77 inline unsigned int perpandicularTo ( unsigned int direction )
78 {
79 switch ( direction & KbDirectionMask ) {
80 case KbHorizontal: return KbVertical;
81 case KbVertical: return KbHorizontal;
82 }
83 return 0;
84 }
85
86
87 } // Katabatic namespace.
88
89 #endif // KATABATIC_CONSTANTS_H
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
Katabatic::KbVertical
Definition: Constants.h:28
Katabatic::KbWithPerpands
Definition: Constants.h:29
Katabatic::KbRealignate
Definition: Constants.h:24
Katabatic::KbDoglegOnRight
Definition: Constants.h:43
Katabatic::FunctionFlag
FunctionFlag
Definition: Constants.h:22
Katabatic::KbOpenSession
Definition: Constants.h:23
Katabatic::KbHalfSlacken
Definition: Constants.h:46
Katabatic::EngineGlobalLoaded
Definition: Constants.h:55
Katabatic::EnginePreDestroying
Definition: Constants.h:58
Katabatic::EngineActive
Definition: Constants.h:56
Katabatic::EngineDriving
Definition: Constants.h:57
Katabatic::KbUseBelowLayer
Definition: Constants.h:41
Katabatic::KbWarnOnError
Definition: Constants.h:32
Katabatic::KbPropagate
Definition: Constants.h:38
Katabatic
The namespace dedicated to Katabatic.
Definition: Katabatic.dox:13
Katabatic::EngineCreation
Definition: Constants.h:54
Katabatic::KbTarget
Definition: Constants.h:31
Katabatic::KbForceMove
Definition: Constants.h:26
Katabatic::KbSource
Definition: Constants.h:30
Katabatic::KbUseAboveLayer
Definition: Constants.h:40
Katabatic::KbDoglegOnLeft
Definition: Constants.h:42
Katabatic::KbHorizontal
Definition: Constants.h:27
Katabatic::EngineGutted
Definition: Constants.h:59
Katabatic::KbNativeConstraints
Definition: Constants.h:25
Katabatic::EngineState
EngineState
Definition: Constants.h:54