<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">\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 \mbox{\hyperlink{classKite_1_1Track}{Track}}.  




Inheritance diagram for Track\+Element\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=297pt]{classKite_1_1TrackElement__inherit__graph}
\end{center}
\end{figure}
\subsubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
virtual bool \mbox{\hyperlink{classKite_1_1TrackElement_afd7362b850709bed8b61c1aa22399f97}{is\+Fixed}} () const
\item 
virtual bool \mbox{\hyperlink{classKite_1_1TrackElement_a9d3db1f8a5aca58f8f54d291faebf873}{is\+Horizontal}} () const =0
\item 
virtual bool \mbox{\hyperlink{classKite_1_1TrackElement_a6fa2bf0568a2b295dd7cd1f7207247d5}{is\+Vertical}} () const =0
\item 
virtual bool \mbox{\hyperlink{classKite_1_1TrackElement_add556a145a89fdbcea82346abfb873dc}{is\+Local}} () const
\item 
virtual bool \mbox{\hyperlink{classKite_1_1TrackElement_a19ba379112d6b29faa45c5eefbf38500}{is\+Global}} () const
\item 
virtual bool \mbox{\hyperlink{classKite_1_1TrackElement_a72741158d19af38e84c5e9c08f91270f}{is\+Bipoint}} () const
\item 
virtual bool \mbox{\hyperlink{classKite_1_1TrackElement_a1e074cb3064037035548e5e6d238e315}{is\+Terminal}} () const
\item 
virtual bool \mbox{\hyperlink{classKite_1_1TrackElement_a62d61c231cf404a814ae37665fa8164f}{is\+Strap}} () const
\item 
virtual bool \mbox{\hyperlink{classKite_1_1TrackElement_a782cff57d3fe10e758d19ee65a06643d}{is\+Slackened}} () const
\item 
virtual bool \mbox{\hyperlink{classKite_1_1TrackElement_a75d91371e5281dd21f60ff39ae70a3e5}{is\+Dogleg}} () const
\item 
bool \mbox{\hyperlink{classKite_1_1TrackElement_af7d9cf1d7581b1cab04cf38c64f0f72a}{is\+Created}} () const
\item 
bool \mbox{\hyperlink{classKite_1_1TrackElement_ac540608485240ff88970131ebc02c1ab}{is\+Invalidated}} () const
\item 
bool \mbox{\hyperlink{classKite_1_1TrackElement_a3fffa77f98cf6f0375f831bddce8a8fe}{is\+Blockage}} () const
\item 
bool \mbox{\hyperlink{classKite_1_1TrackElement_a43966e19963e4bcb7f7f9b5327ec732b}{is\+Locked}} () const
\item 
bool \mbox{\hyperlink{classKite_1_1TrackElement_a29202b7dfab21852f8c8d773de7b3728}{is\+Routed}} () const
\item 
bool \mbox{\hyperlink{classKite_1_1TrackElement_ab0ab07d0bdd701562ecc14bbdb41368d}{has\+Source\+Dogleg}} () const
\item 
bool \mbox{\hyperlink{classKite_1_1TrackElement_a2f1f15d433698222015fdda8e7fb599c}{has\+Target\+Dogleg}} () const
\item 
bool \mbox{\hyperlink{classKite_1_1TrackElement_a9b37c425c3152c576444ac0253b04f9f}{can\+Ripple}} () const
\item 
virtual bool \mbox{\hyperlink{classKite_1_1TrackElement_aa0bb6f1592688e942ff67e0ac318a4fd}{can\+Dogleg}} ()
\item 
virtual bool \mbox{\hyperlink{classKite_1_1TrackElement_accb4c6a7ee2678a0cff4dbc4a7860fe1}{can\+Dogleg}} (\textbf{ Interval})
\item 
virtual bool \mbox{\hyperlink{classKite_1_1TrackElement_a4f040cf33009e4886d401115c3bea838}{can\+Dogleg}} (\textbf{ Katabatic\+::\+G\+Cell} $\ast$, unsigned int flags=0)
\item 
virtual unsigned long \mbox{\hyperlink{classKite_1_1TrackElement_afdedcef127ad2a3677a5b48d7d3453f3}{get\+Id}} () const
\item 
virtual unsigned int \mbox{\hyperlink{classKite_1_1TrackElement_ae35b78590ed6aa546b626ef95f28c533}{get\+Direction}} () const =0
\item 
virtual \textbf{ Net} $\ast$ \mbox{\hyperlink{classKite_1_1TrackElement_a2b383a5b6f5028911a35e446a682dabd}{get\+Net}} () const =0
\item 
virtual const \textbf{ Layer} $\ast$ \mbox{\hyperlink{classKite_1_1TrackElement_ad96c66549598873bf68c2e18ec7164c1}{get\+Layer}} () const =0
\item 
\mbox{\hyperlink{classKite_1_1Track}{Track}} $\ast$ \mbox{\hyperlink{classKite_1_1TrackElement_a3f34f9139b8491a0adb531ac3a904171}{get\+Track}} () const
\item 
size\+\_\+t \mbox{\hyperlink{classKite_1_1TrackElement_ad65a47a8b8a83be5d0b456b1074d1220}{get\+Index}} () const
\item 
virtual unsigned long \mbox{\hyperlink{classKite_1_1TrackElement_aa7552c20cc46abcac558627b2ca341f8}{get\+Freedom\+Degree}} () const
\item 
virtual float \mbox{\hyperlink{classKite_1_1TrackElement_aa34ceb4288e76357b65725ca00e56df8}{get\+Max\+Under\+Density}} (unsigned int flags=0) const
\item 
\textbf{ Box} \mbox{\hyperlink{classKite_1_1TrackElement_ab5d8bf98ab5af6fcfebea1b9f446d5d7}{get\+Bounding\+Box}} () const
\item 
virtual \mbox{\hyperlink{classKite_1_1TrackElement}{Track\+Element}} $\ast$ \mbox{\hyperlink{classKite_1_1TrackElement_a010b7fc8801c5b88aefa4137cf85186d}{get\+Next}} () const
\item 
virtual \mbox{\hyperlink{classKite_1_1TrackElement}{Track\+Element}} $\ast$ \mbox{\hyperlink{classKite_1_1TrackElement_a55d6115d84c11ad147f4c38fe372ea24}{get\+Previous}} () const
\item 
virtual \textbf{ Db\+U\+::\+Unit} \mbox{\hyperlink{classKite_1_1TrackElement_ac492fb5399691d81c31547db6b56fd03}{get\+Axis}} () const =0
\item 
\textbf{ Db\+U\+::\+Unit} \mbox{\hyperlink{classKite_1_1TrackElement_ad521ffba761b0e81b7b81b99d62f76f9}{get\+SourceU}} () const
\item 
\textbf{ Db\+U\+::\+Unit} \mbox{\hyperlink{classKite_1_1TrackElement_a4d52a506cd19dfa8e22e1dc0695bd960}{get\+TargetU}} () const
\item 
\textbf{ Db\+U\+::\+Unit} \mbox{\hyperlink{classKite_1_1TrackElement_ab1ca7adfc68761c749a16f65c9aa4088}{get\+Length}} () const
\item 
\textbf{ Interval} \mbox{\hyperlink{classKite_1_1TrackElement_ae96c050b96eaea51a3821cc01a1f3334}{get\+Canonical\+Interval}} () const
\item 
virtual \textbf{ Interval} \mbox{\hyperlink{classKite_1_1TrackElement_a034711e2d3617ea848ef9f5a18255e10}{get\+Free\+Interval}} () const
\item 
virtual \textbf{ Interval} \mbox{\hyperlink{classKite_1_1TrackElement_a48f8b54f9489da3778d85c382a483f81}{get\+Source\+Constraints}} () const
\item 
virtual \textbf{ Interval} \mbox{\hyperlink{classKite_1_1TrackElement_a69af7d4287bc0e44c9ca2c8e6f692be9}{get\+Target\+Constraints}} () const
\item 
virtual \mbox{\hyperlink{classKite_1_1DataNegociate}{Data\+Negociate}} $\ast$ \mbox{\hyperlink{classKite_1_1TrackElement_acd0170a05128ec4af16ecd0060c3a3b5}{get\+Data\+Negociate}} (unsigned int flags=\mbox{\hyperlink{namespaceKite_acca8fffa3182dea5f94208f454f14b47a68e917ff37d4b5cef906303181836404}{Kt\+Data\+Self}}) const
\item 
virtual \mbox{\hyperlink{classKite_1_1TrackElement}{Track\+Element}} $\ast$ \mbox{\hyperlink{classKite_1_1TrackElement_af2d46d64cbd02bdbba53d5483d95e26d}{get\+Canonical}} (\textbf{ Interval} \&amp;)
\item 
virtual size\+\_\+t \mbox{\hyperlink{classKite_1_1TrackElement_af45301f76558f613ccb605a8f851080e}{get\+G\+Cells}} (Katabatic\+::\+G\+Cell\+Vector \&amp;) const
\item 
virtual \mbox{\hyperlink{classKite_1_1TrackElement}{Track\+Element}} $\ast$ \mbox{\hyperlink{classKite_1_1TrackElement_a95ec3b8e7e1ec87c20ee0b37bcc96df7}{get\+Parent}} () const
\item 
virtual unsigned int \mbox{\hyperlink{classKite_1_1TrackElement_add78c6f914788c549f144998caacda84}{get\+Dogleg\+Level}} () const
\item 
virtual \mbox{\hyperlink{classKite_1_1TrackElement}{Track\+Element}} $\ast$ \mbox{\hyperlink{classKite_1_1TrackElement_a7e79fbfe77f173d46b1959c41087930a}{get\+Source\+Dogleg}} ()
\item 
virtual \mbox{\hyperlink{classKite_1_1TrackElement}{Track\+Element}} $\ast$ \mbox{\hyperlink{classKite_1_1TrackElement_aeb4e39bd925d093e6c45599433bb421c}{get\+Target\+Dogleg}} ()
\item 
virtual Track\+Elements \mbox{\hyperlink{classKite_1_1TrackElement_aa0ba92ebf19f596537dc051c090d5736}{get\+Perpandiculars}} ()
\item 
void \mbox{\hyperlink{classKite_1_1TrackElement_aeb14f94914af58657a0dc2f50ec98df5}{set\+Flags}} (unsigned int)
\item 
void \mbox{\hyperlink{classKite_1_1TrackElement_a1a6fac115cb81db48e3ac9ffa0721bb5}{unset\+Flags}} (unsigned int)
\item 
virtual void \mbox{\hyperlink{classKite_1_1TrackElement_abd3d8093f871d3d1a7f24b053648026c}{set\+Track}} (\mbox{\hyperlink{classKite_1_1Track}{Track}} $\ast$)
\item 
void \mbox{\hyperlink{classKite_1_1TrackElement_abee236b4d62f51320212f31e010fc1b5}{set\+Index}} (size\+\_\+t)
\item 
virtual void \mbox{\hyperlink{classKite_1_1TrackElement_af5332d647c0482aa90ad7cc9b2a50f3a}{update\+Freedom\+Degree}} ()
\item 
virtual void \mbox{\hyperlink{classKite_1_1TrackElement_a2b90319cb042b283aa5d1fdb1992f11f}{set\+Dogleg\+Level}} (unsigned int)
\item 
virtual void \mbox{\hyperlink{classKite_1_1TrackElement_acc245ce084989d1c34816d0e61b9d510}{swap\+Track}} (\mbox{\hyperlink{classKite_1_1TrackElement}{Track\+Element}} $\ast$)
\item 
virtual void \mbox{\hyperlink{classKite_1_1TrackElement_a0ffe603ec7d46f21f5e56ccbe84c03fb}{reschedule}} (unsigned int level)
\item 
virtual void \mbox{\hyperlink{classKite_1_1TrackElement_ac295bade8aee589f6718dfa79edc2a34}{detach}} ()
\item 
virtual void \mbox{\hyperlink{classKite_1_1TrackElement_a893f1101c650c08c98612515c2b1a89c}{invalidate}} ()
\item 
virtual void \mbox{\hyperlink{classKite_1_1TrackElement_a5bd93abe1416952ace15a98dbeeed124}{revalidate}} ()
\item 
virtual void \mbox{\hyperlink{classKite_1_1TrackElement_a7f1126d43df68dd4edbb8d047a134edb}{inc\+Overlap\+Cost}} (\textbf{ Net} $\ast$, Track\+Cost \&amp;) const
\item 
virtual void \mbox{\hyperlink{classKite_1_1TrackElement_a45e685b1e3ee630d24bf43746553af4c}{set\+Axis}} (\textbf{ Db\+U\+::\+Unit}, unsigned int flags=Katabatic\+::\+Seg\+Axis\+Set)
\item 
virtual \mbox{\hyperlink{classKite_1_1TrackElement}{Track\+Element}} $\ast$ \mbox{\hyperlink{classKite_1_1TrackElement_a7a9637875364e84e6862de0102341715}{make\+Dogleg}} ()
\item 
bool \mbox{\hyperlink{classKite_1_1TrackElement_a3e1b4982a2427f74e55592520ab6272d}{make\+Dogleg}} (\textbf{ Katabatic\+::\+G\+Cell} $\ast$)
\item 
virtual \mbox{\hyperlink{classKite_1_1TrackElement}{Track\+Element}} $\ast$ \mbox{\hyperlink{classKite_1_1TrackElement_a524f1569b2f2c1a84df2fe47e84e28ed}{make\+Dogleg}} (\textbf{ Interval}, unsigned int \&amp;flags)
\item 
virtual bool \mbox{\hyperlink{classKite_1_1TrackElement_ad79f4c6ea0fe1135b8264a29af085909}{\+\_\+check}} () const
\end{DoxyCompactItemize}
\subsubsection*{Static Public Member Functions}
\begin{DoxyCompactItemize}
\item 
static \mbox{\hyperlink{namespaceKite_ac86883c8d5a0f34ab9b4ec6eaaad6c9f}{Segment\+Overlap\+Cost\+CB}} $\ast$ \mbox{\hyperlink{classKite_1_1TrackElement_a4648fa47d0870cf743436ff6a6239fd9}{set\+Overlap\+Cost\+CB}} (\mbox{\hyperlink{namespaceKite_ac86883c8d5a0f34ab9b4ec6eaaad6c9f}{Segment\+Overlap\+Cost\+CB}} $\ast$)
\end{DoxyCompactItemize}


