2018-10-18 11:10:01 -05:00
\hypertarget { classKite_ 1_ 1SegmentAction} { } \subsection { Segment\+ Action Class Reference}
\label { classKite_ 1_ 1SegmentAction} \index { Segment\+ Action@{ Segment\+ Action} }
2018-06-06 11:42:26 -05:00
2018-10-18 11:10:01 -05:00
Store request for an event to be generated on a \mbox { \hyperlink { classKite_ 1_ 1TrackElement} { Track\+ Element} } .
2018-06-06 11:42:26 -05:00
\subsubsection * { Public Types}
\begin { DoxyCompactItemize}
\item
2018-10-18 11:10:01 -05:00
enum \mbox { \hyperlink { classKite_ 1_ 1SegmentAction_ a1d1cfd8ffb84e947f82999c682b666a7} { Type} } \{ \newline
\mbox { \hyperlink { classKite_ 1_ 1SegmentAction_ a1d1cfd8ffb84e947f82999c682b666a7aacd3ef9d889b306ca7e7bdcd37ba659a} { Self} } = (1$ < $ $ < $ 0),
\newline
\mbox { \hyperlink { classKite_ 1_ 1SegmentAction_ a1d1cfd8ffb84e947f82999c682b666a7a75f0c3176be2226dfe8ad164a0a034a2} { Other} } = (1$ < $ $ < $ 1),
\newline
\mbox { \hyperlink { classKite_ 1_ 1SegmentAction_ a1d1cfd8ffb84e947f82999c682b666a7a02330ea306385a34162a1e620a1c37df} { Perpandicular} } = (1$ < $ $ < $ 2),
\newline
\mbox { \hyperlink { classKite_ 1_ 1SegmentAction_ a1d1cfd8ffb84e947f82999c682b666a7a8c1f14f07c9eedcbbb2cc61988030646} { Insert} } = (1$ < $ $ < $ 3),
\newline
\mbox { \hyperlink { classKite_ 1_ 1SegmentAction_ a1d1cfd8ffb84e947f82999c682b666a7a08900dc237aef7e4a7f50d2ba1ffd748} { Ripup} } = (1$ < $ $ < $ 4),
\newline
\mbox { \hyperlink { classKite_ 1_ 1SegmentAction_ a1d1cfd8ffb84e947f82999c682b666a7a4fab9c042ba690bdb62d3c34eab8472d} { Riped\+ By\+ Local} } = (1$ < $ $ < $ 5),
\newline
\mbox { \hyperlink { classKite_ 1_ 1SegmentAction_ a1d1cfd8ffb84e947f82999c682b666a7a9e16316a13899c2e02dd49cf2fb6e91f} { Reset\+ Ripup} } = (1$ < $ $ < $ 6),
\newline
\mbox { \hyperlink { classKite_ 1_ 1SegmentAction_ a1d1cfd8ffb84e947f82999c682b666a7a6c00c46010d69247a3edc18b70d700fa} { To\+ Ripup\+ Limit} } = (1$ < $ $ < $ 7)
, \newline
\mbox { \hyperlink { classKite_ 1_ 1SegmentAction_ a1d1cfd8ffb84e947f82999c682b666a7a46c4ca7a69b5eae786be28f75523b78b} { Axis\+ Hint} } = (1$ < $ $ < $ 9),
\newline
\mbox { \hyperlink { classKite_ 1_ 1SegmentAction_ a1d1cfd8ffb84e947f82999c682b666a7a4fe6b9a3b3816492b9a99ab6689c4b20} { Packing\+ Mode} } = (1$ < $ $ < $ 10),
\newline
\mbox { \hyperlink { classKite_ 1_ 1SegmentAction_ a1d1cfd8ffb84e947f82999c682b666a7a8b27ea2f99b2e6446eac77626aef0711} { To\+ State} } = (1$ < $ $ < $ 11),
\newline
\mbox { \hyperlink { classKite_ 1_ 1SegmentAction_ a1d1cfd8ffb84e947f82999c682b666a7adb9a006587bc8a635ffdd034c53a546f} { Event\+ Level1} } = (1$ < $ $ < $ 12),
\newline
\mbox { \hyperlink { classKite_ 1_ 1SegmentAction_ a1d1cfd8ffb84e947f82999c682b666a7a5bad02627a87d3e38d5812363e46d7b1} { Event\+ Level2} } = (1$ < $ $ < $ 13),
\newline
\mbox { \hyperlink { classKite_ 1_ 1SegmentAction_ a1d1cfd8ffb84e947f82999c682b666a7a11ef388ea422168a9c79fd9b4d81ea34} { Event\+ Level3} } = (1$ < $ $ < $ 14),
\newline
\mbox { \hyperlink { classKite_ 1_ 1SegmentAction_ a1d1cfd8ffb84e947f82999c682b666a7ab8346062d5bbccb98893c4675b8d5098} { Event\+ Level4} } = (1$ < $ $ < $ 15),
\newline
\mbox { \hyperlink { classKite_ 1_ 1SegmentAction_ a1d1cfd8ffb84e947f82999c682b666a7a432d5152211bf70a2d561b8bda34c9e0} { Event\+ Level5} } = (1$ < $ $ < $ 16),
\newline
\mbox { \hyperlink { classKite_ 1_ 1SegmentAction_ a1d1cfd8ffb84e947f82999c682b666a7a930d0718b2afc37983ffe708f8261b19} { Self\+ Insert} } = Self $ \vert $ \+ Insert,
\newline
\mbox { \hyperlink { classKite_ 1_ 1SegmentAction_ a1d1cfd8ffb84e947f82999c682b666a7a837e07a8b4101cff32018683072f2d78} { Self\+ Ripup} } = Self $ \vert $ \+ Ripup,
\newline
\mbox { \hyperlink { classKite_ 1_ 1SegmentAction_ a1d1cfd8ffb84e947f82999c682b666a7a85fd77114c99a0827e08de2fc6a53ed7} { Self\+ Ripup\+ Perpand} } = Self $ \vert $ \+ Ripup$ \vert $ \+ Perpandicular,
\newline
\mbox { \hyperlink { classKite_ 1_ 1SegmentAction_ a1d1cfd8ffb84e947f82999c682b666a7ae30745ee276038ba4d7b5f92d80f3715} { Self\+ Ripup\+ Perpand\+ With\+ Axis\+ Hint} } = Self $ \vert $ \+ Ripup$ \vert $ \+ Perpandicular$ \vert $ \+ Event\+ Level4$ \vert $ \+ Axis\+ Hint,
\newline
\mbox { \hyperlink { classKite_ 1_ 1SegmentAction_ a1d1cfd8ffb84e947f82999c682b666a7a22374bab829fac7d12af4784d80eeb6e} { Other\+ Ripup} } = Other$ \vert $ \+ Ripup,
\newline
\mbox { \hyperlink { classKite_ 1_ 1SegmentAction_ a1d1cfd8ffb84e947f82999c682b666a7ad9caf9375b714a403e4af8a142cf9991} { Other\+ Ripup\+ Perpand\+ And\+ Push\+ Aside} } = Other$ \vert $ \+ Ripup$ \vert $ \+ Perpandicular$ \vert $ \+ Event\+ Level3$ \vert $ \+ Axis\+ Hint,
\newline
\mbox { \hyperlink { classKite_ 1_ 1SegmentAction_ a1d1cfd8ffb84e947f82999c682b666a7aed50f579a9e6b7ac698b2edf1a5da5c8} { Other\+ Ripup\+ Perpand\+ And\+ Packing} } = Other$ \vert $ \+ Ripup$ \vert $ \+ Perpandicular$ \vert $ \+ Event\+ Level4$ \vert $ \+ Packing\+ Mode
2018-06-06 11:42:26 -05:00
\}
\end { DoxyCompactItemize}
\subsubsection * { Public Member Functions}
\begin { DoxyCompactItemize}
\item
2018-10-18 11:10:01 -05:00
\mbox { \hyperlink { classKite_ 1_ 1SegmentAction_ acbeca58f8327b69a540628f299d5bd35} { Segment\+ Action} } (\mbox { \hyperlink { classKite_ 1_ 1TrackElement} { Track\+ Element} } $ \ast $ , unsigned int type, \textbf { Db\+ U\+ ::\+ Unit} axis\+ Hint=0, unsigned int to\+ State=0)
2018-06-06 11:42:26 -05:00
\item
2018-10-18 11:10:01 -05:00
\mbox { \hyperlink { classKite_ 1_ 1TrackElement} { Track\+ Element} } $ \ast $ \mbox { \hyperlink { classKite_ 1_ 1SegmentAction_ a506a4d1cef59fc35984c1c88e0c0f6df} { get\+ Segment} } () const
2018-06-06 11:42:26 -05:00
\item
2018-10-18 11:10:01 -05:00
unsigned int \mbox { \hyperlink { classKite_ 1_ 1SegmentAction_ a093e88be27fab140cca8ec652beab529} { get\+ Type} } () const
2018-06-06 11:42:26 -05:00
\item
2018-10-18 11:10:01 -05:00
void \mbox { \hyperlink { classKite_ 1_ 1SegmentAction_ a8dc7cdf5f643a856fa5208bcfd1f8342} { set\+ Axis\+ Hint} } (\textbf { Db\+ U\+ ::\+ Unit} )
2018-06-06 11:42:26 -05:00
\item
2018-10-18 11:10:01 -05:00
unsigned int \mbox { \hyperlink { classKite_ 1_ 1SegmentAction_ a4e1f44319a9a0a413fe1413a87ec78bd} { set\+ Flag} } (unsigned int)
2018-06-06 11:42:26 -05:00
\item
2018-10-18 11:10:01 -05:00
bool \mbox { \hyperlink { classKite_ 1_ 1SegmentAction_ a324f17f0f5a09b76344eb2e003695d74} { do\+ Action} } (\mbox { \hyperlink { classKite_ 1_ 1RoutingEventQueue} { Routing\+ Event\+ Queue} } \& )
2018-06-06 11:42:26 -05:00
\end { DoxyCompactItemize}
\subsubsection { Detailed Description}
2018-10-18 11:10:01 -05:00
Store request for an event to be generated on a \mbox { \hyperlink { classKite_ 1_ 1TrackElement} { Track\+ Element} } .
2018-06-06 11:42:26 -05:00
2018-10-18 11:10:01 -05:00
When an event on a \mbox { \hyperlink { classKite_ 1_ 1TrackElement} { Kite\+ ::\+ Track\+ Element} } is being processed (with the \mbox { \hyperlink { classKite_ 1_ 1SegmentFsm} { Segment\+ Fsm} } helper), it may generate events on \mbox { \hyperlink { classKite_ 1_ 1TrackElement} { Track\+ Element} } already placed and belonging either to the same net or other ones. Those events are not generated and queued immediatly but instead \mbox { \hyperlink { classKite_ 1_ 1SegmentAction} { Segment\+ Action} } , requesting the event generation are created and stored into a simple vector in \mbox { \hyperlink { classKite_ 1_ 1SegmentFsm} { Segment\+ Fsm} } . The last operation of the \mbox { \hyperlink { classKite_ 1_ 1SegmentFsm} { Segment\+ Fsm} } object is to call the \mbox { \hyperlink { classKite_ 1_ 1SegmentAction_ a324f17f0f5a09b76344eb2e003695d74} { Segment\+ Action\+ ::do\+ Action()} } method on all the action to actually generate and queue the events.
2018-06-06 11:42:26 -05:00
\subsubsection { Member Enumeration Documentation}
2018-10-18 11:10:01 -05:00
\mbox { \Hypertarget { classKite_ 1_ 1SegmentAction_ a1d1cfd8ffb84e947f82999c682b666a7} \label { classKite_ 1_ 1SegmentAction_ a1d1cfd8ffb84e947f82999c682b666a7} }
\index { Kite\+ ::\+ Segment\+ Action@{ Kite\+ ::\+ Segment\+ Action} !Type@{ Type} }
\index { Type@{ Type} !Kite\+ ::\+ Segment\+ Action@{ Kite\+ ::\+ Segment\+ Action} }
\paragraph { \texorpdfstring { Type} { Type} }
{ \footnotesize \ttfamily enum \mbox { \hyperlink { classKite_ 1_ 1SegmentAction_ a1d1cfd8ffb84e947f82999c682b666a7} { Type} } }
2018-06-06 11:42:26 -05:00
2018-10-18 11:10:01 -05:00
Indicates the kind of action to be performed on the segment. In the following { \bfseries flags} and { \bfseries masks} descriptions, we uses the term { \itshape reference segment} for the \mbox { \hyperlink { classKite_ 1_ 1TrackElement} { Track\+ Element} } which is associated with the currently processed \mbox { \hyperlink { classKite_ 1_ 1RoutingEvent} { Routing\+ Event} } (also referenced in \mbox { \hyperlink { classKite_ 1_ 1SegmentFsm} { Segment\+ Fsm} } ).
Here is the list of the availables actions that can be performed when (re)scheduling a \mbox { \hyperlink { classKite_ 1_ 1RoutingEvent} { Routing\+ Event} } . It is here that we uses the \mbox { \hyperlink { classKite_ 1_ 1RoutingEvent} { Routing\+ Event} } level feature to perform a local reordering of the top of the queue. Reordering is used to allows perpandiculars to be routed { \itshape before} the reference segment (instead of after) or { \itshape other} segments in conflict.
2018-06-06 11:42:26 -05:00
\begin { DoxyItemize}
2018-10-18 11:10:01 -05:00
\item \mbox { \hyperlink { classKite_ 1_ 1SegmentAction_ a1d1cfd8ffb84e947f82999c682b666a7a930d0718b2afc37983ffe708f8261b19} { Segment\+ Action\+ ::\+ Self\+ Insert} } ~\newline
{ \bfseries Action\+ :} The reference segment is to be inserted in a \mbox { \hyperlink { classKite_ 1_ 1Track} { Track} } (placed).~\newline
{ \bfseries Event Level\+ :} Unchanged.
\item \mbox { \hyperlink { classKite_ 1_ 1SegmentAction_ a1d1cfd8ffb84e947f82999c682b666a7a837e07a8b4101cff32018683072f2d78} { Segment\+ Action\+ ::\+ Self\+ Ripup} } ~\newline
{ \bfseries Action\+ :} The reference segment is to be ripped up.~\newline
{ \bfseries Event Level\+ :} Unchanged.
\item \mbox { \hyperlink { classKite_ 1_ 1SegmentAction_ a1d1cfd8ffb84e947f82999c682b666a7a85fd77114c99a0827e08de2fc6a53ed7} { Segment\+ Action\+ ::\+ Self\+ Ripup\+ Perpand} } ~\newline
{ \bfseries Action\+ :} Ripup a segment which is a perpandicular to the reference segment. Ordering considerations\+ : this perpandicular will be put back into the \mbox { \hyperlink { classKite_ 1_ 1RoutingEvent} { Routing\+ Event} } queue with a lower level (priority) than the reference segment, so it will be processed again { \itshape after} the reference segment.~\newline
{ \bfseries Event Level\+ :} Unchanged.
\item \mbox { \hyperlink { classKite_ 1_ 1SegmentAction_ a1d1cfd8ffb84e947f82999c682b666a7ae30745ee276038ba4d7b5f92d80f3715} { Segment\+ Action\+ ::\+ Self\+ Ripup\+ Perpand\+ With\+ Axis\+ Hint} } ~\newline
{ \bfseries Action\+ :} Ripup a segment which is a perpandicular to the reference segment, supplies an axis hint and put it back into the \mbox { \hyperlink { classKite_ 1_ 1RoutingEvent} { Routing\+ Event} } queue so that it will be processed { \itshape before} the reference segment.~\newline
{ \bfseries Event Level\+ :} Increased to \mbox { \hyperlink { classKite_ 1_ 1SegmentAction_ a1d1cfd8ffb84e947f82999c682b666a7ab8346062d5bbccb98893c4675b8d5098} { Segment\+ Action\+ ::\+ Event\+ Level4} } .
\item \mbox { \hyperlink { classKite_ 1_ 1SegmentAction_ a1d1cfd8ffb84e947f82999c682b666a7a22374bab829fac7d12af4784d80eeb6e} { Segment\+ Action\+ ::\+ Other\+ Ripup} } ~\newline
{ \bfseries Action\+ :} Ripping up a segment from another net and in the same direction as the reference segment.~\newline
{ \bfseries Event Level\+ :} Unchanged.
\item \mbox { \hyperlink { classKite_ 1_ 1SegmentAction_ a1d1cfd8ffb84e947f82999c682b666a7ad9caf9375b714a403e4af8a142cf9991} { Segment\+ Action\+ ::\+ Other\+ Ripup\+ Perpand\+ And\+ Push\+ Aside} } ~\newline
{ \bfseries Action\+ :} Ripping up a segment from another net and in perpandicular direction. The level is elevated so it\textquotesingle { } s priority is greater than the reference segment this it will be reprocessed first. An axis hint is also supplied in order to make room for the reference segment.~\newline
{ \bfseries Event Level\+ :} Increased to \mbox { \hyperlink { classKite_ 1_ 1SegmentAction_ a1d1cfd8ffb84e947f82999c682b666a7a11ef388ea422168a9c79fd9b4d81ea34} { Segment\+ Action\+ ::\+ Event\+ Level3} } .
\item \mbox { \hyperlink { classKite_ 1_ 1SegmentAction_ a1d1cfd8ffb84e947f82999c682b666a7aed50f579a9e6b7ac698b2edf1a5da5c8} { Segment\+ Action\+ ::\+ Other\+ Ripup\+ Perpand\+ And\+ Packing} } ~\newline
{ \bfseries Action\+ :} Ripping up a segment from another net and in perpandicular direction. The level is elevated so it\textquotesingle { } s priority is greater than the reference segment this it will be reprocessed first. The generated event is in packing mode only.~\newline
{ \bfseries Event Level\+ :} Increased to \mbox { \hyperlink { classKite_ 1_ 1SegmentAction_ a1d1cfd8ffb84e947f82999c682b666a7ab8346062d5bbccb98893c4675b8d5098} { Segment\+ Action\+ ::\+ Event\+ Level4} } .
\end { DoxyItemize} \begin { DoxyEnumFields} { Enumerator}
\raisebox { \heightof { T} } [0pt][0pt]{ \index { Self@{ Self} !Kite\+ ::\+ Segment\+ Action@{ Kite\+ ::\+ Segment\+ Action} } \index { Kite\+ ::\+ Segment\+ Action@{ Kite\+ ::\+ Segment\+ Action} !Self@{ Self} } } \mbox { \Hypertarget { classKite_ 1_ 1SegmentAction_ a1d1cfd8ffb84e947f82999c682b666a7aacd3ef9d889b306ca7e7bdcd37ba659a} \label { classKite_ 1_ 1SegmentAction_ a1d1cfd8ffb84e947f82999c682b666a7aacd3ef9d889b306ca7e7bdcd37ba659a} }
Self& { \bfseries \mbox { [} Flag\mbox { ]} } The segment associated to the action is the reference segment { \itshape or segments from the same net} . \\
\hline
\raisebox { \heightof { T} } [0pt][0pt]{ \index { Other@{ Other} !Kite\+ ::\+ Segment\+ Action@{ Kite\+ ::\+ Segment\+ Action} } \index { Kite\+ ::\+ Segment\+ Action@{ Kite\+ ::\+ Segment\+ Action} !Other@{ Other} } } \mbox { \Hypertarget { classKite_ 1_ 1SegmentAction_ a1d1cfd8ffb84e947f82999c682b666a7a75f0c3176be2226dfe8ad164a0a034a2} \label { classKite_ 1_ 1SegmentAction_ a1d1cfd8ffb84e947f82999c682b666a7a75f0c3176be2226dfe8ad164a0a034a2} }
Other& { \bfseries \mbox { [} Flag\mbox { ]} } The segment associated to the action is { \bfseries not} from the same net as the reference segment. \\
\hline
\raisebox { \heightof { T} } [0pt][0pt]{ \index { Perpandicular@{ Perpandicular} !Kite\+ ::\+ Segment\+ Action@{ Kite\+ ::\+ Segment\+ Action} } \index { Kite\+ ::\+ Segment\+ Action@{ Kite\+ ::\+ Segment\+ Action} !Perpandicular@{ Perpandicular} } } \mbox { \Hypertarget { classKite_ 1_ 1SegmentAction_ a1d1cfd8ffb84e947f82999c682b666a7a02330ea306385a34162a1e620a1c37df} \label { classKite_ 1_ 1SegmentAction_ a1d1cfd8ffb84e947f82999c682b666a7a02330ea306385a34162a1e620a1c37df} }
Perpandicular& { \bfseries \mbox { [} Flag\mbox { ]} } The action concern a perpandicular to the reference segment. \\
\hline
\raisebox { \heightof { T} } [0pt][0pt]{ \index { Insert@{ Insert} !Kite\+ ::\+ Segment\+ Action@{ Kite\+ ::\+ Segment\+ Action} } \index { Kite\+ ::\+ Segment\+ Action@{ Kite\+ ::\+ Segment\+ Action} !Insert@{ Insert} } } \mbox { \Hypertarget { classKite_ 1_ 1SegmentAction_ a1d1cfd8ffb84e947f82999c682b666a7a8c1f14f07c9eedcbbb2cc61988030646} \label { classKite_ 1_ 1SegmentAction_ a1d1cfd8ffb84e947f82999c682b666a7a8c1f14f07c9eedcbbb2cc61988030646} }
Insert& { \bfseries \mbox { [} Flag\mbox { ]} } Request that the segment is to be inserted in the given track. It is the task of \mbox { \hyperlink { classKite_ 1_ 1SegmentFsm} { Segment\+ Fsm} } to determine that there is sufficent space to do so. \\
\hline
\raisebox { \heightof { T} } [0pt][0pt]{ \index { Ripup@{ Ripup} !Kite\+ ::\+ Segment\+ Action@{ Kite\+ ::\+ Segment\+ Action} } \index { Kite\+ ::\+ Segment\+ Action@{ Kite\+ ::\+ Segment\+ Action} !Ripup@{ Ripup} } } \mbox { \Hypertarget { classKite_ 1_ 1SegmentAction_ a1d1cfd8ffb84e947f82999c682b666a7a08900dc237aef7e4a7f50d2ba1ffd748} \label { classKite_ 1_ 1SegmentAction_ a1d1cfd8ffb84e947f82999c682b666a7a08900dc237aef7e4a7f50d2ba1ffd748} }
Ripup& { \bfseries \mbox { [} Flag\mbox { ]} } Request that the segment is to be ripped up. \\
\hline
\raisebox { \heightof { T} } [0pt][0pt]{ \index { Riped\+ By\+ Local@{ Riped\+ By\+ Local} !Kite\+ ::\+ Segment\+ Action@{ Kite\+ ::\+ Segment\+ Action} } \index { Kite\+ ::\+ Segment\+ Action@{ Kite\+ ::\+ Segment\+ Action} !Riped\+ By\+ Local@{ Riped\+ By\+ Local} } } \mbox { \Hypertarget { classKite_ 1_ 1SegmentAction_ a1d1cfd8ffb84e947f82999c682b666a7a4fab9c042ba690bdb62d3c34eab8472d} \label { classKite_ 1_ 1SegmentAction_ a1d1cfd8ffb84e947f82999c682b666a7a4fab9c042ba690bdb62d3c34eab8472d} }
Riped\+ By\+ Local& { \bfseries \mbox { [} Flag\mbox { ]} } Indicate that the segment has been ripped up by a local one. \\
\hline
\raisebox { \heightof { T} } [0pt][0pt]{ \index { Reset\+ Ripup@{ Reset\+ Ripup} !Kite\+ ::\+ Segment\+ Action@{ Kite\+ ::\+ Segment\+ Action} } \index { Kite\+ ::\+ Segment\+ Action@{ Kite\+ ::\+ Segment\+ Action} !Reset\+ Ripup@{ Reset\+ Ripup} } } \mbox { \Hypertarget { classKite_ 1_ 1SegmentAction_ a1d1cfd8ffb84e947f82999c682b666a7a9e16316a13899c2e02dd49cf2fb6e91f} \label { classKite_ 1_ 1SegmentAction_ a1d1cfd8ffb84e947f82999c682b666a7a9e16316a13899c2e02dd49cf2fb6e91f} }
Reset\+ Ripup& { \bfseries \mbox { [} Flag\mbox { ]} } The ripup count is to be reset. \\
\hline
\raisebox { \heightof { T} } [0pt][0pt]{ \index { To\+ Ripup\+ Limit@{ To\+ Ripup\+ Limit} !Kite\+ ::\+ Segment\+ Action@{ Kite\+ ::\+ Segment\+ Action} } \index { Kite\+ ::\+ Segment\+ Action@{ Kite\+ ::\+ Segment\+ Action} !To\+ Ripup\+ Limit@{ To\+ Ripup\+ Limit} } } \mbox { \Hypertarget { classKite_ 1_ 1SegmentAction_ a1d1cfd8ffb84e947f82999c682b666a7a6c00c46010d69247a3edc18b70d700fa} \label { classKite_ 1_ 1SegmentAction_ a1d1cfd8ffb84e947f82999c682b666a7a6c00c46010d69247a3edc18b70d700fa} }
To\+ Ripup\+ Limit& { \bfseries \mbox { [} Flag\mbox { ]} } The ripup count is directly increased to the ripup limit, triggering a state change the next time the segment will be processed. \\
\hline
\raisebox { \heightof { T} } [0pt][0pt]{ \index { Axis\+ Hint@{ Axis\+ Hint} !Kite\+ ::\+ Segment\+ Action@{ Kite\+ ::\+ Segment\+ Action} } \index { Kite\+ ::\+ Segment\+ Action@{ Kite\+ ::\+ Segment\+ Action} !Axis\+ Hint@{ Axis\+ Hint} } } \mbox { \Hypertarget { classKite_ 1_ 1SegmentAction_ a1d1cfd8ffb84e947f82999c682b666a7a46c4ca7a69b5eae786be28f75523b78b} \label { classKite_ 1_ 1SegmentAction_ a1d1cfd8ffb84e947f82999c682b666a7a46c4ca7a69b5eae786be28f75523b78b} }
Axis\+ Hint& { \bfseries \mbox { [} Flag\mbox { ]} } An axis hint has been supplied, and is to be passed to the generated \mbox { \hyperlink { classKite_ 1_ 1RoutingEvent} { Routing\+ Event} } . \\
\hline
\raisebox { \heightof { T} } [0pt][0pt]{ \index { Packing\+ Mode@{ Packing\+ Mode} !Kite\+ ::\+ Segment\+ Action@{ Kite\+ ::\+ Segment\+ Action} } \index { Kite\+ ::\+ Segment\+ Action@{ Kite\+ ::\+ Segment\+ Action} !Packing\+ Mode@{ Packing\+ Mode} } } \mbox { \Hypertarget { classKite_ 1_ 1SegmentAction_ a1d1cfd8ffb84e947f82999c682b666a7a4fe6b9a3b3816492b9a99ab6689c4b20} \label { classKite_ 1_ 1SegmentAction_ a1d1cfd8ffb84e947f82999c682b666a7a4fe6b9a3b3816492b9a99ab6689c4b20} }
Packing\+ Mode& { \bfseries \mbox { [} Flag\mbox { ]} } Whether the \mbox { \hyperlink { classKite_ 1_ 1RoutingEvent} { Routing\+ Event} } should be processed in { \itshape packing} mode or { \itshape negociated} mode (transmitted to the \mbox { \hyperlink { classKite_ 1_ 1RoutingEvent} { Routing\+ Event} } ). \\
\hline
\raisebox { \heightof { T} } [0pt][0pt]{ \index { To\+ State@{ To\+ State} !Kite\+ ::\+ Segment\+ Action@{ Kite\+ ::\+ Segment\+ Action} } \index { Kite\+ ::\+ Segment\+ Action@{ Kite\+ ::\+ Segment\+ Action} !To\+ State@{ To\+ State} } } \mbox { \Hypertarget { classKite_ 1_ 1SegmentAction_ a1d1cfd8ffb84e947f82999c682b666a7a8b27ea2f99b2e6446eac77626aef0711} \label { classKite_ 1_ 1SegmentAction_ a1d1cfd8ffb84e947f82999c682b666a7a8b27ea2f99b2e6446eac77626aef0711} }
To\+ State& { \bfseries \mbox { [} Flag\mbox { ]} } Force the change of state of the \mbox { \hyperlink { classKite_ 1_ 1RoutingEvent} { Routing\+ Event} } (i.\+ e. \mbox { \hyperlink { classKite_ 1_ 1DataNegociate} { Data\+ Negociate} } ). Normally the state change is done through the increase of the ripup count in \mbox { \hyperlink { classKite_ 1_ 1DataNegociate} { Data\+ Negociate} } . \\
\hline
\raisebox { \heightof { T} } [0pt][0pt]{ \index { Event\+ Level1@{ Event\+ Level1} !Kite\+ ::\+ Segment\+ Action@{ Kite\+ ::\+ Segment\+ Action} } \index { Kite\+ ::\+ Segment\+ Action@{ Kite\+ ::\+ Segment\+ Action} !Event\+ Level1@{ Event\+ Level1} } } \mbox { \Hypertarget { classKite_ 1_ 1SegmentAction_ a1d1cfd8ffb84e947f82999c682b666a7adb9a006587bc8a635ffdd034c53a546f} \label { classKite_ 1_ 1SegmentAction_ a1d1cfd8ffb84e947f82999c682b666a7adb9a006587bc8a635ffdd034c53a546f} }
Event\+ Level1& { \bfseries \mbox { [} Flag\mbox { ]} } Increase the level to { \itshape at least} { \bfseries 1} . \\
\hline
\raisebox { \heightof { T} } [0pt][0pt]{ \index { Event\+ Level2@{ Event\+ Level2} !Kite\+ ::\+ Segment\+ Action@{ Kite\+ ::\+ Segment\+ Action} } \index { Kite\+ ::\+ Segment\+ Action@{ Kite\+ ::\+ Segment\+ Action} !Event\+ Level2@{ Event\+ Level2} } } \mbox { \Hypertarget { classKite_ 1_ 1SegmentAction_ a1d1cfd8ffb84e947f82999c682b666a7a5bad02627a87d3e38d5812363e46d7b1} \label { classKite_ 1_ 1SegmentAction_ a1d1cfd8ffb84e947f82999c682b666a7a5bad02627a87d3e38d5812363e46d7b1} }
Event\+ Level2& { \bfseries \mbox { [} Flag\mbox { ]} } Increase the level to { \itshape at least} { \bfseries 2} . \\
\hline
\raisebox { \heightof { T} } [0pt][0pt]{ \index { Event\+ Level3@{ Event\+ Level3} !Kite\+ ::\+ Segment\+ Action@{ Kite\+ ::\+ Segment\+ Action} } \index { Kite\+ ::\+ Segment\+ Action@{ Kite\+ ::\+ Segment\+ Action} !Event\+ Level3@{ Event\+ Level3} } } \mbox { \Hypertarget { classKite_ 1_ 1SegmentAction_ a1d1cfd8ffb84e947f82999c682b666a7a11ef388ea422168a9c79fd9b4d81ea34} \label { classKite_ 1_ 1SegmentAction_ a1d1cfd8ffb84e947f82999c682b666a7a11ef388ea422168a9c79fd9b4d81ea34} }
Event\+ Level3& { \bfseries \mbox { [} Flag\mbox { ]} } Increase the level to { \itshape at least} { \bfseries 3} . \\
\hline
\raisebox { \heightof { T} } [0pt][0pt]{ \index { Event\+ Level4@{ Event\+ Level4} !Kite\+ ::\+ Segment\+ Action@{ Kite\+ ::\+ Segment\+ Action} } \index { Kite\+ ::\+ Segment\+ Action@{ Kite\+ ::\+ Segment\+ Action} !Event\+ Level4@{ Event\+ Level4} } } \mbox { \Hypertarget { classKite_ 1_ 1SegmentAction_ a1d1cfd8ffb84e947f82999c682b666a7ab8346062d5bbccb98893c4675b8d5098} \label { classKite_ 1_ 1SegmentAction_ a1d1cfd8ffb84e947f82999c682b666a7ab8346062d5bbccb98893c4675b8d5098} }
Event\+ Level4& { \bfseries \mbox { [} Flag\mbox { ]} } Increase the level to { \itshape at least} { \bfseries 4} . \\
\hline
\raisebox { \heightof { T} } [0pt][0pt]{ \index { Event\+ Level5@{ Event\+ Level5} !Kite\+ ::\+ Segment\+ Action@{ Kite\+ ::\+ Segment\+ Action} } \index { Kite\+ ::\+ Segment\+ Action@{ Kite\+ ::\+ Segment\+ Action} !Event\+ Level5@{ Event\+ Level5} } } \mbox { \Hypertarget { classKite_ 1_ 1SegmentAction_ a1d1cfd8ffb84e947f82999c682b666a7a432d5152211bf70a2d561b8bda34c9e0} \label { classKite_ 1_ 1SegmentAction_ a1d1cfd8ffb84e947f82999c682b666a7a432d5152211bf70a2d561b8bda34c9e0} }
Event\+ Level5& { \bfseries \mbox { [} Flag\mbox { ]} } Increase the level to { \itshape at least} { \bfseries 5} . \\
\hline
\raisebox { \heightof { T} } [0pt][0pt]{ \index { Self\+ Insert@{ Self\+ Insert} !Kite\+ ::\+ Segment\+ Action@{ Kite\+ ::\+ Segment\+ Action} } \index { Kite\+ ::\+ Segment\+ Action@{ Kite\+ ::\+ Segment\+ Action} !Self\+ Insert@{ Self\+ Insert} } } \mbox { \Hypertarget { classKite_ 1_ 1SegmentAction_ a1d1cfd8ffb84e947f82999c682b666a7a930d0718b2afc37983ffe708f8261b19} \label { classKite_ 1_ 1SegmentAction_ a1d1cfd8ffb84e947f82999c682b666a7a930d0718b2afc37983ffe708f8261b19} }
Self\+ Insert& { \bfseries \mbox { [} Mask\mbox { ]} } , see \mbox { \hyperlink { classKite_ 1_ 1SegmentAction_ a1d1cfd8ffb84e947f82999c682b666a7} { Segment\+ Action\+ ::\+ Type} } . \\
\hline
\raisebox { \heightof { T} } [0pt][0pt]{ \index { Self\+ Ripup@{ Self\+ Ripup} !Kite\+ ::\+ Segment\+ Action@{ Kite\+ ::\+ Segment\+ Action} } \index { Kite\+ ::\+ Segment\+ Action@{ Kite\+ ::\+ Segment\+ Action} !Self\+ Ripup@{ Self\+ Ripup} } } \mbox { \Hypertarget { classKite_ 1_ 1SegmentAction_ a1d1cfd8ffb84e947f82999c682b666a7a837e07a8b4101cff32018683072f2d78} \label { classKite_ 1_ 1SegmentAction_ a1d1cfd8ffb84e947f82999c682b666a7a837e07a8b4101cff32018683072f2d78} }
Self\+ Ripup& { \bfseries \mbox { [} Mask\mbox { ]} } , see \mbox { \hyperlink { classKite_ 1_ 1SegmentAction_ a1d1cfd8ffb84e947f82999c682b666a7} { Segment\+ Action\+ ::\+ Type} } . \\
\hline
\raisebox { \heightof { T} } [0pt][0pt]{ \index { Self\+ Ripup\+ Perpand@{ Self\+ Ripup\+ Perpand} !Kite\+ ::\+ Segment\+ Action@{ Kite\+ ::\+ Segment\+ Action} } \index { Kite\+ ::\+ Segment\+ Action@{ Kite\+ ::\+ Segment\+ Action} !Self\+ Ripup\+ Perpand@{ Self\+ Ripup\+ Perpand} } } \mbox { \Hypertarget { classKite_ 1_ 1SegmentAction_ a1d1cfd8ffb84e947f82999c682b666a7a85fd77114c99a0827e08de2fc6a53ed7} \label { classKite_ 1_ 1SegmentAction_ a1d1cfd8ffb84e947f82999c682b666a7a85fd77114c99a0827e08de2fc6a53ed7} }
Self\+ Ripup\+ Perpand& { \bfseries \mbox { [} Mask\mbox { ]} } , see \mbox { \hyperlink { classKite_ 1_ 1SegmentAction_ a1d1cfd8ffb84e947f82999c682b666a7} { Segment\+ Action\+ ::\+ Type} } . \\
\hline
\raisebox { \heightof { T} } [0pt][0pt]{ \index { Self\+ Ripup\+ Perpand\+ With\+ Axis\+ Hint@{ Self\+ Ripup\+ Perpand\+ With\+ Axis\+ Hint} !Kite\+ ::\+ Segment\+ Action@{ Kite\+ ::\+ Segment\+ Action} } \index { Kite\+ ::\+ Segment\+ Action@{ Kite\+ ::\+ Segment\+ Action} !Self\+ Ripup\+ Perpand\+ With\+ Axis\+ Hint@{ Self\+ Ripup\+ Perpand\+ With\+ Axis\+ Hint} } } \mbox { \Hypertarget { classKite_ 1_ 1SegmentAction_ a1d1cfd8ffb84e947f82999c682b666a7ae30745ee276038ba4d7b5f92d80f3715} \label { classKite_ 1_ 1SegmentAction_ a1d1cfd8ffb84e947f82999c682b666a7ae30745ee276038ba4d7b5f92d80f3715} }
Self\+ Ripup\+ Perpand\+ With\+ Axis\+ Hint& { \bfseries \mbox { [} Mask\mbox { ]} } , see \mbox { \hyperlink { classKite_ 1_ 1SegmentAction_ a1d1cfd8ffb84e947f82999c682b666a7} { Segment\+ Action\+ ::\+ Type} } . \\
\hline
\raisebox { \heightof { T} } [0pt][0pt]{ \index { Other\+ Ripup@{ Other\+ Ripup} !Kite\+ ::\+ Segment\+ Action@{ Kite\+ ::\+ Segment\+ Action} } \index { Kite\+ ::\+ Segment\+ Action@{ Kite\+ ::\+ Segment\+ Action} !Other\+ Ripup@{ Other\+ Ripup} } } \mbox { \Hypertarget { classKite_ 1_ 1SegmentAction_ a1d1cfd8ffb84e947f82999c682b666a7a22374bab829fac7d12af4784d80eeb6e} \label { classKite_ 1_ 1SegmentAction_ a1d1cfd8ffb84e947f82999c682b666a7a22374bab829fac7d12af4784d80eeb6e} }
Other\+ Ripup& { \bfseries \mbox { [} Mask\mbox { ]} } , see \mbox { \hyperlink { classKite_ 1_ 1SegmentAction_ a1d1cfd8ffb84e947f82999c682b666a7} { Segment\+ Action\+ ::\+ Type} } . \\
\hline
\raisebox { \heightof { T} } [0pt][0pt]{ \index { Other\+ Ripup\+ Perpand\+ And\+ Push\+ Aside@{ Other\+ Ripup\+ Perpand\+ And\+ Push\+ Aside} !Kite\+ ::\+ Segment\+ Action@{ Kite\+ ::\+ Segment\+ Action} } \index { Kite\+ ::\+ Segment\+ Action@{ Kite\+ ::\+ Segment\+ Action} !Other\+ Ripup\+ Perpand\+ And\+ Push\+ Aside@{ Other\+ Ripup\+ Perpand\+ And\+ Push\+ Aside} } } \mbox { \Hypertarget { classKite_ 1_ 1SegmentAction_ a1d1cfd8ffb84e947f82999c682b666a7ad9caf9375b714a403e4af8a142cf9991} \label { classKite_ 1_ 1SegmentAction_ a1d1cfd8ffb84e947f82999c682b666a7ad9caf9375b714a403e4af8a142cf9991} }
Other\+ Ripup\+ Perpand\+ And\+ Push\+ Aside& { \bfseries \mbox { [} Mask\mbox { ]} } , see \mbox { \hyperlink { classKite_ 1_ 1SegmentAction_ a1d1cfd8ffb84e947f82999c682b666a7} { Segment\+ Action\+ ::\+ Type} } . \\
\hline
\raisebox { \heightof { T} } [0pt][0pt]{ \index { Other\+ Ripup\+ Perpand\+ And\+ Packing@{ Other\+ Ripup\+ Perpand\+ And\+ Packing} !Kite\+ ::\+ Segment\+ Action@{ Kite\+ ::\+ Segment\+ Action} } \index { Kite\+ ::\+ Segment\+ Action@{ Kite\+ ::\+ Segment\+ Action} !Other\+ Ripup\+ Perpand\+ And\+ Packing@{ Other\+ Ripup\+ Perpand\+ And\+ Packing} } } \mbox { \Hypertarget { classKite_ 1_ 1SegmentAction_ a1d1cfd8ffb84e947f82999c682b666a7aed50f579a9e6b7ac698b2edf1a5da5c8} \label { classKite_ 1_ 1SegmentAction_ a1d1cfd8ffb84e947f82999c682b666a7aed50f579a9e6b7ac698b2edf1a5da5c8} }
Other\+ Ripup\+ Perpand\+ And\+ Packing& { \bfseries \mbox { [} Mask\mbox { ]} } , see \mbox { \hyperlink { classKite_ 1_ 1SegmentAction_ a1d1cfd8ffb84e947f82999c682b666a7} { Segment\+ Action\+ ::\+ Type} } . \\
\hline
\end { DoxyEnumFields}
2018-06-06 11:42:26 -05:00
\subsubsection { Constructor \& Destructor Documentation}
2018-10-18 11:10:01 -05:00
\mbox { \Hypertarget { classKite_ 1_ 1SegmentAction_ acbeca58f8327b69a540628f299d5bd35} \label { classKite_ 1_ 1SegmentAction_ acbeca58f8327b69a540628f299d5bd35} }
\index { Kite\+ ::\+ Segment\+ Action@{ Kite\+ ::\+ Segment\+ Action} !Segment\+ Action@{ Segment\+ Action} }
\index { Segment\+ Action@{ Segment\+ Action} !Kite\+ ::\+ Segment\+ Action@{ Kite\+ ::\+ Segment\+ Action} }
\paragraph { \texorpdfstring { Segment\+ Action()} { SegmentAction()} }
{ \footnotesize \ttfamily \mbox { \hyperlink { classKite_ 1_ 1SegmentAction} { Segment\+ Action} } (\begin { DoxyParamCaption} \item [{\mbox{\hyperlink{classKite_1_1TrackElement}{Track\+Element}} $\ast$}] { segment, } \item [{unsigned int}] { type, } \item [{\textbf{ Db\+U\+::\+Unit}}] { axis\+ Hint = { \ttfamily 0} , } \item [{unsigned int}] { to\+ State = { \ttfamily 0} } \end { DoxyParamCaption} )}
2018-06-06 11:42:26 -05:00
\begin { DoxyParams} { Parameters}
{ \em segment} & On what the action is to be performed. \\
\hline
2018-10-18 11:10:01 -05:00
{ \em type} & Defines the type of action, see \mbox { \hyperlink { classKite_ 1_ 1SegmentAction_ a1d1cfd8ffb84e947f82999c682b666a7} { Segment\+ Action\+ ::\+ Type} } . \\
2018-06-06 11:42:26 -05:00
\hline
2018-10-18 11:10:01 -05:00
{ \em axis\+ Hint} & Specifies a preferred axis. \\
2018-06-06 11:42:26 -05:00
\hline
2018-10-18 11:10:01 -05:00
{ \em to\+ State} & The \mbox { \hyperlink { classKite_ 1_ 1DataNegociate_ ab7ccb6fc1f298728995250a3bbcf18c7} { Data\+ Negociate\+ ::\+ Slack\+ State} } into which the segment is to be set.\\
2018-06-06 11:42:26 -05:00
\hline
\end { DoxyParams}
Create segment action.
\subsubsection { Member Function Documentation}
2018-10-18 11:10:01 -05:00
\mbox { \Hypertarget { classKite_ 1_ 1SegmentAction_ a506a4d1cef59fc35984c1c88e0c0f6df} \label { classKite_ 1_ 1SegmentAction_ a506a4d1cef59fc35984c1c88e0c0f6df} }
\index { Kite\+ ::\+ Segment\+ Action@{ Kite\+ ::\+ Segment\+ Action} !get\+ Segment@{ get\+ Segment} }
\index { get\+ Segment@{ get\+ Segment} !Kite\+ ::\+ Segment\+ Action@{ Kite\+ ::\+ Segment\+ Action} }
\paragraph { \texorpdfstring { get\+ Segment()} { getSegment()} }
{ \footnotesize \ttfamily \mbox { \hyperlink { classKite_ 1_ 1TrackElement} { Track\+ Element} } $ \ast $ get\+ Segment (\begin { DoxyParamCaption} { } \end { DoxyParamCaption} ) const\hspace { 0.3cm} { \ttfamily [inline]} }
{ \bfseries Returns\+ :} The associated { \ttfamily segment} . \mbox { \Hypertarget { classKite_ 1_ 1SegmentAction_ a093e88be27fab140cca8ec652beab529} \label { classKite_ 1_ 1SegmentAction_ a093e88be27fab140cca8ec652beab529} }
\index { Kite\+ ::\+ Segment\+ Action@{ Kite\+ ::\+ Segment\+ Action} !get\+ Type@{ get\+ Type} }
\index { get\+ Type@{ get\+ Type} !Kite\+ ::\+ Segment\+ Action@{ Kite\+ ::\+ Segment\+ Action} }
\paragraph { \texorpdfstring { get\+ Type()} { getType()} }
{ \footnotesize \ttfamily \mbox { \hyperlink { classKite_ 1_ 1SegmentAction_ a1d1cfd8ffb84e947f82999c682b666a7} { Segment\+ Action\+ ::\+ Type} } get\+ Type (\begin { DoxyParamCaption} { } \end { DoxyParamCaption} ) const\hspace { 0.3cm} { \ttfamily [inline]} }
{ \bfseries Returns\+ :} The action to be performed. \mbox { \Hypertarget { classKite_ 1_ 1SegmentAction_ a8dc7cdf5f643a856fa5208bcfd1f8342} \label { classKite_ 1_ 1SegmentAction_ a8dc7cdf5f643a856fa5208bcfd1f8342} }
\index { Kite\+ ::\+ Segment\+ Action@{ Kite\+ ::\+ Segment\+ Action} !set\+ Axis\+ Hint@{ set\+ Axis\+ Hint} }
\index { set\+ Axis\+ Hint@{ set\+ Axis\+ Hint} !Kite\+ ::\+ Segment\+ Action@{ Kite\+ ::\+ Segment\+ Action} }
\paragraph { \texorpdfstring { set\+ Axis\+ Hint()} { setAxisHint()} }
{ \footnotesize \ttfamily void set\+ Axis\+ Hint (\begin { DoxyParamCaption} \item [{\textbf{ Db\+U\+::\+Unit}}] { axis } \end { DoxyParamCaption} )\hspace { 0.3cm} { \ttfamily [inline]} }
The axis preferred position to be transmitted to the generated event. The transmition will be effective { \itshape only} if the Segment\+ Action\+ ::\+ Type\+ ::\+ Axis\+ Hint flag is set. \mbox { \Hypertarget { classKite_ 1_ 1SegmentAction_ a4e1f44319a9a0a413fe1413a87ec78bd} \label { classKite_ 1_ 1SegmentAction_ a4e1f44319a9a0a413fe1413a87ec78bd} }
\index { Kite\+ ::\+ Segment\+ Action@{ Kite\+ ::\+ Segment\+ Action} !set\+ Flag@{ set\+ Flag} }
\index { set\+ Flag@{ set\+ Flag} !Kite\+ ::\+ Segment\+ Action@{ Kite\+ ::\+ Segment\+ Action} }
\paragraph { \texorpdfstring { set\+ Flag()} { setFlag()} }
{ \footnotesize \ttfamily unsigned int set\+ Flag (\begin { DoxyParamCaption} \item [{unsigned int}] { flags } \end { DoxyParamCaption} )\hspace { 0.3cm} { \ttfamily [inline]} }
Allow to change the action type by indivually setting up the flags. \mbox { \Hypertarget { classKite_ 1_ 1SegmentAction_ a324f17f0f5a09b76344eb2e003695d74} \label { classKite_ 1_ 1SegmentAction_ a324f17f0f5a09b76344eb2e003695d74} }
\index { Kite\+ ::\+ Segment\+ Action@{ Kite\+ ::\+ Segment\+ Action} !do\+ Action@{ do\+ Action} }
\index { do\+ Action@{ do\+ Action} !Kite\+ ::\+ Segment\+ Action@{ Kite\+ ::\+ Segment\+ Action} }
\paragraph { \texorpdfstring { do\+ Action()} { doAction()} }
{ \footnotesize \ttfamily void do\+ Action (\begin { DoxyParamCaption} \item [{\mbox{\hyperlink{classKite_1_1RoutingEventQueue}{Routing\+Event\+Queue}} \&}] { queue } \end { DoxyParamCaption} )}
2018-06-06 11:42:26 -05:00
Actually perform the action. That is, build and queue the appropriate event for the segment.
2018-10-18 11:10:01 -05:00
The documentation for this class was generated from the following files\+ :\begin { DoxyCompactItemize}
2018-06-06 11:42:26 -05:00
\item
2018-10-18 11:10:01 -05:00
Segment\+ Fsm.\+ h\item
Segment\+ Fsm.\+ cpp\item
Segment\+ Fsm.\+ dox\end { DoxyCompactItemize}