summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/circuitikz/pgfcircmonopoles.sty
blob: 80de0b7be64208f4721f891a37a405d0d3527899 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
% Copyright 2007-2009 by Massimo Redaelli
%
% This file may be distributed and/or modified
%
% 1. under the LaTeX Project Public License and/or
% 2. under the GNU Public License.
%
% See the file doc/LICENSE for more details.

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Monopoles

%% Ground symbol

\pgfdeclareshape{ground}{
	\anchor{center}{
		\pgfpointorigin
	}
	\behindforegroundpath{		
		\pgf@circ@res@step=\ctikzvalof{monopoles/ground/width}\pgf@circ@Rlen
		
		\pgfscope		
			\pgfpathmoveto{\pgfpointorigin}
			\pgfpathlineto{\pgfpoint{0pt}{-\pgf@circ@res@step}}
			\pgfusepath{draw}

			\pgfstartlinewidth=\pgflinewidth
			%\pgfsetlinewidth{\pgfkeysvalueof{/tikz/circuitikz/bipoles/thickness}\pgfstartlinewidth}

			\pgfpathmoveto{\pgfpoint{-\pgf@circ@res@step}{-\pgf@circ@res@step}}
			\pgfpathlineto{\pgfpoint{\pgf@circ@res@step}{-\pgf@circ@res@step}}
			\pgfusepath{draw}
						
			\pgfsetlinewidth{\pgfstartlinewidth}
			\pgfpathmoveto{\pgfpoint{-.8\pgf@circ@res@step}{-1.2\pgf@circ@res@step}}
			\pgfpathlineto{\pgfpoint{.8\pgf@circ@res@step}{-1.2\pgf@circ@res@step}}
			\pgfpathmoveto{\pgfpoint{-.6\pgf@circ@res@step}{-1.4\pgf@circ@res@step}}
			\pgfpathlineto{\pgfpoint{.6\pgf@circ@res@step}{-1.4\pgf@circ@res@step}}
			\pgfpathmoveto{\pgfpoint{-.4\pgf@circ@res@step}{-1.6\pgf@circ@res@step}}
			\pgfpathlineto{\pgfpoint{.4\pgf@circ@res@step}{-1.6\pgf@circ@res@step}}
			\pgfsetcolor{\pgfkeysvalueof{/tikz/circuitikz/color}}
			\pgfusepath{draw}
		
			
			\pgfsetlinewidth{\pgfstartlinewidth}
	
		\endpgfscope
	}

}



\pgfdeclareshape{rground}{
	\anchor{center}{
		\pgfpointorigin
	}
	\behindforegroundpath{		
		\pgf@circ@res@step=\ctikzvalof{monopoles/ground/width}\pgf@circ@Rlen
		
		\pgfscope		
			\pgfpathmoveto{\pgfpointorigin}
			\pgfpathlineto{\pgfpoint{0pt}{-\pgf@circ@res@step}}
			\pgfusepath{draw}

			\pgfstartlinewidth=\pgflinewidth
			\pgfsetlinewidth{\pgfkeysvalueof{/tikz/circuitikz/bipoles/thickness}\pgfstartlinewidth}

			\pgfpathmoveto{\pgfpoint{-\pgf@circ@res@step}{-\pgf@circ@res@step}}
			\pgfpathlineto{\pgfpoint{\pgf@circ@res@step}{-\pgf@circ@res@step}}
			\pgfusepath{draw}
						
						
			\pgfsetlinewidth{\pgfstartlinewidth}
	
		\endpgfscope
	}

}

\pgfdeclareshape{sground}{
	\anchor{center}{
		\pgfpointorigin
	}
	\behindforegroundpath{		
		\pgf@circ@res@step=\ctikzvalof{monopoles/ground/width}\pgf@circ@Rlen
		
		\pgfscope		
			\pgfpathmoveto{\pgfpointorigin}
			\pgfpathlineto{\pgfpoint{0pt}{-\pgf@circ@res@step}}
			\pgfusepath{draw}

			\pgfstartlinewidth=\pgflinewidth
			\pgfsetlinewidth{\pgfkeysvalueof{/tikz/circuitikz/bipoles/thickness}\pgfstartlinewidth}

			\pgfpathmoveto{\pgfpoint{-\pgf@circ@res@step}{-\pgf@circ@res@step}}
			\pgfpathlineto{\pgfpoint{\pgf@circ@res@step}{-\pgf@circ@res@step}}
			\pgfpathlineto{\pgfpoint{0}{-1.8\pgf@circ@res@step}}
			\pgfpathclose
			\pgfusepath{draw}
						
						
			\pgfsetlinewidth{\pgfstartlinewidth}
	
		\endpgfscope
	}

}

