385 lines
16 KiB
TeX
385 lines
16 KiB
TeX
\usetikzlibrary{shapes.multipart}
|
|
\usetikzlibrary {shapes.geometric}
|
|
\tikzset{inport/.style={
|
|
draw=black, minimum width=0.1cm, minimum height=0.1cm, anchor=north, outer sep=0, inner sep=2.75
|
|
}}
|
|
\tikzset{outport/.style={
|
|
draw=black, fill=black, minimum width=0.1cm, minimum height=0.1cm, anchor=south, outer sep=0, inner sep=2.75
|
|
}}
|
|
|
|
\makeatletter
|
|
|
|
\pgfkeys{/tikz/coverage residual/.initial = 100\%}
|
|
\pgfkeys{/tikz/coverage latent/.initial = 0\%}
|
|
\pgfdeclareshape{coverage}{
|
|
% Minimum required anchors:
|
|
\savedanchor{\northeast}{
|
|
\pgf@y=1cm
|
|
\pgf@x=1.5cm
|
|
}
|
|
\savedanchor{\southwest}{
|
|
\pgf@y=-\pgf@y
|
|
\pgf@x=-\pgf@x
|
|
}
|
|
|
|
% Special Anchors, that can be calculated from the others (lazy calculation)
|
|
\anchor{south west} {\southwest}
|
|
\anchor{north east} {\northeast}
|
|
\anchor{north west} {\northeast \pgf@y=\pgf@y \pgf@x=-\pgf@x}
|
|
\anchor{south east} {\southwest \pgf@y=\pgf@y \pgf@x=-\pgf@x}
|
|
\anchor{west} {\southwest \pgf@y=0cm \pgf@x=\pgf@x}
|
|
\anchor{east} {\northeast \pgf@y=0cm \pgf@x=\pgf@x}
|
|
\anchor{north} {\northeast \pgf@y=\pgf@y \pgf@x=0cm}
|
|
\anchor{south} {\southwest \pgf@y=\pgf@y \pgf@x=0cm}
|
|
\anchor{center} {\pgfpointorigin}
|
|
\anchor{lat} {\northeast \pgfpoint{0.5\pgf@x}{\pgf@y+0.2cm}}
|
|
\anchor{res} {\northeast \pgf@y=\pgf@y \pgf@x=-\pgf@x \pgfpoint{0.5\pgf@x}{\pgf@y+0.2cm}}
|
|
\anchor{in} {\southwest \pgf@y=\pgf@y \pgf@x=0cm \pgfpoint{0.5\pgf@x}{\pgf@y-0.2cm}}
|
|
\anchor{text} {\pgfpoint{-.5\wd\pgfnodeparttextbox}{-.5\ht\pgfnodeparttextbox+0.5cm}}
|
|
|
|
\backgroundpath{
|
|
\pgfsetstrokecolor{black}
|
|
\pgfsetfillcolor{black}
|
|
\pgfsetarrowsstart{}
|
|
\pgfsetarrowsend{}
|
|
% Construct main path
|
|
\northeast \pgf@xb=\pgf@x \pgf@yb=\pgf@y
|
|
\southwest \pgf@xa=\pgf@x \pgf@ya=\pgf@y
|
|
\pgfpathmoveto{\pgfpoint{\pgf@xa}{\pgf@ya}}
|
|
\pgfpathlineto{\pgfpoint{\pgf@xa}{\pgf@yb}}
|
|
\pgfpathlineto{\pgfpoint{\pgf@xb}{\pgf@yb}}
|
|
\pgfpathlineto{\pgfpoint{\pgf@xb}{\pgf@ya}}
|
|
\pgfpathclose
|
|
\pgfusepath{stroke}
|
|
% construct middle line:
|
|
\southwest \pgf@ya=0cm \pgf@xa=\pgf@x
|
|
\northeast \pgf@yb=0cm \pgf@xb=\pgf@x
|
|
\pgfpathmoveto{\pgfpoint{\pgf@xa}{\pgf@ya}}
|
|
\pgfpathlineto{\pgfpoint{\pgf@xb}{\pgf@yb}}
|
|
\pgfusepath{stroke}
|
|
% Coverage lable:
|
|
\southwest \pgf@ya=0.5\pgf@y \pgf@xa=0cm
|
|
\pgftext[at=\pgfpoint{\pgf@xa}{\pgf@ya}]{\bf Coverage}
|
|
\pgfusepath{stroke}
|
|
% Vertical Middle Line:
|
|
\northeast \pgf@yb=\pgf@y \pgf@xb=\pgf@x
|
|
\pgfpathmoveto{\pgfpoint{0cm}{0cm}}
|
|
\pgfpathlineto{\pgfpoint{0cm}{\pgf@yb}}
|
|
\pgfusepath{stroke}
|
|
% Left lable:
|
|
\northeast \pgf@ya=0.5\pgf@y \pgf@xa=-0.5\pgf@x
|
|
\pgftext[at=\pgfpoint{\pgf@xa}{\pgf@ya}]{\pgfkeysvalueof{/tikz/coverage residual}}
|
|
\pgfusepath{stroke}
|
|
% Right lable:
|
|
\northeast \pgf@ya=0.5\pgf@y \pgf@xa=0.5\pgf@x
|
|
\pgftext[at=\pgfpoint{\pgf@xa}{\pgf@ya}]{\pgfkeysvalueof{/tikz/coverage latent}}
|
|
\pgfusepath{stroke}
|
|
% Construct Output1:
|
|
\northeast \pgf@ya=\pgf@y \pgf@xa=0.5\pgf@x
|
|
\southwest \pgf@yb=\pgf@y \pgf@xb=0.5\pgf@x
|
|
\pgfpathmoveto{\pgfpoint{\pgf@xb+0.1cm}{\pgf@ya}}
|
|
\pgfpathlineto{\pgfpoint{\pgf@xb+0.1cm}{\pgf@ya+0.2cm}}
|
|
\pgfpathlineto{\pgfpoint{\pgf@xb-0.1cm}{\pgf@ya+0.2cm}}
|
|
\pgfpathlineto{\pgfpoint{\pgf@xb-0.1cm}{\pgf@ya}}
|
|
\pgfpathclose
|
|
\pgfusepath{stroke, fill}
|
|
% Construct Output2:
|
|
\northeast \pgf@ya=\pgf@y \pgf@xa=0.5\pgf@x
|
|
\pgfpathmoveto{\pgfpoint{\pgf@xa+0.1cm}{\pgf@ya}}
|
|
\pgfpathlineto{\pgfpoint{\pgf@xa+0.1cm}{\pgf@ya+0.2cm}}
|
|
\pgfpathlineto{\pgfpoint{\pgf@xa-0.1cm}{\pgf@ya+0.2cm}}
|
|
\pgfpathlineto{\pgfpoint{\pgf@xa-0.1cm}{\pgf@ya}}
|
|
\pgfpathclose
|
|
\pgfusepath{stroke, fill}
|
|
% Construct Input1:
|
|
\southwest \pgf@ya=\pgf@y \pgf@xa=0cm
|
|
\pgfpathmoveto{\pgfpoint{\pgf@xa+0.1cm}{\pgf@ya}}
|
|
\pgfpathlineto{\pgfpoint{\pgf@xa+0.1cm}{\pgf@ya-0.2cm}}
|
|
\pgfpathlineto{\pgfpoint{\pgf@xa-0.1cm}{\pgf@ya-0.2cm}}
|
|
\pgfpathlineto{\pgfpoint{\pgf@xa-0.1cm}{\pgf@ya}}
|
|
\pgfpathclose
|
|
\pgfusepath{stroke}
|
|
}
|
|
}
|
|
|
|
%%%%%%%%%%%%%%%%%%%%%%
|
|
|
|
\pgfkeys{/tikz/split1 top/.initial = 50\%}
|
|
\pgfdeclareshape{split1}{%
|
|
% Minimum required anchors:
|
|
\savedanchor{\northeast}{
|
|
\pgf@y=1cm
|
|
\pgf@x=0.75cm
|
|
}
|
|
\savedanchor{\southwest}{
|
|
\pgf@y=-\pgf@y
|
|
\pgf@x=-\pgf@x
|
|
}
|
|
|
|
% Special Anchors, that can be calculated from the others (lazy calculation)
|
|
\anchor{south west} {\southwest}
|
|
\anchor{north east} {\northeast}
|
|
\anchor{north west} {\northeast \pgf@y=\pgf@y \pgf@x=-\pgf@x}
|
|
\anchor{south east} {\southwest \pgf@y=\pgf@y \pgf@x=-\pgf@x}
|
|
\anchor{west} {\southwest \pgf@y=0cm \pgf@x=\pgf@x}
|
|
\anchor{east} {\northeast \pgf@y=0cm \pgf@x=\pgf@x}
|
|
\anchor{north} {\northeast \pgf@y=\pgf@y \pgf@x=0cm}
|
|
\anchor{south} {\southwest \pgf@y=\pgf@y \pgf@x=0cm}
|
|
\anchor{center} {\pgfpointorigin}
|
|
\anchor{out 1} {\northeast \pgf@y=\pgf@y \pgf@x=-\pgf@x \pgfpoint{0.0\pgf@x}{\pgf@y+0.2cm}}
|
|
\anchor{in} {\southwest \pgf@y=\pgf@y \pgf@x=0cm \pgfpoint{0.5\pgf@x}{\pgf@y-0.2cm}}
|
|
\anchor{text} {\pgfpoint{-.5\wd\pgfnodeparttextbox}{-.5\ht\pgfnodeparttextbox+0.5cm}}
|
|
|
|
\backgroundpath{
|
|
\pgfsetfillcolor{black}
|
|
\pgfsetstrokecolor{black}
|
|
\pgfsetarrowsstart{}
|
|
\pgfsetarrowsend{}
|
|
% Construct main path
|
|
\northeast \pgf@xb=\pgf@x \pgf@yb=\pgf@y
|
|
\southwest \pgf@xa=\pgf@x \pgf@ya=\pgf@y
|
|
\pgfpathmoveto{\pgfpoint{\pgf@xa}{\pgf@ya}}
|
|
\pgfpathlineto{\pgfpoint{\pgf@xa}{\pgf@yb}}
|
|
\pgfpathlineto{\pgfpoint{\pgf@xb}{\pgf@yb}}
|
|
\pgfpathlineto{\pgfpoint{\pgf@xb}{\pgf@ya}}
|
|
\pgfpathclose
|
|
\pgfusepath{stroke}
|
|
% Construct middle line:
|
|
\southwest \pgf@ya=0cm \pgf@xa=\pgf@x
|
|
\northeast \pgf@yb=0cm \pgf@xb=\pgf@x
|
|
\pgfpathmoveto{\pgfpoint{\pgf@xa}{\pgf@ya}}
|
|
\pgfpathlineto{\pgfpoint{\pgf@xb}{\pgf@yb}}
|
|
% Coverage lable:
|
|
\southwest \pgf@ya=0.5\pgf@y \pgf@xa=0cm
|
|
\pgftext[at=\pgfpoint{\pgf@xa}{\pgf@ya}]{\bf Split}
|
|
\pgfusepath{stroke}
|
|
% Left lable:
|
|
\northeast \pgf@ya=0.5\pgf@y \pgf@xa=0cm
|
|
\pgftext[at=\pgfpoint{\pgf@xa}{\pgf@ya}]{\pgfkeysvalueof{/tikz/split1 top}}
|
|
\pgfusepath{stroke}
|
|
% Construct Output1:
|
|
\northeast \pgf@ya=\pgf@y \pgf@xa=1.0\pgf@x
|
|
\southwest \pgf@yb=\pgf@y \pgf@xb=0.0\pgf@x
|
|
\pgfpathmoveto{\pgfpoint{\pgf@xb+0.1cm}{\pgf@ya}}
|
|
\pgfpathlineto{\pgfpoint{\pgf@xb+0.1cm}{\pgf@ya+0.2cm}}
|
|
\pgfpathlineto{\pgfpoint{\pgf@xb-0.1cm}{\pgf@ya+0.2cm}}
|
|
\pgfpathlineto{\pgfpoint{\pgf@xb-0.1cm}{\pgf@ya}}
|
|
\pgfpathclose
|
|
\pgfusepath{stroke, fill}
|
|
% Construct Input1:
|
|
\southwest \pgf@ya=\pgf@y \pgf@xa=0cm
|
|
\pgfpathmoveto{\pgfpoint{\pgf@xa+0.1cm}{\pgf@ya}}
|
|
\pgfpathlineto{\pgfpoint{\pgf@xa+0.1cm}{\pgf@ya-0.2cm}}
|
|
\pgfpathlineto{\pgfpoint{\pgf@xa-0.1cm}{\pgf@ya-0.2cm}}
|
|
\pgfpathlineto{\pgfpoint{\pgf@xa-0.1cm}{\pgf@ya}}
|
|
\pgfpathclose
|
|
\pgfusepath{stroke}
|
|
}
|
|
}
|
|
|
|
\pgfkeys{/tikz/split2 left/.initial = 50\%}
|
|
\pgfkeys{/tikz/split2 right/.initial = 50\%}
|
|
\pgfdeclareshape{split2}{%
|
|
% Minimum required anchors:
|
|
\savedanchor{\northeast}{
|
|
\pgf@y=1cm
|
|
\pgf@x=1.5cm
|
|
}
|
|
\savedanchor{\southwest}{
|
|
\pgf@y=-\pgf@y
|
|
\pgf@x=-\pgf@x
|
|
}
|
|
|
|
% Special Anchors, that can be calculated from the others (lazy calculation)
|
|
\anchor{south west} {\southwest}
|
|
\anchor{north east} {\northeast}
|
|
\anchor{north west} {\northeast \pgf@y=\pgf@y \pgf@x=-\pgf@x}
|
|
\anchor{south east} {\southwest \pgf@y=\pgf@y \pgf@x=-\pgf@x}
|
|
\anchor{west} {\southwest \pgf@y=0cm \pgf@x=\pgf@x}
|
|
\anchor{east} {\northeast \pgf@y=0cm \pgf@x=\pgf@x}
|
|
\anchor{north} {\northeast \pgf@y=\pgf@y \pgf@x=0cm}
|
|
\anchor{south} {\southwest \pgf@y=\pgf@y \pgf@x=0cm}
|
|
\anchor{center} {\pgfpointorigin}
|
|
\anchor{out 2} {\northeast \pgfpoint{0.5\pgf@x}{\pgf@y+0.2cm}}
|
|
\anchor{out 1} {\northeast \pgf@y=\pgf@y \pgf@x=-\pgf@x \pgfpoint{0.5\pgf@x}{\pgf@y+0.2cm}}
|
|
\anchor{in} {\southwest \pgf@y=\pgf@y \pgf@x=0cm \pgfpoint{0.5\pgf@x}{\pgf@y-0.2cm}}
|
|
\anchor{text} {\pgfpoint{-.5\wd\pgfnodeparttextbox}{-.5\ht\pgfnodeparttextbox+0.5cm}}
|
|
|
|
\backgroundpath{
|
|
\pgfsetfillcolor{black}
|
|
\pgfsetstrokecolor{black}
|
|
\pgfsetarrowsstart{}
|
|
\pgfsetarrowsend{}
|
|
% Construct main path
|
|
\northeast \pgf@xb=\pgf@x \pgf@yb=\pgf@y
|
|
\southwest \pgf@xa=\pgf@x \pgf@ya=\pgf@y
|
|
\pgfpathmoveto{\pgfpoint{\pgf@xa}{\pgf@ya}}
|
|
\pgfpathlineto{\pgfpoint{\pgf@xa}{\pgf@yb}}
|
|
\pgfpathlineto{\pgfpoint{\pgf@xb}{\pgf@yb}}
|
|
\pgfpathlineto{\pgfpoint{\pgf@xb}{\pgf@ya}}
|
|
\pgfpathclose
|
|
\pgfusepath{stroke}
|
|
% Construct middle line:
|
|
\southwest \pgf@ya=0cm \pgf@xa=\pgf@x
|
|
\northeast \pgf@yb=0cm \pgf@xb=\pgf@x
|
|
\pgfpathmoveto{\pgfpoint{\pgf@xa}{\pgf@ya}}
|
|
\pgfpathlineto{\pgfpoint{\pgf@xb}{\pgf@yb}}
|
|
% Vertical Middle Line:
|
|
\northeast \pgf@yb=\pgf@y \pgf@xb=\pgf@x
|
|
\pgfpathmoveto{\pgfpoint{0cm}{0cm}}
|
|
\pgfpathlineto{\pgfpoint{0cm}{\pgf@yb}}
|
|
\pgfusepath{stroke}
|
|
% Coverage lable:
|
|
\southwest \pgf@ya=0.5\pgf@y \pgf@xa=0cm
|
|
\pgftext[at=\pgfpoint{\pgf@xa}{\pgf@ya}]{\bf Split}
|
|
\pgfusepath{stroke}
|
|
% Left lable:
|
|
\northeast \pgf@ya=0.5\pgf@y \pgf@xa=-0.5\pgf@x
|
|
\pgftext[at=\pgfpoint{\pgf@xa}{\pgf@ya}]{\pgfkeysvalueof{/tikz/split2 left}}
|
|
\pgfusepath{stroke}
|
|
% Right lable:
|
|
\northeast \pgf@ya=0.5\pgf@y \pgf@xa=0.5\pgf@x
|
|
\pgftext[at=\pgfpoint{\pgf@xa}{\pgf@ya}]{\pgfkeysvalueof{/tikz/split2 right}}
|
|
\pgfusepath{stroke}
|
|
% Construct Output1:
|
|
\northeast \pgf@ya=\pgf@y \pgf@xa=0.5\pgf@x
|
|
\southwest \pgf@yb=\pgf@y \pgf@xb=0.5\pgf@x
|
|
\pgfpathmoveto{\pgfpoint{\pgf@xb+0.1cm}{\pgf@ya}}
|
|
\pgfpathlineto{\pgfpoint{\pgf@xb+0.1cm}{\pgf@ya+0.2cm}}
|
|
\pgfpathlineto{\pgfpoint{\pgf@xb-0.1cm}{\pgf@ya+0.2cm}}
|
|
\pgfpathlineto{\pgfpoint{\pgf@xb-0.1cm}{\pgf@ya}}
|
|
\pgfpathclose
|
|
\pgfusepath{stroke, fill}
|
|
% Construct Output2:
|
|
\northeast \pgf@ya=\pgf@y \pgf@xa=0.5\pgf@x
|
|
\pgfpathmoveto{\pgfpoint{\pgf@xa+0.1cm}{\pgf@ya}}
|
|
\pgfpathlineto{\pgfpoint{\pgf@xa+0.1cm}{\pgf@ya+0.2cm}}
|
|
\pgfpathlineto{\pgfpoint{\pgf@xa-0.1cm}{\pgf@ya+0.2cm}}
|
|
\pgfpathlineto{\pgfpoint{\pgf@xa-0.1cm}{\pgf@ya}}
|
|
\pgfpathclose
|
|
\pgfusepath{stroke, fill}
|
|
% Construct Input1:
|
|
\southwest \pgf@ya=\pgf@y \pgf@xa=0cm
|
|
\pgfpathmoveto{\pgfpoint{\pgf@xa+0.1cm}{\pgf@ya}}
|
|
\pgfpathlineto{\pgfpoint{\pgf@xa+0.1cm}{\pgf@ya-0.2cm}}
|
|
\pgfpathlineto{\pgfpoint{\pgf@xa-0.1cm}{\pgf@ya-0.2cm}}
|
|
\pgfpathlineto{\pgfpoint{\pgf@xa-0.1cm}{\pgf@ya}}
|
|
\pgfpathclose
|
|
\pgfusepath{stroke}
|
|
}
|
|
}
|
|
|
|
\pgfkeys{/tikz/split3 left/.initial = 50\%}
|
|
\pgfkeys{/tikz/split3 middle/.initial = 50\%}
|
|
\pgfkeys{/tikz/split3 right/.initial = 50\%}
|
|
\pgfdeclareshape{split3}{%
|
|
% Minimum required anchors:
|
|
\savedanchor{\northeast}{
|
|
\pgf@y=1cm
|
|
\pgf@x=1.5cm
|
|
}
|
|
\savedanchor{\southwest}{
|
|
\pgf@y=-\pgf@y
|
|
\pgf@x=-\pgf@x
|
|
}
|
|
|
|
% Special Anchors, that can be calculated from the others (lazy calculation)
|
|
\anchor{south west} {\southwest}
|
|
\anchor{north east} {\northeast}
|
|
\anchor{north west} {\northeast \pgf@y=\pgf@y \pgf@x=-\pgf@x}
|
|
\anchor{south east} {\southwest \pgf@y=\pgf@y \pgf@x=-\pgf@x}
|
|
\anchor{west} {\southwest \pgf@y=0cm \pgf@x=\pgf@x}
|
|
\anchor{east} {\northeast \pgf@y=0cm \pgf@x=\pgf@x}
|
|
\anchor{north} {\northeast \pgf@y=\pgf@y \pgf@x=0cm}
|
|
\anchor{south} {\southwest \pgf@y=\pgf@y \pgf@x=0cm}
|
|
\anchor{center} {\pgfpointorigin}
|
|
\anchor{out 1} {\northeast \pgf@y=\pgf@y \pgf@x=-\pgf@x \pgfpoint{0.666\pgf@x}{\pgf@y+0.2cm}}
|
|
\anchor{out 2} {\northeast \pgfpoint{0.0\pgf@x}{\pgf@y+0.2cm}}
|
|
\anchor{out 3} {\northeast \pgfpoint{0.666\pgf@x}{\pgf@y+0.2cm}}
|
|
\anchor{in} {\southwest \pgf@y=\pgf@y \pgf@x=0cm \pgfpoint{0.5\pgf@x}{\pgf@y-0.2cm}}
|
|
\anchor{text} {\pgfpoint{-.5\wd\pgfnodeparttextbox}{-.5\ht\pgfnodeparttextbox+0.5cm}}
|
|
|
|
\backgroundpath{
|
|
\pgfsetfillcolor{black}
|
|
\pgfsetstrokecolor{black}
|
|
\pgfsetarrowsstart{}
|
|
\pgfsetarrowsend{}
|
|
% Construct main path
|
|
\northeast \pgf@xb=\pgf@x \pgf@yb=\pgf@y
|
|
\southwest \pgf@xa=\pgf@x \pgf@ya=\pgf@y
|
|
\pgfpathmoveto{\pgfpoint{\pgf@xa}{\pgf@ya}}
|
|
\pgfpathlineto{\pgfpoint{\pgf@xa}{\pgf@yb}}
|
|
\pgfpathlineto{\pgfpoint{\pgf@xb}{\pgf@yb}}
|
|
\pgfpathlineto{\pgfpoint{\pgf@xb}{\pgf@ya}}
|
|
\pgfpathclose
|
|
\pgfusepath{stroke}
|
|
% Construct middle line:
|
|
\southwest \pgf@ya=0cm \pgf@xa=\pgf@x
|
|
\northeast \pgf@yb=0cm \pgf@xb=\pgf@x
|
|
\pgfpathmoveto{\pgfpoint{\pgf@xa}{\pgf@ya}}
|
|
\pgfpathlineto{\pgfpoint{\pgf@xb}{\pgf@yb}}
|
|
% Vertical Middle Lines:
|
|
\southwest \pgf@ya=0cm \pgf@xa=\pgf@x
|
|
\northeast \pgf@yb=\pgf@y \pgf@xb=\pgf@x
|
|
\pgfpathmoveto{\pgfpoint{\pgf@xa+1cm}{0cm}}
|
|
\pgfpathlineto{\pgfpoint{\pgf@xa+1cm}{\pgf@yb}}
|
|
\pgfusepath{stroke}
|
|
%
|
|
\northeast \pgf@ya=\pgf@y \pgf@xa=\pgf@x
|
|
\southwest \pgf@yb=\pgf@y \pgf@xb=\pgf@x
|
|
\pgfpathmoveto{\pgfpoint{\pgf@xa-1cm}{0cm}}
|
|
\pgfpathlineto{\pgfpoint{\pgf@xa-1cm}{\pgf@ya}}
|
|
\pgfusepath{stroke}
|
|
% Coverage lable:
|
|
\southwest \pgf@ya=0.5\pgf@y \pgf@xa=0cm
|
|
\pgftext[at=\pgfpoint{\pgf@xa}{\pgf@ya}]{\bf Split}
|
|
\pgfusepath{stroke}
|
|
% Left lable:
|
|
\northeast \pgf@ya=0.5\pgf@y \pgf@xa=-0.666\pgf@x
|
|
\pgftext[at=\pgfpoint{\pgf@xa}{\pgf@ya}]{\pgfkeysvalueof{/tikz/split3 left}}
|
|
\pgfusepath{stroke}
|
|
% Middle lable:
|
|
\northeast \pgf@ya=0.5\pgf@y \pgf@xa=0.000\pgf@x
|
|
\pgftext[at=\pgfpoint{\pgf@xa}{\pgf@ya}]{\pgfkeysvalueof{/tikz/split3 middle}}
|
|
\pgfusepath{stroke}
|
|
% Right lable:
|
|
\northeast \pgf@ya=0.5\pgf@y \pgf@xa=0.666\pgf@x
|
|
\pgftext[at=\pgfpoint{\pgf@xa}{\pgf@ya}]{\pgfkeysvalueof{/tikz/split3 right}}
|
|
\pgfusepath{stroke}
|
|
% Construct Output1:
|
|
\northeast \pgf@ya=\pgf@y \pgf@xa=0.666\pgf@x
|
|
\southwest \pgf@yb=\pgf@y \pgf@xb=0.666\pgf@x
|
|
\pgfpathmoveto{\pgfpoint{\pgf@xb+0.1cm}{\pgf@ya}}
|
|
\pgfpathlineto{\pgfpoint{\pgf@xb+0.1cm}{\pgf@ya+0.2cm}}
|
|
\pgfpathlineto{\pgfpoint{\pgf@xb-0.1cm}{\pgf@ya+0.2cm}}
|
|
\pgfpathlineto{\pgfpoint{\pgf@xb-0.1cm}{\pgf@ya}}
|
|
\pgfpathclose
|
|
\pgfusepath{stroke, fill}
|
|
% Construct Output2:
|
|
\northeast \pgf@ya=\pgf@y \pgf@xa=0.0\pgf@x
|
|
\southwest \pgf@yb=\pgf@y \pgf@xb=0.0\pgf@x
|
|
\pgfpathmoveto{\pgfpoint{\pgf@xb+0.1cm}{\pgf@ya}}
|
|
\pgfpathlineto{\pgfpoint{\pgf@xb+0.1cm}{\pgf@ya+0.2cm}}
|
|
\pgfpathlineto{\pgfpoint{\pgf@xb-0.1cm}{\pgf@ya+0.2cm}}
|
|
\pgfpathlineto{\pgfpoint{\pgf@xb-0.1cm}{\pgf@ya}}
|
|
\pgfpathclose
|
|
\pgfusepath{stroke, fill}
|
|
% Construct Output3:
|
|
\northeast \pgf@ya=\pgf@y \pgf@xa=0.666\pgf@x
|
|
\pgfpathmoveto{\pgfpoint{\pgf@xa+0.1cm}{\pgf@ya}}
|
|
\pgfpathlineto{\pgfpoint{\pgf@xa+0.1cm}{\pgf@ya+0.2cm}}
|
|
\pgfpathlineto{\pgfpoint{\pgf@xa-0.1cm}{\pgf@ya+0.2cm}}
|
|
\pgfpathlineto{\pgfpoint{\pgf@xa-0.1cm}{\pgf@ya}}
|
|
\pgfpathclose
|
|
\pgfusepath{stroke, fill}
|
|
% Construct Input1:
|
|
\southwest \pgf@ya=\pgf@y \pgf@xa=0cm
|
|
\pgfpathmoveto{\pgfpoint{\pgf@xa+0.1cm}{\pgf@ya}}
|
|
\pgfpathlineto{\pgfpoint{\pgf@xa+0.1cm}{\pgf@ya-0.2cm}}
|
|
\pgfpathlineto{\pgfpoint{\pgf@xa-0.1cm}{\pgf@ya-0.2cm}}
|
|
\pgfpathlineto{\pgfpoint{\pgf@xa-0.1cm}{\pgf@ya}}
|
|
\pgfpathclose
|
|
\pgfusepath{stroke}
|
|
}
|
|
}
|
|
\makeatother |