defense/src/fig/alsk/grasp.tex

73 lines
2.3 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),only on=<3>{ultra thick}] (serial0) {};
\node[alsk/scheme/frame=colStruct,fit margins={top=1.5mm,bottom=1.5mm},
fit=(chn)(lsn),only on=<3>{ultra thick}] (serialn) {};
\node[alsk/scheme/frame=colStruct,fit margins={top=1.5mm,bottom=1.5mm},
fit=(split)(select)(serial0)(serialn),only on=<3>{ultra thick}] (grasp) {};
% Links
\begin{scope}[alsk/scheme/link,only on=<4>{ultra thick}]
\draw[only on=<4>{colLinkIn}] (entry) -- (split);
\draw[only on=<4>{colLinkIn}] (split.210) -- (serial0.north);
\draw[only on=<4>{colLinkIn}] (split.330) -- (serialn.north);
\draw[only on=<4>{colLinkIn}] (serial0.north) -- (ch0);
\draw[only on=<4>{colLinkIn}] (serialn.north) -- (chn);
\draw[only on=<4>{colLinkOut!50!colLinkIn}] (ch0) -- (ls0);
\draw[only on=<4>{colLinkOut!50!colLinkIn}] (chn) -- (lsn);
\draw[only on=<4>{colLinkOut}] (ls0) -- (serial0.south);
\draw[only on=<4>{colLinkOut}] (lsn) -- (serialn.south);
\draw[only on=<4>{colLinkOut}] (serial0.south) -- (merge.150);
\draw[only on=<4>{colLinkOut}] (serialn.south) -- (merge.30);
\draw[only on=<4>{colLinkIn}] (merge) -- (select);
\draw[only on=<4>{colLinkOut}] (select) -- (return);
\end{scope}
%}}}
%{{{ animations "
%{{{ Muscles "
\visible<2>{
\node[alsk/scheme/task,ultra thick] at (ch0) {CH};
\node[alsk/scheme/task,ultra thick] at (chn) {CH};
\node[alsk/scheme/task,ultra thick] at (ls0) {LS};
\node[alsk/scheme/task,ultra thick] at (lsn) {LS};
\node[alsk/scheme/task,ultra thick] at (select) {S};
}
%}}}
%{{{ Structure "
\visible<3>{
\node[alsk/scheme/split,ultra thick] at (split) {};
\node[alsk/scheme/join,ultra thick] at (merge) {};
}
%}}}
%}}}
\end{tikzpicture}