coriolis/kite/doc/html/SegmentFsm_8h_source.html

141 lines
79 KiB
HTML

<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.0//EN'>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>Kite - Detailed Router</title>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="SoC.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head>
<h1 id="pagetop" class="header">Kite - Detailed Router</h1>
<!--
<center class="header">
<table class="header">
<tr>
<td><a href="customSummary.html">Summary</a></td>
<td><a href="namespaces.html">Namespaces</a></td>
<td><a href="customHierarchy.html">Class Hierarchy</a></td>
<td><a href="annotated.html">Classes</a></td>
<td><a href="functions.html">Member Index</a></td>
</tr>
</table>
</center>
-->
<br>
<body onload="javascript:toggleLevel(1)">
<!-- Generated by Doxygen 1.8.14 -->
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',false,false,'search.php','Search');
});
/* @license-end */</script>
<div id="main-nav"></div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_2916ee297f5e79ec495d393dfe8ba769.html">kite</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">SegmentFsm.h</div> </div>
</div><!--header-->
<div class="contents">
<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">// -*- C++ -*-</span></div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment">// This file is part of the Coriolis Software.</span></div><div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment">// Copyright (c) UPMC 2008-2018, All Rights Reserved</span></div><div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment">//</span></div><div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment">// +-----------------------------------------------------------------+</span></div><div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="comment">// | C O R I O L I S |</span></div><div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="comment">// | K i t e - D e t a i l e d R o u t e r |</span></div><div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="comment">// | |</span></div><div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="comment">// | Author : Jean-Paul CHAPUT |</span></div><div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="comment">// | E-mail : Jean-Paul.Chaput@asim.lip6.fr |</span></div><div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="comment">// | =============================================================== |</span></div><div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="comment">// | C++ Header : &quot;./kite/SegmentFsm.h&quot; |</span></div><div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="comment">// +-----------------------------------------------------------------+</span></div><div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;</div><div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;</div><div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;<span class="preprocessor">#ifndef KITE_SEGMENT_FSM_H</span></div><div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="preprocessor">#define KITE_SEGMENT_FSM_H</span></div><div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;</div><div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;<span class="preprocessor">#include &quot;kite/TrackCost.h&quot;</span></div><div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;</div><div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespaceKite.html">Kite</a> {</div><div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;</div><div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160; <span class="keyword">class </span>TrackElement;</div><div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160; <span class="keyword">class </span>DataNegociate;</div><div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160; <span class="keyword">class </span>RoutingEvent;</div><div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160; <span class="keyword">class </span>RoutingEventQueue;</div><div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160; <span class="keyword">class </span>RoutingEventHistory;</div><div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;</div><div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;</div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;<span class="comment">// -------------------------------------------------------------------</span></div><div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;<span class="comment">// Class : &quot;SegmentAction&quot;.</span></div><div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;</div><div class="line"><a name="l00034"></a><span class="lineno"><a class="line" href="classKite_1_1SegmentAction.html"> 34</a></span>&#160; <span class="keyword">class </span><a class="code" href="classKite_1_1SegmentAction.html">SegmentAction</a> {</div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160; <span class="keyword">public</span>:</div><div class="line"><a name="l00036"></a><span class="lineno"><a class="line" href="classKite_1_1SegmentAction.html#a1d1cfd8ffb84e947f82999c682b666a7"> 36</a></span>&#160; <span class="keyword">enum</span> <a class="code" href="classKite_1_1SegmentAction.html#a1d1cfd8ffb84e947f82999c682b666a7">Type</a> { <a class="code" href="classKite_1_1SegmentAction.html#a1d1cfd8ffb84e947f82999c682b666a7aacd3ef9d889b306ca7e7bdcd37ba659a">Self</a> = (1&lt;&lt; 0)</div><div class="line"><a name="l00037"></a><span class="lineno"><a class="line" href="classKite_1_1SegmentAction.html#a1d1cfd8ffb84e947f82999c682b666a7a75f0c3176be2226dfe8ad164a0a034a2"> 37</a></span>&#160; , <a class="code" href="classKite_1_1SegmentAction.html#a1d1cfd8ffb84e947f82999c682b666a7a75f0c3176be2226dfe8ad164a0a034a2">Other</a> = (1&lt;&lt; 1)</div><div class="line"><a name="l00038"></a><span class="lineno"><a class="line" href="classKite_1_1SegmentAction.html#a1d1cfd8ffb84e947f82999c682b666a7a02330ea306385a34162a1e620a1c37df"> 38</a></span>&#160; , <a class="code" href="classKite_1_1SegmentAction.html#a1d1cfd8ffb84e947f82999c682b666a7a02330ea306385a34162a1e620a1c37df">Perpandicular</a> = (1&lt;&lt; 2)</div><div class="line"><a name="l00039"></a><span class="lineno"><a class="line" href="classKite_1_1SegmentAction.html#a1d1cfd8ffb84e947f82999c682b666a7a8c1f14f07c9eedcbbb2cc61988030646"> 39</a></span>&#160; , <a class="code" href="classKite_1_1SegmentAction.html#a1d1cfd8ffb84e947f82999c682b666a7a8c1f14f07c9eedcbbb2cc61988030646">Insert</a> = (1&lt;&lt; 3)</div><div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="classKite_1_1SegmentAction.html#a1d1cfd8ffb84e947f82999c682b666a7a08900dc237aef7e4a7f50d2ba1ffd748"> 40</a></span>&#160; , <a class="code" href="classKite_1_1SegmentAction.html#a1d1cfd8ffb84e947f82999c682b666a7a08900dc237aef7e4a7f50d2ba1ffd748">Ripup</a> = (1&lt;&lt; 4)</div><div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="classKite_1_1SegmentAction.html#a1d1cfd8ffb84e947f82999c682b666a7a4fab9c042ba690bdb62d3c34eab8472d"> 41</a></span>&#160; , <a class="code" href="classKite_1_1SegmentAction.html#a1d1cfd8ffb84e947f82999c682b666a7a4fab9c042ba690bdb62d3c34eab8472d">RipedByLocal</a> = (1&lt;&lt; 5)</div><div class="line"><a name="l00042"></a><span class="lineno"><a class="line" href="classKite_1_1SegmentAction.html#a1d1cfd8ffb84e947f82999c682b666a7a9e16316a13899c2e02dd49cf2fb6e91f"> 42</a></span>&#160; , <a class="code" href="classKite_1_1SegmentAction.html#a1d1cfd8ffb84e947f82999c682b666a7a9e16316a13899c2e02dd49cf2fb6e91f">ResetRipup</a> = (1&lt;&lt; 6)</div><div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="classKite_1_1SegmentAction.html#a1d1cfd8ffb84e947f82999c682b666a7a6c00c46010d69247a3edc18b70d700fa"> 43</a></span>&#160; , <a class="code" href="classKite_1_1SegmentAction.html#a1d1cfd8ffb84e947f82999c682b666a7a6c00c46010d69247a3edc18b70d700fa">ToRipupLimit</a> = (1&lt;&lt; 7)</div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; , MoveToAxis = (1&lt;&lt; 8)</div><div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="classKite_1_1SegmentAction.html#a1d1cfd8ffb84e947f82999c682b666a7a46c4ca7a69b5eae786be28f75523b78b"> 45</a></span>&#160; , <a class="code" href="classKite_1_1SegmentAction.html#a1d1cfd8ffb84e947f82999c682b666a7a46c4ca7a69b5eae786be28f75523b78b">AxisHint</a> = (1&lt;&lt; 9)</div><div class="line"><a name="l00046"></a><span class="lineno"><a class="line" href="classKite_1_1SegmentAction.html#a1d1cfd8ffb84e947f82999c682b666a7a4fe6b9a3b3816492b9a99ab6689c4b20"> 46</a></span>&#160; , <a class="code" href="classKite_1_1SegmentAction.html#a1d1cfd8ffb84e947f82999c682b666a7a4fe6b9a3b3816492b9a99ab6689c4b20">PackingMode</a> = (1&lt;&lt;10)</div><div class="line"><a name="l00047"></a><span class="lineno"><a class="line" href="classKite_1_1SegmentAction.html#a1d1cfd8ffb84e947f82999c682b666a7a8b27ea2f99b2e6446eac77626aef0711"> 47</a></span>&#160; , <a class="code" href="classKite_1_1SegmentAction.html#a1d1cfd8ffb84e947f82999c682b666a7a8b27ea2f99b2e6446eac77626aef0711">ToState</a> = (1&lt;&lt;11)</div><div class="line"><a name="l00048"></a><span class="lineno"><a class="line" href="classKite_1_1SegmentAction.html#a1d1cfd8ffb84e947f82999c682b666a7adb9a006587bc8a635ffdd034c53a546f"> 48</a></span>&#160; , <a class="code" href="classKite_1_1SegmentAction.html#a1d1cfd8ffb84e947f82999c682b666a7adb9a006587bc8a635ffdd034c53a546f">EventLevel1</a> = (1&lt;&lt;12)</div><div class="line"><a name="l00049"></a><span class="lineno"><a class="line" href="classKite_1_1SegmentAction.html#a1d1cfd8ffb84e947f82999c682b666a7a5bad02627a87d3e38d5812363e46d7b1"> 49</a></span>&#160; , <a class="code" href="classKite_1_1SegmentAction.html#a1d1cfd8ffb84e947f82999c682b666a7a5bad02627a87d3e38d5812363e46d7b1">EventLevel2</a> = (1&lt;&lt;13)</div><div class="line"><a name="l00050"></a><span class="lineno"><a class="line" href="classKite_1_1SegmentAction.html#a1d1cfd8ffb84e947f82999c682b666a7a11ef388ea422168a9c79fd9b4d81ea34"> 50</a></span>&#160; , <a class="code" href="classKite_1_1SegmentAction.html#a1d1cfd8ffb84e947f82999c682b666a7a11ef388ea422168a9c79fd9b4d81ea34">EventLevel3</a> = (1&lt;&lt;14)</div><div class="line"><a name="l00051"></a><span class="lineno"><a class="line" href="classKite_1_1SegmentAction.html#a1d1cfd8ffb84e947f82999c682b666a7ab8346062d5bbccb98893c4675b8d5098"> 51</a></span>&#160; , <a class="code" href="classKite_1_1SegmentAction.html#a1d1cfd8ffb84e947f82999c682b666a7ab8346062d5bbccb98893c4675b8d5098">EventLevel4</a> = (1&lt;&lt;15)</div><div class="line"><a name="l00052"></a><span class="lineno"><a class="line" href="classKite_1_1SegmentAction.html#a1d1cfd8ffb84e947f82999c682b666a7a432d5152211bf70a2d561b8bda34c9e0"> 52</a></span>&#160; , <a class="code" href="classKite_1_1SegmentAction.html#a1d1cfd8ffb84e947f82999c682b666a7a432d5152211bf70a2d561b8bda34c9e0">EventLevel5</a> = (1&lt;&lt;16)</div><div class="line"><a name="l00053"></a><span class="lineno"><a class="line" href="classKite_1_1SegmentAction.html#a1d1cfd8ffb84e947f82999c682b666a7a930d0718b2afc37983ffe708f8261b19"> 53</a></span>&#160; , <a class="code" href="classKite_1_1SegmentAction.html#a1d1cfd8ffb84e947f82999c682b666a7a930d0718b2afc37983ffe708f8261b19">SelfInsert</a> = <a class="code" href="classKite_1_1SegmentAction.html#a1d1cfd8ffb84e947f82999c682b666a7aacd3ef9d889b306ca7e7bdcd37ba659a">Self</a> |<a class="code" href="classKite_1_1SegmentAction.html#a1d1cfd8ffb84e947f82999c682b666a7a8c1f14f07c9eedcbbb2cc61988030646">Insert</a></div><div class="line"><a name="l00054"></a><span class="lineno"><a class="line" href="classKite_1_1SegmentAction.html#a1d1cfd8ffb84e947f82999c682b666a7a837e07a8b4101cff32018683072f2d78"> 54</a></span>&#160; , <a class="code" href="classKite_1_1SegmentAction.html#a1d1cfd8ffb84e947f82999c682b666a7a837e07a8b4101cff32018683072f2d78">SelfRipup</a> = <a class="code" href="classKite_1_1SegmentAction.html#a1d1cfd8ffb84e947f82999c682b666a7aacd3ef9d889b306ca7e7bdcd37ba659a">Self</a> |<a class="code" href="classKite_1_1SegmentAction.html#a1d1cfd8ffb84e947f82999c682b666a7a08900dc237aef7e4a7f50d2ba1ffd748">Ripup</a></div><div class="line"><a name="l00055"></a><span class="lineno"><a class="line" href="classKite_1_1SegmentAction.html#a1d1cfd8ffb84e947f82999c682b666a7a85fd77114c99a0827e08de2fc6a53ed7"> 55</a></span>&#160; , <a class="code" href="classKite_1_1SegmentAction.html#a1d1cfd8ffb84e947f82999c682b666a7a85fd77114c99a0827e08de2fc6a53ed7">SelfRipupPerpand</a> = <a class="code" href="classKite_1_1SegmentAction.html#a1d1cfd8ffb84e947f82999c682b666a7aacd3ef9d889b306ca7e7bdcd37ba659a">Self</a> |<a class="code" href="classKite_1_1SegmentAction.html#a1d1cfd8ffb84e947f82999c682b666a7a08900dc237aef7e4a7f50d2ba1ffd748">Ripup</a>|<a class="code" href="classKite_1_1SegmentAction.html#a1d1cfd8ffb84e947f82999c682b666a7a02330ea306385a34162a1e620a1c37df">Perpandicular</a></div><div class="line"><a name="l00056"></a><span class="lineno"><a class="line" href="classKite_1_1SegmentAction.html#a1d1cfd8ffb84e947f82999c682b666a7ae30745ee276038ba4d7b5f92d80f3715"> 56</a></span>&#160; , <a class="code" href="classKite_1_1SegmentAction.html#a1d1cfd8ffb84e947f82999c682b666a7ae30745ee276038ba4d7b5f92d80f3715">SelfRipupPerpandWithAxisHint</a> = <a class="code" href="classKite_1_1SegmentAction.html#a1d1cfd8ffb84e947f82999c682b666a7aacd3ef9d889b306ca7e7bdcd37ba659a">Self</a> |<a class="code" href="classKite_1_1SegmentAction.html#a1d1cfd8ffb84e947f82999c682b666a7a08900dc237aef7e4a7f50d2ba1ffd748">Ripup</a>|<a class="code" href="classKite_1_1SegmentAction.html#a1d1cfd8ffb84e947f82999c682b666a7a02330ea306385a34162a1e620a1c37df">Perpandicular</a>|<a class="code" href="classKite_1_1SegmentAction.html#a1d1cfd8ffb84e947f82999c682b666a7ab8346062d5bbccb98893c4675b8d5098">EventLevel4</a>|<a class="code" href="classKite_1_1SegmentAction.html#a1d1cfd8ffb84e947f82999c682b666a7a46c4ca7a69b5eae786be28f75523b78b">AxisHint</a></div><div class="line"><a name="l00057"></a><span class="lineno"><a class="line" href="classKite_1_1SegmentAction.html#a1d1cfd8ffb84e947f82999c682b666a7a22374bab829fac7d12af4784d80eeb6e"> 57</a></span>&#160; , <a class="code" href="classKite_1_1SegmentAction.html#a1d1cfd8ffb84e947f82999c682b666a7a22374bab829fac7d12af4784d80eeb6e">OtherRipup</a> = <a class="code" href="classKite_1_1SegmentAction.html#a1d1cfd8ffb84e947f82999c682b666a7a75f0c3176be2226dfe8ad164a0a034a2">Other</a>|<a class="code" href="classKite_1_1SegmentAction.html#a1d1cfd8ffb84e947f82999c682b666a7a08900dc237aef7e4a7f50d2ba1ffd748">Ripup</a></div><div class="line"><a name="l00058"></a><span class="lineno"><a class="line" href="classKite_1_1SegmentAction.html#a1d1cfd8ffb84e947f82999c682b666a7ad9caf9375b714a403e4af8a142cf9991"> 58</a></span>&#160; , <a class="code" href="classKite_1_1SegmentAction.html#a1d1cfd8ffb84e947f82999c682b666a7ad9caf9375b714a403e4af8a142cf9991">OtherRipupPerpandAndPushAside</a> = <a class="code" href="classKite_1_1SegmentAction.html#a1d1cfd8ffb84e947f82999c682b666a7a75f0c3176be2226dfe8ad164a0a034a2">Other</a>|<a class="code" href="classKite_1_1SegmentAction.html#a1d1cfd8ffb84e947f82999c682b666a7a08900dc237aef7e4a7f50d2ba1ffd748">Ripup</a>|<a class="code" href="classKite_1_1SegmentAction.html#a1d1cfd8ffb84e947f82999c682b666a7a02330ea306385a34162a1e620a1c37df">Perpandicular</a>|<a class="code" href="classKite_1_1SegmentAction.html#a1d1cfd8ffb84e947f82999c682b666a7a11ef388ea422168a9c79fd9b4d81ea34">EventLevel3</a>|<a class="code" href="classKite_1_1SegmentAction.html#a1d1cfd8ffb84e947f82999c682b666a7a46c4ca7a69b5eae786be28f75523b78b">AxisHint</a></div><div class="line"><a name="l00059"></a><span class="lineno"><a class="line" href="classKite_1_1SegmentAction.html#a1d1cfd8ffb84e947f82999c682b666a7aed50f579a9e6b7ac698b2edf1a5da5c8"> 59</a></span>&#160; , <a class="code" href="classKite_1_1SegmentAction.html#a1d1cfd8ffb84e947f82999c682b666a7aed50f579a9e6b7ac698b2edf1a5da5c8">OtherRipupPerpandAndPacking</a> = <a class="code" href="classKite_1_1SegmentAction.html#a1d1cfd8ffb84e947f82999c682b666a7a75f0c3176be2226dfe8ad164a0a034a2">Other</a>|<a class="code" href="classKite_1_1SegmentAction.html#a1d1cfd8ffb84e947f82999c682b666a7a08900dc237aef7e4a7f50d2ba1ffd748">Ripup</a>|<a class="code" href="classKite_1_1SegmentAction.html#a1d1cfd8ffb84e947f82999c682b666a7a02330ea306385a34162a1e620a1c37df">Perpandicular</a>|<a class="code" href="classKite_1_1SegmentAction.html#a1d1cfd8ffb84e947f82999c682b666a7ab8346062d5bbccb98893c4675b8d5098">EventLevel4</a>|<a class="code" href="classKite_1_1SegmentAction.html#a1d1cfd8ffb84e947f82999c682b666a7a4fe6b9a3b3816492b9a99ab6689c4b20">PackingMode</a></div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; };</div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; <span class="keyword">public</span>:</div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; <a class="code" href="classKite_1_1SegmentAction.html#acbeca58f8327b69a540628f299d5bd35">SegmentAction</a> ( <a class="code" href="classKite_1_1TrackElement.html">TrackElement</a>*</div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; , <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> type</div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; , <a class="codeRef" doxygen="/dsk/l1/jpc/coriolis-2.x/src/coriolis/hurricane/doc/hurricane/html/hurricane.tag:../hurricane/" href="../hurricane/group__DbUGroup.html#ga4fbfa3e8c89347af76c9628ea06c4146">DbU::Unit</a> axisHint=0</div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; , <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> toState =0</div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; );</div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; <span class="keyword">inline</span> <a class="code" href="classKite_1_1TrackElement.html">TrackElement</a>* <a class="code" href="classKite_1_1SegmentAction.html#a506a4d1cef59fc35984c1c88e0c0f6df">getSegment</a> () <span class="keyword">const</span>;</div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; <span class="keyword">inline</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="classKite_1_1SegmentAction.html#a093e88be27fab140cca8ec652beab529">getType</a> () <span class="keyword">const</span>;</div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classKite_1_1SegmentAction.html#a8dc7cdf5f643a856fa5208bcfd1f8342">setAxisHint</a> ( <a class="codeRef" doxygen="/dsk/l1/jpc/coriolis-2.x/src/coriolis/hurricane/doc/hurricane/html/hurricane.tag:../hurricane/" href="../hurricane/group__DbUGroup.html#ga4fbfa3e8c89347af76c9628ea06c4146">DbU::Unit</a> );</div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; <span class="keyword">inline</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="classKite_1_1SegmentAction.html#a4e1f44319a9a0a413fe1413a87ec78bd">setFlag</a> ( <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> );</div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classKite_1_1SegmentAction.html#a324f17f0f5a09b76344eb2e003695d74">doAction</a> ( <a class="code" href="classKite_1_1RoutingEventQueue.html">RoutingEventQueue</a>&amp; );</div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; <span class="keyword">private</span>:</div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; <a class="code" href="classKite_1_1TrackElement.html">TrackElement</a>* _segment;</div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> _type;</div><div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; <a class="codeRef" doxygen="/dsk/l1/jpc/coriolis-2.x/src/coriolis/hurricane/doc/hurricane/html/hurricane.tag:../hurricane/" href="../hurricane/group__DbUGroup.html#ga4fbfa3e8c89347af76c9628ea06c4146">DbU::Unit</a> _axisHint;</div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> _toState;</div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; };</div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160;</div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160;</div><div class="line"><a name="l00080"></a><span class="lineno"><a class="line" href="classKite_1_1SegmentAction.html#a506a4d1cef59fc35984c1c88e0c0f6df"> 80</a></span>&#160; <span class="keyword">inline</span> <a class="code" href="classKite_1_1TrackElement.html">TrackElement</a>* <a class="code" href="classKite_1_1SegmentAction.html#a506a4d1cef59fc35984c1c88e0c0f6df">SegmentAction::getSegment</a> ()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> _segment; }</div><div class="line"><a name="l00081"></a><span class="lineno"><a class="line" href="classKite_1_1SegmentAction.html#a093e88be27fab140cca8ec652beab529"> 81</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="classKite_1_1SegmentAction.html#a093e88be27fab140cca8ec652beab529">SegmentAction::getType</a> ()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> _type; }</div><div class="line"><a name="l00082"></a><span class="lineno"><a class="line" href="classKite_1_1SegmentAction.html#a8dc7cdf5f643a856fa5208bcfd1f8342"> 82</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classKite_1_1SegmentAction.html#a8dc7cdf5f643a856fa5208bcfd1f8342">SegmentAction::setAxisHint</a> ( <a class="codeRef" doxygen="/dsk/l1/jpc/coriolis-2.x/src/coriolis/hurricane/doc/hurricane/html/hurricane.tag:../hurricane/" href="../hurricane/group__DbUGroup.html#ga4fbfa3e8c89347af76c9628ea06c4146">DbU::Unit</a> axis ) { _axisHint = axis; }</div><div class="line"><a name="l00083"></a><span class="lineno"><a class="line" href="classKite_1_1SegmentAction.html#a4e1f44319a9a0a413fe1413a87ec78bd"> 83</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="classKite_1_1SegmentAction.html#a4e1f44319a9a0a413fe1413a87ec78bd">SegmentAction::setFlag</a> ( <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> flag ) { _type |= flag; <span class="keywordflow">return</span> _type; }</div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160;</div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160;</div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160;<span class="comment">// -------------------------------------------------------------------</span></div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160;<span class="comment">// Class : &quot;SegmentFsm&quot;.</span></div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160;</div><div class="line"><a name="l00089"></a><span class="lineno"><a class="line" href="classKite_1_1SegmentFsm.html"> 89</a></span>&#160; <span class="keyword">class </span><a class="code" href="classKite_1_1SegmentFsm.html">SegmentFsm</a> {</div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160;</div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; <span class="keyword">public</span>:</div><div class="line"><a name="l00092"></a><span class="lineno"><a class="line" href="classKite_1_1SegmentFsm.html#a5d74787dedbc4e11c1ab15bf487e61f8"> 92</a></span>&#160; <span class="keyword">enum</span> <a class="code" href="classKite_1_1SegmentFsm.html#a5d74787dedbc4e11c1ab15bf487e61f8">State</a> { <a class="code" href="classKite_1_1SegmentFsm.html#a5d74787dedbc4e11c1ab15bf487e61f8a79ae4f26b8ed9c55b81f981bb5076e1d">MissingData</a> = (1&lt;&lt;0)</div><div class="line"><a name="l00093"></a><span class="lineno"><a class="line" href="classKite_1_1SegmentFsm.html#a5d74787dedbc4e11c1ab15bf487e61f8a13ac7e0722ca806ff25d8fa9220e980b"> 93</a></span>&#160; , <a class="code" href="classKite_1_1SegmentFsm.html#a5d74787dedbc4e11c1ab15bf487e61f8a13ac7e0722ca806ff25d8fa9220e980b">EmptyTrackList</a> = (1&lt;&lt;1)</div><div class="line"><a name="l00094"></a><span class="lineno"><a class="line" href="classKite_1_1SegmentFsm.html#a5d74787dedbc4e11c1ab15bf487e61f8abb9adb1672565a2d0c2de07ea840414e"> 94</a></span>&#160; , <a class="code" href="classKite_1_1SegmentFsm.html#a5d74787dedbc4e11c1ab15bf487e61f8abb9adb1672565a2d0c2de07ea840414e">Inserted</a> = (1&lt;&lt;2)</div><div class="line"><a name="l00095"></a><span class="lineno"><a class="line" href="classKite_1_1SegmentFsm.html#a5d74787dedbc4e11c1ab15bf487e61f8aacd3ef9d889b306ca7e7bdcd37ba659a"> 95</a></span>&#160; , <a class="code" href="classKite_1_1SegmentFsm.html#a5d74787dedbc4e11c1ab15bf487e61f8aacd3ef9d889b306ca7e7bdcd37ba659a">Self</a> = (1&lt;&lt;3)</div><div class="line"><a name="l00096"></a><span class="lineno"><a class="line" href="classKite_1_1SegmentFsm.html#a5d74787dedbc4e11c1ab15bf487e61f8a75f0c3176be2226dfe8ad164a0a034a2"> 96</a></span>&#160; , <a class="code" href="classKite_1_1SegmentFsm.html#a5d74787dedbc4e11c1ab15bf487e61f8a75f0c3176be2226dfe8ad164a0a034a2">Other</a> = (1&lt;&lt;4)</div><div class="line"><a name="l00097"></a><span class="lineno"><a class="line" href="classKite_1_1SegmentFsm.html#a5d74787dedbc4e11c1ab15bf487e61f8a08900dc237aef7e4a7f50d2ba1ffd748"> 97</a></span>&#160; , <a class="code" href="classKite_1_1SegmentFsm.html#a5d74787dedbc4e11c1ab15bf487e61f8a08900dc237aef7e4a7f50d2ba1ffd748">Ripup</a> = (1&lt;&lt;5)</div><div class="line"><a name="l00098"></a><span class="lineno"><a class="line" href="classKite_1_1SegmentFsm.html#a5d74787dedbc4e11c1ab15bf487e61f8a9fc7197613f3435d906edf69a73acf38"> 98</a></span>&#160; , <a class="code" href="classKite_1_1SegmentFsm.html#a5d74787dedbc4e11c1ab15bf487e61f8a9fc7197613f3435d906edf69a73acf38">MaximumSlack</a> = (1&lt;&lt;6)</div><div class="line"><a name="l00099"></a><span class="lineno"><a class="line" href="classKite_1_1SegmentFsm.html#a5d74787dedbc4e11c1ab15bf487e61f8a8c564779c81599aaadbe879fa2b08d92"> 99</a></span>&#160; , <a class="code" href="classKite_1_1SegmentFsm.html#a5d74787dedbc4e11c1ab15bf487e61f8a8c564779c81599aaadbe879fa2b08d92">SelfInserted</a> = <a class="code" href="classKite_1_1SegmentFsm.html#a5d74787dedbc4e11c1ab15bf487e61f8aacd3ef9d889b306ca7e7bdcd37ba659a">Self</a> | <a class="code" href="classKite_1_1SegmentFsm.html#a5d74787dedbc4e11c1ab15bf487e61f8abb9adb1672565a2d0c2de07ea840414e">Inserted</a></div><div class="line"><a name="l00100"></a><span class="lineno"><a class="line" href="classKite_1_1SegmentFsm.html#a5d74787dedbc4e11c1ab15bf487e61f8a22374bab829fac7d12af4784d80eeb6e"> 100</a></span>&#160; , <a class="code" href="classKite_1_1SegmentFsm.html#a5d74787dedbc4e11c1ab15bf487e61f8a22374bab829fac7d12af4784d80eeb6e">OtherRipup</a> = <a class="code" href="classKite_1_1SegmentFsm.html#a5d74787dedbc4e11c1ab15bf487e61f8a75f0c3176be2226dfe8ad164a0a034a2">Other</a> | <a class="code" href="classKite_1_1SegmentFsm.html#a5d74787dedbc4e11c1ab15bf487e61f8a08900dc237aef7e4a7f50d2ba1ffd748">Ripup</a></div><div class="line"><a name="l00101"></a><span class="lineno"><a class="line" href="classKite_1_1SegmentFsm.html#a5d74787dedbc4e11c1ab15bf487e61f8a560766bb79539564fdeda432c8efae6d"> 101</a></span>&#160; , <a class="code" href="classKite_1_1SegmentFsm.html#a5d74787dedbc4e11c1ab15bf487e61f8a560766bb79539564fdeda432c8efae6d">SelfMaximumSlack</a> = <a class="code" href="classKite_1_1SegmentFsm.html#a5d74787dedbc4e11c1ab15bf487e61f8aacd3ef9d889b306ca7e7bdcd37ba659a">Self</a> | <a class="code" href="classKite_1_1SegmentFsm.html#a5d74787dedbc4e11c1ab15bf487e61f8a9fc7197613f3435d906edf69a73acf38">MaximumSlack</a></div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; };</div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; <span class="keyword">enum</span> SlackenFlags { NoRecursive = (1&lt;&lt;0)</div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; , NoTransition = (1&lt;&lt;1)</div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; };</div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160;</div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; <span class="keyword">public</span>:</div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; <a class="code" href="classKite_1_1SegmentFsm.html#a2a8eadaaf3ed213914e7b4a81cae6e6a">SegmentFsm</a> ( RoutingEvent*</div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; , RoutingEventQueue&amp;</div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; , RoutingEventHistory&amp;</div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; );</div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classKite_1_1SegmentFsm.html#a90fb28e997bec986238b81c0316319f0">isFullBlocked</a> () <span class="keyword">const</span>;</div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; <span class="keyword">inline</span> RoutingEvent* <a class="code" href="classKite_1_1SegmentFsm.html#a513f39c546ef4be0d13787cdace4eadf">getEvent</a> () <span class="keyword">const</span>;</div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; <span class="keyword">inline</span> RoutingEventQueue&amp; <a class="code" href="classKite_1_1SegmentFsm.html#a3e86badede6ba842280779cecea21e81">getQueue</a> () <span class="keyword">const</span>;</div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; <span class="keyword">inline</span> RoutingEventHistory&amp; <a class="code" href="classKite_1_1SegmentFsm.html#a1bf115c7f375168ec89ec400d58440b4">getHistory</a> () <span class="keyword">const</span>;</div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; <span class="keyword">inline</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="classKite_1_1SegmentFsm.html#a40ec2b23684a0e6e6d7ac9783a269037">getState</a> () <span class="keyword">const</span>;</div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; <span class="keyword">inline</span> DataNegociate* <a class="code" href="classKite_1_1SegmentFsm.html#ad272e2f3fbbddcd6c8dc2f0187f08c4e">getData</a> ();</div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; <span class="keyword">inline</span> Interval&amp; <a class="code" href="classKite_1_1SegmentFsm.html#abf6603c742bee65a4effa24135f2d955">getConstraint</a> ();</div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; <span class="keyword">inline</span> Interval&amp; <a class="code" href="classKite_1_1SegmentFsm.html#a9d1a7f4108b49d3096d8c733fabe60f3">getOptimal</a> ();</div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; <span class="keyword">inline</span> vector&lt;TrackCost&gt;&amp; <a class="code" href="classKite_1_1SegmentFsm.html#ab7144079976c8808e69f9aac68dda06d">getCosts</a> ();</div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; <span class="keyword">inline</span> TrackCost&amp; <a class="code" href="classKite_1_1SegmentFsm.html#a5256595f77ebc80c3ee683cfdbc7f8f6">getCost</a> ( <span class="keywordtype">size_t</span> );</div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; <span class="keyword">inline</span> Track* <a class="code" href="classKite_1_1SegmentFsm.html#af2d9a3a5df8a4de5d263fb3fae563a8a">getTrack</a> ( <span class="keywordtype">size_t</span> );</div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; <span class="keyword">inline</span> <span class="keywordtype">size_t</span> <a class="code" href="classKite_1_1SegmentFsm.html#a13a1ec8bdcf29f2bcb21cab348b77ed2">getBegin</a> ( <span class="keywordtype">size_t</span> );</div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; <span class="keyword">inline</span> <span class="keywordtype">size_t</span> <a class="code" href="classKite_1_1SegmentFsm.html#aaf31c0a3018908a2ee26a8ea9e893eb1">getEnd</a> ( <span class="keywordtype">size_t</span> );</div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; <span class="keyword">inline</span> vector&lt;SegmentAction&gt;&amp; <a class="code" href="classKite_1_1SegmentFsm.html#ab3b06bb353ee9333be6b937bffc8fd84">getActions</a> ();</div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classKite_1_1SegmentFsm.html#adf5147448951f8dc8b4088a1032e97b2">setState</a> ( <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> );</div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classKite_1_1SegmentFsm.html#ad9384c1cc2a9cd70ab9ff089b56380a0">addAction</a> ( TrackElement*</div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; , <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> type</div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; , <a class="codeRef" doxygen="/dsk/l1/jpc/coriolis-2.x/src/coriolis/hurricane/doc/hurricane/html/hurricane.tag:../hurricane/" href="../hurricane/group__DbUGroup.html#ga4fbfa3e8c89347af76c9628ea06c4146">DbU::Unit</a> axisHint=0</div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; , <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> toState =0</div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; );</div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160; <span class="keywordtype">void</span> <a class="code" href="classKite_1_1SegmentFsm.html#abbcf429498049478d4d8ab94cdb4a022">doActions</a> ();</div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160; <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classKite_1_1SegmentFsm.html#a4cf911f1f4e5ac588d502c9d069a1bde">clearActions</a> ();</div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classKite_1_1SegmentFsm.html#a7140b507da2cab137d968a037bed19df">insertInTrack</a> ( <span class="keywordtype">size_t</span> );</div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classKite_1_1SegmentFsm.html#a0d9a9926ae67cc7998799347f135e28a">conflictSolveByHistory</a> ();</div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classKite_1_1SegmentFsm.html#a9c0fa6a9067b6e027e24f38330f627dc">conflictSolveByPlaceds</a> ();</div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; <span class="keywordtype">bool</span> solveTerminalVsGlobal ();</div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classKite_1_1SegmentFsm.html#a0b8e8be9d7c9501be9534d3c2a9dd586">desaturate</a> ();</div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classKite_1_1SegmentFsm.html#a623d68f599c0de60cdd36af3f183e6f1">slackenTopology</a> ( <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> flags=0 );</div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="classKite_1_1SegmentFsm.html#ab8ae818baad1d0a274a7e8c308ca3f92">solveFullBlockages</a> ();</div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; <span class="keyword">private</span>: </div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160; <span class="keywordtype">bool</span> _slackenStrap ( TrackElement*&amp; </div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160; , DataNegociate*&amp;</div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; , <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> flags );</div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; <span class="keywordtype">bool</span> _slackenLocal ( TrackElement*&amp; </div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160; , DataNegociate*&amp;</div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; , <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> flags );</div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; <span class="keywordtype">bool</span> _slackenGlobal ( TrackElement*&amp; </div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; , DataNegociate*&amp;</div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; , <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> flags );</div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160; <span class="keyword">private</span>:</div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160; RoutingEvent* _event;</div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160; RoutingEventQueue&amp; _queue;</div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160; RoutingEventHistory&amp; _history;</div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160; <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> _state;</div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160; DataNegociate* _data;</div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160; Interval _constraint;</div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160; Interval _optimal;</div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160; vector&lt;TrackCost&gt; _costs;</div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; vector&lt;SegmentAction&gt; _actions;</div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160; <span class="keywordtype">bool</span> _fullBlocked;</div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160; };</div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160;</div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span>&#160;</div><div class="line"><a name="l00165"></a><span class="lineno"><a class="line" href="classKite_1_1SegmentFsm.html#a90fb28e997bec986238b81c0316319f0"> 165</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classKite_1_1SegmentFsm.html#a90fb28e997bec986238b81c0316319f0">SegmentFsm::isFullBlocked</a> ()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> _fullBlocked and _costs.size(); }</div><div class="line"><a name="l00166"></a><span class="lineno"><a class="line" href="classKite_1_1SegmentFsm.html#a513f39c546ef4be0d13787cdace4eadf"> 166</a></span>&#160; <span class="keyword">inline</span> <a class="code" href="classKite_1_1RoutingEvent.html">RoutingEvent</a>* <a class="code" href="classKite_1_1SegmentFsm.html#a513f39c546ef4be0d13787cdace4eadf">SegmentFsm::getEvent</a> ()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> _event; }</div><div class="line"><a name="l00167"></a><span class="lineno"><a class="line" href="classKite_1_1SegmentFsm.html#a3e86badede6ba842280779cecea21e81"> 167</a></span>&#160; <span class="keyword">inline</span> <a class="code" href="classKite_1_1RoutingEventQueue.html">RoutingEventQueue</a>&amp; <a class="code" href="classKite_1_1SegmentFsm.html#a3e86badede6ba842280779cecea21e81">SegmentFsm::getQueue</a> ()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> _queue; }</div><div class="line"><a name="l00168"></a><span class="lineno"><a class="line" href="classKite_1_1SegmentFsm.html#a1bf115c7f375168ec89ec400d58440b4"> 168</a></span>&#160; <span class="keyword">inline</span> <a class="code" href="classKite_1_1RoutingEventHistory.html">RoutingEventHistory</a>&amp; <a class="code" href="classKite_1_1SegmentFsm.html#a1bf115c7f375168ec89ec400d58440b4">SegmentFsm::getHistory</a> ()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> _history; }</div><div class="line"><a name="l00169"></a><span class="lineno"><a class="line" href="classKite_1_1SegmentFsm.html#a40ec2b23684a0e6e6d7ac9783a269037"> 169</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="classKite_1_1SegmentFsm.html#a40ec2b23684a0e6e6d7ac9783a269037">SegmentFsm::getState</a> ()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> _state; }</div><div class="line"><a name="l00170"></a><span class="lineno"><a class="line" href="classKite_1_1SegmentFsm.html#ad272e2f3fbbddcd6c8dc2f0187f08c4e"> 170</a></span>&#160; <span class="keyword">inline</span> <a class="code" href="classKite_1_1DataNegociate.html">DataNegociate</a>* <a class="code" href="classKite_1_1SegmentFsm.html#ad272e2f3fbbddcd6c8dc2f0187f08c4e">SegmentFsm::getData</a> () { <span class="keywordflow">return</span> _data; }</div><div class="line"><a name="l00171"></a><span class="lineno"><a class="line" href="classKite_1_1SegmentFsm.html#abf6603c742bee65a4effa24135f2d955"> 171</a></span>&#160; <span class="keyword">inline</span> <a class="codeRef" doxygen="/dsk/l1/jpc/coriolis-2.x/src/coriolis/hurricane/doc/hurricane/html/hurricane.tag:../hurricane/" href="../hurricane/classHurricane_1_1Interval.html">Interval</a>&amp; <a class="code" href="classKite_1_1SegmentFsm.html#abf6603c742bee65a4effa24135f2d955">SegmentFsm::getConstraint</a> () { <span class="keywordflow">return</span> _constraint; }</div><div class="line"><a name="l00172"></a><span class="lineno"><a class="line" href="classKite_1_1SegmentFsm.html#a9d1a7f4108b49d3096d8c733fabe60f3"> 172</a></span>&#160; <span class="keyword">inline</span> <a class="codeRef" doxygen="/dsk/l1/jpc/coriolis-2.x/src/coriolis/hurricane/doc/hurricane/html/hurricane.tag:../hurricane/" href="../hurricane/classHurricane_1_1Interval.html">Interval</a>&amp; <a class="code" href="classKite_1_1SegmentFsm.html#a9d1a7f4108b49d3096d8c733fabe60f3">SegmentFsm::getOptimal</a> () { <span class="keywordflow">return</span> _optimal; }</div><div class="line"><a name="l00173"></a><span class="lineno"><a class="line" href="classKite_1_1SegmentFsm.html#ab7144079976c8808e69f9aac68dda06d"> 173</a></span>&#160; <span class="keyword">inline</span> vector&lt;TrackCost&gt;&amp; <a class="code" href="classKite_1_1SegmentFsm.html#ab7144079976c8808e69f9aac68dda06d">SegmentFsm::getCosts</a> () { <span class="keywordflow">return</span> _costs; }</div><div class="line"><a name="l00174"></a><span class="lineno"><a class="line" href="classKite_1_1SegmentFsm.html#a5256595f77ebc80c3ee683cfdbc7f8f6"> 174</a></span>&#160; <span class="keyword">inline</span> TrackCost&amp; <a class="code" href="classKite_1_1SegmentFsm.html#a5256595f77ebc80c3ee683cfdbc7f8f6">SegmentFsm::getCost</a> ( <span class="keywordtype">size_t</span> i ) { <span class="keywordflow">return</span> _costs[i]; }</div><div class="line"><a name="l00175"></a><span class="lineno"><a class="line" href="classKite_1_1SegmentFsm.html#af2d9a3a5df8a4de5d263fb3fae563a8a"> 175</a></span>&#160; <span class="keyword">inline</span> <a class="code" href="classKite_1_1Track.html">Track</a>* <a class="code" href="classKite_1_1SegmentFsm.html#af2d9a3a5df8a4de5d263fb3fae563a8a">SegmentFsm::getTrack</a> ( <span class="keywordtype">size_t</span> i ) { <span class="keywordflow">return</span> _costs[i].getTrack(); }</div><div class="line"><a name="l00176"></a><span class="lineno"><a class="line" href="classKite_1_1SegmentFsm.html#a13a1ec8bdcf29f2bcb21cab348b77ed2"> 176</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">size_t</span> <a class="code" href="classKite_1_1SegmentFsm.html#a13a1ec8bdcf29f2bcb21cab348b77ed2">SegmentFsm::getBegin</a> ( <span class="keywordtype">size_t</span> i ) { <span class="keywordflow">return</span> _costs[i].getBegin(); }</div><div class="line"><a name="l00177"></a><span class="lineno"><a class="line" href="classKite_1_1SegmentFsm.html#aaf31c0a3018908a2ee26a8ea9e893eb1"> 177</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">size_t</span> <a class="code" href="classKite_1_1SegmentFsm.html#aaf31c0a3018908a2ee26a8ea9e893eb1">SegmentFsm::getEnd</a> ( <span class="keywordtype">size_t</span> i ) { <span class="keywordflow">return</span> _costs[i].getEnd(); }</div><div class="line"><a name="l00178"></a><span class="lineno"><a class="line" href="classKite_1_1SegmentFsm.html#ab3b06bb353ee9333be6b937bffc8fd84"> 178</a></span>&#160; <span class="keyword">inline</span> vector&lt;SegmentAction&gt;&amp; <a class="code" href="classKite_1_1SegmentFsm.html#ab3b06bb353ee9333be6b937bffc8fd84">SegmentFsm::getActions</a> () { <span class="keywordflow">return</span> _actions; }</div><div class="line"><a name="l00179"></a><span class="lineno"><a class="line" href="classKite_1_1SegmentFsm.html#adf5147448951f8dc8b4088a1032e97b2"> 179</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classKite_1_1SegmentFsm.html#adf5147448951f8dc8b4088a1032e97b2">SegmentFsm::setState</a> ( <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> state ) { _state = state; }</div><div class="line"><a name="l00180"></a><span class="lineno"><a class="line" href="classKite_1_1SegmentFsm.html#a4cf911f1f4e5ac588d502c9d069a1bde"> 180</a></span>&#160; <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classKite_1_1SegmentFsm.html#a4cf911f1f4e5ac588d502c9d069a1bde">SegmentFsm::clearActions</a> () { _actions.clear(); }</div><div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160;</div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160;</div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160;} <span class="comment">// Kite namespace.</span></div><div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160;</div><div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160;<span class="preprocessor">#endif // KITE_SEGMENT_FSM_H</span></div><div class="ttc" id="classKite_1_1RoutingEvent_html"><div class="ttname"><a href="classKite_1_1RoutingEvent.html">Kite::RoutingEvent</a></div><div class="ttdoc">Atomic Placement Request for a TrackSegment. </div><div class="ttdef"><b>Definition:</b> RoutingEvent.h:55</div></div>
<div class="ttc" id="classKite_1_1SegmentFsm_html_abbcf429498049478d4d8ab94cdb4a022"><div class="ttname"><a href="classKite_1_1SegmentFsm.html#abbcf429498049478d4d8ab94cdb4a022">Kite::SegmentFsm::doActions</a></div><div class="ttdeci">void doActions()</div><div class="ttdef"><b>Definition:</b> SegmentFsm.cpp:583</div></div>
<div class="ttc" id="classKite_1_1SegmentAction_html_a1d1cfd8ffb84e947f82999c682b666a7ad9caf9375b714a403e4af8a142cf9991"><div class="ttname"><a href="classKite_1_1SegmentAction.html#a1d1cfd8ffb84e947f82999c682b666a7ad9caf9375b714a403e4af8a142cf9991">Kite::SegmentAction::OtherRipupPerpandAndPushAside</a></div><div class="ttdef"><b>Definition:</b> SegmentFsm.h:58</div></div>
<div class="ttc" id="classKite_1_1SegmentAction_html_a1d1cfd8ffb84e947f82999c682b666a7a4fab9c042ba690bdb62d3c34eab8472d"><div class="ttname"><a href="classKite_1_1SegmentAction.html#a1d1cfd8ffb84e947f82999c682b666a7a4fab9c042ba690bdb62d3c34eab8472d">Kite::SegmentAction::RipedByLocal</a></div><div class="ttdef"><b>Definition:</b> SegmentFsm.h:41</div></div>
<div class="ttc" id="classKite_1_1SegmentAction_html_a1d1cfd8ffb84e947f82999c682b666a7a837e07a8b4101cff32018683072f2d78"><div class="ttname"><a href="classKite_1_1SegmentAction.html#a1d1cfd8ffb84e947f82999c682b666a7a837e07a8b4101cff32018683072f2d78">Kite::SegmentAction::SelfRipup</a></div><div class="ttdef"><b>Definition:</b> SegmentFsm.h:54</div></div>
<div class="ttc" id="classKite_1_1SegmentFsm_html_a40ec2b23684a0e6e6d7ac9783a269037"><div class="ttname"><a href="classKite_1_1SegmentFsm.html#a40ec2b23684a0e6e6d7ac9783a269037">Kite::SegmentFsm::getState</a></div><div class="ttdeci">unsigned int getState() const</div><div class="ttdef"><b>Definition:</b> SegmentFsm.h:169</div></div>
<div class="ttc" id="classKite_1_1SegmentAction_html_a1d1cfd8ffb84e947f82999c682b666a7a22374bab829fac7d12af4784d80eeb6e"><div class="ttname"><a href="classKite_1_1SegmentAction.html#a1d1cfd8ffb84e947f82999c682b666a7a22374bab829fac7d12af4784d80eeb6e">Kite::SegmentAction::OtherRipup</a></div><div class="ttdef"><b>Definition:</b> SegmentFsm.h:57</div></div>
<div class="ttc" id="classKite_1_1SegmentAction_html_a506a4d1cef59fc35984c1c88e0c0f6df"><div class="ttname"><a href="classKite_1_1SegmentAction.html#a506a4d1cef59fc35984c1c88e0c0f6df">Kite::SegmentAction::getSegment</a></div><div class="ttdeci">TrackElement * getSegment() const</div><div class="ttdef"><b>Definition:</b> SegmentFsm.h:80</div></div>
<div class="ttc" id="classKite_1_1SegmentAction_html_a1d1cfd8ffb84e947f82999c682b666a7a08900dc237aef7e4a7f50d2ba1ffd748"><div class="ttname"><a href="classKite_1_1SegmentAction.html#a1d1cfd8ffb84e947f82999c682b666a7a08900dc237aef7e4a7f50d2ba1ffd748">Kite::SegmentAction::Ripup</a></div><div class="ttdef"><b>Definition:</b> SegmentFsm.h:40</div></div>
<div class="ttc" id="classKite_1_1SegmentFsm_html_a5d74787dedbc4e11c1ab15bf487e61f8a8c564779c81599aaadbe879fa2b08d92"><div class="ttname"><a href="classKite_1_1SegmentFsm.html#a5d74787dedbc4e11c1ab15bf487e61f8a8c564779c81599aaadbe879fa2b08d92">Kite::SegmentFsm::SelfInserted</a></div><div class="ttdef"><b>Definition:</b> SegmentFsm.h:99</div></div>
<div class="ttc" id="classKite_1_1SegmentFsm_html_a7140b507da2cab137d968a037bed19df"><div class="ttname"><a href="classKite_1_1SegmentFsm.html#a7140b507da2cab137d968a037bed19df">Kite::SegmentFsm::insertInTrack</a></div><div class="ttdeci">bool insertInTrack(size_t)</div><div class="ttdef"><b>Definition:</b> SegmentFsm.cpp:612</div></div>
<div class="ttc" id="classKite_1_1SegmentFsm_html_ad272e2f3fbbddcd6c8dc2f0187f08c4e"><div class="ttname"><a href="classKite_1_1SegmentFsm.html#ad272e2f3fbbddcd6c8dc2f0187f08c4e">Kite::SegmentFsm::getData</a></div><div class="ttdeci">DataNegociate * getData()</div><div class="ttdef"><b>Definition:</b> SegmentFsm.h:170</div></div>
<div class="ttc" id="classKite_1_1SegmentFsm_html"><div class="ttname"><a href="classKite_1_1SegmentFsm.html">Kite::SegmentFsm</a></div><div class="ttdoc">Pseudo-decorator to process a RoutingEvent. </div><div class="ttdef"><b>Definition:</b> SegmentFsm.h:89</div></div>
<div class="ttc" id="classKite_1_1SegmentFsm_html_a3e86badede6ba842280779cecea21e81"><div class="ttname"><a href="classKite_1_1SegmentFsm.html#a3e86badede6ba842280779cecea21e81">Kite::SegmentFsm::getQueue</a></div><div class="ttdeci">RoutingEventQueue &amp; getQueue() const</div><div class="ttdef"><b>Definition:</b> SegmentFsm.h:167</div></div>
<div class="ttc" id="classKite_1_1SegmentAction_html_a4e1f44319a9a0a413fe1413a87ec78bd"><div class="ttname"><a href="classKite_1_1SegmentAction.html#a4e1f44319a9a0a413fe1413a87ec78bd">Kite::SegmentAction::setFlag</a></div><div class="ttdeci">unsigned int setFlag(unsigned int)</div><div class="ttdef"><b>Definition:</b> SegmentFsm.h:83</div></div>
<div class="ttc" id="group__DbUGroup_html_ga4fbfa3e8c89347af76c9628ea06c4146"><div class="ttname"><a href="../hurricane/group__DbUGroup.html#ga4fbfa3e8c89347af76c9628ea06c4146">Hurricane::DbU::Unit</a></div><div class="ttdeci">std::int64_t Unit</div></div>
<div class="ttc" id="classKite_1_1SegmentAction_html_a1d1cfd8ffb84e947f82999c682b666a7"><div class="ttname"><a href="classKite_1_1SegmentAction.html#a1d1cfd8ffb84e947f82999c682b666a7">Kite::SegmentAction::Type</a></div><div class="ttdeci">Type</div><div class="ttdef"><b>Definition:</b> SegmentFsm.h:36</div></div>
<div class="ttc" id="classKite_1_1SegmentFsm_html_a0b8e8be9d7c9501be9534d3c2a9dd586"><div class="ttname"><a href="classKite_1_1SegmentFsm.html#a0b8e8be9d7c9501be9534d3c2a9dd586">Kite::SegmentFsm::desaturate</a></div><div class="ttdeci">bool desaturate()</div><div class="ttdef"><b>Definition:</b> SegmentFsm.cpp:939</div></div>
<div class="ttc" id="classKite_1_1SegmentFsm_html_a5d74787dedbc4e11c1ab15bf487e61f8a9fc7197613f3435d906edf69a73acf38"><div class="ttname"><a href="classKite_1_1SegmentFsm.html#a5d74787dedbc4e11c1ab15bf487e61f8a9fc7197613f3435d906edf69a73acf38">Kite::SegmentFsm::MaximumSlack</a></div><div class="ttdef"><b>Definition:</b> SegmentFsm.h:98</div></div>
<div class="ttc" id="classKite_1_1SegmentAction_html_a1d1cfd8ffb84e947f82999c682b666a7a930d0718b2afc37983ffe708f8261b19"><div class="ttname"><a href="classKite_1_1SegmentAction.html#a1d1cfd8ffb84e947f82999c682b666a7a930d0718b2afc37983ffe708f8261b19">Kite::SegmentAction::SelfInsert</a></div><div class="ttdef"><b>Definition:</b> SegmentFsm.h:53</div></div>
<div class="ttc" id="classKite_1_1SegmentFsm_html_a5d74787dedbc4e11c1ab15bf487e61f8a13ac7e0722ca806ff25d8fa9220e980b"><div class="ttname"><a href="classKite_1_1SegmentFsm.html#a5d74787dedbc4e11c1ab15bf487e61f8a13ac7e0722ca806ff25d8fa9220e980b">Kite::SegmentFsm::EmptyTrackList</a></div><div class="ttdef"><b>Definition:</b> SegmentFsm.h:93</div></div>
<div class="ttc" id="classKite_1_1SegmentAction_html_a8dc7cdf5f643a856fa5208bcfd1f8342"><div class="ttname"><a href="classKite_1_1SegmentAction.html#a8dc7cdf5f643a856fa5208bcfd1f8342">Kite::SegmentAction::setAxisHint</a></div><div class="ttdeci">void setAxisHint(DbU::Unit)</div><div class="ttdef"><b>Definition:</b> SegmentFsm.h:82</div></div>
<div class="ttc" id="classKite_1_1SegmentFsm_html_a5d74787dedbc4e11c1ab15bf487e61f8aacd3ef9d889b306ca7e7bdcd37ba659a"><div class="ttname"><a href="classKite_1_1SegmentFsm.html#a5d74787dedbc4e11c1ab15bf487e61f8aacd3ef9d889b306ca7e7bdcd37ba659a">Kite::SegmentFsm::Self</a></div><div class="ttdef"><b>Definition:</b> SegmentFsm.h:95</div></div>
<div class="ttc" id="classKite_1_1SegmentFsm_html_a623d68f599c0de60cdd36af3f183e6f1"><div class="ttname"><a href="classKite_1_1SegmentFsm.html#a623d68f599c0de60cdd36af3f183e6f1">Kite::SegmentFsm::slackenTopology</a></div><div class="ttdeci">bool slackenTopology(unsigned int flags=0)</div><div class="ttdef"><b>Definition:</b> SegmentFsm.cpp:1205</div></div>
<div class="ttc" id="classKite_1_1SegmentFsm_html_a5d74787dedbc4e11c1ab15bf487e61f8a560766bb79539564fdeda432c8efae6d"><div class="ttname"><a href="classKite_1_1SegmentFsm.html#a5d74787dedbc4e11c1ab15bf487e61f8a560766bb79539564fdeda432c8efae6d">Kite::SegmentFsm::SelfMaximumSlack</a></div><div class="ttdef"><b>Definition:</b> SegmentFsm.h:101</div></div>
<div class="ttc" id="classKite_1_1Track_html"><div class="ttname"><a href="classKite_1_1Track.html">Kite::Track</a></div><div class="ttdoc">Structure managing one routing track. </div><div class="ttdef"><b>Definition:</b> Track.h:42</div></div>
<div class="ttc" id="classHurricane_1_1Interval_html"><div class="ttname"><a href="../hurricane/classHurricane_1_1Interval.html">Hurricane::Interval</a></div></div>
<div class="ttc" id="classKite_1_1SegmentFsm_html_a5d74787dedbc4e11c1ab15bf487e61f8"><div class="ttname"><a href="classKite_1_1SegmentFsm.html#a5d74787dedbc4e11c1ab15bf487e61f8">Kite::SegmentFsm::State</a></div><div class="ttdeci">State</div><div class="ttdef"><b>Definition:</b> SegmentFsm.h:92</div></div>
<div class="ttc" id="classKite_1_1SegmentFsm_html_a5256595f77ebc80c3ee683cfdbc7f8f6"><div class="ttname"><a href="classKite_1_1SegmentFsm.html#a5256595f77ebc80c3ee683cfdbc7f8f6">Kite::SegmentFsm::getCost</a></div><div class="ttdeci">TrackCost &amp; getCost(size_t)</div><div class="ttdef"><b>Definition:</b> SegmentFsm.h:174</div></div>
<div class="ttc" id="classKite_1_1SegmentFsm_html_a513f39c546ef4be0d13787cdace4eadf"><div class="ttname"><a href="classKite_1_1SegmentFsm.html#a513f39c546ef4be0d13787cdace4eadf">Kite::SegmentFsm::getEvent</a></div><div class="ttdeci">RoutingEvent * getEvent() const</div><div class="ttdef"><b>Definition:</b> SegmentFsm.h:166</div></div>
<div class="ttc" id="classKite_1_1SegmentAction_html_a1d1cfd8ffb84e947f82999c682b666a7a46c4ca7a69b5eae786be28f75523b78b"><div class="ttname"><a href="classKite_1_1SegmentAction.html#a1d1cfd8ffb84e947f82999c682b666a7a46c4ca7a69b5eae786be28f75523b78b">Kite::SegmentAction::AxisHint</a></div><div class="ttdef"><b>Definition:</b> SegmentFsm.h:45</div></div>
<div class="ttc" id="classKite_1_1SegmentFsm_html_ab3b06bb353ee9333be6b937bffc8fd84"><div class="ttname"><a href="classKite_1_1SegmentFsm.html#ab3b06bb353ee9333be6b937bffc8fd84">Kite::SegmentFsm::getActions</a></div><div class="ttdeci">vector&lt; SegmentAction &gt; &amp; getActions()</div><div class="ttdef"><b>Definition:</b> SegmentFsm.h:178</div></div>
<div class="ttc" id="classKite_1_1SegmentAction_html_acbeca58f8327b69a540628f299d5bd35"><div class="ttname"><a href="classKite_1_1SegmentAction.html#acbeca58f8327b69a540628f299d5bd35">Kite::SegmentAction::SegmentAction</a></div><div class="ttdeci">SegmentAction(TrackElement *, unsigned int type, DbU::Unit axisHint=0, unsigned int toState=0)</div><div class="ttdef"><b>Definition:</b> SegmentFsm.cpp:349</div></div>
<div class="ttc" id="classKite_1_1SegmentAction_html_a1d1cfd8ffb84e947f82999c682b666a7aed50f579a9e6b7ac698b2edf1a5da5c8"><div class="ttname"><a href="classKite_1_1SegmentAction.html#a1d1cfd8ffb84e947f82999c682b666a7aed50f579a9e6b7ac698b2edf1a5da5c8">Kite::SegmentAction::OtherRipupPerpandAndPacking</a></div><div class="ttdef"><b>Definition:</b> SegmentFsm.h:59</div></div>
<div class="ttc" id="classKite_1_1SegmentAction_html_a093e88be27fab140cca8ec652beab529"><div class="ttname"><a href="classKite_1_1SegmentAction.html#a093e88be27fab140cca8ec652beab529">Kite::SegmentAction::getType</a></div><div class="ttdeci">unsigned int getType() const</div><div class="ttdef"><b>Definition:</b> SegmentFsm.h:81</div></div>
<div class="ttc" id="classKite_1_1SegmentAction_html_a1d1cfd8ffb84e947f82999c682b666a7ae30745ee276038ba4d7b5f92d80f3715"><div class="ttname"><a href="classKite_1_1SegmentAction.html#a1d1cfd8ffb84e947f82999c682b666a7ae30745ee276038ba4d7b5f92d80f3715">Kite::SegmentAction::SelfRipupPerpandWithAxisHint</a></div><div class="ttdef"><b>Definition:</b> SegmentFsm.h:56</div></div>
<div class="ttc" id="classKite_1_1SegmentAction_html_a1d1cfd8ffb84e947f82999c682b666a7a11ef388ea422168a9c79fd9b4d81ea34"><div class="ttname"><a href="classKite_1_1SegmentAction.html#a1d1cfd8ffb84e947f82999c682b666a7a11ef388ea422168a9c79fd9b4d81ea34">Kite::SegmentAction::EventLevel3</a></div><div class="ttdef"><b>Definition:</b> SegmentFsm.h:50</div></div>
<div class="ttc" id="classKite_1_1SegmentFsm_html_a9d1a7f4108b49d3096d8c733fabe60f3"><div class="ttname"><a href="classKite_1_1SegmentFsm.html#a9d1a7f4108b49d3096d8c733fabe60f3">Kite::SegmentFsm::getOptimal</a></div><div class="ttdeci">Interval &amp; getOptimal()</div><div class="ttdef"><b>Definition:</b> SegmentFsm.h:172</div></div>
<div class="ttc" id="classKite_1_1SegmentAction_html_a1d1cfd8ffb84e947f82999c682b666a7a432d5152211bf70a2d561b8bda34c9e0"><div class="ttname"><a href="classKite_1_1SegmentAction.html#a1d1cfd8ffb84e947f82999c682b666a7a432d5152211bf70a2d561b8bda34c9e0">Kite::SegmentAction::EventLevel5</a></div><div class="ttdef"><b>Definition:</b> SegmentFsm.h:52</div></div>
<div class="ttc" id="classKite_1_1SegmentAction_html_a1d1cfd8ffb84e947f82999c682b666a7ab8346062d5bbccb98893c4675b8d5098"><div class="ttname"><a href="classKite_1_1SegmentAction.html#a1d1cfd8ffb84e947f82999c682b666a7ab8346062d5bbccb98893c4675b8d5098">Kite::SegmentAction::EventLevel4</a></div><div class="ttdef"><b>Definition:</b> SegmentFsm.h:51</div></div>
<div class="ttc" id="classKite_1_1SegmentFsm_html_a5d74787dedbc4e11c1ab15bf487e61f8a08900dc237aef7e4a7f50d2ba1ffd748"><div class="ttname"><a href="classKite_1_1SegmentFsm.html#a5d74787dedbc4e11c1ab15bf487e61f8a08900dc237aef7e4a7f50d2ba1ffd748">Kite::SegmentFsm::Ripup</a></div><div class="ttdef"><b>Definition:</b> SegmentFsm.h:97</div></div>
<div class="ttc" id="classKite_1_1SegmentFsm_html_a5d74787dedbc4e11c1ab15bf487e61f8a22374bab829fac7d12af4784d80eeb6e"><div class="ttname"><a href="classKite_1_1SegmentFsm.html#a5d74787dedbc4e11c1ab15bf487e61f8a22374bab829fac7d12af4784d80eeb6e">Kite::SegmentFsm::OtherRipup</a></div><div class="ttdef"><b>Definition:</b> SegmentFsm.h:100</div></div>
<div class="ttc" id="classKite_1_1SegmentFsm_html_af2d9a3a5df8a4de5d263fb3fae563a8a"><div class="ttname"><a href="classKite_1_1SegmentFsm.html#af2d9a3a5df8a4de5d263fb3fae563a8a">Kite::SegmentFsm::getTrack</a></div><div class="ttdeci">Track * getTrack(size_t)</div><div class="ttdef"><b>Definition:</b> SegmentFsm.h:175</div></div>
<div class="ttc" id="classKite_1_1SegmentAction_html_a324f17f0f5a09b76344eb2e003695d74"><div class="ttname"><a href="classKite_1_1SegmentAction.html#a324f17f0f5a09b76344eb2e003695d74">Kite::SegmentAction::doAction</a></div><div class="ttdeci">bool doAction(RoutingEventQueue &amp;)</div><div class="ttdef"><b>Definition:</b> SegmentFsm.cpp:361</div></div>
<div class="ttc" id="classKite_1_1RoutingEventHistory_html"><div class="ttname"><a href="classKite_1_1RoutingEventHistory.html">Kite::RoutingEventHistory</a></div><div class="ttdoc">History of RoutingEvent. </div><div class="ttdef"><b>Definition:</b> RoutingEventHistory.h:35</div></div>
<div class="ttc" id="classKite_1_1SegmentFsm_html_a4cf911f1f4e5ac588d502c9d069a1bde"><div class="ttname"><a href="classKite_1_1SegmentFsm.html#a4cf911f1f4e5ac588d502c9d069a1bde">Kite::SegmentFsm::clearActions</a></div><div class="ttdeci">void clearActions()</div><div class="ttdef"><b>Definition:</b> SegmentFsm.h:180</div></div>
<div class="ttc" id="classKite_1_1SegmentFsm_html_ab8ae818baad1d0a274a7e8c308ca3f92"><div class="ttname"><a href="classKite_1_1SegmentFsm.html#ab8ae818baad1d0a274a7e8c308ca3f92">Kite::SegmentFsm::solveFullBlockages</a></div><div class="ttdeci">bool solveFullBlockages()</div><div class="ttdef"><b>Definition:</b> SegmentFsm.cpp:893</div></div>
<div class="ttc" id="classKite_1_1SegmentAction_html_a1d1cfd8ffb84e947f82999c682b666a7a02330ea306385a34162a1e620a1c37df"><div class="ttname"><a href="classKite_1_1SegmentAction.html#a1d1cfd8ffb84e947f82999c682b666a7a02330ea306385a34162a1e620a1c37df">Kite::SegmentAction::Perpandicular</a></div><div class="ttdef"><b>Definition:</b> SegmentFsm.h:38</div></div>
<div class="ttc" id="classKite_1_1TrackElement_html"><div class="ttname"><a href="classKite_1_1TrackElement.html">Kite::TrackElement</a></div><div class="ttdoc">Abstract Class for all Elements inserted inside a Track. </div><div class="ttdef"><b>Definition:</b> TrackElement.h:100</div></div>
<div class="ttc" id="classKite_1_1SegmentAction_html_a1d1cfd8ffb84e947f82999c682b666a7adb9a006587bc8a635ffdd034c53a546f"><div class="ttname"><a href="classKite_1_1SegmentAction.html#a1d1cfd8ffb84e947f82999c682b666a7adb9a006587bc8a635ffdd034c53a546f">Kite::SegmentAction::EventLevel1</a></div><div class="ttdef"><b>Definition:</b> SegmentFsm.h:48</div></div>
<div class="ttc" id="classKite_1_1SegmentFsm_html_a0d9a9926ae67cc7998799347f135e28a"><div class="ttname"><a href="classKite_1_1SegmentFsm.html#a0d9a9926ae67cc7998799347f135e28a">Kite::SegmentFsm::conflictSolveByHistory</a></div><div class="ttdeci">bool conflictSolveByHistory()</div><div class="ttdef"><b>Definition:</b> SegmentFsm.cpp:633</div></div>
<div class="ttc" id="classKite_1_1SegmentFsm_html_adf5147448951f8dc8b4088a1032e97b2"><div class="ttname"><a href="classKite_1_1SegmentFsm.html#adf5147448951f8dc8b4088a1032e97b2">Kite::SegmentFsm::setState</a></div><div class="ttdeci">void setState(unsigned int)</div><div class="ttdef"><b>Definition:</b> SegmentFsm.h:179</div></div>
<div class="ttc" id="classKite_1_1SegmentAction_html_a1d1cfd8ffb84e947f82999c682b666a7aacd3ef9d889b306ca7e7bdcd37ba659a"><div class="ttname"><a href="classKite_1_1SegmentAction.html#a1d1cfd8ffb84e947f82999c682b666a7aacd3ef9d889b306ca7e7bdcd37ba659a">Kite::SegmentAction::Self</a></div><div class="ttdef"><b>Definition:</b> SegmentFsm.h:36</div></div>
<div class="ttc" id="classKite_1_1SegmentFsm_html_a5d74787dedbc4e11c1ab15bf487e61f8a75f0c3176be2226dfe8ad164a0a034a2"><div class="ttname"><a href="classKite_1_1SegmentFsm.html#a5d74787dedbc4e11c1ab15bf487e61f8a75f0c3176be2226dfe8ad164a0a034a2">Kite::SegmentFsm::Other</a></div><div class="ttdef"><b>Definition:</b> SegmentFsm.h:96</div></div>
<div class="ttc" id="classKite_1_1SegmentFsm_html_a2a8eadaaf3ed213914e7b4a81cae6e6a"><div class="ttname"><a href="classKite_1_1SegmentFsm.html#a2a8eadaaf3ed213914e7b4a81cae6e6a">Kite::SegmentFsm::SegmentFsm</a></div><div class="ttdeci">SegmentFsm(RoutingEvent *, RoutingEventQueue &amp;, RoutingEventHistory &amp;)</div><div class="ttdef"><b>Definition:</b> SegmentFsm.cpp:442</div></div>
<div class="ttc" id="classKite_1_1SegmentAction_html_a1d1cfd8ffb84e947f82999c682b666a7a5bad02627a87d3e38d5812363e46d7b1"><div class="ttname"><a href="classKite_1_1SegmentAction.html#a1d1cfd8ffb84e947f82999c682b666a7a5bad02627a87d3e38d5812363e46d7b1">Kite::SegmentAction::EventLevel2</a></div><div class="ttdef"><b>Definition:</b> SegmentFsm.h:49</div></div>
<div class="ttc" id="classKite_1_1SegmentFsm_html_a1bf115c7f375168ec89ec400d58440b4"><div class="ttname"><a href="classKite_1_1SegmentFsm.html#a1bf115c7f375168ec89ec400d58440b4">Kite::SegmentFsm::getHistory</a></div><div class="ttdeci">RoutingEventHistory &amp; getHistory() const</div><div class="ttdef"><b>Definition:</b> SegmentFsm.h:168</div></div>
<div class="ttc" id="classKite_1_1RoutingEventQueue_html"><div class="ttname"><a href="classKite_1_1RoutingEventQueue.html">Kite::RoutingEventQueue</a></div><div class="ttdoc">The priority Queue of RoutingEvent. </div><div class="ttdef"><b>Definition:</b> RoutingEventQueue.h:35</div></div>
<div class="ttc" id="classKite_1_1SegmentFsm_html_a90fb28e997bec986238b81c0316319f0"><div class="ttname"><a href="classKite_1_1SegmentFsm.html#a90fb28e997bec986238b81c0316319f0">Kite::SegmentFsm::isFullBlocked</a></div><div class="ttdeci">bool isFullBlocked() const</div><div class="ttdef"><b>Definition:</b> SegmentFsm.h:165</div></div>
<div class="ttc" id="classKite_1_1SegmentAction_html"><div class="ttname"><a href="classKite_1_1SegmentAction.html">Kite::SegmentAction</a></div><div class="ttdoc">Store request for an event to be generated on a TrackElement. </div><div class="ttdef"><b>Definition:</b> SegmentFsm.h:34</div></div>
<div class="ttc" id="namespaceKite_html"><div class="ttname"><a href="namespaceKite.html">Kite</a></div><div class="ttdoc">The namespace dedicated to Kite. </div><div class="ttdef"><b>Definition:</b> Constants.h:22</div></div>
<div class="ttc" id="classKite_1_1SegmentFsm_html_a9c0fa6a9067b6e027e24f38330f627dc"><div class="ttname"><a href="classKite_1_1SegmentFsm.html#a9c0fa6a9067b6e027e24f38330f627dc">Kite::SegmentFsm::conflictSolveByPlaceds</a></div><div class="ttdeci">bool conflictSolveByPlaceds()</div><div class="ttdef"><b>Definition:</b> SegmentFsm.cpp:718</div></div>
<div class="ttc" id="classKite_1_1SegmentFsm_html_a5d74787dedbc4e11c1ab15bf487e61f8abb9adb1672565a2d0c2de07ea840414e"><div class="ttname"><a href="classKite_1_1SegmentFsm.html#a5d74787dedbc4e11c1ab15bf487e61f8abb9adb1672565a2d0c2de07ea840414e">Kite::SegmentFsm::Inserted</a></div><div class="ttdef"><b>Definition:</b> SegmentFsm.h:94</div></div>
<div class="ttc" id="classKite_1_1SegmentAction_html_a1d1cfd8ffb84e947f82999c682b666a7a75f0c3176be2226dfe8ad164a0a034a2"><div class="ttname"><a href="classKite_1_1SegmentAction.html#a1d1cfd8ffb84e947f82999c682b666a7a75f0c3176be2226dfe8ad164a0a034a2">Kite::SegmentAction::Other</a></div><div class="ttdef"><b>Definition:</b> SegmentFsm.h:37</div></div>
<div class="ttc" id="classKite_1_1SegmentFsm_html_a5d74787dedbc4e11c1ab15bf487e61f8a79ae4f26b8ed9c55b81f981bb5076e1d"><div class="ttname"><a href="classKite_1_1SegmentFsm.html#a5d74787dedbc4e11c1ab15bf487e61f8a79ae4f26b8ed9c55b81f981bb5076e1d">Kite::SegmentFsm::MissingData</a></div><div class="ttdef"><b>Definition:</b> SegmentFsm.h:92</div></div>
<div class="ttc" id="classKite_1_1SegmentFsm_html_ab7144079976c8808e69f9aac68dda06d"><div class="ttname"><a href="classKite_1_1SegmentFsm.html#ab7144079976c8808e69f9aac68dda06d">Kite::SegmentFsm::getCosts</a></div><div class="ttdeci">vector&lt; TrackCost &gt; &amp; getCosts()</div><div class="ttdef"><b>Definition:</b> SegmentFsm.h:173</div></div>
<div class="ttc" id="classKite_1_1SegmentAction_html_a1d1cfd8ffb84e947f82999c682b666a7a6c00c46010d69247a3edc18b70d700fa"><div class="ttname"><a href="classKite_1_1SegmentAction.html#a1d1cfd8ffb84e947f82999c682b666a7a6c00c46010d69247a3edc18b70d700fa">Kite::SegmentAction::ToRipupLimit</a></div><div class="ttdef"><b>Definition:</b> SegmentFsm.h:43</div></div>
<div class="ttc" id="classKite_1_1DataNegociate_html"><div class="ttname"><a href="classKite_1_1DataNegociate.html">Kite::DataNegociate</a></div><div class="ttdoc">Algorimthmic datas associated the TrackSegment. </div><div class="ttdef"><b>Definition:</b> DataNegociate.h:50</div></div>
<div class="ttc" id="classKite_1_1SegmentAction_html_a1d1cfd8ffb84e947f82999c682b666a7a9e16316a13899c2e02dd49cf2fb6e91f"><div class="ttname"><a href="classKite_1_1SegmentAction.html#a1d1cfd8ffb84e947f82999c682b666a7a9e16316a13899c2e02dd49cf2fb6e91f">Kite::SegmentAction::ResetRipup</a></div><div class="ttdef"><b>Definition:</b> SegmentFsm.h:42</div></div>
<div class="ttc" id="classKite_1_1SegmentAction_html_a1d1cfd8ffb84e947f82999c682b666a7a85fd77114c99a0827e08de2fc6a53ed7"><div class="ttname"><a href="classKite_1_1SegmentAction.html#a1d1cfd8ffb84e947f82999c682b666a7a85fd77114c99a0827e08de2fc6a53ed7">Kite::SegmentAction::SelfRipupPerpand</a></div><div class="ttdef"><b>Definition:</b> SegmentFsm.h:55</div></div>
<div class="ttc" id="classKite_1_1SegmentFsm_html_abf6603c742bee65a4effa24135f2d955"><div class="ttname"><a href="classKite_1_1SegmentFsm.html#abf6603c742bee65a4effa24135f2d955">Kite::SegmentFsm::getConstraint</a></div><div class="ttdeci">Interval &amp; getConstraint()</div><div class="ttdef"><b>Definition:</b> SegmentFsm.h:171</div></div>
<div class="ttc" id="classKite_1_1SegmentFsm_html_aaf31c0a3018908a2ee26a8ea9e893eb1"><div class="ttname"><a href="classKite_1_1SegmentFsm.html#aaf31c0a3018908a2ee26a8ea9e893eb1">Kite::SegmentFsm::getEnd</a></div><div class="ttdeci">size_t getEnd(size_t)</div><div class="ttdef"><b>Definition:</b> SegmentFsm.h:177</div></div>
<div class="ttc" id="classKite_1_1SegmentAction_html_a1d1cfd8ffb84e947f82999c682b666a7a8c1f14f07c9eedcbbb2cc61988030646"><div class="ttname"><a href="classKite_1_1SegmentAction.html#a1d1cfd8ffb84e947f82999c682b666a7a8c1f14f07c9eedcbbb2cc61988030646">Kite::SegmentAction::Insert</a></div><div class="ttdef"><b>Definition:</b> SegmentFsm.h:39</div></div>
<div class="ttc" id="classKite_1_1SegmentFsm_html_ad9384c1cc2a9cd70ab9ff089b56380a0"><div class="ttname"><a href="classKite_1_1SegmentFsm.html#ad9384c1cc2a9cd70ab9ff089b56380a0">Kite::SegmentFsm::addAction</a></div><div class="ttdeci">void addAction(TrackElement *, unsigned int type, DbU::Unit axisHint=0, unsigned int toState=0)</div><div class="ttdef"><b>Definition:</b> SegmentFsm.cpp:571</div></div>
<div class="ttc" id="classKite_1_1SegmentAction_html_a1d1cfd8ffb84e947f82999c682b666a7a8b27ea2f99b2e6446eac77626aef0711"><div class="ttname"><a href="classKite_1_1SegmentAction.html#a1d1cfd8ffb84e947f82999c682b666a7a8b27ea2f99b2e6446eac77626aef0711">Kite::SegmentAction::ToState</a></div><div class="ttdef"><b>Definition:</b> SegmentFsm.h:47</div></div>
<div class="ttc" id="classKite_1_1SegmentAction_html_a1d1cfd8ffb84e947f82999c682b666a7a4fe6b9a3b3816492b9a99ab6689c4b20"><div class="ttname"><a href="classKite_1_1SegmentAction.html#a1d1cfd8ffb84e947f82999c682b666a7a4fe6b9a3b3816492b9a99ab6689c4b20">Kite::SegmentAction::PackingMode</a></div><div class="ttdef"><b>Definition:</b> SegmentFsm.h:46</div></div>
<div class="ttc" id="classKite_1_1SegmentFsm_html_a13a1ec8bdcf29f2bcb21cab348b77ed2"><div class="ttname"><a href="classKite_1_1SegmentFsm.html#a13a1ec8bdcf29f2bcb21cab348b77ed2">Kite::SegmentFsm::getBegin</a></div><div class="ttdeci">size_t getBegin(size_t)</div><div class="ttdef"><b>Definition:</b> SegmentFsm.h:176</div></div>
</div><!-- fragment --></div><!-- contents -->
<br>
<hr>
<table class="footer1">
<tr>
<td class="LFooter"><small>Generated by doxygen 1.8.14 on Mon Feb 3 2020</small></td>
<td class="RFooter"><a href='#pagetop'><small>Return to top of page</small></a></td>
</tr>
</table>
<table class="footer2">
<tr>
<td class="LFooter">Kite - Detailed Router</td>
<td class="RFooter"><small>Copyright &#169; 2008-2016 UPMC. All rights reserved</small></td>
</tr>
</table>
</body>
</html>