2018-10-18 11:10:01 -05:00
\hypertarget { classKite_ 1_ 1TrackSegment} { } \subsection { Track\+ Segment Class Reference}
\label { classKite_ 1_ 1TrackSegment} \index { Track\+ Segment@{ Track\+ Segment} }
2018-06-06 11:42:26 -05:00
2018-10-18 11:10:01 -05:00
Derived \textbf { Katabatic\+ ::\+ Auto\+ Segment} for the router.
2018-06-06 11:42:26 -05:00
2018-10-18 11:10:01 -05:00
Inheritance diagram for Track\+ Segment\+ :\nopagebreak
2018-06-06 11:42:26 -05:00
\begin { figure} [H]
\begin { center}
\leavevmode
2020-04-27 07:14:03 -05:00
\includegraphics [width=166pt] { classKite_ 1_ 1TrackSegment_ _ inherit_ _ graph}
2018-06-06 11:42:26 -05:00
\end { center}
\end { figure}
\subsubsection * { Public Member Functions}
\begin { DoxyCompactItemize}
\item
2018-10-18 11:10:01 -05:00
virtual bool \mbox { \hyperlink { classKite_ 1_ 1TrackSegment_ afd7362b850709bed8b61c1aa22399f97} { is\+ Fixed} } () const
2018-06-06 11:42:26 -05:00
\item
2018-10-18 11:10:01 -05:00
virtual bool \mbox { \hyperlink { classKite_ 1_ 1TrackSegment_ a21b9cefd33ae22e4c2070ad441bdd30b} { is\+ Horizontal} } () const
2018-06-06 11:42:26 -05:00
\item
2018-10-18 11:10:01 -05:00
virtual bool \mbox { \hyperlink { classKite_ 1_ 1TrackSegment_ abd54544ef1710ee4b67cfb021d73446c} { is\+ Vertical} } () const
2018-06-06 11:42:26 -05:00
\item
2018-10-18 11:10:01 -05:00
virtual bool \mbox { \hyperlink { classKite_ 1_ 1TrackSegment_ add556a145a89fdbcea82346abfb873dc} { is\+ Local} } () const
2018-06-06 11:42:26 -05:00
\item
2018-10-18 11:10:01 -05:00
virtual bool \mbox { \hyperlink { classKite_ 1_ 1TrackSegment_ a19ba379112d6b29faa45c5eefbf38500} { is\+ Global} } () const
2018-06-06 11:42:26 -05:00
\item
2018-10-18 11:10:01 -05:00
virtual bool \mbox { \hyperlink { classKite_ 1_ 1TrackSegment_ a72741158d19af38e84c5e9c08f91270f} { is\+ Bipoint} } () const
2018-06-06 11:42:26 -05:00
\item
2018-10-18 11:10:01 -05:00
virtual bool \mbox { \hyperlink { classKite_ 1_ 1TrackSegment_ a1e074cb3064037035548e5e6d238e315} { is\+ Terminal} } () const
2018-06-06 11:42:26 -05:00
\item
2018-10-18 11:10:01 -05:00
virtual bool \mbox { \hyperlink { classKite_ 1_ 1TrackSegment_ a62d61c231cf404a814ae37665fa8164f} { is\+ Strap} } () const
2018-06-06 11:42:26 -05:00
\item
2018-10-18 11:10:01 -05:00
virtual bool \mbox { \hyperlink { classKite_ 1_ 1TrackSegment_ a782cff57d3fe10e758d19ee65a06643d} { is\+ Slackened} } () const
2018-06-06 11:42:26 -05:00
\item
2018-10-18 11:10:01 -05:00
virtual bool \mbox { \hyperlink { classKite_ 1_ 1TrackSegment_ a75d91371e5281dd21f60ff39ae70a3e5} { is\+ Dogleg} } () const
2018-06-06 11:42:26 -05:00
\item
2018-10-18 11:10:01 -05:00
virtual bool \mbox { \hyperlink { classKite_ 1_ 1TrackSegment_ aa0bb6f1592688e942ff67e0ac318a4fd} { can\+ Dogleg} } ()
2018-06-06 11:42:26 -05:00
\item
2018-10-18 11:10:01 -05:00
virtual bool \mbox { \hyperlink { classKite_ 1_ 1TrackSegment_ accb4c6a7ee2678a0cff4dbc4a7860fe1} { can\+ Dogleg} } (\textbf { Interval} )
2018-06-06 11:42:26 -05:00
\item
2018-10-18 11:10:01 -05:00
virtual bool \mbox { \hyperlink { classKite_ 1_ 1TrackSegment_ a4f040cf33009e4886d401115c3bea838} { can\+ Dogleg} } (\textbf { Katabatic\+ ::\+ G\+ Cell} $ \ast $ , unsigned int flags=0)
2018-06-06 11:42:26 -05:00
\item
2018-10-18 11:10:01 -05:00
virtual float \mbox { \hyperlink { classKite_ 1_ 1TrackSegment_ abb61228ad7b29c19c6428902d34126f7} { get\+ Max\+ Under\+ Density} } (unsigned int flags) const
2018-06-06 11:42:26 -05:00
\item
2018-10-18 11:10:01 -05:00
virtual unsigned long \mbox { \hyperlink { classKite_ 1_ 1TrackSegment_ afdedcef127ad2a3677a5b48d7d3453f3} { get\+ Id} } () const
2018-06-06 11:42:26 -05:00
\item
2018-10-18 11:10:01 -05:00
virtual unsigned int \mbox { \hyperlink { classKite_ 1_ 1TrackSegment_ a0dd7cf705ace42c662c289955313b2e9} { get\+ Direction} } () const
2018-06-06 11:42:26 -05:00
\item
2018-10-18 11:10:01 -05:00
virtual \textbf { Net} $ \ast $ \mbox { \hyperlink { classKite_ 1_ 1TrackSegment_ a692492374623a5c6096b2c4a51190359} { get\+ Net} } () const
2018-06-06 11:42:26 -05:00
\item
2018-10-18 11:10:01 -05:00
virtual const \textbf { Layer} $ \ast $ \mbox { \hyperlink { classKite_ 1_ 1TrackSegment_ ab045567c4f529dca7790d66c17c3084f} { get\+ Layer} } () const
2018-06-06 11:42:26 -05:00
\item
2018-10-18 11:10:01 -05:00
virtual unsigned long \mbox { \hyperlink { classKite_ 1_ 1TrackSegment_ aa7552c20cc46abcac558627b2ca341f8} { get\+ Freedom\+ Degree} } () const
2018-06-06 11:42:26 -05:00
\item
2018-10-18 11:10:01 -05:00
virtual unsigned int \mbox { \hyperlink { classKite_ 1_ 1TrackSegment_ add78c6f914788c549f144998caacda84} { get\+ Dogleg\+ Level} } () const
2018-06-06 11:42:26 -05:00
\item
2018-10-18 11:10:01 -05:00
virtual \mbox { \hyperlink { classKite_ 1_ 1TrackElement} { Track\+ Element} } $ \ast $ \mbox { \hyperlink { classKite_ 1_ 1TrackSegment_ a010b7fc8801c5b88aefa4137cf85186d} { get\+ Next} } () const
2018-06-06 11:42:26 -05:00
\item
2018-10-18 11:10:01 -05:00
virtual \mbox { \hyperlink { classKite_ 1_ 1TrackElement} { Track\+ Element} } $ \ast $ \mbox { \hyperlink { classKite_ 1_ 1TrackSegment_ a55d6115d84c11ad147f4c38fe372ea24} { get\+ Previous} } () const
2018-06-06 11:42:26 -05:00
\item
2018-10-18 11:10:01 -05:00
virtual \mbox { \hyperlink { classKite_ 1_ 1TrackElement} { Track\+ Element} } $ \ast $ \mbox { \hyperlink { classKite_ 1_ 1TrackSegment_ a95ec3b8e7e1ec87c20ee0b37bcc96df7} { get\+ Parent} } () const
2018-06-06 11:42:26 -05:00
\item
2018-10-18 11:10:01 -05:00
virtual \textbf { Db\+ U\+ ::\+ Unit} \mbox { \hyperlink { classKite_ 1_ 1TrackSegment_ ab5b5aaa5b318369feee6003dbad039c2} { get\+ Axis} } () const
2018-06-06 11:42:26 -05:00
\item
2018-10-18 11:10:01 -05:00
virtual \textbf { Interval} \mbox { \hyperlink { classKite_ 1_ 1TrackSegment_ a034711e2d3617ea848ef9f5a18255e10} { get\+ Free\+ Interval} } () const
2018-06-06 11:42:26 -05:00
\item
2018-10-18 11:10:01 -05:00
virtual \textbf { Interval} \mbox { \hyperlink { classKite_ 1_ 1TrackSegment_ a48f8b54f9489da3778d85c382a483f81} { get\+ Source\+ Constraints} } () const
2018-06-06 11:42:26 -05:00
\item
2018-10-18 11:10:01 -05:00
virtual \textbf { Interval} \mbox { \hyperlink { classKite_ 1_ 1TrackSegment_ a69af7d4287bc0e44c9ca2c8e6f692be9} { get\+ Target\+ Constraints} } () const
2018-06-06 11:42:26 -05:00
\item
2018-10-18 11:10:01 -05:00
virtual \mbox { \hyperlink { classKite_ 1_ 1DataNegociate} { Data\+ Negociate} } $ \ast $ \mbox { \hyperlink { classKite_ 1_ 1TrackSegment_ acd0170a05128ec4af16ecd0060c3a3b5} { get\+ Data\+ Negociate} } (unsigned int flags=\mbox { \hyperlink { namespaceKite_ acca8fffa3182dea5f94208f454f14b47a68e917ff37d4b5cef906303181836404} { Kt\+ Data\+ Self} } ) const
2018-06-06 11:42:26 -05:00
\item
2018-10-18 11:10:01 -05:00
virtual \mbox { \hyperlink { classKite_ 1_ 1TrackElement} { Track\+ Element} } $ \ast $ \mbox { \hyperlink { classKite_ 1_ 1TrackSegment_ af2d46d64cbd02bdbba53d5483d95e26d} { get\+ Canonical} } (\textbf { Interval} \& )
2018-06-06 11:42:26 -05:00
\item
2018-10-18 11:10:01 -05:00
virtual size\+ \_ \+ t \mbox { \hyperlink { classKite_ 1_ 1TrackSegment_ af45301f76558f613ccb605a8f851080e} { get\+ G\+ Cells} } (Katabatic\+ ::\+ G\+ Cell\+ Vector \& ) const
2018-06-06 11:42:26 -05:00
\item
2018-10-18 11:10:01 -05:00
virtual \mbox { \hyperlink { classKite_ 1_ 1TrackElement} { Track\+ Element} } $ \ast $ \mbox { \hyperlink { classKite_ 1_ 1TrackSegment_ a7e79fbfe77f173d46b1959c41087930a} { get\+ Source\+ Dogleg} } ()
2018-06-06 11:42:26 -05:00
\item
2018-10-18 11:10:01 -05:00
virtual \mbox { \hyperlink { classKite_ 1_ 1TrackElement} { Track\+ Element} } $ \ast $ \mbox { \hyperlink { classKite_ 1_ 1TrackSegment_ aeb4e39bd925d093e6c45599433bb421c} { get\+ Target\+ Dogleg} } ()
2018-06-06 11:42:26 -05:00
\item
2018-10-18 11:10:01 -05:00
virtual Track\+ Elements \mbox { \hyperlink { classKite_ 1_ 1TrackSegment_ aa0ba92ebf19f596537dc051c090d5736} { get\+ Perpandiculars} } ()
2018-06-06 11:42:26 -05:00
\item
2018-10-18 11:10:01 -05:00
virtual void \mbox { \hyperlink { classKite_ 1_ 1TrackSegment_ abd3d8093f871d3d1a7f24b053648026c} { set\+ Track} } (\mbox { \hyperlink { classKite_ 1_ 1Track} { Track} } $ \ast $ )
2018-06-06 11:42:26 -05:00
\item
2018-10-18 11:10:01 -05:00
virtual void \mbox { \hyperlink { classKite_ 1_ 1TrackSegment_ af5332d647c0482aa90ad7cc9b2a50f3a} { update\+ Freedom\+ Degree} } ()
2018-06-06 11:42:26 -05:00
\item
2018-10-18 11:10:01 -05:00
virtual void \mbox { \hyperlink { classKite_ 1_ 1TrackSegment_ a2b90319cb042b283aa5d1fdb1992f11f} { set\+ Dogleg\+ Level} } (unsigned int)
2018-06-06 11:42:26 -05:00
\item
2018-10-18 11:10:01 -05:00
virtual void \mbox { \hyperlink { classKite_ 1_ 1TrackSegment_ acc245ce084989d1c34816d0e61b9d510} { swap\+ Track} } (\mbox { \hyperlink { classKite_ 1_ 1TrackElement} { Track\+ Element} } $ \ast $ )
2018-06-06 11:42:26 -05:00
\item
2018-10-18 11:10:01 -05:00
virtual void \mbox { \hyperlink { classKite_ 1_ 1TrackSegment_ a0ffe603ec7d46f21f5e56ccbe84c03fb} { reschedule} } (unsigned int level)
2018-06-06 11:42:26 -05:00
\item
2018-10-18 11:10:01 -05:00
virtual void \mbox { \hyperlink { classKite_ 1_ 1TrackSegment_ ac295bade8aee589f6718dfa79edc2a34} { detach} } ()
2018-06-06 11:42:26 -05:00
\item
2018-10-18 11:10:01 -05:00
virtual void \mbox { \hyperlink { classKite_ 1_ 1TrackSegment_ a893f1101c650c08c98612515c2b1a89c} { invalidate} } ()
2018-06-06 11:42:26 -05:00
\item
2018-10-18 11:10:01 -05:00
virtual void \mbox { \hyperlink { classKite_ 1_ 1TrackSegment_ a5bd93abe1416952ace15a98dbeeed124} { revalidate} } ()
2018-06-06 11:42:26 -05:00
\item
2018-10-18 11:10:01 -05:00
virtual void \mbox { \hyperlink { classKite_ 1_ 1TrackSegment_ a262a915c38127d3722ec561b30d80f91} { set\+ Axis} } (\textbf { Db\+ U\+ ::\+ Unit} , unsigned int flags)
2018-06-06 11:42:26 -05:00
\item
2018-10-18 11:10:01 -05:00
virtual \mbox { \hyperlink { classKite_ 1_ 1TrackElement} { Track\+ Element} } $ \ast $ \mbox { \hyperlink { classKite_ 1_ 1TrackSegment_ a7a9637875364e84e6862de0102341715} { make\+ Dogleg} } ()
2018-06-06 11:42:26 -05:00
\item
2018-10-18 11:10:01 -05:00
virtual \mbox { \hyperlink { classKite_ 1_ 1TrackElement} { Track\+ Element} } $ \ast $ \mbox { \hyperlink { classKite_ 1_ 1TrackSegment_ a524f1569b2f2c1a84df2fe47e84e28ed} { make\+ Dogleg} } (\textbf { Interval} , unsigned int \& flags)
2018-06-06 11:42:26 -05:00
\item
2018-10-18 11:10:01 -05:00
virtual void \mbox { \hyperlink { classKite_ 1_ 1TrackSegment_ a10a45c049d0bd7d01c7eff1c5441c7a2} { \+ \_ \+ post\+ Doglegs} } (\mbox { \hyperlink { classKite_ 1_ 1TrackElement} { Track\+ Element} } $ \ast $ \& perpandicular, \mbox { \hyperlink { classKite_ 1_ 1TrackElement} { Track\+ Element} } $ \ast $ \& parallel)
2018-06-06 11:42:26 -05:00
\item
2018-10-18 11:10:01 -05:00
virtual bool \mbox { \hyperlink { classKite_ 1_ 1TrackSegment_ ad79f4c6ea0fe1135b8264a29af085909} { \+ \_ \+ check} } () const
2018-06-06 11:42:26 -05:00
\end { DoxyCompactItemize}
\subsubsection * { Static Public Member Functions}
\begin { DoxyCompactItemize}
\item
2018-10-18 11:10:01 -05:00
static \mbox { \hyperlink { classKite_ 1_ 1TrackElement} { Track\+ Element} } $ \ast $ \mbox { \hyperlink { classKite_ 1_ 1TrackSegment_ a536f91d468e6c2097f85169e6d790f64} { create} } (\textbf { Auto\+ Segment} $ \ast $ , \mbox { \hyperlink { classKite_ 1_ 1Track} { Track} } $ \ast $ , bool \& created)
2018-06-06 11:42:26 -05:00
\end { DoxyCompactItemize}
\subsubsection { Detailed Description}
2018-10-18 11:10:01 -05:00
Derived \textbf { Katabatic\+ ::\+ Auto\+ Segment} for the router.
2018-06-06 11:42:26 -05:00
2018-10-18 11:10:01 -05:00
We create one \mbox { \hyperlink { classKite_ 1_ 1TrackSegment} { Track\+ Segment} } per aligned \textbf { Katabatic\+ ::\+ Auto\+ Segment} set, the \mbox { \hyperlink { classKite_ 1_ 1TrackSegment} { Track\+ Segment} } is associated to the canonical one of the set.
2018-06-06 11:42:26 -05:00
2018-10-18 11:10:01 -05:00
To provide some speedup, the full extention of the aligned segment set is computed once and stored in the \mbox { \hyperlink { classKite_ 1_ 1TrackSegment} { Track\+ Segment} } itself. The drawback beeing that whenever one segment from the aligned set has it\textquotesingle { } s extention modified, the full extention must be recomputed.\hypertarget { classKite_ 1_ 1TrackSegment_ secTSLazyRevalidate} { } \subsubsection { Lazy Revalidate} \label { classKite_ 1_ 1TrackSegment_ secTSLazyRevalidate}
When the \mbox { \hyperlink { classKite_ 1_ 1TrackSegment_ a5bd93abe1416952ace15a98dbeeed124} { Track\+ Segment\+ ::revalidate()} } method is called, it only update the cached size of the segment (from the Auto\+ Segment set of aligneds) and the track into which it may be inserted.
2018-06-06 11:42:26 -05:00
2018-10-18 11:10:01 -05:00
The associated \mbox { \hyperlink { classKite_ 1_ 1DataNegociate} { Data\+ Negociate} } and \mbox { \hyperlink { classKite_ 1_ 1RoutingEvent} { Routing\+ Event} } are { \bfseries not} updated.
2018-06-06 11:42:26 -05:00
\begin { DoxyItemize}
2018-10-18 11:10:01 -05:00
\item The \mbox { \hyperlink { classKite_ 1_ 1RoutingEvent} { Routing\+ Event} } will be updated when it\textquotesingle { } s key is updated, typically during a requeueing operation { \bfseries and} in the \mbox { \hyperlink { classKite_ 1_ 1SegmentFsm} { Segment\+ Fsm} } constructor. This should be optimized in the future.
\item The \mbox { \hyperlink { classKite_ 1_ 1DataNegociate} { Data\+ Negociate} } is updated { \itshape only} in the \mbox { \hyperlink { classKite_ 1_ 1SegmentFsm} { Segment\+ Fsm} } constructor. This is the most costly of the two updates as it perform a perpandicular \& parallel connexity exploration.
2018-06-06 11:42:26 -05:00
\end { DoxyItemize} \hypertarget { classKite_ 1_ 1TrackSegment_ secDogleg} { } \subsubsection { Dogleg Management} \label { classKite_ 1_ 1TrackSegment_ secDogleg}
2018-10-18 11:10:01 -05:00
The basic \textbf { Auto\+ Segment\+ ::can\+ Dogleg()} method is declined in three more dedicated methods in this class\+ :
2018-06-06 11:42:26 -05:00
\begin { DoxyItemize}
2018-10-18 11:10:01 -05:00
\item \mbox { \hyperlink { classKite_ 1_ 1TrackSegment_ aa0bb6f1592688e942ff67e0ac318a4fd} { Track\+ Segment\+ ::can\+ Dogleg()} } , for locals only, check if a break is possible, never break a segment more than once (to avoid fragmentation).
\item \mbox { \hyperlink { classKite_ 1_ 1TrackSegment_ a4f040cf33009e4886d401115c3bea838} { Track\+ Segment\+ ::can\+ Dogleg(\+ Katabatic\+ ::\+ G\+ Cell$ \ast $ ,unsigned int flags)} } for globals, check that the segment is breakable in the desired G\+ Cell. Never break twice in the first/last G\+ Cell (fragmentation limitation), but may { \itshape reuse} an already existing dogleg.
\item \mbox { \hyperlink { classKite_ 1_ 1TrackSegment_ accb4c6a7ee2678a0cff4dbc4a7860fe1} { Track\+ Segment\+ ::can\+ Dogleg(\+ Interval)} } , for locals only, direct proxy for the Auto\+ Segment method. Never allow more than one break.
2018-06-06 11:42:26 -05:00
\end { DoxyItemize}
2018-10-18 11:10:01 -05:00
{ \bfseries Relationship between Auto\+ Segment and \mbox { \hyperlink { classKite_ 1_ 1TrackSegment} { Track\+ Segment} } }
2018-06-06 11:42:26 -05:00
2018-10-18 11:10:01 -05:00
Figure 2 below, shows an example of dogleg creation\+ :
2018-06-06 11:42:26 -05:00
\begin { DoxyItemize}
2018-10-18 11:10:01 -05:00
\item At the Katabatic level, Auto\+ Segment { \ttfamily id\+ :12} is broken. Thus the creation of Auto\+ Segments { \ttfamily id\+ :20} and { \ttfamily id\+ :21} . The orignal \mbox { \hyperlink { classKite_ 1_ 1TrackSegment} { Track\+ Segment} } (canonical Auto\+ Segment { \ttfamily id\+ :10} ) remains on the right side (target) of the break.
\item But, because the canonical of the former aligned Auto\+ Segment set { \ttfamily } (10,11,12,13,14) was on the { \itshape right} side of the break, the new parallel \mbox { \hyperlink { classKite_ 1_ 1TrackSegment} { Track\+ Segment} } will be created on the { \ttfamily left} side, associated to the newly promoted canonical Auto\+ Segment { \ttfamily id\+ :12} .
2018-06-06 11:42:26 -05:00
\end { DoxyItemize}
2018-10-18 11:10:01 -05:00
The \mbox { \hyperlink { classKite_ 1_ 1TrackSegment_ a10a45c049d0bd7d01c7eff1c5441c7a2} { Track\+ Segment\+ ::\+ \_ \+ post\+ Doglegs()} } method called by all flavors of \mbox { \hyperlink { classKite_ 1_ 1TrackSegment_ a7a9637875364e84e6862de0102341715} { Track\+ Segment\+ ::make\+ Dogleg()} } methods is responsible for creating new Track\+ Segments for the new doglegs (there may be more than one), it also update the dogleg level and source/target dogleg flags.
2018-06-06 11:42:26 -05:00
{ \bfseries This section is not finished.} I need to review the parent and doglevel numbering management. There seems to be a risk of infinite fragmentation as the numbering of the original segment is not increased, we should create a { \itshape break} counter separate from deepness.\hypertarget { classKite_ 1_ 1TrackSegment_ secWeakGlobal} { } \subsubsection { Global, Weak Global and Local Segments} \label { classKite_ 1_ 1TrackSegment_ secWeakGlobal}
2018-10-18 11:10:01 -05:00
There\textquotesingle { } s a slight semantic change between Katabatic and \mbox { \hyperlink { namespaceKite} { Kite} } about what is local and what is local. This is due to how we consider the intermediate status of { \itshape Weak\+ Global} .
2018-06-06 11:42:26 -05:00
2018-10-18 11:10:01 -05:00
A { \ttfamily Weak\+ Global} segment is a local segment which is aligned with a global (though a V\+ Tee or an H\+ Tee contact).
2018-06-06 11:42:26 -05:00
2018-10-18 11:10:01 -05:00
In Katabatic a local segment is one that is not { \ttfamily Global} , a local segment can be both { \ttfamily Local} and { \ttfamily Weak\+ Global} .
2018-06-06 11:42:26 -05:00
2018-10-18 11:10:01 -05:00
In \mbox { \hyperlink { namespaceKite} { Kite} } a local segment is one that is neither { \ttfamily Global} or { \ttfamily Weak\+ Global} . The { \ttfamily Weak\+ Global} sides with { \ttfamily Global} unlike in Katabatic.
2018-06-06 11:42:26 -05:00
\subsubsection { Member Function Documentation}
2018-10-18 11:10:01 -05:00
\mbox { \Hypertarget { classKite_ 1_ 1TrackSegment_ a536f91d468e6c2097f85169e6d790f64} \label { classKite_ 1_ 1TrackSegment_ a536f91d468e6c2097f85169e6d790f64} }
\index { Kite\+ ::\+ Track\+ Segment@{ Kite\+ ::\+ Track\+ Segment} !create@{ create} }
\index { create@{ create} !Kite\+ ::\+ Track\+ Segment@{ Kite\+ ::\+ Track\+ Segment} }
\paragraph { \texorpdfstring { create()} { create()} }
{ \footnotesize \ttfamily static \mbox { \hyperlink { classKite_ 1_ 1TrackSegment} { Track\+ Segment} } $ \ast $ create (\begin { DoxyParamCaption} \item [{\textbf{ Auto\+Segment} $\ast$}] { segment, } \item [{\mbox{\hyperlink{classKite_1_1Track}{Track}} $\ast$}] { track, } \item [{bool \&}] { created } \end { DoxyParamCaption} )\hspace { 0.3cm} { \ttfamily [static]} }
2018-06-06 11:42:26 -05:00
\begin { DoxyParams} { Parameters}
2018-10-18 11:10:01 -05:00
{ \em segment} & The Katabatic Auto\+ Segment to decorate. \\
2018-06-06 11:42:26 -05:00
\hline
2018-10-18 11:10:01 -05:00
{ \em track} & A \mbox { \hyperlink { classKite_ 1_ 1Track} { Track} } into which insert the \mbox { \hyperlink { classKite_ 1_ 1TrackSegment} { Track\+ Segment} } (may be { \ttfamily N\+ U\+ LL} ). \\
2018-06-06 11:42:26 -05:00
\hline
2018-10-18 11:10:01 -05:00
{ \em created} & This flag is sets is a new \mbox { \hyperlink { classKite_ 1_ 1TrackSegment} { Track\+ Segment} } has be created. \\
2018-06-06 11:42:26 -05:00
\hline
\end { DoxyParams}
\begin { DoxyReturn} { Returns}
2018-10-18 11:10:01 -05:00
A \mbox { \hyperlink { classKite_ 1_ 1TrackSegment} { Track\+ Segment} } wrapped around an Auto\+ Segment.
2018-06-06 11:42:26 -05:00
\end { DoxyReturn}
2018-10-18 11:10:01 -05:00
Constructor mainly used at loading time to decorate the Katabatic data-\/ base with the router attributes.
Referenced by Negociate\+ Window\+ ::create\+ Track\+ Segment().
\mbox { \Hypertarget { classKite_ 1_ 1TrackSegment_ afd7362b850709bed8b61c1aa22399f97} \label { classKite_ 1_ 1TrackSegment_ afd7362b850709bed8b61c1aa22399f97} }
\index { Kite\+ ::\+ Track\+ Segment@{ Kite\+ ::\+ Track\+ Segment} !is\+ Fixed@{ is\+ Fixed} }
\index { is\+ Fixed@{ is\+ Fixed} !Kite\+ ::\+ Track\+ Segment@{ Kite\+ ::\+ Track\+ Segment} }
\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 from \mbox { \hyperlink { classKite_ 1_ 1TrackElement_ afd7362b850709bed8b61c1aa22399f97} { Track\+ Element} } .
Referenced by Track\+ Segment\+ ::can\+ Dogleg().
\mbox { \Hypertarget { classKite_ 1_ 1TrackSegment_ a21b9cefd33ae22e4c2070ad441bdd30b} \label { classKite_ 1_ 1TrackSegment_ a21b9cefd33ae22e4c2070ad441bdd30b} }
\index { Kite\+ ::\+ Track\+ Segment@{ Kite\+ ::\+ Track\+ Segment} !is\+ Horizontal@{ is\+ Horizontal} }
\index { is\+ Horizontal@{ is\+ Horizontal} !Kite\+ ::\+ Track\+ Segment@{ Kite\+ ::\+ Track\+ Segment} }
\paragraph { \texorpdfstring { is\+ Horizontal()} { isHorizontal()} }
{ \footnotesize \ttfamily bool is\+ Horizontal (\begin { DoxyParamCaption} { } \end { DoxyParamCaption} ) const\hspace { 0.3cm} { \ttfamily [virtual]} }
{ \bfseries See also\+ :} ~ \textbf { Katabatic\+ ::\+ Auto\+ Segment\+ ::is\+ Horizontal()} .
Implements \mbox { \hyperlink { classKite_ 1_ 1TrackElement_ a9d3db1f8a5aca58f8f54d291faebf873} { Track\+ Element} } .
Referenced by Track\+ Segment\+ ::get\+ G\+ Cells().
\mbox { \Hypertarget { classKite_ 1_ 1TrackSegment_ abd54544ef1710ee4b67cfb021d73446c} \label { classKite_ 1_ 1TrackSegment_ abd54544ef1710ee4b67cfb021d73446c} }
\index { Kite\+ ::\+ Track\+ Segment@{ Kite\+ ::\+ Track\+ Segment} !is\+ Vertical@{ is\+ Vertical} }
\index { is\+ Vertical@{ is\+ Vertical} !Kite\+ ::\+ Track\+ Segment@{ Kite\+ ::\+ Track\+ Segment} }
\paragraph { \texorpdfstring { is\+ Vertical()} { isVertical()} }
{ \footnotesize \ttfamily bool is\+ Vertical (\begin { DoxyParamCaption} { } \end { DoxyParamCaption} ) const\hspace { 0.3cm} { \ttfamily [virtual]} }
{ \bfseries See also\+ :} ~ \textbf { Katabatic\+ ::\+ Auto\+ Segment\+ ::is\+ Vertical()} .
Implements \mbox { \hyperlink { classKite_ 1_ 1TrackElement_ a6fa2bf0568a2b295dd7cd1f7207247d5} { Track\+ Element} } .
\mbox { \Hypertarget { classKite_ 1_ 1TrackSegment_ add556a145a89fdbcea82346abfb873dc} \label { classKite_ 1_ 1TrackSegment_ add556a145a89fdbcea82346abfb873dc} }
\index { Kite\+ ::\+ Track\+ Segment@{ Kite\+ ::\+ Track\+ Segment} !is\+ Local@{ is\+ Local} }
\index { is\+ Local@{ is\+ Local} !Kite\+ ::\+ Track\+ Segment@{ Kite\+ ::\+ Track\+ Segment} }
\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 from \mbox { \hyperlink { classKite_ 1_ 1TrackElement_ add556a145a89fdbcea82346abfb873dc} { Track\+ Element} } .
Referenced by Track\+ Segment\+ ::\+ \_ \+ post\+ Doglegs(), and Track\+ Segment\+ ::can\+ Dogleg().
\mbox { \Hypertarget { classKite_ 1_ 1TrackSegment_ a19ba379112d6b29faa45c5eefbf38500} \label { classKite_ 1_ 1TrackSegment_ a19ba379112d6b29faa45c5eefbf38500} }
\index { Kite\+ ::\+ Track\+ Segment@{ Kite\+ ::\+ Track\+ Segment} !is\+ Global@{ is\+ Global} }
\index { is\+ Global@{ is\+ Global} !Kite\+ ::\+ Track\+ Segment@{ Kite\+ ::\+ Track\+ Segment} }
\paragraph { \texorpdfstring { is\+ Global()} { isGlobal()} }
{ \footnotesize \ttfamily bool is\+ Global (\begin { DoxyParamCaption} { } \end { DoxyParamCaption} ) const\hspace { 0.3cm} { \ttfamily [virtual]} }
2018-06-06 11:42:26 -05:00
2018-10-18 11:10:01 -05:00
{ \bfseries See also\+ :} ~ \textbf { Katabatic\+ ::\+ Auto\+ Segment\+ ::is\+ Global()} .
2018-06-06 11:42:26 -05:00
2018-10-18 11:10:01 -05:00
Reimplemented from \mbox { \hyperlink { classKite_ 1_ 1TrackElement_ a19ba379112d6b29faa45c5eefbf38500} { Track\+ Element} } .
2018-06-06 11:42:26 -05:00
2018-10-18 11:10:01 -05:00
\mbox { \Hypertarget { classKite_ 1_ 1TrackSegment_ a72741158d19af38e84c5e9c08f91270f} \label { classKite_ 1_ 1TrackSegment_ a72741158d19af38e84c5e9c08f91270f} }
\index { Kite\+ ::\+ Track\+ Segment@{ Kite\+ ::\+ Track\+ Segment} !is\+ Bipoint@{ is\+ Bipoint} }
\index { is\+ Bipoint@{ is\+ Bipoint} !Kite\+ ::\+ Track\+ Segment@{ Kite\+ ::\+ Track\+ Segment} }
\paragraph { \texorpdfstring { is\+ Bipoint()} { isBipoint()} }
{ \footnotesize \ttfamily bool is\+ Bipoint (\begin { DoxyParamCaption} { } \end { DoxyParamCaption} ) const\hspace { 0.3cm} { \ttfamily [virtual]} }
2018-06-06 11:42:26 -05:00
2018-10-18 11:10:01 -05:00
{ \bfseries See also\+ :} ~ \textbf { Katabatic\+ ::\+ Auto\+ Segment\+ ::is\+ Bipoint()} .
2018-06-06 11:42:26 -05:00
2018-10-18 11:10:01 -05:00
Reimplemented from \mbox { \hyperlink { classKite_ 1_ 1TrackElement_ a72741158d19af38e84c5e9c08f91270f} { Track\+ Element} } .
2018-06-06 11:42:26 -05:00
2018-10-18 11:10:01 -05:00
\mbox { \Hypertarget { classKite_ 1_ 1TrackSegment_ a1e074cb3064037035548e5e6d238e315} \label { classKite_ 1_ 1TrackSegment_ a1e074cb3064037035548e5e6d238e315} }
\index { Kite\+ ::\+ Track\+ Segment@{ Kite\+ ::\+ Track\+ Segment} !is\+ Terminal@{ is\+ Terminal} }
\index { is\+ Terminal@{ is\+ Terminal} !Kite\+ ::\+ Track\+ Segment@{ Kite\+ ::\+ Track\+ Segment} }
\paragraph { \texorpdfstring { is\+ Terminal()} { isTerminal()} }
{ \footnotesize \ttfamily bool is\+ Terminal (\begin { DoxyParamCaption} { } \end { DoxyParamCaption} ) const\hspace { 0.3cm} { \ttfamily [virtual]} }
2018-06-06 11:42:26 -05:00
2018-10-18 11:10:01 -05:00
{ \bfseries See also\+ :} ~ Katabatic\+ ::\+ Auto\+ Segment\+ ::is\+ Terminal().
2018-06-06 11:42:26 -05:00
2018-10-18 11:10:01 -05:00
Reimplemented from \mbox { \hyperlink { classKite_ 1_ 1TrackElement_ a1e074cb3064037035548e5e6d238e315} { Track\+ Element} } .
2018-06-06 11:42:26 -05:00
2018-10-18 11:10:01 -05:00
\mbox { \Hypertarget { classKite_ 1_ 1TrackSegment_ a62d61c231cf404a814ae37665fa8164f} \label { classKite_ 1_ 1TrackSegment_ a62d61c231cf404a814ae37665fa8164f} }
\index { Kite\+ ::\+ Track\+ Segment@{ Kite\+ ::\+ Track\+ Segment} !is\+ Strap@{ is\+ Strap} }
\index { is\+ Strap@{ is\+ Strap} !Kite\+ ::\+ Track\+ Segment@{ Kite\+ ::\+ Track\+ Segment} }
\paragraph { \texorpdfstring { is\+ Strap()} { isStrap()} }
{ \footnotesize \ttfamily bool is\+ Strap (\begin { DoxyParamCaption} { } \end { DoxyParamCaption} ) const\hspace { 0.3cm} { \ttfamily [virtual]} }
2018-06-06 11:42:26 -05:00
2018-10-18 11:10:01 -05:00
{ \bfseries See also\+ :} ~ \textbf { Katabatic\+ ::\+ Auto\+ Segment\+ ::is\+ Strap()} .
2018-06-06 11:42:26 -05:00
2018-10-18 11:10:01 -05:00
Reimplemented from \mbox { \hyperlink { classKite_ 1_ 1TrackElement_ a62d61c231cf404a814ae37665fa8164f} { Track\+ Element} } .
2018-06-06 11:42:26 -05:00
2018-10-18 11:10:01 -05:00
\mbox { \Hypertarget { classKite_ 1_ 1TrackSegment_ a782cff57d3fe10e758d19ee65a06643d} \label { classKite_ 1_ 1TrackSegment_ a782cff57d3fe10e758d19ee65a06643d} }
\index { Kite\+ ::\+ Track\+ Segment@{ Kite\+ ::\+ Track\+ Segment} !is\+ Slackened@{ is\+ Slackened} }
\index { is\+ Slackened@{ is\+ Slackened} !Kite\+ ::\+ Track\+ Segment@{ Kite\+ ::\+ Track\+ Segment} }
\paragraph { \texorpdfstring { is\+ Slackened()} { isSlackened()} }
{ \footnotesize \ttfamily bool is\+ Slackened (\begin { DoxyParamCaption} { } \end { DoxyParamCaption} ) const\hspace { 0.3cm} { \ttfamily [virtual]} }
2018-06-06 11:42:26 -05:00
2018-10-18 11:10:01 -05:00
{ \bfseries See also\+ :} ~ \textbf { Katabatic\+ ::\+ Auto\+ Segment\+ ::is\+ Slackened()} .
2018-06-06 11:42:26 -05:00
2018-10-18 11:10:01 -05:00
Reimplemented from \mbox { \hyperlink { classKite_ 1_ 1TrackElement_ a782cff57d3fe10e758d19ee65a06643d} { Track\+ Element} } .
Referenced by Track\+ Segment\+ ::can\+ Dogleg().
\mbox { \Hypertarget { classKite_ 1_ 1TrackSegment_ a75d91371e5281dd21f60ff39ae70a3e5} \label { classKite_ 1_ 1TrackSegment_ a75d91371e5281dd21f60ff39ae70a3e5} }
\index { Kite\+ ::\+ Track\+ Segment@{ Kite\+ ::\+ Track\+ Segment} !is\+ Dogleg@{ is\+ Dogleg} }
\index { is\+ Dogleg@{ is\+ Dogleg} !Kite\+ ::\+ Track\+ Segment@{ Kite\+ ::\+ Track\+ Segment} }
\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 from \mbox { \hyperlink { classKite_ 1_ 1TrackElement_ a75d91371e5281dd21f60ff39ae70a3e5} { Track\+ Element} } .
\mbox { \Hypertarget { classKite_ 1_ 1TrackSegment_ aa0bb6f1592688e942ff67e0ac318a4fd} \label { classKite_ 1_ 1TrackSegment_ aa0bb6f1592688e942ff67e0ac318a4fd} }
\index { Kite\+ ::\+ Track\+ Segment@{ Kite\+ ::\+ Track\+ Segment} !can\+ Dogleg@{ can\+ Dogleg} }
\index { can\+ Dogleg@{ can\+ Dogleg} !Kite\+ ::\+ Track\+ Segment@{ Kite\+ ::\+ Track\+ Segment} }
\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 from \mbox { \hyperlink { classKite_ 1_ 1TrackElement_ aa0bb6f1592688e942ff67e0ac318a4fd} { Track\+ Element} } .
\mbox { \Hypertarget { classKite_ 1_ 1TrackSegment_ accb4c6a7ee2678a0cff4dbc4a7860fe1} \label { classKite_ 1_ 1TrackSegment_ accb4c6a7ee2678a0cff4dbc4a7860fe1} }
\index { Kite\+ ::\+ Track\+ Segment@{ Kite\+ ::\+ Track\+ Segment} !can\+ Dogleg@{ can\+ Dogleg} }
\index { can\+ Dogleg@{ can\+ Dogleg} !Kite\+ ::\+ Track\+ Segment@{ Kite\+ ::\+ Track\+ Segment} }
\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 from \mbox { \hyperlink { classKite_ 1_ 1TrackElement_ accb4c6a7ee2678a0cff4dbc4a7860fe1} { Track\+ Element} } .
\mbox { \Hypertarget { classKite_ 1_ 1TrackSegment_ a4f040cf33009e4886d401115c3bea838} \label { classKite_ 1_ 1TrackSegment_ a4f040cf33009e4886d401115c3bea838} }
\index { Kite\+ ::\+ Track\+ Segment@{ Kite\+ ::\+ Track\+ Segment} !can\+ Dogleg@{ can\+ Dogleg} }
\index { can\+ Dogleg@{ can\+ Dogleg} !Kite\+ ::\+ Track\+ Segment@{ Kite\+ ::\+ Track\+ Segment} }
\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 from \mbox { \hyperlink { classKite_ 1_ 1TrackElement_ a4f040cf33009e4886d401115c3bea838} { Track\+ Element} } .
\mbox { \Hypertarget { classKite_ 1_ 1TrackSegment_ abb61228ad7b29c19c6428902d34126f7} \label { classKite_ 1_ 1TrackSegment_ abb61228ad7b29c19c6428902d34126f7} }
\index { Kite\+ ::\+ Track\+ Segment@{ Kite\+ ::\+ Track\+ Segment} !get\+ Max\+ Under\+ Density@{ get\+ Max\+ Under\+ Density} }
\index { get\+ Max\+ Under\+ Density@{ get\+ Max\+ Under\+ Density} !Kite\+ ::\+ Track\+ Segment@{ Kite\+ ::\+ Track\+ Segment} }
\paragraph { \texorpdfstring { get\+ Max\+ Under\+ Density()} { getMaxUnderDensity()} }
{ \footnotesize \ttfamily float get\+ Max\+ Under\+ Density (\begin { DoxyParamCaption} \item [{unsigned int}] { flags } \end { DoxyParamCaption} ) const\hspace { 0.3cm} { \ttfamily [virtual]} }
{ \bfseries Returns\+ :} The maximum density of all the G\+ Cells under this element.
Reimplemented from \mbox { \hyperlink { classKite_ 1_ 1TrackElement_ aa34ceb4288e76357b65725ca00e56df8} { Track\+ Element} } .
\mbox { \Hypertarget { classKite_ 1_ 1TrackSegment_ afdedcef127ad2a3677a5b48d7d3453f3} \label { classKite_ 1_ 1TrackSegment_ afdedcef127ad2a3677a5b48d7d3453f3} }
\index { Kite\+ ::\+ Track\+ Segment@{ Kite\+ ::\+ Track\+ Segment} !get\+ Id@{ get\+ Id} }
\index { get\+ Id@{ get\+ Id} !Kite\+ ::\+ Track\+ Segment@{ Kite\+ ::\+ Track\+ Segment} }
\paragraph { \texorpdfstring { get\+ Id()} { getId()} }
{ \footnotesize \ttfamily unsigned long get\+ Id (\begin { DoxyParamCaption} { } \end { DoxyParamCaption} ) const\hspace { 0.3cm} { \ttfamily [virtual]} }
2018-06-06 11:42:26 -05:00
\begin { DoxyReturn} { Returns}
2018-10-18 11:10:01 -05:00
The { \ttfamily Id} of the supporting Auto\+ Segment, if there is any. { \itshape Zero} otherwise.
2018-06-06 11:42:26 -05:00
\end { DoxyReturn}
2018-10-18 11:10:01 -05:00
Reimplemented from \mbox { \hyperlink { classKite_ 1_ 1TrackElement_ afdedcef127ad2a3677a5b48d7d3453f3} { Track\+ Element} } .
2018-08-19 06:27:09 -05:00
2018-10-18 11:10:01 -05:00
Referenced by Track\+ Segment\+ ::detach().
2018-06-06 11:42:26 -05:00
2018-10-18 11:10:01 -05:00
\mbox { \Hypertarget { classKite_ 1_ 1TrackSegment_ a0dd7cf705ace42c662c289955313b2e9} \label { classKite_ 1_ 1TrackSegment_ a0dd7cf705ace42c662c289955313b2e9} }
\index { Kite\+ ::\+ Track\+ Segment@{ Kite\+ ::\+ Track\+ Segment} !get\+ Direction@{ get\+ Direction} }
\index { get\+ Direction@{ get\+ Direction} !Kite\+ ::\+ Track\+ Segment@{ Kite\+ ::\+ Track\+ Segment} }
\paragraph { \texorpdfstring { get\+ Direction()} { getDirection()} }
{ \footnotesize \ttfamily unsigned int get\+ Direction (\begin { DoxyParamCaption} { } \end { DoxyParamCaption} ) const\hspace { 0.3cm} { \ttfamily [virtual]} }
2018-06-06 11:42:26 -05:00
\begin { DoxyReturn} { Returns}
2018-10-18 11:10:01 -05:00
The direction of the supporting element (should match the preferred direction of the \mbox { \hyperlink { classKite_ 1_ 1Track} { Track} } ).
2018-06-06 11:42:26 -05:00
\end { DoxyReturn}
2018-10-18 11:10:01 -05:00
Implements \mbox { \hyperlink { classKite_ 1_ 1TrackElement_ ae35b78590ed6aa546b626ef95f28c533} { Track\+ Element} } .
Referenced by Track\+ Segment\+ ::get\+ Source\+ Dogleg(), and Track\+ Segment\+ ::get\+ Target\+ Dogleg().
\mbox { \Hypertarget { classKite_ 1_ 1TrackSegment_ a692492374623a5c6096b2c4a51190359} \label { classKite_ 1_ 1TrackSegment_ a692492374623a5c6096b2c4a51190359} }
\index { Kite\+ ::\+ Track\+ Segment@{ Kite\+ ::\+ Track\+ Segment} !get\+ Net@{ get\+ Net} }
\index { get\+ Net@{ get\+ Net} !Kite\+ ::\+ Track\+ Segment@{ Kite\+ ::\+ Track\+ Segment} }
\paragraph { \texorpdfstring { get\+ Net()} { getNet()} }
{ \footnotesize \ttfamily \textbf { Net} $ \ast $ get\+ Net (\begin { DoxyParamCaption} { } \end { DoxyParamCaption} ) const\hspace { 0.3cm} { \ttfamily [virtual]} }
2018-06-06 11:42:26 -05:00
2018-10-18 11:10:01 -05:00
{ \bfseries Returns\+ :} The Net associated to the element (may be { \ttfamily N\+ U\+ LL} ).
2018-06-06 11:42:26 -05:00
2018-10-18 11:10:01 -05:00
Implements \mbox { \hyperlink { classKite_ 1_ 1TrackElement_ a2b383a5b6f5028911a35e446a682dabd} { Track\+ Element} } .
2018-06-06 11:42:26 -05:00
2018-10-18 11:10:01 -05:00
Referenced by Track\+ Segment\+ ::get\+ Free\+ Interval(), Track\+ Segment\+ ::get\+ Next(), and Track\+ Segment\+ ::get\+ Previous().
2018-06-06 11:42:26 -05:00
2018-10-18 11:10:01 -05:00
\mbox { \Hypertarget { classKite_ 1_ 1TrackSegment_ ab045567c4f529dca7790d66c17c3084f} \label { classKite_ 1_ 1TrackSegment_ ab045567c4f529dca7790d66c17c3084f} }
\index { Kite\+ ::\+ Track\+ Segment@{ Kite\+ ::\+ Track\+ Segment} !get\+ Layer@{ get\+ Layer} }
\index { get\+ Layer@{ get\+ Layer} !Kite\+ ::\+ Track\+ Segment@{ Kite\+ ::\+ Track\+ Segment} }
\paragraph { \texorpdfstring { get\+ Layer()} { getLayer()} }
{ \footnotesize \ttfamily const \textbf { Layer} $ \ast $ get\+ Layer (\begin { DoxyParamCaption} { } \end { DoxyParamCaption} ) const\hspace { 0.3cm} { \ttfamily [virtual]} }
2018-06-06 11:42:26 -05:00
2018-10-18 11:10:01 -05:00
{ \bfseries Returns\+ :} The Layer of the element (should match the one of the \mbox { \hyperlink { classKite_ 1_ 1Track} { Track} } ).
2018-06-06 11:42:26 -05:00
2018-10-18 11:10:01 -05:00
Implements \mbox { \hyperlink { classKite_ 1_ 1TrackElement_ ad96c66549598873bf68c2e18ec7164c1} { Track\+ Element} } .
2018-06-06 11:42:26 -05:00
2018-10-18 11:10:01 -05:00
\mbox { \Hypertarget { classKite_ 1_ 1TrackSegment_ aa7552c20cc46abcac558627b2ca341f8} \label { classKite_ 1_ 1TrackSegment_ aa7552c20cc46abcac558627b2ca341f8} }
\index { Kite\+ ::\+ Track\+ Segment@{ Kite\+ ::\+ Track\+ Segment} !get\+ Freedom\+ Degree@{ get\+ Freedom\+ Degree} }
\index { get\+ Freedom\+ Degree@{ get\+ Freedom\+ Degree} !Kite\+ ::\+ Track\+ Segment@{ Kite\+ ::\+ Track\+ Segment} }
\paragraph { \texorpdfstring { get\+ Freedom\+ Degree()} { getFreedomDegree()} }
{ \footnotesize \ttfamily unsigned long get\+ Freedom\+ Degree (\begin { DoxyParamCaption} { } \end { DoxyParamCaption} ) const\hspace { 0.3cm} { \ttfamily [virtual]} }
2018-06-06 11:42:26 -05:00
2018-10-18 11:10:01 -05:00
{ \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} } ).
2018-06-06 11:42:26 -05:00
2018-10-18 11:10:01 -05:00
{ \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} } ).
2018-06-06 11:42:26 -05:00
2018-10-18 11:10:01 -05:00
Currently, it is the { \itshape slack} of the \textbf { Katabatic\+ ::\+ Auto\+ Segment} .
2018-06-06 11:42:26 -05:00
2018-10-18 11:10:01 -05:00
Reimplemented from \mbox { \hyperlink { classKite_ 1_ 1TrackElement_ aa7552c20cc46abcac558627b2ca341f8} { Track\+ Element} } .
2018-06-06 11:42:26 -05:00
2018-10-18 11:10:01 -05:00
\mbox { \Hypertarget { classKite_ 1_ 1TrackSegment_ add78c6f914788c549f144998caacda84} \label { classKite_ 1_ 1TrackSegment_ add78c6f914788c549f144998caacda84} }
\index { Kite\+ ::\+ Track\+ Segment@{ Kite\+ ::\+ Track\+ Segment} !get\+ Dogleg\+ Level@{ get\+ Dogleg\+ Level} }
\index { get\+ Dogleg\+ Level@{ get\+ Dogleg\+ Level} !Kite\+ ::\+ Track\+ Segment@{ Kite\+ ::\+ Track\+ Segment} }
\paragraph { \texorpdfstring { get\+ Dogleg\+ Level()} { getDoglegLevel()} }
{ \footnotesize \ttfamily unsigned int get\+ Dogleg\+ Level (\begin { DoxyParamCaption} { } \end { DoxyParamCaption} ) const\hspace { 0.3cm} { \ttfamily [virtual]} }
2018-06-06 11:42:26 -05:00
2018-10-18 11:10:01 -05:00
{ \bfseries Returns\+ :} The deepness of the dogleg.
2018-06-06 11:42:26 -05:00
2018-10-18 11:10:01 -05:00
Reimplemented from \mbox { \hyperlink { classKite_ 1_ 1TrackElement_ add78c6f914788c549f144998caacda84} { Track\+ Element} } .
2018-06-06 11:42:26 -05:00
2018-10-18 11:10:01 -05:00
Referenced by Track\+ Segment\+ ::can\+ Dogleg().
2018-06-06 11:42:26 -05:00
2018-10-18 11:10:01 -05:00
\mbox { \Hypertarget { classKite_ 1_ 1TrackSegment_ a010b7fc8801c5b88aefa4137cf85186d} \label { classKite_ 1_ 1TrackSegment_ a010b7fc8801c5b88aefa4137cf85186d} }
\index { Kite\+ ::\+ Track\+ Segment@{ Kite\+ ::\+ Track\+ Segment} !get\+ Next@{ get\+ Next} }
\index { get\+ Next@{ get\+ Next} !Kite\+ ::\+ Track\+ Segment@{ Kite\+ ::\+ Track\+ Segment} }
\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]} }
2018-06-06 11:42:26 -05:00
2018-10-18 11:10:01 -05:00
{ \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()} } .
2018-06-06 11:42:26 -05:00
2018-10-18 11:10:01 -05:00
Reimplemented from \mbox { \hyperlink { classKite_ 1_ 1TrackElement_ a010b7fc8801c5b88aefa4137cf85186d} { Track\+ Element} } .
2018-06-06 11:42:26 -05:00
2018-10-18 11:10:01 -05:00
\mbox { \Hypertarget { classKite_ 1_ 1TrackSegment_ a55d6115d84c11ad147f4c38fe372ea24} \label { classKite_ 1_ 1TrackSegment_ a55d6115d84c11ad147f4c38fe372ea24} }
\index { Kite\+ ::\+ Track\+ Segment@{ Kite\+ ::\+ Track\+ Segment} !get\+ Previous@{ get\+ Previous} }
\index { get\+ Previous@{ get\+ Previous} !Kite\+ ::\+ Track\+ Segment@{ Kite\+ ::\+ Track\+ Segment} }
\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]} }
2018-06-06 11:42:26 -05:00
2018-10-18 11:10:01 -05:00
{ \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()} } .
2018-06-06 11:42:26 -05:00
2018-10-18 11:10:01 -05:00
Reimplemented from \mbox { \hyperlink { classKite_ 1_ 1TrackElement_ a55d6115d84c11ad147f4c38fe372ea24} { Track\+ Element} } .
2018-06-06 11:42:26 -05:00
2018-10-18 11:10:01 -05:00
\mbox { \Hypertarget { classKite_ 1_ 1TrackSegment_ a95ec3b8e7e1ec87c20ee0b37bcc96df7} \label { classKite_ 1_ 1TrackSegment_ a95ec3b8e7e1ec87c20ee0b37bcc96df7} }
\index { Kite\+ ::\+ Track\+ Segment@{ Kite\+ ::\+ Track\+ Segment} !get\+ Parent@{ get\+ Parent} }
\index { get\+ Parent@{ get\+ Parent} !Kite\+ ::\+ Track\+ Segment@{ Kite\+ ::\+ Track\+ Segment} }
\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]} }
2018-06-06 11:42:26 -05:00
2018-10-18 11:10:01 -05:00
{ \bfseries Returns\+ :} The \mbox { \hyperlink { classKite_ 1_ 1TrackElement} { Track\+ Element} } from which the dogleg has been created, if any.
2018-06-06 11:42:26 -05:00
2018-10-18 11:10:01 -05:00
Reimplemented from \mbox { \hyperlink { classKite_ 1_ 1TrackElement_ a95ec3b8e7e1ec87c20ee0b37bcc96df7} { Track\+ Element} } .
2018-06-06 11:42:26 -05:00
2018-10-18 11:10:01 -05:00
Referenced by Track\+ Segment\+ ::get\+ Data\+ Negociate().
2018-06-06 11:42:26 -05:00
2018-10-18 11:10:01 -05:00
\mbox { \Hypertarget { classKite_ 1_ 1TrackSegment_ ab5b5aaa5b318369feee6003dbad039c2} \label { classKite_ 1_ 1TrackSegment_ ab5b5aaa5b318369feee6003dbad039c2} }
\index { Kite\+ ::\+ Track\+ Segment@{ Kite\+ ::\+ Track\+ Segment} !get\+ Axis@{ get\+ Axis} }
\index { get\+ Axis@{ get\+ Axis} !Kite\+ ::\+ Track\+ Segment@{ Kite\+ ::\+ Track\+ Segment} }
\paragraph { \texorpdfstring { get\+ Axis()} { getAxis()} }
{ \footnotesize \ttfamily \textbf { Db\+ U\+ ::\+ Unit} get\+ Axis (\begin { DoxyParamCaption} { } \end { DoxyParamCaption} ) const\hspace { 0.3cm} { \ttfamily [virtual]} }
{ \bfseries Returns\+ :} The axis position of the element (must be the same as the \mbox { \hyperlink { classKite_ 1_ 1Track} { Track} } ).
Implements \mbox { \hyperlink { classKite_ 1_ 1TrackElement_ ac492fb5399691d81c31547db6b56fd03} { Track\+ Element} } .
\mbox { \Hypertarget { classKite_ 1_ 1TrackSegment_ a034711e2d3617ea848ef9f5a18255e10} \label { classKite_ 1_ 1TrackSegment_ a034711e2d3617ea848ef9f5a18255e10} }
\index { Kite\+ ::\+ Track\+ Segment@{ Kite\+ ::\+ Track\+ Segment} !get\+ Free\+ Interval@{ get\+ Free\+ Interval} }
\index { get\+ Free\+ Interval@{ get\+ Free\+ Interval} !Kite\+ ::\+ Track\+ Segment@{ Kite\+ ::\+ Track\+ Segment} }
\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 from \mbox { \hyperlink { classKite_ 1_ 1TrackElement_ a034711e2d3617ea848ef9f5a18255e10} { Track\+ Element} } .
\mbox { \Hypertarget { classKite_ 1_ 1TrackSegment_ a48f8b54f9489da3778d85c382a483f81} \label { classKite_ 1_ 1TrackSegment_ a48f8b54f9489da3778d85c382a483f81} }
\index { Kite\+ ::\+ Track\+ Segment@{ Kite\+ ::\+ Track\+ Segment} !get\+ Source\+ Constraints@{ get\+ Source\+ Constraints} }
\index { get\+ Source\+ Constraints@{ get\+ Source\+ Constraints} !Kite\+ ::\+ Track\+ Segment@{ Kite\+ ::\+ Track\+ Segment} }
\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 from \mbox { \hyperlink { classKite_ 1_ 1TrackElement_ a48f8b54f9489da3778d85c382a483f81} { Track\+ Element} } .
\mbox { \Hypertarget { classKite_ 1_ 1TrackSegment_ a69af7d4287bc0e44c9ca2c8e6f692be9} \label { classKite_ 1_ 1TrackSegment_ a69af7d4287bc0e44c9ca2c8e6f692be9} }
\index { Kite\+ ::\+ Track\+ Segment@{ Kite\+ ::\+ Track\+ Segment} !get\+ Target\+ Constraints@{ get\+ Target\+ Constraints} }
\index { get\+ Target\+ Constraints@{ get\+ Target\+ Constraints} !Kite\+ ::\+ Track\+ Segment@{ Kite\+ ::\+ Track\+ Segment} }
\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 from \mbox { \hyperlink { classKite_ 1_ 1TrackElement_ a69af7d4287bc0e44c9ca2c8e6f692be9} { Track\+ Element} } .
\mbox { \Hypertarget { classKite_ 1_ 1TrackSegment_ acd0170a05128ec4af16ecd0060c3a3b5} \label { classKite_ 1_ 1TrackSegment_ acd0170a05128ec4af16ecd0060c3a3b5} }
\index { Kite\+ ::\+ Track\+ Segment@{ Kite\+ ::\+ Track\+ Segment} !get\+ Data\+ Negociate@{ get\+ Data\+ Negociate} }
\index { get\+ Data\+ Negociate@{ get\+ Data\+ Negociate} !Kite\+ ::\+ Track\+ Segment@{ Kite\+ ::\+ Track\+ Segment} }
\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 from \mbox { \hyperlink { classKite_ 1_ 1TrackElement_ acd0170a05128ec4af16ecd0060c3a3b5} { Track\+ Element} } .
Referenced by Track\+ Segment\+ ::\+ \_ \+ post\+ Doglegs(), and Track\+ Segment\+ ::swap\+ Track().
\mbox { \Hypertarget { classKite_ 1_ 1TrackSegment_ af2d46d64cbd02bdbba53d5483d95e26d} \label { classKite_ 1_ 1TrackSegment_ af2d46d64cbd02bdbba53d5483d95e26d} }
\index { Kite\+ ::\+ Track\+ Segment@{ Kite\+ ::\+ Track\+ Segment} !get\+ Canonical@{ get\+ Canonical} }
\index { get\+ Canonical@{ get\+ Canonical} !Kite\+ ::\+ Track\+ Segment@{ Kite\+ ::\+ Track\+ Segment} }
\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]} }
2018-06-06 11:42:26 -05:00
Inner working still unclear to myself.
2018-10-18 11:10:01 -05:00
Reimplemented from \mbox { \hyperlink { classKite_ 1_ 1TrackElement_ af2d46d64cbd02bdbba53d5483d95e26d} { Track\+ Element} } .
\mbox { \Hypertarget { classKite_ 1_ 1TrackSegment_ af45301f76558f613ccb605a8f851080e} \label { classKite_ 1_ 1TrackSegment_ af45301f76558f613ccb605a8f851080e} }
\index { Kite\+ ::\+ Track\+ Segment@{ Kite\+ ::\+ Track\+ Segment} !get\+ G\+ Cells@{ get\+ G\+ Cells} }
\index { get\+ G\+ Cells@{ get\+ G\+ Cells} !Kite\+ ::\+ Track\+ Segment@{ Kite\+ ::\+ Track\+ Segment} }
\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 from \mbox { \hyperlink { classKite_ 1_ 1TrackElement_ af45301f76558f613ccb605a8f851080e} { Track\+ Element} } .
Referenced by Track\+ Segment\+ ::can\+ Dogleg().
\mbox { \Hypertarget { classKite_ 1_ 1TrackSegment_ a7e79fbfe77f173d46b1959c41087930a} \label { classKite_ 1_ 1TrackSegment_ a7e79fbfe77f173d46b1959c41087930a} }
\index { Kite\+ ::\+ Track\+ Segment@{ Kite\+ ::\+ Track\+ Segment} !get\+ Source\+ Dogleg@{ get\+ Source\+ Dogleg} }
\index { get\+ Source\+ Dogleg@{ get\+ Source\+ Dogleg} !Kite\+ ::\+ Track\+ Segment@{ Kite\+ ::\+ Track\+ Segment} }
\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 from \mbox { \hyperlink { classKite_ 1_ 1TrackElement_ a7e79fbfe77f173d46b1959c41087930a} { Track\+ Element} } .
\mbox { \Hypertarget { classKite_ 1_ 1TrackSegment_ aeb4e39bd925d093e6c45599433bb421c} \label { classKite_ 1_ 1TrackSegment_ aeb4e39bd925d093e6c45599433bb421c} }
\index { Kite\+ ::\+ Track\+ Segment@{ Kite\+ ::\+ Track\+ Segment} !get\+ Target\+ Dogleg@{ get\+ Target\+ Dogleg} }
\index { get\+ Target\+ Dogleg@{ get\+ Target\+ Dogleg} !Kite\+ ::\+ Track\+ Segment@{ Kite\+ ::\+ Track\+ Segment} }
\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 from \mbox { \hyperlink { classKite_ 1_ 1TrackElement_ aeb4e39bd925d093e6c45599433bb421c} { Track\+ Element} } .
\mbox { \Hypertarget { classKite_ 1_ 1TrackSegment_ aa0ba92ebf19f596537dc051c090d5736} \label { classKite_ 1_ 1TrackSegment_ aa0ba92ebf19f596537dc051c090d5736} }
\index { Kite\+ ::\+ Track\+ Segment@{ Kite\+ ::\+ Track\+ Segment} !get\+ Perpandiculars@{ get\+ Perpandiculars} }
\index { get\+ Perpandiculars@{ get\+ Perpandiculars} !Kite\+ ::\+ Track\+ Segment@{ Kite\+ ::\+ Track\+ Segment} }
\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 from \mbox { \hyperlink { classKite_ 1_ 1TrackElement_ aa0ba92ebf19f596537dc051c090d5736} { Track\+ Element} } .
\mbox { \Hypertarget { classKite_ 1_ 1TrackSegment_ abd3d8093f871d3d1a7f24b053648026c} \label { classKite_ 1_ 1TrackSegment_ abd3d8093f871d3d1a7f24b053648026c} }
\index { Kite\+ ::\+ Track\+ Segment@{ Kite\+ ::\+ Track\+ Segment} !set\+ Track@{ set\+ Track} }
\index { set\+ Track@{ set\+ Track} !Kite\+ ::\+ Track\+ Segment@{ Kite\+ ::\+ Track\+ Segment} }
\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]} }
2018-06-06 11:42:26 -05:00
Insert the element into { \ttfamily track} , also used as an insertion marker.
2018-10-18 11:10:01 -05:00
Reimplemented from \mbox { \hyperlink { classKite_ 1_ 1TrackElement_ abd3d8093f871d3d1a7f24b053648026c} { Track\+ Element} } .
2018-06-06 11:42:26 -05:00
2018-10-18 11:10:01 -05:00
Referenced by Track\+ Segment\+ ::detach(), and Track\+ Segment\+ ::swap\+ Track().
2018-06-06 11:42:26 -05:00
2018-10-18 11:10:01 -05:00
\mbox { \Hypertarget { classKite_ 1_ 1TrackSegment_ af5332d647c0482aa90ad7cc9b2a50f3a} \label { classKite_ 1_ 1TrackSegment_ af5332d647c0482aa90ad7cc9b2a50f3a} }
\index { Kite\+ ::\+ Track\+ Segment@{ Kite\+ ::\+ Track\+ Segment} !update\+ Freedom\+ Degree@{ update\+ Freedom\+ Degree} }
\index { update\+ Freedom\+ Degree@{ update\+ Freedom\+ Degree} !Kite\+ ::\+ Track\+ Segment@{ Kite\+ ::\+ Track\+ Segment} }
\paragraph { \texorpdfstring { update\+ Freedom\+ Degree()} { updateFreedomDegree()} }
{ \footnotesize \ttfamily void update\+ Freedom\+ Degree (\begin { DoxyParamCaption} { } \end { DoxyParamCaption} )\hspace { 0.3cm} { \ttfamily [virtual]} }
2018-06-06 11:42:26 -05:00
2018-10-18 11:10:01 -05:00
Update, from the element characteristics, it\textquotesingle { } s degree of freedom.
2018-06-06 11:42:26 -05:00
2018-10-18 11:10:01 -05:00
Reimplemented from \mbox { \hyperlink { classKite_ 1_ 1TrackElement_ af5332d647c0482aa90ad7cc9b2a50f3a} { Track\+ Element} } .
\mbox { \Hypertarget { classKite_ 1_ 1TrackSegment_ a2b90319cb042b283aa5d1fdb1992f11f} \label { classKite_ 1_ 1TrackSegment_ a2b90319cb042b283aa5d1fdb1992f11f} }
\index { Kite\+ ::\+ Track\+ Segment@{ Kite\+ ::\+ Track\+ Segment} !set\+ Dogleg\+ Level@{ set\+ Dogleg\+ Level} }
\index { set\+ Dogleg\+ Level@{ set\+ Dogleg\+ Level} !Kite\+ ::\+ Track\+ Segment@{ Kite\+ ::\+ Track\+ Segment} }
\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]} }
2018-06-06 11:42:26 -05:00
2018-08-19 06:27:09 -05:00
Sets the level of dogleg of the element.
2018-06-06 11:42:26 -05:00
2018-10-18 11:10:01 -05:00
Reimplemented from \mbox { \hyperlink { classKite_ 1_ 1TrackElement_ a2b90319cb042b283aa5d1fdb1992f11f} { Track\+ Element} } .
\mbox { \Hypertarget { classKite_ 1_ 1TrackSegment_ acc245ce084989d1c34816d0e61b9d510} \label { classKite_ 1_ 1TrackSegment_ acc245ce084989d1c34816d0e61b9d510} }
\index { Kite\+ ::\+ Track\+ Segment@{ Kite\+ ::\+ Track\+ Segment} !swap\+ Track@{ swap\+ Track} }
\index { swap\+ Track@{ swap\+ Track} !Kite\+ ::\+ Track\+ Segment@{ Kite\+ ::\+ Track\+ Segment} }
\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]} }
2018-06-06 11:42:26 -05:00
Swap the tracks of { \ttfamily this} and { \ttfamily other} .
2018-10-18 11:10:01 -05:00
Reimplemented from \mbox { \hyperlink { classKite_ 1_ 1TrackElement_ acc245ce084989d1c34816d0e61b9d510} { Track\+ Element} } .
\mbox { \Hypertarget { classKite_ 1_ 1TrackSegment_ a0ffe603ec7d46f21f5e56ccbe84c03fb} \label { classKite_ 1_ 1TrackSegment_ a0ffe603ec7d46f21f5e56ccbe84c03fb} }
\index { Kite\+ ::\+ Track\+ Segment@{ Kite\+ ::\+ Track\+ Segment} !reschedule@{ reschedule} }
\index { reschedule@{ reschedule} !Kite\+ ::\+ Track\+ Segment@{ Kite\+ ::\+ Track\+ Segment} }
\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 from \mbox { \hyperlink { classKite_ 1_ 1TrackElement_ a0ffe603ec7d46f21f5e56ccbe84c03fb} { Track\+ Element} } .
2018-06-06 11:42:26 -05:00
2018-10-18 11:10:01 -05:00
Referenced by Track\+ Segment\+ ::\+ \_ \+ post\+ Doglegs().
2018-06-06 11:42:26 -05:00
2018-10-18 11:10:01 -05:00
\mbox { \Hypertarget { classKite_ 1_ 1TrackSegment_ ac295bade8aee589f6718dfa79edc2a34} \label { classKite_ 1_ 1TrackSegment_ ac295bade8aee589f6718dfa79edc2a34} }
\index { Kite\+ ::\+ Track\+ Segment@{ Kite\+ ::\+ Track\+ Segment} !detach@{ detach} }
\index { detach@{ detach} !Kite\+ ::\+ Track\+ Segment@{ Kite\+ ::\+ Track\+ Segment} }
\paragraph { \texorpdfstring { detach()} { detach()} }
{ \footnotesize \ttfamily void detach (\begin { DoxyParamCaption} { } \end { DoxyParamCaption} )\hspace { 0.3cm} { \ttfamily [virtual]} }
2018-06-06 11:42:26 -05:00
2018-10-18 11:10:01 -05:00
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.
2018-06-06 11:42:26 -05:00
2018-10-18 11:10:01 -05:00
Reimplemented from \mbox { \hyperlink { classKite_ 1_ 1TrackElement_ ac295bade8aee589f6718dfa79edc2a34} { Track\+ Element} } .
2018-06-06 11:42:26 -05:00
2018-10-18 11:10:01 -05:00
\mbox { \Hypertarget { classKite_ 1_ 1TrackSegment_ a893f1101c650c08c98612515c2b1a89c} \label { classKite_ 1_ 1TrackSegment_ a893f1101c650c08c98612515c2b1a89c} }
\index { Kite\+ ::\+ Track\+ Segment@{ Kite\+ ::\+ Track\+ Segment} !invalidate@{ invalidate} }
\index { invalidate@{ invalidate} !Kite\+ ::\+ Track\+ Segment@{ Kite\+ ::\+ Track\+ Segment} }
\paragraph { \texorpdfstring { invalidate()} { invalidate()} }
{ \footnotesize \ttfamily void invalidate (\begin { DoxyParamCaption} { } \end { DoxyParamCaption} )\hspace { 0.3cm} { \ttfamily [virtual]} }
2018-06-06 11:42:26 -05:00
2018-10-18 11:10:01 -05:00
{ \bfseries See also\+ :} ~ \textbf { Auto\+ Segment\+ ::invalidate()} .
2018-06-06 11:42:26 -05:00
2018-10-18 11:10:01 -05:00
Reimplemented from \mbox { \hyperlink { classKite_ 1_ 1TrackElement_ a893f1101c650c08c98612515c2b1a89c} { Track\+ Element} } .
2018-06-06 11:42:26 -05:00
2018-10-18 11:10:01 -05:00
Referenced by Track\+ Segment\+ ::create(), and Track\+ Segment\+ ::set\+ Axis().
2018-06-06 11:42:26 -05:00
2018-10-18 11:10:01 -05:00
\mbox { \Hypertarget { classKite_ 1_ 1TrackSegment_ a5bd93abe1416952ace15a98dbeeed124} \label { classKite_ 1_ 1TrackSegment_ a5bd93abe1416952ace15a98dbeeed124} }
\index { Kite\+ ::\+ Track\+ Segment@{ Kite\+ ::\+ Track\+ Segment} !revalidate@{ revalidate} }
\index { revalidate@{ revalidate} !Kite\+ ::\+ Track\+ Segment@{ Kite\+ ::\+ Track\+ Segment} }
\paragraph { \texorpdfstring { revalidate()} { revalidate()} }
{ \footnotesize \ttfamily void revalidate (\begin { DoxyParamCaption} { } \end { DoxyParamCaption} )\hspace { 0.3cm} { \ttfamily [virtual]} }
2018-06-06 11:42:26 -05:00
2018-10-18 11:10:01 -05:00
Actualize the \mbox { \hyperlink { classKite_ 1_ 1TrackSegment} { Track\+ Segment} } characteristics from the supporting elements (set of Auto\+ Segment).
2018-06-06 11:42:26 -05:00
2018-10-18 11:10:01 -05:00
This method do not update the \mbox { \hyperlink { classKite_ 1_ 1DataNegociate} { Data\+ Negociate} } or the \mbox { \hyperlink { classKite_ 1_ 1RoutingEvent} { Routing\+ Event} } . This is a lazy update delayed until the constructor of \mbox { \hyperlink { classKite_ 1_ 1SegmentFsm} { Segment\+ Fsm} } is called. (see \mbox { \hyperlink { classKite_ 1_ 1TrackSegment_ secTSLazyRevalidate} { Lazy Revalidate} } ).
2018-06-06 11:42:26 -05:00
2018-10-18 11:10:01 -05:00
Reimplemented from \mbox { \hyperlink { classKite_ 1_ 1TrackElement_ a5bd93abe1416952ace15a98dbeeed124} { Track\+ Element} } .
2018-06-06 11:42:26 -05:00
2018-10-18 11:10:01 -05:00
\mbox { \Hypertarget { classKite_ 1_ 1TrackSegment_ a262a915c38127d3722ec561b30d80f91} \label { classKite_ 1_ 1TrackSegment_ a262a915c38127d3722ec561b30d80f91} }
\index { Kite\+ ::\+ Track\+ Segment@{ Kite\+ ::\+ Track\+ Segment} !set\+ Axis@{ set\+ Axis} }
\index { set\+ Axis@{ set\+ Axis} !Kite\+ ::\+ Track\+ Segment@{ Kite\+ ::\+ Track\+ Segment} }
\paragraph { \texorpdfstring { set\+ Axis()} { setAxis()} }
{ \footnotesize \ttfamily void set\+ Axis (\begin { DoxyParamCaption} \item [{\textbf{ Db\+U\+::\+Unit}}] { , } \item [{unsigned int}] { flags } \end { DoxyParamCaption} )\hspace { 0.3cm} { \ttfamily [virtual]} }
2018-06-06 11:42:26 -05:00
2018-10-18 11:10:01 -05:00
Sets the axis of the \mbox { \hyperlink { classKite_ 1_ 1TrackElement} { Track\+ Element} } .
2018-06-06 11:42:26 -05:00
2018-10-18 11:10:01 -05:00
Reimplemented from \mbox { \hyperlink { classKite_ 1_ 1TrackElement_ a45e685b1e3ee630d24bf43746553af4c} { Track\+ Element} } .
2018-06-06 11:42:26 -05:00
2018-10-18 11:10:01 -05:00
\mbox { \Hypertarget { classKite_ 1_ 1TrackSegment_ a7a9637875364e84e6862de0102341715} \label { classKite_ 1_ 1TrackSegment_ a7a9637875364e84e6862de0102341715} }
\index { Kite\+ ::\+ Track\+ Segment@{ Kite\+ ::\+ Track\+ Segment} !make\+ Dogleg@{ make\+ Dogleg} }
\index { make\+ Dogleg@{ make\+ Dogleg} !Kite\+ ::\+ Track\+ Segment@{ Kite\+ ::\+ Track\+ Segment} }
\paragraph { \texorpdfstring { make\+ Dogleg()} { makeDogleg()} \hspace { 0.1cm} { \footnotesize \ttfamily [1/2]} }
{ \footnotesize \ttfamily \mbox { \hyperlink { classKite_ 1_ 1TrackElement} { Track\+ Element} } $ \ast $ make\+ Dogleg (\begin { DoxyParamCaption} { } \end { DoxyParamCaption} )\hspace { 0.3cm} { \ttfamily [virtual]} }
2018-06-06 11:42:26 -05:00
2018-10-18 11:10:01 -05:00
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} .
2018-06-06 11:42:26 -05:00
2018-10-18 11:10:01 -05:00
{ \bfseries See also\+ :} ~ \mbox { \hyperlink { classKite_ 1_ 1TrackSegment_ secDogleg} { Dogleg management} } .
2018-06-06 11:42:26 -05:00
2018-10-18 11:10:01 -05:00
Post-\/ processing done by \mbox { \hyperlink { classKite_ 1_ 1TrackSegment_ a10a45c049d0bd7d01c7eff1c5441c7a2} { Track\+ Segment\+ ::\+ \_ \+ post\+ Doglegs()} } .
2018-06-06 11:42:26 -05:00
2018-10-18 11:10:01 -05:00
Reimplemented from \mbox { \hyperlink { classKite_ 1_ 1TrackElement_ a7a9637875364e84e6862de0102341715} { Track\+ Element} } .
2018-06-06 11:42:26 -05:00
2018-10-18 11:10:01 -05:00
\mbox { \Hypertarget { classKite_ 1_ 1TrackSegment_ a524f1569b2f2c1a84df2fe47e84e28ed} \label { classKite_ 1_ 1TrackSegment_ a524f1569b2f2c1a84df2fe47e84e28ed} }
\index { Kite\+ ::\+ Track\+ Segment@{ Kite\+ ::\+ Track\+ Segment} !make\+ Dogleg@{ make\+ Dogleg} }
\index { make\+ Dogleg@{ make\+ Dogleg} !Kite\+ ::\+ Track\+ Segment@{ Kite\+ ::\+ Track\+ Segment} }
\paragraph { \texorpdfstring { make\+ Dogleg()} { makeDogleg()} \hspace { 0.1cm} { \footnotesize \ttfamily [2/2]} }
{ \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]} }
2018-06-06 11:42:26 -05:00
2018-10-18 11:10:01 -05:00
{ \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 from \mbox { \hyperlink { classKite_ 1_ 1TrackElement_ a524f1569b2f2c1a84df2fe47e84e28ed} { Track\+ Element} } .
\mbox { \Hypertarget { classKite_ 1_ 1TrackSegment_ a10a45c049d0bd7d01c7eff1c5441c7a2} \label { classKite_ 1_ 1TrackSegment_ a10a45c049d0bd7d01c7eff1c5441c7a2} }
\index { Kite\+ ::\+ Track\+ Segment@{ Kite\+ ::\+ Track\+ Segment} !\+ \_ \+ post\+ Doglegs@{ \+ \_ \+ post\+ Doglegs} }
\index { \+ \_ \+ post\+ Doglegs@{ \+ \_ \+ post\+ Doglegs} !Kite\+ ::\+ Track\+ Segment@{ Kite\+ ::\+ Track\+ Segment} }
\paragraph { \texorpdfstring { \+ \_ \+ post\+ Doglegs()} { \_ postDoglegs()} }
{ \footnotesize \ttfamily \mbox { \hyperlink { classKite_ 1_ 1TrackSegment} { Track\+ Segment} } $ \ast $ \+ \_ \+ post\+ Doglegs (\begin { DoxyParamCaption} \item [{\mbox{\hyperlink{classKite_1_1TrackElement}{Track\+Element}} $\ast$\&}] { perpandicular, } \item [{\mbox{\hyperlink{classKite_1_1TrackElement}{Track\+Element}} $\ast$\&}] { parallel } \end { DoxyParamCaption} )\hspace { 0.3cm} { \ttfamily [virtual]} }
Post-\/ process to be called inside the various dogleg creation or slacken methods. Iterate through the newly created Auto\+ Segments to create, for the { \itshape perpandicular} and the { \itshape new parallel} associateds Track\+ Segments. Also sets the dogleg levels and flags of the newly created elements.
2018-06-06 11:42:26 -05:00
2018-08-19 06:27:09 -05:00
The session dogleg reset is called at the end of this method. The { \ttfamily perpandicular} and { \ttfamily parallel} references to pointers contains the newly created segments for the { \bfseries last} dogleg. If more than one was created, you cannot access them (the need has not arised yet).
2018-06-06 11:42:26 -05:00
2018-10-18 11:10:01 -05:00
Reimplemented from \mbox { \hyperlink { classKite_ 1_ 1TrackElement} { Track\+ Element} } .
2018-06-06 11:42:26 -05:00
2018-10-18 11:10:01 -05:00
Referenced by Track\+ Segment\+ ::make\+ Dogleg().
2018-06-06 11:42:26 -05:00
2018-10-18 11:10:01 -05:00
\mbox { \Hypertarget { classKite_ 1_ 1TrackSegment_ ad79f4c6ea0fe1135b8264a29af085909} \label { classKite_ 1_ 1TrackSegment_ ad79f4c6ea0fe1135b8264a29af085909} }
\index { Kite\+ ::\+ Track\+ Segment@{ Kite\+ ::\+ Track\+ Segment} !\+ \_ \+ check@{ \+ \_ \+ check} }
\index { \+ \_ \+ check@{ \+ \_ \+ check} !Kite\+ ::\+ Track\+ Segment@{ Kite\+ ::\+ Track\+ Segment} }
\paragraph { \texorpdfstring { \+ \_ \+ check()} { \_ check()} }
{ \footnotesize \ttfamily bool \+ \_ \+ check (\begin { DoxyParamCaption} { } \end { DoxyParamCaption} ) const\hspace { 0.3cm} { \ttfamily [virtual]} }
2018-06-06 11:42:26 -05:00
2018-10-18 11:10:01 -05:00
Check the coherency of the element. For a \mbox { \hyperlink { classKite_ 1_ 1TrackSegment} { Track\+ Segment} } \+ :
2018-06-06 11:42:26 -05:00
\begin { DoxyItemize}
2018-10-18 11:10:01 -05:00
\item The supporting Auto\+ Segment the canonical one of the set.
2018-06-06 11:42:26 -05:00
\item The cached { \ttfamily min} \& { \ttfamily max} values are identical to the computed ones.
\end { DoxyItemize}
2018-10-18 11:10:01 -05:00
{ \bfseries Returns\+ :} { \bfseries true} on success.
2018-06-06 11:42:26 -05:00
2018-10-18 11:10:01 -05:00
Reimplemented from \mbox { \hyperlink { classKite_ 1_ 1TrackElement_ ad79f4c6ea0fe1135b8264a29af085909} { Track\+ Element} } .
2018-06-06 11:42:26 -05:00
2018-10-18 11:10:01 -05:00
The documentation for this class was generated from the following files\+ :\begin { DoxyCompactItemize}
2018-06-06 11:42:26 -05:00
\item
2018-10-18 11:10:01 -05:00
Track\+ Segment.\+ h\item
Track\+ Segment.\+ cpp\item
Track\+ Segment.\+ dox\end { DoxyCompactItemize}