@zklogic/draw.io
Version:
Draw.IO - Graph Editor integration in Angular-cli
1 lines • 6.6 kB
JavaScript
function mxShapePidFan(e,o,t,i){mxShape.call(this),this.bounds=e,this.fill=o,this.stroke=t,this.strokewidth=null!=i?i:1}function mxShapePidColumn(e,o,t,i){mxShape.call(this),this.bounds=e,this.fill=o,this.stroke=t,this.strokewidth=null!=i?i:1}function mxShapePidConveyor(e,o,t,i){mxShape.call(this),this.bounds=e,this.fill=o,this.stroke=t,this.strokewidth=null!=i?i:1}mxUtils.extend(mxShapePidFan,mxShape),mxShapePidFan.prototype.cst={SHAPE_FAN:"mxgraph.pid2misc.fan",FAN_TYPE:"fanType",COMMON:"common",AXIAL:"axial",RADIAL:"radial"},mxShapePidFan.prototype.customProperties=[{name:"fanType",dispName:"Type",type:"enum",defVal:"field",enumList:[{val:"common",dispName:"Common"},{val:"axial",dispName:"Axial"},{val:"radial",dispName:"Radial"}]}],mxShapePidFan.prototype.paintVertexShape=function(e,o,t,i,a){e.translate(o,t),this.background(e,o,t,i,a),e.setShadow(!1),this.foreground(e,o,t,i,a)},mxShapePidFan.prototype.background=function(e,o,t,i,a){e.ellipse(0,0,i,a),e.fillAndStroke()},mxShapePidFan.prototype.foreground=function(e,o,t,i,a){e.begin(),e.moveTo(.3*i,.045*a),e.lineTo(.97*i,.33*a),e.moveTo(.3*i,.955*a),e.lineTo(.97*i,.67*a),e.moveTo(.4228*i,.3655*a),e.arcTo(.15*i,.03*a,50,0,1,.5*i,.5*a),e.arcTo(.15*i,.03*a,50,0,1,.3772*i,.4045*a),e.arcTo(.15*i,.03*a,50,0,1,.3025*i,.271*a),e.arcTo(.15*i,.03*a,50,0,1,.4228*i,.3655*a),e.close(),e.moveTo(.377*i,.5973*a),e.arcTo(.15*i,.03*a,-50,0,1,.4966*i,.5019*a),e.arcTo(.15*i,.03*a,-50,0,1,.423*i,.636*a),e.arcTo(.15*i,.03*a,-50,0,1,.3034*i,.7314*a),e.arcTo(.15*i,.03*a,-50,0,1,.377*i,.5973*a),e.close(),e.stroke(),e.ellipse(.5*i,.47*a,.3*i,.06*a),e.stroke();var l=mxUtils.getValue(this.style,mxShapePidFan.prototype.cst.FAN_TYPE,"common");l===mxShapePidFan.prototype.cst.AXIAL?(e.begin(),e.moveTo(.1*i,.5*a),e.lineTo(.3*i,.5*a),e.stroke()):l===mxShapePidFan.prototype.cst.RADIAL&&(e.begin(),e.moveTo(.2*i,.4*a),e.lineTo(.2*i,.6*a),e.stroke())},mxCellRenderer.registerShape(mxShapePidFan.prototype.cst.SHAPE_FAN,mxShapePidFan),mxUtils.extend(mxShapePidColumn,mxShape),mxShapePidColumn.prototype.cst={SHAPE_COLUMN:"mxgraph.pid2misc.column",COLUMN_TYPE:"columnType",COMMON:"common",FIXED:"fixed",FLUIDIZED:"fluid",BAFFLE:"baffle",VALVE:"valve",BUBBLE:"bubble",NOZZLE:"nozzle",TRAY:"tray"},mxShapePidColumn.prototype.customProperties=[{name:"columnType",dispName:"Type",type:"enum",defVal:"field",enumList:[{val:"common",dispName:"Common"},{val:"fixed",dispName:"Fixed"},{val:"fluid",dispName:"Fluid"},{val:"baffle",dispName:"Baffle"},{val:"valve",dispName:"Valve"},{val:"bubble",dispName:"Bubble"},{val:"nozzle",dispName:"Nozzle"},{val:"tray",dispName:"Tray"}]}],mxShapePidColumn.prototype.paintVertexShape=function(e,o,t,i,a){e.translate(o,t),this.background(e,o,t,i,a),e.setShadow(!1),this.foreground(e,o,t,i,a)},mxShapePidColumn.prototype.background=function(e,o,t,i,a){a=Math.max(a,30),e.begin(),e.moveTo(0,15),e.arcTo(.5*i,15,0,0,1,i,15),e.lineTo(i,a-15),e.arcTo(.5*i,15,0,0,1,0,a-15),e.close(),e.fillAndStroke()},mxShapePidColumn.prototype.foreground=function(e,o,t,i,a){var l=mxUtils.getValue(this.style,mxShapePidColumn.prototype.cst.COLUMN_TYPE,"common");if(l===mxShapePidColumn.prototype.cst.FIXED){var n=(v=a-50)%(c=1.2*i)*.5+25;e.begin();for(var s=0;s<=v-c;s+=c)e.moveTo(0,s+n+.1*c),e.lineTo(i,s+n+.1*c),e.moveTo(0,s+n+.9*c),e.lineTo(i,s+n+.9*c),e.moveTo(0,s+n+.1*c),e.lineTo(i,s+n+.9*c),e.moveTo(0,s+n+.9*c),e.lineTo(i,s+n+.1*c);e.stroke()}else if(l===mxShapePidColumn.prototype.cst.TRAY){for(n=(v=a-50)%(c=.2*i)*.5+25,e.setDashed(!0),e.begin(),s=0;s<=v;s+=c)e.moveTo(0,s+n),e.lineTo(i,s+n);e.stroke()}else if(l===mxShapePidColumn.prototype.cst.FLUIDIZED){var m=.1*i,p=(v=a-50,S=.1*i,n=25,.02*Math.min(i,a)),r=(mxUtils.getValue(this.style,mxConstants.STYLE_FILLCOLOR,"#ffffff"),mxUtils.getValue(this.style,mxConstants.STYLE_DASHED,"0")),d=mxUtils.getValue(this.style,mxConstants.STYLE_STROKECOLOR,"#000000");e.setFillColor(d),e.setDashed(!0),e.begin(),e.moveTo(0,25),e.lineTo(i,25),e.moveTo(0,a-25),e.lineTo(i,a-25),e.stroke(),"0"===r?e.setDashed(!1):e.setDashed(!0);var h=0;for(s=n+.5*S;s<v+n-p;s+=S){var T=m;0==h%2&&(T=.5*m);for(var x=T;x<i;x+=m)e.ellipse(x,s,p,p),e.fillAndStroke();h++}}else if(l===mxShapePidColumn.prototype.cst.BAFFLE){for(v=a-50-(S=.2*i),n=25+.5*S,e.setDashed(!0),e.begin(),e.moveTo(0,25),e.lineTo(i,25),e.moveTo(0,a-25),e.lineTo(i,a-25),e.stroke(),h=0,e.begin(),s=n+.5*S;s<v+n;s+=S)0==h%2?(e.moveTo(0,s),e.lineTo(.9*i,s),e.lineTo(.9*i,s-.3*S)):(e.moveTo(.1*i,s-.5*S),e.lineTo(.1*i,s),e.lineTo(i,s)),h++;e.stroke()}else if(l===mxShapePidColumn.prototype.cst.VALVE||l===mxShapePidColumn.prototype.cst.BUBBLE){var S;for(v=a-50-(S=.2*i),n=25+.5*S,r=mxUtils.getValue(this.style,mxConstants.STYLE_DASHED,"0"),e.setFillColor(d),e.setDashed(!0),e.begin(),e.moveTo(0,25),e.lineTo(i,25),e.moveTo(0,a-25),e.lineTo(i,a-25),e.stroke(),"0"===r?e.setDashed(!1):e.setDashed(!0),e.begin(),s=n+.5*S;s<v+n;s+=S)e.moveTo(0,s),e.lineTo(.4*i,s),l===mxShapePidColumn.prototype.cst.VALVE?(e.moveTo(.4*i,s-.2*S),e.lineTo(.6*i,s-.2*S)):l===mxShapePidColumn.prototype.cst.BUBBLE&&(e.moveTo(.25*i,s-.2*S),e.arcTo(3*S,3*S,0,0,1,.75*i,s-.2*S)),e.moveTo(.6*i,s),e.lineTo(i,s);e.stroke()}else if(l===mxShapePidColumn.prototype.cst.NOZZLE){var c,v;for(n=(v=a-50)%(c=1.2*i)*.5+25,r=mxUtils.getValue(this.style,mxConstants.STYLE_DASHED,0),s=0;s<=v-c;s+=c)e.setDashed(!0),e.begin(),e.moveTo(0,s+n+.2*c),e.lineTo(i,s+n+.2*c),e.moveTo(0,s+n+.8*c),e.lineTo(i,s+n+.8*c),e.stroke(),0===r?e.setDashed(!1):e.setDashed(!0),e.begin(),e.moveTo(0,s+n+.2*c),e.lineTo(i,s+n+.8*c),e.moveTo(0,s+n+.8*c),e.lineTo(i,s+n+.2*c),0!==s&&(e.moveTo(0,s+n),e.lineTo(.5*i,s+n),e.moveTo(.5*i-.08*c,s+n+.08*c),e.lineTo(.5*i,s+n),e.lineTo(.5*i+.08*c,s+n+.08*c),e.moveTo(.5*i,s+n),e.lineTo(.5*i,s+n+.08*c)),e.stroke();e.stroke()}},mxCellRenderer.registerShape(mxShapePidColumn.prototype.cst.SHAPE_COLUMN,mxShapePidColumn),mxUtils.extend(mxShapePidConveyor,mxShape),mxShapePidConveyor.prototype.cst={SHAPE_CONVEYOR:"mxgraph.pid2misc.conveyor"},mxShapePidConveyor.prototype.paintVertexShape=function(e,o,t,i,a){e.translate(o,t),this.background(e,o,t,i,a),e.setShadow(!1)},mxShapePidConveyor.prototype.background=function(e,o,t,i,a){var l=Math.min(a,.5*i);e.begin(),e.moveTo(.5*l,0),e.lineTo(i-.5*l,0),e.stroke(),e.ellipse(0,0,l,l),e.fillAndStroke(),e.ellipse(i-l,0,l,l),e.fillAndStroke(),e.begin(),e.moveTo(.5*l,l),e.lineTo(i-.5*l,l),e.stroke();for(var n=i-1.8*l,s=.9*l,m=.7*l,p=0;p<n;p+=m)e.rect(s+p,0,.2*l,.1*l),e.fillAndStroke(),e.rect(s+p,.9*l,.2*l,.1*l),e.fillAndStroke()},mxCellRenderer.registerShape(mxShapePidConveyor.prototype.cst.SHAPE_CONVEYOR,mxShapePidConveyor);