
% 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);
	}
}{}
}
}  
}

    \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) {$3|1|2$};
        \node[chamber, above] at (2) {$3|2|1$};
        \node[chamber, left] at (3) {$2|3|1$};
        \node[chamber, left] at (4) {$2|1|3$};
        \node[chamber, below] at (5) {$1|2|3$};
        \node[chamber, right] at (6) {$1|3|2$};
		%
        \node[face] at (230:2.3) {$12|3$};
        \node[face] at (310:2.3) {$1|23$};
        \node[face] at (0:2.3) {$13|2$};
        \node[face] at (50:2.3) {$3|12$};
        \node[face] at (130:2.3) {$23|1$};
        \node[face] at (180:2.3) {$2|13$};
		%
        \node[poly, right] at (0) {$123$};
        \node[pvertex] at (0) {};
	\end{tikzpicture}