\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=282pt]{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} \&) \item virtual size\+\_\+t \mbox{\hyperlink{classKite_1_1TrackElement_af45301f76558f613ccb605a8f851080e}{get\+G\+Cells}} (Katabatic\+::\+G\+Cell\+Vector \&) 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 \&) 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 \&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$<$$>$}). 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} & 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} \&}]{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 \&}]{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 \&}]{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 \&}]{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} \& {\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}