defense/src/fig/alsk/grasp_links.tex

55 lines
1.9 KiB
TeX

\begin{tikzpicture}
\input{src/tikz/alsk}
%{{{ GRASP "
% Nodes
\matrix[row sep=3mm, column sep=-1mm] {
& \node[alsk/scheme/split] (split) {}; \\
\\
\node[alsk/scheme/task] (ch0) {CH}; & \node[alsk/label] (chi) {\bf\scriptsize\dots}; &
\node[alsk/scheme/task] (chn) {CH}; \\
\node[alsk/scheme/task] (ls0) {LS}; & \node[alsk/label] (lsi) {\bf\scriptsize\dots}; &
\node[alsk/scheme/task] (lsn) {LS}; \\
\\
& \node[alsk/scheme/join] (merge) {}; \\
& \node[alsk/scheme/task] (select) {S}; \\
};
\node[above=3mm of split] (entry) {};
\node[below=3mm of select] (return) {};
% Frames
\node[alsk/scheme/frame=colStruct,fit margins={top=1.5mm,bottom=1.5mm},
fit=(ch0)(ls0)] (serial0) {};
\node[alsk/scheme/frame=colStruct,fit margins={top=1.5mm,bottom=1.5mm},
fit=(chn)(lsn)] (serialn) {};
\node[alsk/scheme/frame=colStruct,fit margins={top=1.5mm,bottom=1.5mm},
fit=(split)(select)(serial0)(serialn)] (grasp) {};
% Links
\begin{scope}[alsk/scheme/link]
\draw[only on=<2>{ultra thick,colLinkIn}] (entry) -- (split);
\draw[only on=<3>{ultra thick,colLinkIn}] (split.210) -- (serial0.north);
\draw[only on=<3>{ultra thick,colLinkIn}] (split.330) -- (serialn.north);
\draw[only on=<4>{ultra thick,colLinkIn}] (serial0.north) -- (ch0);
\draw[only on=<4>{ultra thick,colLinkIn}] (serialn.north) -- (chn);
\draw[only on=<5>{ultra thick,colLinkOut!50!colLinkIn}] (ch0) -- (ls0);
\draw[only on=<5>{ultra thick,colLinkOut!50!colLinkIn}] (chn) -- (lsn);
\draw[only on=<6>{ultra thick,colLinkOut}] (ls0) -- (serial0.south);
\draw[only on=<6>{ultra thick,colLinkOut}] (lsn) -- (serialn.south);
\draw[only on=<7>{ultra thick,colLinkOut}] (serial0.south) -- (merge.150);
\draw[only on=<7>{ultra thick,colLinkOut}] (serialn.south) -- (merge.30);
\draw[only on=<7>{ultra thick,colLinkIn}] (merge) -- (select);
\draw[only on=<{2,8}>{ultra thick,colLinkOut}] (select) -- (return);
\end{scope}
%}}}
\end{tikzpicture}