%!TEX root = ../pmdraw.tex
% *------------------------------*
% |7````````````````````````````9|
% |`````____````____`````````````|
% |````|MFMF\ /MFMF|````````````|
% |````|MF|MF\/MF|MF|````````````|
% |````|MF|\MFMF/|MF|_______`````|
% |````|MF|``````|MFMFMFMFMF|````|
% |````|MF|``````|MF|````````````|
% |````|MF|``````|MF|___`````````|
% |``````````````|MFMFMF|````````|
% |``````````````|MF|````````````|
% |``````````````|MF|````````````|
% |``````````````|MF|````````````|
% |6````````````````````````````5|
% *------------------------------*
\usetikzlibrary{patterns}
\newcommand{\blockStyles}{
\tikzstyle{typeI} = [
very thick,
rounded corners=5pt,
red,
preaction={fill, red!3}
]
\tikzstyle{typeT} = [
very thick,
rounded corners=5pt,
dash pattern={on 7.5pt off 2.5pt},
green,
preaction={fill, green!3}
]
\tikzstyle{typeB} = [
very thick,
rounded corners=5pt,
dash pattern={on 2.5pt off 2.5pt},
blue,
preaction={fill, blue!3}
]
\tikzstyle{typeO} = [
very thick,
rounded corners=5pt,
dash pattern={on 2.5pt off 2.5pt on 7.5pt off 2.5pt},
orange,
preaction={fill, orange!3}
]
\tikzstyle{typeU} = [
very thick,
rounded corners=5pt,
dash pattern={on 2.5pt off 2.5pt on 2.5pt off 2.5pt on 7.5pt off 2.5pt},
violet,
preaction={fill, violet!3}
]
\tikzstyle{typeN} = [
very thick,
rounded corners=5pt,
dash pattern={on 7.5pt off 2.5pt on 7.5pt off 2.5pt on 2.5pt off 2.5pt},
yellow,
preaction={fill, yellow!3}
]
}
\pmdProduct[ % Options
decorate before={
\blockStyles
\draw[typeU] (0.6, 2.4) -- (1.4, 2.4) -- (1.4, 0.7) -- (3.6, 0.7) -- (3.6, 2.4) -- (4.4, 2.4) -- (4.4, -1.7) -- (0.6, -1.7) -- cycle;
\draw[typeT] (1.6, 1.3) rectangle (3.4, 2.4);
\foreach \x in {0,2} {
\begin{scope}[shift={(\x,0)}]
\draw[typeB] (0.6, -3.4) rectangle (2.4, -2.3);
\end{scope}
}
}
]{ % Added edges
{1}{4}
}{ % Top Diagram
{ % Brick 1
[ % Options
degree=4
]{ % Upper non transversal edges
{2}{3}
}{ % Lower non transversal edges
{2}{3}
}{ % Transversal edges
{1}{1}
{4}{4}
}
}
}{ % Bottom Diagram
{ % Brick 1
[ % Options
degree=4
]{ % Upper non transversal edges
{1}{2}
{3}{4}
}{ % Lower non transversal edges
{1}{2}
{3}{4}
}{ % Transversal edges
\pmdEmpty
}
}
}
\hspace{5em}
\pmdProduct[ % Options
decorate before={
\blockStyles
\draw[typeU] (0.6, 2.4) -- (1.4, 2.4) -- (1.4, 0.7) -- (10.6, 0.7) -- (10.6, 2.4) -- (11.4, 2.4) -- (11.4, -1.7) -- (0.6, -1.7) -- cycle;
\foreach \x in {0,2,4,7,9} {
\begin{scope}[shift={(\x,0)}]
\draw[typeB] (0.6, -3.4) rectangle (2.4, -2.3);
\end{scope}
}
\foreach \x in {1,3,8} {
\begin{scope}[shift={(\x,0)}]
\draw[typeT] (0.6, 1.3) rectangle (2.4, 2.4);
\end{scope}
}
}
]{ % Added edges
{1}{5}
{9}{11}
}{ % Top Diagram
{ % Brick 1
[ % Options
degree=5
]{ % Upper non transversal edges
{2}{3}
{4}{5}
}{ % Lower non transversal edges
{2}{3}
{4}{5}
}{ % Transversal edges
{1}{1}
}
}{ % Brick 2
[ % Options
blank top=2,
blank bottom=2,
degree=3
]{ % Upper non transversal edges
{3}{4}
}{ % Lower non transversal edges
{3}{4}
}{ % Transversal edges
{5}{5}
}
}
}{ % Bottom Diagram
{ % Brick 1
[ % Options
degree=6
]{ % Upper non transversal edges
{1}{2}
{3}{4}
{5}{6}
}{ % Lower non transversal edges
{1}{2}
{3}{4}
{5}{6}
}{ % Transversal edges
\pmdEmpty
}
}{ % Brick 2
[ % Options
degree=4
]{ % Upper non transversal edges
{1}{2}
{3}{4}
}{ % Lower non transversal edges
{1}{2}
{3}{4}
}{ % Transversal edges
\pmdEmpty
}
}
}