598 lines
39 KiB
TeX
598 lines
39 KiB
TeX
\hypertarget{classKite_1_1RoutingEvent}{\subsection{Routing\-Event Class Reference}
|
|
\label{classKite_1_1RoutingEvent}\index{Routing\-Event@{Routing\-Event}}
|
|
}
|
|
|
|
|
|
Atomic Placement Request for a \hyperlink{classKite_1_1TrackSegment}{Track\-Segment}.
|
|
|
|
|
|
\subsubsection*{Classes}
|
|
\begin{DoxyCompactItemize}
|
|
\item
|
|
class \hyperlink{classKite_1_1RoutingEvent_1_1Key}{Key}
|
|
\begin{DoxyCompactList}\small\item\em \hyperlink{classKite_1_1RoutingEvent}{Routing\-Event} cached key for maps. \end{DoxyCompactList}\end{DoxyCompactItemize}
|
|
\subsubsection*{Public Types}
|
|
\begin{DoxyCompactItemize}
|
|
\item
|
|
enum \hyperlink{classKite_1_1RoutingEvent_a46c8a310cf4c094f8c80e1cb8dc1f911}{Mode} \{ \\*
|
|
\hyperlink{classKite_1_1RoutingEvent_a46c8a310cf4c094f8c80e1cb8dc1f911a3980b02882c46c9bd4caf15040b85d1a}{Negociate} =1,
|
|
\\*
|
|
\hyperlink{classKite_1_1RoutingEvent_a46c8a310cf4c094f8c80e1cb8dc1f911a5afe185b48d7acf013dd5ccadc5b2414}{Pack} =2,
|
|
\\*
|
|
\hyperlink{classKite_1_1RoutingEvent_a46c8a310cf4c094f8c80e1cb8dc1f911a27b403019a93f9f127cf64a0688a8288}{Repair} =3
|
|
\}
|
|
\end{DoxyCompactItemize}
|
|
\subsubsection*{Public Member Functions}
|
|
\begin{DoxyCompactItemize}
|
|
\item
|
|
\hyperlink{classKite_1_1RoutingEvent}{Routing\-Event} $\ast$ \hyperlink{classKite_1_1RoutingEvent_af942901baf5713aced985265b4f2c478}{clone} () const
|
|
\item
|
|
void \hyperlink{classKite_1_1RoutingEvent_a3a80b6032f86a56bec74609034b3246f}{destroy} ()
|
|
\item
|
|
bool \hyperlink{classKite_1_1RoutingEvent_ac98b3ddc1eb04076dc3539ecf107eaa2}{is\-Cloned} () const
|
|
\item
|
|
bool \hyperlink{classKite_1_1RoutingEvent_aac1b70a2ed67ead038c4d3f5ac4d8a81}{is\-Valid} () const
|
|
\item
|
|
bool \hyperlink{classKite_1_1RoutingEvent_a6e4a75ad6409b428a1710998c0793832}{is\-Unimplemented} () const
|
|
\item
|
|
bool \hyperlink{classKite_1_1RoutingEvent_afab9297dbf7887d82524362ab73d2ba7}{is\-Processed} () const
|
|
\item
|
|
bool \hyperlink{classKite_1_1RoutingEvent_aa70ca8c8d12fac70a98436e532c5ff79}{is\-Disabled} () const
|
|
\item
|
|
bool \hyperlink{classKite_1_1RoutingEvent_aa3ab3a65fb30053c42b64af5ff42b476}{is\-Forced\-To\-Hint} () const
|
|
\item
|
|
bool \hyperlink{classKite_1_1RoutingEvent_a8494e99c378a54e8e797200adbc4f7f9}{is\-Riped\-By\-Local} () const
|
|
\item
|
|
bool \hyperlink{classKite_1_1RoutingEvent_a06bda61b1c19277678cf2c3a57686aee}{get\-Mode} () const
|
|
\item
|
|
bool \hyperlink{classKite_1_1RoutingEvent_a0556022968c52a701fe1d3f21fde28ca}{can\-Minimize} () const
|
|
\item
|
|
unsigned int \hyperlink{classKite_1_1RoutingEvent_aeff84fdf6cc443a2c7a7bd33b03e871f}{get\-State} () const
|
|
\item
|
|
const \hyperlink{classKite_1_1RoutingEvent_1_1Key}{Key} \& \hyperlink{classKite_1_1RoutingEvent_ab17b3f4c7e2558bc29ea026925fd6fd6}{get\-Key} () const
|
|
\item
|
|
\hyperlink{classKite_1_1TrackElement}{Track\-Element} $\ast$ \hyperlink{classKite_1_1RoutingEvent_ad2d369e354ca1f9ff118851da69c7efc}{get\-Segment} () const
|
|
\item
|
|
const vector$<$ \hyperlink{classKite_1_1TrackElement}{Track\-Element} $\ast$ $>$ \& \hyperlink{classKite_1_1RoutingEvent_a8e3a42588bbadef86d3023edcabe3fd3}{get\-Perpandiculars} () const
|
|
\item
|
|
{\bf Db\-U\-::\-Unit} \hyperlink{classKite_1_1RoutingEvent_a2c1fad09850594872cf9e0f017f8034c}{get\-Axis\-Hint} () const
|
|
\item
|
|
{\bf Db\-U\-::\-Unit} \hyperlink{classKite_1_1RoutingEvent_a0d42d996a3a3d013f775949296513428}{get\-Axis\-History} () const
|
|
\item
|
|
long \hyperlink{classKite_1_1RoutingEvent_ab1d579993140867de7226e94049047ed}{get\-Axis\-Weight} ({\bf Db\-U\-::\-Unit}) const
|
|
\item
|
|
const {\bf Interval} \& \hyperlink{classKite_1_1RoutingEvent_a0414e4b8e60741abb6ac0180ed2aba35}{get\-Constraints} () const
|
|
\item
|
|
const {\bf Interval} \& \hyperlink{classKite_1_1RoutingEvent_a652d013f5e2df77c83fb0fcf00f1b6d2}{get\-Optimal} () const
|
|
\item
|
|
float \hyperlink{classKite_1_1RoutingEvent_aeb59bdd62b3cfdb9691fc65ec888335a}{get\-Priority} () const
|
|
\item
|
|
unsigned int \hyperlink{classKite_1_1RoutingEvent_aff63485acfcd4f98a036508264b6b14e}{get\-Tracks\-Nb} () const
|
|
\item
|
|
unsigned int \hyperlink{classKite_1_1RoutingEvent_ae3c7f769774daa40e1678637037b502c}{get\-Insert\-State} () const
|
|
\item
|
|
unsigned int \hyperlink{classKite_1_1RoutingEvent_a632af4915847b1e60ba922422d19f0b5}{get\-Event\-Level} () const
|
|
\item
|
|
void \hyperlink{classKite_1_1RoutingEvent_a5bd93abe1416952ace15a98dbeeed124}{revalidate} ()
|
|
\item
|
|
void \hyperlink{classKite_1_1RoutingEvent_a14468bece068cbc5221f057226ee8955}{update\-Key} ()
|
|
\item
|
|
void \hyperlink{classKite_1_1RoutingEvent_a6add4f520081c698421481bf8fe0ad1f}{process} (\hyperlink{classKite_1_1RoutingEventQueue}{Routing\-Event\-Queue} \&, \hyperlink{classKite_1_1RoutingEventHistory}{Routing\-Event\-History} \&, \hyperlink{classKite_1_1RoutingEventLoop}{Routing\-Event\-Loop} \&)
|
|
\item
|
|
void \hyperlink{classKite_1_1RoutingEvent_ae2eddb4497661b6319616a70c4acd165}{set\-Segment} (\hyperlink{classKite_1_1TrackElement}{Track\-Element} $\ast$)
|
|
\item
|
|
\hyperlink{classKite_1_1RoutingEvent}{Routing\-Event} $\ast$ \hyperlink{classKite_1_1RoutingEvent_abf2d02f18f96183fc6e78f3e6dc8cbf6}{reschedule} (\hyperlink{classKite_1_1RoutingEventQueue}{Routing\-Event\-Queue} \&, unsigned int event\-Level)
|
|
\item
|
|
void \hyperlink{classKite_1_1RoutingEvent_a85982827650655ef9d6e1206874ead69}{set\-Mode} (unsigned int)
|
|
\item
|
|
void \hyperlink{classKite_1_1RoutingEvent_af7ce7f73feb28f3df8f3180632a2f731}{set\-State} (unsigned int)
|
|
\item
|
|
void \hyperlink{classKite_1_1RoutingEvent_a02a3f1f2801d4ebbbe676e062878faae}{set\-Axis\-Hint\-From\-Parent} ()
|
|
\item
|
|
void \hyperlink{classKite_1_1RoutingEvent_a86c4b1b3d406c12667188ad44ce366db}{inc\-Insert\-State} ()
|
|
\item
|
|
void \hyperlink{classKite_1_1RoutingEvent_ae35f271a106f6c6a6039e4a6f8bf4009}{reset\-Insert\-State} ()
|
|
\item
|
|
void \hyperlink{classKite_1_1RoutingEvent_a70a9ecd62b806eff001aa602132cc630}{set\-Event\-Level} (unsigned int)
|
|
\end{DoxyCompactItemize}
|
|
\subsubsection*{Static Public Member Functions}
|
|
\begin{DoxyCompactItemize}
|
|
\item
|
|
static unsigned int \hyperlink{classKite_1_1RoutingEvent_a110307ff26b264ea83f69aa1bab23626}{get\-Stage} ()
|
|
\item
|
|
static size\-\_\-t \hyperlink{classKite_1_1RoutingEvent_a91c8bc1a6bdb1b15c3c084ebfd38af47}{get\-Allocateds} ()
|
|
\item
|
|
static size\-\_\-t \hyperlink{classKite_1_1RoutingEvent_a0a3993330692b7eb816e9c776d161ad1}{get\-Processeds} ()
|
|
\item
|
|
static void \hyperlink{classKite_1_1RoutingEvent_a6cf10bb4e4488948e4c616c55a8e6514}{reset\-Processeds} ()
|
|
\item
|
|
static void \hyperlink{classKite_1_1RoutingEvent_a7300c33d439e453796b170eeaf4bf04d}{set\-Stage} (unsigned int)
|
|
\item
|
|
static \hyperlink{classKite_1_1RoutingEvent}{Routing\-Event} $\ast$ \hyperlink{classKite_1_1RoutingEvent_a131ef83c7a57a64aed4f698c0433dffa}{create} (\hyperlink{classKite_1_1TrackElement}{Track\-Element} $\ast$, unsigned int mode=\hyperlink{classKite_1_1RoutingEvent_a46c8a310cf4c094f8c80e1cb8dc1f911a3980b02882c46c9bd4caf15040b85d1a}{Negociate})
|
|
\end{DoxyCompactItemize}
|
|
|
|
|
|
\subsubsection{Detailed Description}
|
|
Atomic Placement Request for a \hyperlink{classKite_1_1TrackSegment}{Track\-Segment}.
|
|
|
|
The track\-Frees attribute has to be reviewed not sure it's still useful.
|
|
|
|
Cached key for stable sorting, see \hyperlink{classKite_1_1RoutingEvent_1_1Key}{Routing\-Event\-::\-Key}.
|
|
|
|
\subsubsection{Member Enumeration Documentation}
|
|
\hypertarget{classKite_1_1RoutingEvent_a46c8a310cf4c094f8c80e1cb8dc1f911}{\index{Kite\-::\-Routing\-Event@{Kite\-::\-Routing\-Event}!Mode@{Mode}}
|
|
\index{Mode@{Mode}!Kite::RoutingEvent@{Kite\-::\-Routing\-Event}}
|
|
\paragraph[{Mode}]{\setlength{\rightskip}{0pt plus 5cm}enum {\bf Mode}}}\label{classKite_1_1RoutingEvent_a46c8a310cf4c094f8c80e1cb8dc1f911}
|
|
The working mode of the router, affect how events are to be handled. \begin{Desc}
|
|
\item[Enumerator]\par
|
|
\begin{description}
|
|
\index{Negociate@{Negociate}!Kite\-::\-Routing\-Event@{Kite\-::\-Routing\-Event}}\index{Kite\-::\-Routing\-Event@{Kite\-::\-Routing\-Event}!Negociate@{Negociate}}\item[{\em
|
|
\hypertarget{classKite_1_1RoutingEvent_a46c8a310cf4c094f8c80e1cb8dc1f911a3980b02882c46c9bd4caf15040b85d1a}{Negociate}\label{classKite_1_1RoutingEvent_a46c8a310cf4c094f8c80e1cb8dc1f911a3980b02882c46c9bd4caf15040b85d1a}
|
|
}]This is the normal mode of operation, topological modifications and ripup are enableds. \index{Pack@{Pack}!Kite\-::\-Routing\-Event@{Kite\-::\-Routing\-Event}}\index{Kite\-::\-Routing\-Event@{Kite\-::\-Routing\-Event}!Pack@{Pack}}\item[{\em
|
|
\hypertarget{classKite_1_1RoutingEvent_a46c8a310cf4c094f8c80e1cb8dc1f911a5afe185b48d7acf013dd5ccadc5b2414}{Pack}\label{classKite_1_1RoutingEvent_a46c8a310cf4c094f8c80e1cb8dc1f911a5afe185b48d7acf013dd5ccadc5b2414}
|
|
}]First post-\/processing step. For each segment, tries to find a more compact position for a segment, but without riping any others. \index{Repair@{Repair}!Kite\-::\-Routing\-Event@{Kite\-::\-Routing\-Event}}\index{Kite\-::\-Routing\-Event@{Kite\-::\-Routing\-Event}!Repair@{Repair}}\item[{\em
|
|
\hypertarget{classKite_1_1RoutingEvent_a46c8a310cf4c094f8c80e1cb8dc1f911a27b403019a93f9f127cf64a0688a8288}{Repair}\label{classKite_1_1RoutingEvent_a46c8a310cf4c094f8c80e1cb8dc1f911a27b403019a93f9f127cf64a0688a8288}
|
|
}]Second post-\/processing step, try to find a suitable location for a segment more aggressively. \end{description}
|
|
\end{Desc}
|
|
|
|
|
|
\subsubsection{Member Function Documentation}
|
|
\hypertarget{classKite_1_1RoutingEvent_a110307ff26b264ea83f69aa1bab23626}{\index{Kite\-::\-Routing\-Event@{Kite\-::\-Routing\-Event}!get\-Stage@{get\-Stage}}
|
|
\index{get\-Stage@{get\-Stage}!Kite::RoutingEvent@{Kite\-::\-Routing\-Event}}
|
|
\paragraph[{get\-Stage}]{\setlength{\rightskip}{0pt plus 5cm}unsigned int get\-Stage (
|
|
\begin{DoxyParamCaption}
|
|
{}
|
|
\end{DoxyParamCaption}
|
|
)\hspace{0.3cm}{\ttfamily [static]}}}\label{classKite_1_1RoutingEvent_a110307ff26b264ea83f69aa1bab23626}
|
|
{\bfseries Returns\-:} The stage the router is in (see \hyperlink{classKite_1_1RoutingEvent_a46c8a310cf4c094f8c80e1cb8dc1f911}{Routing\-Event\-::\-Mode}).
|
|
|
|
Referenced by Segment\-Action\-::do\-Action(), Manipulator\-::repack\-Perpandiculars(), Routing\-Event\-::reschedule(), Routing\-Event\-::revalidate(), Segment\-Fsm\-::\-Segment\-Fsm(), and Routing\-Event\-::set\-Axis\-Hint\-From\-Parent().
|
|
|
|
\hypertarget{classKite_1_1RoutingEvent_a91c8bc1a6bdb1b15c3c084ebfd38af47}{\index{Kite\-::\-Routing\-Event@{Kite\-::\-Routing\-Event}!get\-Allocateds@{get\-Allocateds}}
|
|
\index{get\-Allocateds@{get\-Allocateds}!Kite::RoutingEvent@{Kite\-::\-Routing\-Event}}
|
|
\paragraph[{get\-Allocateds}]{\setlength{\rightskip}{0pt plus 5cm}size\-\_\-t get\-Allocateds (
|
|
\begin{DoxyParamCaption}
|
|
{}
|
|
\end{DoxyParamCaption}
|
|
)\hspace{0.3cm}{\ttfamily [static]}}}\label{classKite_1_1RoutingEvent_a91c8bc1a6bdb1b15c3c084ebfd38af47}
|
|
{\bfseries Returns\-:} The number of \hyperlink{classKite_1_1RoutingEvent}{Routing\-Event} currently allocateds. \hypertarget{classKite_1_1RoutingEvent_a0a3993330692b7eb816e9c776d161ad1}{\index{Kite\-::\-Routing\-Event@{Kite\-::\-Routing\-Event}!get\-Processeds@{get\-Processeds}}
|
|
\index{get\-Processeds@{get\-Processeds}!Kite::RoutingEvent@{Kite\-::\-Routing\-Event}}
|
|
\paragraph[{get\-Processeds}]{\setlength{\rightskip}{0pt plus 5cm}size\-\_\-t get\-Processeds (
|
|
\begin{DoxyParamCaption}
|
|
{}
|
|
\end{DoxyParamCaption}
|
|
)\hspace{0.3cm}{\ttfamily [static]}}}\label{classKite_1_1RoutingEvent_a0a3993330692b7eb816e9c776d161ad1}
|
|
{\bfseries Returns\-:} The number of \hyperlink{classKite_1_1RoutingEvent}{Routing\-Event} that have been processeds since the last call to \hyperlink{classKite_1_1RoutingEvent_a6cf10bb4e4488948e4c616c55a8e6514}{Routing\-Event\-::reset\-Processeds()}.
|
|
|
|
Referenced by Negociate\-Window\-::print\-Statistics(), Routing\-Event\-::process(), and Routing\-Event\-Loop\-::update().
|
|
|
|
\hypertarget{classKite_1_1RoutingEvent_a6cf10bb4e4488948e4c616c55a8e6514}{\index{Kite\-::\-Routing\-Event@{Kite\-::\-Routing\-Event}!reset\-Processeds@{reset\-Processeds}}
|
|
\index{reset\-Processeds@{reset\-Processeds}!Kite::RoutingEvent@{Kite\-::\-Routing\-Event}}
|
|
\paragraph[{reset\-Processeds}]{\setlength{\rightskip}{0pt plus 5cm}void reset\-Processeds (
|
|
\begin{DoxyParamCaption}
|
|
{}
|
|
\end{DoxyParamCaption}
|
|
)\hspace{0.3cm}{\ttfamily [static]}}}\label{classKite_1_1RoutingEvent_a6cf10bb4e4488948e4c616c55a8e6514}
|
|
{\bfseries Returns\-:} Reset the number of processeds events.
|
|
|
|
Referenced by Negociate\-Window\-::run().
|
|
|
|
\hypertarget{classKite_1_1RoutingEvent_a7300c33d439e453796b170eeaf4bf04d}{\index{Kite\-::\-Routing\-Event@{Kite\-::\-Routing\-Event}!set\-Stage@{set\-Stage}}
|
|
\index{set\-Stage@{set\-Stage}!Kite::RoutingEvent@{Kite\-::\-Routing\-Event}}
|
|
\paragraph[{set\-Stage}]{\setlength{\rightskip}{0pt plus 5cm}unsigned int set\-Stage (
|
|
\begin{DoxyParamCaption}
|
|
\item[{unsigned int}]{mode}
|
|
\end{DoxyParamCaption}
|
|
)\hspace{0.3cm}{\ttfamily [static]}}}\label{classKite_1_1RoutingEvent_a7300c33d439e453796b170eeaf4bf04d}
|
|
Sets the router's stage (see \hyperlink{classKite_1_1RoutingEvent_a46c8a310cf4c094f8c80e1cb8dc1f911}{Routing\-Event\-::\-Mode}). \hypertarget{classKite_1_1RoutingEvent_a131ef83c7a57a64aed4f698c0433dffa}{\index{Kite\-::\-Routing\-Event@{Kite\-::\-Routing\-Event}!create@{create}}
|
|
\index{create@{create}!Kite::RoutingEvent@{Kite\-::\-Routing\-Event}}
|
|
\paragraph[{create}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Routing\-Event} $\ast$ create (
|
|
\begin{DoxyParamCaption}
|
|
\item[{{\bf Track\-Element} $\ast$}]{element, }
|
|
\item[{unsigned int}]{mode = {\ttfamily {\bf Negociate}}}
|
|
\end{DoxyParamCaption}
|
|
)\hspace{0.3cm}{\ttfamily [static]}}}\label{classKite_1_1RoutingEvent_a131ef83c7a57a64aed4f698c0433dffa}
|
|
|
|
\begin{DoxyParams}{Parameters}
|
|
{\em element} & The element for which to create the event. \\
|
|
\hline
|
|
{\em mode} & The mode into which this event will be valid.\\
|
|
\hline
|
|
\end{DoxyParams}
|
|
\hyperlink{classKite_1_1RoutingEvent}{Routing\-Event} constructor.
|
|
|
|
Referenced by Routing\-Event\-Queue\-::add(), and Routing\-Event\-Queue\-::load().
|
|
|
|
\hypertarget{classKite_1_1RoutingEvent_af942901baf5713aced985265b4f2c478}{\index{Kite\-::\-Routing\-Event@{Kite\-::\-Routing\-Event}!clone@{clone}}
|
|
\index{clone@{clone}!Kite::RoutingEvent@{Kite\-::\-Routing\-Event}}
|
|
\paragraph[{clone}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Routing\-Event} $\ast$ clone (
|
|
\begin{DoxyParamCaption}
|
|
{}
|
|
\end{DoxyParamCaption}
|
|
) const}}\label{classKite_1_1RoutingEvent_af942901baf5713aced985265b4f2c478}
|
|
\begin{DoxyReturn}{Returns}
|
|
A clone of the event.
|
|
\end{DoxyReturn}
|
|
Cloning an event is slightly different from copying it (which is forbidden). There can be multiple events for one {\ttfamily element} but only one must be active at a time. This is a cheap way of implementing the rescheduling mechanism. The original event remains the active one, but it's cloned flag is raised. The cloned event is created inactive and with a null {\itshape event\-Level}.
|
|
|
|
Referenced by Routing\-Event\-::reschedule().
|
|
|
|
\hypertarget{classKite_1_1RoutingEvent_a3a80b6032f86a56bec74609034b3246f}{\index{Kite\-::\-Routing\-Event@{Kite\-::\-Routing\-Event}!destroy@{destroy}}
|
|
\index{destroy@{destroy}!Kite::RoutingEvent@{Kite\-::\-Routing\-Event}}
|
|
\paragraph[{destroy}]{\setlength{\rightskip}{0pt plus 5cm}void destroy (
|
|
\begin{DoxyParamCaption}
|
|
{}
|
|
\end{DoxyParamCaption}
|
|
)}}\label{classKite_1_1RoutingEvent_a3a80b6032f86a56bec74609034b3246f}
|
|
The destructor. \hypertarget{classKite_1_1RoutingEvent_ac98b3ddc1eb04076dc3539ecf107eaa2}{\index{Kite\-::\-Routing\-Event@{Kite\-::\-Routing\-Event}!is\-Cloned@{is\-Cloned}}
|
|
\index{is\-Cloned@{is\-Cloned}!Kite::RoutingEvent@{Kite\-::\-Routing\-Event}}
|
|
\paragraph[{is\-Cloned}]{\setlength{\rightskip}{0pt plus 5cm}bool is\-Cloned (
|
|
\begin{DoxyParamCaption}
|
|
{}
|
|
\end{DoxyParamCaption}
|
|
) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classKite_1_1RoutingEvent_ac98b3ddc1eb04076dc3539ecf107eaa2}
|
|
{\bfseries Returns\-:} {\bfseries true} if this event has been cloned at least once. \hypertarget{classKite_1_1RoutingEvent_aac1b70a2ed67ead038c4d3f5ac4d8a81}{\index{Kite\-::\-Routing\-Event@{Kite\-::\-Routing\-Event}!is\-Valid@{is\-Valid}}
|
|
\index{is\-Valid@{is\-Valid}!Kite::RoutingEvent@{Kite\-::\-Routing\-Event}}
|
|
\paragraph[{is\-Valid}]{\setlength{\rightskip}{0pt plus 5cm}bool is\-Valid (
|
|
\begin{DoxyParamCaption}
|
|
{}
|
|
\end{DoxyParamCaption}
|
|
) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classKite_1_1RoutingEvent_aac1b70a2ed67ead038c4d3f5ac4d8a81}
|
|
{\bfseries Returns\-:} {\bfseries true} if the cached informations from the {\itshape element} are valid (i.\-e. the element has not been changed). \hypertarget{classKite_1_1RoutingEvent_a6e4a75ad6409b428a1710998c0793832}{\index{Kite\-::\-Routing\-Event@{Kite\-::\-Routing\-Event}!is\-Unimplemented@{is\-Unimplemented}}
|
|
\index{is\-Unimplemented@{is\-Unimplemented}!Kite::RoutingEvent@{Kite\-::\-Routing\-Event}}
|
|
\paragraph[{is\-Unimplemented}]{\setlength{\rightskip}{0pt plus 5cm}bool is\-Unimplemented (
|
|
\begin{DoxyParamCaption}
|
|
{}
|
|
\end{DoxyParamCaption}
|
|
) const}}\label{classKite_1_1RoutingEvent_a6e4a75ad6409b428a1710998c0793832}
|
|
{\bfseries Returns\-:} {\bfseries true} if the event has tried to use an unimplemented feature.
|
|
|
|
Referenced by Manipulator\-::can\-Ripup(), and Routing\-Event\-::reschedule().
|
|
|
|
\hypertarget{classKite_1_1RoutingEvent_afab9297dbf7887d82524362ab73d2ba7}{\index{Kite\-::\-Routing\-Event@{Kite\-::\-Routing\-Event}!is\-Processed@{is\-Processed}}
|
|
\index{is\-Processed@{is\-Processed}!Kite::RoutingEvent@{Kite\-::\-Routing\-Event}}
|
|
\paragraph[{is\-Processed}]{\setlength{\rightskip}{0pt plus 5cm}bool is\-Processed (
|
|
\begin{DoxyParamCaption}
|
|
{}
|
|
\end{DoxyParamCaption}
|
|
) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classKite_1_1RoutingEvent_afab9297dbf7887d82524362ab73d2ba7}
|
|
{\bfseries Returns\-:} {\bfseries true} if the event has been processed.
|
|
|
|
Referenced by Routing\-Event\-::process(), and Routing\-Event\-::reschedule().
|
|
|
|
\hypertarget{classKite_1_1RoutingEvent_aa70ca8c8d12fac70a98436e532c5ff79}{\index{Kite\-::\-Routing\-Event@{Kite\-::\-Routing\-Event}!is\-Disabled@{is\-Disabled}}
|
|
\index{is\-Disabled@{is\-Disabled}!Kite::RoutingEvent@{Kite\-::\-Routing\-Event}}
|
|
\paragraph[{is\-Disabled}]{\setlength{\rightskip}{0pt plus 5cm}bool is\-Disabled (
|
|
\begin{DoxyParamCaption}
|
|
{}
|
|
\end{DoxyParamCaption}
|
|
) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classKite_1_1RoutingEvent_aa70ca8c8d12fac70a98436e532c5ff79}
|
|
{\bfseries Returns\-:} {\bfseries true} if the event is {\bfseries not} the active one. It should be discarted by the algorithm.
|
|
|
|
Referenced by Routing\-Event\-::process().
|
|
|
|
\hypertarget{classKite_1_1RoutingEvent_aa3ab3a65fb30053c42b64af5ff42b476}{\index{Kite\-::\-Routing\-Event@{Kite\-::\-Routing\-Event}!is\-Forced\-To\-Hint@{is\-Forced\-To\-Hint}}
|
|
\index{is\-Forced\-To\-Hint@{is\-Forced\-To\-Hint}!Kite::RoutingEvent@{Kite\-::\-Routing\-Event}}
|
|
\paragraph[{is\-Forced\-To\-Hint}]{\setlength{\rightskip}{0pt plus 5cm}bool is\-Forced\-To\-Hint (
|
|
\begin{DoxyParamCaption}
|
|
{}
|
|
\end{DoxyParamCaption}
|
|
) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classKite_1_1RoutingEvent_aa3ab3a65fb30053c42b64af5ff42b476}
|
|
{\bfseries Returns\-:} {\bfseries true} the {\itshape element} must be placed exacltly on the given axis hint. \hypertarget{classKite_1_1RoutingEvent_a8494e99c378a54e8e797200adbc4f7f9}{\index{Kite\-::\-Routing\-Event@{Kite\-::\-Routing\-Event}!is\-Riped\-By\-Local@{is\-Riped\-By\-Local}}
|
|
\index{is\-Riped\-By\-Local@{is\-Riped\-By\-Local}!Kite::RoutingEvent@{Kite\-::\-Routing\-Event}}
|
|
\paragraph[{is\-Riped\-By\-Local}]{\setlength{\rightskip}{0pt plus 5cm}bool is\-Riped\-By\-Local (
|
|
\begin{DoxyParamCaption}
|
|
{}
|
|
\end{DoxyParamCaption}
|
|
) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classKite_1_1RoutingEvent_a8494e99c378a54e8e797200adbc4f7f9}
|
|
{\bfseries Returns\-:} {\bfseries true} the {\itshape element} (global) has been riped up to place a local one. \hypertarget{classKite_1_1RoutingEvent_a06bda61b1c19277678cf2c3a57686aee}{\index{Kite\-::\-Routing\-Event@{Kite\-::\-Routing\-Event}!get\-Mode@{get\-Mode}}
|
|
\index{get\-Mode@{get\-Mode}!Kite::RoutingEvent@{Kite\-::\-Routing\-Event}}
|
|
\paragraph[{get\-Mode}]{\setlength{\rightskip}{0pt plus 5cm}unsigned int get\-Mode (
|
|
\begin{DoxyParamCaption}
|
|
{}
|
|
\end{DoxyParamCaption}
|
|
) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classKite_1_1RoutingEvent_a06bda61b1c19277678cf2c3a57686aee}
|
|
{\bfseries Returns\-:} the mode the event must be taken into account to. \hypertarget{classKite_1_1RoutingEvent_a0556022968c52a701fe1d3f21fde28ca}{\index{Kite\-::\-Routing\-Event@{Kite\-::\-Routing\-Event}!can\-Minimize@{can\-Minimize}}
|
|
\index{can\-Minimize@{can\-Minimize}!Kite::RoutingEvent@{Kite\-::\-Routing\-Event}}
|
|
\paragraph[{can\-Minimize}]{\setlength{\rightskip}{0pt plus 5cm}bool can\-Minimize (
|
|
\begin{DoxyParamCaption}
|
|
{}
|
|
\end{DoxyParamCaption}
|
|
) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classKite_1_1RoutingEvent_a0556022968c52a701fe1d3f21fde28ca}
|
|
{\bfseries Returns\-:} {\bfseries true} the {\itshape element} could still be minimized.
|
|
|
|
Referenced by Manipulator\-::minimize().
|
|
|
|
\hypertarget{classKite_1_1RoutingEvent_aeff84fdf6cc443a2c7a7bd33b03e871f}{\index{Kite\-::\-Routing\-Event@{Kite\-::\-Routing\-Event}!get\-State@{get\-State}}
|
|
\index{get\-State@{get\-State}!Kite::RoutingEvent@{Kite\-::\-Routing\-Event}}
|
|
\paragraph[{get\-State}]{\setlength{\rightskip}{0pt plus 5cm}unsigned int get\-State (
|
|
\begin{DoxyParamCaption}
|
|
{}
|
|
\end{DoxyParamCaption}
|
|
) const}}\label{classKite_1_1RoutingEvent_aeff84fdf6cc443a2c7a7bd33b03e871f}
|
|
{\bfseries Returns\-:} the mode the router is currently in.
|
|
|
|
Referenced by Routing\-Event\-::is\-Unimplemented().
|
|
|
|
\hypertarget{classKite_1_1RoutingEvent_ab17b3f4c7e2558bc29ea026925fd6fd6}{\index{Kite\-::\-Routing\-Event@{Kite\-::\-Routing\-Event}!get\-Key@{get\-Key}}
|
|
\index{get\-Key@{get\-Key}!Kite::RoutingEvent@{Kite\-::\-Routing\-Event}}
|
|
\paragraph[{get\-Key}]{\setlength{\rightskip}{0pt plus 5cm}const {\bf Key} \& get\-Key (
|
|
\begin{DoxyParamCaption}
|
|
{}
|
|
\end{DoxyParamCaption}
|
|
) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classKite_1_1RoutingEvent_ab17b3f4c7e2558bc29ea026925fd6fd6}
|
|
{\bfseries Returns\-:} The {\itshape key} to use in map \& queue for this event. \hypertarget{classKite_1_1RoutingEvent_ad2d369e354ca1f9ff118851da69c7efc}{\index{Kite\-::\-Routing\-Event@{Kite\-::\-Routing\-Event}!get\-Segment@{get\-Segment}}
|
|
\index{get\-Segment@{get\-Segment}!Kite::RoutingEvent@{Kite\-::\-Routing\-Event}}
|
|
\paragraph[{get\-Segment}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Track\-Element} $\ast$ get\-Segment (
|
|
\begin{DoxyParamCaption}
|
|
{}
|
|
\end{DoxyParamCaption}
|
|
) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classKite_1_1RoutingEvent_ad2d369e354ca1f9ff118851da69c7efc}
|
|
{\bfseries Returns\-:} The associated segment.
|
|
|
|
Referenced by Segment\-Fsm\-::conflict\-Solve\-By\-History(), Segment\-Fsm\-::conflict\-Solve\-By\-Placeds(), Segment\-Fsm\-::desaturate(), Segment\-Fsm\-::do\-Actions(), Segment\-Fsm\-::insert\-In\-Track(), Manipulator\-::ripup\-Perpandiculars(), Segment\-Fsm\-::\-Segment\-Fsm(), Segment\-Fsm\-::slacken\-Topology(), and Segment\-Fsm\-::solve\-Full\-Blockages().
|
|
|
|
\hypertarget{classKite_1_1RoutingEvent_a8e3a42588bbadef86d3023edcabe3fd3}{\index{Kite\-::\-Routing\-Event@{Kite\-::\-Routing\-Event}!get\-Perpandiculars@{get\-Perpandiculars}}
|
|
\index{get\-Perpandiculars@{get\-Perpandiculars}!Kite::RoutingEvent@{Kite\-::\-Routing\-Event}}
|
|
\paragraph[{get\-Perpandiculars}]{\setlength{\rightskip}{0pt plus 5cm}const vector$<$ {\bf Track\-Element} $\ast$ $>$ \& get\-Perpandiculars (
|
|
\begin{DoxyParamCaption}
|
|
{}
|
|
\end{DoxyParamCaption}
|
|
) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classKite_1_1RoutingEvent_a8e3a42588bbadef86d3023edcabe3fd3}
|
|
{\bfseries Returns\-:} A vector of cached perpandiculars to the associated segment.
|
|
|
|
Referenced by Manipulator\-::minimize(), Manipulator\-::repack\-Perpandiculars(), and Manipulator\-::ripup\-Perpandiculars().
|
|
|
|
\hypertarget{classKite_1_1RoutingEvent_a2c1fad09850594872cf9e0f017f8034c}{\index{Kite\-::\-Routing\-Event@{Kite\-::\-Routing\-Event}!get\-Axis\-Hint@{get\-Axis\-Hint}}
|
|
\index{get\-Axis\-Hint@{get\-Axis\-Hint}!Kite::RoutingEvent@{Kite\-::\-Routing\-Event}}
|
|
\paragraph[{get\-Axis\-Hint}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Db\-U\-::\-Unit} get\-Axis\-Hint (
|
|
\begin{DoxyParamCaption}
|
|
{}
|
|
\end{DoxyParamCaption}
|
|
) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classKite_1_1RoutingEvent_a2c1fad09850594872cf9e0f017f8034c}
|
|
{\bfseries Returns\-:} The preferred position for the segment axis.
|
|
|
|
Referenced by Routing\-Event\-::get\-Axis\-Weight(), Routing\-Event\-::revalidate(), Manipulator\-::ripple(), and Segment\-Fsm\-::\-Segment\-Fsm().
|
|
|
|
\hypertarget{classKite_1_1RoutingEvent_a0d42d996a3a3d013f775949296513428}{\index{Kite\-::\-Routing\-Event@{Kite\-::\-Routing\-Event}!get\-Axis\-History@{get\-Axis\-History}}
|
|
\index{get\-Axis\-History@{get\-Axis\-History}!Kite::RoutingEvent@{Kite\-::\-Routing\-Event}}
|
|
\paragraph[{get\-Axis\-History}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Db\-U\-::\-Unit} get\-Axis\-History (
|
|
\begin{DoxyParamCaption}
|
|
{}
|
|
\end{DoxyParamCaption}
|
|
) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classKite_1_1RoutingEvent_a0d42d996a3a3d013f775949296513428}
|
|
{\bfseries Returns\-:} The previous position of the segment axis (before it's current position). \hypertarget{classKite_1_1RoutingEvent_ab1d579993140867de7226e94049047ed}{\index{Kite\-::\-Routing\-Event@{Kite\-::\-Routing\-Event}!get\-Axis\-Weight@{get\-Axis\-Weight}}
|
|
\index{get\-Axis\-Weight@{get\-Axis\-Weight}!Kite::RoutingEvent@{Kite\-::\-Routing\-Event}}
|
|
\paragraph[{get\-Axis\-Weight}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Db\-U\-::\-Unit} get\-Axis\-Weight (
|
|
\begin{DoxyParamCaption}
|
|
\item[{{\bf Db\-U\-::\-Unit}}]{axis}
|
|
\end{DoxyParamCaption}
|
|
) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classKite_1_1RoutingEvent_ab1d579993140867de7226e94049047ed}
|
|
{\bfseries Returns\-:} The distance between {\ttfamily axis} and the preferred position.
|
|
|
|
Referenced by Segment\-Fsm\-::\-Segment\-Fsm().
|
|
|
|
\hypertarget{classKite_1_1RoutingEvent_a0414e4b8e60741abb6ac0180ed2aba35}{\index{Kite\-::\-Routing\-Event@{Kite\-::\-Routing\-Event}!get\-Constraints@{get\-Constraints}}
|
|
\index{get\-Constraints@{get\-Constraints}!Kite::RoutingEvent@{Kite\-::\-Routing\-Event}}
|
|
\paragraph[{get\-Constraints}]{\setlength{\rightskip}{0pt plus 5cm}const {\bf Interval} \& get\-Constraints (
|
|
\begin{DoxyParamCaption}
|
|
{}
|
|
\end{DoxyParamCaption}
|
|
) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classKite_1_1RoutingEvent_a0414e4b8e60741abb6ac0180ed2aba35}
|
|
{\bfseries Returns\-:} The range of legal positions for the axis.
|
|
|
|
Referenced by Manipulator\-::minimize(), Manipulator\-::ripup\-Perpandiculars(), and Segment\-Fsm\-::\-Segment\-Fsm().
|
|
|
|
\hypertarget{classKite_1_1RoutingEvent_a652d013f5e2df77c83fb0fcf00f1b6d2}{\index{Kite\-::\-Routing\-Event@{Kite\-::\-Routing\-Event}!get\-Optimal@{get\-Optimal}}
|
|
\index{get\-Optimal@{get\-Optimal}!Kite::RoutingEvent@{Kite\-::\-Routing\-Event}}
|
|
\paragraph[{get\-Optimal}]{\setlength{\rightskip}{0pt plus 5cm}const {\bf Interval} \& get\-Optimal (
|
|
\begin{DoxyParamCaption}
|
|
{}
|
|
\end{DoxyParamCaption}
|
|
) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classKite_1_1RoutingEvent_a652d013f5e2df77c83fb0fcf00f1b6d2}
|
|
{\bfseries Returns\-:} The range of positions for the optimal axis (cached).
|
|
|
|
Referenced by Segment\-Fsm\-::\-Segment\-Fsm().
|
|
|
|
\hypertarget{classKite_1_1RoutingEvent_aeb59bdd62b3cfdb9691fc65ec888335a}{\index{Kite\-::\-Routing\-Event@{Kite\-::\-Routing\-Event}!get\-Priority@{get\-Priority}}
|
|
\index{get\-Priority@{get\-Priority}!Kite::RoutingEvent@{Kite\-::\-Routing\-Event}}
|
|
\paragraph[{get\-Priority}]{\setlength{\rightskip}{0pt plus 5cm}unsigned int get\-Priority (
|
|
\begin{DoxyParamCaption}
|
|
{}
|
|
\end{DoxyParamCaption}
|
|
) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classKite_1_1RoutingEvent_aeb59bdd62b3cfdb9691fc65ec888335a}
|
|
{\bfseries Returns\-:} The priority of the event, it quantify the degree of freedom of the segment. Currently it's computed from the length of the segment and it's slack\-: \[ priority = (slack(segment)+1.0) \times (length(segment)+1.0) \] A high priority means that the segment will be harder to place thus it will be scheduled first. With this function, longer segments will be placed first.
|
|
|
|
Referenced by Routing\-Event\-::process().
|
|
|
|
\hypertarget{classKite_1_1RoutingEvent_aff63485acfcd4f98a036508264b6b14e}{\index{Kite\-::\-Routing\-Event@{Kite\-::\-Routing\-Event}!get\-Tracks\-Nb@{get\-Tracks\-Nb}}
|
|
\index{get\-Tracks\-Nb@{get\-Tracks\-Nb}!Kite::RoutingEvent@{Kite\-::\-Routing\-Event}}
|
|
\paragraph[{get\-Tracks\-Nb}]{\setlength{\rightskip}{0pt plus 5cm}unsigned int get\-Tracks\-Nb (
|
|
\begin{DoxyParamCaption}
|
|
{}
|
|
\end{DoxyParamCaption}
|
|
) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classKite_1_1RoutingEvent_aff63485acfcd4f98a036508264b6b14e}
|
|
{\bfseries Returns\-:} The number of tracks avalaibles for the segment to be placed.
|
|
|
|
Referenced by Segment\-Fsm\-::\-Segment\-Fsm().
|
|
|
|
\hypertarget{classKite_1_1RoutingEvent_ae3c7f769774daa40e1678637037b502c}{\index{Kite\-::\-Routing\-Event@{Kite\-::\-Routing\-Event}!get\-Insert\-State@{get\-Insert\-State}}
|
|
\index{get\-Insert\-State@{get\-Insert\-State}!Kite::RoutingEvent@{Kite\-::\-Routing\-Event}}
|
|
\paragraph[{get\-Insert\-State}]{\setlength{\rightskip}{0pt plus 5cm}unsigned int get\-Insert\-State (
|
|
\begin{DoxyParamCaption}
|
|
{}
|
|
\end{DoxyParamCaption}
|
|
) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classKite_1_1RoutingEvent_ae3c7f769774daa40e1678637037b502c}
|
|
\begin{DoxyReturn}{Returns}
|
|
The kind of track insertion that will be intended. It's a counter whose values have the following meaning\-:
|
|
\begin{DoxyItemize}
|
|
\item {\bfseries 1} \-: normal insert.
|
|
\item {\bfseries 2} \-: shrink the segment to it's minimum before inserting.
|
|
\item {\bfseries 3} \-: attempt to ripup conflicting others before inserting.
|
|
\end{DoxyItemize}
|
|
\end{DoxyReturn}
|
|
|
|
|
|
Referenced by Segment\-Fsm\-::insert\-In\-Track().
|
|
|
|
\hypertarget{classKite_1_1RoutingEvent_a632af4915847b1e60ba922422d19f0b5}{\index{Kite\-::\-Routing\-Event@{Kite\-::\-Routing\-Event}!get\-Event\-Level@{get\-Event\-Level}}
|
|
\index{get\-Event\-Level@{get\-Event\-Level}!Kite::RoutingEvent@{Kite\-::\-Routing\-Event}}
|
|
\paragraph[{get\-Event\-Level}]{\setlength{\rightskip}{0pt plus 5cm}unsigned int get\-Event\-Level (
|
|
\begin{DoxyParamCaption}
|
|
{}
|
|
\end{DoxyParamCaption}
|
|
) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classKite_1_1RoutingEvent_a632af4915847b1e60ba922422d19f0b5}
|
|
{\bfseries Returns\-:} The event level of the event, used to tweak the order inside the event queue. It differs from the priority in the sense that it isn't a topologicaly based value, but manipulated by the algorithm.
|
|
|
|
Referenced by Routing\-Event\-::process().
|
|
|
|
\hypertarget{classKite_1_1RoutingEvent_a5bd93abe1416952ace15a98dbeeed124}{\index{Kite\-::\-Routing\-Event@{Kite\-::\-Routing\-Event}!revalidate@{revalidate}}
|
|
\index{revalidate@{revalidate}!Kite::RoutingEvent@{Kite\-::\-Routing\-Event}}
|
|
\paragraph[{revalidate}]{\setlength{\rightskip}{0pt plus 5cm}void revalidate (
|
|
\begin{DoxyParamCaption}
|
|
{}
|
|
\end{DoxyParamCaption}
|
|
)}}\label{classKite_1_1RoutingEvent_a5bd93abe1416952ace15a98dbeeed124}
|
|
Perform an event revalidation.
|
|
|
|
Referenced by Segment\-Fsm\-::\-Segment\-Fsm(), and Routing\-Event\-::update\-Key().
|
|
|
|
\hypertarget{classKite_1_1RoutingEvent_a14468bece068cbc5221f057226ee8955}{\index{Kite\-::\-Routing\-Event@{Kite\-::\-Routing\-Event}!update\-Key@{update\-Key}}
|
|
\index{update\-Key@{update\-Key}!Kite::RoutingEvent@{Kite\-::\-Routing\-Event}}
|
|
\paragraph[{update\-Key}]{\setlength{\rightskip}{0pt plus 5cm}void update\-Key (
|
|
\begin{DoxyParamCaption}
|
|
{}
|
|
\end{DoxyParamCaption}
|
|
)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classKite_1_1RoutingEvent_a14468bece068cbc5221f057226ee8955}
|
|
Update the key with the new values from the event, the key {\itshape must} not be inserted in the queue when this method is called. \hypertarget{classKite_1_1RoutingEvent_a6add4f520081c698421481bf8fe0ad1f}{\index{Kite\-::\-Routing\-Event@{Kite\-::\-Routing\-Event}!process@{process}}
|
|
\index{process@{process}!Kite::RoutingEvent@{Kite\-::\-Routing\-Event}}
|
|
\paragraph[{process}]{\setlength{\rightskip}{0pt plus 5cm}void process (
|
|
\begin{DoxyParamCaption}
|
|
\item[{{\bf Routing\-Event\-Queue} \&}]{queue, }
|
|
\item[{{\bf Routing\-Event\-History} \&}]{history, }
|
|
\item[{{\bf Routing\-Event\-Loop} \&}]{loop}
|
|
\end{DoxyParamCaption}
|
|
)}}\label{classKite_1_1RoutingEvent_a6add4f520081c698421481bf8fe0ad1f}
|
|
|
|
\begin{DoxyParams}{Parameters}
|
|
{\em queue} & The main event queue. \\
|
|
\hline
|
|
{\em history} & The event's history list. \\
|
|
\hline
|
|
{\em loop} & The loop detector.\\
|
|
\hline
|
|
\end{DoxyParams}
|
|
Process the event, that is\-:
|
|
\begin{DoxyItemize}
|
|
\item First, check if there is no looping, if any, do not process the event but dicard it (marked as unimplemented).
|
|
\item Second, attempt to place the associated segment. Pass it to the relevant function, according to the router's mode ({\ttfamily \-\_\-process\-Negociate()}, {\ttfamily process\-Pack()} or {\ttfamily \-\_\-process\-Repair()} ). Once processed, the event is added to both {\ttfamily history} (for the record) and {\ttfamily loop} to check if we are not looping.
|
|
\end{DoxyItemize}\hypertarget{classKite_1_1RoutingEvent_ae2eddb4497661b6319616a70c4acd165}{\index{Kite\-::\-Routing\-Event@{Kite\-::\-Routing\-Event}!set\-Segment@{set\-Segment}}
|
|
\index{set\-Segment@{set\-Segment}!Kite::RoutingEvent@{Kite\-::\-Routing\-Event}}
|
|
\paragraph[{set\-Segment}]{\setlength{\rightskip}{0pt plus 5cm}void set\-Segment (
|
|
\begin{DoxyParamCaption}
|
|
\item[{{\bf Track\-Element} $\ast$}]{element}
|
|
\end{DoxyParamCaption}
|
|
)}}\label{classKite_1_1RoutingEvent_ae2eddb4497661b6319616a70c4acd165}
|
|
Change the associated {\ttfamily segment}. Used only by \hyperlink{classKite_1_1TrackSegment_acc245ce084989d1c34816d0e61b9d510}{Track\-Segment\-::swap\-Track()}.
|
|
|
|
Referenced by Track\-Segment\-::swap\-Track().
|
|
|
|
\hypertarget{classKite_1_1RoutingEvent_abf2d02f18f96183fc6e78f3e6dc8cbf6}{\index{Kite\-::\-Routing\-Event@{Kite\-::\-Routing\-Event}!reschedule@{reschedule}}
|
|
\index{reschedule@{reschedule}!Kite::RoutingEvent@{Kite\-::\-Routing\-Event}}
|
|
\paragraph[{reschedule}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Routing\-Event} $\ast$ reschedule (
|
|
\begin{DoxyParamCaption}
|
|
\item[{{\bf Routing\-Event\-Queue} \&}]{queue, }
|
|
\item[{unsigned int}]{event\-Level}
|
|
\end{DoxyParamCaption}
|
|
)}}\label{classKite_1_1RoutingEvent_abf2d02f18f96183fc6e78f3e6dc8cbf6}
|
|
\begin{DoxyReturn}{Returns}
|
|
The newly reinserted event. Depending on the cases it could be itself.
|
|
\end{DoxyReturn}
|
|
Insert or reinsert an event in the scheduler. The {\ttfamily event\-Level} parameter only allows to increase the level (if it is less than the current level of the event, it will be ignored).
|
|
|
|
{\bfseries Cloning Management.} As an event could be cloned, if we try to re-\/insert a disabled original, we must first lookup the currently cloned active event. This is done through the associated {\ttfamily segment} which must always be associated with the active event (if any).
|
|
|
|
{\bfseries Unimplemented Protection.} If the unimplemented flag is set the reschedule is cancelled ({\ttfamily N\-U\-L\-L} is returned).
|
|
|
|
{\bfseries Unprocessed Event.} The event is still in queue, waiting to be processed, then just repush it in the queue with it's new level.
|
|
|
|
{\bfseries Processed Event.} Clone the already processed one, activate it and push it on the queue.
|
|
|
|
{\bfseries Router's Mode.} The mode is also updated.
|
|
|
|
Referenced by Segment\-Action\-::do\-Action(), and Routing\-Event\-::reschedule().
|
|
|
|
\hypertarget{classKite_1_1RoutingEvent_a85982827650655ef9d6e1206874ead69}{\index{Kite\-::\-Routing\-Event@{Kite\-::\-Routing\-Event}!set\-Mode@{set\-Mode}}
|
|
\index{set\-Mode@{set\-Mode}!Kite::RoutingEvent@{Kite\-::\-Routing\-Event}}
|
|
\paragraph[{set\-Mode}]{\setlength{\rightskip}{0pt plus 5cm}void set\-Mode (
|
|
\begin{DoxyParamCaption}
|
|
\item[{unsigned int}]{mode}
|
|
\end{DoxyParamCaption}
|
|
)}}\label{classKite_1_1RoutingEvent_a85982827650655ef9d6e1206874ead69}
|
|
Set the mode in which the event must be processed (see \hyperlink{classKite_1_1RoutingEvent_a46c8a310cf4c094f8c80e1cb8dc1f911}{Routing\-Event\-::\-Mode}).
|
|
|
|
Referenced by Segment\-Action\-::do\-Action(), and Routing\-Event\-::reschedule().
|
|
|
|
\hypertarget{classKite_1_1RoutingEvent_af7ce7f73feb28f3df8f3180632a2f731}{\index{Kite\-::\-Routing\-Event@{Kite\-::\-Routing\-Event}!set\-State@{set\-State}}
|
|
\index{set\-State@{set\-State}!Kite::RoutingEvent@{Kite\-::\-Routing\-Event}}
|
|
\paragraph[{set\-State}]{\setlength{\rightskip}{0pt plus 5cm}void set\-State (
|
|
\begin{DoxyParamCaption}
|
|
\item[{unsigned int}]{state}
|
|
\end{DoxyParamCaption}
|
|
)}}\label{classKite_1_1RoutingEvent_af7ce7f73feb28f3df8f3180632a2f731}
|
|
Proxy mutator for \hyperlink{classKite_1_1DataNegociate_aafc8cd0dcd351625a12904bed7d5a7d1}{Data\-Negociate\-::set\-State()}.
|
|
|
|
Referenced by Routing\-Event\-::process().
|
|
|
|
\hypertarget{classKite_1_1RoutingEvent_a02a3f1f2801d4ebbbe676e062878faae}{\index{Kite\-::\-Routing\-Event@{Kite\-::\-Routing\-Event}!set\-Axis\-Hint\-From\-Parent@{set\-Axis\-Hint\-From\-Parent}}
|
|
\index{set\-Axis\-Hint\-From\-Parent@{set\-Axis\-Hint\-From\-Parent}!Kite::RoutingEvent@{Kite\-::\-Routing\-Event}}
|
|
\paragraph[{set\-Axis\-Hint\-From\-Parent}]{\setlength{\rightskip}{0pt plus 5cm}void set\-Axis\-Hint\-From\-Parent (
|
|
\begin{DoxyParamCaption}
|
|
{}
|
|
\end{DoxyParamCaption}
|
|
)}}\label{classKite_1_1RoutingEvent_a02a3f1f2801d4ebbbe676e062878faae}
|
|
Sets the axis hint from it's parent segment. The parentage is found through the \hyperlink{classKite_1_1TrackSegment}{Track\-Segment} parentage.
|
|
|
|
Referenced by Routing\-Event\-::revalidate().
|
|
|
|
\hypertarget{classKite_1_1RoutingEvent_a86c4b1b3d406c12667188ad44ce366db}{\index{Kite\-::\-Routing\-Event@{Kite\-::\-Routing\-Event}!inc\-Insert\-State@{inc\-Insert\-State}}
|
|
\index{inc\-Insert\-State@{inc\-Insert\-State}!Kite::RoutingEvent@{Kite\-::\-Routing\-Event}}
|
|
\paragraph[{inc\-Insert\-State}]{\setlength{\rightskip}{0pt plus 5cm}void inc\-Insert\-State (
|
|
\begin{DoxyParamCaption}
|
|
{}
|
|
\end{DoxyParamCaption}
|
|
)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classKite_1_1RoutingEvent_a86c4b1b3d406c12667188ad44ce366db}
|
|
Increment the insertion state.
|
|
|
|
{\bfseries See also\-:}~ \hyperlink{classKite_1_1RoutingEvent_ae3c7f769774daa40e1678637037b502c}{Routing\-Event\-::get\-Insert\-State()}.
|
|
|
|
Referenced by Segment\-Fsm\-::insert\-In\-Track().
|
|
|
|
\hypertarget{classKite_1_1RoutingEvent_ae35f271a106f6c6a6039e4a6f8bf4009}{\index{Kite\-::\-Routing\-Event@{Kite\-::\-Routing\-Event}!reset\-Insert\-State@{reset\-Insert\-State}}
|
|
\index{reset\-Insert\-State@{reset\-Insert\-State}!Kite::RoutingEvent@{Kite\-::\-Routing\-Event}}
|
|
\paragraph[{reset\-Insert\-State}]{\setlength{\rightskip}{0pt plus 5cm}void reset\-Insert\-State (
|
|
\begin{DoxyParamCaption}
|
|
{}
|
|
\end{DoxyParamCaption}
|
|
)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classKite_1_1RoutingEvent_ae35f271a106f6c6a6039e4a6f8bf4009}
|
|
Reset the insertion state.
|
|
|
|
{\bfseries See also\-:}~ \hyperlink{classKite_1_1RoutingEvent_ae3c7f769774daa40e1678637037b502c}{Routing\-Event\-::get\-Insert\-State()}.
|
|
|
|
Referenced by Segment\-Fsm\-::slacken\-Topology().
|
|
|
|
\hypertarget{classKite_1_1RoutingEvent_a70a9ecd62b806eff001aa602132cc630}{\index{Kite\-::\-Routing\-Event@{Kite\-::\-Routing\-Event}!set\-Event\-Level@{set\-Event\-Level}}
|
|
\index{set\-Event\-Level@{set\-Event\-Level}!Kite::RoutingEvent@{Kite\-::\-Routing\-Event}}
|
|
\paragraph[{set\-Event\-Level}]{\setlength{\rightskip}{0pt plus 5cm}void set\-Event\-Level (
|
|
\begin{DoxyParamCaption}
|
|
\item[{unsigned int}]{level}
|
|
\end{DoxyParamCaption}
|
|
)\hspace{0.3cm}{\ttfamily [inline]}}}\label{classKite_1_1RoutingEvent_a70a9ecd62b806eff001aa602132cc630}
|
|
Set the event level (user-\/controlled re-\/ordering).
|
|
|
|
The documentation for this class was generated from the following files\-:\begin{DoxyCompactItemize}
|
|
\item
|
|
Routing\-Event.\-h\item
|
|
Routing\-Event.\-cpp\item
|
|
Routing\-Event.\-dox\end{DoxyCompactItemize}
|