
% root set
\DeclareDocumentCommand{\rs}{ O{1.1cm} O{->} m m O{0} O{0}} {
	\def \radius {#1}
	\def \inputPoints{#3}
	\def \excludeRoots{#4}
	\def \style {#2}
	\def \initialRotation {#5}
	\def \extraStyle {#6}
	
	
	% Number of points
	\pgfmathtruncatemacro{\points}{\inputPoints * 2}
	\pgfmathsetmacro{\degrees}{360 / \points}
	
	\coordinate (0) at (0,0);
	
	% setup the coordinates
	\foreach \x in {1,...,\points}{%
		% Where our node is going to be
		\pgfmathsetmacro{\location}{(\points+(\x-1))*\degrees + \initialRotation}
		
		\coordinate (\x) at (\location:\radius);
	}
	
	
	%setup the vertices
	\ifthenelse{\equal{\excludeRoots}{}}{
		\foreach \x in {1,...,\points}{%
			\ifthenelse{\equal{\extraStyle}{0}}{
				\draw[\style] (0) -- (\x);
			}{
			\draw[\style, \extraStyle] (0) -- (\x);
		}
	}
}{
\foreach \x in {1,...,\points}{%
	\edef \showPoint {1};
	
	\foreach \y in \excludeRoots {
		\ifthenelse{\equal{\x}{\y}}{
			\xdef \showPoint {0};
		}{}
	}
	
	\ifthenelse{\equal{\showPoint}{1}}{
		\ifthenelse{\equal{\extraStyle}{0}}{
			\draw[\style] (0) -- (\x);
		}{
		\draw[\style, \extraStyle] (0) -- (\x);
	}
}{}
}
}  
}

\centerline{
    \begin{tikzpicture}
		[
		baseline={([yshift=-.8ex]current bounding box.center)},
        scale=1,
        face/.style={color=red!95!black},
        fvertex/.style={inner sep=1pt,circle,draw=red!95!black,fill=red!95!black,thick},
        vertex/.style={inner sep=1pt,circle,draw=blue!85!white,fill=blue!85!white,thick},
        pvertex/.style={inner sep=1pt,circle,draw=green!85!black,fill=green!85!black,thick},
        chamber/.style={color=blue!85!white},
        poly/.style={color=green!85!black},
        fdomain/.style={fill=green!15!white,color=green!15!white,opacity=0.2},
		]
		\tikzset{->-/.style={decoration={
					markings,
					mark=at position #1 with {\arrow{>}}},postaction={decorate}}}
		%
        \rs[2][white]{3}{}[30];
        \draw[->-=.25] (1) -- (2);
        \draw[->-=.75] (1) -- (2);
        \draw[->-=.25] (3) -- (2);
        \draw[->-=.75] (3) -- (2);
        \draw[->-=.25] (4) -- (3);
        \draw[->-=.75] (4) -- (3);
        \draw[->-=.25] (5) -- (4);
        \draw[->-=.75] (5) -- (4);
        \draw[->-=.25] (5) -- (6);
        \draw[->-=.75] (5) -- (6);
        \draw[->-=.25] (6) -- (1);
        \draw[->-=.75] (6) -- (1);
        %
        % Add face vertices
        \node[fvertex] (f1) at (240:1.74) {};
        \node[fvertex] (f2) at (300:1.74) {};
        \node[fvertex] (f3) at (0:1.74) {};
        \node[fvertex] (f4) at (60:1.74) {};
        \node[fvertex] (f5) at (120:1.74) {};
        \node[fvertex] (f6) at (180:1.74) {};
        \draw[->-=.25] (f1) -- (f4);
        \draw[->-=.75] (f1) -- (f4);
        \draw[->-=.25] (f2) -- (f5);
        \draw[->-=.75] (f2) -- (f5);
		%
        \node[vertex] at (1) {};
        \node[vertex] at (2) {};
        \node[vertex] at (3) {};
        \node[vertex] at (4) {};
        \node[vertex] at (5) {};
        \node[vertex] at (6) {};
        \node[chamber, right] at (1) {$[R_2, R_2]$};
        \node[chamber, above] at (2) {$[R_3,R_3]$};
        \node[chamber, left] at (3) {$[R_4,R_4]$};
        \node[chamber, left] at (4) {$[R_5,R_5]$};
        \node[chamber, below] at (5) {$[{B},{B}]$};
        \node[chamber, right] at (6) {$[R_1,R_1]$};
		%
        \node[face] at (230:2.4) {$[{B},R_5]$};
        \node[face] at (310:2.4) {$[{B},R_1]$};
        \node[face] at (0:2.6) {$[R_1,R_2]$};
        \node[face] at (50:2.4) {$[R_2,R_3]$};
        \node[face] at (130:2.4) {$[R_4,R_3]$};
        \node[face] at (180:2.6) {$[R_5,R_4]$};
		%
        \node[poly, right] at (0) {$[{B}, R_3]$};
        \node[pvertex] at (0) {};
	\end{tikzpicture}
	\!\!
    \begin{tikzpicture}
		[
		baseline={([yshift=-.8ex]current bounding box.center)},
        scale=1,
        face/.style={color=red!95!black},
        fvertex/.style={inner sep=1pt,circle,draw=red!95!black,fill=red!95!black,thick},
        vertex/.style={inner sep=1pt,circle,draw=blue!85!white,fill=blue!85!white,thick},
        pvertex/.style={inner sep=1pt,circle,draw=green!85!black,fill=green!85!black,thick},
        chamber/.style={color=blue!85!white},
        poly/.style={color=green!85!black},
        fdomain/.style={fill=green!15!white,color=green!15!white,opacity=0.2},
		]
		\tikzset{->-/.style={decoration={
					markings,
					mark=at position #1 with {\arrow{>}}},postaction={decorate}}}
		%
        \rs[2][white]{3}{}[30];
        \draw[->-=.25] (1) -- (2);
        \draw[->-=.75] (1) -- (2);
        \draw[->-=.25] (3) -- (2);
        \draw[->-=.75] (3) -- (2);
        \draw[->-=.25] (4) -- (3);
        \draw[->-=.75] (4) -- (3);
        \draw[->-=.25] (5) -- (4);
        \draw[->-=.75] (5) -- (4);
        \draw[->-=.25] (5) -- (6);
        \draw[->-=.75] (5) -- (6);
        \draw[->-=.25] (6) -- (1);
        \draw[->-=.75] (6) -- (1);
        %
        % Add face vertices
        \node[fvertex] (f1) at (240:1.74) {};
        \node[fvertex] (f2) at (300:1.74) {};
        \node[fvertex] (f3) at (0:1.74) {};
        \node[fvertex] (f4) at (60:1.74) {};
        \node[fvertex] (f5) at (120:1.74) {};
        \node[fvertex] (f6) at (180:1.74) {};
        \draw[->-=.25] (f1) -- (f4);
        \draw[->-=.75] (f1) -- (f4);
        \draw[->-=.25] (f2) -- (f5);
        \draw[->-=.75] (f2) -- (f5);
		%
        \node[vertex] at (1) {};
        \node[vertex] at (2) {};
        \node[vertex] at (3) {};
        \node[vertex] at (4) {};
        \node[vertex] at (5) {};
        \node[vertex] at (6) {};
        \node[chamber, above right] at (1) {${-}{-}{+}$};
        \node[chamber, above] at (2) {${-}{-}{-}$};
        \node[chamber, above left] at (3) {${+}{-}{-}$};
        \node[chamber, below left] at (4) {${+}{+}{-}$};
        \node[chamber, below] at (5) {${+}{+}{+}$};
        \node[chamber, below right] at (6) {${-}{+}{+}$};
		%
        \node[face] at (235:2.2) {${+}{+}{0}$};
        \node[face] at (305:2.2) {${0}{+}{+}$};
        \node[face] at (0:2.4) {${-}{0}{+}$};
        \node[face] at (55:2.2) {${-}{-}{0}$};
        \node[face] at (125:2.2) {${0}{-}{-}$};
        \node[face] at (180:2.4) {${+}{0}{-}$};
		%
        \node[poly, right] at (0) {${0}{0}{0}$};
        \node[pvertex] at (0) {};
	\end{tikzpicture}
	\quad
	\begin{tikzpicture}
        [
		baseline={([yshift=-.8ex]current bounding box.center)},
        scale=1,
        vface/.style={color=red!95!black},
        face/.style={draw=red!95!black,fill=red!95!black,color=red!95!black},
        vertex/.style={inner sep=1pt,circle,draw=blue!85!white,fill=blue!85!white,thick},
        vvertex/.style={color=blue!85!white},
        vdomain/.style={color=green!85!black},
        fdomain/.style={fill=green!15!white,color=green!15!white,opacity=0.2},
		]
		\tikzset{->-/.style={decoration={
					markings,
					mark=at position #1 with {\arrow{>}}},postaction={decorate}}}
		%
		% vertices
        \rs[2][white]{3}{}[30];
        \draw[->-=.25] (1) -- (2);
        \draw[->-=.75] (1) -- (2);
        \draw[->-=.25] (3) -- (2);
        \draw[->-=.75] (3) -- (2);
        \draw[->-=.25] (4) -- (3);
        \draw[->-=.75] (4) -- (3);
        \draw[->-=.25] (5) -- (4);
        \draw[->-=.75] (5) -- (4);
        \draw[->-=.25] (5) -- (6);
        \draw[->-=.75] (5) -- (6);
        \draw[->-=.25] (6) -- (1);
        \draw[->-=.75] (6) -- (1);
		%
        \coordinate (c0) at (270:2);
        \coordinate (c1) at (330:2);
        \coordinate (c2) at (30:2);
        \coordinate (c3) at (90:2);
        \coordinate (c4) at (150:2);
        \coordinate (c5) at (210:2);
		%
        \coordinate (f5) at (240:1.732);
        \coordinate (f0) at (300:1.732);
        \coordinate (f1) at (0:1.732);
        \coordinate (f2) at (60:1.732);
        \coordinate (f3) at (120:1.732);
        \coordinate (f4) at (180:1.732);
        \draw[->-=.25] (f0) -- (f3);
        \draw[->-=.75] (f0) -- (f3);
        \draw[->-=.25] (f5) -- (f2);
        \draw[->-=.75] (f5) -- (f2);
		%
		% Add text for vertices
		\begin{scope}[shift={(c4)}, scale=0.5,vvertex]
%			\node[left] {$\rootInversionSet(R_4)$};
			\begin{scope}[scale=0.8]
				\rs[1][ultra thick]{3}{1,2,3}[90][->]
			\end{scope}
		\end{scope}
		\begin{scope}[shift={(c3)}, scale=0.5,vvertex]
%			\node[above] {$\rootInversionSet(R_3)$};
			\begin{scope}[scale=0.8]
				\rs[1][ultra thick]{3}{1,2,6}[90][->]
			\end{scope}
		\end{scope}
		\begin{scope}[shift={(c5)}, scale=0.5,vvertex]
%			\node[left] {$\rootInversionSet(R_5)$};
			\begin{scope}[scale=0.8]
				\rs[1][ultra thick]{3}{2,3,4}[90][->]
			\end{scope}
		\end{scope}
		\begin{scope}[shift={(c2)}, scale=0.5,vvertex]
%			\node[right] {$\rootInversionSet(R_2)$};
			\begin{scope}[scale=0.8]
				\rs[1][ultra thick]{3}{1,5,6}[90][->]
			\end{scope}
		\end{scope}
		\begin{scope}[shift={(c0)}, scale=0.5,vvertex]
%           \node[below] {$\rootInversionSet({B})$};
			\begin{scope}[scale=0.8]
				\rs[1][ultra thick]{3}{3,4,5}[90][->]
			\end{scope}
		\end{scope}
		\begin{scope}[shift={(c1)}, scale=0.5,vvertex]
%			\node[right] {$\rootInversionSet(R_1)$};
			\begin{scope}[scale=0.8]
				\rs[1][ultra thick]{3}{4,5,6}[90][->]
			\end{scope}
		\end{scope}
		%			
		% Add text for 1-dim
		\begin{scope}[shift={(f4)}, scale=0.5, face]
%			\node[vface,left] {$\rootInversionSet(F_4)$};
			\begin{scope}[scale=0.8]
				\rs[1][ultra thick]{3}{2,3}[90][->]
			\end{scope}
		\end{scope}
		\begin{scope}[shift={(f3)}, scale=0.5,face]
%			\node[vface,above left] {$\rootInversionSet(F_3)$};
			\begin{scope}[scale=0.8]
				\rs[1][ultra thick]{3}{1,2}[90][->]
			\end{scope}
		\end{scope}
		\begin{scope}[shift={(f5)}, scale=0.5,face]
%            \node[vface,below left] {$\rootInversionSet(F_5)$};
			\begin{scope}[scale=0.8]
				\rs[1][ultra thick]{3}{3,4}[90][->]
			\end{scope}
		\end{scope}
		\begin{scope}[shift={(f2)}, scale=0.5,face]
%			\node[vface,above right] {$\rootInversionSet(F_2)$};
			\begin{scope}[scale=0.8]
				\rs[1][ultra thick]{3}{1,6}[90][->]
			\end{scope}
		\end{scope}
		\begin{scope}[shift={(f0)}, scale=0.5,face]
%			\node[vface,below right] {$\rootInversionSet(F_0)$};
			\begin{scope}[scale=0.8]
				\rs[1][ultra thick]{3}{4,5}[90][->]
			\end{scope}
		\end{scope}
		\begin{scope}[shift={(f1)}, scale=0.5,face]
%            \node[vface,right] {$\rootInversionSet(F_1)$};
			\begin{scope}[scale=0.8]
				\rs[1][ultra thick]{3}{5,6}[90][->]
			\end{scope}
		\end{scope}
		%
		% Add text for full-dim
        \begin{scope}[shift={(0,0)}, scale=0.5,vdomain]
%            \node[right,vdomain] at (.5,0) {$\rootInversionSet(\bullet)$};
			\begin{scope}[scale=0.8]
				\rs[1][ultra thick]{3}{}[90][->]
			\end{scope}
		\end{scope}
	\end{tikzpicture}
}