\hypertarget{classKite_1_1TrackElement}{\subsection{Track\-Element Class Reference} \label{classKite_1_1TrackElement}\index{Track\-Element@{Track\-Element}} } Abstract Class for all Elements inserted inside a \hyperlink{classKite_1_1Track}{Track}. Inheritance diagram for Track\-Element\-:\nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[width=282pt]{classKite_1_1TrackElement__inherit__graph} \end{center} \end{figure} \subsubsection*{Public Member Functions} \begin{DoxyCompactItemize} \item virtual bool \hyperlink{classKite_1_1TrackElement_af5e7d3badddf2ec07159f1d83426d4c1}{is\-Fixed} () const \item virtual bool \hyperlink{classKite_1_1TrackElement_a9d3db1f8a5aca58f8f54d291faebf873}{is\-Horizontal} () const =0 \item virtual bool \hyperlink{classKite_1_1TrackElement_a6fa2bf0568a2b295dd7cd1f7207247d5}{is\-Vertical} () const =0 \item virtual bool \hyperlink{classKite_1_1TrackElement_a69fb7e260ed2bc6fa82bfe12c2aeec5a}{is\-Local} () const \item virtual bool \hyperlink{classKite_1_1TrackElement_a017b1ead8e5988dd0e491cae93ac510c}{is\-Global} () const \item virtual bool \hyperlink{classKite_1_1TrackElement_ab5035e6d84cf3ec7b519a5acb109efaa}{is\-Bipoint} () const \item virtual bool \hyperlink{classKite_1_1TrackElement_a8d6f4521b27f32080d7477cf8ee8a274}{is\-Terminal} () const \item virtual bool \hyperlink{classKite_1_1TrackElement_a4721fcbe9c93ed5392afd9a756b989a8}{is\-Strap} () const \item virtual bool \hyperlink{classKite_1_1TrackElement_ab1f9e0bca70dea59558459a003a62d88}{is\-Slackened} () const \item virtual bool \hyperlink{classKite_1_1TrackElement_a172b2394f9c2cbaaf5bc4b19e0e76e65}{is\-Dogleg} () const \item bool \hyperlink{classKite_1_1TrackElement_a6a7e35dd5a9ca99ca879e424ce42b902}{is\-Created} () const \item bool \hyperlink{classKite_1_1TrackElement_a54f713d06c43bebf4e0dfef06e347531}{is\-Invalidated} () const \item bool \hyperlink{classKite_1_1TrackElement_a1dbaf905a283e4e45ac71c4771e9e644}{is\-Blockage} () const \item bool \hyperlink{classKite_1_1TrackElement_ae0c9fa9daf2467984aea571a0f3940c6}{is\-Locked} () const \item bool \hyperlink{classKite_1_1TrackElement_ae7adbfe4ada0ac46f8cd9cc8f296327d}{is\-Routed} () const \item bool \hyperlink{classKite_1_1TrackElement_af5f88959753a39f16726a858ee6fb0fd}{has\-Source\-Dogleg} () const \item bool \hyperlink{classKite_1_1TrackElement_a71fcabadfc78d0e1aefa934659cb1204}{has\-Target\-Dogleg} () const \item bool \hyperlink{classKite_1_1TrackElement_a5aa65e9913c7368130b187464404ded6}{can\-Ripple} () const \item virtual bool \hyperlink{classKite_1_1TrackElement_aa0bb6f1592688e942ff67e0ac318a4fd}{can\-Dogleg} () \item virtual bool \hyperlink{classKite_1_1TrackElement_accb4c6a7ee2678a0cff4dbc4a7860fe1}{can\-Dogleg} ({\bf Interval}) \item virtual bool \hyperlink{classKite_1_1TrackElement_a4f040cf33009e4886d401115c3bea838}{can\-Dogleg} ({\bf Katabatic\-::\-G\-Cell} $\ast$, unsigned int flags=0) \item virtual unsigned long \hyperlink{classKite_1_1TrackElement_ae68c47fdf838be02cbf6660cd25a0806}{get\-Id} () const \item virtual unsigned int \hyperlink{classKite_1_1TrackElement_ae35b78590ed6aa546b626ef95f28c533}{get\-Direction} () const =0 \item virtual {\bf Net} $\ast$ \hyperlink{classKite_1_1TrackElement_a2b383a5b6f5028911a35e446a682dabd}{get\-Net} () const =0 \item virtual const {\bf Layer} $\ast$ \hyperlink{classKite_1_1TrackElement_ad96c66549598873bf68c2e18ec7164c1}{get\-Layer} () const =0 \item \hyperlink{classKite_1_1Track}{Track} $\ast$ \hyperlink{classKite_1_1TrackElement_abfd8de286baf41eea066220773c7046d}{get\-Track} () const \item size\-\_\-t \hyperlink{classKite_1_1TrackElement_a659e8df65f89db5547aa8a8fe3d92f69}{get\-Index} () const \item virtual unsigned long \hyperlink{classKite_1_1TrackElement_a9f20f94d2d8aaa38c2b9ead5275ead27}{get\-Freedom\-Degree} () const \item virtual float \hyperlink{classKite_1_1TrackElement_a71b29fb20a3ba09616a6be4b122a797e}{get\-Max\-Under\-Density} (unsigned int flags=0) const \item {\bf Box} \hyperlink{classKite_1_1TrackElement_a3b9694bf093e3ea16e4a8c8126a8d4db}{get\-Bounding\-Box} () const \item virtual \hyperlink{classKite_1_1TrackElement}{Track\-Element} $\ast$ \hyperlink{classKite_1_1TrackElement_a5af0ac91c558873fea9703e7ab6f48df}{get\-Next} () const \item virtual \hyperlink{classKite_1_1TrackElement}{Track\-Element} $\ast$ \hyperlink{classKite_1_1TrackElement_acbb9c965449bf4502d71149563cec0a2}{get\-Previous} () const \item virtual {\bf Db\-U\-::\-Unit} \hyperlink{classKite_1_1TrackElement_ac492fb5399691d81c31547db6b56fd03}{get\-Axis} () const =0 \item {\bf Db\-U\-::\-Unit} \hyperlink{classKite_1_1TrackElement_a3932d5ce9094ead510e4e33bd4e78e1a}{get\-Source\-U} () const \item {\bf Db\-U\-::\-Unit} \hyperlink{classKite_1_1TrackElement_a8e5f2a51f56c6bdb74024ac77c08a22a}{get\-Target\-U} () const \item {\bf Db\-U\-::\-Unit} \hyperlink{classKite_1_1TrackElement_a5370f2cf21823e1fa58d0627ee53c483}{get\-Length} () const \item {\bf Interval} \hyperlink{classKite_1_1TrackElement_ad78cfb34e7d8e92ba854fbc2dbf9d842}{get\-Canonical\-Interval} () const \item virtual {\bf Interval} \hyperlink{classKite_1_1TrackElement_a38d30a241d00a14943a06401d0d12923}{get\-Free\-Interval} () const \item virtual {\bf Interval} \hyperlink{classKite_1_1TrackElement_a972921aeb7f907194710ea35ac7600be}{get\-Source\-Constraints} () const \item virtual {\bf Interval} \hyperlink{classKite_1_1TrackElement_a00d398bdc1837c6c1e4847895c557829}{get\-Target\-Constraints} () const \item virtual \hyperlink{classKite_1_1DataNegociate}{Data\-Negociate} $\ast$ \hyperlink{classKite_1_1TrackElement_a76a45d5701f875711a03692e9bf6d5ce}{get\-Data\-Negociate} (unsigned int flags=\hyperlink{namespaceKite_acca8fffa3182dea5f94208f454f14b47a68e917ff37d4b5cef906303181836404}{Kt\-Data\-Self}) const \item virtual \hyperlink{classKite_1_1TrackElement}{Track\-Element} $\ast$ \hyperlink{classKite_1_1TrackElement_af2d46d64cbd02bdbba53d5483d95e26d}{get\-Canonical} ({\bf Interval} \&) \item virtual size\-\_\-t \hyperlink{classKite_1_1TrackElement_a79b25d8199fe90446e99cf08d2d85674}{get\-G\-Cells} (Katabatic\-::\-G\-Cell\-Vector \&) const \item virtual \hyperlink{classKite_1_1TrackElement}{Track\-Element} $\ast$ \hyperlink{classKite_1_1TrackElement_ad1a03a36d5908ce44c3d0391ff9c7103}{get\-Parent} () const \item virtual unsigned int \hyperlink{classKite_1_1TrackElement_ace669b962e7df815b92fe70e1f4ad755}{get\-Dogleg\-Level} () const \item virtual \hyperlink{classKite_1_1TrackElement}{Track\-Element} $\ast$ \hyperlink{classKite_1_1TrackElement_a7e79fbfe77f173d46b1959c41087930a}{get\-Source\-Dogleg} () \item virtual \hyperlink{classKite_1_1TrackElement}{Track\-Element} $\ast$ \hyperlink{classKite_1_1TrackElement_aeb4e39bd925d093e6c45599433bb421c}{get\-Target\-Dogleg} () \item virtual Track\-Elements \hyperlink{classKite_1_1TrackElement_aa0ba92ebf19f596537dc051c090d5736}{get\-Perpandiculars} () \item void \hyperlink{classKite_1_1TrackElement_aeb14f94914af58657a0dc2f50ec98df5}{set\-Flags} (unsigned int) \item void \hyperlink{classKite_1_1TrackElement_a1a6fac115cb81db48e3ac9ffa0721bb5}{unset\-Flags} (unsigned int) \item virtual void \hyperlink{classKite_1_1TrackElement_abd3d8093f871d3d1a7f24b053648026c}{set\-Track} (\hyperlink{classKite_1_1Track}{Track} $\ast$) \item void \hyperlink{classKite_1_1TrackElement_abee236b4d62f51320212f31e010fc1b5}{set\-Index} (size\-\_\-t) \item virtual void \hyperlink{classKite_1_1TrackElement_af5332d647c0482aa90ad7cc9b2a50f3a}{update\-Freedom\-Degree} () \item virtual void \hyperlink{classKite_1_1TrackElement_a2b90319cb042b283aa5d1fdb1992f11f}{set\-Dogleg\-Level} (unsigned int) \item virtual void \hyperlink{classKite_1_1TrackElement_acc245ce084989d1c34816d0e61b9d510}{swap\-Track} (\hyperlink{classKite_1_1TrackElement}{Track\-Element} $\ast$) \item virtual void \hyperlink{classKite_1_1TrackElement_a0ffe603ec7d46f21f5e56ccbe84c03fb}{reschedule} (unsigned int level) \item virtual void \hyperlink{classKite_1_1TrackElement_ac295bade8aee589f6718dfa79edc2a34}{detach} () \item virtual void \hyperlink{classKite_1_1TrackElement_a893f1101c650c08c98612515c2b1a89c}{invalidate} () \item virtual void \hyperlink{classKite_1_1TrackElement_a5bd93abe1416952ace15a98dbeeed124}{revalidate} () \item virtual void \hyperlink{classKite_1_1TrackElement_a250348f9030b92b19580749bf99030b5}{inc\-Overlap\-Cost} ({\bf Net} $\ast$, Track\-Cost \&) const \item virtual void \hyperlink{classKite_1_1TrackElement_a45e685b1e3ee630d24bf43746553af4c}{set\-Axis} ({\bf Db\-U\-::\-Unit}, unsigned int flags={\bf Katabatic\-::\-Seg\-Axis\-Set}) \item virtual \hyperlink{classKite_1_1TrackElement}{Track\-Element} $\ast$ \hyperlink{classKite_1_1TrackElement_a7a9637875364e84e6862de0102341715}{make\-Dogleg} () \item bool \hyperlink{classKite_1_1TrackElement_a3e1b4982a2427f74e55592520ab6272d}{make\-Dogleg} ({\bf Katabatic\-::\-G\-Cell} $\ast$) \item virtual \hyperlink{classKite_1_1TrackElement}{Track\-Element} $\ast$ \hyperlink{classKite_1_1TrackElement_a524f1569b2f2c1a84df2fe47e84e28ed}{make\-Dogleg} ({\bf Interval}, unsigned int \&flags) \item virtual bool \hyperlink{classKite_1_1TrackElement_aa1ef325b98fab61d2c7c5bdc1fcd92fc}{\-\_\-check} () const \end{DoxyCompactItemize} \subsubsection*{Static Public Member Functions} \begin{DoxyCompactItemize} \item static \hyperlink{namespaceKite_aa5bc3df660243357cdf8639f57d4a41b}{Segment\-Overlap\-Cost\-C\-B} $\ast$ \hyperlink{classKite_1_1TrackElement_a4648fa47d0870cf743436ff6a6239fd9}{set\-Overlap\-Cost\-C\-B} (\hyperlink{namespaceKite_aa5bc3df660243357cdf8639f57d4a41b}{Segment\-Overlap\-Cost\-C\-B} $\ast$) \end{DoxyCompactItemize} \subsubsection{Detailed Description} Abstract Class for all Elements inserted inside a \hyperlink{classKite_1_1Track}{Track}. \hypertarget{classKite_1_1TrackElement_secTrackElementAbstract}{}\subsubsection{Track\-Element Abstract}\label{classKite_1_1TrackElement_secTrackElementAbstract} The \hyperlink{classKite_1_1TrackElement}{Track\-Element} class is abstract and is used as base class for any element that can be inserted in a \hyperlink{classKite_1_1Track}{Track}. It represent the footprint of that element inside the \hyperlink{classKite_1_1Track}{Track} (an interval). Additionnaly it keep a pointer to the \hyperlink{classKite_1_1Track}{Track} and it's index inside it (\hyperlink{classKite_1_1Track}{Track} is implemented with a {\ttfamily vector$<$$>$}). To avoid some explicit dynamic cast later, it provides a default implementation for almost all the methods that will be present in all the derived classes. All default methods return {\ttfamily false}, {\ttfamily N\-U\-L\-L} or {\ttfamily 0} ({\itshape zero}) or whatever is appropriated to tell it is not meaningful. {\bfseries Design Note} \hyperlink{classKite_1_1TrackElement}{Track\-Element} has been designed to serve as a base class for \hyperlink{classKite_1_1TrackSegment}{Track\-Segment} and \hyperlink{classKite_1_1TrackMarker}{Track\-Marker}. But, in the end, those two classes have been put in separated vectors inside the \hyperlink{classKite_1_1Track}{Track}, thus rendering this design choice less pertinent. We keep it for now because we may introduce other object than \hyperlink{classKite_1_1TrackSegment}{Track\-Segment} inside a \hyperlink{classKite_1_1Track}{Track}. If the need do not arise, we may merge back \hyperlink{classKite_1_1TrackElement}{Track\-Element} and \hyperlink{classKite_1_1TrackSegment}{Track\-Segment}. \subsubsection{Member Function Documentation} \hypertarget{classKite_1_1TrackElement_a4648fa47d0870cf743436ff6a6239fd9}{\index{Kite\-::\-Track\-Element@{Kite\-::\-Track\-Element}!set\-Overlap\-Cost\-C\-B@{set\-Overlap\-Cost\-C\-B}} \index{set\-Overlap\-Cost\-C\-B@{set\-Overlap\-Cost\-C\-B}!Kite::TrackElement@{Kite\-::\-Track\-Element}} \paragraph[{set\-Overlap\-Cost\-C\-B}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Segment\-Overlap\-Cost\-C\-B} $\ast$ set\-Overlap\-Cost\-C\-B ( \begin{DoxyParamCaption} \item[{{\bf Segment\-Overlap\-Cost\-C\-B} $\ast$}]{cb} \end{DoxyParamCaption} )\hspace{0.3cm}{\ttfamily [static]}}}\label{classKite_1_1TrackElement_a4648fa47d0870cf743436ff6a6239fd9} \begin{DoxyParams}{Parameters} {\em cb} & the new overlap cost callback. \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} the previous overlap cost callback. \end{DoxyReturn} sets the overlap callback. Referenced by Negociate\-Window\-::run(). \hypertarget{classKite_1_1TrackElement_af5e7d3badddf2ec07159f1d83426d4c1}{\index{Kite\-::\-Track\-Element@{Kite\-::\-Track\-Element}!is\-Fixed@{is\-Fixed}} \index{is\-Fixed@{is\-Fixed}!Kite::TrackElement@{Kite\-::\-Track\-Element}} \paragraph[{is\-Fixed}]{\setlength{\rightskip}{0pt plus 5cm}bool is\-Fixed ( \begin{DoxyParamCaption} {} \end{DoxyParamCaption} ) const\hspace{0.3cm}{\ttfamily [virtual]}}}\label{classKite_1_1TrackElement_af5e7d3badddf2ec07159f1d83426d4c1} {\bfseries See also\-:}~ {\bf Katabatic\-::\-Auto\-Segment\-::is\-Fixed()}. Reimplemented in \hyperlink{classKite_1_1TrackSegment_af5e7d3badddf2ec07159f1d83426d4c1}{Track\-Segment}, and \hyperlink{classKite_1_1TrackFixedSegment_af5e7d3badddf2ec07159f1d83426d4c1}{Track\-Fixed\-Segment}. Referenced by Segment\-Fsm\-::add\-Action(), Segment\-Fsm\-::conflict\-Solve\-By\-Placeds(), Negociate\-Window\-::create\-Track\-Segment(), Segment\-Fsm\-::desaturate(), Segment\-Action\-::do\-Action(), Manipulator\-::force\-Over\-Locals(), Manipulator\-::force\-To\-Track(), Manipulator\-::insert\-In\-Track(), Manipulator\-::is\-Caged(), Manipulator\-::make\-Dogleg(), Manipulator\-::minimize(), Manipulator\-::move\-Up(), Manipulator\-::pivot\-Down(), Manipulator\-::pivot\-Up(), Manipulator\-::relax(), Manipulator\-::repack\-Perpandiculars(), Manipulator\-::ripup(), Manipulator\-::shrink\-To\-Track(), and Manipulator\-::slacken(). \hypertarget{classKite_1_1TrackElement_a9d3db1f8a5aca58f8f54d291faebf873}{\index{Kite\-::\-Track\-Element@{Kite\-::\-Track\-Element}!is\-Horizontal@{is\-Horizontal}} \index{is\-Horizontal@{is\-Horizontal}!Kite::TrackElement@{Kite\-::\-Track\-Element}} \paragraph[{is\-Horizontal}]{\setlength{\rightskip}{0pt plus 5cm}bool is\-Horizontal ( \begin{DoxyParamCaption} {} \end{DoxyParamCaption} ) const\hspace{0.3cm}{\ttfamily [pure virtual]}}}\label{classKite_1_1TrackElement_a9d3db1f8a5aca58f8f54d291faebf873} {\bfseries See also\-:}~ {\bf Katabatic\-::\-Auto\-Segment\-::is\-Horizontal()}. Implemented in \hyperlink{classKite_1_1TrackSegment_ac46ac3b48d712750c7888b48964ac189}{Track\-Segment}, and \hyperlink{classKite_1_1TrackFixedSegment_ac46ac3b48d712750c7888b48964ac189}{Track\-Fixed\-Segment}. Referenced by Segment\-Fsm\-::conflict\-Solve\-By\-History(), and Manipulator\-::make\-Dogleg(). \hypertarget{classKite_1_1TrackElement_a6fa2bf0568a2b295dd7cd1f7207247d5}{\index{Kite\-::\-Track\-Element@{Kite\-::\-Track\-Element}!is\-Vertical@{is\-Vertical}} \index{is\-Vertical@{is\-Vertical}!Kite::TrackElement@{Kite\-::\-Track\-Element}} \paragraph[{is\-Vertical}]{\setlength{\rightskip}{0pt plus 5cm}bool is\-Vertical ( \begin{DoxyParamCaption} {} \end{DoxyParamCaption} ) const\hspace{0.3cm}{\ttfamily [pure virtual]}}}\label{classKite_1_1TrackElement_a6fa2bf0568a2b295dd7cd1f7207247d5} {\bfseries See also\-:}~ {\bf Katabatic\-::\-Auto\-Segment\-::is\-Vertical()}. Implemented in \hyperlink{classKite_1_1TrackSegment_a2bb30e82aad1f321af4a065338775f36}{Track\-Segment}, and \hyperlink{classKite_1_1TrackFixedSegment_a2bb30e82aad1f321af4a065338775f36}{Track\-Fixed\-Segment}. \hypertarget{classKite_1_1TrackElement_a69fb7e260ed2bc6fa82bfe12c2aeec5a}{\index{Kite\-::\-Track\-Element@{Kite\-::\-Track\-Element}!is\-Local@{is\-Local}} \index{is\-Local@{is\-Local}!Kite::TrackElement@{Kite\-::\-Track\-Element}} \paragraph[{is\-Local}]{\setlength{\rightskip}{0pt plus 5cm}bool is\-Local ( \begin{DoxyParamCaption} {} \end{DoxyParamCaption} ) const\hspace{0.3cm}{\ttfamily [virtual]}}}\label{classKite_1_1TrackElement_a69fb7e260ed2bc6fa82bfe12c2aeec5a} {\bfseries See also\-:}~ Katabatic\-::is\-Local(). Reimplemented in \hyperlink{classKite_1_1TrackSegment_a69fb7e260ed2bc6fa82bfe12c2aeec5a}{Track\-Segment}. Referenced by Segment\-Fsm\-::conflict\-Solve\-By\-Placeds(), Segment\-Fsm\-::do\-Actions(), Manipulator\-::insert\-In\-Track(), Manipulator\-::make\-Dogleg(), Manipulator\-::move\-Up(), Manipulator\-::pivot\-Up(), Manipulator\-::relax(), Manipulator\-::ripple(), Manipulator\-::ripup\-Perpandiculars(), Segment\-Fsm\-::\-Segment\-Fsm(), Manipulator\-::shrink\-To\-Track(), Segment\-Fsm\-::slacken\-Topology(), and Segment\-Fsm\-::solve\-Full\-Blockages(). \hypertarget{classKite_1_1TrackElement_a017b1ead8e5988dd0e491cae93ac510c}{\index{Kite\-::\-Track\-Element@{Kite\-::\-Track\-Element}!is\-Global@{is\-Global}} \index{is\-Global@{is\-Global}!Kite::TrackElement@{Kite\-::\-Track\-Element}} \paragraph[{is\-Global}]{\setlength{\rightskip}{0pt plus 5cm}bool is\-Global ( \begin{DoxyParamCaption} {} \end{DoxyParamCaption} ) const\hspace{0.3cm}{\ttfamily [virtual]}}}\label{classKite_1_1TrackElement_a017b1ead8e5988dd0e491cae93ac510c} {\bfseries See also\-:}~ {\bf Katabatic\-::\-Auto\-Segment\-::is\-Global()}. Reimplemented in \hyperlink{classKite_1_1TrackSegment_a017b1ead8e5988dd0e491cae93ac510c}{Track\-Segment}. Referenced by Segment\-Fsm\-::conflict\-Solve\-By\-Placeds(), Manipulator\-::insert\-In\-Track(), Manipulator\-::relax(), Manipulator\-::repack\-Perpandiculars(), and Segment\-Fsm\-::\-Segment\-Fsm(). \hypertarget{classKite_1_1TrackElement_ab5035e6d84cf3ec7b519a5acb109efaa}{\index{Kite\-::\-Track\-Element@{Kite\-::\-Track\-Element}!is\-Bipoint@{is\-Bipoint}} \index{is\-Bipoint@{is\-Bipoint}!Kite::TrackElement@{Kite\-::\-Track\-Element}} \paragraph[{is\-Bipoint}]{\setlength{\rightskip}{0pt plus 5cm}bool is\-Bipoint ( \begin{DoxyParamCaption} {} \end{DoxyParamCaption} ) const\hspace{0.3cm}{\ttfamily [virtual]}}}\label{classKite_1_1TrackElement_ab5035e6d84cf3ec7b519a5acb109efaa} {\bfseries See also\-:}~ {\bf Katabatic\-::\-Auto\-Segment\-::is\-Bipoint()}. Reimplemented in \hyperlink{classKite_1_1TrackSegment_ab5035e6d84cf3ec7b519a5acb109efaa}{Track\-Segment}. Referenced by Segment\-Fsm\-::desaturate(). \hypertarget{classKite_1_1TrackElement_a8d6f4521b27f32080d7477cf8ee8a274}{\index{Kite\-::\-Track\-Element@{Kite\-::\-Track\-Element}!is\-Terminal@{is\-Terminal}} \index{is\-Terminal@{is\-Terminal}!Kite::TrackElement@{Kite\-::\-Track\-Element}} \paragraph[{is\-Terminal}]{\setlength{\rightskip}{0pt plus 5cm}bool is\-Terminal ( \begin{DoxyParamCaption} {} \end{DoxyParamCaption} ) const\hspace{0.3cm}{\ttfamily [virtual]}}}\label{classKite_1_1TrackElement_a8d6f4521b27f32080d7477cf8ee8a274} {\bfseries See also\-:}~ Katabatic\-::\-Auto\-Segment\-::is\-Terminal(). Reimplemented in \hyperlink{classKite_1_1TrackSegment_a8d6f4521b27f32080d7477cf8ee8a274}{Track\-Segment}. Referenced by Manipulator\-::make\-Dogleg(), and Manipulator\-::relax(). \hypertarget{classKite_1_1TrackElement_a4721fcbe9c93ed5392afd9a756b989a8}{\index{Kite\-::\-Track\-Element@{Kite\-::\-Track\-Element}!is\-Strap@{is\-Strap}} \index{is\-Strap@{is\-Strap}!Kite::TrackElement@{Kite\-::\-Track\-Element}} \paragraph[{is\-Strap}]{\setlength{\rightskip}{0pt plus 5cm}bool is\-Strap ( \begin{DoxyParamCaption} {} \end{DoxyParamCaption} ) const\hspace{0.3cm}{\ttfamily [virtual]}}}\label{classKite_1_1TrackElement_a4721fcbe9c93ed5392afd9a756b989a8} {\bfseries See also\-:}~ {\bf Katabatic\-::\-Auto\-Segment\-::is\-Strap()}. Reimplemented in \hyperlink{classKite_1_1TrackSegment_a4721fcbe9c93ed5392afd9a756b989a8}{Track\-Segment}. Referenced by Manipulator\-::insert\-In\-Track(), Manipulator\-::pivot\-Down(), Manipulator\-::pivot\-Up(), Segment\-Fsm\-::\-Segment\-Fsm(), and Segment\-Fsm\-::slacken\-Topology(). \hypertarget{classKite_1_1TrackElement_ab1f9e0bca70dea59558459a003a62d88}{\index{Kite\-::\-Track\-Element@{Kite\-::\-Track\-Element}!is\-Slackened@{is\-Slackened}} \index{is\-Slackened@{is\-Slackened}!Kite::TrackElement@{Kite\-::\-Track\-Element}} \paragraph[{is\-Slackened}]{\setlength{\rightskip}{0pt plus 5cm}bool is\-Slackened ( \begin{DoxyParamCaption} {} \end{DoxyParamCaption} ) const\hspace{0.3cm}{\ttfamily [virtual]}}}\label{classKite_1_1TrackElement_ab1f9e0bca70dea59558459a003a62d88} {\bfseries See also\-:}~ {\bf Katabatic\-::\-Auto\-Segment\-::is\-Slackened()}. Reimplemented in \hyperlink{classKite_1_1TrackSegment_ab1f9e0bca70dea59558459a003a62d88}{Track\-Segment}. \hypertarget{classKite_1_1TrackElement_a172b2394f9c2cbaaf5bc4b19e0e76e65}{\index{Kite\-::\-Track\-Element@{Kite\-::\-Track\-Element}!is\-Dogleg@{is\-Dogleg}} \index{is\-Dogleg@{is\-Dogleg}!Kite::TrackElement@{Kite\-::\-Track\-Element}} \paragraph[{is\-Dogleg}]{\setlength{\rightskip}{0pt plus 5cm}bool is\-Dogleg ( \begin{DoxyParamCaption} {} \end{DoxyParamCaption} ) const\hspace{0.3cm}{\ttfamily [virtual]}}}\label{classKite_1_1TrackElement_a172b2394f9c2cbaaf5bc4b19e0e76e65} {\bfseries See also\-:}~ Katabatic\-::is\-Dogleg(). Reimplemented in \hyperlink{classKite_1_1TrackSegment_a172b2394f9c2cbaaf5bc4b19e0e76e65}{Track\-Segment}. \hypertarget{classKite_1_1TrackElement_a6a7e35dd5a9ca99ca879e424ce42b902}{\index{Kite\-::\-Track\-Element@{Kite\-::\-Track\-Element}!is\-Created@{is\-Created}} \index{is\-Created@{is\-Created}!Kite::TrackElement@{Kite\-::\-Track\-Element}} \paragraph[{is\-Created}]{\setlength{\rightskip}{0pt plus 5cm}bool is\-Created ( \begin{DoxyParamCaption} {} \end{DoxyParamCaption} ) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classKite_1_1TrackElement_a6a7e35dd5a9ca99ca879e424ce42b902} {\bfseries See also\-:}~ {\bf Katabatic\-::\-Auto\-Segment\-::is\-Created()}. \hypertarget{classKite_1_1TrackElement_a54f713d06c43bebf4e0dfef06e347531}{\index{Kite\-::\-Track\-Element@{Kite\-::\-Track\-Element}!is\-Invalidated@{is\-Invalidated}} \index{is\-Invalidated@{is\-Invalidated}!Kite::TrackElement@{Kite\-::\-Track\-Element}} \paragraph[{is\-Invalidated}]{\setlength{\rightskip}{0pt plus 5cm}bool is\-Invalidated ( \begin{DoxyParamCaption} {} \end{DoxyParamCaption} ) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classKite_1_1TrackElement_a54f713d06c43bebf4e0dfef06e347531} {\bfseries Returns\-:} {\bfseries true} if the segment is invalidated (may be different from the supporting Auto\-Segment status). Referenced by Segment\-Observer\-::notify(). \hypertarget{classKite_1_1TrackElement_a1dbaf905a283e4e45ac71c4771e9e644}{\index{Kite\-::\-Track\-Element@{Kite\-::\-Track\-Element}!is\-Blockage@{is\-Blockage}} \index{is\-Blockage@{is\-Blockage}!Kite::TrackElement@{Kite\-::\-Track\-Element}} \paragraph[{is\-Blockage}]{\setlength{\rightskip}{0pt plus 5cm}bool is\-Blockage ( \begin{DoxyParamCaption} {} \end{DoxyParamCaption} ) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classKite_1_1TrackElement_a1dbaf905a283e4e45ac71c4771e9e644} {\bfseries true} if the element is a blockage (obstacle). Referenced by Segment\-Fsm\-::conflict\-Solve\-By\-Placeds(), Negociate\-Window\-::create\-Track\-Segment(), Manipulator\-::insert\-In\-Track(), and Manipulator\-::is\-Caged(). \hypertarget{classKite_1_1TrackElement_ae0c9fa9daf2467984aea571a0f3940c6}{\index{Kite\-::\-Track\-Element@{Kite\-::\-Track\-Element}!is\-Locked@{is\-Locked}} \index{is\-Locked@{is\-Locked}!Kite::TrackElement@{Kite\-::\-Track\-Element}} \paragraph[{is\-Locked}]{\setlength{\rightskip}{0pt plus 5cm}bool is\-Locked ( \begin{DoxyParamCaption} {} \end{DoxyParamCaption} ) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classKite_1_1TrackElement_ae0c9fa9daf2467984aea571a0f3940c6} {\bfseries true} if the element is part of a net, but must not be moved by the router, whatever the reason. \hypertarget{classKite_1_1TrackElement_ae7adbfe4ada0ac46f8cd9cc8f296327d}{\index{Kite\-::\-Track\-Element@{Kite\-::\-Track\-Element}!is\-Routed@{is\-Routed}} \index{is\-Routed@{is\-Routed}!Kite::TrackElement@{Kite\-::\-Track\-Element}} \paragraph[{is\-Routed}]{\setlength{\rightskip}{0pt plus 5cm}bool is\-Routed ( \begin{DoxyParamCaption} {} \end{DoxyParamCaption} ) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classKite_1_1TrackElement_ae7adbfe4ada0ac46f8cd9cc8f296327d} {\bfseries true} if the router has placed it. Referenced by Track\-Segment\-::can\-Dogleg(). \hypertarget{classKite_1_1TrackElement_af5f88959753a39f16726a858ee6fb0fd}{\index{Kite\-::\-Track\-Element@{Kite\-::\-Track\-Element}!has\-Source\-Dogleg@{has\-Source\-Dogleg}} \index{has\-Source\-Dogleg@{has\-Source\-Dogleg}!Kite::TrackElement@{Kite\-::\-Track\-Element}} \paragraph[{has\-Source\-Dogleg}]{\setlength{\rightskip}{0pt plus 5cm}bool has\-Source\-Dogleg ( \begin{DoxyParamCaption} {} \end{DoxyParamCaption} ) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classKite_1_1TrackElement_af5f88959753a39f16726a858ee6fb0fd} This method purpose has not been reviewed yet. Referenced by Track\-Segment\-::can\-Dogleg(), Track\-Segment\-::get\-Source\-Dogleg(), and Track\-Segment\-::get\-Target\-Dogleg(). \hypertarget{classKite_1_1TrackElement_a71fcabadfc78d0e1aefa934659cb1204}{\index{Kite\-::\-Track\-Element@{Kite\-::\-Track\-Element}!has\-Target\-Dogleg@{has\-Target\-Dogleg}} \index{has\-Target\-Dogleg@{has\-Target\-Dogleg}!Kite::TrackElement@{Kite\-::\-Track\-Element}} \paragraph[{has\-Target\-Dogleg}]{\setlength{\rightskip}{0pt plus 5cm}bool has\-Target\-Dogleg ( \begin{DoxyParamCaption} {} \end{DoxyParamCaption} ) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classKite_1_1TrackElement_a71fcabadfc78d0e1aefa934659cb1204} This method purpose has not been reviewed yet. Referenced by Track\-Segment\-::can\-Dogleg(). \hypertarget{classKite_1_1TrackElement_a5aa65e9913c7368130b187464404ded6}{\index{Kite\-::\-Track\-Element@{Kite\-::\-Track\-Element}!can\-Ripple@{can\-Ripple}} \index{can\-Ripple@{can\-Ripple}!Kite::TrackElement@{Kite\-::\-Track\-Element}} \paragraph[{can\-Ripple}]{\setlength{\rightskip}{0pt plus 5cm}bool can\-Ripple ( \begin{DoxyParamCaption} {} \end{DoxyParamCaption} ) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classKite_1_1TrackElement_a5aa65e9913c7368130b187464404ded6} This method purpose has not been reviewed yet. Referenced by Manipulator\-::ripple(). \hypertarget{classKite_1_1TrackElement_aa0bb6f1592688e942ff67e0ac318a4fd}{\index{Kite\-::\-Track\-Element@{Kite\-::\-Track\-Element}!can\-Dogleg@{can\-Dogleg}} \index{can\-Dogleg@{can\-Dogleg}!Kite::TrackElement@{Kite\-::\-Track\-Element}} \paragraph[{can\-Dogleg}]{\setlength{\rightskip}{0pt plus 5cm}bool can\-Dogleg ( \begin{DoxyParamCaption} {} \end{DoxyParamCaption} )\hspace{0.3cm}{\ttfamily [virtual]}}}\label{classKite_1_1TrackElement_aa0bb6f1592688e942ff67e0ac318a4fd} {\bfseries See also\-:}~ {\bf Auto\-Segment\-::can\-Dogleg()}. At \hyperlink{namespaceKite}{Kite} level, this variant of the method will apply only on local segments and the segment must not already have a source or target dogleg. Reimplemented in \hyperlink{classKite_1_1TrackSegment_aa0bb6f1592688e942ff67e0ac318a4fd}{Track\-Segment}. Referenced by Segment\-Fsm\-::conflict\-Solve\-By\-History(), Manipulator\-::make\-Dogleg(), and Manipulator\-::relax(). \hypertarget{classKite_1_1TrackElement_accb4c6a7ee2678a0cff4dbc4a7860fe1}{\index{Kite\-::\-Track\-Element@{Kite\-::\-Track\-Element}!can\-Dogleg@{can\-Dogleg}} \index{can\-Dogleg@{can\-Dogleg}!Kite::TrackElement@{Kite\-::\-Track\-Element}} \paragraph[{can\-Dogleg}]{\setlength{\rightskip}{0pt plus 5cm}bool can\-Dogleg ( \begin{DoxyParamCaption} \item[{{\bf Interval}}]{} \end{DoxyParamCaption} )\hspace{0.3cm}{\ttfamily [virtual]}}}\label{classKite_1_1TrackElement_accb4c6a7ee2678a0cff4dbc4a7860fe1} {\bfseries See also\-:}~ {\bf Auto\-Segment\-::can\-Dogleg()}. At \hyperlink{namespaceKite}{Kite} level, this variant of the method will apply only on local segments and the segment must not already have a source or target dogleg. Reimplemented in \hyperlink{classKite_1_1TrackSegment_accb4c6a7ee2678a0cff4dbc4a7860fe1}{Track\-Segment}. \hypertarget{classKite_1_1TrackElement_a4f040cf33009e4886d401115c3bea838}{\index{Kite\-::\-Track\-Element@{Kite\-::\-Track\-Element}!can\-Dogleg@{can\-Dogleg}} \index{can\-Dogleg@{can\-Dogleg}!Kite::TrackElement@{Kite\-::\-Track\-Element}} \paragraph[{can\-Dogleg}]{\setlength{\rightskip}{0pt plus 5cm}bool can\-Dogleg ( \begin{DoxyParamCaption} \item[{{\bf Katabatic\-::\-G\-Cell} $\ast$}]{dogleg\-G\-Cell, } \item[{unsigned int}]{flags = {\ttfamily 0}} \end{DoxyParamCaption} )\hspace{0.3cm}{\ttfamily [virtual]}}}\label{classKite_1_1TrackElement_a4f040cf33009e4886d401115c3bea838} {\bfseries See also\-:}~ {\bf Auto\-Segment\-::can\-Dogleg()}. At kite level, this variant of the method is mainly targeted to global segment. For local segment it behave like \hyperlink{classKite_1_1TrackElement_accb4c6a7ee2678a0cff4dbc4a7860fe1}{Track\-Element\-::can\-Dogleg(\-Interval)}. For global segment, make the break in the requested G\-Cell {\ttfamily dogleg\-G\-Cell}. If it's in the first or last G\-Cell and there is already a dogleg, allow to reuse it if {\ttfamily flags} contains \hyperlink{namespaceKite_acca8fffa3182dea5f94208f454f14b47a766f453d6caa06490196a952762f0bb8}{Kite\-::\-Kt\-Allow\-Dogleg\-Reuse}. Reimplemented in \hyperlink{classKite_1_1TrackSegment_a4f040cf33009e4886d401115c3bea838}{Track\-Segment}. \hypertarget{classKite_1_1TrackElement_ae68c47fdf838be02cbf6660cd25a0806}{\index{Kite\-::\-Track\-Element@{Kite\-::\-Track\-Element}!get\-Id@{get\-Id}} \index{get\-Id@{get\-Id}!Kite::TrackElement@{Kite\-::\-Track\-Element}} \paragraph[{get\-Id}]{\setlength{\rightskip}{0pt plus 5cm}unsigned long get\-Id ( \begin{DoxyParamCaption} {} \end{DoxyParamCaption} ) const\hspace{0.3cm}{\ttfamily [virtual]}}}\label{classKite_1_1TrackElement_ae68c47fdf838be02cbf6660cd25a0806} \begin{DoxyReturn}{Returns} The {\ttfamily Id} of the supporting Auto\-Segment, if there is any. {\itshape Zero} otherwise. \end{DoxyReturn} Reimplemented in \hyperlink{classKite_1_1TrackSegment_ae68c47fdf838be02cbf6660cd25a0806}{Track\-Segment}, and \hyperlink{classKite_1_1TrackFixedSegment_ae68c47fdf838be02cbf6660cd25a0806}{Track\-Fixed\-Segment}. Referenced by Routing\-Event\-::process(). \hypertarget{classKite_1_1TrackElement_ae35b78590ed6aa546b626ef95f28c533}{\index{Kite\-::\-Track\-Element@{Kite\-::\-Track\-Element}!get\-Direction@{get\-Direction}} \index{get\-Direction@{get\-Direction}!Kite::TrackElement@{Kite\-::\-Track\-Element}} \paragraph[{get\-Direction}]{\setlength{\rightskip}{0pt plus 5cm}unsigned int get\-Direction ( \begin{DoxyParamCaption} {} \end{DoxyParamCaption} ) const\hspace{0.3cm}{\ttfamily [pure virtual]}}}\label{classKite_1_1TrackElement_ae35b78590ed6aa546b626ef95f28c533} \begin{DoxyReturn}{Returns} The direction of the supporting element (should match the preferred direction of the \hyperlink{classKite_1_1Track}{Track}). \end{DoxyReturn} Implemented in \hyperlink{classKite_1_1TrackSegment_a09d03fbca9ab891c2f25bdae7f89a899}{Track\-Segment}, and \hyperlink{classKite_1_1TrackFixedSegment_a09d03fbca9ab891c2f25bdae7f89a899}{Track\-Fixed\-Segment}. Referenced by Track\-Element\-::get\-Bounding\-Box(), Track\-Segment\-::get\-Source\-Dogleg(), Track\-Segment\-::get\-Target\-Dogleg(), Manipulator\-::make\-Dogleg(), Manipulator\-::minimize(), Manipulator\-::relax(), and Manipulator\-::ripple(). \hypertarget{classKite_1_1TrackElement_a2b383a5b6f5028911a35e446a682dabd}{\index{Kite\-::\-Track\-Element@{Kite\-::\-Track\-Element}!get\-Net@{get\-Net}} \index{get\-Net@{get\-Net}!Kite::TrackElement@{Kite\-::\-Track\-Element}} \paragraph[{get\-Net}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Net} $\ast$ get\-Net ( \begin{DoxyParamCaption} {} \end{DoxyParamCaption} ) const\hspace{0.3cm}{\ttfamily [pure virtual]}}}\label{classKite_1_1TrackElement_a2b383a5b6f5028911a35e446a682dabd} {\bfseries Returns\-:} The Net associated to the element (may be {\ttfamily N\-U\-L\-L}). Implemented in \hyperlink{classKite_1_1TrackSegment_adf3e1a980233163de0ca34a5c3575998}{Track\-Segment}, and \hyperlink{classKite_1_1TrackFixedSegment_adf3e1a980233163de0ca34a5c3575998}{Track\-Fixed\-Segment}. Referenced by Segment\-Fsm\-::conflict\-Solve\-By\-History(), Segment\-Fsm\-::conflict\-Solve\-By\-Placeds(), Segment\-Fsm\-::desaturate(), Segment\-Action\-::do\-Action(), Manipulator\-::force\-Over\-Locals(), Manipulator\-::force\-To\-Track(), Track\-Element\-::get\-Free\-Interval(), Track\-Element\-::get\-Next(), Track\-::get\-Overlap\-Cost(), Track\-Element\-::get\-Previous(), Track\-Element\-::inc\-Overlap\-Cost(), Manipulator\-::insert\-In\-Track(), Manipulator\-::make\-Dogleg(), Manipulator\-::minimize(), Routing\-Event\-::process(), Routing\-Event\-::revalidate(), Manipulator\-::ripple(), Manipulator\-::ripup\-Perpandiculars(), Segment\-Fsm\-::\-Segment\-Fsm(), Manipulator\-::shrink\-To\-Track(), Segment\-Fsm\-::slacken\-Topology(), and Segment\-Fsm\-::solve\-Full\-Blockages(). \hypertarget{classKite_1_1TrackElement_ad96c66549598873bf68c2e18ec7164c1}{\index{Kite\-::\-Track\-Element@{Kite\-::\-Track\-Element}!get\-Layer@{get\-Layer}} \index{get\-Layer@{get\-Layer}!Kite::TrackElement@{Kite\-::\-Track\-Element}} \paragraph[{get\-Layer}]{\setlength{\rightskip}{0pt plus 5cm}const {\bf Layer} $\ast$ get\-Layer ( \begin{DoxyParamCaption} {} \end{DoxyParamCaption} ) const\hspace{0.3cm}{\ttfamily [pure virtual]}}}\label{classKite_1_1TrackElement_ad96c66549598873bf68c2e18ec7164c1} {\bfseries Returns\-:} The Layer of the element (should match the one of the \hyperlink{classKite_1_1Track}{Track}). Implemented in \hyperlink{classKite_1_1TrackSegment_a304ee4e02745811e04ac6fb688bf834f}{Track\-Segment}, and \hyperlink{classKite_1_1TrackFixedSegment_a304ee4e02745811e04ac6fb688bf834f}{Track\-Fixed\-Segment}. Referenced by Segment\-Fsm\-::conflict\-Solve\-By\-History(), Segment\-Fsm\-::conflict\-Solve\-By\-Placeds(), Track\-::insert(), Manipulator\-::relax(), Routing\-Event\-::revalidate(), Manipulator\-::ripple(), Manipulator\-::ripup\-Perpandiculars(), and Segment\-Fsm\-::\-Segment\-Fsm(). \hypertarget{classKite_1_1TrackElement_abfd8de286baf41eea066220773c7046d}{\index{Kite\-::\-Track\-Element@{Kite\-::\-Track\-Element}!get\-Track@{get\-Track}} \index{get\-Track@{get\-Track}!Kite::TrackElement@{Kite\-::\-Track\-Element}} \paragraph[{get\-Track}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Track} $\ast$ get\-Track ( \begin{DoxyParamCaption} {} \end{DoxyParamCaption} ) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classKite_1_1TrackElement_abfd8de286baf41eea066220773c7046d} {\bfseries Returns\-:} The \hyperlink{classKite_1_1Track}{Track} into which the element is inserted (may be {\ttfamily N\-U\-L\-L}). Referenced by Routing\-Event\-Queue\-::add(), Segment\-Action\-::do\-Action(), Track\-Fixed\-Segment\-::get\-Axis(), Track\-Fixed\-Segment\-::get\-Direction(), Data\-Negociate\-::get\-Track(), Manipulator\-::is\-Caged(), Track\-Fixed\-Segment\-::is\-Horizontal(), Track\-Fixed\-Segment\-::is\-Vertical(), Manipulator\-::relax(), and Track\-Segment\-::swap\-Track(). \hypertarget{classKite_1_1TrackElement_a659e8df65f89db5547aa8a8fe3d92f69}{\index{Kite\-::\-Track\-Element@{Kite\-::\-Track\-Element}!get\-Index@{get\-Index}} \index{get\-Index@{get\-Index}!Kite::TrackElement@{Kite\-::\-Track\-Element}} \paragraph[{get\-Index}]{\setlength{\rightskip}{0pt plus 5cm}size\-\_\-t get\-Index ( \begin{DoxyParamCaption} {} \end{DoxyParamCaption} ) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classKite_1_1TrackElement_a659e8df65f89db5547aa8a8fe3d92f69} {\bfseries Returns\-:} The index of the element inside the \hyperlink{classKite_1_1Track}{Track}'s vector. \begin{DoxyParagraph}{Remark\-:} If the element is not inserted in a \hyperlink{classKite_1_1Track}{Track}, it is set to \hyperlink{classKite_1_1Track_ae0070ea45b2592ce3701ab9e486e58a0}{Track\-::npos}, and obviously must not be used. \end{DoxyParagraph} Referenced by Track\-Segment\-::swap\-Track(). \hypertarget{classKite_1_1TrackElement_a9f20f94d2d8aaa38c2b9ead5275ead27}{\index{Kite\-::\-Track\-Element@{Kite\-::\-Track\-Element}!get\-Freedom\-Degree@{get\-Freedom\-Degree}} \index{get\-Freedom\-Degree@{get\-Freedom\-Degree}!Kite::TrackElement@{Kite\-::\-Track\-Element}} \paragraph[{get\-Freedom\-Degree}]{\setlength{\rightskip}{0pt plus 5cm}unsigned long get\-Freedom\-Degree ( \begin{DoxyParamCaption} {} \end{DoxyParamCaption} ) const\hspace{0.3cm}{\ttfamily [virtual]}}}\label{classKite_1_1TrackElement_a9f20f94d2d8aaa38c2b9ead5275ead27} {\bfseries Returns\-:} The degree of freedom of the element. It is used as a priority value when sorting \hyperlink{classKite_1_1TrackElement}{Track\-Element} (in \hyperlink{classKite_1_1RoutingEvent}{Routing\-Event}). {\bfseries Returns\-:} The degree of freedom of the element. It is used as a priority value when sorting \hyperlink{classKite_1_1TrackElement}{Track\-Element} (in \hyperlink{classKite_1_1RoutingEvent}{Routing\-Event}). Currently, it is the {\itshape slack} of the {\bf Katabatic\-::\-Auto\-Segment}. Reimplemented in \hyperlink{classKite_1_1TrackSegment_a9f20f94d2d8aaa38c2b9ead5275ead27}{Track\-Segment}. Referenced by Routing\-Event\-::process(). \hypertarget{classKite_1_1TrackElement_a71b29fb20a3ba09616a6be4b122a797e}{\index{Kite\-::\-Track\-Element@{Kite\-::\-Track\-Element}!get\-Max\-Under\-Density@{get\-Max\-Under\-Density}} \index{get\-Max\-Under\-Density@{get\-Max\-Under\-Density}!Kite::TrackElement@{Kite\-::\-Track\-Element}} \paragraph[{get\-Max\-Under\-Density}]{\setlength{\rightskip}{0pt plus 5cm}float get\-Max\-Under\-Density ( \begin{DoxyParamCaption} \item[{unsigned int}]{flags = {\ttfamily 0}} \end{DoxyParamCaption} ) const\hspace{0.3cm}{\ttfamily [virtual]}}}\label{classKite_1_1TrackElement_a71b29fb20a3ba09616a6be4b122a797e} {\bfseries Returns\-:} The maximum density of all the G\-Cells under this element. Reimplemented in \hyperlink{classKite_1_1TrackSegment_a3bc51798c4b09a1537350822025adcea}{Track\-Segment}. \hypertarget{classKite_1_1TrackElement_a3b9694bf093e3ea16e4a8c8126a8d4db}{\index{Kite\-::\-Track\-Element@{Kite\-::\-Track\-Element}!get\-Bounding\-Box@{get\-Bounding\-Box}} \index{get\-Bounding\-Box@{get\-Bounding\-Box}!Kite::TrackElement@{Kite\-::\-Track\-Element}} \paragraph[{get\-Bounding\-Box}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Box} get\-Bounding\-Box ( \begin{DoxyParamCaption} {} \end{DoxyParamCaption} ) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classKite_1_1TrackElement_a3b9694bf093e3ea16e4a8c8126a8d4db} {\bfseries Returns\-:} The box that this element uses in the \hyperlink{classKite_1_1Track}{Track}. \hypertarget{classKite_1_1TrackElement_a5af0ac91c558873fea9703e7ab6f48df}{\index{Kite\-::\-Track\-Element@{Kite\-::\-Track\-Element}!get\-Next@{get\-Next}} \index{get\-Next@{get\-Next}!Kite::TrackElement@{Kite\-::\-Track\-Element}} \paragraph[{get\-Next}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Track\-Element} $\ast$ get\-Next ( \begin{DoxyParamCaption} {} \end{DoxyParamCaption} ) const\hspace{0.3cm}{\ttfamily [virtual]}}}\label{classKite_1_1TrackElement_a5af0ac91c558873fea9703e7ab6f48df} {\bfseries Returns\-:} The next \hyperlink{classKite_1_1TrackElement}{Track\-Element}, on the same track and of a {\itshape different} net. {\bfseries See also\-:}~ \hyperlink{classKite_1_1Track_afaad0c947c459bab3b7ef742aaa5c59f}{Track\-::get\-Next()}. Reimplemented in \hyperlink{classKite_1_1TrackSegment_a5af0ac91c558873fea9703e7ab6f48df}{Track\-Segment}, and \hyperlink{classKite_1_1TrackFixedSegment_a5af0ac91c558873fea9703e7ab6f48df}{Track\-Fixed\-Segment}. Referenced by Manipulator\-::is\-Caged(). \hypertarget{classKite_1_1TrackElement_acbb9c965449bf4502d71149563cec0a2}{\index{Kite\-::\-Track\-Element@{Kite\-::\-Track\-Element}!get\-Previous@{get\-Previous}} \index{get\-Previous@{get\-Previous}!Kite::TrackElement@{Kite\-::\-Track\-Element}} \paragraph[{get\-Previous}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Track\-Element} $\ast$ get\-Previous ( \begin{DoxyParamCaption} {} \end{DoxyParamCaption} ) const\hspace{0.3cm}{\ttfamily [virtual]}}}\label{classKite_1_1TrackElement_acbb9c965449bf4502d71149563cec0a2} {\bfseries Returns\-:} The previous \hyperlink{classKite_1_1TrackElement}{Track\-Element}, on the same track and of a {\itshape different} net. {\bfseries See also\-:}~ \hyperlink{classKite_1_1Track_a4ebcb68fdea325b48de96a417a86d896}{Track\-::get\-Previous()}. Reimplemented in \hyperlink{classKite_1_1TrackSegment_acbb9c965449bf4502d71149563cec0a2}{Track\-Segment}, and \hyperlink{classKite_1_1TrackFixedSegment_acbb9c965449bf4502d71149563cec0a2}{Track\-Fixed\-Segment}. Referenced by Manipulator\-::is\-Caged(). \hypertarget{classKite_1_1TrackElement_ac492fb5399691d81c31547db6b56fd03}{\index{Kite\-::\-Track\-Element@{Kite\-::\-Track\-Element}!get\-Axis@{get\-Axis}} \index{get\-Axis@{get\-Axis}!Kite::TrackElement@{Kite\-::\-Track\-Element}} \paragraph[{get\-Axis}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Db\-U\-::\-Unit} get\-Axis ( \begin{DoxyParamCaption} {} \end{DoxyParamCaption} ) const\hspace{0.3cm}{\ttfamily [pure virtual]}}}\label{classKite_1_1TrackElement_ac492fb5399691d81c31547db6b56fd03} {\bfseries Returns\-:} The axis position of the element (must be the same as the \hyperlink{classKite_1_1Track}{Track}). Implemented in \hyperlink{classKite_1_1TrackSegment_af85576c58c70007850ad56e238e8d266}{Track\-Segment}, and \hyperlink{classKite_1_1TrackFixedSegment_af85576c58c70007850ad56e238e8d266}{Track\-Fixed\-Segment}. Referenced by Segment\-Fsm\-::conflict\-Solve\-By\-History(), Track\-Element\-::get\-Bounding\-Box(), Manipulator\-::ripple(), and Manipulator\-::ripup\-Perpandiculars(). \hypertarget{classKite_1_1TrackElement_a3932d5ce9094ead510e4e33bd4e78e1a}{\index{Kite\-::\-Track\-Element@{Kite\-::\-Track\-Element}!get\-Source\-U@{get\-Source\-U}} \index{get\-Source\-U@{get\-Source\-U}!Kite::TrackElement@{Kite\-::\-Track\-Element}} \paragraph[{get\-Source\-U}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Db\-U\-::\-Unit} get\-Source\-U ( \begin{DoxyParamCaption} {} \end{DoxyParamCaption} ) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classKite_1_1TrackElement_a3932d5ce9094ead510e4e33bd4e78e1a} {\bfseries Returns\-:} The minimun of the interval used by the element (cached in an attribute). Referenced by Track\-Segment\-::\-\_\-check(), Segment\-Fsm\-::conflict\-Solve\-By\-History(), Track\-::find(), Track\-Element\-::get\-Bounding\-Box(), Track\-Element\-::get\-Canonical\-Interval(), Track\-Element\-::get\-Length(), Manipulator\-::insert\-In\-Track(), Manipulator\-::is\-Caged(), Manipulator\-::minimize(), and Manipulator\-::shrink\-To\-Track(). \hypertarget{classKite_1_1TrackElement_a8e5f2a51f56c6bdb74024ac77c08a22a}{\index{Kite\-::\-Track\-Element@{Kite\-::\-Track\-Element}!get\-Target\-U@{get\-Target\-U}} \index{get\-Target\-U@{get\-Target\-U}!Kite::TrackElement@{Kite\-::\-Track\-Element}} \paragraph[{get\-Target\-U}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Db\-U\-::\-Unit} get\-Target\-U ( \begin{DoxyParamCaption} {} \end{DoxyParamCaption} ) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classKite_1_1TrackElement_a8e5f2a51f56c6bdb74024ac77c08a22a} {\bfseries Returns\-:} The maximum of the interval used by the element (cached in an attribute). Referenced by Track\-Segment\-::\-\_\-check(), Track\-Element\-::get\-Bounding\-Box(), Track\-Element\-::get\-Canonical\-Interval(), Track\-Element\-::get\-Length(), Manipulator\-::insert\-In\-Track(), and Manipulator\-::is\-Caged(). \hypertarget{classKite_1_1TrackElement_a5370f2cf21823e1fa58d0627ee53c483}{\index{Kite\-::\-Track\-Element@{Kite\-::\-Track\-Element}!get\-Length@{get\-Length}} \index{get\-Length@{get\-Length}!Kite::TrackElement@{Kite\-::\-Track\-Element}} \paragraph[{get\-Length}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Db\-U\-::\-Unit} get\-Length ( \begin{DoxyParamCaption} {} \end{DoxyParamCaption} ) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classKite_1_1TrackElement_a5370f2cf21823e1fa58d0627ee53c483} {\bfseries Returns\-:} The length of the interval used by the element. Referenced by Negociate\-Window\-::compute\-Wirelength(), Manipulator\-::make\-Dogleg(), Manipulator\-::move\-Up(), and Routing\-Event\-::revalidate(). \hypertarget{classKite_1_1TrackElement_ad78cfb34e7d8e92ba854fbc2dbf9d842}{\index{Kite\-::\-Track\-Element@{Kite\-::\-Track\-Element}!get\-Canonical\-Interval@{get\-Canonical\-Interval}} \index{get\-Canonical\-Interval@{get\-Canonical\-Interval}!Kite::TrackElement@{Kite\-::\-Track\-Element}} \paragraph[{get\-Canonical\-Interval}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Interval} get\-Canonical\-Interval ( \begin{DoxyParamCaption} {} \end{DoxyParamCaption} ) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classKite_1_1TrackElement_ad78cfb34e7d8e92ba854fbc2dbf9d842} {\bfseries Returns\-:} The interval span used by the element inside the \hyperlink{classKite_1_1Track}{Track}. Referenced by Segment\-Fsm\-::conflict\-Solve\-By\-History(), Segment\-Fsm\-::conflict\-Solve\-By\-Placeds(), Segment\-Fsm\-::desaturate(), Manipulator\-::force\-Over\-Locals(), Manipulator\-::force\-To\-Track(), Track\-::get\-Overlap\-Cost(), Manipulator\-::insert\-In\-Track(), Manipulator\-::make\-Dogleg(), Manipulator\-::minimize(), Manipulator\-::relax(), Manipulator\-::ripple(), Manipulator\-::ripup\-Perpandiculars(), Manipulator\-::shrink\-To\-Track(), and Segment\-Fsm\-::solve\-Full\-Blockages(). \hypertarget{classKite_1_1TrackElement_a38d30a241d00a14943a06401d0d12923}{\index{Kite\-::\-Track\-Element@{Kite\-::\-Track\-Element}!get\-Free\-Interval@{get\-Free\-Interval}} \index{get\-Free\-Interval@{get\-Free\-Interval}!Kite::TrackElement@{Kite\-::\-Track\-Element}} \paragraph[{get\-Free\-Interval}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Interval} get\-Free\-Interval ( \begin{DoxyParamCaption} {} \end{DoxyParamCaption} ) const\hspace{0.3cm}{\ttfamily [virtual]}}}\label{classKite_1_1TrackElement_a38d30a241d00a14943a06401d0d12923} {\bfseries Returns\-:} The greatest free interval enclosing this element. Reimplemented in \hyperlink{classKite_1_1TrackSegment_a38d30a241d00a14943a06401d0d12923}{Track\-Segment}, and \hyperlink{classKite_1_1TrackFixedSegment_a38d30a241d00a14943a06401d0d12923}{Track\-Fixed\-Segment}. \hypertarget{classKite_1_1TrackElement_a972921aeb7f907194710ea35ac7600be}{\index{Kite\-::\-Track\-Element@{Kite\-::\-Track\-Element}!get\-Source\-Constraints@{get\-Source\-Constraints}} \index{get\-Source\-Constraints@{get\-Source\-Constraints}!Kite::TrackElement@{Kite\-::\-Track\-Element}} \paragraph[{get\-Source\-Constraints}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Interval} get\-Source\-Constraints ( \begin{DoxyParamCaption} {} \end{DoxyParamCaption} ) const\hspace{0.3cm}{\ttfamily [virtual]}}}\label{classKite_1_1TrackElement_a972921aeb7f907194710ea35ac7600be} {\bfseries See also\-:}~ {\bf Katabatic\-::\-Auto\-Segment\-::get\-Source\-Constraints()}. Reimplemented in \hyperlink{classKite_1_1TrackSegment_a972921aeb7f907194710ea35ac7600be}{Track\-Segment}. \hypertarget{classKite_1_1TrackElement_a00d398bdc1837c6c1e4847895c557829}{\index{Kite\-::\-Track\-Element@{Kite\-::\-Track\-Element}!get\-Target\-Constraints@{get\-Target\-Constraints}} \index{get\-Target\-Constraints@{get\-Target\-Constraints}!Kite::TrackElement@{Kite\-::\-Track\-Element}} \paragraph[{get\-Target\-Constraints}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Interval} get\-Target\-Constraints ( \begin{DoxyParamCaption} {} \end{DoxyParamCaption} ) const\hspace{0.3cm}{\ttfamily [virtual]}}}\label{classKite_1_1TrackElement_a00d398bdc1837c6c1e4847895c557829} {\bfseries See also\-:}~ {\bf Katabatic\-::\-Auto\-Segment\-::get\-Target\-Constraints()}. Reimplemented in \hyperlink{classKite_1_1TrackSegment_a00d398bdc1837c6c1e4847895c557829}{Track\-Segment}. \hypertarget{classKite_1_1TrackElement_a76a45d5701f875711a03692e9bf6d5ce}{\index{Kite\-::\-Track\-Element@{Kite\-::\-Track\-Element}!get\-Data\-Negociate@{get\-Data\-Negociate}} \index{get\-Data\-Negociate@{get\-Data\-Negociate}!Kite::TrackElement@{Kite\-::\-Track\-Element}} \paragraph[{get\-Data\-Negociate}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Data\-Negociate} $\ast$ get\-Data\-Negociate ( \begin{DoxyParamCaption} \item[{unsigned int}]{flags = {\ttfamily {\bf Kt\-Data\-Self}}} \end{DoxyParamCaption} ) const\hspace{0.3cm}{\ttfamily [virtual]}}}\label{classKite_1_1TrackElement_a76a45d5701f875711a03692e9bf6d5ce} {\bfseries Returns\-:} The additional data-\/structure supplied by the routing algorithm. Reimplemented in \hyperlink{classKite_1_1TrackSegment_a76a45d5701f875711a03692e9bf6d5ce}{Track\-Segment}. Referenced by Negociate\-Window\-::add\-Routing\-Event(), Segment\-Fsm\-::desaturate(), Segment\-Action\-::do\-Action(), Manipulator\-::force\-Over\-Locals(), Manipulator\-::force\-To\-Track(), Track\-Segment\-::get\-Data\-Negociate(), Routing\-Event\-::get\-State(), Manipulator\-::insert\-In\-Track(), Manipulator\-::make\-Dogleg(), Routing\-Event\-::process(), Manipulator\-::relax(), Manipulator\-::repack\-Perpandiculars(), Routing\-Event\-::reschedule(), Manipulator\-::ripple(), Segment\-Fsm\-::\-Segment\-Fsm(), Negociate\-Window\-::set\-G\-Cells(), Routing\-Event\-::set\-Segment(), Routing\-Event\-::set\-State(), and Segment\-Fsm\-::slacken\-Topology(). \hypertarget{classKite_1_1TrackElement_af2d46d64cbd02bdbba53d5483d95e26d}{\index{Kite\-::\-Track\-Element@{Kite\-::\-Track\-Element}!get\-Canonical@{get\-Canonical}} \index{get\-Canonical@{get\-Canonical}!Kite::TrackElement@{Kite\-::\-Track\-Element}} \paragraph[{get\-Canonical}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Track\-Element} $\ast$ get\-Canonical ( \begin{DoxyParamCaption} \item[{{\bf Interval} \&}]{i} \end{DoxyParamCaption} )\hspace{0.3cm}{\ttfamily [virtual]}}}\label{classKite_1_1TrackElement_af2d46d64cbd02bdbba53d5483d95e26d} Inner working still unclear to myself. Reimplemented in \hyperlink{classKite_1_1TrackSegment_af2d46d64cbd02bdbba53d5483d95e26d}{Track\-Segment}. Referenced by Negociate\-Window\-::create\-Track\-Segment(), and Data\-Negociate\-::update(). \hypertarget{classKite_1_1TrackElement_a79b25d8199fe90446e99cf08d2d85674}{\index{Kite\-::\-Track\-Element@{Kite\-::\-Track\-Element}!get\-G\-Cells@{get\-G\-Cells}} \index{get\-G\-Cells@{get\-G\-Cells}!Kite::TrackElement@{Kite\-::\-Track\-Element}} \paragraph[{get\-G\-Cells}]{\setlength{\rightskip}{0pt plus 5cm}size\-\_\-t get\-G\-Cells ( \begin{DoxyParamCaption} \item[{Katabatic\-::\-G\-Cell\-Vector \&}]{gcells} \end{DoxyParamCaption} ) const\hspace{0.3cm}{\ttfamily [virtual]}}}\label{classKite_1_1TrackElement_a79b25d8199fe90446e99cf08d2d85674} {\bfseries Returns\-:} The table of {\bf Katabatic\-::\-G\-Cell} underneath the element whole span. Reimplemented in \hyperlink{classKite_1_1TrackSegment_a79b25d8199fe90446e99cf08d2d85674}{Track\-Segment}. Referenced by Manipulator\-::make\-Dogleg(), and Manipulator\-::relax(). \hypertarget{classKite_1_1TrackElement_ad1a03a36d5908ce44c3d0391ff9c7103}{\index{Kite\-::\-Track\-Element@{Kite\-::\-Track\-Element}!get\-Parent@{get\-Parent}} \index{get\-Parent@{get\-Parent}!Kite::TrackElement@{Kite\-::\-Track\-Element}} \paragraph[{get\-Parent}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Track\-Element} $\ast$ get\-Parent ( \begin{DoxyParamCaption} {} \end{DoxyParamCaption} ) const\hspace{0.3cm}{\ttfamily [virtual]}}}\label{classKite_1_1TrackElement_ad1a03a36d5908ce44c3d0391ff9c7103} {\bfseries Returns\-:} The \hyperlink{classKite_1_1TrackElement}{Track\-Element} from which the dogleg has been created, if any. Reimplemented in \hyperlink{classKite_1_1TrackSegment_ad1a03a36d5908ce44c3d0391ff9c7103}{Track\-Segment}. Referenced by Routing\-Event\-::set\-Axis\-Hint\-From\-Parent(). \hypertarget{classKite_1_1TrackElement_ace669b962e7df815b92fe70e1f4ad755}{\index{Kite\-::\-Track\-Element@{Kite\-::\-Track\-Element}!get\-Dogleg\-Level@{get\-Dogleg\-Level}} \index{get\-Dogleg\-Level@{get\-Dogleg\-Level}!Kite::TrackElement@{Kite\-::\-Track\-Element}} \paragraph[{get\-Dogleg\-Level}]{\setlength{\rightskip}{0pt plus 5cm}unsigned int get\-Dogleg\-Level ( \begin{DoxyParamCaption} {} \end{DoxyParamCaption} ) const\hspace{0.3cm}{\ttfamily [virtual]}}}\label{classKite_1_1TrackElement_ace669b962e7df815b92fe70e1f4ad755} {\bfseries Returns\-:} The deepness of the dogleg. Reimplemented in \hyperlink{classKite_1_1TrackSegment_ace669b962e7df815b92fe70e1f4ad755}{Track\-Segment}. \hypertarget{classKite_1_1TrackElement_a7e79fbfe77f173d46b1959c41087930a}{\index{Kite\-::\-Track\-Element@{Kite\-::\-Track\-Element}!get\-Source\-Dogleg@{get\-Source\-Dogleg}} \index{get\-Source\-Dogleg@{get\-Source\-Dogleg}!Kite::TrackElement@{Kite\-::\-Track\-Element}} \paragraph[{get\-Source\-Dogleg}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Track\-Element} $\ast$ get\-Source\-Dogleg ( \begin{DoxyParamCaption} {} \end{DoxyParamCaption} )\hspace{0.3cm}{\ttfamily [virtual]}}}\label{classKite_1_1TrackElement_a7e79fbfe77f173d46b1959c41087930a} {\bfseries Returns\-:} The source part of the segment from which the dogleg has been created. Reimplemented in \hyperlink{classKite_1_1TrackSegment_a7e79fbfe77f173d46b1959c41087930a}{Track\-Segment}. Referenced by Manipulator\-::relax(). \hypertarget{classKite_1_1TrackElement_aeb4e39bd925d093e6c45599433bb421c}{\index{Kite\-::\-Track\-Element@{Kite\-::\-Track\-Element}!get\-Target\-Dogleg@{get\-Target\-Dogleg}} \index{get\-Target\-Dogleg@{get\-Target\-Dogleg}!Kite::TrackElement@{Kite\-::\-Track\-Element}} \paragraph[{get\-Target\-Dogleg}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Track\-Element} $\ast$ get\-Target\-Dogleg ( \begin{DoxyParamCaption} {} \end{DoxyParamCaption} )\hspace{0.3cm}{\ttfamily [virtual]}}}\label{classKite_1_1TrackElement_aeb4e39bd925d093e6c45599433bb421c} {\bfseries Returns\-:} The target part of the segment from which the dogleg has been created. Reimplemented in \hyperlink{classKite_1_1TrackSegment_aeb4e39bd925d093e6c45599433bb421c}{Track\-Segment}. Referenced by Manipulator\-::relax(). \hypertarget{classKite_1_1TrackElement_aa0ba92ebf19f596537dc051c090d5736}{\index{Kite\-::\-Track\-Element@{Kite\-::\-Track\-Element}!get\-Perpandiculars@{get\-Perpandiculars}} \index{get\-Perpandiculars@{get\-Perpandiculars}!Kite::TrackElement@{Kite\-::\-Track\-Element}} \paragraph[{get\-Perpandiculars}]{\setlength{\rightskip}{0pt plus 5cm}Track\-Elements get\-Perpandiculars ( \begin{DoxyParamCaption} {} \end{DoxyParamCaption} )\hspace{0.3cm}{\ttfamily [virtual]}}}\label{classKite_1_1TrackElement_aa0ba92ebf19f596537dc051c090d5736} {\bfseries Returns\-:} The collection of all element perpandiculars to this one. Reimplemented in \hyperlink{classKite_1_1TrackSegment_aa0ba92ebf19f596537dc051c090d5736}{Track\-Segment}. Referenced by Manipulator\-::force\-To\-Track(), and Manipulator\-::insert\-In\-Track(). \hypertarget{classKite_1_1TrackElement_aeb14f94914af58657a0dc2f50ec98df5}{\index{Kite\-::\-Track\-Element@{Kite\-::\-Track\-Element}!set\-Flags@{set\-Flags}} \index{set\-Flags@{set\-Flags}!Kite::TrackElement@{Kite\-::\-Track\-Element}} \paragraph[{set\-Flags}]{\setlength{\rightskip}{0pt plus 5cm}void set\-Flags ( \begin{DoxyParamCaption} \item[{unsigned int}]{flags} \end{DoxyParamCaption} )\hspace{0.3cm}{\ttfamily [inline]}}}\label{classKite_1_1TrackElement_aeb14f94914af58657a0dc2f50ec98df5} Set to {\bfseries true} {\ttfamily flags} in the element state array. Referenced by Track\-Segment\-::detach(), Track\-Segment\-::invalidate(), and Manipulator\-::relax(). \hypertarget{classKite_1_1TrackElement_a1a6fac115cb81db48e3ac9ffa0721bb5}{\index{Kite\-::\-Track\-Element@{Kite\-::\-Track\-Element}!unset\-Flags@{unset\-Flags}} \index{unset\-Flags@{unset\-Flags}!Kite::TrackElement@{Kite\-::\-Track\-Element}} \paragraph[{unset\-Flags}]{\setlength{\rightskip}{0pt plus 5cm}void unset\-Flags ( \begin{DoxyParamCaption} \item[{unsigned int}]{flags} \end{DoxyParamCaption} )\hspace{0.3cm}{\ttfamily [inline]}}}\label{classKite_1_1TrackElement_a1a6fac115cb81db48e3ac9ffa0721bb5} Reset to {\bfseries false} {\ttfamily flags} in the element state array. Referenced by Track\-Segment\-::revalidate(). \hypertarget{classKite_1_1TrackElement_abd3d8093f871d3d1a7f24b053648026c}{\index{Kite\-::\-Track\-Element@{Kite\-::\-Track\-Element}!set\-Track@{set\-Track}} \index{set\-Track@{set\-Track}!Kite::TrackElement@{Kite\-::\-Track\-Element}} \paragraph[{set\-Track}]{\setlength{\rightskip}{0pt plus 5cm}void set\-Track ( \begin{DoxyParamCaption} \item[{{\bf Track} $\ast$}]{track} \end{DoxyParamCaption} )\hspace{0.3cm}{\ttfamily [virtual]}}}\label{classKite_1_1TrackElement_abd3d8093f871d3d1a7f24b053648026c} Insert the element into {\ttfamily track}, also used as an insertion marker. Reimplemented in \hyperlink{classKite_1_1TrackSegment_abd3d8093f871d3d1a7f24b053648026c}{Track\-Segment}. Referenced by Track\-::insert(), and Track\-Segment\-::set\-Track(). \hypertarget{classKite_1_1TrackElement_abee236b4d62f51320212f31e010fc1b5}{\index{Kite\-::\-Track\-Element@{Kite\-::\-Track\-Element}!set\-Index@{set\-Index}} \index{set\-Index@{set\-Index}!Kite::TrackElement@{Kite\-::\-Track\-Element}} \paragraph[{set\-Index}]{\setlength{\rightskip}{0pt plus 5cm}void set\-Index ( \begin{DoxyParamCaption} \item[{size\-\_\-t}]{index} \end{DoxyParamCaption} )\hspace{0.3cm}{\ttfamily [inline]}}}\label{classKite_1_1TrackElement_abee236b4d62f51320212f31e010fc1b5} Cache the element's index in the \hyperlink{classKite_1_1Track}{Track} internal vector. Referenced by Track\-Segment\-::detach(), and Track\-Segment\-::swap\-Track(). \hypertarget{classKite_1_1TrackElement_af5332d647c0482aa90ad7cc9b2a50f3a}{\index{Kite\-::\-Track\-Element@{Kite\-::\-Track\-Element}!update\-Freedom\-Degree@{update\-Freedom\-Degree}} \index{update\-Freedom\-Degree@{update\-Freedom\-Degree}!Kite::TrackElement@{Kite\-::\-Track\-Element}} \paragraph[{update\-Freedom\-Degree}]{\setlength{\rightskip}{0pt plus 5cm}void update\-Freedom\-Degree ( \begin{DoxyParamCaption} {} \end{DoxyParamCaption} )\hspace{0.3cm}{\ttfamily [virtual]}}}\label{classKite_1_1TrackElement_af5332d647c0482aa90ad7cc9b2a50f3a} Update, from the element characteristics, it's degree of freedom. Reimplemented in \hyperlink{classKite_1_1TrackSegment_af5332d647c0482aa90ad7cc9b2a50f3a}{Track\-Segment}. \hypertarget{classKite_1_1TrackElement_a2b90319cb042b283aa5d1fdb1992f11f}{\index{Kite\-::\-Track\-Element@{Kite\-::\-Track\-Element}!set\-Dogleg\-Level@{set\-Dogleg\-Level}} \index{set\-Dogleg\-Level@{set\-Dogleg\-Level}!Kite::TrackElement@{Kite\-::\-Track\-Element}} \paragraph[{set\-Dogleg\-Level}]{\setlength{\rightskip}{0pt plus 5cm}void set\-Dogleg\-Level ( \begin{DoxyParamCaption} \item[{unsigned int}]{level} \end{DoxyParamCaption} )\hspace{0.3cm}{\ttfamily [virtual]}}}\label{classKite_1_1TrackElement_a2b90319cb042b283aa5d1fdb1992f11f} Sets the level of dogleg of the element. Reimplemented in \hyperlink{classKite_1_1TrackSegment_a2b90319cb042b283aa5d1fdb1992f11f}{Track\-Segment}. \hypertarget{classKite_1_1TrackElement_acc245ce084989d1c34816d0e61b9d510}{\index{Kite\-::\-Track\-Element@{Kite\-::\-Track\-Element}!swap\-Track@{swap\-Track}} \index{swap\-Track@{swap\-Track}!Kite::TrackElement@{Kite\-::\-Track\-Element}} \paragraph[{swap\-Track}]{\setlength{\rightskip}{0pt plus 5cm}void swap\-Track ( \begin{DoxyParamCaption} \item[{{\bf Track\-Element} $\ast$}]{other} \end{DoxyParamCaption} )\hspace{0.3cm}{\ttfamily [virtual]}}}\label{classKite_1_1TrackElement_acc245ce084989d1c34816d0e61b9d510} Swap the tracks of {\ttfamily this} and {\ttfamily other}. Reimplemented in \hyperlink{classKite_1_1TrackSegment_acc245ce084989d1c34816d0e61b9d510}{Track\-Segment}. \hypertarget{classKite_1_1TrackElement_a0ffe603ec7d46f21f5e56ccbe84c03fb}{\index{Kite\-::\-Track\-Element@{Kite\-::\-Track\-Element}!reschedule@{reschedule}} \index{reschedule@{reschedule}!Kite::TrackElement@{Kite\-::\-Track\-Element}} \paragraph[{reschedule}]{\setlength{\rightskip}{0pt plus 5cm}void reschedule ( \begin{DoxyParamCaption} \item[{unsigned int}]{level} \end{DoxyParamCaption} )\hspace{0.3cm}{\ttfamily [virtual]}}}\label{classKite_1_1TrackElement_a0ffe603ec7d46f21f5e56ccbe84c03fb} If the \hyperlink{classKite_1_1TrackElement}{Track\-Element} has already an event scheduled, change the level of this event, otherwise create a new event. {\bfseries See also\-:}~ Negotiate\-Window\-::reschedule\-Event(). Reimplemented in \hyperlink{classKite_1_1TrackSegment_a0ffe603ec7d46f21f5e56ccbe84c03fb}{Track\-Segment}. Referenced by Track\-Segment\-::\-\_\-post\-Doglegs(). \hypertarget{classKite_1_1TrackElement_ac295bade8aee589f6718dfa79edc2a34}{\index{Kite\-::\-Track\-Element@{Kite\-::\-Track\-Element}!detach@{detach}} \index{detach@{detach}!Kite::TrackElement@{Kite\-::\-Track\-Element}} \paragraph[{detach}]{\setlength{\rightskip}{0pt plus 5cm}void detach ( \begin{DoxyParamCaption} {} \end{DoxyParamCaption} )\hspace{0.3cm}{\ttfamily [virtual]}}}\label{classKite_1_1TrackElement_ac295bade8aee589f6718dfa79edc2a34} Remove the link from the \hyperlink{classKite_1_1TrackElement}{Track\-Element} to it's owning \hyperlink{classKite_1_1Track}{Track}, marking it for removal. The removal from the \hyperlink{classKite_1_1Track}{Track}'s vector is managed by the \hyperlink{classKite_1_1Track}{Track} itself during the \hyperlink{classKite_1_1Session}{Session} revalidation stage. Reimplemented in \hyperlink{classKite_1_1TrackSegment_ac295bade8aee589f6718dfa79edc2a34}{Track\-Segment}. \hypertarget{classKite_1_1TrackElement_a893f1101c650c08c98612515c2b1a89c}{\index{Kite\-::\-Track\-Element@{Kite\-::\-Track\-Element}!invalidate@{invalidate}} \index{invalidate@{invalidate}!Kite::TrackElement@{Kite\-::\-Track\-Element}} \paragraph[{invalidate}]{\setlength{\rightskip}{0pt plus 5cm}void invalidate ( \begin{DoxyParamCaption} {} \end{DoxyParamCaption} )\hspace{0.3cm}{\ttfamily [virtual]}}}\label{classKite_1_1TrackElement_a893f1101c650c08c98612515c2b1a89c} {\bfseries See also\-:}~ {\bf Auto\-Segment\-::invalidate()}. Reimplemented in \hyperlink{classKite_1_1TrackSegment_a893f1101c650c08c98612515c2b1a89c}{Track\-Segment}. Referenced by Negociate\-Window\-::create\-Track\-Segment(), and Segment\-Observer\-::notify(). \hypertarget{classKite_1_1TrackElement_a5bd93abe1416952ace15a98dbeeed124}{\index{Kite\-::\-Track\-Element@{Kite\-::\-Track\-Element}!revalidate@{revalidate}} \index{revalidate@{revalidate}!Kite::TrackElement@{Kite\-::\-Track\-Element}} \paragraph[{revalidate}]{\setlength{\rightskip}{0pt plus 5cm}void revalidate ( \begin{DoxyParamCaption} {} \end{DoxyParamCaption} )\hspace{0.3cm}{\ttfamily [virtual]}}}\label{classKite_1_1TrackElement_a5bd93abe1416952ace15a98dbeeed124} Actualize the \hyperlink{classKite_1_1TrackElement}{Track\-Element} characteristics from the supporting elements (set of Auto\-Segment). Must be completed with the event management Reimplemented in \hyperlink{classKite_1_1TrackSegment_a5bd93abe1416952ace15a98dbeeed124}{Track\-Segment}. \hypertarget{classKite_1_1TrackElement_a250348f9030b92b19580749bf99030b5}{\index{Kite\-::\-Track\-Element@{Kite\-::\-Track\-Element}!inc\-Overlap\-Cost@{inc\-Overlap\-Cost}} \index{inc\-Overlap\-Cost@{inc\-Overlap\-Cost}!Kite::TrackElement@{Kite\-::\-Track\-Element}} \paragraph[{inc\-Overlap\-Cost}]{\setlength{\rightskip}{0pt plus 5cm}void inc\-Overlap\-Cost ( \begin{DoxyParamCaption} \item[{{\bf Net} $\ast$}]{net, } \item[{Track\-Cost \&}]{cost} \end{DoxyParamCaption} ) const\hspace{0.3cm}{\ttfamily [virtual]}}}\label{classKite_1_1TrackElement_a250348f9030b92b19580749bf99030b5} {\bfseries See also\-:}~ Compute the cost of overlap between this segment and the interval specified in {\ttfamily cost}. Mainly calls the relevant callback. \hypertarget{classKite_1_1TrackElement_a45e685b1e3ee630d24bf43746553af4c}{\index{Kite\-::\-Track\-Element@{Kite\-::\-Track\-Element}!set\-Axis@{set\-Axis}} \index{set\-Axis@{set\-Axis}!Kite::TrackElement@{Kite\-::\-Track\-Element}} \paragraph[{set\-Axis}]{\setlength{\rightskip}{0pt plus 5cm}void set\-Axis ( \begin{DoxyParamCaption} \item[{{\bf Db\-U\-::\-Unit}}]{, } \item[{unsigned int}]{flags = {\ttfamily {\bf Katabatic\-::\-Seg\-Axis\-Set}}} \end{DoxyParamCaption} )\hspace{0.3cm}{\ttfamily [virtual]}}}\label{classKite_1_1TrackElement_a45e685b1e3ee630d24bf43746553af4c} Sets the axis of the \hyperlink{classKite_1_1TrackElement}{Track\-Element}. Reimplemented in \hyperlink{classKite_1_1TrackSegment_a262a915c38127d3722ec561b30d80f91}{Track\-Segment}. Referenced by Negociate\-Window\-::create\-Track\-Segment(), Segment\-Action\-::do\-Action(), Track\-::insert(), Track\-Segment\-::make\-Dogleg(), and Manipulator\-::relax(). \hypertarget{classKite_1_1TrackElement_a7a9637875364e84e6862de0102341715}{\index{Kite\-::\-Track\-Element@{Kite\-::\-Track\-Element}!make\-Dogleg@{make\-Dogleg}} \index{make\-Dogleg@{make\-Dogleg}!Kite::TrackElement@{Kite\-::\-Track\-Element}} \paragraph[{make\-Dogleg}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Track\-Element} $\ast$ make\-Dogleg ( \begin{DoxyParamCaption} {} \end{DoxyParamCaption} )\hspace{0.3cm}{\ttfamily [virtual]}}}\label{classKite_1_1TrackElement_a7a9637875364e84e6862de0102341715} Create a dogleg on the source end of the \hyperlink{classKite_1_1TrackSegment}{Track\-Segment}. Put the dogleg axis on the source {\bfseries To be further reviewed}. {\bfseries See also\-:}~ \hyperlink{classKite_1_1TrackSegment_secDogleg}{Dogleg management}. Post-\/processing done by \hyperlink{classKite_1_1TrackSegment_a10a45c049d0bd7d01c7eff1c5441c7a2}{Track\-Segment\-::\-\_\-post\-Doglegs()}. Reimplemented in \hyperlink{classKite_1_1TrackSegment_a7a9637875364e84e6862de0102341715}{Track\-Segment}. Referenced by Segment\-Fsm\-::conflict\-Solve\-By\-History(), Manipulator\-::make\-Dogleg(), Track\-Element\-::make\-Dogleg(), and Manipulator\-::relax(). \hypertarget{classKite_1_1TrackElement_a3e1b4982a2427f74e55592520ab6272d}{\index{Kite\-::\-Track\-Element@{Kite\-::\-Track\-Element}!make\-Dogleg@{make\-Dogleg}} \index{make\-Dogleg@{make\-Dogleg}!Kite::TrackElement@{Kite\-::\-Track\-Element}} \paragraph[{make\-Dogleg}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Track\-Element} $\ast$ make\-Dogleg ( \begin{DoxyParamCaption} \item[{{\bf Katabatic\-::\-G\-Cell} $\ast$}]{gcell} \end{DoxyParamCaption} )\hspace{0.3cm}{\ttfamily [inline]}}}\label{classKite_1_1TrackElement_a3e1b4982a2427f74e55592520ab6272d} {\bfseries See also\-:}~ {\bf Auto\-Segment\-::make\-Dogleg()}, \hyperlink{classKite_1_1TrackSegment_secDogleg}{Dogleg management}. Post-\/processing done by \hyperlink{classKite_1_1TrackSegment_a10a45c049d0bd7d01c7eff1c5441c7a2}{Track\-Segment\-::\-\_\-post\-Doglegs()}. \hypertarget{classKite_1_1TrackElement_a524f1569b2f2c1a84df2fe47e84e28ed}{\index{Kite\-::\-Track\-Element@{Kite\-::\-Track\-Element}!make\-Dogleg@{make\-Dogleg}} \index{make\-Dogleg@{make\-Dogleg}!Kite::TrackElement@{Kite\-::\-Track\-Element}} \paragraph[{make\-Dogleg}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Track\-Element} $\ast$ make\-Dogleg ( \begin{DoxyParamCaption} \item[{{\bf Interval}}]{interval, } \item[{unsigned int \&}]{flags} \end{DoxyParamCaption} )\hspace{0.3cm}{\ttfamily [virtual]}}}\label{classKite_1_1TrackElement_a524f1569b2f2c1a84df2fe47e84e28ed} {\bfseries See also\-:}~ {\bf Auto\-Segment\-::make\-Dogleg()}, \hyperlink{classKite_1_1TrackSegment_secDogleg}{Dogleg management}, the return flags from this method are returned through the {\ttfamily flags} variable. Post-\/processing done by \hyperlink{classKite_1_1TrackSegment_a10a45c049d0bd7d01c7eff1c5441c7a2}{Track\-Segment\-::\-\_\-post\-Doglegs()}. Reimplemented in \hyperlink{classKite_1_1TrackSegment_a524f1569b2f2c1a84df2fe47e84e28ed}{Track\-Segment}. \hypertarget{classKite_1_1TrackElement_aa1ef325b98fab61d2c7c5bdc1fcd92fc}{\index{Kite\-::\-Track\-Element@{Kite\-::\-Track\-Element}!\-\_\-check@{\-\_\-check}} \index{\-\_\-check@{\-\_\-check}!Kite::TrackElement@{Kite\-::\-Track\-Element}} \paragraph[{\-\_\-check}]{\setlength{\rightskip}{0pt plus 5cm}bool \-\_\-check ( \begin{DoxyParamCaption} {} \end{DoxyParamCaption} ) const\hspace{0.3cm}{\ttfamily [virtual]}}}\label{classKite_1_1TrackElement_aa1ef325b98fab61d2c7c5bdc1fcd92fc} Check the coherency of the element. For a \hyperlink{classKite_1_1TrackSegment}{Track\-Segment}\-: \begin{DoxyItemize} \item The supporting Auto\-Segment the canonical one of the set. \item The cached {\ttfamily min} \& {\ttfamily max} values are identical to the computed ones. \end{DoxyItemize} {\bfseries Returns\-:} {\bfseries true} on success. Reimplemented in \hyperlink{classKite_1_1TrackSegment_aa1ef325b98fab61d2c7c5bdc1fcd92fc}{Track\-Segment}. The documentation for this class was generated from the following files\-:\begin{DoxyCompactItemize} \item Track\-Element.\-h\item Track\-Element.\-cpp\item Track\-Element.\-dox\item Track\-Segment.\-dox\end{DoxyCompactItemize}