% noiseless ground
\pgfdeclareshape{nground}{
	\anchor{center}{
		\pgfpointorigin
	}
	\behindforegroundpath{		
		\pgf@circ@res@step=\ctikzvalof{monopoles/ground/width}\pgf@circ@Rlen
		
		\pgfscope		
			\pgfpathmoveto{\pgfpointorigin}
			\pgfpathlineto{\pgfpoint{0pt}{-\pgf@circ@res@step}}
			\pgfusepath{draw}

			\pgfstartlinewidth=\pgflinewidth
			%\pgfsetlinewidth{\pgfkeysvalueof{/tikz/circuitikz/bipoles/thickness}\pgfstartlinewidth}

			\pgfpathmoveto{\pgfpoint{-\pgf@circ@res@step}{-\pgf@circ@res@step}}
			\pgfpathlineto{\pgfpoint{\pgf@circ@res@step}{-\pgf@circ@res@step}}
			\pgfusepath{draw}
						
			\pgfsetlinewidth{\pgfstartlinewidth}
			\pgfpathmoveto{\pgfpoint{-.8\pgf@circ@res@step}{-1.2\pgf@circ@res@step}}
			\pgfpathlineto{\pgfpoint{.8\pgf@circ@res@step}{-1.2\pgf@circ@res@step}}
			\pgfpathmoveto{\pgfpoint{-.6\pgf@circ@res@step}{-1.4\pgf@circ@res@step}}
			\pgfpathlineto{\pgfpoint{.6\pgf@circ@res@step}{-1.4\pgf@circ@res@step}}
			\pgfpathmoveto{\pgfpoint{-.4\pgf@circ@res@step}{-1.6\pgf@circ@res@step}}
			\pgfpathlineto{\pgfpoint{.4\pgf@circ@res@step}{-1.6\pgf@circ@res@step}}
			\pgfusepath{draw}
			
			\pgfpathmoveto{\pgfpoint{1.3\pgf@circ@res@step}{-1.6\pgf@circ@res@step}}
			\pgfpatharc{0}{180}{1.3\pgf@circ@res@step}
			\pgfusepath{draw}
					
			\pgfsetlinewidth{\pgfstartlinewidth}
		\endpgfscope
	}
}

% protective ground
\pgfdeclareshape{pground}{
	\anchor{center}{
		\pgfpointorigin
	}
	\behindforegroundpath{		
		\pgf@circ@res@step=\ctikzvalof{monopoles/ground/width}\pgf@circ@Rlen
		
		\pgfscope		
			\pgfpathmoveto{\pgfpointorigin}
			\pgfpathlineto{\pgfpoint{0pt}{-\pgf@circ@res@step}}
			\pgfusepath{draw}

			\pgfstartlinewidth=\pgflinewidth
			%\pgfsetlinewidth{\pgfkeysvalueof{/tikz/circuitikz/bipoles/thickness}\pgfstartlinewidth}

			\pgfpathmoveto{\pgfpoint{-\pgf@circ@res@step}{-\pgf@circ@res@step}}
			\pgfpathlineto{\pgfpoint{\pgf@circ@res@step}{-\pgf@circ@res@step}}
			\pgfpathcircle{\pgfpoint{0pt}{-\pgf@circ@res@step}} {1.2\pgf@circ@res@step}
			\pgfusepath{draw}
						
			\pgfsetlinewidth{\pgfstartlinewidth}
			\pgfpathmoveto{\pgfpoint{-.8\pgf@circ@res@step}{-1.2\pgf@circ@res@step}}
			\pgfpathlineto{\pgfpoint{.8\pgf@circ@res@step}{-1.2\pgf@circ@res@step}}
			\pgfpathmoveto{\pgfpoint{-.6\pgf@circ@res@step}{-1.4\pgf@circ@res@step}}
			\pgfpathlineto{\pgfpoint{.6\pgf@circ@res@step}{-1.4\pgf@circ@res@step}}
			\pgfpathmoveto{\pgfpoint{-.4\pgf@circ@res@step}{-1.6\pgf@circ@res@step}}
			\pgfpathlineto{\pgfpoint{.4\pgf@circ@res@step}{-1.6\pgf@circ@res@step}}
			\pgfusepath{draw}
					
			\pgfsetlinewidth{\pgfstartlinewidth}
		\endpgfscope
	}
}

