summaryrefslogtreecommitdiff
path: root/graphics/pgf/contrib/circuitikz/tex/pgfcircbipoles.tex
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2023-10-11 03:02:59 +0000
committerNorbert Preining <norbert@preining.info>2023-10-11 03:02:59 +0000
commit366cf31a771ded1f10860be3212058d48020398d (patch)
tree99ee483a9fd05dfd4ec908582abb44028bdffbd1 /graphics/pgf/contrib/circuitikz/tex/pgfcircbipoles.tex
parent48eedda2cb4d2644886b862409b24a1d8e9a136f (diff)
CTAN sync 202310110302
Diffstat (limited to 'graphics/pgf/contrib/circuitikz/tex/pgfcircbipoles.tex')
-rw-r--r--graphics/pgf/contrib/circuitikz/tex/pgfcircbipoles.tex290
1 files changed, 257 insertions, 33 deletions
diff --git a/graphics/pgf/contrib/circuitikz/tex/pgfcircbipoles.tex b/graphics/pgf/contrib/circuitikz/tex/pgfcircbipoles.tex
index 1acb5a8d65..82e841212a 100644
--- a/graphics/pgf/contrib/circuitikz/tex/pgfcircbipoles.tex
+++ b/graphics/pgf/contrib/circuitikz/tex/pgfcircbipoles.tex
@@ -1791,7 +1791,7 @@
\ifx\pgf@temp\pgf@circ@temp%
\pgf@circ@europeaninductor@path{#1}%
\else%
- \pgfextra{ \def\pgf@temp{cute} }%
+ \pgfextra{ \def\pgf@temp{cute} }%
\ifx\pgf@temp\pgf@circ@temp%
\pgf@circ@cuteinductor@path{#1}%
\else%
@@ -1813,7 +1813,7 @@
\ifx\pgf@temp\pgf@circ@temp%
\pgf@circ@veuropeaninductor@path{#1}%
\else%
- \pgfextra{ \def\pgf@temp{cute} }%
+ \pgfextra{ \def\pgf@temp{cute} }%
\ifx\pgf@temp\pgf@circ@temp%
\pgf@circ@vcuteinductor@path{#1}%
\else%
@@ -1835,7 +1835,7 @@
\ifx\pgf@temp\pgf@circ@temp%
\pgf@circ@europeaninductivesens@path{#1}%
\else%
- \pgfextra{ \def\pgf@temp{cute} }%
+ \pgfextra{ \def\pgf@temp{cute} }%
\ifx\pgf@temp\pgf@circ@temp%
\pgf@circ@cuteinductivesens@path{#1}%
\else%
@@ -1884,6 +1884,7 @@
\ctikzset{bipoles/vsourceam/height/.initial=.60}
\ctikzset{bipoles/vsourceam/width/.initial=.60}
\ctikzset{bipoles/vsourceam/margin/.initial=.7}
+\ctikzset{bipoles/isourcesin/angle/.initial=90}
\ctikzset{bipoles/isourcesin/height/.initial=.60}
\ctikzset{bipoles/isourcesin/width/.initial=.60}
\ctikzset{bipoles/vsourcesin/height/.initial=.60}
@@ -1914,7 +1915,7 @@
% noise sources
\ctikzset{bipoles/noise sources/fillcolor/.initial=gray!50}
-% for special symbols in the sources: sin, square, triangle, delta, wye, zig, etc.
+% for special symbols in the sources: sin, square, triangle, delta, wye, eyw, zig, etc.
\ctikzset{sources/symbol/thickness/.initial={1}}
\ctikzset{csources/symbol/thickness/.initial={1}}
\ctikzset{sources/symbol/rotate/.initial={90}}
@@ -1936,28 +1937,34 @@
% % % primary windings
\newif\ifpgf@circ@prim@delta
\newif\ifpgf@circ@prim@wye
+\newif\ifpgf@circ@prim@eyw
\newif\ifpgf@circ@prim@zig
\pgfkeys{tikz/prim/.is choice}
\pgfkeys{tikz/prim/delta/.add code={}{\pgf@circ@prim@deltatrue}}
\pgfkeys{tikz/prim/wye/.add code={}{\pgf@circ@prim@wyetrue}}
+\pgfkeys{tikz/prim/eyw/.add code={}{\pgf@circ@prim@eywtrue}}
\pgfkeys{tikz/prim/zig/.add code={}{\pgf@circ@prim@zigtrue}}
% % % secondary windings
\newif\ifpgf@circ@sec@delta
\newif\ifpgf@circ@sec@wye
+\newif\ifpgf@circ@sec@eyw
\newif\ifpgf@circ@sec@zig
\pgfkeys{tikz/sec/.is choice}
\pgfkeys{tikz/sec/delta/.add code={}{\pgf@circ@sec@deltatrue}}
\pgfkeys{tikz/sec/wye/.add code={}{\pgf@circ@sec@wyetrue}}
+\pgfkeys{tikz/sec/eyw/.add code={}{\pgf@circ@sec@eywtrue}}
\pgfkeys{tikz/sec/zig/.add code={}{\pgf@circ@sec@zigtrue}}
% % % tertiary windings (ooosource)
\newif\ifpgf@circ@tert@delta
\newif\ifpgf@circ@tert@wye
+\newif\ifpgf@circ@tert@eyw
\newif\ifpgf@circ@tert@zig
\pgfkeys{tikz/tert/.is choice}
\pgfkeys{tikz/tert/delta/.add code={}{\pgf@circ@tert@deltatrue}}
\pgfkeys{tikz/tert/wye/.add code={}{\pgf@circ@tert@wyetrue}}
+\pgfkeys{tikz/tert/eyw/.add code={}{\pgf@circ@tert@eywtrue}}
\pgfkeys{tikz/tert/zig/.add code={}{\pgf@circ@tert@zigtrue}}%
% nullator and norator
@@ -2078,11 +2085,38 @@
\pgfusepath{draw}
}
+%%%
+%%% https://xkcd.com/2818/
+%%% Also https://chat.stackexchange.com/transcript/message/64238058#64238058
+%%%
+\pgfcircdeclarebipolescaled{batteries}
+{}
+{\ctikzvalof{bipoles/battery/height}}
+{baertty}
+{\ctikzvalof{bipoles/battery/height}}
+{\ctikzvalof{bipoles/battery/width}}
+{
+ \pgf@circ@res@step = \ctikzvalof{bipoles/battery/width}\pgf@circ@scaled@Rlen
+ \divide \pgf@circ@res@step by 6
+ \pgf@circ@setlinewidth{bipoles}{\pgfstartlinewidth}
+ \pgfpathmoveto{\pgfpoint{\pgf@circ@res@left}{.5\pgf@circ@res@up}}
+ \pgfpathlineto{\pgfpoint{\pgf@circ@res@left}{.5\pgf@circ@res@down}}
+ \pgfpathmoveto{\pgfpoint{-\pgf@circ@res@step}{.5\pgf@circ@res@up}}
+ \pgfpathlineto{\pgfpoint{-\pgf@circ@res@step}{.5\pgf@circ@res@down}}
+ \pgfpathmoveto{\pgfpoint{\pgf@circ@res@step}{\pgf@circ@res@up}}
+ \pgfpathlineto{\pgfpoint{\pgf@circ@res@step}{\pgf@circ@res@down}}
+ \pgfpathmoveto{\pgfpoint{\pgf@circ@res@right}{\pgf@circ@res@up}}
+ \pgfpathlineto{\pgfpoint{\pgf@circ@res@right}{\pgf@circ@res@down}}
+ \pgfusepath{draw}
+}
+\pgfcirc@activate@bipole@simple@opt{v}{baertty}{\circuitikzbasekey/bipole/is voltage=true,
+ \circuitikzbasekey/bipole/is voltageoutsideofsymbol=true}
+
%%%%%%%%%%%
%% Round and diamond sources
%%%%%%%%%%%
-% % % symbol drawing macros (NOT for delta, wye, zig)
+% % % symbol drawing macros (NOT for delta, wye, eyw, zig)
\def\pgf@circ@sources@symbol@setup{% called in a pgfscope
\edef\@@@auto{auto}\edef\@@@rotate{\ctikzvalof{\ctikzclass/symbol/rotate}}
\ifx\@@@auto\@@@rotate
@@ -2397,6 +2431,7 @@
% % % winding symbols
\ctikzset{sources/symbol/delta scale/.initial={1}}
\ctikzset{sources/symbol/wye scale/.initial={1}}
+\ctikzset{sources/symbol/eyw scale/.initial={1}}
\ctikzset{sources/symbol/zig scale/.initial={1}}
% triangle
\def\pgf@circ@delta#1{
@@ -2436,6 +2471,24 @@
\endpgfscope
}
+% reverse star
+\def\pgf@circ@eyw#1{
+ \pgfscope
+ \pgftransformscale{-.015*\ctikzvalof{\ctikzclass/symbol/eyw scale}*\pgf@circ@res@left*#1}
+ \def\pgfcircmathresult{\expandafter\pgf@circ@stripdecimals\pgf@circ@direction\pgf@nil}
+ \pgftransformrotate{-\pgfcircmathresult}
+
+ \pgf@circ@setlinewidth{bipoles}{\pgfstartlinewidth}
+ \pgf@circ@set@relative@thickness{symbol/thickness}
+ \pgfpathmoveto{\pgfpoint{0}{\pgf@circ@res@up}}
+ \pgfpathlineto{\pgfpointorigin}
+ \pgfpathlineto{\pgfpointpolar{30}{\pgf@circ@res@down}}
+ \pgfpathmoveto{\pgfpointorigin}
+ \pgfpathlineto{\pgfpointpolar{150}{\pgf@circ@res@down}}
+ \pgfusepath{stroke}
+ \endpgfscope
+}
+
% zigzag
\def\pgf@circ@zig#1{
\pgfscope
@@ -2514,13 +2567,19 @@
\pgftransformxshift{\ctikzvalof{bipoles/oosourcetrans/circlesize}\pgf@circ@res@left}
\pgf@circ@wye{\ctikzvalof{bipoles/oosourcetrans/vectorgroupscale}}
\endpgfscope
+
+ \else\ifpgf@circ@prim@eyw
+ \pgfscope
+ \pgftransformxshift{\ctikzvalof{bipoles/oosourcetrans/circlesize}\pgf@circ@res@left}
+ \pgf@circ@eyw{\ctikzvalof{bipoles/oosourcetrans/vectorgroupscale}}
+ \endpgfscope
\else\ifpgf@circ@prim@zig
\pgfscope
\pgftransformxshift{\ctikzvalof{bipoles/oosourcetrans/circlesize}\pgf@circ@res@left}
\pgf@circ@zig{\ctikzvalof{bipoles/oosourcetrans/vectorgroupscale}}
\endpgfscope
- \fi\fi\fi
+ \fi\fi\fi\fi
%%secondary winding
\ifpgf@circ@sec@delta
@@ -2534,13 +2593,19 @@
\pgftransformxshift{\ctikzvalof{bipoles/oosourcetrans/circlesize}\pgf@circ@res@right}
\pgf@circ@wye{\ctikzvalof{bipoles/oosourcetrans/vectorgroupscale}}
\endpgfscope
+
+ \else\ifpgf@circ@sec@eyw
+ \pgfscope
+ \pgftransformxshift{\ctikzvalof{bipoles/oosourcetrans/circlesize}\pgf@circ@res@right}
+ \pgf@circ@eyw{\ctikzvalof{bipoles/oosourcetrans/vectorgroupscale}}
+ \endpgfscope
\else\ifpgf@circ@sec@zig
\pgfscope
\pgftransformxshift{\ctikzvalof{bipoles/oosourcetrans/circlesize}\pgf@circ@res@right}
\pgf@circ@zig{\ctikzvalof{bipoles/oosourcetrans/vectorgroupscale}}
\endpgfscope
- \fi\fi\fi
+ \fi\fi\fi\fi
}
@@ -2716,13 +2781,19 @@
\pgftransformxshift{.6\pgf@circ@res@left}
\pgf@circ@wye{\ctikzvalof{bipoles/ooosource/vectorgroupscale}}
\endpgfscope
+
+ \else\ifpgf@circ@prim@eyw
+ \pgfscope
+ \pgftransformxshift{.6\pgf@circ@res@left}
+ \pgf@circ@eyw{\ctikzvalof{bipoles/ooosource/vectorgroupscale}}
+ \endpgfscope
\else\ifpgf@circ@prim@zig
\pgfscope
\pgftransformxshift{.6\pgf@circ@res@left}
\pgf@circ@zig{\ctikzvalof{bipoles/ooosource/vectorgroupscale}}
\endpgfscope
- \fi\fi\fi
+ \fi\fi\fi\fi
% % secondary winding
\ifpgf@circ@sec@delta
@@ -2737,13 +2808,19 @@
\pgftransformshift{\pgfpointpolar{60}{0.6\pgf@circ@res@right}}
\pgf@circ@wye{\ctikzvalof{bipoles/ooosource/vectorgroupscale}}
\endpgfscope
+
+ \else\ifpgf@circ@sec@eyw
+ \pgfscope
+ \pgftransformshift{\pgfpointpolar{60}{0.6\pgf@circ@res@right}}
+ \pgf@circ@eyw{\ctikzvalof{bipoles/ooosource/vectorgroupscale}}
+ \endpgfscope
\else\ifpgf@circ@sec@zig
\pgfscope
\pgftransformshift{\pgfpointpolar{60}{0.6\pgf@circ@res@right}}
\pgf@circ@zig{\ctikzvalof{bipoles/ooosource/vectorgroupscale}}
\endpgfscope
- \fi\fi\fi
+ \fi\fi\fi\fi
% % tertiary winding
\ifpgf@circ@tert@delta
@@ -2757,13 +2834,19 @@
\pgftransformshift{\pgfpointpolar{-60}{0.6\pgf@circ@res@right}}
\pgf@circ@wye{\ctikzvalof{bipoles/ooosource/vectorgroupscale}}
\endpgfscope
+
+ \else\ifpgf@circ@tert@eyw
+ \pgfscope
+ \pgftransformshift{\pgfpointpolar{-60}{0.6\pgf@circ@res@right}}
+ \pgf@circ@eyw{\ctikzvalof{bipoles/ooosource/vectorgroupscale}}
+ \endpgfscope
\else\ifpgf@circ@tert@zig
\pgfscope
\pgftransformshift{\pgfpointpolar{-60}{0.6\pgf@circ@res@right}}
\pgf@circ@zig{\ctikzvalof{bipoles/ooosource/vectorgroupscale}}
\endpgfscope
- \fi\fi\fi
+ \fi\fi\fi\fi
}
%% Independent current source - American
@@ -2788,7 +2871,7 @@
\endpgfscope
}
-%% Independent sinusoidal current source
+%% Independent sinusoidal current source with open shape
\pgfcircdeclarebipolescaled{sources}
{}
{\ctikzvalof{bipoles/isource/height}}
@@ -2798,8 +2881,16 @@
{
\pgfpointorigin
\pgf@circ@setlinewidth{bipoles}{\pgfstartlinewidth}
- \pgfpathellipse{\pgfpointorigin}{\pgfpoint{0}{\pgf@circ@res@up}}{\pgfpoint{\pgf@circ@res@left}{0}}
- \pgf@circ@draworfill
+ \pgfscope
+ \pgfpathellipse{\pgfpointorigin}{\pgfpoint{0}{\pgf@circ@res@up}}{\pgfpoint{\pgf@circ@res@left}{0}}
+ \pgf@circ@maybefill
+ \endpgfscope
+ \edef\@@angle{\ctikzvalof{bipoles/isourcesin/angle}}
+ \pgfpathmoveto{\pgfpointpolar{\@@angle}{\pgf@circ@res@up}}
+ \pgfpatharc{\@@angle}{-\@@angle}{\pgf@circ@res@up}
+ \pgfpathmoveto{\pgfpointpolar{180-\@@angle}{\pgf@circ@res@up}}
+ \pgfpatharc{180-\@@angle}{180+\@@angle}{\pgf@circ@res@up}
+ \pgfusepath{draw}
\pgf@circ@res@up = .5\pgf@circ@res@up
\pgfscope
@@ -4635,6 +4726,17 @@
\ctikzset{tripoles/toggleswitch/height/.initial=.8}
\ctikzset{tripoles/toggleswitch/height 2/.initial=.0}
\ctikzset{tripoles/toggleswitch/width/.initial=.80}
+%% arrow configurability
+\ctikzset{switch arrows/.is family}
+\ctikzset{switch arrows/relative thickness/.initial=1}
+\ctikzset{switch arrows/color/.initial=default}
+\ctikzset{switch arrows/dash/.initial=default}
+\def\pgf@circ@set@switcharrow@style{%
+ % You *must* be sure that this is called inside a \pgfscope!
+ \pgfsetlinewidth{\ctikzvalof{switch arrows/relative thickness}\pgflinewidth}
+ \pgf@circ@subset@color@dash{switch arrows}
+ \pgfcirc@set@arrows{switch}{}{latexslim}
+ }
%%>>>
%% Shapes Node for bipoles switches and similar things%<<<
@@ -4650,12 +4752,11 @@
\pgfpathmoveto{\pgfpoint{\pgf@circ@res@left}{0pt}}
\pgfpathlineto{\pgfpoint{.6\pgf@circ@res@right}{\pgf@circ@res@up}}
\pgfusepath{draw}
-
\pgfscope
\pgftransformshift{\pgfpoint{\pgf@circ@res@left}{0pt}}
\pgfpathmoveto{\pgfpointpolar{90}{1.2\pgf@circ@res@right}}
\pgfpatharc{90}{-20}{1.2\pgf@circ@res@right}
- \pgfcirc@set@arrows{switch}{}{latexslim}
+ \pgf@circ@set@switcharrow@style
\pgfsetbeveljoin
\pgfusepath{draw}
\endpgfscope
@@ -4669,17 +4770,15 @@
{\ctikzvalof{bipoles/spst/height}}
{\ctikzvalof{bipoles/spst/width}}
{
-
\pgf@circ@setlinewidth{bipoles}{\pgfstartlinewidth}
\pgfpathmoveto{\pgfpoint{\pgf@circ@res@left}{0pt}}
\pgfpathlineto{\pgfpoint{.6\pgf@circ@res@right}{\pgf@circ@res@up}}
\pgfusepath{draw}
-
\pgfscope
\pgftransformshift{\pgfpoint{\pgf@circ@res@left}{0pt}}
\pgfpathmoveto{\pgfpointpolar{-10}{1.2\pgf@circ@res@right}}
\pgfpatharc{-10}{90}{1.2\pgf@circ@res@right}
- \pgfcirc@set@arrows{switch}{}{latexslim}
+ \pgf@circ@set@switcharrow@style
\pgfsetbeveljoin
\pgfusepath{draw}
\endpgfscope
@@ -4693,7 +4792,6 @@
{\ctikzvalof{bipoles/nos/height}}
{\ctikzvalof{bipoles/nos/width}}
{
-
\pgf@circ@setlinewidth{bipoles}{\pgfstartlinewidth}
\pgfpathmoveto{\pgfpoint{\pgf@circ@res@left}{0pt}}
\pgfpathlineto{\pgfpoint{.9\pgf@circ@res@right}{\pgf@circ@res@up}}
@@ -4720,6 +4818,118 @@
\pgfusepath{draw}
}
+% Opening normal closed Switch
+\pgfcircdeclarebipolescaled{switches}
+{}
+{\ctikzvalof{bipoles/ncs/depth}}
+{oncs}
+{\ctikzvalof{bipoles/ncs/height}}
+{\ctikzvalof{bipoles/ncs/width}}
+{
+ \pgf@circ@setlinewidth{bipoles}{\pgfstartlinewidth}
+ \pgfpathmoveto{\pgfpoint{\pgf@circ@res@left}{0pt}}
+ \pgfpathlineto{\pgfpoint{.9\pgf@circ@res@right}{\pgf@circ@res@up}}
+ \pgfusepath{draw}
+ \pgfsetlinewidth{\pgfstartlinewidth}
+ \pgfpathmoveto{\pgfpoint{\pgf@circ@res@right}{0pt}}
+ \pgfpathlineto{\pgfpoint{.2\pgf@circ@res@right}{0pt}}
+ \pgfpathlineto{\pgfpoint{.2\pgf@circ@res@right}{\pgf@circ@res@up}}
+ \pgfusepath{draw}
+ \pgfscope
+ \pgf@circ@setlinewidth{bipoles}{\pgfstartlinewidth}
+ \pgftransformshift{\pgfpoint{\pgf@circ@res@left}{0pt}}
+ \pgfpathmoveto{\pgfpointpolar{-10}{.9\pgf@circ@res@right}}
+ \pgfpatharc{-10}{95}{.9\pgf@circ@res@right}
+ \pgf@circ@set@switcharrow@style
+ \pgfsetbeveljoin
+ \pgfusepath{draw}
+ \endpgfscope
+}
+
+%% Closing normal closed Switch
+\pgfcircdeclarebipolescaled{switches}
+{}
+{\ctikzvalof{bipoles/ncs/depth}}
+{cncs}
+{\ctikzvalof{bipoles/ncs/height}}
+{\ctikzvalof{bipoles/ncs/width}}
+{
+ \pgf@circ@setlinewidth{bipoles}{\pgfstartlinewidth}
+ \pgfpathmoveto{\pgfpoint{\pgf@circ@res@left}{0pt}}
+ \pgfpathlineto{\pgfpoint{.9\pgf@circ@res@right}{\pgf@circ@res@up}}
+ \pgfusepath{draw}
+ \pgfsetlinewidth{\pgfstartlinewidth}
+ \pgfpathmoveto{\pgfpoint{\pgf@circ@res@right}{0pt}}
+ \pgfpathlineto{\pgfpoint{.2\pgf@circ@res@right}{0pt}}
+ \pgfpathlineto{\pgfpoint{.2\pgf@circ@res@right}{\pgf@circ@res@up}}
+ \pgfusepath{draw}
+ \pgfscope
+ \pgf@circ@setlinewidth{bipoles}{\pgfstartlinewidth}
+ \pgftransformshift{\pgfpoint{\pgf@circ@res@left}{0pt}}
+ \pgfpathmoveto{\pgfpointpolar{90}{.9\pgf@circ@res@right}}
+ \pgfpatharc{90}{-35}{.9\pgf@circ@res@right}
+ \pgf@circ@set@switcharrow@style
+ \pgfsetbeveljoin
+ \pgfusepath{draw}
+ \endpgfscope
+}
+
+%% Opening normal open Switch
+\pgfcircdeclarebipolescaled{switches}
+{}
+{\ctikzvalof{bipoles/ncs/depth}}
+{onos}
+{\ctikzvalof{bipoles/ncs/height}}
+{\ctikzvalof{bipoles/ncs/width}}
+{
+ \pgf@circ@setlinewidth{bipoles}{\pgfstartlinewidth}
+ \pgfpathmoveto{\pgfpoint{\pgf@circ@res@left}{0pt}}
+ \pgfpathlineto{\pgfpoint{.9\pgf@circ@res@right}{\pgf@circ@res@up}}
+ \pgfusepath{draw}
+ \pgfsetlinewidth{\pgfstartlinewidth}
+ \pgfpathmoveto{\pgfpoint{\pgf@circ@res@right}{0pt}}
+ \pgfpathlineto{\pgfpoint{.2\pgf@circ@res@right}{0pt}}
+ \pgfpathlineto{\pgfpoint{.2\pgf@circ@res@right}{.4\pgf@circ@res@up}}
+ \pgfusepath{draw}
+ \pgfscope
+ \pgf@circ@setlinewidth{bipoles}{\pgfstartlinewidth}
+ \pgftransformshift{\pgfpoint{\pgf@circ@res@left}{0pt}}
+ \pgfpathmoveto{\pgfpointpolar{-10}{.9\pgf@circ@res@right}}
+ \pgfpatharc{-10}{95}{.9\pgf@circ@res@right}
+ \pgf@circ@set@switcharrow@style
+ \pgfsetbeveljoin
+ \pgfusepath{draw}
+ \endpgfscope
+}
+
+%% Closing normal open Switch
+\pgfcircdeclarebipolescaled{switches}
+{}
+{\ctikzvalof{bipoles/ncs/depth}}
+{cnos}
+{\ctikzvalof{bipoles/ncs/height}}
+{\ctikzvalof{bipoles/ncs/width}}
+{
+ \pgf@circ@setlinewidth{bipoles}{\pgfstartlinewidth}
+ \pgfpathmoveto{\pgfpoint{\pgf@circ@res@left}{0pt}}
+ \pgfpathlineto{\pgfpoint{.9\pgf@circ@res@right}{\pgf@circ@res@up}}
+ \pgfusepath{draw}
+ \pgfsetlinewidth{\pgfstartlinewidth}
+ \pgfpathmoveto{\pgfpoint{\pgf@circ@res@right}{0pt}}
+ \pgfpathlineto{\pgfpoint{.2\pgf@circ@res@right}{0pt}}
+ \pgfpathlineto{\pgfpoint{.2\pgf@circ@res@right}{.4\pgf@circ@res@up}}
+ \pgfusepath{draw}
+ \pgfscope
+ \pgf@circ@setlinewidth{bipoles}{\pgfstartlinewidth}
+ \pgftransformshift{\pgfpoint{\pgf@circ@res@left}{0pt}}
+ \pgfpathmoveto{\pgfpointpolar{90}{.9\pgf@circ@res@right}}
+ \pgfpatharc{90}{-35}{.9\pgf@circ@res@right}
+ \pgf@circ@set@switcharrow@style
+ \pgfsetbeveljoin
+ \pgfusepath{draw}
+ \endpgfscope
+}
+
%% Push Button
\pgfcircdeclarebipolescaled{switches}
{
@@ -4938,7 +5148,7 @@
\pgftransformshift{\pgfpoint{\pgf@circ@res@left}{0pt}} % in node
\pgfpathmoveto{\pgfpointpolar{70}{1.2\pgf@circ@res@right}}
\pgfpatharc{70}{-10}{1.2\pgf@circ@res@right}
- \pgfcirc@set@arrows{switch}{}{latexslim}
+ \pgf@circ@set@switcharrow@style
\pgfusepath{draw}
}
@@ -4950,19 +5160,19 @@
\pgftransformshift{\pgfpoint{\pgf@circ@res@left}{0pt}} % in node
\pgfpathmoveto{\pgfpointpolar{-10}{1.2\pgf@circ@res@right}}
\pgfpatharc{-10}{60}{1.2\pgf@circ@res@right}
- \pgfcirc@set@arrows{switch}{}{latexslim}
+ \pgf@circ@set@switcharrow@style
\pgfusepath{draw}
}
\pgfcircdeclarebipole{
- \anchor{out 1}{
- \northeast
- \pgf@y=0cm
- }
- \anchor{out 2}{
- \northeast
- \pgf@y=.8\pgf@y
- }
+ \anchor{out 1}{
+ \northeast
+ \pgf@y=0cm
+ }
+ \anchor{out 2}{
+ \northeast
+ \pgf@y=.8\pgf@y
+ }
}
{\ctikzvalof{tripoles/toggleswitch/height 2}}
{toggleswitch}
@@ -5235,10 +5445,12 @@
{\pgfpoint{\pgf@circ@res@right}{\pgf@circ@res@up-1.5\pgf@circ@res@temp}}
{
\pgf@circ@setlinewidth{bipoles}{\pgflinewidth}
+ \pgfsetlinewidth{\ctikzvalof{switch arrows/relative thickness}\pgflinewidth}
+ \pgf@circ@subset@color@dash{switch arrows}
+ \pgfcirc@set@arrows{switch}{}{latexslim}
\pgftransformshift{\pgfpoint{\pgf@circ@res@left}{0pt}} % in node
\pgfpathmoveto{\pgfpointpolar{70}{1.5\pgf@circ@res@right}}
\pgfpatharc{70}{-50}{1.5\pgf@circ@res@right}
- \pgfcirc@set@arrows{switch}{}{latexslim}
\pgfusepath{draw}
}
@@ -5246,8 +5458,10 @@
{\pgfpoint{\pgf@circ@res@right}{0pt}}
{
\pgf@circ@setlinewidth{bipoles}{\pgflinewidth}
- \pgftransformshift{\pgfpoint{\pgf@circ@res@left}{0pt}} % in node
+ \pgfsetlinewidth{\ctikzvalof{switch arrows/relative thickness}\pgflinewidth}
+ \pgf@circ@subset@color@dash{switch arrows}
\pgfcirc@set@arrows{switch}{latexslim}{latexslim}
+ \pgftransformshift{\pgfpoint{\pgf@circ@res@left}{0pt}} % in node
\pgfpathmoveto{\pgfpointpolar{-60}{1.5\pgf@circ@res@right}}
\pgfpatharc{-60}{60}{1.5\pgf@circ@res@right}
\pgfusepath{draw}
@@ -5257,10 +5471,12 @@
{\pgfpoint{\pgf@circ@res@right}{\pgf@circ@res@down+1.5\pgf@circ@res@temp}}
{
\pgf@circ@setlinewidth{bipoles}{\pgflinewidth}
+ \pgfsetlinewidth{\ctikzvalof{switch arrows/relative thickness}\pgflinewidth}
+ \pgf@circ@subset@color@dash{switch arrows}
+ \pgfcirc@set@arrows{switch}{}{latexslim}
\pgftransformshift{\pgfpoint{\pgf@circ@res@left}{0pt}} % in node
\pgfpathmoveto{\pgfpointpolar{-50}{1.5\pgf@circ@res@right}}
\pgfpatharc{-50}{70}{1.5\pgf@circ@res@right}
- \pgfcirc@set@arrows{switch}{}{latexslim}
\pgfusepath{draw}
}
% %>>>
@@ -5278,6 +5494,14 @@
\pgfcirc@style@to@style{nos}{normal open switch}
\pgfcirc@activate@bipole@simple{l}{ncs}
\pgfcirc@style@to@style{ncs}{normal closed switch}
+\pgfcirc@activate@bipole@simple{l}{oncs}
+\pgfcirc@style@to@style{oncs}{opening normal closed switch}
+\pgfcirc@activate@bipole@simple{l}{cncs}
+\pgfcirc@style@to@style{cncs}{closing normal closed switch}
+\pgfcirc@activate@bipole@simple{l}{onos}
+\pgfcirc@style@to@style{onos}{opening normal open switch}
+\pgfcirc@activate@bipole@simple{l}{cnos}
+\pgfcirc@style@to@style{cnos}{closing normal open switch}
\pgfcirc@activate@bipole{l}{pushbutton}{pushbutton}{push button}
\pgfcirc@style@to@style{push button}{nopb}
@@ -6810,7 +7034,7 @@
{\ctikzvalof{bipoles/american gas filled surge arrester/width}}{
\pgfpathmoveto{\pgfpoint{\pgf@circ@res@left}{\pgf@circ@res@zero}}
- \pgfpointorigin \pgf@circ@res@other = \pgf@x \advance \pgf@circ@res@other by -\pgf@circ@res@up
+ \pgfpointorigin \pgf@circ@res@other = \pgf@x \advance \pgf@circ@res@other by -\pgf@circ@res@up
\pgfpathlineto{\pgfpoint{\pgf@circ@res@other}{\pgf@circ@res@zero}}
\pgfusepath{draw}