\subsubsection{Detailed Description}
Abstract Class for all Elements inserted inside a \mbox{\hyperlink{classKite_1_1Track}{Track}}. 

\hypertarget{classKite_1_1TrackElement_secTrackElementAbstract}{}\subsubsection{Track\+Element Abstract}\label{classKite_1_1TrackElement_secTrackElementAbstract}
The \mbox{\hyperlink{classKite_1_1TrackElement}{Track\+Element}} class is abstract and is used as base class for any element that can be inserted in a \mbox{\hyperlink{classKite_1_1Track}{Track}}. It represent the footprint of that element inside the \mbox{\hyperlink{classKite_1_1Track}{Track}} (an interval). Additionnaly it keep a pointer to the \mbox{\hyperlink{classKite_1_1Track}{Track}} and it\textquotesingle{}s index inside it (\mbox{\hyperlink{classKite_1_1Track}{Track}} is implemented with a {\ttfamily vector$&lt;$$&gt;$}).

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\+LL} or {\ttfamily 0} ({\itshape zero}) or whatever is appropriated to tell it is not meaningful.

{\bfseries Design Note}

\mbox{\hyperlink{classKite_1_1TrackElement}{Track\+Element}} has been designed to serve as a base class for \mbox{\hyperlink{classKite_1_1TrackSegment}{Track\+Segment}} and \mbox{\hyperlink{classKite_1_1TrackMarker}{Track\+Marker}}. But, in the end, those two classes have been put in separated vectors inside the \mbox{\hyperlink{classKite_1_1Track}{Track}}, thus rendering this design choice less pertinent. We keep it for now because we may introduce other object than \mbox{\hyperlink{classKite_1_1TrackSegment}{Track\+Segment}} inside a \mbox{\hyperlink{classKite_1_1Track}{Track}}. If the need do not arise, we may merge back \mbox{\hyperlink{classKite_1_1TrackElement}{Track\+Element}} and \mbox{\hyperlink{classKite_1_1TrackSegment}{Track\+Segment}}. 

\subsubsection{Member Function Documentation}
\mbox{\Hypertarget{classKite_1_1TrackElement_a4648fa47d0870cf743436ff6a6239fd9}\label{classKite_1_1TrackElement_a4648fa47d0870cf743436ff6a6239fd9}} 
\index{Kite\+::\+Track\+Element@{Kite\+::\+Track\+Element}!set\+Overlap\+Cost\+CB@{set\+Overlap\+Cost\+CB}}
\index{set\+Overlap\+Cost\+CB@{set\+Overlap\+Cost\+CB}!Kite\+::\+Track\+Element@{Kite\+::\+Track\+Element}}
\paragraph{\texorpdfstring{set\+Overlap\+Cost\+C\+B()}{setOverlapCostCB()}}
{\footnotesize\ttfamily \mbox{\hyperlink{namespaceKite_ac86883c8d5a0f34ab9b4ec6eaaad6c9f}{Segment\+Overlap\+Cost\+CB}} $\ast$ set\+Overlap\+Cost\+CB (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{namespaceKite_ac86883c8d5a0f34ab9b4ec6eaaad6c9f}{Segment\+Overlap\+Cost\+CB}} $\ast$}]{cb }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}


\begin{DoxyParams}{Parameters}
{\em cb} &amp; 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().