% chassis ground 
\pgfdeclareshape{cground}{ 
\anchor{center}{ 
    \pgfpointorigin 
} 
\behindforegroundpath{       
    \pgf@circ@res@step=\ctikzvalof{monopoles/chassis/width}\pgf@circ@Rlen 
 
    \pgfscope        
        \pgfpathmoveto{\pgfpointorigin} 
        \pgfpathlineto{\pgfpoint{0pt}{-\pgf@circ@res@step}} 
        \pgfusepath{draw}

        \pgfpathmoveto{\pgfpoint{-1.5\pgf@circ@res@step}{-2\pgf@circ@res@step}}
        \pgfpathlineto{\pgfpoint{-\pgf@circ@res@step}{-\pgf@circ@res@step}}
        \pgfpathlineto{\pgfpoint{\pgf@circ@res@step}{-\pgf@circ@res@step}}
        \pgfpathlineto{\pgfpoint{0.5\pgf@circ@res@step}{-2\pgf@circ@res@step}}
        \pgfpathmoveto{\pgfpoint{0pt}{-\pgf@circ@res@step}}
        \pgfpathlineto{\pgfpoint{-0.5\pgf@circ@res@step}{-2\pgf@circ@res@step}}
        \pgfusepath{draw}                        
    \endpgfscope 
    } 
}

% Contributed by Leonardo Azzinnari
\pgfdeclareshape{tlinestub}{
	\anchor{center}{\pgfpointorigin}
	\behindforegroundpath{
		\pgfstartlinewidth=\pgflinewidth
		
		\pgf@circ@res@step=\ctikzvalof{bipoles/tline/width} \pgf@circ@Rlen
        \pgfpathmoveto{\pgfpoint{0.5\pgf@circ@res@step}{0.25\pgf@circ@res@step}}
        
            \pgfpathmoveto{\pgfpointorigin}
            \pgfpathlineto{\pgfpoint{0.5\pgf@circ@res@step}{0pt}}
            \pgfusepath{draw}
         \pgfscope
            \pgfpathellipse{\pgfpoint{0.5\pgf@circ@res@step}{0\pgf@circ@res@step}}{\pgfpoint{0.125\pgf@circ@res@step}{0\pgf@circ@res@step}}{\pgfpoint{0\pgf@circ@res@step}{0.25\pgf@circ@res@step}}
			\pgfpathmoveto{\pgfpoint{0.5\pgf@circ@res@step}{0.25\pgf@circ@res@step}}
            \pgfpathlineto{\pgfpoint{1.5\pgf@circ@res@step}{0.25\pgf@circ@res@step}}
            \pgfpatharc{90}{-90}{0.125\pgf@circ@res@step and 0.25\pgf@circ@res@step}
            \pgfpathlineto{\pgfpoint{0.5\pgf@circ@res@step}{-0.25\pgf@circ@res@step}}
            \pgfsetlinewidth{\pgfkeysvalueof{/tikz/circuitikz/bipoles/thickness}\pgfstartlinewidth}
            \pgfusepath{draw}
         \endpgfscope
      }
}
                            



