1(function() 2{ 3 // Adds P&ID shapes 4 Sidebar.prototype.addPidPalette = function(pids, dir) 5 { 6 this.setCurrentSearchEntryLibrary('pid', 'pidInstruments'); 7 this.addPidInstrumentsPalette(); 8 this.setCurrentSearchEntryLibrary('pid', 'pidMisc'); 9 this.addPidMiscPalette(); 10 this.setCurrentSearchEntryLibrary('pid', 'pidValves'); 11 this.addPidValvesPalette(); 12 this.setCurrentSearchEntryLibrary('pid', 'pidCompressors'); 13 this.addPidCompressorsPalette(); 14 this.setCurrentSearchEntryLibrary('pid', 'pidEngines'); 15 this.addPidEnginesPalette(); 16 this.setCurrentSearchEntryLibrary('pid', 'pidFilters'); 17 this.addPidFiltersPalette(); 18 this.setCurrentSearchEntryLibrary('pid', 'pidFlow Sensors'); 19 this.addPidFlowSensorsPalette(); 20 this.setCurrentSearchEntryLibrary('pid', 'pidPiping'); 21 this.addPidPipingPalette(); 22 23 var pidLibs = ['Instruments', 'Misc', 'Valves', 'Compressors', 'Engines', 'Filters', 'Flow Sensors', 'Piping']; 24 25 for (var i = 0; i < pids.length; i++) 26 { 27 if (mxUtils.indexOf(pidLibs, pids[i]) < 0) 28 { 29 this.setCurrentSearchEntryLibrary('pid', 'pid' + pids[i]); 30 this.addStencilPalette('pid' + pids[i], 'Proc. Eng. / ' + pids[i], 31 dir + '/pid/' + pids[i].toLowerCase().replace(' ', '_') + '.xml', 32 ';html=1;pointerEvents=1;align=center;' + mxConstants.STYLE_VERTICAL_LABEL_POSITION + '=bottom;' + mxConstants.STYLE_VERTICAL_ALIGN + '=top;dashed=0;', 33 null, null, null, null, null, 'pid'); 34 } 35 } 36 37 this.setCurrentSearchEntryLibrary(); 38 } 39 40 Sidebar.prototype.addPidInstrumentsPalette = function() 41 { 42 var s = 'html=1;outlineConnect=0;align=center;dashed=0;aspect=fixed;' + mxConstants.STYLE_SHAPE + "=mxgraph.pid2"; 43 var s2 = 'html=1;outlineConnect=0;align=center;dashed=0;' + mxConstants.STYLE_SHAPE + "=mxgraph.pid2"; 44 var gn = 'mxgraph.pid2inst'; 45 var dt = 'pid process instrumentation engineering instrument engineering '; 46 47 this.addPaletteFunctions('pidInstruments', 'Proc. Eng. / Instruments', false, 48 [ 49 this.createVertexTemplateEntry(s + 'inst.discInst;mounting=room', 50 50, 50, '<table cellpadding="4" cellspacing="0" border="0" style="font-size:1em;width:100%;height:100%;">' + 51 '<tr><td>TI</td></tr><tr><td>##</td></table> ', 'Discrete Instrument (control room)', null, null, this.getTagsForStencil(gn, 'discInst', dt + 'discrete control room').join(' ')), 52 this.createVertexTemplateEntry(s + 'inst.discInst;mounting=field', 53 50, 50, '<table cellpadding="4" cellspacing="0" border="0" style="font-size:1em;width:100%;height:100%;">' + 54 '<tr><td>TI</td></tr><tr><td>##</td></table> ', 'Discrete Instrument (field)', null, null, this.getTagsForStencil(gn, 'discInst', dt + 'discrete field').join(' ')), 55 this.createVertexTemplateEntry(s + 'inst.discInst;mounting=inaccessible', 56 50, 50, '<table cellpadding="4" cellspacing="0" border="0" style="font-size:1em;width:100%;height:100%;">' + 57 '<tr><td>TI</td></tr><tr><td>##</td></table> ', 'Discrete Instrument (inaccessible)', null, null, this.getTagsForStencil(gn, 'discInst', dt + 'discrete inaccessible').join(' ')), 58 this.createVertexTemplateEntry(s + 'inst.discInst;mounting=local', 59 50, 50, '<table cellpadding="4" cellspacing="0" border="0" style="font-size:1em;width:100%;height:100%;">' + 60 '<tr><td>TI</td></tr><tr><td>##</td></table> ', 'Discrete Instrument (local panel)', null, null, this.getTagsForStencil(gn, 'discInst', dt + 'discrete local panel').join(' ')), 61 62 this.createVertexTemplateEntry(s + 'inst.sharedCont;mounting=room', 63 50, 50, '<table cellpadding="4" cellspacing="0" border="0" style="font-size:1em;width:100%;height:100%;">' + 64 '<tr><td>TI</td></tr><tr><td>##</td></table> ', 'Shared Control/Display in DCS (control room)', null, null, this.getTagsForStencil(gn, 'sharedCont', dt + 'shared control display room').join(' ')), 65 this.createVertexTemplateEntry(s + 'inst.sharedCont;mounting=field', 66 50, 50, '<table cellpadding="4" cellspacing="0" border="0" style="font-size:1em;width:100%;height:100%;">' + 67 '<tr><td>TI</td></tr><tr><td>##</td></table> ', 'Shared Control/Display in DCS (field)', null, null, this.getTagsForStencil(gn, 'sharedCont', dt + 'shared control display dcs field').join(' ')), 68 this.createVertexTemplateEntry(s + 'inst.sharedCont;mounting=inaccessible', 69 50, 50, '<table cellpadding="4" cellspacing="0" border="0" style="font-size:1em;width:100%;height:100%;">' + 70 '<tr><td>TI</td></tr><tr><td>##</td></table> ', 'Shared Control/Display in DCS (inaccessible)', null, null, this.getTagsForStencil(gn, 'sharedCont', dt + 'shared control display dcs inaccessible').join(' ')), 71 this.createVertexTemplateEntry(s + 'inst.sharedCont;mounting=local', 72 50, 50, '<table cellpadding="4" cellspacing="0" border="0" style="font-size:1em;width:100%;height:100%;">' + 73 '<tr><td>TI</td></tr><tr><td>##</td></table> ', 'Shared Control/Display in DCS (local panel)', null, null, this.getTagsForStencil(gn, 'sharedCont', dt + 'shared control display dcs local panel').join(' ')), 74 75 this.createVertexTemplateEntry(s + 'inst.compFunc;mounting=room', 76 50, 50, '<table cellpadding="4" cellspacing="0" border="0" style="font-size:1em;width:100%;height:100%;">' + 77 '<tr><td>TI</td></tr><tr><td>##</td></table> ', 'Computer Function (control room)', null, null, this.getTagsForStencil(gn, 'compFunc', dt + 'computer function control room').join(' ')), 78 this.createVertexTemplateEntry(s + 'inst.compFunc;mounting=field', 79 50, 50, '<table cellpadding="4" cellspacing="0" border="0" style="font-size:1em;width:100%;height:100%;">' + 80 '<tr><td>TI</td></tr><tr><td>##</td></table> ', 'Computer Function (field)', null, null, this.getTagsForStencil(gn, 'compFunc', dt + 'computer function field').join(' ')), 81 this.createVertexTemplateEntry(s + 'inst.compFunc;mounting=inaccessible', 82 50, 50, '<table cellpadding="4" cellspacing="0" border="0" style="font-size:1em;width:100%;height:100%;">' + 83 '<tr><td>TI</td></tr><tr><td>##</td></table> ', 'Computer Function (inaccessible)', null, null, this.getTagsForStencil(gn, 'compFunc', dt + 'computer function inaccessible').join(' ')), 84 this.createVertexTemplateEntry(s + 'inst.compFunc;mounting=local', 85 50, 50, '<table cellpadding="4" cellspacing="0" border="0" style="font-size:1em;width:100%;height:100%;">' + 86 '<tr><td>TI</td></tr><tr><td>##</td></table> ', 'Computer Function (local panel)', null, null, this.getTagsForStencil(gn, 'compFunc', dt + 'computer function local panel').join(' ')), 87 88 this.createVertexTemplateEntry(s + 'inst.progLogCont;mounting=room', 89 50, 50, '<table cellpadding="4" cellspacing="0" border="0" style="font-size:1em;width:100%;height:100%;">' + 90 '<tr><td>TI</td></tr><tr><td>##</td></table> ', 'Programmable Logic Control (control room)', null, null, this.getTagsForStencil(gn, 'progLogCont', dt + 'programmable logic control plc room').join(' ')), 91 this.createVertexTemplateEntry(s + 'inst.progLogCont;mounting=field', 92 50, 50, '<table cellpadding="4" cellspacing="0" border="0" style="font-size:1em;width:100%;height:100%;">' + 93 '<tr><td>TI</td></tr><tr><td>##</td></table> ', 'Programmable Logic Control (field)', null, null, this.getTagsForStencil(gn, 'progLogCont', dt + 'programmable logic control plc field').join(' ')), 94 this.createVertexTemplateEntry(s + 'inst.progLogCont;mounting=inaccessible', 95 50, 50, '<table cellpadding="4" cellspacing="0" border="0" style="font-size:1em;width:100%;height:100%;">' + 96 '<tr><td>TI</td></tr><tr><td>##</td></table> ', 'Programmable Logic Control (inaccessible)', null, null, this.getTagsForStencil(gn, 'progLogCont', dt + 'programmable logic control plc inaccessible').join(' ')), 97 this.createVertexTemplateEntry(s + 'inst.progLogCont;mounting=local', 98 50, 50, '<table cellpadding="4" cellspacing="0" border="0" style="font-size:1em;width:100%;height:width;">' + 99 '<tr><td>TI</td></tr><tr><td>##</td></table> ', 'Programmable Logic Control (local panel)', null, null, this.getTagsForStencil(gn, 'progLogCont', dt + 'programmable logic control plc local panel').join(' ')), 100 101 this.createVertexTemplateEntry(s + 'inst.logic;mounting=room', 102 50, 50, '<table cellpadding="4" cellspacing="0" border="0" style="font-size:1em;width:100%;height:100%;">' + 103 '<tr><td>TI</td></tr><tr><td>##</td></table> ', 'Logic (control room)', null, null, this.getTagsForStencil(gn, 'logic', dt + 'control room').join(' ')), 104 this.createVertexTemplateEntry(s + 'inst.logic;mounting=field', 105 50, 50, '<table cellpadding="4" cellspacing="0" border="0" style="font-size:1em;width:100%;height:100%;">' + 106 '<tr><td>TI</td></tr><tr><td>##</td></table> ', 'Logic (field)', null, null, this.getTagsForStencil(gn, 'logic', dt + 'field').join(' ')), 107 this.createVertexTemplateEntry(s + 'inst.logic;mounting=inaccessible', 108 50, 50, '<table cellpadding="4" cellspacing="0" border="0" style="font-size:1em;width:100%;height:100%;">' + 109 '<tr><td>TI</td></tr><tr><td>##</td></table> ', 'Logic (inaccessible)', null, null, this.getTagsForStencil(gn, 'logic', dt + 'inaccessible').join(' ')), 110 this.createVertexTemplateEntry(s + 'inst.logic;mounting=local', 111 50, 50, '<table cellpadding="4" cellspacing="0" border="0" style="font-size:1em;width:100%;height:100%;">' + 112 '<tr><td>TI</td></tr><tr><td>##</td></table> ', 'Logic (local panel)', null, null, this.getTagsForStencil(gn, 'logic', dt + 'local panel').join(' ')), 113 114 this.createVertexTemplateEntry(s2 + 'inst.indicator;mounting=room;overflow=fill;indType=inst', 50, 100, 115 '<table cellpadding="0" cellspacing="0" style="font-size:1em;width:100%;height:100%;"><tr><td align="center" height="25">TI</td></tr><tr><td align="center" height="25">##</td></tr><tr><td align="center" valign="bottom"></td></tr></table>', 116 'Indicator (Instrument)', null, null, this.getTagsForStencil(gn, 'indicator', dt + 'indicator').join(' ')), 117 this.createVertexTemplateEntry(s2 + 'inst.indicator;mounting=room;overflow=fill;indType=ctrl', 50, 100, 118 '<table cellpadding="0" cellspacing="0" style="font-size:1em;width:100%;height:100%;"><tr><td align="center" height="25">TI</td></tr><tr><td align="center" height="25">##</td></tr><tr><td align="center" valign="bottom"></td></tr></table>', 119 'Indicator (Control)', null, null, this.getTagsForStencil(gn, 'indicator', dt + 'indicator control').join(' ')), 120 this.createVertexTemplateEntry(s2 + 'inst.indicator;mounting=room;overflow=fill;indType=func', 50, 100, 121 '<table cellpadding="0" cellspacing="0" style="font-size:1em;width:100%;height:100%;"><tr><td align="center" height="25">TI</td></tr><tr><td align="center" height="25">##</td></tr><tr><td align="center" valign="bottom"></td></tr></table>', 122 'Indicator (Function)', null, null, this.getTagsForStencil(gn, 'indicator', dt + 'indicator function').join(' ')), 123 this.createVertexTemplateEntry(s2 + 'inst.indicator;mounting=room;overflow=fill;indType=plc', 50, 100, 124 '<table cellpadding="0" cellspacing="0" style="font-size:1em;width:100%;height:100%;"><tr><td align="center" height="25">TI</td></tr><tr><td align="center" height="25">##</td></tr><tr><td align="center" valign="bottom"></td></tr></table>', 125 'Indicator (PLC)', null, null, this.getTagsForStencil(gn, 'indicator', dt + 'indicator plc programmable logic control').join(' ')) 126 ]); 127 }; 128 129 Sidebar.prototype.addPidValvesPalette = function() 130 { 131 var s = 'dashed=0;outlineConnect=0;html=1;' + mxConstants.STYLE_SHAPE + "=mxgraph.pid2"; 132 var sv = mxConstants.STYLE_VERTICAL_LABEL_POSITION + '=bottom;align=center;html=1;' + mxConstants.STYLE_VERTICAL_ALIGN + '=top;pointerEvents=1;dashed=0;' + mxConstants.STYLE_SHAPE + "=mxgraph.pid2valves.valve;valveType="; 133 var s = mxConstants.STYLE_VERTICAL_LABEL_POSITION + '=bottom;align=center;html=1;' + mxConstants.STYLE_VERTICAL_ALIGN + '=top;pointerEvents=1;dashed=0;' + mxConstants.STYLE_SHAPE + "=mxgraph.pid2valves."; 134 var gn = 'mxgraph.pid2valves'; 135 var dt = 'pid process instrumentation engineering '; 136 137 this.addPaletteFunctions('pidValves', 'Proc. Eng. / Valves', false, 138 [ 139 this.createVertexTemplateEntry(sv + 'gate', 100, 60, '', 'Gate Valve', null, null, this.getTagsForStencil(gn, 'valve', dt + 'gate').join(' ')), 140 this.createVertexTemplateEntry(sv + 'gate;defState=closed', 100, 60, '', 'Normally Closed Gate Valve', null, null, this.getTagsForStencil(gn, 'valve', dt + 'normally closed nc gate').join(' ')), 141 this.createVertexTemplateEntry(sv + 'ball', 100, 60, '', 'Ball Valve', null, null, this.getTagsForStencil(gn, 'valve', dt + 'ball').join(' ')), 142 this.createVertexTemplateEntry(sv + 'ball;defState=closed', 100, 60, '', 'Normally Closed Ball Valve', null, null, this.getTagsForStencil(gn, 'valve', dt + 'normally closed nc ball').join(' ')), 143 this.createVertexTemplateEntry(sv + 'globe', 100, 60, '', 'Globe Valve', null, null, this.getTagsForStencil(gn, 'valve', dt + 'globe').join(' ')), 144 this.createVertexTemplateEntry(sv + 'butterfly', 100, 60, '', 'Butterfly Valve', null, null, this.getTagsForStencil(gn, 'valve', dt + 'butterfly').join(' ')), 145 this.createVertexTemplateEntry(sv + 'check;', 100, 60, '', 'Check Valve', null, null, this.getTagsForStencil(gn, 'valve', dt + 'check').join(' ')), 146 this.createVertexTemplateEntry(sv + 'plug', 100, 60, '', 'Plug Valve', null, null, this.getTagsForStencil(gn, 'valve', dt + 'plug').join(' ')), 147 this.createVertexTemplateEntry(sv + 'needle', 100, 60, '', 'Needle Valve', null, null, this.getTagsForStencil(gn, 'valve', dt + 'needle').join(' ')), 148 this.createVertexTemplateEntry(sv + 'selfDrain', 100, 60, '', 'Self Draining Valve', null, null, this.getTagsForStencil(gn, 'valve', dt + 'self draining').join(' ')), 149 this.createVertexTemplateEntry(sv + 'gate;actuator=man', 100, 100, '', 'Gate Valve (Manual)', null, null, this.getTagsForStencil(gn, 'valve', dt + 'gate manual').join(' ')), 150 this.createVertexTemplateEntry(sv + 'gate;actuator=diaph', 100, 100, '', 'Gate Valve (Diaphragm)', null, null, this.getTagsForStencil(gn, 'valve', dt + 'gate diaphragm').join(' ')), 151 this.createVertexTemplateEntry(sv + 'gate;actuator=balDiaph', 100, 100, '', 'Gate Valve (Balanced Diaphragm)', null, null, this.getTagsForStencil(gn, 'valve', dt + 'gate balanced diaphragm').join(' ')), 152 153 this.addEntry(dt + 'valve gate powered', function() 154 { 155 var bg1 = new mxCell('', new mxGeometry(0, 0, 100, 100), sv + 'gate;actuator=powered'); 156 bg1.vertex = true; 157 var item1 = new mxCell('', new mxGeometry(32.5, 0, 35, 35), 'part=1;strokeColor=none;fillColor=none;fontStyle=1;fontSize=14;'); 158 item1.vertex = true; 159 bg1.insert(item1); 160 161 return sb.createVertexTemplateFromCells([bg1], 100, 100, 'Gate Valve (Powered)'); 162 }), 163 164 this.createVertexTemplateEntry(sv + 'gate;actuator=digital', 100, 100, '', 'Gate Valve (Digital)', null, null, this.getTagsForStencil(gn, 'valve', dt + 'gate digital').join(' ')), 165 this.createVertexTemplateEntry(sv + 'gate;actuator=elHyd', 100, 100, '', 'Gate Valve (Electro-Hydraulic)', null, null, this.getTagsForStencil(gn, 'valve', dt + 'gate electro hydraulic').join(' ')), 166 this.createVertexTemplateEntry(sv + 'gate;actuator=key', 100, 100, '', 'Gate Valve (Key)', null, null, this.getTagsForStencil(gn, 'valve', dt + 'gate key').join(' ')), 167 this.createVertexTemplateEntry(sv + 'gate;actuator=motor', 100, 100, '', 'Gate Valve (Motor)', null, null, this.getTagsForStencil(gn, 'valve', dt + 'gate motor').join(' ')), 168 this.createVertexTemplateEntry(sv + 'gate;actuator=pilot', 100, 100, '', 'Gate Valve (Pilot)', null, null, this.getTagsForStencil(gn, 'valve', dt + 'gate pilot').join(' ')), 169 this.createVertexTemplateEntry(sv + 'gate;actuator=solenoid', 100, 100, '', 'Gate Valve (Solenoid)', null, null, this.getTagsForStencil(gn, 'valve', dt + 'gate solenoid').join(' ')), 170 this.createVertexTemplateEntry(sv + 'gate;actuator=solenoidManRes', 100, 100, '', 'Gate Valve (Solenoid With Manual Reset)', null, null, this.getTagsForStencil(gn, 'valve', dt + 'gate solenoid manual reset').join(' ')), 171 this.createVertexTemplateEntry(sv + 'gate;actuator=spring', 100, 100, '', 'Gate Valve (Spring)', null, null, this.getTagsForStencil(gn, 'valve', dt + 'gate spring').join(' ')), 172 this.createVertexTemplateEntry(sv + 'gate;actuator=weight', 100, 100, '', 'Gate Valve (Weight)', null, null, this.getTagsForStencil(gn, 'valve', dt + 'gate weight').join(' ')), 173 this.createVertexTemplateEntry(sv + 'gate;actuator=singActing', 100, 100, '', 'Gate Valve (Single Acting Cylinder)', null, null, this.getTagsForStencil(gn, 'valve', dt + 'gate single acting cylinder').join(' ')), 174 this.createVertexTemplateEntry(sv + 'gate;actuator=dblActing', 100, 100, '', 'Gate Valve (Double Acting Cylinder)', null, null, this.getTagsForStencil(gn, 'valve', dt + 'gate double acting cylinder').join(' ')), 175 this.createVertexTemplateEntry(sv + 'gate;actuator=angBlow', 100, 100, '', 'Angle Blowdown Valve', null, null, this.getTagsForStencil(gn, 'valve', dt + 'angle blowdown').join(' ')), 176 this.createVertexTemplateEntry(s + 'blockBleedValve;actuator=none', 100, 130, '', 'Integrated Block and Bleed Valve', null, null, this.getTagsForStencil(gn, 'blockBleedValve', dt + 'integrated block bleed').join(' ')), 177 this.createVertexTemplateEntry(s + 'blockBleedValve;actuator=man', 100, 170, '', 'Integrated Block and Bleed Valve (Manual)', null, null, this.getTagsForStencil(gn, 'blockBleedValve', dt + 'integrated block bleed manual').join(' ')), 178 this.createVertexTemplateEntry(sv + 'angle;actuator=none', 100, 80, '', 'Angle Valve', null, null, this.getTagsForStencil(gn, 'valve', dt + 'angle').join(' ')), 179 this.createVertexTemplateEntry(sv + 'angle;actuator=man', 100, 120, '', 'Angle Valve (Manual)', null, null, this.getTagsForStencil(gn, 'valve', dt + 'angle manual').join(' ')), 180 this.createVertexTemplateEntry(sv + 'angleGlobe;actuator=none', 100, 80, '', 'Angle Globe Valve', null, null, this.getTagsForStencil(gn, 'valve', dt + 'angle globe').join(' ')), 181 this.createVertexTemplateEntry(sv + 'angleGlobe;actuator=man', 100, 120, '', 'Angle Globe Valve (Manual)', null, null, this.getTagsForStencil(gn, 'valve', dt + 'angle globe manual').join(' ')), 182 this.createVertexTemplateEntry(sv + 'threeWay;actuator=none', 100, 80, '', '3 Way Valve', null, null, this.getTagsForStencil(gn, 'valve', dt + 'three way').join(' ')), 183 this.createVertexTemplateEntry(sv + 'threeWay;actuator=man', 100, 120, '', '3 Way Valve (Manual)', null, null, this.getTagsForStencil(gn, 'valve', dt + 'three way manual').join(' ')), 184 this.createVertexTemplateEntry(s + 'autoRecircValve', 100, 60, '', 'Auto Recirculation Valve', null, null, this.getTagsForStencil(gn, 'blockBleedValve', dt + 'auto recirculation').join(' ')) 185 ]); 186 }; 187 188 Sidebar.prototype.addPidCompressorsPalette = function() 189 { 190 var s = mxConstants.STYLE_VERTICAL_LABEL_POSITION + '=bottom;outlineConnect=0;align=center;dashed=0;html=1;' + mxConstants.STYLE_VERTICAL_ALIGN + '=top;' + mxConstants.STYLE_SHAPE + "=mxgraph.pid.compressors."; 191 var gn = 'mxgraph.pid.compressors'; 192 var dt = 'pid process instrumentation engineering '; 193 194 this.addPaletteFunctions('pidCompressors', 'Proc. Eng. / Compressors', false, 195 [ 196 this.createVertexTemplateEntry(s + 'ac_air_compressor', 100, 65, '', 'AC Air Compressor', null, null, this.getTagsForStencil(gn, 'ac_air_compressor', dt + '').join(' ')), 197 this.createVertexTemplateEntry(s + 'centrifugal_compressor', 70, 70, '', 'Centrifugal Compressor', null, null, this.getTagsForStencil(gn, 'centrifugal_compressor', dt + '').join(' ')), 198 this.createVertexTemplateEntry(mxConstants.STYLE_SHAPE + '=mxgraph.pid.compressors.centrifugal_compressor_-_turbine_driven;dashed=0;fontSize=8;html=1;overflow=fill;', 100, 70, 199 '<table cellpadding="0" cellspacing="0" style="width:100%;height:100%;">' + 200 '<tr style="height:25%;">' + 201 '<td></td>' + 202 '</tr>' + 203 '<tr style="height:75%;">' + 204 '<td align="left" style="padding-left:11%;width:100%">T</td>' + 205 '</tr>' + 206 '</table>', 207 'Centrifugal Compressor - Turbine Driven', null, null, this.getTagsForStencil(gn, 'centrifugal_compressor_-_turbine_driven', dt + '').join(' ')), 208 this.createVertexTemplateEntry(s + 'compressor', 100, 100, '', 'Compressor', null, null, this.getTagsForStencil(gn, 'compressor', dt + '').join(' ')), 209 this.createVertexTemplateEntry(s + 'compressor_and_silencers;pointerEvents=1', 90, 80, '', 'Compressor and Silencers', null, null, this.getTagsForStencil(gn, 'compressor_and_silencers', dt + 'silencer').join(' ')), 210 this.createVertexTemplateEntry(s + 'liquid_ring_compressor', 90, 90, '', 'Liquid Ring Compressor', null, null, this.getTagsForStencil(gn, 'liquid_ring_compressor', dt + '').join(' ')), 211 this.createVertexTemplateEntry(s + 'reciprocating_compressor', 100, 40, '', 'Reciprocating Compressor', null, null, this.getTagsForStencil(gn, 'reciprocating_compressor', dt + '').join(' ')), 212 this.createVertexTemplateEntry(s + 'reciprocating_compressor_2', 50, 65, '', 'Reciprocating Compressor 2', null, null, this.getTagsForStencil(gn, 'reciprocating_compressor_2', dt + '').join(' ')), 213 this.createVertexTemplateEntry(s + 'rotary_compressor', 42, 91, '', 'Rotary Compressor', null, null, this.getTagsForStencil(gn, 'rotary_compressor', dt + '').join(' ')) 214 ]); 215 }; 216 217 Sidebar.prototype.addPidEnginesPalette = function() 218 { 219 var s = "dashed=0;outlineConnect=0;align=center;html=1;" + mxConstants.STYLE_SHAPE + "=mxgraph.pid.engines."; 220 var sb = mxConstants.STYLE_VERTICAL_LABEL_POSITION + '=bottom;align=center;dashed=0;html=1;' + mxConstants.STYLE_VERTICAL_ALIGN + '=top;' + mxConstants.STYLE_SHAPE + "=mxgraph.pid.engines."; 221 var gn = 'mxgraph.pid.engines'; 222 var dt = 'pid process instrumentation engine motor '; 223 224 this.addPaletteFunctions('pidEngines', 'Proc. Eng. / Engines', false, 225 [ 226 this.createVertexTemplateEntry(s + 'electric_motor;fontSize=45;', 100, 100, 'M', 'Electric Motor', null, null, this.getTagsForStencil(gn, 'electric_motor', dt).join(' ')), 227 this.createVertexTemplateEntry(s + 'electric_motor_(ac);fontSize=45;', 100, 100, 'M', 'Electric Motor (AC)', null, null, this.getTagsForStencil(gn, 'electric_motor_(ac)', dt).join(' ')), 228 this.createVertexTemplateEntry(s + 'electric_motor_(dc);fontSize=45;', 100, 100, 'M', 'Electric Motor (DC)', null, null, this.getTagsForStencil(gn, 'electric_motor_(dc)', dt).join(' ')), 229 this.createVertexTemplateEntry(s + 'gear;fontSize=45;', 100, 100, 'G', 'Gear', null, null, this.getTagsForStencil(gn, 'gear', dt).join(' ')), 230 this.createVertexTemplateEntry(s + 'generator;fontSize=45;', 100, 100, 'G', 'Generator', null, null, this.getTagsForStencil(gn, 'generator', dt).join(' ')), 231 this.createVertexTemplateEntry(s + 'generator_(ac);fontSize=45;', 100, 100, 'G', 'Generator (AC)', null, null, this.getTagsForStencil(gn, 'generator_(ac)', dt).join(' ')), 232 this.createVertexTemplateEntry(s + 'generator_(dc);fontSize=45;', 100, 100, 'G', 'Generator (DC)', null, null, this.getTagsForStencil(gn, 'generator_(dc)', dt).join(' ')), 233 this.createVertexTemplateEntry(sb + 'turbine', 70, 100, '', 'Turbine', null, null, this.getTagsForStencil(gn, 'turbine', dt).join(' ')) 234 ]); 235 }; 236 237 Sidebar.prototype.addPidFiltersPalette = function() 238 { 239 var s = "html=1;dashed=0;outlineConnect=0;align=center;" + mxConstants.STYLE_SHAPE + "=mxgraph.pid.filters."; 240 var sb = mxConstants.STYLE_VERTICAL_LABEL_POSITION + '=bottom;align=center;dashed=0;html=1;' + mxConstants.STYLE_VERTICAL_ALIGN + '=top;' + mxConstants.STYLE_SHAPE + "=mxgraph.pid.filters."; 241 var gn = 'mxgraph.pid.filters'; 242 var dt = 'pid process instrumentation filter '; 243 244 this.addPaletteFunctions('pidFilters', 'Proc. Eng. / Filters', false, 245 [ 246 this.createVertexTemplateEntry(sb + 'filter;', 247 50, 50, '', 'Filter', null, null, this.getTagsForStencil(gn, 'filter', dt).join(' ')), 248 this.createVertexTemplateEntry(sb + 'gas_filter;', 249 50, 100, '', 'Gas Filter', null, null, this.getTagsForStencil(gn, 'gas_filter', dt).join(' ')), 250 this.createVertexTemplateEntry(sb + 'gas_filter_(bag,_candle,_cartridge);', 251 50, 100, '', 'Gas Filter (Bag, Candle, Cartridge)', null, null, this.getTagsForStencil(gn, 'gas_filter_(bag,_candle,_cartridge)', dt).join(' ')), 252 this.createVertexTemplateEntry(sb + 'gas_filter_(belt,_roll);', 253 50, 100, '', 'Gas Filter (Belt, Roll)', null, null, this.getTagsForStencil(gn, 'gas_filter_(belt,_roll)', dt).join(' ')), 254 this.createVertexTemplateEntry(sb + 'gas_filter_(fixed_bed);', 255 50, 100, '', 'Gas Filter (Fixed Bed)', null, null, this.getTagsForStencil(gn, 'gas_filter_(fixed_bed)', dt).join(' ')), 256 this.createVertexTemplateEntry(s + 'gas_filter_(hepa);', 257 50, 100, 'HEPA', 'Gas Filter (HEPA)', null, null, this.getTagsForStencil(gn, 'gas_filter_(hepa)', dt).join(' ')), 258 this.createVertexTemplateEntry(sb + 'liquid_filter;', 259 50, 100, '', 'Liquid Filter', null, null, this.getTagsForStencil(gn, 'liquid_filter', dt).join(' ')), 260 this.createVertexTemplateEntry(sb + 'liquid_Filter_(bag,_candle,_cartridge);', 261 50, 100, '', 'Liquid Filter (Bag, Candle, Cartridge)', null, null, this.getTagsForStencil(gn, 'liquid_Filter_(bag,_candle,_cartridge)', dt).join(' ')), 262 this.createVertexTemplateEntry(sb + 'liquid_filter_(belt,_roll);', 263 50, 100, '', 'Liquid Filter (Belt, Roll)', null, null, this.getTagsForStencil(gn, 'liquid_filter_(belt,_roll)', dt).join(' ')), 264 this.createVertexTemplateEntry(s + 'liquid_filter_(biological);', 265 50, 100, 'BIO', 'Liquid Filter (Biological)', null, null, this.getTagsForStencil(gn, 'liquid_filter_(biological)', dt).join(' ')), 266 this.createVertexTemplateEntry(sb + 'liquid_filter_(fixed_bed);', 267 50, 100, '', 'Liquid Filter (Fixed Bed)', null, null, this.getTagsForStencil(gn, 'liquid_filter_(fixed_bed)', dt).join(' ')), 268 this.createVertexTemplateEntry(s + 'liquid_filter_(ion_exchanger);', 269 50, 100, 'ION', 'Liquid Filter (Ion Exchanger)', null, null, this.getTagsForStencil(gn, 'liquid_filter_(ion_exchanger)', dt).join(' ')), 270 this.createVertexTemplateEntry(sb + 'liquid_filter_(rotary,_drum_or_disc);', 271 50, 100, '', 'Liquid Filter (Rotary, Drum or Disc)', null, null, this.getTagsForStencil(gn, 'liquid_filter_(rotary,_drum_or_disc)', dt).join(' ')), 272 this.createVertexTemplateEntry(sb + 'liquid_filter_(rotary,_drum_or_disc,_scraper);', 273 55, 100, '', 'Liquid Filter (Rotary, Drum or Disc, Scraper)', null, null, this.getTagsForStencil(gn, 'liquid_filter_(rotary,_drum_or_disc,_scraper)', dt).join(' ')), 274 this.createVertexTemplateEntry(sb + 'press_filter;', 275 100, 50, '', 'Press Filter', null, null, this.getTagsForStencil(gn, 'press_filter', dt).join(' ')), 276 this.createVertexTemplateEntry(sb + 'suction_filter;', 277 50, 100, '', 'Suction Filter', null, null, this.getTagsForStencil(gn, 'suction_filter', dt).join(' ')) 278 ]); 279 }; 280 281 Sidebar.prototype.addPidFlowSensorsPalette = function() 282 { 283 var s = mxConstants.STYLE_VERTICAL_LABEL_POSITION + '=bottom;align=center;outlineConnect=0;dashed=0;html=1;' + mxConstants.STYLE_VERTICAL_ALIGN + '=top;' + mxConstants.STYLE_SHAPE + "=mxgraph.pid.flow_sensors."; 284 var gn = 'mxgraph.pid.flow_sensors'; 285 var dt = 'process instrumentation sensor '; 286 287 this.addPaletteFunctions('pidFlow Sensors', 'Proc. Eng. / Flow Sensors', false, 288 [ 289 this.createVertexTemplateEntry(s + 'averging_pitot_tube;', 290 50, 50, '', 'Averging Pitot Tube', null, null, this.getTagsForStencil(gn, 'averging_pitot_tube', dt).join(' ')), 291 this.createVertexTemplateEntry(s + 'coriolis;', 292 50, 50, '', 'Coriolis', null, null, this.getTagsForStencil(gn, 'coriolis', dt).join(' ')), 293 this.createVertexTemplateEntry(s + 'flow_nozzle;', 294 50, 25, '', 'Flow Nozzle', null, null, this.getTagsForStencil(gn, 'flow_nozzle', dt).join(' ')), 295 this.createVertexTemplateEntry(s + 'flume;pointerEvents=1;', 296 50, 50, '', 'Flume', null, null, this.getTagsForStencil(gn, 'flume', dt).join(' ')), 297 this.createVertexTemplateEntry(mxConstants.STYLE_SHAPE + '=mxgraph.pid.flow_sensors.magnetic;dashed=0;align=center;html=1;fontSize=25;', 298 50, 50, 'M', 'Magnetic', null, null, this.getTagsForStencil(gn, 'magnetic', dt).join(' ')), 299 this.createVertexTemplateEntry(s + 'pitot_tube;', 300 50, 50, '', 'Pitot Tube', null, null, this.getTagsForStencil(gn, 'pitot_tube', dt).join(' ')), 301 this.createVertexTemplateEntry(s + 'positive_displacement;', 302 50, 30, '', 'Positive Displacement', null, null, this.getTagsForStencil(gn, 'positive_displacement', dt).join(' ')), 303 this.createVertexTemplateEntry(s + 'rotameter;', 304 75, 50, '', 'Rotameter', null, null, this.getTagsForStencil(gn, 'rotameter', dt).join(' ')), 305 this.createVertexTemplateEntry(s + 'target;', 306 50, 50, '', 'Target', null, null, this.getTagsForStencil(gn, 'target', dt).join(' ')), 307 this.createVertexTemplateEntry(s + 'turbine;', 308 50, 50, '', 'Turbine', null, null, this.getTagsForStencil(gn, 'turbine', dt).join(' ')), 309 this.createVertexTemplateEntry(s + 'ultrasonic;', 310 50, 50, '', 'Ultrasonic', null, null, this.getTagsForStencil(gn, 'ultrasonic', dt).join(' ')), 311 this.createVertexTemplateEntry(s + 'v-cone;', 312 50, 50, '', 'V-cone', null, null, this.getTagsForStencil(gn, 'v-cone', dt).join(' ')), 313 this.createVertexTemplateEntry(s + 'venturi;', 314 50, 40, '', 'Venturi', null, null, this.getTagsForStencil(gn, 'venturi', dt).join(' ')), 315 this.createVertexTemplateEntry(s + 'vortex;', 316 50, 50, '', 'Vortex', null, null, this.getTagsForStencil(gn, 'vortex', dt).join(' ')), 317 this.createVertexTemplateEntry(s + 'wedge;', 318 50, 50, '', 'Wedge', null, null, this.getTagsForStencil(gn, 'wedge', dt).join(' ')), 319 this.createVertexTemplateEntry(s + 'weir;', 320 50, 50, '', 'Weir', null, null, this.getTagsForStencil(gn, 'weir', dt).join(' ')) 321 ]); 322 }; 323 324 Sidebar.prototype.addPidPipingPalette = function() 325 { 326 var s = "html=1;dashed=0;outlineConnect=0;align=center;" + mxConstants.STYLE_SHAPE + "=mxgraph.pid.piping."; 327 var sb = mxConstants.STYLE_VERTICAL_LABEL_POSITION + '=bottom;align=center;dashed=0;html=1;' + mxConstants.STYLE_VERTICAL_ALIGN + '=top;' + mxConstants.STYLE_SHAPE + "=mxgraph.pid.piping."; 328 var gn = 'mxgraph.pid.piping'; 329 var dt = 'process instrumentation piping '; 330 331 this.addPaletteFunctions('pidPiping', 'Proc. Eng. / Piping', false, 332 [ 333 this.createVertexTemplateEntry(sb + 'basket_strainer;', 50, 45, '', 'Basket Strainer', null, null, this.getTagsForStencil(gn, 'basket_strainer', dt).join(' ')), 334 this.createVertexTemplateEntry(sb + 'blank;', 20, 60, '', 'Blank', null, null, this.getTagsForStencil(gn, 'blank', dt).join(' ')), 335 this.createVertexTemplateEntry(sb + 'breather;', 50, 30, '', 'Breather', null, null, this.getTagsForStencil(gn, 'breather', dt).join(' ')), 336 this.createVertexTemplateEntry(sb + 'cap;', 10, 20, '', 'Cap', null, null, this.getTagsForStencil(gn, 'cap', dt).join(' ')), 337 this.createVertexTemplateEntry(sb + 'closed_figure_8_blind;', 20, 80, '', 'Closed Figure 8 Blind', null, null, this.getTagsForStencil(gn, 'closed_figure_8_blind', dt).join(' ')), 338 this.createVertexTemplateEntry(sb + 'concentric_reducer;', 20, 20, '', 'Concentric Reducer', null, null, this.getTagsForStencil(gn, 'concentric_reducer', dt).join(' ')), 339 this.createVertexTemplateEntry(sb + 'cone_strainer;', 30, 30, '', 'Cone Strainer', null, null, this.getTagsForStencil(gn, 'cone_strainer', dt).join(' ')), 340 this.createVertexTemplateEntry(sb + 'damper;', 50, 20, '', 'Damper', null, null, this.getTagsForStencil(gn, 'damper', dt).join(' ')), 341 this.createVertexTemplateEntry(s + 'desuper_heater;', 50, 50, 'DS', 'Desuper Heater', null, null, this.getTagsForStencil(gn, 'desuper_heater', dt).join(' ')), 342 this.createVertexTemplateEntry(s + 'detonation_arrestor;', 50, 20, 'D', 'Detonation Arrestor', null, null, this.getTagsForStencil(gn, 'detonation_arrestor', dt).join(' ')), 343 this.createVertexTemplateEntry(sb + 'diverter_valve;pointerEvents=1;', 50, 35, '', 'Diverter Valve', null, null, this.getTagsForStencil(gn, 'diverter_valve', dt).join(' ')), 344 this.createVertexTemplateEntry(sb + 'double_flange;pointerEvents=1;', 5, 20, '', 'Double Flange', null, null, this.getTagsForStencil(gn, 'double_flange', dt).join(' ')), 345 this.createVertexTemplateEntry(sb + 'duplex_strainer;', 50, 40, '', 'Duplex Strainer', null, null, this.getTagsForStencil(gn, 'duplex_strainer', dt).join(' ')), 346 this.createVertexTemplateEntry(sb + 'eccentric_reducer;', 20, 15, '', 'Eccentric Reducer', null, null, this.getTagsForStencil(gn, 'eccentric_reducer', dt).join(' ')), 347 this.createVertexTemplateEntry(sb + 'excess_flow_valve;', 50, 25, '', 'Excess Flow Valve', null, null, this.getTagsForStencil(gn, 'excess_flow_valve', dt).join(' ')), 348 this.createVertexTemplateEntry(sb + 'exhaust_head;', 50, 40, '', 'Exhaust Head', null, null, this.getTagsForStencil(gn, 'exhaust_head', dt).join(' ')), 349 this.createVertexTemplateEntry(sb + 'expansion_joint;', 50, 20, '', 'Expansion Joint', null, null, this.getTagsForStencil(gn, 'expansion_joint', dt).join(' ')), 350 this.createVertexTemplateEntry(s + 'flame_arrestor;', 50, 20, 'F', 'Flame Arrestor', null, null, this.getTagsForStencil(gn, 'flame_arrestor', dt).join(' ')), 351 this.createVertexTemplateEntry(sb + 'flange;pointerEvents=1;', 5, 20, '', 'Flange', null, null, this.getTagsForStencil(gn, 'flange', dt).join(' ')), 352 this.createVertexTemplateEntry(sb + 'flange_in;pointerEvents=1;', 10, 20, '', 'Flange In', null, null, this.getTagsForStencil(gn, 'flange_in', dt).join(' ')), 353 this.createVertexTemplateEntry(sb + 'flexible_hose;pointerEvents=1;', 50, 25, '', 'Flexible Hose', null, null, this.getTagsForStencil(gn, 'flexible_hose', dt).join(' ')), 354 this.createVertexTemplateEntry(sb + 'hose_connection;pointerEvents=1;', 20, 20, '', 'Hose Connection', null, null, this.getTagsForStencil(gn, 'hose_connection', dt).join(' ')), 355 this.createVertexTemplateEntry(sb + 'in-line_mixer;', 50, 10, '', 'In-Line Mixer', null, null, this.getTagsForStencil(gn, 'in-line_mixer', dt).join(' ')), 356 this.createVertexTemplateEntry(s + 'in-line_silencer;', 50, 20, 'S', 'In-Line Silencer', null, null, this.getTagsForStencil(gn, 'in-line_silencer', dt).join(' ')), 357 this.createVertexTemplateEntry(sb + 'open_figure_8_blind;', 20, 80, '', 'Open Figure 8 Blind', null, null, this.getTagsForStencil(gn, 'open_figure_8_blind', dt).join(' ')), 358 this.createVertexTemplateEntry(sb + 'orifice_(quick_change);', 10, 50, '', 'Orifice (Quick Change)', null, null, this.getTagsForStencil(gn, 'orifice_(quick_change)', dt).join(' ')), 359 this.createVertexTemplateEntry(sb + 'plug;', 10, 10, '', 'Plug', null, null, this.getTagsForStencil(gn, 'plug', dt).join(' ')), 360 this.createVertexTemplateEntry(sb + 'pulsation_dampener;', 50, 150, '', 'Pulsation Dampener', null, null, this.getTagsForStencil(gn, 'pulsation_dampener', dt).join(' ')), 361 this.createVertexTemplateEntry(mxConstants.STYLE_VERTICAL_ALIGN + '=bottom;pointerEvents=1;dashed=0;' + mxConstants.STYLE_SHAPE + '=mxgraph.pid.piping.removable_spool;html=1;overflow=fill;', 50, 30, 362 '<table cellpadding="0" cellspacing="0" style="width:100%;height:100%;">' + 363 '<tr>' + 364 '<td valign="bottom" align="center">RS</td>' + 365 '</tr>' + 366 '</table>', 367 'Removable Spool', null, null, this.getTagsForStencil(gn, 'removable_spool', dt).join(' ')), 368 this.createVertexTemplateEntry(sb + 'rotary_valve;pointerEvents=1;', 50, 20, '', 'Rotary Valve', null, null, this.getTagsForStencil(gn, 'rotary_valve', dt).join(' ')), 369 this.createVertexTemplateEntry(sb + 'spacer;', 20, 60, '', 'Spacer', null, null, this.getTagsForStencil(gn, 'spacer', dt).join(' ')), 370 this.createVertexTemplateEntry(s + 'steam_trap;', 50, 50, 'T', 'Steam Trap', null, null, this.getTagsForStencil(gn, 'steam_trap', dt).join(' ')), 371 this.createVertexTemplateEntry(sb + 't-type_strainer;', 20, 35, '', 'T-Type Strainer', null, null, this.getTagsForStencil(gn, 't-type_strainer', dt).join(' ')), 372 this.createVertexTemplateEntry(sb + 'temporary_strainer;', 30, 30, '', 'Temporary Strainer', null, null, this.getTagsForStencil(gn, 'temporary_strainer', dt).join(' ')), 373 this.createVertexTemplateEntry(s + 'vent_silencer;', 20, 80, 'S', 'Vent Silencer', null, null, this.getTagsForStencil(gn, 'vent_silencer', dt).join(' ')), 374 this.createVertexTemplateEntry(sb + 'welded_connection;', 50, 20, '', 'Welded Connection', null, null, this.getTagsForStencil(gn, 'welded_connection', dt).join(' ')), 375 this.createVertexTemplateEntry(sb + 'y-type_strainer;pointerEvents=1;', 50, 35, '', 'Y-Type Strainer', null, null, this.getTagsForStencil(gn, 'y-type_strainer', dt).join(' ')) 376 ]); 377 }; 378 379 Sidebar.prototype.addPidMiscPalette = function() 380 { 381 var s = mxConstants.STYLE_VERTICAL_LABEL_POSITION + '=bottom;outlineConnect=0;align=center;dashed=0;html=1;' + mxConstants.STYLE_VERTICAL_ALIGN + '=top;' + mxConstants.STYLE_SHAPE + "=mxgraph.pid2"; 382 var s2 = mxConstants.STYLE_VERTICAL_LABEL_POSITION + '=bottom;outlineConnect=0;align=center;dashed=0;html=1;' + mxConstants.STYLE_VERTICAL_ALIGN + '=top;' + mxConstants.STYLE_SHAPE + "=mxgraph.pid.misc."; 383 var gn = 'mxgraph.pid.misc'; 384 var dt = 'process instrumentation '; 385 386 this.addPaletteFunctions('pidMisc', 'Proc. Eng. / Misc', false, 387 [ 388 this.createVertexTemplateEntry(s + 'misc.fan;fanType=common', 389 50, 50, '', 'Fan', null, null, this.getTagsForStencil(gn, 'fan', dt).join(' ')), 390 this.createVertexTemplateEntry(s + 'misc.column;columnType=common', 391 50, 120, '', 'Column', null, null, this.getTagsForStencil(gn, 'column', dt).join(' ')), 392 this.createVertexTemplateEntry(s + 'misc.column;columnType=tray', 393 50, 120, '', 'Column (Tray)', null, null, this.getTagsForStencil(gn, 'column', dt + 'tray').join(' ')), 394 this.createVertexTemplateEntry(s + 'misc.column;columnType=fixed', 395 50, 180, '', 'Column (Fixed Bed)', null, null, this.getTagsForStencil(gn, 'column', dt + 'fixed bed').join(' ')), 396 this.createVertexTemplateEntry(s + 'misc.column;columnType=fluid', 397 50, 120, '', 'Column (Fluidized Bed)', null, null, this.getTagsForStencil(gn, 'column', dt + 'fluidized bed').join(' ')), 398 this.createVertexTemplateEntry(s + 'misc.column;columnType=baffle', 399 50, 120, '', 'Column (Staggered Baffle Trays)', null, null, this.getTagsForStencil(gn, 'column', dt + 'staggered baffle tray').join(' ')), 400 this.createVertexTemplateEntry(s + 'misc.column;columnType=bubble', 401 50, 120, '', 'Column (Bubble Cap Trays)', null, null, this.getTagsForStencil(gn, 'column', dt + 'bubble cap tray').join(' ')), 402 this.createVertexTemplateEntry(s + 'misc.column;columnType=valve', 403 50, 120, '', 'Column (Valve Trays)', null, null, this.getTagsForStencil(gn, 'column', dt + 'valve tray').join(' ')), 404 this.createVertexTemplateEntry(s + 'misc.column;columnType=nozzle', 405 50, 180, '', 'Column (Fixed Bed, Spray Nozzle)', null, null, this.getTagsForStencil(gn, 'column', dt + 'fixed bed spray nozzle').join(' ')), 406 this.createVertexTemplateEntry(s + 'misc.conveyor', 407 200, 50, '', 'Conveyor', null, null, this.getTagsForStencil(gn, 'conveyor', dt).join(' ')), 408 this.createVertexTemplateEntry(s2 + 'aerator_with_sparger;', 409 35, 100, '', 'Aerator With Sparger', null, null, this.getTagsForStencil(gn, 'aerator_with_sparger', dt).join(' ')), 410 this.createVertexTemplateEntry(s2 + 'air_cooler;', 411 70, 20, '', 'Air Cooler', null, null, this.getTagsForStencil(gn, 'air_cooler', dt).join(' ')), 412 this.createVertexTemplateEntry(s2 + 'air_filter;', 413 40, 65, '', 'Air Filter', null, null, this.getTagsForStencil(gn, 'air_filter', dt).join(' ')), 414 this.createVertexTemplateEntry(s2 + 'air_separator;', 415 65.5, 106, '', 'Air Separator', null, null, this.getTagsForStencil(gn, 'air_separator', dt).join(' ')), 416 this.createVertexTemplateEntry(s2 + 'back_draft_damper;', 417 62, 32, '', 'Back Draft Damper', null, null, this.getTagsForStencil(gn, 'back_draft_damper', dt).join(' ')), 418 this.createVertexTemplateEntry(s2 + 'bag_filling_machine;', 419 80, 100, '', 'Bag Filling Machine', null, null, this.getTagsForStencil(gn, 'bag_filling_machine', dt).join(' ')), 420 this.createVertexTemplateEntry(s2 + 'belt_skimmer;', 421 70, 98, '', 'Belt Skimmer', null, null, this.getTagsForStencil(gn, 'belt_skimmer', dt).join(' ')), 422 this.createVertexTemplateEntry(s2 + 'bin;', 423 100, 65, '', 'Bin', null, null, this.getTagsForStencil(gn, 'bin', dt).join(' ')), 424 this.createVertexTemplateEntry(s2 + 'boiler_(dome);', 425 100, 120, '', 'Boiler (Dome)', null, null, this.getTagsForStencil(gn, 'boiler_(dome)', dt).join(' ')), 426 this.createVertexTemplateEntry(s2 + 'boiler_(dome,_hot_liquid);', 427 100, 120, '', 'Boiler (Dome, Hot Liquid)', null, null, this.getTagsForStencil(gn, 'boiler_(dome,_hot_liquid)', dt).join(' ')), 428 this.createVertexTemplateEntry(s2 + 'box_truck;', 429 120, 80, '', 'Box Truck', null, null, this.getTagsForStencil(gn, 'box_truck', dt).join(' ')), 430 this.createVertexTemplateEntry(s2 + 'bucket_elevator;', 431 65, 200, '', 'Bucket Elevator', null, null, this.getTagsForStencil(gn, 'bucket_elevator', dt).join(' ')), 432 this.createVertexTemplateEntry(s2 + 'chiller;', 433 155, 115, '', 'Chiller', null, null, this.getTagsForStencil(gn, 'chiller', dt).join(' ')), 434 this.createVertexTemplateEntry(s2 + 'combustion_chamber;', 435 130, 100, '', 'Combustion Chamber', null, null, this.getTagsForStencil(gn, 'combustion_chamber', dt).join(' ')), 436 this.createVertexTemplateEntry(s2 + 'conveyor;', 437 200, 60, '', 'Conveyor', null, null, this.getTagsForStencil(gn, 'conveyor', dt).join(' ')), 438 this.createVertexTemplateEntry(s2 + 'conveyor_(belt);', 439 200, 50, '', 'Conveyor (Belt)', null, null, this.getTagsForStencil(gn, 'conveyor_(belt)', dt).join(' ')), 440 this.createVertexTemplateEntry(s2 + 'conveyor_(belt,_closed);', 441 240, 80, '', 'Conveyor (Belt, Closed)', null, null, this.getTagsForStencil(gn, 'conveyor_(belt,_closed)', dt).join(' ')), 442 this.createVertexTemplateEntry(s2 + 'conveyor_(belt,_closed,_reversible);', 443 240, 80, '', 'Conveyor (Belt, Closed, Reversible)', null, null, this.getTagsForStencil(gn, 'conveyor_(belt,_closed,_reversible)', dt).join(' ')), 444 this.createVertexTemplateEntry(s2 + 'conveyor_(chain,_closed);', 445 240, 80, '', 'Conveyor (Chain, Closed)', null, null, this.getTagsForStencil(gn, 'conveyor_(chain,_closed)', dt).join(' ')), 446 this.createVertexTemplateEntry(s2 + 'conveyor_(screw,_closed);', 447 220, 80, '', 'Conveyor (Screw, Closed)', null, null, this.getTagsForStencil(gn, 'conveyor_(screw,_closed)', dt).join(' ')), 448 this.createVertexTemplateEntry(s2 + 'conveyor_(vibrating,_closed);', 449 240, 80, '', 'Conveyor (Vibrating, Closed)', null, null, this.getTagsForStencil(gn, 'conveyor_(vibrating,_closed)', dt).join(' ')), 450 this.createVertexTemplateEntry(s2 + 'cooler;', 451 85, 90, '', 'Cooler', null, null, this.getTagsForStencil(gn, 'cooler', dt).join(' ')), 452 this.createVertexTemplateEntry(s2 + 'cooling_tower', 453 100, 120, '', 'Cooling Tower', null, null, this.getTagsForStencil(gn, 'cooling_tower', dt).join(' ')), 454 this.createVertexTemplateEntry(s2 + 'cooling_tower_(dry,_forced_draught);', 455 100, 120, '', 'Cooling Tower (Dry, Forced Draught)', null, null, this.getTagsForStencil(gn, 'cooling_tower_(dry,_forced_draught)', dt).join(' ')), 456 this.createVertexTemplateEntry(s2 + 'cooling_tower_(dry,_induced_draught);', 457 100, 120, '', 'Cooling Tower (Dry, Induced Draught)', null, null, this.getTagsForStencil(gn, 'cooling_tower_(dry,_induced_draught)', dt).join(' ')), 458 this.createVertexTemplateEntry(s2 + 'cooling_tower_(dry,_natural_draught);', 459 100, 120, '', 'Cooling Tower (Dry, Natural Draught)', null, null, this.getTagsForStencil(gn, 'cooling_tower_(dry,_natural_draught)', dt).join(' ')), 460 this.createVertexTemplateEntry(s2 + 'cooling_tower_(wet,_forced_draught);', 461 100, 120, '', 'Cooling Tower (Wet, Forced Draught)', null, null, this.getTagsForStencil(gn, 'cooling_tower_(wet,_forced_draught)', dt).join(' ')), 462 this.createVertexTemplateEntry(s2 + 'cooling_tower_(wet,_induced_draught);', 463 100, 120, '', 'Cooling Tower (Wet, Induced Draught)', null, null, this.getTagsForStencil(gn, 'cooling_tower_(wet,_induced_draught)', dt).join(' ')), 464 this.createVertexTemplateEntry(s2 + 'cooling_tower_(wet,_natural_draught);', 465 100, 120, '', 'Cooling Tower (Wet, Natural Draught)', null, null, this.getTagsForStencil(gn, 'cooling_tower_(wet,_natural_draught)', dt).join(' ')), 466 this.createVertexTemplateEntry(s2 + 'cooling_tower_(wet-dry,_natural_draught);', 467 100, 120, '', 'Cooling Tower (Wet-Dry, Natural Draught)', null, null, this.getTagsForStencil(gn, 'cooling_tower_(wet-dry,_natural_draught)', dt).join(' ')), 468 this.createVertexTemplateEntry(s2 + 'covered_gas_vent;pointerEvents=1;', 469 80, 100, '', 'Covered Gas Vent', null, null, this.getTagsForStencil(gn, 'covered_gas_vent', dt).join(' ')), 470 this.createVertexTemplateEntry(s2 + 'crane;', 471 100, 100, '', 'Crane', null, null, this.getTagsForStencil(gn, 'crane', dt).join(' ')), 472 this.createVertexTemplateEntry(s2 + 'curved_gas_vent;pointerEvents=1;', 473 30, 70, '', 'Curved Gas Vent', null, null, this.getTagsForStencil(gn, 'curved_gas_vent', dt).join(' ')), 474 this.createVertexTemplateEntry(s2 + 'cyclone;', 475 100, 80, '', 'Cyclone', null, null, this.getTagsForStencil(gn, 'cyclone', dt).join(' ')), 476 this.createVertexTemplateEntry(s2 + 'dryer;', 477 80, 100, '', 'Dryer', null, null, this.getTagsForStencil(gn, 'dryer', dt).join(' ')), 478 this.createVertexTemplateEntry(s2 + 'elevator_(bucket);', 479 160, 250, '', 'Elevator (Bucket)', null, null, this.getTagsForStencil(gn, 'elevator_(bucket)', dt).join(' ')), 480 this.createVertexTemplateEntry(s2 + 'elevator_(bucket,_z-form);', 481 430, 250, '', 'Elevator (Bucket, Z-Form)', null, null, this.getTagsForStencil(gn, 'elevator_(bucket,_z-form)', dt).join(' ')), 482 this.createVertexTemplateEntry(s2 + 'fan;', 483 100, 100, '', 'Fan', null, null, this.getTagsForStencil(gn, 'fan', dt).join(' ')), 484 this.createVertexTemplateEntry(s2 + 'fan_2;', 485 58, 8, '', 'Fan 2', null, null, this.getTagsForStencil(gn, 'fan_2', dt).join(' ')), 486 this.createVertexTemplateEntry(s2 + 'filter;', 487 100, 100, '', 'Filter', null, null, this.getTagsForStencil(gn, 'filter', dt).join(' ')), 488 this.createVertexTemplateEntry(s2 + 'filter_2;', 489 100, 100, '', 'Filter 2', null, null, this.getTagsForStencil(gn, 'filter_2', dt).join(' ')), 490 this.createVertexTemplateEntry(s2 + 'firing_system,_burner;', 491 100, 100, '', 'Firing System, Burner', null, null, this.getTagsForStencil(gn, 'firing_system,_burner', dt).join(' ')), 492 this.createVertexTemplateEntry(s2 + 'flame_arrestor;', 493 100, 40, '', 'Flame Arrestor', null, null, this.getTagsForStencil(gn, 'flame_arrestor', dt).join(' ')), 494 this.createVertexTemplateEntry(s2 + 'flexible_pipe;pointerEvents=1;', 495 60, 16, '', 'Flexible Pipe', null, null, this.getTagsForStencil(gn, 'flexible_pipe', dt).join(' ')), 496 this.createVertexTemplateEntry(s2 + 'forced_flow_air_cooler;', 497 70, 30, '', 'Forced Flow Air Cooler', null, null, this.getTagsForStencil(gn, 'forced_flow_air_cooler', dt).join(' ')), 498 this.createVertexTemplateEntry(s2 + 'forklift_(manual);', 499 140, 100, '', 'Forklift (Manual)', null, null, this.getTagsForStencil(gn, 'forklift_(manual)', dt).join(' ')), 500 this.createVertexTemplateEntry(s2 + 'forklift_(truck);', 501 140, 100, '', 'Forklift (Truck)', null, null, this.getTagsForStencil(gn, 'forklift_(truck)', dt).join(' ')), 502 this.createVertexTemplateEntry(s2 + 'funnel;pointerEvents=1;', 503 40, 80, '', 'Funnel', null, null, this.getTagsForStencil(gn, 'funnel', dt).join(' ')), 504 this.createVertexTemplateEntry(s2 + 'gas_flare;', 505 60, 100, '', 'Gas Flare', null, null, this.getTagsForStencil(gn, 'gas_flare', dt).join(' ')), 506 this.createVertexTemplateEntry(s2 + 'induced_flow_air_cooler;', 507 93, 30, '', 'Induced Flow Air Cooler', null, null, this.getTagsForStencil(gn, 'induced_flow_air_cooler', dt).join(' ')), 508 this.createVertexTemplateEntry(s2 + 'industrial_truck;pointerEvents=1;', 509 120, 20, '', 'Industrial Truck', null, null, this.getTagsForStencil(gn, 'industrial_truck', dt).join(' ')), 510 this.createVertexTemplateEntry(s2 + 'lift;', 511 100, 100, '', 'Lift', null, null, this.getTagsForStencil(gn, 'lift', dt).join(' ')), 512 this.createVertexTemplateEntry(s2 + 'loading_arm;pointerEvents=1;', 513 120, 80, '', 'Loading Arm', null, null, this.getTagsForStencil(gn, 'loading_arm', dt).join(' ')), 514 this.createVertexTemplateEntry(s2 + 'mixer;', 515 80, 100, '', 'Mixer', null, null, this.getTagsForStencil(gn, 'mixer', dt).join(' ')), 516 this.createVertexTemplateEntry(s2 + 'palletizer;', 517 80, 100, '', 'Palletizer', null, null, this.getTagsForStencil(gn, 'palletizer', dt).join(' ')), 518 this.createVertexTemplateEntry(s2 + 'protective_palette_covering;', 519 80, 100, '', 'Protective Palette Covering', null, null, this.getTagsForStencil(gn, 'protective_palette_covering', dt).join(' ')), 520 this.createVertexTemplateEntry(s2 + 'roller_conveyor;', 521 160, 20, '', 'Roller Conveyor', null, null, this.getTagsForStencil(gn, 'roller_conveyor', dt).join(' ')), 522 this.createVertexTemplateEntry(s2 + 'rolling_bin;', 523 100, 65, '', 'Rolling Bin', null, null, this.getTagsForStencil(gn, 'rolling_bin', dt).join(' ')), 524 this.createVertexTemplateEntry(s2 + 'rotary_screen;', 525 100, 65, '', 'Rotary Screen', null, null, this.getTagsForStencil(gn, 'rotary_screen', dt).join(' ')), 526 this.createVertexTemplateEntry(s2 + 'screening_device,_sieve,_strainer;', 527 80, 120, '', 'Screening Device, Sieve, Strainer', null, null, this.getTagsForStencil(gn, 'screening_device,_sieve,_strainer', dt).join(' ')), 528 this.createVertexTemplateEntry(s2 + 'screening_device,_sieve,_strainer_(basket_reel);', 529 80, 180, '', 'Screening Device, Sieve, Strainer (Basket Reel)', null, null, this.getTagsForStencil(gn, 'screening_device,_sieve,_strainer_(basket_reel)', dt).join(' ')), 530 this.createVertexTemplateEntry(s2 + 'screening_device,_sieve,_strainer_(coarse_and_fine_screens);', 531 80, 120, '', 'Screening Device, Sieve, Strainer (Coarse and Fine Screens)', null, null, this.getTagsForStencil(gn, 'screening_device,_sieve,_strainer_(coarse_and_fine_screens)', dt).join(' ')), 532 this.createVertexTemplateEntry(s2 + 'screening_device,_sieve,_strainer_(coarse_rake);', 533 80, 120, '', 'Screening Device, Sieve, Strainer (Coarse Rake)', null, null, this.getTagsForStencil(gn, 'screening_device,_sieve,_strainer_(coarse_rake)', dt).join(' ')), 534 this.createVertexTemplateEntry(s2 + 'screening_device,_sieve,_strainer_(fine_rake);', 535 80, 120, '', 'Screening Device, Sieve, Strainer (Fine Rake)', null, null, this.getTagsForStencil(gn, 'screening_device,_sieve,_strainer_(fine_rake)', dt).join(' ')), 536 this.createVertexTemplateEntry(s2 + 'screening_device,_sieve,_strainer_(rotating_drum)', 537 80, 120, '', 'Screening Device, Sieve, Strainer (Rotating Drum)', null, null, this.getTagsForStencil(gn, 'screening_device,_sieve,_strainer_(rotating_drum)', dt).join(' ')), 538 this.createVertexTemplateEntry(s2 + 'screening_device,_sieve,_strainer_(vibrating);', 539 80, 120, '', 'Screening Device, Sieve, Strainer (Vibrating)', null, null, this.getTagsForStencil(gn, 'screening_device,_sieve,_strainer_(vibrating)', dt).join(' ')), 540 this.createVertexTemplateEntry(s2 + 'ship', 541 105, 60, '', 'Ship', null, null, this.getTagsForStencil(gn, 'ship', dt).join(' ')), 542 this.createVertexTemplateEntry(s2 + 'silencer;', 543 100, 30, '', 'Silencer', null, null, this.getTagsForStencil(gn, 'silencer', dt).join(' ')), 544 this.createVertexTemplateEntry(s2 + 'spraying_device;pointerEvents=1;', 545 60, 20, '', 'Spraying Device', null, null, this.getTagsForStencil(gn, 'spraying_device', dt).join(' ')), 546 this.createVertexTemplateEntry(s2 + 'spray_cooler;', 547 100, 120, '', 'Spray Cooler', null, null, this.getTagsForStencil(gn, 'spray_cooler', dt).join(' ')), 548 this.createVertexTemplateEntry(s2 + 'stack,_chimney;', 549 60, 100, '', 'Stack, Chimney', null, null, this.getTagsForStencil(gn, 'stack,_chimney', dt).join(' ')), 550 this.createVertexTemplateEntry(s2 + 'steam_trap;', 551 53, 53, '', 'Steam Trap', null, null, this.getTagsForStencil(gn, 'steam_trap', dt).join(' ')), 552 this.createVertexTemplateEntry(s2 + 'tank_car,_tank_wagon;', 553 127, 80, '', 'Tank Car, Tank Wagon', null, null, this.getTagsForStencil(gn, 'tank_car,_tank_wagon', dt).join(' ')), 554 this.createVertexTemplateEntry(s2 + 'viewing_glass;', 555 80, 50, '', 'Viewing Glass', null, null, this.getTagsForStencil(gn, 'viewing_glass', dt).join(' ')) 556 ]); 557 }; 558})(); 559