\mbox{\Hypertarget{classKite_1_1TrackElement_afd7362b850709bed8b61c1aa22399f97}\label{classKite_1_1TrackElement_afd7362b850709bed8b61c1aa22399f97}} 
\index{Kite\+::\+Track\+Element@{Kite\+::\+Track\+Element}!is\+Fixed@{is\+Fixed}}
\index{is\+Fixed@{is\+Fixed}!Kite\+::\+Track\+Element@{Kite\+::\+Track\+Element}}
\paragraph{\texorpdfstring{is\+Fixed()}{isFixed()}}
{\footnotesize\ttfamily bool is\+Fixed (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}

{\bfseries See also\+:}~ \textbf{ Katabatic\+::\+Auto\+Segment\+::is\+Fixed()}. 

Reimplemented in \mbox{\hyperlink{classKite_1_1TrackSegment_afd7362b850709bed8b61c1aa22399f97}{Track\+Segment}}, and \mbox{\hyperlink{classKite_1_1TrackFixedSegment_afd7362b850709bed8b61c1aa22399f97}{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().

\mbox{\Hypertarget{classKite_1_1TrackElement_a9d3db1f8a5aca58f8f54d291faebf873}\label{classKite_1_1TrackElement_a9d3db1f8a5aca58f8f54d291faebf873}} 
\index{Kite\+::\+Track\+Element@{Kite\+::\+Track\+Element}!is\+Horizontal@{is\+Horizontal}}
\index{is\+Horizontal@{is\+Horizontal}!Kite\+::\+Track\+Element@{Kite\+::\+Track\+Element}}
\paragraph{\texorpdfstring{is\+Horizontal()}{isHorizontal()}}
{\footnotesize\ttfamily bool is\+Horizontal (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [pure virtual]}}

{\bfseries See also\+:}~ \textbf{ Katabatic\+::\+Auto\+Segment\+::is\+Horizontal()}. 

Implemented in \mbox{\hyperlink{classKite_1_1TrackSegment_a21b9cefd33ae22e4c2070ad441bdd30b}{Track\+Segment}}, and \mbox{\hyperlink{classKite_1_1TrackFixedSegment_a21b9cefd33ae22e4c2070ad441bdd30b}{Track\+Fixed\+Segment}}.



Referenced by Segment\+Fsm\+::conflict\+Solve\+By\+History(), and Manipulator\+::make\+Dogleg().

\mbox{\Hypertarget{classKite_1_1TrackElement_a6fa2bf0568a2b295dd7cd1f7207247d5}\label{classKite_1_1TrackElement_a6fa2bf0568a2b295dd7cd1f7207247d5}} 
\index{Kite\+::\+Track\+Element@{Kite\+::\+Track\+Element}!is\+Vertical@{is\+Vertical}}
\index{is\+Vertical@{is\+Vertical}!Kite\+::\+Track\+Element@{Kite\+::\+Track\+Element}}
\paragraph{\texorpdfstring{is\+Vertical()}{isVertical()}}
{\footnotesize\ttfamily bool is\+Vertical (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [pure virtual]}}

{\bfseries See also\+:}~ \textbf{ Katabatic\+::\+Auto\+Segment\+::is\+Vertical()}. 

Implemented in \mbox{\hyperlink{classKite_1_1TrackSegment_abd54544ef1710ee4b67cfb021d73446c}{Track\+Segment}}, and \mbox{\hyperlink{classKite_1_1TrackFixedSegment_abd54544ef1710ee4b67cfb021d73446c}{Track\+Fixed\+Segment}}.

\mbox{\Hypertarget{classKite_1_1TrackElement_add556a145a89fdbcea82346abfb873dc}\label{classKite_1_1TrackElement_add556a145a89fdbcea82346abfb873dc}} 
\index{Kite\+::\+Track\+Element@{Kite\+::\+Track\+Element}!is\+Local@{is\+Local}}
\index{is\+Local@{is\+Local}!Kite\+::\+Track\+Element@{Kite\+::\+Track\+Element}}
\paragraph{\texorpdfstring{is\+Local()}{isLocal()}}
{\footnotesize\ttfamily bool is\+Local (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}

{\bfseries See also\+:}~ Katabatic\+::is\+Local(). 

Reimplemented in \mbox{\hyperlink{classKite_1_1TrackSegment_add556a145a89fdbcea82346abfb873dc}{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().

\mbox{\Hypertarget{classKite_1_1TrackElement_a19ba379112d6b29faa45c5eefbf38500}\label{classKite_1_1TrackElement_a19ba379112d6b29faa45c5eefbf38500}} 
\index{Kite\+::\+Track\+Element@{Kite\+::\+Track\+Element}!is\+Global@{is\+Global}}
\index{is\+Global@{is\+Global}!Kite\+::\+Track\+Element@{Kite\+::\+Track\+Element}}
\paragraph{\texorpdfstring{is\+Global()}{isGlobal()}}
{\footnotesize\ttfamily bool is\+Global (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}

{\bfseries See also\+:}~ \textbf{ Katabatic\+::\+Auto\+Segment\+::is\+Global()}. 

Reimplemented in \mbox{\hyperlink{classKite_1_1TrackSegment_a19ba379112d6b29faa45c5eefbf38500}{Track\+Segment}}.



Referenced by Segment\+Fsm\+::conflict\+Solve\+By\+Placeds(), Manipulator\+::insert\+In\+Track(), Manipulator\+::relax(), Manipulator\+::repack\+Perpandiculars(), and Segment\+Fsm\+::\+Segment\+Fsm().

\mbox{\Hypertarget{classKite_1_1TrackElement_a72741158d19af38e84c5e9c08f91270f}\label{classKite_1_1TrackElement_a72741158d19af38e84c5e9c08f91270f}} 
\index{Kite\+::\+Track\+Element@{Kite\+::\+Track\+Element}!is\+Bipoint@{is\+Bipoint}}
\index{is\+Bipoint@{is\+Bipoint}!Kite\+::\+Track\+Element@{Kite\+::\+Track\+Element}}
\paragraph{\texorpdfstring{is\+Bipoint()}{isBipoint()}}
{\footnotesize\ttfamily bool is\+Bipoint (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}

{\bfseries See also\+:}~ \textbf{ Katabatic\+::\+Auto\+Segment\+::is\+Bipoint()}. 

Reimplemented in \mbox{\hyperlink{classKite_1_1TrackSegment_a72741158d19af38e84c5e9c08f91270f}{Track\+Segment}}.



Referenced by Segment\+Fsm\+::desaturate().

\mbox{\Hypertarget{classKite_1_1TrackElement_a1e074cb3064037035548e5e6d238e315}\label{classKite_1_1TrackElement_a1e074cb3064037035548e5e6d238e315}} 
\index{Kite\+::\+Track\+Element@{Kite\+::\+Track\+Element}!is\+Terminal@{is\+Terminal}}
\index{is\+Terminal@{is\+Terminal}!Kite\+::\+Track\+Element@{Kite\+::\+Track\+Element}}
\paragraph{\texorpdfstring{is\+Terminal()}{isTerminal()}}
{\footnotesize\ttfamily bool is\+Terminal (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}

{\bfseries See also\+:}~ Katabatic\+::\+Auto\+Segment\+::is\+Terminal(). 

Reimplemented in \mbox{\hyperlink{classKite_1_1TrackSegment_a1e074cb3064037035548e5e6d238e315}{Track\+Segment}}.



Referenced by Manipulator\+::make\+Dogleg(), and Manipulator\+::relax().

\mbox{\Hypertarget{classKite_1_1TrackElement_a62d61c231cf404a814ae37665fa8164f}\label{classKite_1_1TrackElement_a62d61c231cf404a814ae37665fa8164f}} 
\index{Kite\+::\+Track\+Element@{Kite\+::\+Track\+Element}!is\+Strap@{is\+Strap}}
\index{is\+Strap@{is\+Strap}!Kite\+::\+Track\+Element@{Kite\+::\+Track\+Element}}
\paragraph{\texorpdfstring{is\+Strap()}{isStrap()}}
{\footnotesize\ttfamily bool is\+Strap (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}

{\bfseries See also\+:}~ \textbf{ Katabatic\+::\+Auto\+Segment\+::is\+Strap()}. 

Reimplemented in \mbox{\hyperlink{classKite_1_1TrackSegment_a62d61c231cf404a814ae37665fa8164f}{Track\+Segment}}.



Referenced by Manipulator\+::insert\+In\+Track(), Manipulator\+::pivot\+Down(), Manipulator\+::pivot\+Up(), Segment\+Fsm\+::\+Segment\+Fsm(), and Segment\+Fsm\+::slacken\+Topology().

\mbox{\Hypertarget{classKite_1_1TrackElement_a782cff57d3fe10e758d19ee65a06643d}\label{classKite_1_1TrackElement_a782cff57d3fe10e758d19ee65a06643d}} 
\index{Kite\+::\+Track\+Element@{Kite\+::\+Track\+Element}!is\+Slackened@{is\+Slackened}}
\index{is\+Slackened@{is\+Slackened}!Kite\+::\+Track\+Element@{Kite\+::\+Track\+Element}}
\paragraph{\texorpdfstring{is\+Slackened()}{isSlackened()}}
{\footnotesize\ttfamily bool is\+Slackened (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}

{\bfseries See also\+:}~ \textbf{ Katabatic\+::\+Auto\+Segment\+::is\+Slackened()}. 

Reimplemented in \mbox{\hyperlink{classKite_1_1TrackSegment_a782cff57d3fe10e758d19ee65a06643d}{Track\+Segment}}.

\mbox{\Hypertarget{classKite_1_1TrackElement_a75d91371e5281dd21f60ff39ae70a3e5}\label{classKite_1_1TrackElement_a75d91371e5281dd21f60ff39ae70a3e5}} 
\index{Kite\+::\+Track\+Element@{Kite\+::\+Track\+Element}!is\+Dogleg@{is\+Dogleg}}
\index{is\+Dogleg@{is\+Dogleg}!Kite\+::\+Track\+Element@{Kite\+::\+Track\+Element}}
\paragraph{\texorpdfstring{is\+Dogleg()}{isDogleg()}}
{\footnotesize\ttfamily bool is\+Dogleg (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}

{\bfseries See also\+:}~ Katabatic\+::is\+Dogleg(). 

Reimplemented in \mbox{\hyperlink{classKite_1_1TrackSegment_a75d91371e5281dd21f60ff39ae70a3e5}{Track\+Segment}}.

\mbox{\Hypertarget{classKite_1_1TrackElement_af7d9cf1d7581b1cab04cf38c64f0f72a}\label{classKite_1_1TrackElement_af7d9cf1d7581b1cab04cf38c64f0f72a}} 
\index{Kite\+::\+Track\+Element@{Kite\+::\+Track\+Element}!is\+Created@{is\+Created}}
\index{is\+Created@{is\+Created}!Kite\+::\+Track\+Element@{Kite\+::\+Track\+Element}}
\paragraph{\texorpdfstring{is\+Created()}{isCreated()}}
{\footnotesize\ttfamily bool is\+Created (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}

{\bfseries See also\+:}~ \textbf{ Katabatic\+::\+Auto\+Segment\+::is\+Created()}. \mbox{\Hypertarget{classKite_1_1TrackElement_ac540608485240ff88970131ebc02c1ab}\label{classKite_1_1TrackElement_ac540608485240ff88970131ebc02c1ab}} 
\index{Kite\+::\+Track\+Element@{Kite\+::\+Track\+Element}!is\+Invalidated@{is\+Invalidated}}
\index{is\+Invalidated@{is\+Invalidated}!Kite\+::\+Track\+Element@{Kite\+::\+Track\+Element}}
\paragraph{\texorpdfstring{is\+Invalidated()}{isInvalidated()}}
{\footnotesize\ttfamily bool is\+Invalidated (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}

{\bfseries Returns\+:} {\bfseries true} if the segment is invalidated (may be different from the supporting Auto\+Segment status). 

Referenced by Segment\+Observer\+::notify().

\mbox{\Hypertarget{classKite_1_1TrackElement_a3fffa77f98cf6f0375f831bddce8a8fe}\label{classKite_1_1TrackElement_a3fffa77f98cf6f0375f831bddce8a8fe}} 
\index{Kite\+::\+Track\+Element@{Kite\+::\+Track\+Element}!is\+Blockage@{is\+Blockage}}
\index{is\+Blockage@{is\+Blockage}!Kite\+::\+Track\+Element@{Kite\+::\+Track\+Element}}
\paragraph{\texorpdfstring{is\+Blockage()}{isBlockage()}}
{\footnotesize\ttfamily bool is\+Blockage (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}

{\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().

\mbox{\Hypertarget{classKite_1_1TrackElement_a43966e19963e4bcb7f7f9b5327ec732b}\label{classKite_1_1TrackElement_a43966e19963e4bcb7f7f9b5327ec732b}} 
\index{Kite\+::\+Track\+Element@{Kite\+::\+Track\+Element}!is\+Locked@{is\+Locked}}
\index{is\+Locked@{is\+Locked}!Kite\+::\+Track\+Element@{Kite\+::\+Track\+Element}}
\paragraph{\texorpdfstring{is\+Locked()}{isLocked()}}
{\footnotesize\ttfamily bool is\+Locked (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}

{\bfseries true} if the element is part of a net, but must not be moved by the router, whatever the reason. \mbox{\Hypertarget{classKite_1_1TrackElement_a29202b7dfab21852f8c8d773de7b3728}\label{classKite_1_1TrackElement_a29202b7dfab21852f8c8d773de7b3728}} 
\index{Kite\+::\+Track\+Element@{Kite\+::\+Track\+Element}!is\+Routed@{is\+Routed}}
\index{is\+Routed@{is\+Routed}!Kite\+::\+Track\+Element@{Kite\+::\+Track\+Element}}
\paragraph{\texorpdfstring{is\+Routed()}{isRouted()}}
{\footnotesize\ttfamily bool is\+Routed (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}

{\bfseries true} if the router has placed it. 

Referenced by Track\+Segment\+::can\+Dogleg().

\mbox{\Hypertarget{classKite_1_1TrackElement_ab0ab07d0bdd701562ecc14bbdb41368d}\label{classKite_1_1TrackElement_ab0ab07d0bdd701562ecc14bbdb41368d}} 
\index{Kite\+::\+Track\+Element@{Kite\+::\+Track\+Element}!has\+Source\+Dogleg@{has\+Source\+Dogleg}}
\index{has\+Source\+Dogleg@{has\+Source\+Dogleg}!Kite\+::\+Track\+Element@{Kite\+::\+Track\+Element}}
\paragraph{\texorpdfstring{has\+Source\+Dogleg()}{hasSourceDogleg()}}
{\footnotesize\ttfamily bool has\+Source\+Dogleg (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}

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().

\mbox{\Hypertarget{classKite_1_1TrackElement_a2f1f15d433698222015fdda8e7fb599c}\label{classKite_1_1TrackElement_a2f1f15d433698222015fdda8e7fb599c}} 
\index{Kite\+::\+Track\+Element@{Kite\+::\+Track\+Element}!has\+Target\+Dogleg@{has\+Target\+Dogleg}}
\index{has\+Target\+Dogleg@{has\+Target\+Dogleg}!Kite\+::\+Track\+Element@{Kite\+::\+Track\+Element}}
\paragraph{\texorpdfstring{has\+Target\+Dogleg()}{hasTargetDogleg()}}
{\footnotesize\ttfamily bool has\+Target\+Dogleg (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}

This method purpose has not been reviewed yet. 

Referenced by Track\+Segment\+::can\+Dogleg().

\mbox{\Hypertarget{classKite_1_1TrackElement_a9b37c425c3152c576444ac0253b04f9f}\label{classKite_1_1TrackElement_a9b37c425c3152c576444ac0253b04f9f}} 
\index{Kite\+::\+Track\+Element@{Kite\+::\+Track\+Element}!can\+Ripple@{can\+Ripple}}
\index{can\+Ripple@{can\+Ripple}!Kite\+::\+Track\+Element@{Kite\+::\+Track\+Element}}
\paragraph{\texorpdfstring{can\+Ripple()}{canRipple()}}
{\footnotesize\ttfamily bool can\+Ripple (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}

This method purpose has not been reviewed yet. 

Referenced by Manipulator\+::ripple().

\mbox{\Hypertarget{classKite_1_1TrackElement_aa0bb6f1592688e942ff67e0ac318a4fd}\label{classKite_1_1TrackElement_aa0bb6f1592688e942ff67e0ac318a4fd}} 
\index{Kite\+::\+Track\+Element@{Kite\+::\+Track\+Element}!can\+Dogleg@{can\+Dogleg}}
\index{can\+Dogleg@{can\+Dogleg}!Kite\+::\+Track\+Element@{Kite\+::\+Track\+Element}}
\paragraph{\texorpdfstring{can\+Dogleg()}{canDogleg()}\hspace{0.1cm}{\footnotesize\ttfamily [1/3]}}
{\footnotesize\ttfamily bool can\+Dogleg (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}

{\bfseries See also\+:}~ \textbf{ Auto\+Segment\+::can\+Dogleg()}. At \mbox{\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 \mbox{\hyperlink{classKite_1_1TrackSegment_aa0bb6f1592688e942ff67e0ac318a4fd}{Track\+Segment}}.



Referenced by Segment\+Fsm\+::conflict\+Solve\+By\+History(), Manipulator\+::make\+Dogleg(), and Manipulator\+::relax().

\mbox{\Hypertarget{classKite_1_1TrackElement_accb4c6a7ee2678a0cff4dbc4a7860fe1}\label{classKite_1_1TrackElement_accb4c6a7ee2678a0cff4dbc4a7860fe1}} 
\index{Kite\+::\+Track\+Element@{Kite\+::\+Track\+Element}!can\+Dogleg@{can\+Dogleg}}
\index{can\+Dogleg@{can\+Dogleg}!Kite\+::\+Track\+Element@{Kite\+::\+Track\+Element}}
\paragraph{\texorpdfstring{can\+Dogleg()}{canDogleg()}\hspace{0.1cm}{\footnotesize\ttfamily [2/3]}}
{\footnotesize\ttfamily bool can\+Dogleg (\begin{DoxyParamCaption}\item[{\textbf{ Interval}}]{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}

{\bfseries See also\+:}~ \textbf{ Auto\+Segment\+::can\+Dogleg()}. At \mbox{\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 \mbox{\hyperlink{classKite_1_1TrackSegment_accb4c6a7ee2678a0cff4dbc4a7860fe1}{Track\+Segment}}.

\mbox{\Hypertarget{classKite_1_1TrackElement_a4f040cf33009e4886d401115c3bea838}\label{classKite_1_1TrackElement_a4f040cf33009e4886d401115c3bea838}} 
\index{Kite\+::\+Track\+Element@{Kite\+::\+Track\+Element}!can\+Dogleg@{can\+Dogleg}}
\index{can\+Dogleg@{can\+Dogleg}!Kite\+::\+Track\+Element@{Kite\+::\+Track\+Element}}
\paragraph{\texorpdfstring{can\+Dogleg()}{canDogleg()}\hspace{0.1cm}{\footnotesize\ttfamily [3/3]}}
{\footnotesize\ttfamily bool can\+Dogleg (\begin{DoxyParamCaption}\item[{\textbf{ Katabatic\+::\+G\+Cell} $\ast$}]{dogleg\+G\+Cell,  }\item[{unsigned int}]{flags = {\ttfamily 0} }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}

{\bfseries See also\+:}~ \textbf{ Auto\+Segment\+::can\+Dogleg()}. At kite level, this variant of the method is mainly targeted to global segment. For local segment it behave like \mbox{\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\textquotesingle{}s in the first or last G\+Cell and there is already a dogleg, allow to reuse it if {\ttfamily flags} contains \mbox{\hyperlink{namespaceKite_acca8fffa3182dea5f94208f454f14b47a766f453d6caa06490196a952762f0bb8}{Kite\+::\+Kt\+Allow\+Dogleg\+Reuse}}. 

Reimplemented in \mbox{\hyperlink{classKite_1_1TrackSegment_a4f040cf33009e4886d401115c3bea838}{Track\+Segment}}.

\mbox{\Hypertarget{classKite_1_1TrackElement_afdedcef127ad2a3677a5b48d7d3453f3}\label{classKite_1_1TrackElement_afdedcef127ad2a3677a5b48d7d3453f3}} 
\index{Kite\+::\+Track\+Element@{Kite\+::\+Track\+Element}!get\+Id@{get\+Id}}
\index{get\+Id@{get\+Id}!Kite\+::\+Track\+Element@{Kite\+::\+Track\+Element}}
\paragraph{\texorpdfstring{get\+Id()}{getId()}}
{\footnotesize\ttfamily unsigned long get\+Id (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}

\begin{DoxyReturn}{Returns}
The {\ttfamily Id} of the supporting Auto\+Segment, if there is any. {\itshape Zero} otherwise. 
\end{DoxyReturn}


Reimplemented in \mbox{\hyperlink{classKite_1_1TrackSegment_afdedcef127ad2a3677a5b48d7d3453f3}{Track\+Segment}}, and \mbox{\hyperlink{classKite_1_1TrackFixedSegment_afdedcef127ad2a3677a5b48d7d3453f3}{Track\+Fixed\+Segment}}.



Referenced by Routing\+Event\+::process().

\mbox{\Hypertarget{classKite_1_1TrackElement_ae35b78590ed6aa546b626ef95f28c533}\label{classKite_1_1TrackElement_ae35b78590ed6aa546b626ef95f28c533}} 
\index{Kite\+::\+Track\+Element@{Kite\+::\+Track\+Element}!get\+Direction@{get\+Direction}}
\index{get\+Direction@{get\+Direction}!Kite\+::\+Track\+Element@{Kite\+::\+Track\+Element}}
\paragraph{\texorpdfstring{get\+Direction()}{getDirection()}}
{\footnotesize\ttfamily unsigned int get\+Direction (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [pure virtual]}}

\begin{DoxyReturn}{Returns}
The direction of the supporting element (should match the preferred direction of the \mbox{\hyperlink{classKite_1_1Track}{Track}}). 
\end{DoxyReturn}


Implemented in \mbox{\hyperlink{classKite_1_1TrackSegment_a0dd7cf705ace42c662c289955313b2e9}{Track\+Segment}}, and \mbox{\hyperlink{classKite_1_1TrackFixedSegment_a0dd7cf705ace42c662c289955313b2e9}{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().

\mbox{\Hypertarget{classKite_1_1TrackElement_a2b383a5b6f5028911a35e446a682dabd}\label{classKite_1_1TrackElement_a2b383a5b6f5028911a35e446a682dabd}} 
\index{Kite\+::\+Track\+Element@{Kite\+::\+Track\+Element}!get\+Net@{get\+Net}}
\index{get\+Net@{get\+Net}!Kite\+::\+Track\+Element@{Kite\+::\+Track\+Element}}
\paragraph{\texorpdfstring{get\+Net()}{getNet()}}
{\footnotesize\ttfamily \textbf{ Net} $\ast$ get\+Net (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [pure virtual]}}

{\bfseries Returns\+:} The Net associated to the element (may be {\ttfamily N\+U\+LL}). 

Implemented in \mbox{\hyperlink{classKite_1_1TrackSegment_a692492374623a5c6096b2c4a51190359}{Track\+Segment}}, and \mbox{\hyperlink{classKite_1_1TrackFixedSegment_a692492374623a5c6096b2c4a51190359}{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().

\mbox{\Hypertarget{classKite_1_1TrackElement_ad96c66549598873bf68c2e18ec7164c1}\label{classKite_1_1TrackElement_ad96c66549598873bf68c2e18ec7164c1}} 
\index{Kite\+::\+Track\+Element@{Kite\+::\+Track\+Element}!get\+Layer@{get\+Layer}}
\index{get\+Layer@{get\+Layer}!Kite\+::\+Track\+Element@{Kite\+::\+Track\+Element}}
\paragraph{\texorpdfstring{get\+Layer()}{getLayer()}}
{\footnotesize\ttfamily const \textbf{ Layer} $\ast$ get\+Layer (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [pure virtual]}}

{\bfseries Returns\+:} The Layer of the element (should match the one of the \mbox{\hyperlink{classKite_1_1Track}{Track}}). 

Implemented in \mbox{\hyperlink{classKite_1_1TrackSegment_ab045567c4f529dca7790d66c17c3084f}{Track\+Segment}}, and \mbox{\hyperlink{classKite_1_1TrackFixedSegment_ab045567c4f529dca7790d66c17c3084f}{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().

\mbox{\Hypertarget{classKite_1_1TrackElement_a3f34f9139b8491a0adb531ac3a904171}\label{classKite_1_1TrackElement_a3f34f9139b8491a0adb531ac3a904171}} 
\index{Kite\+::\+Track\+Element@{Kite\+::\+Track\+Element}!get\+Track@{get\+Track}}
\index{get\+Track@{get\+Track}!Kite\+::\+Track\+Element@{Kite\+::\+Track\+Element}}
\paragraph{\texorpdfstring{get\+Track()}{getTrack()}}
{\footnotesize\ttfamily \mbox{\hyperlink{classKite_1_1Track}{Track}} $\ast$ get\+Track (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}

{\bfseries Returns\+:} The \mbox{\hyperlink{classKite_1_1Track}{Track}} into which the element is inserted (may be {\ttfamily N\+U\+LL}). 

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().

\mbox{\Hypertarget{classKite_1_1TrackElement_ad65a47a8b8a83be5d0b456b1074d1220}\label{classKite_1_1TrackElement_ad65a47a8b8a83be5d0b456b1074d1220}} 
\index{Kite\+::\+Track\+Element@{Kite\+::\+Track\+Element}!get\+Index@{get\+Index}}
\index{get\+Index@{get\+Index}!Kite\+::\+Track\+Element@{Kite\+::\+Track\+Element}}
\paragraph{\texorpdfstring{get\+Index()}{getIndex()}}
{\footnotesize\ttfamily size\+\_\+t get\+Index (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}

{\bfseries Returns\+:} The index of the element inside the \mbox{\hyperlink{classKite_1_1Track}{Track}}\textquotesingle{}s vector.

\begin{DoxyParagraph}{Remark\+: If the element is not inserted in a Track, it is set to}
\mbox{\hyperlink{classKite_1_1Track_ae0070ea45b2592ce3701ab9e486e58a0}{Track\+::npos}}, and obviously must not be used. 
\end{DoxyParagraph}


Referenced by Track\+Segment\+::swap\+Track().

\mbox{\Hypertarget{classKite_1_1TrackElement_aa7552c20cc46abcac558627b2ca341f8}\label{classKite_1_1TrackElement_aa7552c20cc46abcac558627b2ca341f8}} 
\index{Kite\+::\+Track\+Element@{Kite\+::\+Track\+Element}!get\+Freedom\+Degree@{get\+Freedom\+Degree}}
\index{get\+Freedom\+Degree@{get\+Freedom\+Degree}!Kite\+::\+Track\+Element@{Kite\+::\+Track\+Element}}
\paragraph{\texorpdfstring{get\+Freedom\+Degree()}{getFreedomDegree()}}
{\footnotesize\ttfamily unsigned long get\+Freedom\+Degree (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}

{\bfseries Returns\+:} The degree of freedom of the element. It is used as a priority value when sorting \mbox{\hyperlink{classKite_1_1TrackElement}{Track\+Element}} (in \mbox{\hyperlink{classKite_1_1RoutingEvent}{Routing\+Event}}).

{\bfseries Returns\+:} The degree of freedom of the element. It is used as a priority value when sorting \mbox{\hyperlink{classKite_1_1TrackElement}{Track\+Element}} (in \mbox{\hyperlink{classKite_1_1RoutingEvent}{Routing\+Event}}).

Currently, it is the {\itshape slack} of the \textbf{ Katabatic\+::\+Auto\+Segment}. 

Reimplemented in \mbox{\hyperlink{classKite_1_1TrackSegment_aa7552c20cc46abcac558627b2ca341f8}{Track\+Segment}}.



Referenced by Routing\+Event\+::process().

\mbox{\Hypertarget{classKite_1_1TrackElement_aa34ceb4288e76357b65725ca00e56df8}\label{classKite_1_1TrackElement_aa34ceb4288e76357b65725ca00e56df8}} 
\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\+::\+Track\+Element@{Kite\+::\+Track\+Element}}
\paragraph{\texorpdfstring{get\+Max\+Under\+Density()}{getMaxUnderDensity()}}
{\footnotesize\ttfamily float get\+Max\+Under\+Density (\begin{DoxyParamCaption}\item[{unsigned int}]{flags = {\ttfamily 0} }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}

{\bfseries Returns\+:} The maximum density of all the G\+Cells under this element. 

Reimplemented in \mbox{\hyperlink{classKite_1_1TrackSegment_abb61228ad7b29c19c6428902d34126f7}{Track\+Segment}}.

\mbox{\Hypertarget{classKite_1_1TrackElement_ab5d8bf98ab5af6fcfebea1b9f446d5d7}\label{classKite_1_1TrackElement_ab5d8bf98ab5af6fcfebea1b9f446d5d7}} 
\index{Kite\+::\+Track\+Element@{Kite\+::\+Track\+Element}!get\+Bounding\+Box@{get\+Bounding\+Box}}
\index{get\+Bounding\+Box@{get\+Bounding\+Box}!Kite\+::\+Track\+Element@{Kite\+::\+Track\+Element}}
\paragraph{\texorpdfstring{get\+Bounding\+Box()}{getBoundingBox()}}
{\footnotesize\ttfamily \textbf{ Box} get\+Bounding\+Box (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}

{\bfseries Returns\+:} The box that this element uses in the \mbox{\hyperlink{classKite_1_1Track}{Track}}. \mbox{\Hypertarget{classKite_1_1TrackElement_a010b7fc8801c5b88aefa4137cf85186d}\label{classKite_1_1TrackElement_a010b7fc8801c5b88aefa4137cf85186d}} 
\index{Kite\+::\+Track\+Element@{Kite\+::\+Track\+Element}!get\+Next@{get\+Next}}
\index{get\+Next@{get\+Next}!Kite\+::\+Track\+Element@{Kite\+::\+Track\+Element}}
\paragraph{\texorpdfstring{get\+Next()}{getNext()}}
{\footnotesize\ttfamily \mbox{\hyperlink{classKite_1_1TrackElement}{Track\+Element}} $\ast$ get\+Next (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}

{\bfseries Returns\+:} The next \mbox{\hyperlink{classKite_1_1TrackElement}{Track\+Element}}, on the same track and of a {\itshape different} net. {\bfseries See also\+:}~ \mbox{\hyperlink{classKite_1_1Track_af3db59591bef3c690ace92c114a4e4aa}{Track\+::get\+Next()}}. 

Reimplemented in \mbox{\hyperlink{classKite_1_1TrackSegment_a010b7fc8801c5b88aefa4137cf85186d}{Track\+Segment}}, and \mbox{\hyperlink{classKite_1_1TrackFixedSegment_a010b7fc8801c5b88aefa4137cf85186d}{Track\+Fixed\+Segment}}.



Referenced by Manipulator\+::is\+Caged().

\mbox{\Hypertarget{classKite_1_1TrackElement_a55d6115d84c11ad147f4c38fe372ea24}\label{classKite_1_1TrackElement_a55d6115d84c11ad147f4c38fe372ea24}} 
\index{Kite\+::\+Track\+Element@{Kite\+::\+Track\+Element}!get\+Previous@{get\+Previous}}
\index{get\+Previous@{get\+Previous}!Kite\+::\+Track\+Element@{Kite\+::\+Track\+Element}}
\paragraph{\texorpdfstring{get\+Previous()}{getPrevious()}}
{\footnotesize\ttfamily \mbox{\hyperlink{classKite_1_1TrackElement}{Track\+Element}} $\ast$ get\+Previous (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}

{\bfseries Returns\+:} The previous \mbox{\hyperlink{classKite_1_1TrackElement}{Track\+Element}}, on the same track and of a {\itshape different} net. {\bfseries See also\+:}~ \mbox{\hyperlink{classKite_1_1Track_a290fcfe6131730d216951a3b5207d777}{Track\+::get\+Previous()}}. 

Reimplemented in \mbox{\hyperlink{classKite_1_1TrackSegment_a55d6115d84c11ad147f4c38fe372ea24}{Track\+Segment}}, and \mbox{\hyperlink{classKite_1_1TrackFixedSegment_a55d6115d84c11ad147f4c38fe372ea24}{Track\+Fixed\+Segment}}.



Referenced by Manipulator\+::is\+Caged().

\mbox{\Hypertarget{classKite_1_1TrackElement_ac492fb5399691d81c31547db6b56fd03}\label{classKite_1_1TrackElement_ac492fb5399691d81c31547db6b56fd03}} 
\index{Kite\+::\+Track\+Element@{Kite\+::\+Track\+Element}!get\+Axis@{get\+Axis}}
\index{get\+Axis@{get\+Axis}!Kite\+::\+Track\+Element@{Kite\+::\+Track\+Element}}
\paragraph{\texorpdfstring{get\+Axis()}{getAxis()}}
{\footnotesize\ttfamily \textbf{ Db\+U\+::\+Unit} get\+Axis (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [pure virtual]}}

{\bfseries Returns\+:} The axis position of the element (must be the same as the \mbox{\hyperlink{classKite_1_1Track}{Track}}). 

Implemented in \mbox{\hyperlink{classKite_1_1TrackSegment_ab5b5aaa5b318369feee6003dbad039c2}{Track\+Segment}}, and \mbox{\hyperlink{classKite_1_1TrackFixedSegment_ab5b5aaa5b318369feee6003dbad039c2}{Track\+Fixed\+Segment}}.



Referenced by Segment\+Fsm\+::conflict\+Solve\+By\+History(), Track\+Element\+::get\+Bounding\+Box(), Manipulator\+::ripple(), and Manipulator\+::ripup\+Perpandiculars().

\mbox{\Hypertarget{classKite_1_1TrackElement_ad521ffba761b0e81b7b81b99d62f76f9}\label{classKite_1_1TrackElement_ad521ffba761b0e81b7b81b99d62f76f9}} 
\index{Kite\+::\+Track\+Element@{Kite\+::\+Track\+Element}!get\+SourceU@{get\+SourceU}}
\index{get\+SourceU@{get\+SourceU}!Kite\+::\+Track\+Element@{Kite\+::\+Track\+Element}}
\paragraph{\texorpdfstring{get\+Source\+U()}{getSourceU()}}
{\footnotesize\ttfamily \textbf{ Db\+U\+::\+Unit} get\+SourceU (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}

{\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().

\mbox{\Hypertarget{classKite_1_1TrackElement_a4d52a506cd19dfa8e22e1dc0695bd960}\label{classKite_1_1TrackElement_a4d52a506cd19dfa8e22e1dc0695bd960}} 
\index{Kite\+::\+Track\+Element@{Kite\+::\+Track\+Element}!get\+TargetU@{get\+TargetU}}
\index{get\+TargetU@{get\+TargetU}!Kite\+::\+Track\+Element@{Kite\+::\+Track\+Element}}
\paragraph{\texorpdfstring{get\+Target\+U()}{getTargetU()}}
{\footnotesize\ttfamily \textbf{ Db\+U\+::\+Unit} get\+TargetU (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}

{\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().

\mbox{\Hypertarget{classKite_1_1TrackElement_ab1ca7adfc68761c749a16f65c9aa4088}\label{classKite_1_1TrackElement_ab1ca7adfc68761c749a16f65c9aa4088}} 
\index{Kite\+::\+Track\+Element@{Kite\+::\+Track\+Element}!get\+Length@{get\+Length}}
\index{get\+Length@{get\+Length}!Kite\+::\+Track\+Element@{Kite\+::\+Track\+Element}}
\paragraph{\texorpdfstring{get\+Length()}{getLength()}}
{\footnotesize\ttfamily \textbf{ Db\+U\+::\+Unit} get\+Length (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}

{\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().

\mbox{\Hypertarget{classKite_1_1TrackElement_ae96c050b96eaea51a3821cc01a1f3334}\label{classKite_1_1TrackElement_ae96c050b96eaea51a3821cc01a1f3334}} 
\index{Kite\+::\+Track\+Element@{Kite\+::\+Track\+Element}!get\+Canonical\+Interval@{get\+Canonical\+Interval}}
\index{get\+Canonical\+Interval@{get\+Canonical\+Interval}!Kite\+::\+Track\+Element@{Kite\+::\+Track\+Element}}
\paragraph{\texorpdfstring{get\+Canonical\+Interval()}{getCanonicalInterval()}}
{\footnotesize\ttfamily \textbf{ Interval} get\+Canonical\+Interval (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}

{\bfseries Returns\+:} The interval span used by the element inside the \mbox{\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().

\mbox{\Hypertarget{classKite_1_1TrackElement_a034711e2d3617ea848ef9f5a18255e10}\label{classKite_1_1TrackElement_a034711e2d3617ea848ef9f5a18255e10}} 
\index{Kite\+::\+Track\+Element@{Kite\+::\+Track\+Element}!get\+Free\+Interval@{get\+Free\+Interval}}
\index{get\+Free\+Interval@{get\+Free\+Interval}!Kite\+::\+Track\+Element@{Kite\+::\+Track\+Element}}
\paragraph{\texorpdfstring{get\+Free\+Interval()}{getFreeInterval()}}
{\footnotesize\ttfamily \textbf{ Interval} get\+Free\+Interval (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}

{\bfseries Returns\+:} The greatest free interval enclosing this element. 

Reimplemented in \mbox{\hyperlink{classKite_1_1TrackSegment_a034711e2d3617ea848ef9f5a18255e10}{Track\+Segment}}, and \mbox{\hyperlink{classKite_1_1TrackFixedSegment_a034711e2d3617ea848ef9f5a18255e10}{Track\+Fixed\+Segment}}.

\mbox{\Hypertarget{classKite_1_1TrackElement_a48f8b54f9489da3778d85c382a483f81}\label{classKite_1_1TrackElement_a48f8b54f9489da3778d85c382a483f81}} 
\index{Kite\+::\+Track\+Element@{Kite\+::\+Track\+Element}!get\+Source\+Constraints@{get\+Source\+Constraints}}
\index{get\+Source\+Constraints@{get\+Source\+Constraints}!Kite\+::\+Track\+Element@{Kite\+::\+Track\+Element}}
\paragraph{\texorpdfstring{get\+Source\+Constraints()}{getSourceConstraints()}}
{\footnotesize\ttfamily \textbf{ Interval} get\+Source\+Constraints (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}

{\bfseries See also\+:}~ \textbf{ Katabatic\+::\+Auto\+Segment\+::get\+Source\+Constraints()}. 

Reimplemented in \mbox{\hyperlink{classKite_1_1TrackSegment_a48f8b54f9489da3778d85c382a483f81}{Track\+Segment}}.

\mbox{\Hypertarget{classKite_1_1TrackElement_a69af7d4287bc0e44c9ca2c8e6f692be9}\label{classKite_1_1TrackElement_a69af7d4287bc0e44c9ca2c8e6f692be9}} 
\index{Kite\+::\+Track\+Element@{Kite\+::\+Track\+Element}!get\+Target\+Constraints@{get\+Target\+Constraints}}
\index{get\+Target\+Constraints@{get\+Target\+Constraints}!Kite\+::\+Track\+Element@{Kite\+::\+Track\+Element}}
\paragraph{\texorpdfstring{get\+Target\+Constraints()}{getTargetConstraints()}}
{\footnotesize\ttfamily \textbf{ Interval} get\+Target\+Constraints (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}

{\bfseries See also\+:}~ \textbf{ Katabatic\+::\+Auto\+Segment\+::get\+Target\+Constraints()}. 

Reimplemented in \mbox{\hyperlink{classKite_1_1TrackSegment_a69af7d4287bc0e44c9ca2c8e6f692be9}{Track\+Segment}}.

\mbox{\Hypertarget{classKite_1_1TrackElement_acd0170a05128ec4af16ecd0060c3a3b5}\label{classKite_1_1TrackElement_acd0170a05128ec4af16ecd0060c3a3b5}} 
\index{Kite\+::\+Track\+Element@{Kite\+::\+Track\+Element}!get\+Data\+Negociate@{get\+Data\+Negociate}}
\index{get\+Data\+Negociate@{get\+Data\+Negociate}!Kite\+::\+Track\+Element@{Kite\+::\+Track\+Element}}
\paragraph{\texorpdfstring{get\+Data\+Negociate()}{getDataNegociate()}}
{\footnotesize\ttfamily \mbox{\hyperlink{classKite_1_1DataNegociate}{Data\+Negociate}} $\ast$ get\+Data\+Negociate (\begin{DoxyParamCaption}\item[{unsigned int}]{flags = {\ttfamily \mbox{\hyperlink{namespaceKite_acca8fffa3182dea5f94208f454f14b47a68e917ff37d4b5cef906303181836404}{Kt\+Data\+Self}}} }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}

{\bfseries Returns\+:} The additional data-\/structure supplied by the routing algorithm. 

Reimplemented in \mbox{\hyperlink{classKite_1_1TrackSegment_acd0170a05128ec4af16ecd0060c3a3b5}{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().

\mbox{\Hypertarget{classKite_1_1TrackElement_af2d46d64cbd02bdbba53d5483d95e26d}\label{classKite_1_1TrackElement_af2d46d64cbd02bdbba53d5483d95e26d}} 
\index{Kite\+::\+Track\+Element@{Kite\+::\+Track\+Element}!get\+Canonical@{get\+Canonical}}
\index{get\+Canonical@{get\+Canonical}!Kite\+::\+Track\+Element@{Kite\+::\+Track\+Element}}
\paragraph{\texorpdfstring{get\+Canonical()}{getCanonical()}}
{\footnotesize\ttfamily \mbox{\hyperlink{classKite_1_1TrackElement}{Track\+Element}} $\ast$ get\+Canonical (\begin{DoxyParamCaption}\item[{\textbf{ Interval} \&amp;}]{i }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}

Inner working still unclear to myself. 

Reimplemented in \mbox{\hyperlink{classKite_1_1TrackSegment_af2d46d64cbd02bdbba53d5483d95e26d}{Track\+Segment}}.



Referenced by Negociate\+Window\+::create\+Track\+Segment(), and Data\+Negociate\+::update().

\mbox{\Hypertarget{classKite_1_1TrackElement_af45301f76558f613ccb605a8f851080e}\label{classKite_1_1TrackElement_af45301f76558f613ccb605a8f851080e}} 
\index{Kite\+::\+Track\+Element@{Kite\+::\+Track\+Element}!get\+G\+Cells@{get\+G\+Cells}}
\index{get\+G\+Cells@{get\+G\+Cells}!Kite\+::\+Track\+Element@{Kite\+::\+Track\+Element}}
\paragraph{\texorpdfstring{get\+G\+Cells()}{getGCells()}}
{\footnotesize\ttfamily size\+\_\+t get\+G\+Cells (\begin{DoxyParamCaption}\item[{Katabatic\+::\+G\+Cell\+Vector \&amp;}]{gcells }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}

{\bfseries Returns\+:} The table of \textbf{ Katabatic\+::\+G\+Cell} underneath the element whole span. 

Reimplemented in \mbox{\hyperlink{classKite_1_1TrackSegment_af45301f76558f613ccb605a8f851080e}{Track\+Segment}}.



Referenced by Manipulator\+::make\+Dogleg(), and Manipulator\+::relax().

\mbox{\Hypertarget{classKite_1_1TrackElement_a95ec3b8e7e1ec87c20ee0b37bcc96df7}\label{classKite_1_1TrackElement_a95ec3b8e7e1ec87c20ee0b37bcc96df7}} 
\index{Kite\+::\+Track\+Element@{Kite\+::\+Track\+Element}!get\+Parent@{get\+Parent}}
\index{get\+Parent@{get\+Parent}!Kite\+::\+Track\+Element@{Kite\+::\+Track\+Element}}
\paragraph{\texorpdfstring{get\+Parent()}{getParent()}}
{\footnotesize\ttfamily \mbox{\hyperlink{classKite_1_1TrackElement}{Track\+Element}} $\ast$ get\+Parent (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}

{\bfseries Returns\+:} The \mbox{\hyperlink{classKite_1_1TrackElement}{Track\+Element}} from which the dogleg has been created, if any. 

Reimplemented in \mbox{\hyperlink{classKite_1_1TrackSegment_a95ec3b8e7e1ec87c20ee0b37bcc96df7}{Track\+Segment}}.



Referenced by Routing\+Event\+::set\+Axis\+Hint\+From\+Parent().

\mbox{\Hypertarget{classKite_1_1TrackElement_add78c6f914788c549f144998caacda84}\label{classKite_1_1TrackElement_add78c6f914788c549f144998caacda84}} 
\index{Kite\+::\+Track\+Element@{Kite\+::\+Track\+Element}!get\+Dogleg\+Level@{get\+Dogleg\+Level}}
\index{get\+Dogleg\+Level@{get\+Dogleg\+Level}!Kite\+::\+Track\+Element@{Kite\+::\+Track\+Element}}
\paragraph{\texorpdfstring{get\+Dogleg\+Level()}{getDoglegLevel()}}
{\footnotesize\ttfamily unsigned int get\+Dogleg\+Level (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}

{\bfseries Returns\+:} The deepness of the dogleg. 

Reimplemented in \mbox{\hyperlink{classKite_1_1TrackSegment_add78c6f914788c549f144998caacda84}{Track\+Segment}}.

\mbox{\Hypertarget{classKite_1_1TrackElement_a7e79fbfe77f173d46b1959c41087930a}\label{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\+::\+Track\+Element@{Kite\+::\+Track\+Element}}
\paragraph{\texorpdfstring{get\+Source\+Dogleg()}{getSourceDogleg()}}
{\footnotesize\ttfamily \mbox{\hyperlink{classKite_1_1TrackElement}{Track\+Element}} $\ast$ get\+Source\+Dogleg (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}

{\bfseries Returns\+:} The source part of the segment from which the dogleg has been created. 

Reimplemented in \mbox{\hyperlink{classKite_1_1TrackSegment_a7e79fbfe77f173d46b1959c41087930a}{Track\+Segment}}.



Referenced by Manipulator\+::relax().

\mbox{\Hypertarget{classKite_1_1TrackElement_aeb4e39bd925d093e6c45599433bb421c}\label{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\+::\+Track\+Element@{Kite\+::\+Track\+Element}}
\paragraph{\texorpdfstring{get\+Target\+Dogleg()}{getTargetDogleg()}}
{\footnotesize\ttfamily \mbox{\hyperlink{classKite_1_1TrackElement}{Track\+Element}} $\ast$ get\+Target\+Dogleg (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}

{\bfseries Returns\+:} The target part of the segment from which the dogleg has been created. 

Reimplemented in \mbox{\hyperlink{classKite_1_1TrackSegment_aeb4e39bd925d093e6c45599433bb421c}{Track\+Segment}}.



Referenced by Manipulator\+::relax().

\mbox{\Hypertarget{classKite_1_1TrackElement_aa0ba92ebf19f596537dc051c090d5736}\label{classKite_1_1TrackElement_aa0ba92ebf19f596537dc051c090d5736}} 
\index{Kite\+::\+Track\+Element@{Kite\+::\+Track\+Element}!get\+Perpandiculars@{get\+Perpandiculars}}
\index{get\+Perpandiculars@{get\+Perpandiculars}!Kite\+::\+Track\+Element@{Kite\+::\+Track\+Element}}
\paragraph{\texorpdfstring{get\+Perpandiculars()}{getPerpandiculars()}}
{\footnotesize\ttfamily Track\+Elements get\+Perpandiculars (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}

{\bfseries Returns\+:} The collection of all element perpandiculars to this one. 

Reimplemented in \mbox{\hyperlink{classKite_1_1TrackSegment_aa0ba92ebf19f596537dc051c090d5736}{Track\+Segment}}.



Referenced by Manipulator\+::force\+To\+Track(), and Manipulator\+::insert\+In\+Track().

\mbox{\Hypertarget{classKite_1_1TrackElement_aeb14f94914af58657a0dc2f50ec98df5}\label{classKite_1_1TrackElement_aeb14f94914af58657a0dc2f50ec98df5}} 
\index{Kite\+::\+Track\+Element@{Kite\+::\+Track\+Element}!set\+Flags@{set\+Flags}}
\index{set\+Flags@{set\+Flags}!Kite\+::\+Track\+Element@{Kite\+::\+Track\+Element}}
\paragraph{\texorpdfstring{set\+Flags()}{setFlags()}}
{\footnotesize\ttfamily void set\+Flags (\begin{DoxyParamCaption}\item[{unsigned int}]{flags }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}

Set to {\bfseries true} {\ttfamily flags} in the element state array. 

Referenced by Track\+Segment\+::detach(), Track\+Segment\+::invalidate(), and Manipulator\+::relax().

\mbox{\Hypertarget{classKite_1_1TrackElement_a1a6fac115cb81db48e3ac9ffa0721bb5}\label{classKite_1_1TrackElement_a1a6fac115cb81db48e3ac9ffa0721bb5}} 
\index{Kite\+::\+Track\+Element@{Kite\+::\+Track\+Element}!unset\+Flags@{unset\+Flags}}
\index{unset\+Flags@{unset\+Flags}!Kite\+::\+Track\+Element@{Kite\+::\+Track\+Element}}
\paragraph{\texorpdfstring{unset\+Flags()}{unsetFlags()}}
{\footnotesize\ttfamily void unset\+Flags (\begin{DoxyParamCaption}\item[{unsigned int}]{flags }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}

Reset to {\bfseries false} {\ttfamily flags} in the element state array. 

Referenced by Track\+Segment\+::revalidate().

\mbox{\Hypertarget{classKite_1_1TrackElement_abd3d8093f871d3d1a7f24b053648026c}\label{classKite_1_1TrackElement_abd3d8093f871d3d1a7f24b053648026c}} 
\index{Kite\+::\+Track\+Element@{Kite\+::\+Track\+Element}!set\+Track@{set\+Track}}
\index{set\+Track@{set\+Track}!Kite\+::\+Track\+Element@{Kite\+::\+Track\+Element}}
\paragraph{\texorpdfstring{set\+Track()}{setTrack()}}
{\footnotesize\ttfamily void set\+Track (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classKite_1_1Track}{Track}} $\ast$}]{track }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}

Insert the element into {\ttfamily track}, also used as an insertion marker. 

Reimplemented in \mbox{\hyperlink{classKite_1_1TrackSegment_abd3d8093f871d3d1a7f24b053648026c}{Track\+Segment}}.



Referenced by Track\+::insert(), and Track\+Segment\+::set\+Track().

\mbox{\Hypertarget{classKite_1_1TrackElement_abee236b4d62f51320212f31e010fc1b5}\label{classKite_1_1TrackElement_abee236b4d62f51320212f31e010fc1b5}} 
\index{Kite\+::\+Track\+Element@{Kite\+::\+Track\+Element}!set\+Index@{set\+Index}}
\index{set\+Index@{set\+Index}!Kite\+::\+Track\+Element@{Kite\+::\+Track\+Element}}
\paragraph{\texorpdfstring{set\+Index()}{setIndex()}}
{\footnotesize\ttfamily void set\+Index (\begin{DoxyParamCaption}\item[{size\+\_\+t}]{index }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}

Cache the element\textquotesingle{}s index in the \mbox{\hyperlink{classKite_1_1Track}{Track}} internal vector. 

Referenced by Track\+Segment\+::detach(), and Track\+Segment\+::swap\+Track().

\mbox{\Hypertarget{classKite_1_1TrackElement_af5332d647c0482aa90ad7cc9b2a50f3a}\label{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\+::\+Track\+Element@{Kite\+::\+Track\+Element}}
\paragraph{\texorpdfstring{update\+Freedom\+Degree()}{updateFreedomDegree()}}
{\footnotesize\ttfamily void update\+Freedom\+Degree (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}

Update, from the element characteristics, it\textquotesingle{}s degree of freedom. 

Reimplemented in \mbox{\hyperlink{classKite_1_1TrackSegment_af5332d647c0482aa90ad7cc9b2a50f3a}{Track\+Segment}}.

\mbox{\Hypertarget{classKite_1_1TrackElement_a2b90319cb042b283aa5d1fdb1992f11f}\label{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\+::\+Track\+Element@{Kite\+::\+Track\+Element}}
\paragraph{\texorpdfstring{set\+Dogleg\+Level()}{setDoglegLevel()}}
{\footnotesize\ttfamily void set\+Dogleg\+Level (\begin{DoxyParamCaption}\item[{unsigned int}]{level }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}

Sets the level of dogleg of the element. 

Reimplemented in \mbox{\hyperlink{classKite_1_1TrackSegment_a2b90319cb042b283aa5d1fdb1992f11f}{Track\+Segment}}.

\mbox{\Hypertarget{classKite_1_1TrackElement_acc245ce084989d1c34816d0e61b9d510}\label{classKite_1_1TrackElement_acc245ce084989d1c34816d0e61b9d510}} 
\index{Kite\+::\+Track\+Element@{Kite\+::\+Track\+Element}!swap\+Track@{swap\+Track}}
\index{swap\+Track@{swap\+Track}!Kite\+::\+Track\+Element@{Kite\+::\+Track\+Element}}
\paragraph{\texorpdfstring{swap\+Track()}{swapTrack()}}
{\footnotesize\ttfamily void swap\+Track (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classKite_1_1TrackElement}{Track\+Element}} $\ast$}]{other }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}

Swap the tracks of {\ttfamily this} and {\ttfamily other}. 

Reimplemented in \mbox{\hyperlink{classKite_1_1TrackSegment_acc245ce084989d1c34816d0e61b9d510}{Track\+Segment}}.

\mbox{\Hypertarget{classKite_1_1TrackElement_a0ffe603ec7d46f21f5e56ccbe84c03fb}\label{classKite_1_1TrackElement_a0ffe603ec7d46f21f5e56ccbe84c03fb}} 
\index{Kite\+::\+Track\+Element@{Kite\+::\+Track\+Element}!reschedule@{reschedule}}
\index{reschedule@{reschedule}!Kite\+::\+Track\+Element@{Kite\+::\+Track\+Element}}
\paragraph{\texorpdfstring{reschedule()}{reschedule()}}
{\footnotesize\ttfamily void reschedule (\begin{DoxyParamCaption}\item[{unsigned int}]{level }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}

If the \mbox{\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 \mbox{\hyperlink{classKite_1_1TrackSegment_a0ffe603ec7d46f21f5e56ccbe84c03fb}{Track\+Segment}}.



Referenced by Track\+Segment\+::\+\_\+post\+Doglegs().

\mbox{\Hypertarget{classKite_1_1TrackElement_ac295bade8aee589f6718dfa79edc2a34}\label{classKite_1_1TrackElement_ac295bade8aee589f6718dfa79edc2a34}} 
\index{Kite\+::\+Track\+Element@{Kite\+::\+Track\+Element}!detach@{detach}}
\index{detach@{detach}!Kite\+::\+Track\+Element@{Kite\+::\+Track\+Element}}
\paragraph{\texorpdfstring{detach()}{detach()}}
{\footnotesize\ttfamily void detach (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}

Remove the link from the \mbox{\hyperlink{classKite_1_1TrackElement}{Track\+Element}} to it\textquotesingle{}s owning \mbox{\hyperlink{classKite_1_1Track}{Track}}, marking it for removal. The removal from the \mbox{\hyperlink{classKite_1_1Track}{Track}}\textquotesingle{}s vector is managed by the \mbox{\hyperlink{classKite_1_1Track}{Track}} itself during the \mbox{\hyperlink{classKite_1_1Session}{Session}} revalidation stage. 

Reimplemented in \mbox{\hyperlink{classKite_1_1TrackSegment_ac295bade8aee589f6718dfa79edc2a34}{Track\+Segment}}.

\mbox{\Hypertarget{classKite_1_1TrackElement_a893f1101c650c08c98612515c2b1a89c}\label{classKite_1_1TrackElement_a893f1101c650c08c98612515c2b1a89c}} 
\index{Kite\+::\+Track\+Element@{Kite\+::\+Track\+Element}!invalidate@{invalidate}}
\index{invalidate@{invalidate}!Kite\+::\+Track\+Element@{Kite\+::\+Track\+Element}}
\paragraph{\texorpdfstring{invalidate()}{invalidate()}}
{\footnotesize\ttfamily void invalidate (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}

{\bfseries See also\+:}~ \textbf{ Auto\+Segment\+::invalidate()}. 

Reimplemented in \mbox{\hyperlink{classKite_1_1TrackSegment_a893f1101c650c08c98612515c2b1a89c}{Track\+Segment}}.



Referenced by Negociate\+Window\+::create\+Track\+Segment(), and Segment\+Observer\+::notify().

\mbox{\Hypertarget{classKite_1_1TrackElement_a5bd93abe1416952ace15a98dbeeed124}\label{classKite_1_1TrackElement_a5bd93abe1416952ace15a98dbeeed124}} 
\index{Kite\+::\+Track\+Element@{Kite\+::\+Track\+Element}!revalidate@{revalidate}}
\index{revalidate@{revalidate}!Kite\+::\+Track\+Element@{Kite\+::\+Track\+Element}}
\paragraph{\texorpdfstring{revalidate()}{revalidate()}}
{\footnotesize\ttfamily void revalidate (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}

Actualize the \mbox{\hyperlink{classKite_1_1TrackElement}{Track\+Element}} characteristics from the supporting elements (set of Auto\+Segment).

Must be completed with the event management 

Reimplemented in \mbox{\hyperlink{classKite_1_1TrackSegment_a5bd93abe1416952ace15a98dbeeed124}{Track\+Segment}}.

\mbox{\Hypertarget{classKite_1_1TrackElement_a7f1126d43df68dd4edbb8d047a134edb}\label{classKite_1_1TrackElement_a7f1126d43df68dd4edbb8d047a134edb}} 
\index{Kite\+::\+Track\+Element@{Kite\+::\+Track\+Element}!inc\+Overlap\+Cost@{inc\+Overlap\+Cost}}
\index{inc\+Overlap\+Cost@{inc\+Overlap\+Cost}!Kite\+::\+Track\+Element@{Kite\+::\+Track\+Element}}
\paragraph{\texorpdfstring{inc\+Overlap\+Cost()}{incOverlapCost()}}
{\footnotesize\ttfamily void inc\+Overlap\+Cost (\begin{DoxyParamCaption}\item[{\textbf{ Net} $\ast$}]{net,  }\item[{Track\+Cost \&amp;}]{cost }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}

{\bfseries See also\+:}~ Compute the cost of overlap between this segment and the interval specified in {\ttfamily cost}. Mainly calls the relevant callback. \mbox{\Hypertarget{classKite_1_1TrackElement_a45e685b1e3ee630d24bf43746553af4c}\label{classKite_1_1TrackElement_a45e685b1e3ee630d24bf43746553af4c}} 
\index{Kite\+::\+Track\+Element@{Kite\+::\+Track\+Element}!set\+Axis@{set\+Axis}}
\index{set\+Axis@{set\+Axis}!Kite\+::\+Track\+Element@{Kite\+::\+Track\+Element}}
\paragraph{\texorpdfstring{set\+Axis()}{setAxis()}}
{\footnotesize\ttfamily void set\+Axis (\begin{DoxyParamCaption}\item[{\textbf{ Db\+U\+::\+Unit}}]{,  }\item[{unsigned int}]{flags = {\ttfamily Katabatic\+:\+:SegAxisSet} }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}

Sets the axis of the \mbox{\hyperlink{classKite_1_1TrackElement}{Track\+Element}}. 

Reimplemented in \mbox{\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().

\mbox{\Hypertarget{classKite_1_1TrackElement_a7a9637875364e84e6862de0102341715}\label{classKite_1_1TrackElement_a7a9637875364e84e6862de0102341715}} 
\index{Kite\+::\+Track\+Element@{Kite\+::\+Track\+Element}!make\+Dogleg@{make\+Dogleg}}
\index{make\+Dogleg@{make\+Dogleg}!Kite\+::\+Track\+Element@{Kite\+::\+Track\+Element}}
\paragraph{\texorpdfstring{make\+Dogleg()}{makeDogleg()}\hspace{0.1cm}{\footnotesize\ttfamily [1/3]}}
{\footnotesize\ttfamily \mbox{\hyperlink{classKite_1_1TrackElement}{Track\+Element}} $\ast$ make\+Dogleg (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}

Create a dogleg on the source end of the \mbox{\hyperlink{classKite_1_1TrackSegment}{Track\+Segment}}. Put the dogleg axis on the source {\bfseries To be further reviewed}.

{\bfseries See also\+:}~ \mbox{\hyperlink{classKite_1_1TrackSegment_secDogleg}{Dogleg management}}.

Post-\/processing done by \mbox{\hyperlink{classKite_1_1TrackSegment_a10a45c049d0bd7d01c7eff1c5441c7a2}{Track\+Segment\+::\+\_\+post\+Doglegs()}}. 

Reimplemented in \mbox{\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().

\mbox{\Hypertarget{classKite_1_1TrackElement_a3e1b4982a2427f74e55592520ab6272d}\label{classKite_1_1TrackElement_a3e1b4982a2427f74e55592520ab6272d}} 
\index{Kite\+::\+Track\+Element@{Kite\+::\+Track\+Element}!make\+Dogleg@{make\+Dogleg}}
\index{make\+Dogleg@{make\+Dogleg}!Kite\+::\+Track\+Element@{Kite\+::\+Track\+Element}}
\paragraph{\texorpdfstring{make\+Dogleg()}{makeDogleg()}\hspace{0.1cm}{\footnotesize\ttfamily [2/3]}}
{\footnotesize\ttfamily \mbox{\hyperlink{classKite_1_1TrackElement}{Track\+Element}} $\ast$ make\+Dogleg (\begin{DoxyParamCaption}\item[{\textbf{ Katabatic\+::\+G\+Cell} $\ast$}]{gcell }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}

{\bfseries See also\+:}~ \textbf{ Auto\+Segment\+::make\+Dogleg()}, \mbox{\hyperlink{classKite_1_1TrackSegment_secDogleg}{Dogleg management}}.

Post-\/processing done by \mbox{\hyperlink{classKite_1_1TrackSegment_a10a45c049d0bd7d01c7eff1c5441c7a2}{Track\+Segment\+::\+\_\+post\+Doglegs()}}. \mbox{\Hypertarget{classKite_1_1TrackElement_a524f1569b2f2c1a84df2fe47e84e28ed}\label{classKite_1_1TrackElement_a524f1569b2f2c1a84df2fe47e84e28ed}} 
\index{Kite\+::\+Track\+Element@{Kite\+::\+Track\+Element}!make\+Dogleg@{make\+Dogleg}}
\index{make\+Dogleg@{make\+Dogleg}!Kite\+::\+Track\+Element@{Kite\+::\+Track\+Element}}
\paragraph{\texorpdfstring{make\+Dogleg()}{makeDogleg()}\hspace{0.1cm}{\footnotesize\ttfamily [3/3]}}
{\footnotesize\ttfamily \mbox{\hyperlink{classKite_1_1TrackElement}{Track\+Element}} $\ast$ make\+Dogleg (\begin{DoxyParamCaption}\item[{\textbf{ Interval}}]{interval,  }\item[{unsigned int \&amp;}]{flags }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}

{\bfseries See also\+:}~ \textbf{ Auto\+Segment\+::make\+Dogleg()}, \mbox{\hyperlink{classKite_1_1TrackSegment_secDogleg}{Dogleg management}}, the return flags from this method are returned through the {\ttfamily flags} variable.

Post-\/processing done by \mbox{\hyperlink{classKite_1_1TrackSegment_a10a45c049d0bd7d01c7eff1c5441c7a2}{Track\+Segment\+::\+\_\+post\+Doglegs()}}. 

Reimplemented in \mbox{\hyperlink{classKite_1_1TrackSegment_a524f1569b2f2c1a84df2fe47e84e28ed}{Track\+Segment}}.

\mbox{\Hypertarget{classKite_1_1TrackElement_ad79f4c6ea0fe1135b8264a29af085909}\label{classKite_1_1TrackElement_ad79f4c6ea0fe1135b8264a29af085909}} 
\index{Kite\+::\+Track\+Element@{Kite\+::\+Track\+Element}!\+\_\+check@{\+\_\+check}}
\index{\+\_\+check@{\+\_\+check}!Kite\+::\+Track\+Element@{Kite\+::\+Track\+Element}}
\paragraph{\texorpdfstring{\+\_\+check()}{\_check()}}
{\footnotesize\ttfamily bool \+\_\+check (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [virtual]}}

Check the coherency of the element. For a \mbox{\hyperlink{classKite_1_1TrackSegment}{Track\+Segment}}\+:
\begin{DoxyItemize}
\item The supporting Auto\+Segment the canonical one of the set.
\item The cached {\ttfamily min} \&amp; {\ttfamily max} values are identical to the computed ones.
\end{DoxyItemize}

{\bfseries Returns\+:} {\bfseries true} on success. 

Reimplemented in \mbox{\hyperlink{classKite_1_1TrackSegment_ad79f4c6ea0fe1135b8264a29af085909}{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}
</pre></body></html>