\pgfdeclareshape{antenna}{
\anchor{center}{\pgfpointorigin}
	\savedanchor{\northeast}{
		\pgf@circ@res@step=\ctikzvalof{monopoles/antenna/width}\pgf@circ@Rlen
		\pgf@x=5\pgf@circ@res@step%-0.5\pgflinewidth
		\pgf@y=6\pgf@circ@res@step
	}
	\anchor{text}{
		\northeast
		\pgf@x=\ctikzvalof{monopoles/antenna/label/xanchor}\pgf@x
		\pgf@y=\ctikzvalof{monopoles/antenna/label/yanchor}\pgf@y
	}
   \behindforegroundpath{
     \pgfstartlinewidth=\pgflinewidth
     \pgf@circ@res@step=\ctikzvalof{monopoles/antenna/width}\pgf@circ@Rlen
                           
         \pgfpathmoveto{\pgfpointorigin}
         \pgfpathlineto{\pgfpoint{4\pgf@circ@res@step}{0pt}}
         \pgfpathmoveto{\pgfpoint{4\pgf@circ@res@step-0.5\pgflinewidth}{0pt}}
             \pgfpathlineto{\pgfpoint{4\pgf@circ@res@step-0.5\pgflinewidth}{6\pgf@circ@res@step}}
             
         \pgfusepath{draw}
             
          \pgfscope   
          \pgfpathmoveto{\pgfpoint{4\pgf@circ@res@step-0.5\pgflinewidth}{6\pgf@circ@res@step}}
             \pgfpathlineto{\pgfpoint{5\pgf@circ@res@step-0.5\pgflinewidth}{6\pgf@circ@res@step}}
             \pgfpathlineto{\pgfpoint{4\pgf@circ@res@step-0.5\pgflinewidth}{4\pgf@circ@res@step}}
             \pgfpathlineto{\pgfpoint{3\pgf@circ@res@step-0.5\pgflinewidth}{6\pgf@circ@res@step}}
             \pgfpathlineto{\pgfpoint{4\pgf@circ@res@step-0.5\pgflinewidth}{6\pgf@circ@res@step}}
             \pgfsetcolor{\pgfkeysvalueof{/tikz/circuitikz/color}}
             \pgfsetlinewidth{\pgfkeysvalueof{/tikz/circuitikz/bipoles/thickness}\pgfstartlinewidth}
             \pgfusepath{draw}
           \endpgfscope
                           \pgfsetlinewidth{\pgfstartlinewidth}
                        
                           }
     }


\pgfdeclareshape{txantenna}{
	\anchor{center}{\pgfpointorigin}
	\savedanchor{\northeast}{
		\pgf@circ@res@step=\ctikzvalof{monopoles/txantenna/width}\pgf@circ@Rlen
		\pgf@x=5\pgf@circ@res@step%-0.5\pgflinewidth
		\pgf@y=6\pgf@circ@res@step
	}
	\anchor{text}{
		\northeast
		\pgf@x=\ctikzvalof{monopoles/txantenna/label/xanchor}\pgf@x
		\pgf@y=\ctikzvalof{monopoles/txantenna/label/yanchor}\pgf@y
	}
       \behindforegroundpath{
       \pgfstartlinewidth=\pgflinewidth
       \pgf@circ@res@step=\ctikzvalof{monopoles/txantenna/width}\pgf@circ@Rlen
        
         \pgfpathmoveto{\pgfpointorigin}
         \pgfpathlineto{\pgfpoint{4\pgf@circ@res@step}{0pt}}
         \pgfpathmoveto{\pgfpoint{4\pgf@circ@res@step-0.5\pgflinewidth}{0pt}}
             \pgfpathlineto{\pgfpoint{4\pgf@circ@res@step-0.5\pgflinewidth}{6\pgf@circ@res@step}}
             
         \pgfusepath{draw}
             
          \pgfscope   
          \pgfpathmoveto{\pgfpoint{4\pgf@circ@res@step-0.5\pgflinewidth}{6\pgf@circ@res@step}}
             \pgfpathlineto{\pgfpoint{5\pgf@circ@res@step-0.5\pgflinewidth}{6\pgf@circ@res@step}}
             \pgfpathlineto{\pgfpoint{4\pgf@circ@res@step-0.5\pgflinewidth}{4\pgf@circ@res@step}}
             \pgfpathlineto{\pgfpoint{3\pgf@circ@res@step-0.5\pgflinewidth}{6\pgf@circ@res@step}}
             \pgfpathlineto{\pgfpoint{4\pgf@circ@res@step-0.5\pgflinewidth}{6\pgf@circ@res@step}}
             \pgfsetcolor{\pgfkeysvalueof{/tikz/circuitikz/color}}
             \pgfsetlinewidth{\pgfkeysvalueof{/tikz/circuitikz/bipoles/thickness}\pgfstartlinewidth}
             \pgfusepath{draw}
           \endpgfscope
          \pgfpathmoveto{\pgfpoint{5.5\pgf@circ@res@step}{6\pgf@circ@res@step}}
%        \pgfpatharc{60}{-60}{\pgf@circ@res@step and \pgf@circ@res@step}
        \pgfpatharc{30}{-30}{2\pgf@circ@res@step}         \pgfpathmoveto{\pgfpoint{6\pgf@circ@res@step}{6.25\pgf@circ@res@step}}
        \pgfpatharc{30}{-30}{2.5\pgf@circ@res@step}
        \pgfpathmoveto{\pgfpoint{6.5\pgf@circ@res@step}{6.5\pgf@circ@res@step}}
        \pgfpatharc{30}{-30}{3\pgf@circ@res@step}
        \pgfpathmoveto{\pgfpoint{7\pgf@circ@res@step}{6.75\pgf@circ@res@step}}
        \pgfpatharc{30}{-30}{3.5\pgf@circ@res@step}
        \pgfpathmoveto{\pgfpoint{7.5\pgf@circ@res@step}{7\pgf@circ@res@step}}
        \pgfpatharc{30}{-30}{4\pgf@circ@res@step}
        \pgfusepath{draw}
        \pgfsetlinewidth{\pgfstartlinewidth}
        
        }
     }


