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 
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 
Definition: Constants.h:28
Definition: Constants.h:29
Definition: Constants.h:24
Definition: Constants.h:43
FunctionFlag
Definition: Constants.h:22
Definition: Constants.h:23
Definition: Constants.h:46
Definition: Constants.h:55
Definition: Constants.h:58
Definition: Constants.h:56
Definition: Constants.h:57
Definition: Constants.h:41
Definition: Constants.h:32
Definition: Constants.h:38
The namespace dedicated to Katabatic.
Definition: Katabatic.dox:13
Definition: Constants.h:54
Definition: Constants.h:31
Definition: Constants.h:26
Definition: Constants.h:30
Definition: Constants.h:40
Definition: Constants.h:42
Definition: Constants.h:27
Definition: Constants.h:59
Definition: Constants.h:25
EngineState
Definition: Constants.h:54


Generated by doxygen 1.8.14 on Sun Nov 21 2021 Return to top of page
Katabatic - Routing Toolbox Copyright © 2008-2020 Sorbonne Universite. All rights reserved