Sidebar-Electrical.js 90 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030
  1. (function()
  2. {
  3. // Adds electrical stencils
  4. Sidebar.prototype.addElectricalPalette = function()
  5. {
  6. var s = mxConstants.STYLE_VERTICAL_LABEL_POSITION + '=bottom;shadow=0;dashed=0;align=center;html=1;' + mxConstants.STYLE_VERTICAL_ALIGN + '=top;' + mxConstants.STYLE_SHAPE;
  7. var mea = s + '=mxgraph.electrical.abstract.';
  8. var mec = 'pointerEvents=1;' + s + '=mxgraph.electrical.capacitors.';
  9. var med = 'pointerEvents=1;fillColor=strokeColor;' + s + '=mxgraph.electrical.diodes.';
  10. var mei = 'pointerEvents=1;' + s + '=mxgraph.electrical.inductors.';
  11. var mem = 'pointerEvents=1;' + s + '=mxgraph.electrical.miscellaneous.';
  12. var meem = 'pointerEvents=1;' + s + '=mxgraph.electrical.electro-mechanical.';
  13. var mel = s + '=mxgraph.electrical.logic_gates.';
  14. var mef1 = s + '=mxgraph.electrical.mosfets1.';
  15. var mef2 = s + '=mxgraph.electrical.mosfets2.';
  16. var met = s + '=mxgraph.electrical.transistors.';
  17. var meoe = s + '=mxgraph.electrical.opto_electronics.';
  18. var mep = 'pointerEvents=1;' + s + '=mxgraph.electrical.plc_ladder.';
  19. var mer = s + '=mxgraph.electrical.radio.';
  20. var mere = 'pointerEvents=1;' + s + '=mxgraph.electrical.resistors.';
  21. var mess = 'pointerEvents=1;' + s + '=mxgraph.electrical.signal_sources.';
  22. var metd = s + '=mxgraph.electrical.thermionic_devices.';
  23. var mew = 'pointerEvents=1;' + s + '=mxgraph.electrical.waveforms.';
  24. var mein = 'perimeter=ellipsePerimeter;' + s + '=mxgraph.electrical.instruments.';
  25. var meiecl = s + '=mxgraph.electrical.iec_logic_gates.';
  26. var merm = s + '=mxgraph.electrical.rot_mech.';
  27. var metr = s + '=mxgraph.electrical.transmission.';
  28. var gnmel = 'mxgraph.electrical.logic_gates';
  29. var dtmel = 'electrical logic gate ';
  30. var gnmeiecl = 'mxgraph.electrical.iec_logic_gates';
  31. var dtmeiecl = 'electrical iec logic gate ';
  32. var gnmere = 'mxgraph.electrical.resistors';
  33. var dtmere = 'electrical resistor ';
  34. var gnmec = 'mxgraph.electrical.capacitors';
  35. var dtmec = 'electrical capacitor ';
  36. var gnmei = 'mxgraph.electrical.inductors';
  37. var dtmei = 'electrical inductor ';
  38. var gnmeem = 'mxgraph.electrical.electro-mechanical';
  39. var dtmeem = 'electrical switch relay ';
  40. var gnmed = 'mxgraph.electrical.diodes';
  41. var dtmed = 'electrical diode ';
  42. var gnmess = 'mxgraph.electrical.signal_sources';
  43. var dtmess = 'electrical signal source ';
  44. var gnmet = 'mxgraph.electrical.transistors';
  45. var dtmet = 'electrical transistor ';
  46. var gnmein = 'mxgraph.electrical.instruments';
  47. var dtmein = 'electrical instrument ';
  48. var gnmer = 'mxgraph.electrical.radio';
  49. var dtmer = 'electrical radio audio ';
  50. var gnmem = 'mxgraph.electrical.miscellaneous';
  51. var dtmem = 'electrical ';
  52. var gnmea = 'mxgraph.electrical.abstract';
  53. var dtmea = 'electrical ';
  54. var gnmep = 'mxgraph.electrical.plc_ladder';
  55. var dtmep = 'electrical plc ladder programmable logic logical controller';
  56. var gnmeoe = 'mxgraph.electrical.opto_electronics';
  57. var dtmeoe = 'electrical optical ';
  58. var gnmetd = 'mxgraph.electrical.thermionic_devices';
  59. var dtmetd = 'electrical thermionic thermo device vacuum tube ';
  60. var gnmew = 'mxgraph.electrical.waveforms';
  61. var dtmew = 'electrical waveform signal ';
  62. var gnmerm = 'mxgraph.electrical.rot_mech';
  63. var dtmerm = 'electrical rotating equipment mechanical function functions';
  64. var gnmetr = 'mxgraph.electrical.transmission';
  65. var dtmetr = 'electrical transmission paths bus buses';
  66. this.setCurrentSearchEntryLibrary('electrical', 'electrical\LogicGates');
  67. this.addPaletteFunctions('electrical\LogicGates', 'Electrical / Logic Gates', false,
  68. [
  69. this.createVertexTemplateEntry(mel + 'logic_gate;operation=and;', 100, 60, '', 'AND', null, null, this.getTagsForStencil(gnmel, 'and', dtmel).join(' ')),
  70. this.createVertexTemplateEntry(mel + 'buffer2;', 100, 60, '', 'Buffer', null, null, this.getTagsForStencil(gnmel, 'buffer', dtmel).join(' ')),
  71. this.createVertexTemplateEntry(mel + 'd_type_flip-flop;', 100, 80, '', 'D Type Flip-Flop', null, null, this.getTagsForStencil(gnmel, 'd_type_flip-flop', dtmel).join(' ')),
  72. this.createVertexTemplateEntry(mel + 'd_type_flip-flop_with_clear_2;', 100, 90, '', 'D Type Flip-Flop With Clear', null, null, this.getTagsForStencil(gnmel, 'd_type_flip-flop_with_clear', dtmel).join(' ')),
  73. this.createVertexTemplateEntry(mel + 'd_type_rs_flip-flop;', 100, 100, '', 'D Type RS Flip-Flop', null, null, this.getTagsForStencil(gnmel, 'd_type_rs_flip-flop', dtmel).join(' ')),
  74. this.createVertexTemplateEntry(mel + 'inverter_2', 100, 60, '', 'Inverter', null, null, this.getTagsForStencil(gnmel, 'inverter', dtmel).join(' ')),
  75. this.createVertexTemplateEntry(mel + 'inverting_contact;', 10, 10, '', 'Inverting Contact', null, null, this.getTagsForStencil(gnmel, 'inverting_contact', dtmel).join(' ')),
  76. this.createVertexTemplateEntry(mel + 'jk_flip-flop;', 100, 80, '', 'JK Flip-Flop', null, null, this.getTagsForStencil(gnmel, 'jk_flip-flop', dtmel).join(' ')),
  77. this.createVertexTemplateEntry(mel + 'jk_flip-flop_with_clear_2;', 100, 90, '', 'JK Flip-Flop With Clear', null, null, this.getTagsForStencil(gnmel, 'jk_flip-flop_with_clear', dtmel).join(' ')),
  78. this.createVertexTemplateEntry(mel + 'jk_flip-flop_with_sr;', 100, 100, '', 'JK Flip-Flop With SR', null, null, this.getTagsForStencil(gnmel, 'jk_flip-flop_with_sr', dtmel).join(' ')),
  79. this.createVertexTemplateEntry(mel + 'logic_gate;operation=and;negating=1;negSize=0.15;', 100, 60, '', 'NAND', null, null, this.getTagsForStencil(gnmel, 'nand not and', dtmel).join(' ')),
  80. this.createVertexTemplateEntry(mel + 'logic_gate;operation=or;', 100, 60, '', 'OR', null, null, this.getTagsForStencil(gnmel, 'or', dtmel).join(' ')),
  81. this.createVertexTemplateEntry(mel + 'logic_gate;operation=or;negating=1;negSize=0.15;', 100, 60, '', 'NOR', null, null, this.getTagsForStencil(gnmel, 'nor', dtmel).join(' ')),
  82. this.createVertexTemplateEntry(mel + 'rs_latch;', 100, 80, '', 'RS Latch', null, null, this.getTagsForStencil(gnmel, 'rs_latch', dtmel).join(' ')),
  83. this.createVertexTemplateEntry(mel + 'synchronous_rs_latch;', 100, 80, '', 'RS Latch (Synchronous)', null, null, this.getTagsForStencil(gnmel, 'synchronous_rs_latch', dtmel).join(' ')),
  84. this.createVertexTemplateEntry(mel + 'schmitt_trigger;', 100, 60, '', 'Schmitt Trigger', null, null, this.getTagsForStencil(gnmel, 'schmitt_trigger', dtmel).join(' ')),
  85. this.createVertexTemplateEntry(mel + 't_type_flip-flop;', 100, 80, '', 'T Type Flip-Flop', null, null, this.getTagsForStencil(gnmel, 't_type_flip-flop', dtmel).join(' ')),
  86. this.createVertexTemplateEntry(mel + 'logic_gate;operation=xor;', 100, 60, '', 'XOR', null, null, this.getTagsForStencil(gnmel, 'xor', dtmel).join(' ')),
  87. this.createVertexTemplateEntry(mel + 'logic_gate;operation=xor;negating=1;negSize=0.15;', 100, 60, '', 'XNOR', null, null, this.getTagsForStencil(gnmel, 'xnor', dtmel).join(' ')),
  88. this.createVertexTemplateEntry(meiecl + 'and;', 60, 80, '', 'AND (IEC)', null, null, this.getTagsForStencil(gnmeiecl, 'and', dtmeiecl).join(' ')),
  89. this.createVertexTemplateEntry(meiecl + 'nand_2;', 66, 80, '', 'NAND (IEC)', null, null, this.getTagsForStencil(gnmeiecl, 'nand', dtmeiecl).join(' ')),
  90. this.createVertexTemplateEntry(meiecl + 'or;', 60, 80, '', 'OR (IEC)', null, null, this.getTagsForStencil(gnmeiecl, 'or', dtmeiecl).join(' ')),
  91. this.createVertexTemplateEntry(meiecl + 'nor_2;', 66, 80, '', 'NOR (IEC)', null, null, this.getTagsForStencil(gnmeiecl, 'nor', dtmeiecl).join(' ')),
  92. this.createVertexTemplateEntry(meiecl + 'not_2;', 66, 80, '', 'NOT (IEC)', null, null, this.getTagsForStencil(gnmeiecl, 'xor', dtmeiecl).join(' ')),
  93. this.createVertexTemplateEntry(meiecl + 'xor;', 60, 80, '', 'XOR (IEC)', null, null, this.getTagsForStencil(gnmeiecl, 'xor', dtmeiecl).join(' ')),
  94. this.createVertexTemplateEntry(
  95. 'shadow=0;dashed=0;align=center;html=1;strokeWidth=1;shape=mxgraph.electrical.logic_gates.dual_inline_ic;labelNames=a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t;whiteSpace=wrap;',
  96. 100, 200, 'IC', 'Dual In-Line IC', null, null, this.getTagsForStencil(gnmel, 'dual inline in line ic integrated circuit', dtmel).join(' ')),
  97. this.createVertexTemplateEntry(
  98. 'shadow=0;dashed=0;align=center;html=1;strokeWidth=1;shape=mxgraph.electrical.logic_gates.qfp_ic;whiteSpace=wrap;' +
  99. 'labelNames=a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,a1,b1,c1,d1,e1,f1,g1,h1,i1,j1,k1,l1,m1,n1;',
  100. 200, 200, 'IC', 'Quad Flat Package IC', null, null, this.getTagsForStencil(gnmel, 'quad flat package qfp ic integrated circuit', dtmel).join(' '))
  101. ]);
  102. this.setCurrentSearchEntryLibrary('electrical', 'electrical\Resistors');
  103. this.addPaletteFunctions('electrical\Resistors', 'Electrical / Resistors', false,
  104. [
  105. this.createVertexTemplateEntry(mere + 'resistor_1;',
  106. 100, 20, '', 'Resistor', null, null, this.getTagsForStencil(gnmere, 'resistor_1', dtmere).join(' ')),
  107. this.createVertexTemplateEntry(mere + 'resistor_2;',
  108. 100, 20, '', 'Resistor', null, null, this.getTagsForStencil(gnmere, 'resistor_2', dtmere).join(' ')),
  109. this.createVertexTemplateEntry(mere + 'potentiometer_1;',
  110. 100, 40, '', 'Potentiometer', null, null, this.getTagsForStencil(gnmere, 'potentiometer_1', dtmere).join(' ')),
  111. this.createVertexTemplateEntry(mere + 'potentiometer_2;',
  112. 100, 40, '', 'Potentiometer', null, null, this.getTagsForStencil(gnmere, 'potentiometer_2', dtmere).join(' ')),
  113. this.createVertexTemplateEntry(mere + 'trimmer_pot_1;',
  114. 100, 40, '', 'Potentiometer (Trimmer)', null, null, this.getTagsForStencil(gnmere, 'trimmer_pot_1', dtmere).join(' ')),
  115. this.createVertexTemplateEntry(mere + 'trimmer_pot_2;',
  116. 100, 40, '', 'Potentiometer (Trimmer)', null, null, this.getTagsForStencil(gnmere, 'trimmer_pot_2', dtmere).join(' ')),
  117. this.createVertexTemplateEntry(mere + 'trimmer_resistor_1;',
  118. 100, 65.5, '', 'Resistor (Trimmer)', null, null, this.getTagsForStencil(gnmere, 'trimmer_resistor_1', dtmere).join(' ')),
  119. this.createVertexTemplateEntry(mere + 'trimmer_resistor_2;',
  120. 100, 65.5, '', 'Resistor (Trimmer)', null, null, this.getTagsForStencil(gnmere, 'trimmer_resistor_2', dtmere).join(' ')),
  121. this.createVertexTemplateEntry(mere + 'variable_resistor_1;',
  122. 100, 60, '', 'Resistor (Variable)', null, null, this.getTagsForStencil(gnmere, 'variable_resistor_1', dtmere).join(' ')),
  123. this.createVertexTemplateEntry(mere + 'variable_resistor_2;',
  124. 100, 60, '', 'Resistor (Variable)', null, null, this.getTagsForStencil(gnmere, 'variable_resistor_2', dtmere).join(' ')),
  125. this.createVertexTemplateEntry(mere + 'resistor_with_instrument_or_relay_shunt;',
  126. 100, 20, '', 'Resistor (Instrument/Relay Shunt)', null, null, this.getTagsForStencil(gnmere, 'resistor_with_instrument_or_relay_shunt', dtmere).join(' ')),
  127. this.createVertexTemplateEntry(mere + 'attenuator;',
  128. 100, 60, '', 'Attenuator', null, null, this.getTagsForStencil(gnmere, 'attenuator', dtmere).join(' ')),
  129. this.createVertexTemplateEntry(mere + 'resistor,_adjustable_contact;',
  130. 100, 40, '', 'Resistor (Adjustable Contact)', null, null, this.getTagsForStencil(gnmere, 'resistor,_adjustable_contact', dtmere).join(' ')),
  131. this.createVertexTemplateEntry(mere + 'resistor,_shunt;',
  132. 100, 45, '', 'Resistor (Shunt)', null, null, this.getTagsForStencil(gnmere, 'resistor,_shunt', dtmere).join(' ')),
  133. this.createVertexTemplateEntry(mere + 'symmetrical_varistor;',
  134. 100, 60, '', 'Varistor (Symmetrical)', null, null, this.getTagsForStencil(gnmere, 'symmetrical_varistor', dtmere).join(' ')),
  135. this.createVertexTemplateEntry(mere + 'tapped_resistor;',
  136. 100, 40, '', 'Resistor (Tapped)', null, null, this.getTagsForStencil(gnmere, 'tapped_resistor', dtmere).join(' ')),
  137. this.createVertexTemplateEntry(mere + 'nonlinear_resistor;',
  138. 100, 60, '', 'Resistor (Nonlinear)', null, null, this.getTagsForStencil(gnmere, 'nonlinear_resistor', dtmere).join(' ')),
  139. this.createVertexTemplateEntry(mere + 'memristor_1;',
  140. 100, 20, '', 'Memristor', null, null, this.getTagsForStencil(gnmere, 'memristor_1', dtmere).join(' ')),
  141. this.createVertexTemplateEntry(mere + 'memristor_2;',
  142. 100, 24, '', 'Memristor', null, null, this.getTagsForStencil(gnmere, 'memristor_2', dtmere).join(' ')),
  143. this.createVertexTemplateEntry(mere + 'magnetoresistor;',
  144. 100, 60, '', 'Magnetoresistor', null, null, this.getTagsForStencil(gnmere, 'magnetoresistor', dtmere).join(' ')),
  145. this.createVertexTemplateEntry(mere + 'symmetrical_photoconductive_transducer;',
  146. 100, 40, '', 'Photoconductive Transducer (Symmetrical)', null, null, this.getTagsForStencil(gnmere, 'symmetrical_photoconductive_transducer', dtmere).join(' '))
  147. ]);
  148. this.setCurrentSearchEntryLibrary('electrical', 'electrical\Capacitors');
  149. this.addPaletteFunctions('electrical\Capacitors', 'Electrical / Capacitors', false,
  150. [
  151. this.createVertexTemplateEntry(mec + 'capacitor_1;',
  152. 100, 60, '', 'Capacitor (US)', null, null, this.getTagsForStencil(gnmec, 'capacitor_1', dtmec).join(' ')),
  153. this.createVertexTemplateEntry(mec + 'capacitor_2;',
  154. 100, 60, '', 'Capacitor (US)', null, null, this.getTagsForStencil(gnmec, 'capacitor_2', dtmec).join(' ')),
  155. this.createVertexTemplateEntry(mec + 'capacitor_3;',
  156. 100, 60, '', 'Electrolytic Capacitor (US)', null, null, this.getTagsForStencil(gnmec, 'capacitor_3', dtmec).join(' ')),
  157. this.createVertexTemplateEntry(mec + 'capacitor_4;',
  158. 100, 60, '', 'Capacitor (UK)', null, null, this.getTagsForStencil(gnmec, 'capacitor_4', dtmec).join(' ')),
  159. this.createVertexTemplateEntry(mec + 'capacitor_5;',
  160. 100, 60, '', 'Electrolytic Capacitor (US)', null, null, this.getTagsForStencil(gnmec, 'capacitor_5', dtmec).join(' ')),
  161. this.createVertexTemplateEntry(mec + 'capacitor_6;',
  162. 100, 60, '', 'Capacitor', null, null, this.getTagsForStencil(gnmec, 'capacitor_6', dtmec).join(' ')),
  163. this.createVertexTemplateEntry(mec + 'differential_capacitor;',
  164. 100, 80, '', 'Differential Capacitor', null, null, this.getTagsForStencil(gnmec, 'differential_capacitor', dtmec).join(' ')),
  165. this.createVertexTemplateEntry(mec + 'trimmer_capacitor_1;',
  166. 100, 65.5, '', 'Tuning Variable Capacitor (US)', null, null, this.getTagsForStencil(gnmec, 'trimmer_capacitor_1', dtmec).join(' ')),
  167. this.createVertexTemplateEntry(mec + 'trimmer_capacitor_2;',
  168. 100, 65.5, '', 'Tuning Variable Capacitor (US)', null, null, this.getTagsForStencil(gnmec, 'trimmer_capacitor_2', dtmec).join(' ')),
  169. this.createVertexTemplateEntry(mec + 'variable_capacitor_1;',
  170. 100, 60, '', 'Trimmer Variable Capacitor (US)', null, null, this.getTagsForStencil(gnmec, 'variable_capacitor_1', dtmec).join(' ')),
  171. this.createVertexTemplateEntry(mec + 'variable_capacitor_2;',
  172. 100, 60, '', 'Trimmer Variable Capacitor (US)', null, null, this.getTagsForStencil(gnmec, 'variable_capacitor_2', dtmec).join(' ')),
  173. this.createVertexTemplateEntry(mec + 'feed_through_capacitor;',
  174. 100, 90, '', 'Feed Through Capacitor', null, null, this.getTagsForStencil(gnmec, 'feed_through_capacitor', dtmec).join(' ')),
  175. this.createVertexTemplateEntry(mec + 'ganged_capacitor;',
  176. 100, 130, '', 'Ganged Capacitor', null, null, this.getTagsForStencil(gnmec, 'ganged_capacitor', dtmec).join(' ')),
  177. this.createVertexTemplateEntry(mec + 'multiple_capacitor;',
  178. 100, 130, '', 'Multiple Capacitor', null, null, this.getTagsForStencil(gnmec, 'multiple_capacitor', dtmec).join(' ')),
  179. this.createVertexTemplateEntry(mec + 'multiple_electrolytic_capacitor_comm_neg;',
  180. 100, 130, '', 'Multiple Electrolytic Capacitor (Common Negative)', null, null, this.getTagsForStencil(gnmec, 'multiple_electrolytic_capacitor_comm_neg', dtmec).join(' ')),
  181. this.createVertexTemplateEntry(mec + 'multiple_electrolytic_capacitor_comm_pos;',
  182. 100, 130, '', 'Multiple Electrolytic Capacitor (Common Positive)', null, null, this.getTagsForStencil(gnmec, 'multiple_electrolytic_capacitor_comm_pos', dtmec).join(' '))
  183. ]);
  184. this.setCurrentSearchEntryLibrary('electrical', 'electrical\Inductors');
  185. this.addPaletteFunctions('electrical\Inductors', 'Electrical / Inductors', false,
  186. [
  187. this.createVertexTemplateEntry(mei + 'inductor_3;',
  188. 100, 8, '', 'Inductor (Air Core)', null, null, this.getTagsForStencil(gnmei, 'inductor_3', dtmei).join(' ')),
  189. this.createVertexTemplateEntry(mei + 'inductor_5;',
  190. 100, 14, '', 'Inductor (Air Core)', null, null, this.getTagsForStencil(gnmei, 'inductor_5', dtmei).join(' ')),
  191. this.createVertexTemplateEntry(mei + 'inductor_1;',
  192. 100, 15, '', 'Inductor (Air Core)', null, null, this.getTagsForStencil(gnmei, 'inductor_1', dtmei).join(' ')),
  193. this.createVertexTemplateEntry(mei + 'variable_inductor;',
  194. 100, 60, '', 'Variable', null, null, this.getTagsForStencil(gnmei, 'variable_inductor', dtmei).join(' ')),
  195. this.createVertexTemplateEntry(mei + 'ferrite_core;',
  196. 64, 4, '', 'Ferrite Core', null, null, this.getTagsForStencil(gnmei, 'ferrite_core', dtmei).join(' ')),
  197. this.createVertexTemplateEntry(mei + 'iron_core;',
  198. 64, 4, '', 'Iron Core', null, null, this.getTagsForStencil(gnmei, 'iron_core', dtmei).join(' ')),
  199. this.createVertexTemplateEntry(mei + 'magnetic_core;direction=north;',
  200. 64, 3, '', 'Magnetic Core', null, null, this.getTagsForStencil(gnmei, 'magnetic core', dtmei).join(' ')),
  201. this.createVertexTemplateEntry(mei + 'transformer_1;',
  202. 64, 60, '', 'Transformer (Iron Core)', null, null, this.getTagsForStencil(gnmei, 'transformer_1', dtmei).join(' ')),
  203. this.createVertexTemplateEntry(mei + 'transformer_2;',
  204. 64, 60, '', 'Transformer (Iron Core)', null, null, this.getTagsForStencil(gnmei, 'transformer_2', dtmei).join(' ')),
  205. this.createVertexTemplateEntry(mei + 'half_inductor;',
  206. 32, 23, '', 'Half Inductor', null, null, this.getTagsForStencil(gnmei, 'half inductor', dtmei).join(' ')),
  207. this.createVertexTemplateEntry(mei + 'transformer;direction=north;',
  208. 64, 64, '', 'Transformer', null, null, this.getTagsForStencil(gnmei, 'transformer', dtmei).join(' ')),
  209. this.createVertexTemplateEntry(mei + 'inductor;',
  210. 100, 42, '', 'Inductor', null, null, this.getTagsForStencil(gnmei, 'inductor', dtmei).join(' ')),
  211. this.createVertexTemplateEntry(mei + 'choke;',
  212. 100, 200, '', 'Choke', null, null, this.getTagsForStencil(gnmei, 'choke', dtmei).join(' ')),
  213. this.createVertexTemplateEntry('verticalLabelPosition=top;shadow=0;dashed=0;align=center;fillColor=strokeColor;html=1;verticalAlign=bottom;strokeWidth=1;shape=mxgraph.electrical.inductors.variometer;',
  214. 150, 88, '', 'Variometer', null, null, this.getTagsForStencil(gnmei, 'variometer', dtmei).join(' ')),
  215. this.createVertexTemplateEntry(mei + 'coaxial_choke;',
  216. 300, 50, '', 'Coaxial Choke', null, null, this.getTagsForStencil(gnmei, 'coaxial choke', dtmei).join(' ')),
  217. this.createVertexTemplateEntry(mei + 'transductor;',
  218. 200, 100, '', 'Transductor', null, null, this.getTagsForStencil(gnmei, 'transductor', dtmei).join(' ')),
  219. this.createVertexTemplateEntry(mei + 'saturating_transformer;',
  220. 200, 150, '', 'Saturating Transformer', null, null, this.getTagsForStencil(gnmei, 'saturating_transformer', dtmei).join(' ')),
  221. this.createVertexTemplateEntry(mei + 'potential_transformer_2;',
  222. 92, 40, '', 'Potential Transformer', null, null, this.getTagsForStencil(gnmei, 'potential transformer', dtmei).join(' ')),
  223. this.createVertexTemplateEntry(mei + 'pot_trans_3_windings;',
  224. 67, 96, '', 'Pot. Trans. 3 Windings', null, null, this.getTagsForStencil(gnmei, 'potential transformer 3 three windings', dtmei).join(' ')),
  225. this.createVertexTemplateEntry('verticalLabelPosition=bottom;shadow=0;dashed=0;align=center;html=1;verticalAlign=top;strokeWidth=1;shape=mxgraph.electrical.signal_sources.current_source;',
  226. 40, 60, '', 'Transformer', null, null, this.getTagsForStencil(gnmei, '', dtmei).join(' ')),
  227. this.createVertexTemplateEntry(mei + 'adjustable_transformer;',
  228. 46, 60, '', 'Adjustable Transformer', null, null, this.getTagsForStencil(gnmei, 'adjustable_transformer', dtmei).join(' ')),
  229. this.createVertexTemplateEntry(mei + '1_phase_induction_volt_reg;',
  230. 100, 100, '', '1-Phase Induction Voltage Regulator', null, null, this.getTagsForStencil(gnmei, '1 phase induction voltage regulator monophase', dtmei).join(' ')),
  231. this.createVertexTemplateEntry(mei + 'triplex_induction_volt_reg;',
  232. 100, 100, '', 'Triplex Induction Voltage Regulator', null, null, this.getTagsForStencil(gnmei, 'triplex induction voltage regulator', dtmei).join(' ')),
  233. this.createVertexTemplateEntry(mei + 'induction_voltage_regulator;',
  234. 160, 210, '', 'Induction Voltage Regulator', null, null, this.getTagsForStencil(gnmei, 'induction voltage regulator', dtmei).join(' ')),
  235. this.createVertexTemplateEntry(mei + 'current_transformer_1;',
  236. 12, 75, '', 'Current Transformer', null, null, this.getTagsForStencil(gnmei, 'current transformer', dtmei).join(' ')),
  237. this.createVertexTemplateEntry(mei + 'current_transformer_2;',
  238. 125, 175, '', 'Current Transformer', null, null, this.getTagsForStencil(gnmei, 'current transformer', dtmei).join(' ')),
  239. this.createVertexTemplateEntry(mei + 'current_transformer_3;',
  240. 75, 10, '', 'Current Transformer', null, null, this.getTagsForStencil(gnmei, 'current transformer', dtmei).join(' ')),
  241. this.createVertexTemplateEntry(mei + 'potential_transformer;',
  242. 100, 50, '', 'Potential Transformer', null, null, this.getTagsForStencil(gnmei, 'potential transformer', dtmei).join(' ')),
  243. this.createVertexTemplateEntry(mei + 'outdoor_metering_device;',
  244. 100, 100, '', 'Outdoor Metering Device', null, null, this.getTagsForStencil(gnmei, 'outdoor metering device', dtmei).join(' ')),
  245. this.createVertexTemplateEntry(mei + 'linear_coupler;',
  246. 80, 20, '', 'Linear Coupler', null, null, this.getTagsForStencil(gnmei, 'linear coupler', dtmei).join(' '))
  247. ]);
  248. this.setCurrentSearchEntryLibrary('electrical', 'electrical\SwitchesRelays');
  249. this.addPaletteFunctions('electrical\SwitchesRelays', 'Electrical / Switches and Relays', false,
  250. [
  251. this.createVertexTemplateEntry('html=1;shape=mxgraph.electrical.electro-mechanical.twoWaySwitch;aspect=fixed;elSwitchState=2;',
  252. 75, 26, '', 'SPDT', null, null, this.getTagsForStencil(gnmeem, '2-way switch new', dtmeem).join(' ')),
  253. this.createVertexTemplateEntry('html=1;shape=mxgraph.electrical.electro-mechanical.pushbutton;aspect=fixed;elSwitchState=on;',
  254. 75, 20, '', 'Pushbutton On', null, null, this.getTagsForStencil(gnmeem, 'pushbutton push button', dtmeem).join(' ')),
  255. this.createVertexTemplateEntry('html=1;shape=mxgraph.electrical.electro-mechanical.pushbutton;aspect=fixed;elSwitchState=off;',
  256. 75, 20, '', 'Pushbutton Off', null, null, this.getTagsForStencil(gnmeem, 'pushbutton push button', dtmeem).join(' ')),
  257. this.createVertexTemplateEntry('html=1;shape=mxgraph.electrical.electro-mechanical.singleSwitch;aspect=fixed;elSwitchState=on;',
  258. 75, 20, '', 'Single Switch On', null, null, this.getTagsForStencil(gnmeem, 'single switch', dtmeem).join(' ')),
  259. this.createVertexTemplateEntry('html=1;shape=mxgraph.electrical.electro-mechanical.singleSwitch;aspect=fixed;elSwitchState=off;',
  260. 75, 20, '', 'Single Switch Off', null, null, this.getTagsForStencil(gnmeem, 'single switch', dtmeem).join(' ')),
  261. this.createVertexTemplateEntry('html=1;shape=mxgraph.electrical.electro-mechanical.switchDisconnector;aspect=fixed;elSwitchState=on;',
  262. 75, 20, '', 'Switch Disconnector On', null, null, this.getTagsForStencil(gnmeem, 'switch disconnector', dtmeem).join(' ')),
  263. this.createVertexTemplateEntry('html=1;shape=mxgraph.electrical.electro-mechanical.switchDisconnector;aspect=fixed;elSwitchState=off;',
  264. 75, 20, '', 'Switch Disconnector Off', null, null, this.getTagsForStencil(gnmeem, 'switch disconnector', dtmeem).join(' ')),
  265. this.createVertexTemplateEntry('html=1;shape=mxgraph.electrical.electro-mechanical.fuse2;aspect=fixed;elSwitchState=off;',
  266. 75, 20, '', 'Fuse Off', null, null, this.getTagsForStencil(gnmeem, 'fuse', dtmeem).join(' ')),
  267. this.createVertexTemplateEntry('html=1;shape=mxgraph.electrical.electro-mechanical.fuse2;aspect=fixed;elSwitchState=on;',
  268. 75, 20, '', 'Fuse On', null, null, this.getTagsForStencil(gnmeem, 'fuse', dtmeem).join(' ')),
  269. this.createVertexTemplateEntry('html=1;shape=mxgraph.electrical.electro-mechanical.liquidLevelActuatedSwitch;aspect=fixed;elSwitchState=on;',
  270. 75, 30, '', 'Liquid Level Actuated On', null, null, this.getTagsForStencil(gnmeem, 'liquid level actuated switch', dtmeem).join(' ')),
  271. this.createVertexTemplateEntry('html=1;shape=mxgraph.electrical.electro-mechanical.liquidLevelActuatedSwitch;aspect=fixed;elSwitchState=off;',
  272. 75, 30, '', 'Liquid Level Actuated Off', null, null, this.getTagsForStencil(gnmeem, 'liquid level actuated switch', dtmeem).join(' ')),
  273. this.createVertexTemplateEntry('html=1;shape=mxgraph.electrical.electro-mechanical.liquidLevelActuatedSwitch2;aspect=fixed;elSwitchState=on;',
  274. 75, 32, '', 'Liquid Level Actuated On', null, null, this.getTagsForStencil(gnmeem, 'liquid level actuated switch', dtmeem).join(' ')),
  275. this.createVertexTemplateEntry('html=1;shape=mxgraph.electrical.electro-mechanical.liquidLevelActuatedSwitch2;aspect=fixed;elSwitchState=off;',
  276. 75, 32, '', 'Liquid Level Actuated Off', null, null, this.getTagsForStencil(gnmeem, 'liquid level actuated switch', dtmeem).join(' ')),
  277. this.createVertexTemplateEntry('html=1;shape=mxgraph.electrical.electro-mechanical.gasFlowActuatedSwitch;aspect=fixed;elSwitchState=on;',
  278. 75, 32, '', 'Gas Flow Actuated On', null, null, this.getTagsForStencil(gnmeem, 'gas flow actuated switch', dtmeem).join(' ')),
  279. this.createVertexTemplateEntry('html=1;shape=mxgraph.electrical.electro-mechanical.gasFlowActuatedSwitch;aspect=fixed;elSwitchState=off;',
  280. 75, 32, '', 'Gas Flow Actuated Off', null, null, this.getTagsForStencil(gnmeem, 'gas flow actuated switch', dtmeem).join(' ')),
  281. this.createVertexTemplateEntry('html=1;shape=mxgraph.electrical.electro-mechanical.flowActuatedSwitch;aspect=fixed;elSwitchState=on;',
  282. 75, 31, '', 'Flow Actuated On', null, null, this.getTagsForStencil(gnmeem, 'flow actuated switch', dtmeem).join(' ')),
  283. this.createVertexTemplateEntry('html=1;shape=mxgraph.electrical.electro-mechanical.flowActuatedSwitch;aspect=fixed;elSwitchState=off;',
  284. 75, 31, '', 'Flow Actuated Off', null, null, this.getTagsForStencil(gnmeem, 'flow actuated switch', dtmeem).join(' ')),
  285. this.createVertexTemplateEntry('html=1;shape=mxgraph.electrical.electro-mechanical.pressureActuatedSwitch;aspect=fixed;elSwitchState=on;',
  286. 75, 31, '', 'Pressure Actuated On', null, null, this.getTagsForStencil(gnmeem, 'pressure actuated switch', dtmeem).join(' ')),
  287. this.createVertexTemplateEntry('html=1;shape=mxgraph.electrical.electro-mechanical.pressureActuatedSwitch;aspect=fixed;elSwitchState=off;',
  288. 75, 31, '', 'Pressure Actuated Off', null, null, this.getTagsForStencil(gnmeem, 'pressure actuated switch', dtmeem).join(' ')),
  289. this.createVertexTemplateEntry('html=1;shape=mxgraph.electrical.electro-mechanical.temperatureActuatedSwitch;aspect=fixed;elSwitchState=on;',
  290. 75, 31, '', 'Temperature Actuated On', null, null, this.getTagsForStencil(gnmeem, 'temperature actuated switch', dtmeem).join(' ')),
  291. this.createVertexTemplateEntry('html=1;shape=mxgraph.electrical.electro-mechanical.temperatureActuatedSwitch;aspect=fixed;elSwitchState=off;',
  292. 75, 31, '', 'Temperature Actuated Off', null, null, this.getTagsForStencil(gnmeem, 'temperature actuated switch', dtmeem).join(' ')),
  293. this.createVertexTemplateEntry('html=1;shape=mxgraph.electrical.electro-mechanical.safetyInterlockSwitch;aspect=fixed;elSwitchState=on;',
  294. 75, 45, '', 'Safety Interlock On', null, null, this.getTagsForStencil(gnmeem, 'safety interlock', dtmeem).join(' ')),
  295. this.createVertexTemplateEntry('html=1;shape=mxgraph.electrical.electro-mechanical.safetyInterlockSwitch;aspect=fixed;elSwitchState=off;',
  296. 75, 45, '', 'Safety Interlock Off', null, null, this.getTagsForStencil(gnmeem, 'safety interlock', dtmeem).join(' ')),
  297. this.createVertexTemplateEntry('html=1;shape=mxgraph.electrical.electro-mechanical.temperatureSwitch;aspect=fixed;elSwitchState=on;',
  298. 75, 18, '', 'Temperature Switch On', null, null, this.getTagsForStencil(gnmeem, 'temperature switch', dtmeem).join(' ')),
  299. this.createVertexTemplateEntry('html=1;shape=mxgraph.electrical.electro-mechanical.temperatureSwitch;aspect=fixed;elSwitchState=off;',
  300. 75, 18, '', 'Temperature Switch Off', null, null, this.getTagsForStencil(gnmeem, 'temperature switch', dtmeem).join(' ')),
  301. this.createVertexTemplateEntry('html=1;shape=mxgraph.electrical.electro-mechanical.thermostat2;aspect=fixed;elSwitchState=on;',
  302. 75, 21, '', 'Thermostat On', null, null, this.getTagsForStencil(gnmeem, 'thermostat', dtmeem).join(' ')),
  303. this.createVertexTemplateEntry('html=1;shape=mxgraph.electrical.electro-mechanical.thermostat2;aspect=fixed;elSwitchState=off;',
  304. 75, 21, '', 'Thermostat Off', null, null, this.getTagsForStencil(gnmeem, 'thermostat', dtmeem).join(' ')),
  305. this.createVertexTemplateEntry(meem + 'limitSwitch2;elSwitchState=on;',
  306. 75, 19, '', 'Limit Switch On', null, null, this.getTagsForStencil(gnmeem, 'limit switch', dtmeem).join(' ')),
  307. this.createVertexTemplateEntry(meem + 'limitSwitch2;elSwitchState=off;',
  308. 75, 19, '', 'Limit Switch Off', null, null, this.getTagsForStencil(gnmeem, 'limit switch', dtmeem).join(' ')),
  309. this.createVertexTemplateEntry(meem + 'circuitBreaker2;elSwitchState=on;',
  310. 75, 20, '', 'Circuit Breaker On', null, null, this.getTagsForStencil(gnmeem, 'circuit breaker', dtmeem).join(' ')),
  311. this.createVertexTemplateEntry(meem + 'circuitBreaker2;elSwitchState=off;',
  312. 75, 20, '', 'Circuit Breaker Off', null, null, this.getTagsForStencil(gnmeem, 'circuit breaker', dtmeem).join(' ')),
  313. this.createVertexTemplateEntry(meem + 'selectorSwitch3Position2;elSwitchState=1;',
  314. 75, 46, '', 'Selector Switch (3 positions)', null, null, this.getTagsForStencil(gnmeem, 'selector switch three position', dtmeem).join(' ')),
  315. this.createVertexTemplateEntry(meem + 'selectorSwitch4Position2;elSwitchState=1;',
  316. 75, 66, '', 'Selector Switch (4 positions)', null, null, this.getTagsForStencil(gnmeem, 'selector switch four position', dtmeem).join(' ')),
  317. this.createVertexTemplateEntry(meem + 'selectorSwitch6Position2;elSwitchState=1;',
  318. 75, 106, '', 'Selector Switch (6 positions)', null, null, this.getTagsForStencil(gnmeem, 'selector_switch', dtmeem).join(' ')),
  319. this.createVertexTemplateEntry(meem + 'shortingSelectorSwitch2;elSwitchState=1;',
  320. 60, 66, '', 'Shorting Selector', null, null, this.getTagsForStencil(gnmeem, 'shorting selector', dtmeem).join(' ')),
  321. this.createVertexTemplateEntry(meem + 'proximityLimitSwitch2;elSwitchState=on;',
  322. 75, 55, '', 'Proximity Limit Switch On', null, null, this.getTagsForStencil(gnmeem, 'proximity limit switch', dtmeem).join(' ')),
  323. this.createVertexTemplateEntry(meem + 'proximityLimitSwitch2;elSwitchState=off;',
  324. 75, 55, '', 'Proximity Limit Switch Off', null, null, this.getTagsForStencil(gnmeem, 'proximity limit switch', dtmeem).join(' ')),
  325. this.createVertexTemplateEntry(meem + 'inertiaSwitch2;elSwitchState=on;',
  326. 75, 19, '', 'Inertia Switch On', null, null, this.getTagsForStencil(gnmeem, 'inertia switch', dtmeem).join(' ')),
  327. this.createVertexTemplateEntry(meem + 'inertiaSwitch2;elSwitchState=off;',
  328. 75, 19, '', 'Inertia Switch Off', null, null, this.getTagsForStencil(gnmeem, 'inertia switch', dtmeem).join(' ')),
  329. this.createVertexTemplateEntry(meem + 'pushbuttonBreak2;elSwitchState=on;',
  330. 75, 40, '', 'Pushbutton Break On', null, null, this.getTagsForStencil(gnmeem, 'pushbutton break', dtmeem).join(' ')),
  331. this.createVertexTemplateEntry(meem + 'pushbuttonBreak2;elSwitchState=off;',
  332. 75, 40, '', 'Pushbutton Break Off', null, null, this.getTagsForStencil(gnmeem, 'pushbutton break', dtmeem).join(' ')),
  333. this.createVertexTemplateEntry(meem + 'manualSwitch2;elSwitchState=on;',
  334. 75, 18, '', 'Manual Switch On', null, null, this.getTagsForStencil(gnmeem, 'manual switch', dtmeem).join(' ')),
  335. this.createVertexTemplateEntry(meem + 'manualSwitch2;elSwitchState=off;',
  336. 75, 18, '', 'Manual Switch Off', null, null, this.getTagsForStencil(gnmeem, 'manual switch', dtmeem).join(' ')),
  337. this.createVertexTemplateEntry(meem + 'make_contact;',
  338. 75, 16, '', 'Make Contact', null, null, this.getTagsForStencil(gnmeem, 'make contact', dtmeem).join(' ')),
  339. this.createVertexTemplateEntry(meem + 'break_contact;',
  340. 75, 10, '', 'Break Contact', null, null, this.getTagsForStencil(gnmeem, 'break contact', dtmeem).join(' ')),
  341. this.createVertexTemplateEntry(meem + 'twoWayContact2;elSwitchState=neutral;',
  342. 75, 30, '', 'Two Way Contact', null, null, this.getTagsForStencil(gnmeem, 'two way contact', dtmeem).join(' ')),
  343. this.createVertexTemplateEntry(meem + 'twoWayContact2;elSwitchState=1;',
  344. 75, 30, '', 'Two Way Contact Neutral', null, null, this.getTagsForStencil(gnmeem, 'two way contact', dtmeem).join(' ')),
  345. this.createVertexTemplateEntry(meem + 'twoWayContact2;elSwitchState=2;',
  346. 75, 30, '', 'Two Way Contact', null, null, this.getTagsForStencil(gnmeem, 'two way contact', dtmeem).join(' ')),
  347. this.createVertexTemplateEntry(meem + 'passingMakeContact2;elSwitchState=on;',
  348. 75, 23, '', 'Passing Make-Contact On', null, null, this.getTagsForStencil(gnmeem, 'passing make contact', dtmeem).join(' ')),
  349. this.createVertexTemplateEntry(meem + 'passingMakeContact2;elSwitchState=off;',
  350. 75, 23, '', 'Passing Make-Contact Off', null, null, this.getTagsForStencil(gnmeem, 'passing make contact', dtmeem).join(' ')),
  351. this.createVertexTemplateEntry(meem + 'stay_put;',
  352. 75, 7, '', 'Stay Put', null, null, this.getTagsForStencil(gnmeem, 'stay put', dtmeem).join(' ')),
  353. this.createVertexTemplateEntry(meem + 'dpst2;elSwitchState=on;',
  354. 75, 39, '', 'DPST On', null, null, this.getTagsForStencil(gnmeem, 'dpst', dtmeem).join(' ')),
  355. this.createVertexTemplateEntry(meem + 'dpst2;elSwitchState=off;',
  356. 75, 39, '', 'DPST Off', null, null, this.getTagsForStencil(gnmeem, 'dpst', dtmeem).join(' ')),
  357. this.createVertexTemplateEntry(meem + 'springReturn3;elSwitchState=on;',
  358. 75, 26, '', 'Spring Return On', null, null, this.getTagsForStencil(gnmeem, 'spring return', dtmeem).join(' ')),
  359. this.createVertexTemplateEntry(meem + 'springReturn3;elSwitchState=off;',
  360. 75, 26, '', 'Spring Return Off', null, null, this.getTagsForStencil(gnmeem, 'spring return', dtmeem).join(' ')),
  361. this.createVertexTemplateEntry(meem + 'limitSwitch;elSwitchState=on;',
  362. 75, 25, '', 'Limit Switch NC', null, null, this.getTagsForStencil(gnmeem, 'limit switch', dtmeem).join(' ')),
  363. this.createVertexTemplateEntry(meem + 'limitSwitch;elSwitchState=off;',
  364. 75, 25, '', 'Limit Switch NO', null, null, this.getTagsForStencil(gnmeem, 'limit switch', dtmeem).join(' ')),
  365. this.createVertexTemplateEntry(meem + 'dpdt3;elSwitchState=1;',
  366. 58, 62, '', 'DPDT', null, null, this.getTagsForStencil(gnmeem, 'dpdt', dtmeem).join(' ')),
  367. this.createVertexTemplateEntry(meem + 'dpdt3;elSwitchState=2;',
  368. 58, 62, '', 'DPDT', null, null, this.getTagsForStencil(gnmeem, 'dpdt', dtmeem).join(' ')),
  369. this.createVertexTemplateEntry(meem + 'twoPositionSwitch2;elSwitchState=1;',
  370. 75, 70, '', '2-Position Switch', null, null, this.getTagsForStencil(gnmeem, '2 position switch', dtmeem).join(' ')),
  371. this.createVertexTemplateEntry(meem + 'twoPositionSwitch2;elSwitchState=2;',
  372. 75, 70, '', '2-Position Switch', null, null, this.getTagsForStencil(gnmeem, '2 position switch', dtmeem).join(' ')),
  373. this.createVertexTemplateEntry(meem + 'threePositionSwitch2;elSwitchState=1;',
  374. 60, 60, '', '3-Position Switch', null, null, this.getTagsForStencil(gnmeem, '3 position switch', dtmeem).join(' ')),
  375. this.createVertexTemplateEntry(meem + 'threePositionSwitch2;elSwitchState=2;',
  376. 60, 60, '', '3-Position Switch', null, null, this.getTagsForStencil(gnmeem, '3 position switch', dtmeem).join(' ')),
  377. this.createVertexTemplateEntry(meem + 'threePositionSwitch2;elSwitchState=3;',
  378. 60, 60, '', '3-Position Switch', null, null, this.getTagsForStencil(gnmeem, '3 position switch', dtmeem).join(' ')),
  379. this.createVertexTemplateEntry(meem + 'fourPositionSwitch2;elSwitchState=1;',
  380. 75, 70, '', '4-Position Switch', null, null, this.getTagsForStencil(gnmeem, '4 position switch', dtmeem).join(' ')),
  381. this.createVertexTemplateEntry(meem + 'fourPositionSwitch2;elSwitchState=2;',
  382. 75, 70, '', '4-Position Switch', null, null, this.getTagsForStencil(gnmeem, '4 position switch', dtmeem).join(' ')),
  383. this.createVertexTemplateEntry(meem + 'fourPositionSwitch2;elSwitchState=3;',
  384. 75, 70, '', '4-Position Switch', null, null, this.getTagsForStencil(gnmeem, '4 position switch', dtmeem).join(' ')),
  385. this.createVertexTemplateEntry(meem + 'fourPositionSwitch2;elSwitchState=4;',
  386. 75, 70, '', '4-Position Switch', null, null, this.getTagsForStencil(gnmeem, '4 position switch', dtmeem).join(' ')),
  387. this.createVertexTemplateEntry(meem + 'pushbuttonMakeSwitch2;elSwitchState=1;',
  388. 75, 53, '', 'Pushbutton Make', null, null, this.getTagsForStencil(gnmeem, 'pushbutton make', dtmeem).join(' ')),
  389. this.createVertexTemplateEntry(meem + 'pushbuttonMakeSwitch2;elSwitchState=2;',
  390. 75, 53, '', 'Pushbutton Make', null, null, this.getTagsForStencil(gnmeem, 'pushbutton make', dtmeem).join(' ')),
  391. this.createVertexTemplateEntry(meem + 'pushbuttonTwoCircuitSwitch2;elSwitchState=1;',
  392. 75, 73, '', 'Pushbutton 2-Circuit', null, null, this.getTagsForStencil(gnmeem, 'pushbutton 2 circuit', dtmeem).join(' ')),
  393. this.createVertexTemplateEntry(meem + 'pushbuttonTwoCircuitSwitch2;elSwitchState=2;',
  394. 75, 73, '', 'Pushbutton 2-Circuit', null, null, this.getTagsForStencil(gnmeem, 'pushbutton 2 circuit', dtmeem).join(' ')),
  395. this.createVertexTemplateEntry(meem + 'timeDelaySwitch;elSwitchState=on;',
  396. 75, 32, '', 'Time Delay Break', null, null, this.getTagsForStencil(gnmeem, 'time delay break', dtmeem).join(' ')),
  397. this.createVertexTemplateEntry(meem + 'timeDelaySwitch;elSwitchState=off;',
  398. 75, 32, '', 'Time Delay Make', null, null, this.getTagsForStencil(gnmeem, 'time delay make', dtmeem).join(' ')),
  399. this.createVertexTemplateEntry(meem + 'timeDelaySwitch2;elSwitchState=off;',
  400. 75, 36, '', 'Time Delay Make', null, null, this.getTagsForStencil(gnmeem, 'time delay make', dtmeem).join(' ')),
  401. this.createVertexTemplateEntry(meem + 'timeDelaySwitch2;elSwitchState=on;',
  402. 75, 36, '', 'Time Delay Break', null, null, this.getTagsForStencil(gnmeem, 'time delay break', dtmeem).join(' ')),
  403. this.createVertexTemplateEntry(meem + 'isolatorSwitch2;elSwitchState=off;',
  404. 75, 20, '', 'Isolator Off', null, null, this.getTagsForStencil(gnmeem, 'isolator', dtmeem).join(' ')),
  405. this.createVertexTemplateEntry(meem + 'isolatorSwitch2;elSwitchState=on;',
  406. 75, 20, '', 'Isolator On', null, null, this.getTagsForStencil(gnmeem, 'isolator', dtmeem).join(' ')),
  407. this.createVertexTemplateEntry(meem + 'changeoverContactSwitch2;elSwitchState=1;',
  408. 75, 20, '', 'Changeover Contact', null, null, this.getTagsForStencil(gnmeem, 'changeover contact', dtmeem).join(' ')),
  409. this.createVertexTemplateEntry(meem + 'changeoverContactSwitch2;elSwitchState=2;',
  410. 75, 20, '', 'Changeover Contact', null, null, this.getTagsForStencil(gnmeem, 'changeover contact', dtmeem).join(' ')),
  411. this.createVertexTemplateEntry(meem + 'reedSwitch2;elSwitchState=on;',
  412. 75, 20, '', 'Reed Switch On', null, null, this.getTagsForStencil(gnmeem, 'reed switch', dtmeem).join(' ')),
  413. this.createVertexTemplateEntry(meem + 'reedSwitch2;elSwitchState=off;',
  414. 75, 20, '', 'Reed Switch Off', null, null, this.getTagsForStencil(gnmeem, 'reed switch', dtmeem).join(' ')),
  415. this.createVertexTemplateEntry(meem + 'relay_coil;',
  416. 70, 35, '', 'Relay Coil', null, null, this.getTagsForStencil(gnmeem, 'relay coil', dtmeem).join(' ')),
  417. this.createVertexTemplateEntry(meem + 'relay;',
  418. 100, 50, '', 'Relay', null, null, this.getTagsForStencil(gnmeem, 'relay', dtmeem).join(' ')),
  419. this.createVertexTemplateEntry(meem + 'relay_contacts;',
  420. 30, 24, '', 'Relay Contacts', null, null, this.getTagsForStencil(gnmeem, 'relay contacts', dtmeem).join(' ')),
  421. this.createVertexTemplateEntry(meem + 'resonator;',
  422. 100, 50, '', 'Resonator', null, null, this.getTagsForStencil(gnmeem, 'resonator', dtmeem).join(' ')),
  423. this.createVertexTemplateEntry(meem + 'pilot_light;',
  424. 100, 100, '', 'Pilot Light', null, null, this.getTagsForStencil(gnmeem, 'pilot light', dtmeem).join(' ')),
  425. this.createVertexTemplateEntry(meem + 'relay_coil_2;',
  426. 100, 70, '', 'Relay Coil', null, null, this.getTagsForStencil(gnmeem, 'relay coil', dtmeem).join(' ')),
  427. this.createVertexTemplateEntry(meem + 'mercury_switch;',
  428. 80, 80, '', 'Mercury Switch', null, null, this.getTagsForStencil(gnmeem, 'mercury switch', dtmeem).join(' ')),
  429. this.createVertexTemplateEntry(meem + 'mercury_switch_2;',
  430. 50, 90, '', 'Mercury Switch', null, null, this.getTagsForStencil(gnmeem, 'mercury switch', dtmeem).join(' '))
  431. ]);
  432. this.setCurrentSearchEntryLibrary('electrical', 'electrical\Diodes');
  433. this.addPaletteFunctions('electrical\Diodes', 'Electrical / Diodes', false,
  434. [
  435. this.createVertexTemplateEntry(med + 'diode;',
  436. 100, 60, '', 'PN Diode', null, null, this.getTagsForStencil(gnmed, 'diode', dtmed).join(' ')),
  437. this.createVertexTemplateEntry(med + 'gunn_diode;',
  438. 100, 60, '', 'Gunn Diode', null, null, this.getTagsForStencil(gnmed, 'gunn_diode', dtmed).join(' ')),
  439. this.createVertexTemplateEntry(med + 'schottky_diode;',
  440. 100, 60, '', 'Schottky Diode', null, null, this.getTagsForStencil(gnmed, 'schottky_diode', dtmed).join(' ')),
  441. this.createVertexTemplateEntry(med + 'zener_diode_2;',
  442. 100, 60, '', 'Breakdown', null, null, this.getTagsForStencil(gnmed, 'zener_diode_2', dtmed).join(' ')),
  443. this.createVertexTemplateEntry(med + 'tunnel_diode;',
  444. 100, 60, '', 'Tunnel Diode 1', null, null, this.getTagsForStencil(gnmed, 'tunnel_diode', dtmed).join(' ')),
  445. this.createVertexTemplateEntry(med + 'tunnel_diode_2;',
  446. 100, 80, '', 'Tunnel Diode 2', null, null, this.getTagsForStencil(gnmed, 'tunnel_diode_2', dtmed).join(' ')),
  447. this.createVertexTemplateEntry(med + 'field_effect_diode;',
  448. 100, 60, '', 'Field Effect Diode', null, null, this.getTagsForStencil(gnmed, 'field_effect_diode', dtmed).join(' ')),
  449. this.createVertexTemplateEntry(med + 'varactor_-_varicap;',
  450. 100, 60, '', 'Varactor - Varicap', null, null, this.getTagsForStencil(gnmed, 'varactor_-_varicap', dtmed).join(' ')),
  451. this.createVertexTemplateEntry(med + 'zener_diode_1;',
  452. 100, 60, '', 'Zener Diode 1', null, null, this.getTagsForStencil(gnmed, 'zener_diode_1', dtmed).join(' ')),
  453. this.createVertexTemplateEntry(med + 'zener_diode_3;',
  454. 100, 60, '', 'Zener Diode 2', null, null, this.getTagsForStencil(gnmed, 'zener_diode_3', dtmed).join(' ')),
  455. this.createVertexTemplateEntry(med + 'four_layer_diode;',
  456. 100, 80, '', 'Four Layer Diode', null, null, this.getTagsForStencil(gnmed, 'four_layer_diode', dtmed).join(' ')),
  457. this.createVertexTemplateEntry(med + 'transorb_1;',
  458. 100, 60, '', 'Transorb 1', null, null, this.getTagsForStencil(gnmed, 'transorb_1', dtmed).join(' ')),
  459. this.createVertexTemplateEntry(med + 'transorb_2;',
  460. 100, 60, '', 'Transorb 2', null, null, this.getTagsForStencil(gnmed, 'transorb_2', dtmed).join(' '))
  461. ]);
  462. this.setCurrentSearchEntryLibrary('electrical', 'electrical\Sources');
  463. this.addPaletteFunctions('electrical\Sources', 'Electrical / Sources', false,
  464. [
  465. this.createVertexTemplateEntry(mess + 'source;aspect=fixed;points=[[0.5,0,0],[1,0.5,0],[0.5,1,0],[0,0.5,0]];elSignalType=ac;',
  466. 60, 60, '', 'Source', null, null, this.getTagsForStencil(gnmess, 'source', dtmess).join(' ')),
  467. this.createVertexTemplateEntry(mess + 'source;aspect=fixed;points=[[0.5,0,0],[1,0.5,0],[0.5,1,0],[0,0.5,0]];elSignalType=dc1;',
  468. 60, 60, '', 'Source', null, null, this.getTagsForStencil(gnmess, 'source', dtmess).join(' ')),
  469. this.createVertexTemplateEntry(mess + 'source;aspect=fixed;points=[[0.5,0,0],[1,0.5,0],[0.5,1,0],[0,0.5,0]];elSignalType=dc3;',
  470. 60, 60, '', 'Source', null, null, this.getTagsForStencil(gnmess, 'source', dtmess).join(' ')),
  471. this.createVertexTemplateEntry(mess + 'source;aspect=fixed;points=[[0.5,0,0],[1,0.5,0],[0.5,1,0],[0,0.5,0]];elSignalType=none;elSourceType=dependent;',
  472. 60, 60, '', 'Source', null, null, this.getTagsForStencil(gnmess, 'source', dtmess).join(' ')),
  473. this.createVertexTemplateEntry(mess + 'source;aspect=fixed;points=[[0.5,0,0],[1,0.5,0],[0.5,1,0],[0,0.5,0]];elSignalType=dc2;elSourceType=dependent;',
  474. 60, 60, '', 'Source', null, null, this.getTagsForStencil(gnmess, 'source', dtmess).join(' ')),
  475. this.createVertexTemplateEntry(mess + 'source;aspect=fixed;points=[[0.5,0,0],[1,0.5,0],[0.5,1,0],[0,0.5,0]];elSourceType=dependent;elSignalType=dc3;',
  476. 60, 60, '', 'Source', null, null, this.getTagsForStencil(gnmess, 'source', dtmess).join(' ')),
  477. this.createVertexTemplateEntry(mess + 'source;aspect=fixed;points=[[0.5,0,0],[1,0.5,0],[0.5,1,0],[0,0.5,0]];elSignalType=noise;',
  478. 60, 60, '', 'Source', null, null, this.getTagsForStencil(gnmess, 'source', dtmess).join(' ')),
  479. this.createVertexTemplateEntry(mess + 'source;aspect=fixed;points=[[0.5,0,0],[1,0.5,0],[0.5,1,0],[0,0.5,0]];elSignalType=ideal;',
  480. 60, 60, '', 'Source', null, null, this.getTagsForStencil(gnmess, 'source', dtmess).join(' ')),
  481. this.createVertexTemplateEntry(mess + 'source;aspect=fixed;points=[[0.5,0,0],[1,0.5,0],[0.5,1,0],[0,0.5,0]];elSignalType=expSquib;',
  482. 60, 60, '', 'Source', null, null, this.getTagsForStencil(gnmess, 'source', dtmess).join(' ')),
  483. this.createVertexTemplateEntry(mess + 'current_source;',
  484. 40, 60, '', 'Current', null, null, this.getTagsForStencil(gnmess, 'current_source', dtmess).join(' ')),
  485. this.createVertexTemplateEntry(mess + 'dc_source_1;',
  486. 70, 75, '', 'DC', null, null, this.getTagsForStencil(gnmess, 'dc_source_1', dtmess).join(' ')),
  487. this.createVertexTemplateEntry('verticalLabelPosition=bottom;shadow=0;dashed=0;align=center;fillColor=strokeColor;html=1;verticalAlign=top;strokeWidth=1;shape=mxgraph.electrical.miscellaneous.monocell_battery;',
  488. 100, 60, '', 'Accumulator / Monocell Battery', null, null, this.getTagsForStencil(gnmess, 'accumulator monocell battery single cell', dtmem).join(' ')),
  489. this.createVertexTemplateEntry(mem + 'batteryStack;',
  490. 100, 60, '', 'Battery Stack', null, null, this.getTagsForStencil(gnmess, 'battery stack', dtmess).join(' ')),
  491. this.createVertexTemplateEntry('pointerEvents=1;verticalLabelPosition=bottom;shadow=0;dashed=0;align=center;fillColor=strokeColor;html=1;verticalAlign=top;strokeWidth=1;shape=mxgraph.electrical.miscellaneous.multicell_battery_tapped;',
  492. 100, 70, '', 'Multicell Battery Tapped', null, null, this.getTagsForStencil(gnmess, 'accumulator multicell battery tapped multi multiple cell', dtmem).join(' ')),
  493. this.createVertexTemplateEntry(mess + 'source;aspect=fixed;points=[[0.5,0,0],[1,0.5,0],[0.5,1,0],[0,0.5,0]];elSignalType=square;',
  494. 60, 60, '', 'Source, Square', null, null, this.getTagsForStencil(gnmess, 'source square', dtmess).join(' ')),
  495. this.createVertexTemplateEntry(mess + 'source;aspect=fixed;points=[[0.5,0,0],[1,0.5,0],[0.5,1,0],[0,0.5,0]];elSignalType=triangular;',
  496. 60, 60, '', 'Source, Triangular', null, null, this.getTagsForStencil(gnmess, 'source triangular', dtmess).join(' ')),
  497. this.createVertexTemplateEntry(mess + 'source;aspect=fixed;points=[[0.5,0,0],[1,0.5,0],[0.5,1,0],[0,0.5,0]];elSignalType=sawtooth;',
  498. 60, 60, '', 'Source, Sawtooth', null, null, this.getTagsForStencil(gnmess, 'source sawtooth', dtmess).join(' ')),
  499. this.createVertexTemplateEntry(mess + 'source;aspect=fixed;points=[[0.5,0,0],[1,0.5,0],[0.5,1,0],[0,0.5,0]];elSignalType=pulse;',
  500. 60, 60, '', 'Source, Pulse', null, null, this.getTagsForStencil(gnmess, 'source pulse', dtmess).join(' ')),
  501. this.createVertexTemplateEntry(mess + 'source;aspect=fixed;points=[[0.5,0,0],[1,0.5,0],[0.5,1,0],[0,0.5,0]];elSignalType=invPulse;',
  502. 60, 60, '', 'Source, Inverse Pulse', null, null, this.getTagsForStencil(gnmess, 'source inverse pulse', dtmess).join(' ')),
  503. this.createVertexTemplateEntry(mess + 'source;aspect=fixed;points=[[0.5,0,0],[1,0.5,0],[0.5,1,0],[0,0.5,0]];elSignalType=chopSquare;',
  504. 60, 60, '', 'Source, Chopped Square', null, null, this.getTagsForStencil(gnmess, 'source chopped square', dtmess).join(' ')),
  505. this.createVertexTemplateEntry(mess + 'source;aspect=fixed;points=[[0.5,0,0],[1,0.5,0],[0.5,1,0],[0,0.5,0]];elSignalType=stepOn;',
  506. 60, 60, '', 'Source, Step On', null, null, this.getTagsForStencil(gnmess, 'source step on', dtmess).join(' ')),
  507. this.createVertexTemplateEntry(mess + 'source;aspect=fixed;points=[[0.5,0,0],[1,0.5,0],[0.5,1,0],[0,0.5,0]];elSignalType=stepOff;',
  508. 60, 60, '', 'Source, Step Off', null, null, this.getTagsForStencil(gnmess, 'source step off', dtmess).join(' ')),
  509. this.createVertexTemplateEntry(mess + 'source;aspect=fixed;points=[[0.5,0,0],[1,0.5,0],[0.5,1,0],[0,0.5,0]];elSignalType=dc2;',
  510. 60, 60, '', 'Source, DC', null, null, this.getTagsForStencil(gnmess, 'source dc vertical', dtmess).join(' '))
  511. ]);
  512. this.setCurrentSearchEntryLibrary('electrical', 'electrical\Transistors');
  513. this.addPaletteFunctions('electrical\Transistors', 'Electrical / Transistors', false,
  514. [
  515. this.createVertexTemplateEntry(met + 'npn_transistor_1;',
  516. 95, 100, '', 'BJT (NPN)', null, null, this.getTagsForStencil(gnmet, 'npn_transistor_1', dtmet).join(' ')),
  517. this.createVertexTemplateEntry(met + 'npn_transistor_5;',
  518. 64, 100, '', 'BJT (NPN)', null, null, this.getTagsForStencil(gnmet, 'npn_transistor_5', dtmet).join(' ')),
  519. this.createVertexTemplateEntry(met + 'nigbt;',
  520. 64, 100, '', 'NIGBT', null, null, this.getTagsForStencil(gnmet, 'nigbt', dtmet).join(' ')),
  521. this.createVertexTemplateEntry(met + 'pnp_transistor_1;',
  522. 95, 100, '', 'BJT (PNP)', null, null, this.getTagsForStencil(gnmet, 'pnp_transistor_1', dtmet).join(' ')),
  523. this.createVertexTemplateEntry(met + 'pnp_transistor_5;',
  524. 64, 100, '', 'BJT (PNP)', null, null, this.getTagsForStencil(gnmet, 'pnp_transistor_5', dtmet).join(' ')),
  525. this.createVertexTemplateEntry(met + 'pigbt;',
  526. 64, 100, '', 'PIGBT', null, null, this.getTagsForStencil(gnmet, 'pigbt', dtmet).join(' ')),
  527. this.createVertexTemplateEntry(met + 'n-channel_jfet_1;',
  528. 95, 100, '', 'N Channel JFET', null, null, this.getTagsForStencil(gnmet, 'n-channel_jfet_1', dtmet).join(' ')),
  529. this.createVertexTemplateEntry(met + 'p-channel_jfet_1;',
  530. 95, 100, '', 'P Channel JFET', null, null, this.getTagsForStencil(gnmet, 'p-channel_jfet_1', dtmet).join(' ')),
  531. this.createVertexTemplateEntry(mef1 + 'n-channel_mosfet_1;',
  532. 95, 100, '', 'MOSFET (N)', null, null, this.getTagsForStencil(gnmet, 'n-channel_mosfet_1', dtmet).join(' ')),
  533. this.createVertexTemplateEntry(mef1 + 'p-channel_mosfet_1;',
  534. 95, 100, '', 'MOSFET (P)', null, null, this.getTagsForStencil(gnmet, 'p-channel_mosfet_1', dtmet).join(' ')),
  535. this.createVertexTemplateEntry(mef1 + 'mosfet_ic_n;',
  536. 95, 100, '', 'NMOS', null, null, this.getTagsForStencil(gnmet, 'mosfet_ic_n', dtmet).join(' ')),
  537. this.createVertexTemplateEntry(mef1 + 'mosfet_ic_p;',
  538. 95, 100, '', 'PMOS', null, null, this.getTagsForStencil(gnmet, 'mosfet_ic_p', dtmet).join(' ')),
  539. this.createVertexTemplateEntry(mef1 + 'mosfet_n_no_bulk;',
  540. 95, 100, '', 'MOSFET No Bulk (N)', null, null, this.getTagsForStencil(gnmet, 'mosfet_n_no_bulk', dtmet).join(' ')),
  541. this.createVertexTemplateEntry(mef1 + 'mosfet_p_no_bulk;',
  542. 95, 100, '', 'MOSFET No Bulk (P)', null, null, this.getTagsForStencil(gnmet, 'mosfet_p_no_bulk', dtmet).join(' ')),
  543. this.createVertexTemplateEntry(mef1 + 'dual_gate_mosfet_n;',
  544. 95, 100, '', 'Dual Gate MOSFET (N)', null, null, this.getTagsForStencil(gnmet, 'dual_gate_mosfet_n', dtmet).join(' ')),
  545. this.createVertexTemplateEntry(mef1 + 'dual_gate_mosfet_p;',
  546. 95, 100, '', 'Dual Gate MOSFET (P)', null, null, this.getTagsForStencil(gnmet, 'dual_gate_mosfet_p', dtmet).join(' ')),
  547. this.createVertexTemplateEntry(met + 'nmos;pointerEvents=1;',
  548. 60, 100, '', 'NMOS', null, null, this.getTagsForStencil(gnmet, 'nmos', dtmet).join(' ')),
  549. this.createVertexTemplateEntry(met + 'nmos_bulk;pointerEvents=1;',
  550. 60, 100, '', 'NMOS with Bulk', null, null, this.getTagsForStencil(gnmet, 'nmos bulk', dtmet).join(' ')),
  551. this.createVertexTemplateEntry(met + 'pmos;pointerEvents=1;',
  552. 60, 100, '', 'PMOS', null, null, this.getTagsForStencil(gnmet, 'pmos', dtmet).join(' ')),
  553. this.createVertexTemplateEntry(met + 'pmos_bulk;pointerEvents=1;',
  554. 60, 100, '', 'PMOS with Bulk', null, null, this.getTagsForStencil(gnmet, 'pmos bulk', dtmet).join(' '))
  555. ]);
  556. this.setCurrentSearchEntryLibrary('electrical', 'electrical\Instruments');
  557. this.addPaletteFunctions('electrical\Instruments', 'Electrical / Instruments', false,
  558. [
  559. this.createVertexTemplateEntry('verticalLabelPosition=middle;shadow=0;dashed=0;align=center;html=1;verticalAlign=middle;strokeWidth=1;shape=ellipse;aspect=fixed;fontSize=50;',
  560. 90, 90, 'A', 'Ammeter', null, null, this.getTagsForStencil(gnmein, 'ampermeter ammeter', dtmein).join(' ')),
  561. this.createVertexTemplateEntry(mein + 'galvanometer;',
  562. 90, 90, '', 'Galvanometer', null, null, this.getTagsForStencil(gnmein, 'galvanometer', dtmein).join(' ')),
  563. this.createVertexTemplateEntry(mein + 'oscilloscope;',
  564. 90, 90, '', 'Oscilloscope', null, null, this.getTagsForStencil(gnmein, 'oscilloscope', dtmein).join(' ')),
  565. this.createVertexTemplateEntry(mein + 'signal_generator;',
  566. 90, 90, '', 'Signal Generator', null, null, this.getTagsForStencil(gnmein, 'signal_generator', dtmein).join(' ')),
  567. this.createVertexTemplateEntry('verticalLabelPosition=middle;shadow=0;dashed=0;align=center;html=1;verticalAlign=middle;strokeWidth=1;shape=ellipse;aspect=fixed;fontSize=50;',
  568. 90, 90, 'V', 'Voltmeter', null, null, this.getTagsForStencil(gnmein, 'ampermeter ammeter', dtmein).join(' '))
  569. ]);
  570. this.setCurrentSearchEntryLibrary('electrical', 'electrical\Misc');
  571. this.addPaletteFunctions('electrical\Misc', 'Electrical / Misc', false,
  572. [
  573. this.createVertexTemplateEntry(mer + 'aerial_-_antenna_1;',
  574. 80, 100, '', 'Antenna', null, null, this.getTagsForStencil(gnmer, 'aerial_-_antenna_1', dtmer).join(' ')),
  575. this.createVertexTemplateEntry(mer + 'aerial_-_antenna_2;',
  576. 79, 100, '', 'Antenna', null, null, this.getTagsForStencil(gnmer, 'aerial_-_antenna_2', dtmer).join(' ')),
  577. this.createVertexTemplateEntry(mer + 'loop_antenna;',
  578. 64.8, 69.78, '', 'Loop Antenna', null, null, this.getTagsForStencil(gnmer, 'loop_antenna', dtmer).join(' ')),
  579. this.createVertexTemplateEntry(mem + 'loop_antenna',
  580. 100, 100, '', 'Loop Antenna', null, null, this.getTagsForStencil(gnmess, 'loop antenna', dtmem).join(' ')),
  581. this.createVertexTemplateEntry('verticalLabelPosition=middle;shadow=0;dashed=0;align=center;html=1;verticalAlign=middle;strokeWidth=1;shape=ellipse;aspect=fixed;fontSize=35;',
  582. 60, 60, 'M', 'Electrical Motor', null, null, this.getTagsForStencil(gnmeem, 'motor_1', dtmeem).join(' ')),
  583. this.createVertexTemplateEntry(mxConstants.STYLE_SHAPE + '=mxgraph.electrical.electro-mechanical.motor_2;html=1;shadow=0;dashed=0;align=center;fontSize=30;strokeWidth=1;',
  584. 100, 60, '', 'Motor Armature', null, null, this.getTagsForStencil(gnmeem, 'motor_2', dtmeem).join(' ')),
  585. this.createVertexTemplateEntry(mem + 'co-ax;',
  586. 40, 60, '', 'Co-Ax', null, null, this.getTagsForStencil(gnmem, 'co-ax', dtmem).join(' ')),
  587. this.createVertexTemplateEntry(mem + 'crystal_1;',
  588. 100, 40, '', 'Crystal', null, null, this.getTagsForStencil(gnmem, 'crystal_1', dtmem).join(' ')),
  589. this.createVertexTemplateEntry(mem + 'fuse_1;',
  590. 100, 20, '', 'Fuse (IEC)', null, null, this.getTagsForStencil(gnmem, 'fuse_1', dtmem).join(' ')),
  591. this.createVertexTemplateEntry(mem + 'fuse_2;',
  592. 100, 20, '', 'Fuse (IEEE)', null, null, this.getTagsForStencil(gnmem, 'fuse_2', dtmem).join(' ')),
  593. this.createVertexTemplateEntry(mem + 'fuse_3;',
  594. 100, 12, '', 'Fuse (obsolete)', null, null, this.getTagsForStencil(gnmem, 'fuse_3', dtmem).join(' ')),
  595. this.createVertexTemplateEntry(mem + 'fuse_4;',
  596. 100, 32, '', 'Fuse (IEEE)', null, null, this.getTagsForStencil(gnmem, 'fuse_4', dtmem).join(' ')),
  597. this.createVertexTemplateEntry(mem + 'light_bulb;',
  598. 60, 50, '', 'Light Bulb', null, null, this.getTagsForStencil(gnmem, 'light_bulb', dtmem).join(' ')),
  599. this.createVertexTemplateEntry(mem + 'illuminating_bulb;',
  600. 60, 50, '', 'Illuminating Bulb', null, null, this.getTagsForStencil(gnmem, 'illuminating_bulb', dtmem).join(' ')),
  601. this.createVertexTemplateEntry(mem + 'light_bulb;',
  602. 60, 50, '', 'Pilot Light', null, null, this.getTagsForStencil(gnmem, 'light_bulb', dtmem).join(' ')),
  603. this.createVertexTemplateEntry(mem + 'neon_lamp_2;',
  604. 60, 50, '', 'Neon Lamp', null, null, this.getTagsForStencil(gnmem, 'neon_lamp_2', dtmem).join(' ')),
  605. this.createVertexTemplateEntry(mem + 'flourescent_lamp',
  606. 80, 30, '', 'Flourescent Lamp', null, null, this.getTagsForStencil(gnmess, 'flourescent lamp', dtmem).join(' ')),
  607. this.createVertexTemplateEntry(meoe + 'lamp',
  608. 50, 100, '', 'Lamp', null, null, this.getTagsForStencil(gnmess, 'lamp', dtmeoe).join(' ')),
  609. this.createVertexTemplateEntry(mem + 'thermocouple;',
  610. 80, 81, '', 'Thermocouple', null, null, this.getTagsForStencil(gnmem, 'thermocouple', dtmem).join(' ')),
  611. this.createVertexTemplateEntry(mea + 'amplifier;',
  612. 90, 100, '', 'Amplifier', null, null, this.getTagsForStencil(gnmea, 'amplifier', dtmea).join(' ')),
  613. this.createVertexTemplateEntry(mea + 'controlled_amplifier;',
  614. 100, 90, '', 'Controlled Amplifier', null, null, this.getTagsForStencil(gnmea, 'controlled_amplifier', dtmea).join(' ')),
  615. this.createVertexTemplateEntry(mea + 'dac;',
  616. 70, 46, '', 'DAC', null, null, this.getTagsForStencil(gnmea, 'dac', dtmea).join(' ')),
  617. this.createVertexTemplateEntry(
  618. 'shadow=0;dashed=0;align=center;html=1;strokeWidth=1;shape=mxgraph.electrical.abstract.mux2;whiteSpace=wrap;',
  619. 80, 120, 'Mux', 'Mux', null, null, this.getTagsForStencil(gnmea, 'mux', dtmea).join(' ')),
  620. this.createVertexTemplateEntry(
  621. 'shadow=0;dashed=0;align=center;html=1;strokeWidth=1;shape=mxgraph.electrical.abstract.mux2;operation=demux;whiteSpace=wrap;',
  622. 80, 120, 'Demux', 'Demux', null, null, this.getTagsForStencil(gnmea, 'mux', dtmea).join(' ')),
  623. this.createVertexTemplateEntry(mea + 'operational_amp_1;',
  624. 98, 90, '', 'Operational Amp', null, null, this.getTagsForStencil(gnmea, 'operational_amp_1', dtmea).join(' ')),
  625. this.createVertexTemplateEntry(mea + 'operational_amp_2;',
  626. 98, 90, '', 'Operational Amp', null, null, this.getTagsForStencil(gnmea, 'operational_amp_2', dtmea).join(' ')),
  627. this.createVertexTemplateEntry(mea + 'ota_1;',
  628. 100, 90, '', 'OTA', null, null, this.getTagsForStencil(gnmea, 'ota_1', dtmea).join(' ')),
  629. this.createVertexTemplateEntry(mea + 'ota_2;',
  630. 100, 90, '', 'OTA', null, null, this.getTagsForStencil(gnmea, 'ota_2', dtmea).join(' ')),
  631. this.createVertexTemplateEntry(mea + 'ota_3;',
  632. 100, 90, '', 'OTA', null, null, this.getTagsForStencil(gnmea, 'ota_3', dtmea).join(' ')),
  633. this.createVertexTemplateEntry(mea + 'quantizer;',
  634. 52, 46, '', 'Quantizer', null, null, this.getTagsForStencil(gnmea, 'quantizer', dtmea).join(' ')),
  635. this.createVertexTemplateEntry(mea + 'delta;',
  636. 50, 50, '', 'Delta', null, null, this.getTagsForStencil(gnmea, 'delta', dtmea).join(' ')),
  637. this.createVertexTemplateEntry(mxConstants.STYLE_SHAPE + '=mxgraph.electrical.abstract.function;html=1;shadow=0;dashed=0;align=center;strokeWidth=1;fontSize=24',
  638. 50, 50, 'fn', 'Function', null, null, this.getTagsForStencil(gnmea, 'function', dtmea).join(' ')),
  639. this.createVertexTemplateEntry(mea + 'integrator;',
  640. 50, 50, '', 'Integrator', null, null, this.getTagsForStencil(gnmea, 'integrator', dtmea).join(' ')),
  641. this.createVertexTemplateEntry(mea + 'multiplier;',
  642. 50, 50, '', 'Multiplier', null, null, this.getTagsForStencil(gnmea, 'multiplier', dtmea).join(' ')),
  643. this.createVertexTemplateEntry(mea + 'sum;',
  644. 50, 50, '', 'Sum', null, null, this.getTagsForStencil(gnmea, 'sum', dtmea).join(' ')),
  645. this.createVertexTemplateEntry(mea + 'summation_point;',
  646. 50, 50, '', 'Summation Point', null, null, this.getTagsForStencil(gnmea, 'summation_point', dtmea).join(' ')),
  647. this.createVertexTemplateEntry(mea + 'filter;',
  648. 52, 46, '', 'Filter', null, null, this.getTagsForStencil(gnmea, 'filter', dtmea).join(' ')),
  649. this.createVertexTemplateEntry(s + '=mxgraph.electrical.logic_gates.bandpass_filter;',
  650. 52, 46, '', 'Bandpass Filter', null, null, this.getTagsForStencil('mxgraph.electrical.logic_gates', 'bandpass_filter', '').join(' ')),
  651. this.createVertexTemplateEntry(s + '=mxgraph.electrical.logic_gates.highpass_filter;',
  652. 52, 46, '', 'Highpass Filter', null, null, this.getTagsForStencil('mxgraph.electrical.logic_gates', 'highpass_filter', '').join(' ')),
  653. this.createVertexTemplateEntry(s + '=mxgraph.electrical.logic_gates.lowpass_filter;',
  654. 52, 46, '', 'Lowpass Filter', null, null, this.getTagsForStencil('mxgraph.electrical.logic_gates', 'lowpass_filter', '').join(' ')),
  655. this.createVertexTemplateEntry(mxConstants.STYLE_SHAPE + '=mxgraph.electrical.abstract.thermistor_with_independent_integral_heater;html=1;shadow=0;dashed=0;strokeWidth=1;align=center;overflow=fill;fontSize=12;',
  656. 100, 94.25,
  657. '<table cellpadding="0" cellspacing="0" style="width:100%;height:100%;">' +
  658. '<tr height="45%">' +
  659. '<td align="center">\\temp\\</td>' +
  660. '</tr>' +
  661. '<tr height="55%">' +
  662. '<td></td>' +
  663. '</tr>' +
  664. '</table>',
  665. 'Thermistor With Independent Integral Heater', null, null, this.getTagsForStencil(gnmea, 'thermistor_with_independent_integral_heater', dtmea).join(' ')),
  666. this.createVertexTemplateEntry(mea + 'voltage_regulator;',
  667. 70, 58, '', 'Voltage Regulator', null, null, this.getTagsForStencil(gnmea, 'voltage_regulator', dtmea).join(' ')),
  668. this.createVertexTemplateEntry(mess + 'vss2;fontSize=24;flipV=1;',
  669. 60, 40,
  670. 'V<sub>ss</sub>', 'Vss', null, null, this.getTagsForStencil(gnmess, 'vss', dtmess).join(' ')),
  671. this.createVertexTemplateEntry(mxConstants.STYLE_VERTICAL_LABEL_POSITION + '=top;' + mxConstants.STYLE_VERTICAL_ALIGN + '=bottom;' + mxConstants.STYLE_SHAPE + '=mxgraph.electrical.signal_sources.vdd;shadow=0;dashed=0;align=center;strokeWidth=1;fontSize=24;html=1;flipV=1;',
  672. 60, 40,
  673. 'V<sub>dd</sub>', 'Vdd', null, null, this.getTagsForStencil(gnmess, 'vdd', dtmess).join(' ')),
  674. this.createVertexTemplateEntry(mxConstants.STYLE_VERTICAL_LABEL_POSITION + '=top;' + mxConstants.STYLE_VERTICAL_ALIGN + '=bottom;' + mxConstants.STYLE_SHAPE + '=mxgraph.electrical.signal_sources.current_flow;shadow=0;dashed=0;align=center;strokeWidth=1;fontSize=10;html=1;',
  675. 70, 10,
  676. '5 mA', 'Current Flow', null, null, this.getTagsForStencil(gnmess, 'current_flow', dtmess).join(' ')),
  677. this.createVertexTemplateEntry(mxConstants.STYLE_LABEL_POSITION + '=right;' + mxConstants.STYLE_ALIGN + '=left;' + mxConstants.STYLE_SHAPE + '=mxgraph.electrical.signal_sources.voltage;shadow=0;dashed=0;strokeWidth=1;fontSize=10;html=1;',
  678. 10, 70,
  679. '1.2 V', 'Voltage', null, null, this.getTagsForStencil(gnmess, 'voltage', dtmess).join(' ')),
  680. this.createVertexTemplateEntry(mess + 'equipotential;',
  681. 90, 90, '', 'Equipotential', null, null, this.getTagsForStencil(gnmess, 'equipotential', dtmess).join(' ')),
  682. this.createVertexTemplateEntry(mess + 'protective_earth;',
  683. 25, 20, '', 'Equipotential', null, null, this.getTagsForStencil(gnmess, 'protective_earth', dtmess).join(' ')),
  684. this.createVertexTemplateEntry(mess + 'signal_ground;',
  685. 45, 30, '', 'Ground', null, null, this.getTagsForStencil(gnmess, 'signal_ground', dtmess).join(' ')),
  686. this.createVertexTemplateEntry(mem + 'chassis;',
  687. 65, 32, '', 'Chassis', null, null, this.getTagsForStencil(gnmess, 'chassis', dtmem).join(' ')),
  688. this.createVertexTemplateEntry(mem + 'circuit_breaker;',
  689. 100, 13, '', 'Circuit Breaker', null, null, this.getTagsForStencil(gnmess, 'circuit breaker', dtmem).join(' ')),
  690. this.createVertexTemplateEntry(mem + 'generic_component',
  691. 60, 60, '', 'Generic Component', null, null, this.getTagsForStencil(gnmess, 'generic component', dtmem).join(' ')),
  692. this.createVertexTemplateEntry(mem + 'permanent_magnet',
  693. 20, 70, '', 'Permanent Magnet', null, null, this.getTagsForStencil(gnmess, 'permanent magnet', dtmem).join(' ')),
  694. this.createVertexTemplateEntry(mem + 'thermal_element',
  695. 100, 32, '', 'Thermal Element', null, null, this.getTagsForStencil(gnmess, 'thermal element', dtmem).join(' ')),
  696. this.createVertexTemplateEntry(mem + 'igniter_plug2',
  697. 72, 39, '', 'Igniter Plug', null, null, this.getTagsForStencil(gnmess, 'igniter plug', dtmem).join(' ')),
  698. this.createVertexTemplateEntry('shape=mxgraph.arrows2.arrow;verticalLabelPosition=bottom;shadow=0;dashed=0;align=center;html=1;verticalAlign=top;strokeWidth=1;dy=0;dx=10;notch=0;',
  699. 100, 30, '', 'Pickup Head', null, null, this.getTagsForStencil(gnmess, 'pickup head', dtmem).join(' ')),
  700. this.createVertexTemplateEntry(mem + 'squib_ignitor',
  701. 100, 100, '', 'Squib Ignitor', null, null, this.getTagsForStencil(gnmess, 'squib ignitor', dtmem).join(' ')),
  702. this.createVertexTemplateEntry(mem + 'transducer',
  703. 70, 60, '', 'Transducer', null, null, this.getTagsForStencil(gnmess, 'transducer', dtmem).join(' ')),
  704. this.createVertexTemplateEntry(mem + 'transducer_2',
  705. 80, 100, '', 'Transducer', null, null, this.getTagsForStencil(gnmess, 'transducer', dtmem).join(' ')),
  706. this.createVertexTemplateEntry(mem + 'thermopile',
  707. 80, 82, '', 'Thermopile', null, null, this.getTagsForStencil(gnmess, 'thermopile', dtmem).join(' ')),
  708. this.createVertexTemplateEntry(mem + 'indicator',
  709. 60, 60, '', 'Indicator', null, null, this.getTagsForStencil(gnmess, 'indicator', dtmem).join(' ')),
  710. this.createVertexTemplateEntry('verticalLabelPosition=bottom;shadow=0;dashed=0;align=center;fillColor=strokeColor;html=1;verticalAlign=top;strokeWidth=1;shape=mxgraph.electrical.miscellaneous.surge_protector;',
  711. 70, 20, '', 'Surge Protector', null, null, this.getTagsForStencil(gnmess, 'surge protector', dtmem).join(' ')),
  712. this.createVertexTemplateEntry(mem + 'surge_protector_2;',
  713. 70, 24, '', 'Surge Protector', null, null, this.getTagsForStencil(gnmess, 'surge protector', dtmem).join(' ')),
  714. this.createVertexTemplateEntry('verticalLabelPosition=bottom;shadow=0;dashed=0;align=center;html=1;verticalAlign=top;strokeWidth=1;shape=rect;',
  715. 130, 50, '', 'Material', null, null, this.getTagsForStencil(gnmess, 'material', dtmem).join(' ')),
  716. this.createVertexTemplateEntry(mem + 'sensing_link_squib',
  717. 130, 40, '', 'Sensing Link Squib', null, null, this.getTagsForStencil(gnmess, 'sensing link squib', dtmem).join(' ')),
  718. this.createVertexTemplateEntry(mem + 'delay_element',
  719. 100, 100, '', 'Delay Element', null, null, this.getTagsForStencil(gnmess, 'delay_element', dtmem).join(' ')),
  720. this.createVertexTemplateEntry(mer + 'buzzer',
  721. 80, 50, '', 'Buzzer', null, null, this.getTagsForStencil(gnmess, 'buzzer', dtmer).join(' ')),
  722. this.createVertexTemplateEntry(mem + 'adapter',
  723. 100, 40, '', 'Adapter', null, null, this.getTagsForStencil(gnmess, 'adapter', dtmer).join(' ')),
  724. this.createVertexTemplateEntry('verticalLabelPosition=bottom;shadow=0;dashed=0;align=center;html=1;verticalAlign=top;strokeWidth=1;shape=ellipse;perimeter=ellipsePerimeter;',
  725. 15, 15, '', 'Circuit Terminal', null, null, this.getTagsForStencil(gnmess, 'circuit terminal', dtmer).join(' ')),
  726. this.createEdgeTemplateEntry('endArrow=open;html=1;strokeWidth=1;endFill=0;endSize=20;',
  727. 100, 0, '', 'M/F Contact', null, this.getTagsForStencil(gnmess, '', 'mf contact').join(' ')),
  728. this.createVertexTemplateEntry('verticalLabelPosition=bottom;shadow=0;dashed=0;align=center;fillColor=strokeColor;html=1;verticalAlign=top;strokeWidth=1;shape=mxgraph.electrical.miscellaneous.mf_contact_2',
  729. 100, 10, '', 'M/F Contact 2', null, null, this.getTagsForStencil(gnmess, 'mf contact', dtmer).join(' ')),
  730. this.createVertexTemplateEntry(mem + 'terminal_board',
  731. 75, 150, '', 'Terminal Board', null, null, this.getTagsForStencil(gnmess, 'terminal board', dtmer).join(' ')),
  732. this.createVertexTemplateEntry(mem + 'cable_termination',
  733. 100, 50, '', 'Cable Termination', null, null, this.getTagsForStencil(gnmess, 'cable termination', dtmer).join(' ')),
  734. this.createVertexTemplateEntry(mem + '2_conductor_jack',
  735. 100, 50, '', '2-Conductor Jack', null, null, this.getTagsForStencil(gnmess, '2 conductor jack two', dtmer).join(' ')),
  736. this.createVertexTemplateEntry(mem + '3_conductor_jack',
  737. 100, 50, '', '3-Conductor Jack', null, null, this.getTagsForStencil(gnmess, '3 conductor jack three', dtmer).join(' ')),
  738. this.createVertexTemplateEntry(mem + '2_conductor_plug',
  739. 53, 24, '', '2-Conductor Plug', null, null, this.getTagsForStencil(gnmess, '2 conductor plug two', dtmer).join(' ')),
  740. this.createVertexTemplateEntry(mem + '3_conductor_plug',
  741. 53, 24, '', '3 Conductor Plug', null, null, this.getTagsForStencil(gnmess, '3 conductor plug', dtmer).join(' ')),
  742. this.createVertexTemplateEntry(mem + 'normalled_jacks2',
  743. 230, 65, '', 'Normalled Jacks', null, null, this.getTagsForStencil(gnmess, 'normalled jacks', dtmer).join(' ')),
  744. this.createVertexTemplateEntry(mem + 'normalled_jack2',
  745. 110, 65, '', 'Normalled Jack', null, null, this.getTagsForStencil(gnmess, 'normalled jack', dtmer).join(' ')),
  746. this.createVertexTemplateEntry(mem + 'coaxial_outside_conductor',
  747. 300, 150, '', 'Coaxial Outside Conductor', null, null, this.getTagsForStencil(gnmess, 'coaxial outside conductor', dtmer).join(' ')),
  748. this.createVertexTemplateEntry(mem + 'coaxial_center_conductor',
  749. 300, 150, '', 'Coaxial Center Conductor', null, null, this.getTagsForStencil(gnmess, 'coaxial center conductor', dtmer).join(' ')),
  750. this.createVertexTemplateEntry(mem + 'large_d_connector',
  751. 375, 75, '', 'Large D Connector', null, null, this.getTagsForStencil(gnmess, 'large d connector', dtmer).join(' ')),
  752. this.createVertexTemplateEntry(mem + 'small_d_connector',
  753. 150, 75, '', 'Small D Connector', null, null, this.getTagsForStencil(gnmess, 'small d connector', dtmer).join(' ')),
  754. this.createVertexTemplateEntry(mem + 'c_header_connector',
  755. 200, 75, '', 'C Header Connector', null, null, this.getTagsForStencil(gnmess, 'c header connector', dtmer).join(' ')),
  756. this.createVertexTemplateEntry(mem + 'ac_out',
  757. 200, 100, '', 'AC Out', null, null, this.getTagsForStencil(gnmess, 'ac out alternate current', dtmer).join(' ')),
  758. this.createVertexTemplateEntry(mem + 'shielded_jack_plug',
  759. 50, 100, '', 'Shielded Jack/Plug', null, null, this.getTagsForStencil(gnmess, 'shielded jack plug', dtmer).join(' ')),
  760. this.createVertexTemplateEntry(mem + 'coaxial_jack_plug',
  761. 50, 100, '', 'Coaxial Jack/Plug', null, null, this.getTagsForStencil(gnmess, 'coaxial jack/plug', dtmer).join(' ')),
  762. this.createVertexTemplateEntry(mem + 'f_m_2_conductor_1',
  763. 100, 100, '', 'F/M 2 Conductor', null, null, this.getTagsForStencil(gnmess, 'fm 2 conductor', dtmer).join(' ')),
  764. this.createVertexTemplateEntry(mem + 'f_m_2_conductor_2',
  765. 100, 100, '', 'F/M 2 Conductor', null, null, this.getTagsForStencil(gnmess, 'fm 2 conductor', dtmer).join(' ')),
  766. this.createVertexTemplateEntry(mem + 'f_m_2_conductor_3',
  767. 100, 50, '', 'F/M 2 Conductor', null, null, this.getTagsForStencil(gnmess, 'fm 2 conductor', dtmer).join(' ')),
  768. this.createVertexTemplateEntry(mem + 'f_m_3_conductor_1',
  769. 100, 100, '', 'F/M 3 Conductor', null, null, this.getTagsForStencil(gnmess, 'fm 2 conductor', dtmer).join(' ')),
  770. this.createVertexTemplateEntry(mem + 'f_m_3_conductor_2',
  771. 100, 100, '', 'F/M 3 Conductor', null, null, this.getTagsForStencil(gnmess, 'fm 2 conductor', dtmer).join(' ')),
  772. this.createVertexTemplateEntry(mem + 'f_m_3_conductor_3',
  773. 100, 100, '', 'F/M 3 Conductor', null, null, this.getTagsForStencil(gnmess, 'fm 2 conductor', dtmer).join(' ')),
  774. this.createVertexTemplateEntry(mem + 'f_m_3_conductor_4',
  775. 100, 100, '', 'F/M 3 Conductor', null, null, this.getTagsForStencil(gnmess, 'fm 2 conductor', dtmer).join(' ')),
  776. this.createVertexTemplateEntry(mem + 'f_m_3_conductor_5',
  777. 100, 100, '', 'F/M 3 Conductor', null, null, this.getTagsForStencil(gnmess, 'fm 2 conductor', dtmer).join(' ')),
  778. this.createVertexTemplateEntry(mem + 'plug_socket_connection',
  779. 20, 20, '', 'Plug-Socket Connection', null, null, this.getTagsForStencil(gnmess, 'Plug Socket Connection', dtmer).join(' '))
  780. ]);
  781. this.setCurrentSearchEntryLibrary('electrical', 'electrical\Audio');
  782. this.addPaletteFunctions('electrical\Audio', 'Electrical / Audio', false,
  783. [
  784. this.createVertexTemplateEntry(mer + 'dipole;pointerEvents=1;',
  785. 100, 40, '', 'Dipole', null, null, this.getTagsForStencil(gnmer, 'dipole', dtmer).join(' ')),
  786. this.createVertexTemplateEntry(mer + 'electret_microphone;',
  787. 70, 70, '', 'Electret Microphone', null, null, this.getTagsForStencil(gnmer, 'electret_microphone', dtmer).join(' ')),
  788. this.createVertexTemplateEntry(mer + 'microphone_1;',
  789. 70, 70, '', 'Microphone', null, null, this.getTagsForStencil(gnmer, 'microphone_1', dtmer).join(' ')),
  790. this.createVertexTemplateEntry(mer + 'microphone_2;',
  791. 42, 70, '', 'Microphone', null, null, this.getTagsForStencil(gnmer, 'microphone_2', dtmer).join(' ')),
  792. this.createVertexTemplateEntry(meem + 'piezo_sounder;pointerEvents=1;',
  793. 100, 40, '', 'Piezo Sounder', null, null, this.getTagsForStencil(gnmeem, 'piezo_sounder', dtmeem).join(' ')),
  794. this.createVertexTemplateEntry(meem + 'buzzer;',
  795. 45, 60, '', 'Buzzer', null, null, this.getTagsForStencil(gnmeem, 'buzzer', dtmeem).join(' ')),
  796. this.createVertexTemplateEntry(meem + 'loudspeaker;',
  797. 25, 50, '', 'Loudspeaker', null, null, this.getTagsForStencil(gnmeem, 'loudspeaker', dtmeem).join(' ')),
  798. this.createVertexTemplateEntry(mer + 'headphones;pointerEvents=1;',
  799. 66, 56, '', 'Headphones', null, null, this.getTagsForStencil(gnmer, 'headphones', dtmer).join(' ')),
  800. this.createVertexTemplateEntry(meem + 'bell;',
  801. 47, 60, '', 'Bell', null, null, this.getTagsForStencil(gnmeem, 'bell', dtmeem).join(' '))
  802. ]);
  803. this.setCurrentSearchEntryLibrary('electrical', 'electrical\PlcLadder');
  804. this.addPaletteFunctions('electrical\PlcLadder', 'Electrical / PLC Ladder', false,
  805. [
  806. this.createVertexTemplateEntry(mep + 'contact;',
  807. 50, 25, '', 'Contact', null, null, this.getTagsForStencil(gnmep, 'contact', dtmep).join(' ')),
  808. this.createVertexTemplateEntry(mep + 'not_contact;',
  809. 50, 25, '', 'Contact (N)', null, null, this.getTagsForStencil(gnmep, 'not_contact', dtmep).join(' ')),
  810. this.createVertexTemplateEntry(mep + 'not_output_1;',
  811. 50, 25, '', 'Output (N)', null, null, this.getTagsForStencil(gnmep, 'not_output_1;', dtmep).join(' ')),
  812. this.createVertexTemplateEntry(mep + 'not_output_2;',
  813. 50, 25, '', 'Output (N)', null, null, this.getTagsForStencil(gnmep, 'not_output_2', dtmep).join(' ')),
  814. this.createVertexTemplateEntry(mep + 'output_1;',
  815. 50, 25, '', 'Output', null, null, this.getTagsForStencil(gnmep, 'output_1', dtmep).join(' ')),
  816. this.createVertexTemplateEntry(mep + 'output_2;',
  817. 50, 25, '', 'Output', null, null, this.getTagsForStencil(gnmep, 'output_2', dtmep).join(' '))
  818. ]);
  819. this.setCurrentSearchEntryLibrary('electrical', 'electrical\Optical');
  820. this.addPaletteFunctions('electrical\Optical', 'Electrical / Optical', false,
  821. [
  822. this.createVertexTemplateEntry(meoe + '7_segment_display;pointerEvents=1;',
  823. 74.7, 96.1, '', '7 Segment Display', null, null, this.getTagsForStencil(gnmeoe, '7_segment_display', dtmeoe).join(' ')),
  824. this.createVertexTemplateEntry(meoe + '7_segment_display_with_dp;pointerEvents=1;',
  825. 79.8, 96.9, '', '7 Segment Display with DP', null, null, this.getTagsForStencil(gnmeoe, '7_segment_display_with_dp', dtmeoe).join(' ')),
  826. this.createVertexTemplateEntry(meoe + '9_segment_display;pointerEvents=1;',
  827. 74.7, 96.1, '', '9 Segment Display', null, null, this.getTagsForStencil(gnmeoe, '9_segment_display', dtmeoe).join(' ')),
  828. this.createVertexTemplateEntry(meoe + '9_segment_display_with_dp;pointerEvents=1;',
  829. 79.8, 96.9, '', '9 Segment Display with DP', null, null, this.getTagsForStencil(gnmeoe, '9_segment_display_with_dp', dtmeoe).join(' ')),
  830. this.createVertexTemplateEntry(meoe + 'led_1;pointerEvents=1;',
  831. 100, 65, '', 'LED', null, null, this.getTagsForStencil(gnmeoe, 'led_1', dtmeoe).join(' ')),
  832. this.createVertexTemplateEntry(meoe + 'led_2;pointerEvents=1;',
  833. 100, 70, '', 'LED', null, null, this.getTagsForStencil(gnmeoe, 'led_2', dtmeoe).join(' ')),
  834. this.createVertexTemplateEntry(meoe + 'light-activated_scr;pointerEvents=1;',
  835. 100, 70, '', 'Light Activated SCR', null, null, this.getTagsForStencil(gnmeoe, 'light-activated_scr', dtmeoe).join(' ')),
  836. this.createVertexTemplateEntry(meoe + 'opto-coupler;',
  837. 99, 60, '', 'Opto-coupler', null, null, this.getTagsForStencil(gnmeoe, 'opto-coupler', dtmeoe).join(' ')),
  838. this.createVertexTemplateEntry(meoe + 'opto-transistor;',
  839. 100, 110, '', 'Opto-transistor', null, null, this.getTagsForStencil(gnmeoe, 'opto-transistor', dtmeoe).join(' ')),
  840. this.createVertexTemplateEntry(meoe + 'photodiode;pointerEvents=1;',
  841. 100, 70, '', 'Photodiode', null, null, this.getTagsForStencil(gnmeoe, 'photodiode', dtmeoe).join(' ')),
  842. this.createVertexTemplateEntry(meoe + 'photo_resistor_1;',
  843. 100, 90, '', 'Photo Resistor', null, null, this.getTagsForStencil(gnmeoe, 'photo_resistor_1', dtmeoe).join(' ')),
  844. this.createVertexTemplateEntry(meoe + 'photo_resistor_2;pointerEvents=1;',
  845. 100, 50, '', 'Photo Resistor', null, null, this.getTagsForStencil(gnmeoe, 'photo_resistor_2', dtmeoe).join(' ')),
  846. this.createVertexTemplateEntry(meoe + 'photo_resistor_3;',
  847. 100, 90, '', 'Photo Resistor', null, null, this.getTagsForStencil(gnmeoe, 'photo_resistor_3', dtmeoe).join(' ')),
  848. this.createVertexTemplateEntry(meoe + 'solar_cell;pointerEvents=1;',
  849. 100, 70, '', 'Solar Cell', null, null, this.getTagsForStencil(gnmeoe, 'solar_cell', dtmeoe).join(' '))
  850. ]);
  851. this.setCurrentSearchEntryLibrary('electrical', 'electrical\VacuumTubes');
  852. this.addPaletteFunctions('electrical\VacuumTubes', 'Electrical / Vacuum Tubes', false,
  853. [
  854. this.createVertexTemplateEntry(metd + 'diode;',
  855. 70, 77, '', 'Diode', null, null, this.getTagsForStencil(gnmetd, 'diode', dtmetd).join(' ')),
  856. this.createVertexTemplateEntry(metd + 'double_diode;',
  857. 70, 77, '', 'Double Diode', null, null, this.getTagsForStencil(gnmetd, 'double_diode', dtmetd).join(' ')),
  858. this.createVertexTemplateEntry(metd + 'triode;',
  859. 70, 77, '', 'Triode', null, null, this.getTagsForStencil(gnmetd, 'triode', dtmetd).join(' ')),
  860. this.createVertexTemplateEntry(metd + 'double_triode;',
  861. 70, 77, '', 'Double Triode', null, null, this.getTagsForStencil(gnmetd, 'double_triode', dtmetd).join(' ')),
  862. this.createVertexTemplateEntry(metd + 'tetrode;',
  863. 70, 77, '', 'Tetrode', null, null, this.getTagsForStencil(gnmetd, 'tetrode', dtmetd).join(' ')),
  864. this.createVertexTemplateEntry(metd + 'pentode;',
  865. 70, 77, '', 'Pentode', null, null, this.getTagsForStencil(gnmetd, 'pentode', dtmetd).join(' ')),
  866. this.createVertexTemplateEntry(metd + 'photocell;',
  867. 70, 87, '', 'Photocell', null, null, this.getTagsForStencil(gnmetd, 'photocell', dtmetd).join(' '))
  868. ]);
  869. this.setCurrentSearchEntryLibrary('electrical', 'electrical\Waveforms');
  870. this.addPaletteFunctions('electrical\Waveforms', 'Electrical / Waveforms', false,
  871. [
  872. this.createVertexTemplateEntry(mew + 'pulse_1;',
  873. 90, 90, '', 'Pulse', null, null, this.getTagsForStencil(gnmew, 'pulse_1', dtmew).join(' ')),
  874. this.createVertexTemplateEntry(mew + 'pulse_2;',
  875. 90, 90, '', 'Pulse', null, null, this.getTagsForStencil(gnmew, 'pulse_2', dtmew).join(' ')),
  876. this.createVertexTemplateEntry(mew + 'sawtooth;',
  877. 90, 40, '', 'Sawtooth', null, null, this.getTagsForStencil(gnmew, 'sawtooth', dtmew).join(' ')),
  878. this.createVertexTemplateEntry(mew + 'sine_wave;',
  879. 90, 66.18, '', 'Sine Wave', null, null, this.getTagsForStencil(gnmew, 'sine_wave', dtmew).join(' ')),
  880. this.createVertexTemplateEntry(mew + 'slow_square_wave;',
  881. 90, 80, '', 'Chopped Square Wave', null, null, this.getTagsForStencil(gnmew, 'slow_square_wave', dtmew).join(' ')),
  882. this.createVertexTemplateEntry(mew + 'square_wave;',
  883. 90, 80, '', 'square_wave', null, null, this.getTagsForStencil(gnmew, 'square_wave', dtmew).join(' ')),
  884. this.createVertexTemplateEntry(mew + 'step_1;',
  885. 90, 90, '', 'Step', null, null, this.getTagsForStencil(gnmew, 'step_1', dtmew).join(' ')),
  886. this.createVertexTemplateEntry(mew + 'step_2;',
  887. 90, 90, '', 'Step', null, null, this.getTagsForStencil(gnmew, 'step_2', dtmew).join(' '))
  888. ]);
  889. this.setCurrentSearchEntryLibrary('electrical', 'electrical\RotMech');
  890. this.addPaletteFunctions('electrical\RotMech', 'Electrical / Rotating Equipment & Mechanical Functions', false,
  891. [
  892. this.createVertexTemplateEntry('verticalLabelPosition=middle;shadow=0;dashed=0;align=center;html=1;verticalAlign=middle;strokeWidth=1;shape=ellipse;fontSize=32;perimeter=ellipsePerimeter;',
  893. 100, 100, 'M', 'Rotating Machine', null, null, this.getTagsForStencil(gnmerm, 'rotating machine', dtmerm).join(' ')),
  894. this.createVertexTemplateEntry(merm + 'armature;pointerEvents=1;',
  895. 100, 100, '', 'Armature', null, null, this.getTagsForStencil(gnmerm, 'armature', dtmerm).join(' ')),
  896. this.createVertexTemplateEntry(merm + 'field;pointerEvents=1;',
  897. 90, 15, '', 'Field', null, null, this.getTagsForStencil(gnmerm, 'field', dtmerm).join(' ')),
  898. this.createVertexTemplateEntry(mem + 'permanent_magnet;pointerEvents=1;',
  899. 20, 70, '', 'Permanent Magnet', null, null, this.getTagsForStencil(gnmerm, 'permanent magnet', dtmerm).join(' ')),
  900. this.createVertexTemplateEntry(merm + 'winding_connection;',
  901. 100, 100, '', 'Winding Connection', null, null, this.getTagsForStencil(gnmerm, 'winding connection', dtmerm).join(' ')),
  902. this.createVertexTemplateEntry(merm + 'synchro;',
  903. 80, 100, '', 'Synchro', null, null, this.getTagsForStencil(gnmerm, 'synchro', dtmerm).join(' ')),
  904. this.createVertexTemplateEntry('verticalLabelPosition=bottom;shadow=0;dashed=0;align=center;html=1;verticalAlign=top;strokeWidth=1;shape=trapezoid;perimeter=none;',
  905. 75, 25, '', 'Brake', null, null, this.getTagsForStencil(gnmerm, 'brake', dtmerm).join(' ')),
  906. this.createVertexTemplateEntry(merm + 'gearing;pointerEvents=1;',
  907. 100, 64, '', 'Gearing', null, null, this.getTagsForStencil(gnmerm, 'gearing', dtmerm).join(' ')),
  908. this.createVertexTemplateEntry(merm + 'verticalLabelPosition=bottom;shadow=0;dashed=0;align=center;fillColor=strokeColor;html=1;verticalAlign=top;strokeWidth=1;shape=mxgraph.electrical.rot_mech.rotation;',
  909. 69, 54, '', 'Rotation', null, null, this.getTagsForStencil(gnmerm, 'rotation', dtmerm).join(' ')),
  910. this.createVertexTemplateEntry(merm + 'clutch;pointerEvents=1;',
  911. 100, 20, '', 'Clutch', null, null, this.getTagsForStencil(gnmerm, 'clutch', dtmerm).join(' ')),
  912. this.createVertexTemplateEntry(merm + 'clutch_2;pointerEvents=1;',
  913. 90, 60, '', 'Clutch', null, null, this.getTagsForStencil(gnmerm, 'clutch', dtmerm).join(' ')),
  914. this.createVertexTemplateEntry(merm + 'delayed_action;pointerEvents=1;',
  915. 72, 50, '', 'Delayed Action', null, null, this.getTagsForStencil(gnmerm, 'delayed action', dtmerm).join(' ')),
  916. this.createVertexTemplateEntry(merm + 'manual_control;pointerEvents=1;',
  917. 50, 50, '', 'Manual Control', null, null, this.getTagsForStencil(gnmerm, 'manual control', dtmerm).join(' ')),
  918. this.createVertexTemplateEntry(merm + 'blocking_device;pointerEvents=1;',
  919. 100, 15, '', 'Blocking Device', null, null, this.getTagsForStencil(gnmerm, 'blocking device', dtmerm).join(' ')),
  920. this.createVertexTemplateEntry(merm + 'latching_device;pointerEvents=1;',
  921. 100, 22, '', 'Latching Device', null, null, this.getTagsForStencil(gnmerm, 'latching device', dtmerm).join(' ')),
  922. this.createVertexTemplateEntry(merm + 'mechanical_interlock;pointerEvents=1;',
  923. 100, 30, '', 'Mechanical Interlock', null, null, this.getTagsForStencil(gnmerm, 'mechanical interlock', dtmerm).join(' ')),
  924. this.createVertexTemplateEntry(merm + 'automatic_return;pointerEvents=1;',
  925. 100, 12, '', 'Automatic Return', null, null, this.getTagsForStencil(gnmerm, 'automatic_return', dtmerm).join(' ')),
  926. this.createVertexTemplateEntry(merm + 'detent;pointerEvents=1;',
  927. 100, 8, '', 'Detent', null, null, this.getTagsForStencil(gnmerm, 'detent', dtmerm).join(' '))
  928. ]);
  929. var sb = this;
  930. this.setCurrentSearchEntryLibrary('electrical', 'electrical\Transmission');
  931. var fns =
  932. [
  933. this.createVertexTemplateEntry(metr + 'bus_width;pointerEvents=1;',
  934. 130, 156, '', 'Bus Width', null, null, this.getTagsForStencil(gnmetr, 'bus width', dtmetr).join(' ')),
  935. this.createVertexTemplateEntry(metr + 'line_concentrator;',
  936. 130, 130, '', 'Line Concentrator', null, null, this.getTagsForStencil(gnmetr, 'line concentrator', dtmetr).join(' ')),
  937. this.createVertexTemplateEntry(metr + 'cable_group;pointerEvents=1;',
  938. 130, 130, '', 'Cable Group', null, null, this.getTagsForStencil(gnmetr, 'cable group', dtmetr).join(' ')),
  939. this.createVertexTemplateEntry(metr + 'overground_enclosure;',
  940. 130, 136, '', 'Overground Enclosure', null, null, this.getTagsForStencil(gnmetr, 'overground enclosure', dtmetr).join(' ')),
  941. this.createVertexTemplateEntry(metr + 'optical_fiber2;',
  942. 130, 80, '', 'Optical Fiber', null, null, this.getTagsForStencil(gnmetr, 'optical fiber', dtmetr).join(' ')),
  943. this.createVertexTemplateEntry('verticalLabelPosition=bottom;shadow=0;dashed=0;align=center;html=1;verticalAlign=top;strokeWidth=1;shape=ellipse;',
  944. 10, 10, '', 'Terminal', null, null, this.getTagsForStencil(gnmetr, 'terminal', dtmetr).join(' ')),
  945. this.createVertexTemplateEntry(metr + 'terminal_3_phase;pointerEvents=1;',
  946. 43, 10, '', 'Terminal 3 Phase', null, null, this.getTagsForStencil(gnmetr, 'Terminal 3 Phase', dtmetr).join(' ')),
  947. this.createVertexTemplateEntry('verticalLabelPosition=middle;shadow=0;dashed=0;align=center;html=1;verticalAlign=middle;strokeWidth=1;shape=ellipse;fontSize=50;fontStyle=1;perimeter=ellipsePerimeter;whiteSpace=wrap;',
  948. 130, 130, 'T', 'Terminal', null, null, this.getTagsForStencil(gnmetr, 'terminal', dtmetr).join(' ')),
  949. this.createVertexTemplateEntry(metr + 'line_cable;',
  950. 130, 60, '', 'Line/Cable', null, null, this.getTagsForStencil(gnmetr, 'line cable', dtmetr).join(' ')),
  951. this.createVertexTemplateEntry(metr + 'anticreepage_device;pointerEvents=1;',
  952. 130, 88, '', 'Anticreepage Device', null, null, this.getTagsForStencil(gnmetr, 'anticreepage device', dtmetr).join(' ')),
  953. this.createVertexTemplateEntry(metr + 'testPoint;',
  954. 60, 130, '', 'Test Point', null, null, this.getTagsForStencil(gnmetr, 'test point', dtmetr).join(' ')),
  955. this.createEdgeTemplateEntry('shape=wire;edgeStyle=orthogonalEdgeStyle;orthogonalLoop=1;jettySize=auto;html=1;sourcePerimeterSpacing=0;targetPerimeterSpacing=0;' +
  956. 'endArrow=none;curved=0;rounded=0;strokeColor=#009900;dashed=1;fillColor=#ffff00;dashPattern=12 12;fixDash=1;startSize=6;endSize=6;',
  957. 100, 0, '', 'Dashed Wire', null, this.getTagsForStencil(gnmess, '', 'cable wire dashed').join(' ')),
  958. this.createEdgeTemplateEntry('endArrow=none;html=1;strokeWidth=1;',
  959. 100, 0, '', 'Transmission Path', null, this.getTagsForStencil(gnmess, '', 'transmission path').join(' ')),
  960. this.createEdgeTemplateEntry('endArrow=classicThin;html=1;strokeWidth=1;endSize=20;',
  961. 100, 0, '', 'Direction of Flow', null, this.getTagsForStencil(gnmess, '', 'direction flow').join(' ')),
  962. this.createVertexTemplateEntry(metr + 'straightBus;',
  963. 90, 130, '', 'Straight Bus', null, null, this.getTagsForStencil(gnmetr, 'straight bus', dtmetr).join(' ')),
  964. this.createVertexTemplateEntry('html=1;shadow=0;dashed=0;align=center;verticalAlign=middle;shape=mxgraph.arrows2.bendArrow;dy=15;dx=38;notch=0;arrowHead=55;rounded=0;strokeWidth=1',
  965. 130, 130, '', 'Elbow Bus', null, null, this.getTagsForStencil(gnmetr, 'elbow bus', dtmetr).join(' ')),
  966. this.createVertexTemplateEntry('html=1;shadow=0;dashed=0;align=center;verticalAlign=middle;shape=mxgraph.arrows2.bendArrow;dy=15;dx=38;notch=0;arrowHead=55;rounded=0;strokeWidth=1;flipH=1;',
  967. 130, 130, '', 'Elbow Bus', null, null, this.getTagsForStencil(gnmetr, 'elbow bus', dtmetr).join(' ')),
  968. this.createVertexTemplateEntry(metr + '2_line_bus;',
  969. 130, 25, '', '2-Line Bus', null, null, this.getTagsForStencil(gnmetr, '2 two line bus', dtmetr).join(' ')),
  970. this.createVertexTemplateEntry(metr + '3_line_bus;',
  971. 130, 30, '', '3-Line Bus', null, null, this.getTagsForStencil(gnmetr, '3 three line bus', dtmetr).join(' ')),
  972. this.createVertexTemplateEntry(metr + '4_line_bus;',
  973. 130, 75, '', '4-Line Bus', null, null, this.getTagsForStencil(gnmetr, '3 three line bus', dtmetr).join(' ')),
  974. this.createVertexTemplateEntry(metr + '8_line_bus;',
  975. 130, 180, '', '8-Line Bus', null, null, this.getTagsForStencil(gnmetr, '3 three line bus', dtmetr).join(' ')),
  976. this.createVertexTemplateEntry(metr + 'twoLineBusElbow;notch=25;',
  977. 120, 120, '', '2-Line Bus Elbow', null, null, this.getTagsForStencil(gnmetr, '2 two line bus elbow', dtmetr).join(' ')),
  978. this.createVertexTemplateEntry(metr + 'threeLineBusElbow;notch=30;',
  979. 120, 120, '', '3-Line Bus Elbow', null, null, this.getTagsForStencil(gnmetr, '3 two line bus elbow', dtmetr).join(' ')),
  980. this.createVertexTemplateEntry(metr + 'fourLineBusElbow;notch=75;',
  981. 120, 120, '', '4-Line Bus Elbow', null, null, this.getTagsForStencil(gnmetr, '4 two line bus elbow', dtmetr).join(' ')),
  982. this.createVertexTemplateEntry(metr + 'eightLineBusElbow;notch=180;',
  983. 200, 200, '', '8-Line Bus Elbow', null, null, this.getTagsForStencil(gnmetr, '8 two line bus elbow', dtmetr).join(' '))
  984. ];
  985. this.addPalette('electrical\Transmission', 'Electrical / Transmission Paths', false, mxUtils.bind(this, function(content)
  986. {
  987. for (var i = 0; i < fns.length; i++)
  988. {
  989. content.appendChild(fns[i](content));
  990. }
  991. }));
  992. this.setCurrentSearchEntryLibrary();
  993. };
  994. })();