\pgfdeclareshape{rxantenna}{
	\anchor{center}{\pgfpointorigin}
	\savedanchor{\northeast}{
		\pgf@circ@res@step=\ctikzvalof{monopoles/txantenna/width}\pgf@circ@Rlen
		\pgf@x=5\pgf@circ@res@step%-0.5\pgflinewidth
		\pgf@y=6\pgf@circ@res@step
	}
	\anchor{text}{
		\northeast
		\pgf@x=\ctikzvalof{monopoles/rxantenna/label/xanchor}\pgf@x
		\pgf@y=\ctikzvalof{monopoles/rxantenna/label/yanchor}\pgf@y
	}
    \behindforegroundpath{
        \pgfstartlinewidth=\pgflinewidth
        \pgf@circ@res@step=\ctikzvalof{monopoles/rxantenna/width}\pgf@circ@Rlen
             
         \pgfpathmoveto{\pgfpointorigin}
         \pgfpathlineto{\pgfpoint{4\pgf@circ@res@step}{0pt}}
         \pgfpathmoveto{\pgfpoint{4\pgf@circ@res@step-0.5\pgflinewidth}{0pt}}
             \pgfpathlineto{\pgfpoint{4\pgf@circ@res@step-0.5\pgflinewidth}{6\pgf@circ@res@step}}
             
         \pgfusepath{draw}
             
          \pgfscope   
          \pgfpathmoveto{\pgfpoint{4\pgf@circ@res@step-0.5\pgflinewidth}{6\pgf@circ@res@step}}
             \pgfpathlineto{\pgfpoint{5\pgf@circ@res@step-0.5\pgflinewidth}{6\pgf@circ@res@step}}
             \pgfpathlineto{\pgfpoint{4\pgf@circ@res@step-0.5\pgflinewidth}{4\pgf@circ@res@step}}
             \pgfpathlineto{\pgfpoint{3\pgf@circ@res@step-0.5\pgflinewidth}{6\pgf@circ@res@step}}
             \pgfpathlineto{\pgfpoint{4\pgf@circ@res@step-0.5\pgflinewidth}{6\pgf@circ@res@step}}
             \pgfsetcolor{\pgfkeysvalueof{/tikz/circuitikz/color}}
             \pgfsetlinewidth{\pgfkeysvalueof{/tikz/circuitikz/bipoles/thickness}\pgfstartlinewidth}
             \pgfusepath{draw}
           \endpgfscope
           
           \pgfpathmoveto{\pgfpoint{6\pgf@circ@res@step}{7\pgf@circ@res@step}}
%             \pgfpatharc{60}{-60}{\pgf@circ@res@step and \pgf@circ@res@step}
             \pgfpatharc{150}{210}{4\pgf@circ@res@step}              \pgfpathmoveto{\pgfpoint{6.5\pgf@circ@res@step}{6.75\pgf@circ@res@step}}
             \pgfpatharc{150}{210}{3.5\pgf@circ@res@step}
             \pgfpathmoveto{\pgfpoint{7\pgf@circ@res@step}{6.5\pgf@circ@res@step}}
             \pgfpatharc{150}{210}{3\pgf@circ@res@step}
             \pgfpathmoveto{\pgfpoint{7.5\pgf@circ@res@step}{6.25\pgf@circ@res@step}}
             \pgfpatharc{150}{210}{2.5\pgf@circ@res@step}
             \pgfpathmoveto{\pgfpoint{8\pgf@circ@res@step}{6\pgf@circ@res@step}}
             \pgfpatharc{150}{210}{2\pgf@circ@res@step}
             \pgfusepath{draw}
             \pgfsetlinewidth{\pgfstartlinewidth}
             
             }
}


\endinput