highcharts-3d.js 33 KB

12
  1. !function(t){"object"==typeof module&&module.exports?module.exports=t:t(Highcharts)}(function(t){!function(t){var e=t.deg2rad,i=t.pick;t.perspective=function(o,s,r){var a=s.options.chart.options3d,n=!!r&&s.inverted,l=s.plotWidth/2,h=s.plotHeight/2,p=a.depth/2,c=i(a.depth,1)*i(a.viewDistance,0),d=s.scale3d||1,y=e*a.beta*(n?-1:1),a=e*a.alpha*(n?-1:1),x=Math.cos(a),f=Math.cos(-y),b=Math.sin(a),u=Math.sin(-y);return r||(l+=s.plotLeft,h+=s.plotTop),t.map(o,function(t){var e,i;i=(n?t.y:t.x)-l;var o=(n?t.x:t.y)-h,s=(t.z||0)-p;return e=f*i-u*s,t=-b*u*i+x*o-f*b*s,i=x*u*i+b*o+x*f*s,o=0<c&&c<Number.POSITIVE_INFINITY?c/(i+p+c):1,e=e*o*d+l,t=t*o*d+h,{x:n?t:e,y:n?e:t,z:i*d+p}})},t.pointCameraDistance=function(t,e){var o=e.options.chart.options3d,s=e.plotWidth/2;return e=e.plotHeight/2,o=i(o.depth,1)*i(o.viewDistance,0)+o.depth,Math.sqrt(Math.pow(s-t.plotX,2)+Math.pow(e-t.plotY,2)+Math.pow(o-t.plotZ,2))},t.shapeArea=function(t){var e,i,o=0;for(e=0;e<t.length;e++)i=(e+1)%t.length,o+=t[e].x*t[i].y-t[i].x*t[e].y;return o/2},t.shapeArea3d=function(e,i,o){return t.shapeArea(t.perspective(e,i,o))}}(t),function(t){function e(t,i,o,s,r,a,n,l){var h=[],p=a-r;return a>r&&a-r>Math.PI/2+1e-4?(h=h.concat(e(t,i,o,s,r,r+Math.PI/2,n,l)),h=h.concat(e(t,i,o,s,r+Math.PI/2,a,n,l))):a<r&&r-a>Math.PI/2+1e-4?(h=h.concat(e(t,i,o,s,r,r-Math.PI/2,n,l)),h=h.concat(e(t,i,o,s,r-Math.PI/2,a,n,l))):["C",t+o*Math.cos(r)-o*v*p*Math.sin(r)+n,i+s*Math.sin(r)+s*v*p*Math.cos(r)+l,t+o*Math.cos(a)+o*v*p*Math.sin(a)+n,i+s*Math.sin(a)-s*v*p*Math.cos(a)+l,t+o*Math.cos(a)+n,i+s*Math.sin(a)+l]}var i=Math.cos,o=Math.PI,s=Math.sin,r=t.animObject,a=t.charts,n=t.color,l=t.defined,h=t.deg2rad,p=t.each,c=t.extend,d=t.inArray,y=t.map,x=t.merge,f=t.perspective,b=t.pick,u=t.SVGElement,z=t.SVGRenderer,g=t.wrap,v=4*(Math.sqrt(2)-1)/3/(o/2);z.prototype.toLinePath=function(t,e){var i=[];return p(t,function(t){i.push("L",t.x,t.y)}),t.length&&(i[0]="M",e&&i.push("Z")),i},z.prototype.toLineSegments=function(t){var e=[],i=!0;return p(t,function(t){e.push(i?"M":"L",t.x,t.y),i=!i}),e},z.prototype.face3d=function(e){var i=this,o=this.createElement("path");return o.vertexes=[],o.insidePlotArea=!1,o.enabled=!0,g(o,"attr",function(e,o){if("object"==typeof o&&(l(o.enabled)||l(o.vertexes)||l(o.insidePlotArea))){this.enabled=b(o.enabled,this.enabled),this.vertexes=b(o.vertexes,this.vertexes),this.insidePlotArea=b(o.insidePlotArea,this.insidePlotArea),delete o.enabled,delete o.vertexes,delete o.insidePlotArea;var s=f(this.vertexes,a[i.chartIndex],this.insidePlotArea),r=i.toLinePath(s,!0),s=t.shapeArea(s),s=this.enabled&&0<s?"visible":"hidden";o.d=r,o.visibility=s}return e.apply(this,[].slice.call(arguments,1))}),g(o,"animate",function(e,o){if("object"==typeof o&&(l(o.enabled)||l(o.vertexes)||l(o.insidePlotArea))){this.enabled=b(o.enabled,this.enabled),this.vertexes=b(o.vertexes,this.vertexes),this.insidePlotArea=b(o.insidePlotArea,this.insidePlotArea),delete o.enabled,delete o.vertexes,delete o.insidePlotArea;var s=f(this.vertexes,a[i.chartIndex],this.insidePlotArea),r=i.toLinePath(s,!0),s=t.shapeArea(s),s=this.enabled&&0<s?"visible":"hidden";o.d=r,this.attr("visibility",s)}return e.apply(this,[].slice.call(arguments,1))}),o.attr(e)},z.prototype.polyhedron=function(t){var e=this,i=this.g(),o=i.destroy;return i.attr({"stroke-linejoin":"round"}),i.faces=[],i.destroy=function(){for(var t=0;t<i.faces.length;t++)i.faces[t].destroy();return o.call(this)},g(i,"attr",function(t,o,s,r,a){if("object"==typeof o&&l(o.faces)){for(;i.faces.length>o.faces.length;)i.faces.pop().destroy();for(;i.faces.length<o.faces.length;)i.faces.push(e.face3d().add(i));for(var n=0;n<o.faces.length;n++)i.faces[n].attr(o.faces[n],null,r,a);delete o.faces}return t.apply(this,[].slice.call(arguments,1))}),g(i,"animate",function(t,o,s,r){if(o&&o.faces){for(;i.faces.length>o.faces.length;)i.faces.pop().destroy();for(;i.faces.length<o.faces.length;)i.faces.push(e.face3d().add(i));for(var a=0;a<o.faces.length;a++)i.faces[a].animate(o.faces[a],s,r);delete o.faces}return t.apply(this,[].slice.call(arguments,1))}),i.attr(t)},z.prototype.cuboid=function(t){var e=this.g(),i=e.destroy;return t=this.cuboidPath(t),e.attr({"stroke-linejoin":"round"}),e.front=this.path(t[0]).attr({class:"highcharts-3d-front"}).add(e),e.top=this.path(t[1]).attr({class:"highcharts-3d-top"}).add(e),e.side=this.path(t[2]).attr({class:"highcharts-3d-side"}).add(e),e.fillSetter=function(t){return this.front.attr({fill:t}),this.top.attr({fill:n(t).brighten(.1).get()}),this.side.attr({fill:n(t).brighten(-.1).get()}),this.color=t,e.fill=t,this},e.opacitySetter=function(t){return this.front.attr({opacity:t}),this.top.attr({opacity:t}),this.side.attr({opacity:t}),this},e.attr=function(t,e,i,o){if("string"==typeof t&&"undefined"!=typeof e){var s=t;t={},t[s]=e}return t.shapeArgs||l(t.x)?(t=this.renderer.cuboidPath(t.shapeArgs||t),this.front.attr({d:t[0]}),this.top.attr({d:t[1]}),this.side.attr({d:t[2]}),this):u.prototype.attr.call(this,t,void 0,i,o)},e.animate=function(t,e,i){return l(t.x)&&l(t.y)?(t=this.renderer.cuboidPath(t),this.front.animate({d:t[0]},e,i),this.top.animate({d:t[1]},e,i),this.side.animate({d:t[2]},e,i),this.attr({zIndex:-t[3]})):t.opacity?(this.front.animate(t,e,i),this.top.animate(t,e,i),this.side.animate(t,e,i)):u.prototype.animate.call(this,t,e,i),this},e.destroy=function(){return this.front.destroy(),this.top.destroy(),this.side.destroy(),i.call(this)},e.attr({zIndex:-t[3]}),e},t.SVGRenderer.prototype.cuboidPath=function(e){function i(t){return u[t]}var o,s,r=e.x,n=e.y,l=e.z,h=e.height,p=e.width,c=e.depth,d=a[this.chartIndex],x=d.options.chart.options3d.alpha,b=0,u=[{x:r,y:n,z:l},{x:r+p,y:n,z:l},{x:r+p,y:n+h,z:l},{x:r,y:n+h,z:l},{x:r,y:n+h,z:l+c},{x:r+p,y:n+h,z:l+c},{x:r+p,y:n,z:l+c},{x:r,y:n,z:l+c}],u=f(u,d,e.insidePlotArea);return s=function(e,o){var s=[[],-1];return e=y(e,i),o=y(o,i),0>t.shapeArea(e)?s=[e,0]:0>t.shapeArea(o)&&(s=[o,1]),s},o=s([3,2,1,0],[7,6,5,4]),e=o[0],p=o[1],o=s([1,6,7,0],[4,5,2,3]),h=o[0],c=o[1],o=s([1,2,5,6],[0,7,4,3]),s=o[0],o=o[1],1===o?b+=1e4*(1e3-r):o||(b+=1e4*r),b+=10*(!c||0<=x&&180>=x||360>x&&357.5<x?d.plotHeight-n:10+n),1===p?b+=100*l:p||(b+=100*(1e3-l)),b=-Math.round(b),[this.toLinePath(e,!0),this.toLinePath(h,!0),this.toLinePath(s,!0),b]},t.SVGRenderer.prototype.arc3d=function(t){function e(t){var e=!1,i={};t=x(t);for(var o in t)-1!==d(o,s)&&(i[o]=t[o],delete t[o],e=!0);return!!e&&i}var i=this.g(),o=i.renderer,s="x y r innerR start end".split(" ");return t=x(t),t.alpha*=h,t.beta*=h,i.top=o.path(),i.side1=o.path(),i.side2=o.path(),i.inn=o.path(),i.out=o.path(),i.onAdd=function(){var t=i.parentGroup,e=i.attr("class");i.top.add(i),p(["out","inn","side1","side2"],function(o){i[o].attr({class:e+" highcharts-3d-side"}).add(t)})},p(["addClass","removeClass"],function(t){i[t]=function(){var e=arguments;p(["top","out","inn","side1","side2"],function(o){i[o][t].apply(i[o],e)})}}),i.setPaths=function(t){var e=i.renderer.arc3dPath(t),o=100*e.zTop;i.attribs=t,i.top.attr({d:e.top,zIndex:e.zTop}),i.inn.attr({d:e.inn,zIndex:e.zInn}),i.out.attr({d:e.out,zIndex:e.zOut}),i.side1.attr({d:e.side1,zIndex:e.zSide1}),i.side2.attr({d:e.side2,zIndex:e.zSide2}),i.zIndex=o,i.attr({zIndex:o}),t.center&&(i.top.setRadialReference(t.center),delete t.center)},i.setPaths(t),i.fillSetter=function(t){var e=n(t).brighten(-.1).get();return this.fill=t,this.side1.attr({fill:e}),this.side2.attr({fill:e}),this.inn.attr({fill:e}),this.out.attr({fill:e}),this.top.attr({fill:t}),this},p(["opacity","translateX","translateY","visibility"],function(t){i[t+"Setter"]=function(t,e){i[e]=t,p(["out","inn","side1","side2","top"],function(o){i[o].attr(e,t)})}}),g(i,"attr",function(t,o){var s;return"object"==typeof o&&(s=e(o))&&(c(i.attribs,s),i.setPaths(i.attribs)),t.apply(this,[].slice.call(arguments,1))}),g(i,"animate",function(t,i,o,s){var a,n,l=this.attribs;return delete i.center,delete i.z,delete i.depth,delete i.alpha,delete i.beta,n=r(b(o,this.renderer.globalAnimation)),n.duration&&(a=e(i),i.dummy=1,a&&(n.step=function(t,e){function i(t){return l[t]+(b(a[t],l[t])-l[t])*e.pos}"dummy"===e.prop&&e.elem.setPaths(x(l,{x:i("x"),y:i("y"),r:i("r"),innerR:i("innerR"),start:i("start"),end:i("end")}))}),o=n),t.call(this,i,o,s)}),i.destroy=function(){this.top.destroy(),this.out.destroy(),this.inn.destroy(),this.side1.destroy(),this.side2.destroy(),u.prototype.destroy.call(this)},i.hide=function(){this.top.hide(),this.out.hide(),this.inn.hide(),this.side1.hide(),this.side2.hide()},i.show=function(){this.top.show(),this.out.show(),this.inn.show(),this.side1.show(),this.side2.show()},i},z.prototype.arc3dPath=function(t){function r(t){return t%=2*Math.PI,t>Math.PI&&(t=2*Math.PI-t),t}var a=t.x,n=t.y,l=t.start,h=t.end-1e-5,p=t.r,c=t.innerR,d=t.depth,y=t.alpha,x=t.beta,f=Math.cos(l),b=Math.sin(l);t=Math.cos(h);var u=Math.sin(h),z=p*Math.cos(x),p=p*Math.cos(y),g=c*Math.cos(x),v=c*Math.cos(y),c=d*Math.sin(x),m=d*Math.sin(y),d=["M",a+z*f,n+p*b],d=d.concat(e(a,n,z,p,l,h,0,0)),d=d.concat(["L",a+g*t,n+v*u]),d=d.concat(e(a,n,g,v,h,l,0,0)),d=d.concat(["Z"]),M=0<x?Math.PI/2:0,x=0<y?0:Math.PI/2,M=l>-M?l:h>-M?-M:l,A=h<o-x?h:l<o-x?o-x:h,P=2*o-x,y=["M",a+z*i(M),n+p*s(M)],y=y.concat(e(a,n,z,p,M,A,0,0));return h>P&&l<P?(y=y.concat(["L",a+z*i(A)+c,n+p*s(A)+m]),y=y.concat(e(a,n,z,p,A,P,c,m)),y=y.concat(["L",a+z*i(P),n+p*s(P)]),y=y.concat(e(a,n,z,p,P,h,0,0)),y=y.concat(["L",a+z*i(h)+c,n+p*s(h)+m]),y=y.concat(e(a,n,z,p,h,P,c,m)),y=y.concat(["L",a+z*i(P),n+p*s(P)]),y=y.concat(e(a,n,z,p,P,A,0,0))):h>o-x&&l<o-x&&(y=y.concat(["L",a+z*Math.cos(A)+c,n+p*Math.sin(A)+m]),y=y.concat(e(a,n,z,p,A,h,c,m)),y=y.concat(["L",a+z*Math.cos(h),n+p*Math.sin(h)]),y=y.concat(e(a,n,z,p,h,A,0,0))),y=y.concat(["L",a+z*Math.cos(A)+c,n+p*Math.sin(A)+m]),y=y.concat(e(a,n,z,p,A,M,c,m)),y=y.concat(["Z"]),x=["M",a+g*f,n+v*b],x=x.concat(e(a,n,g,v,l,h,0,0)),x=x.concat(["L",a+g*Math.cos(h)+c,n+v*Math.sin(h)+m]),x=x.concat(e(a,n,g,v,h,l,c,m)),x=x.concat(["Z"]),f=["M",a+z*f,n+p*b,"L",a+z*f+c,n+p*b+m,"L",a+g*f+c,n+v*b+m,"L",a+g*f,n+v*b,"Z"],a=["M",a+z*t,n+p*u,"L",a+z*t+c,n+p*u+m,"L",a+g*t+c,n+v*u+m,"L",a+g*t,n+v*u,"Z"],u=Math.atan2(m,-c),n=Math.abs(h+u),t=Math.abs(l+u),l=Math.abs((l+h)/2+u),n=r(n),t=r(t),l=r(l),l*=1e5,h=1e5*t,n*=1e5,{top:d,zTop:1e5*Math.PI+1,out:y,zOut:Math.max(l,h,n),inn:x,zInn:Math.max(l,h,n),side1:f,zSide1:.99*n,side2:a,zSide2:.99*h}}}(t),function(t){function e(t,e){var i,s=t.plotLeft,a=t.plotWidth+s,n=t.plotTop,l=t.plotHeight+n,h=s+t.plotWidth/2,p=n+t.plotHeight/2,c=Number.MAX_VALUE,d=-Number.MAX_VALUE,y=Number.MAX_VALUE,x=-Number.MAX_VALUE,f=1;return i=[{x:s,y:n,z:0},{x:s,y:n,z:e}],o([0,1],function(t){i.push({x:a,y:i[t].y,z:i[t].z})}),o([0,1,2,3],function(t){i.push({x:i[t].x,y:l,z:i[t].z})}),i=r(i,t,!1),o(i,function(t){c=Math.min(c,t.x),d=Math.max(d,t.x),y=Math.min(y,t.y),x=Math.max(x,t.y)}),s>c&&(f=Math.min(f,1-Math.abs((s+h)/(c+h))%1)),a<d&&(f=Math.min(f,(a-h)/(d-h))),n>y&&(f=0>y?Math.min(f,(n+p)/(-y+n+p)):Math.min(f,1-(n+p)/(y+p)%1)),l<x&&(f=Math.min(f,Math.abs((l-p)/(x-p)))),f}var i=t.Chart,o=t.each,s=t.merge,r=t.perspective,a=t.pick,n=t.wrap;i.prototype.is3d=function(){return this.options.chart.options3d&&this.options.chart.options3d.enabled},i.prototype.propsRequireDirtyBox.push("chart.options3d"),i.prototype.propsRequireUpdateSeries.push("chart.options3d"),t.wrap(t.Chart.prototype,"isInsidePlot",function(t){return this.is3d()||t.apply(this,[].slice.call(arguments,1))});var l=t.getOptions();s(!0,l,{chart:{options3d:{enabled:!1,alpha:0,beta:0,depth:100,fitToPlot:!0,viewDistance:25,axisLabelPosition:"default",frame:{visible:"default",size:1,bottom:{},top:{},left:{},right:{},back:{},front:{}}}}}),n(i.prototype,"setClassName",function(t){t.apply(this,[].slice.call(arguments,1)),this.is3d()&&(this.container.className+=" highcharts-3d-chart")}),t.wrap(t.Chart.prototype,"setChartSize",function(t){var i=this.options.chart.options3d;if(t.apply(this,[].slice.call(arguments,1)),this.is3d()){var o=this.inverted,s=this.clipBox,r=this.margin;s[o?"y":"x"]=-(r[3]||0),s[o?"x":"y"]=-(r[0]||0),s[o?"height":"width"]=this.chartWidth+(r[3]||0)+(r[1]||0),s[o?"width":"height"]=this.chartHeight+(r[0]||0)+(r[2]||0),this.scale3d=1,!0===i.fitToPlot&&(this.scale3d=e(this,i.depth))}}),n(i.prototype,"redraw",function(t){this.is3d()&&(this.isDirtyBox=!0,this.frame3d=this.get3dFrame()),t.apply(this,[].slice.call(arguments,1))}),n(i.prototype,"render",function(t){this.is3d()&&(this.frame3d=this.get3dFrame()),t.apply(this,[].slice.call(arguments,1))}),n(i.prototype,"renderSeries",function(t){var e=this.series.length;if(this.is3d())for(;e--;)t=this.series[e],t.translate(),t.render();else t.call(this)}),n(i.prototype,"drawChartBox",function(e){if(this.is3d()){var i=this.renderer,o=this.options.chart.options3d,s=this.get3dFrame(),r=this.plotLeft,a=this.plotLeft+this.plotWidth,n=this.plotTop,l=this.plotTop+this.plotHeight,o=o.depth,h=r-(s.left.visible?s.left.size:0),p=a+(s.right.visible?s.right.size:0),c=n-(s.top.visible?s.top.size:0),d=l+(s.bottom.visible?s.bottom.size:0),y=0-(s.front.visible?s.front.size:0),x=o+(s.back.visible?s.back.size:0),f=this.hasRendered?"animate":"attr";this.frame3d=s,this.frameShapes||(this.frameShapes={bottom:i.polyhedron().add(),top:i.polyhedron().add(),left:i.polyhedron().add(),right:i.polyhedron().add(),back:i.polyhedron().add(),front:i.polyhedron().add()}),this.frameShapes.bottom[f]({class:"highcharts-3d-frame highcharts-3d-frame-bottom",zIndex:s.bottom.frontFacing?-1e3:1e3,faces:[{fill:t.color(s.bottom.color).brighten(.1).get(),vertexes:[{x:h,y:d,z:y},{x:p,y:d,z:y},{x:p,y:d,z:x},{x:h,y:d,z:x}],enabled:s.bottom.visible},{fill:t.color(s.bottom.color).brighten(.1).get(),vertexes:[{x:r,y:l,z:o},{x:a,y:l,z:o},{x:a,y:l,z:0},{x:r,y:l,z:0}],enabled:s.bottom.visible},{fill:t.color(s.bottom.color).brighten(-.1).get(),vertexes:[{x:h,y:d,z:y},{x:h,y:d,z:x},{x:r,y:l,z:o},{x:r,y:l,z:0}],enabled:s.bottom.visible&&!s.left.visible},{fill:t.color(s.bottom.color).brighten(-.1).get(),vertexes:[{x:p,y:d,z:x},{x:p,y:d,z:y},{x:a,y:l,z:0},{x:a,y:l,z:o}],enabled:s.bottom.visible&&!s.right.visible},{fill:t.color(s.bottom.color).get(),vertexes:[{x:p,y:d,z:y},{x:h,y:d,z:y},{x:r,y:l,z:0},{x:a,y:l,z:0}],enabled:s.bottom.visible&&!s.front.visible},{fill:t.color(s.bottom.color).get(),vertexes:[{x:h,y:d,z:x},{x:p,y:d,z:x},{x:a,y:l,z:o},{x:r,y:l,z:o}],enabled:s.bottom.visible&&!s.back.visible}]}),this.frameShapes.top[f]({class:"highcharts-3d-frame highcharts-3d-frame-top",zIndex:s.top.frontFacing?-1e3:1e3,faces:[{fill:t.color(s.top.color).brighten(.1).get(),vertexes:[{x:h,y:c,z:x},{x:p,y:c,z:x},{x:p,y:c,z:y},{x:h,y:c,z:y}],enabled:s.top.visible},{fill:t.color(s.top.color).brighten(.1).get(),vertexes:[{x:r,y:n,z:0},{x:a,y:n,z:0},{x:a,y:n,z:o},{x:r,y:n,z:o}],enabled:s.top.visible},{fill:t.color(s.top.color).brighten(-.1).get(),vertexes:[{x:h,y:c,z:x},{x:h,y:c,z:y},{x:r,y:n,z:0},{x:r,y:n,z:o}],enabled:s.top.visible&&!s.left.visible},{fill:t.color(s.top.color).brighten(-.1).get(),vertexes:[{x:p,y:c,z:y},{x:p,y:c,z:x},{x:a,y:n,z:o},{x:a,y:n,z:0}],enabled:s.top.visible&&!s.right.visible},{fill:t.color(s.top.color).get(),vertexes:[{x:h,y:c,z:y},{x:p,y:c,z:y},{x:a,y:n,z:0},{x:r,y:n,z:0}],enabled:s.top.visible&&!s.front.visible},{fill:t.color(s.top.color).get(),vertexes:[{x:p,y:c,z:x},{x:h,y:c,z:x},{x:r,y:n,z:o},{x:a,y:n,z:o}],enabled:s.top.visible&&!s.back.visible}]}),this.frameShapes.left[f]({class:"highcharts-3d-frame highcharts-3d-frame-left",zIndex:s.left.frontFacing?-1e3:1e3,faces:[{fill:t.color(s.left.color).brighten(.1).get(),vertexes:[{x:h,y:d,z:y},{x:r,y:l,z:0},{x:r,y:l,z:o},{x:h,y:d,z:x}],enabled:s.left.visible&&!s.bottom.visible},{fill:t.color(s.left.color).brighten(.1).get(),vertexes:[{x:h,y:c,z:x},{x:r,y:n,z:o},{x:r,y:n,z:0},{x:h,y:c,z:y}],enabled:s.left.visible&&!s.top.visible},{fill:t.color(s.left.color).brighten(-.1).get(),vertexes:[{x:h,y:d,z:x},{x:h,y:c,z:x},{x:h,y:c,z:y},{x:h,y:d,z:y}],enabled:s.left.visible},{fill:t.color(s.left.color).brighten(-.1).get(),vertexes:[{x:r,y:n,z:o},{x:r,y:l,z:o},{x:r,y:l,z:0},{x:r,y:n,z:0}],enabled:s.left.visible},{fill:t.color(s.left.color).get(),vertexes:[{x:h,y:d,z:y},{x:h,y:c,z:y},{x:r,y:n,z:0},{x:r,y:l,z:0}],enabled:s.left.visible&&!s.front.visible},{fill:t.color(s.left.color).get(),vertexes:[{x:h,y:c,z:x},{x:h,y:d,z:x},{x:r,y:l,z:o},{x:r,y:n,z:o}],enabled:s.left.visible&&!s.back.visible}]}),this.frameShapes.right[f]({class:"highcharts-3d-frame highcharts-3d-frame-right",zIndex:s.right.frontFacing?-1e3:1e3,faces:[{fill:t.color(s.right.color).brighten(.1).get(),vertexes:[{x:p,y:d,z:x},{x:a,y:l,z:o},{x:a,y:l,z:0},{x:p,y:d,z:y}],enabled:s.right.visible&&!s.bottom.visible},{fill:t.color(s.right.color).brighten(.1).get(),vertexes:[{x:p,y:c,z:y},{x:a,y:n,z:0},{x:a,y:n,z:o},{x:p,y:c,z:x}],enabled:s.right.visible&&!s.top.visible},{fill:t.color(s.right.color).brighten(-.1).get(),vertexes:[{x:a,y:n,z:0},{x:a,y:l,z:0},{x:a,y:l,z:o},{x:a,y:n,z:o}],enabled:s.right.visible},{fill:t.color(s.right.color).brighten(-.1).get(),vertexes:[{x:p,y:d,z:y},{x:p,y:c,z:y},{x:p,y:c,z:x},{x:p,y:d,z:x}],enabled:s.right.visible},{fill:t.color(s.right.color).get(),vertexes:[{x:p,y:c,z:y},{x:p,y:d,z:y},{x:a,y:l,z:0},{x:a,y:n,z:0}],enabled:s.right.visible&&!s.front.visible},{fill:t.color(s.right.color).get(),vertexes:[{x:p,y:d,z:x},{x:p,y:c,z:x},{x:a,y:n,z:o},{x:a,y:l,z:o}],enabled:s.right.visible&&!s.back.visible}]}),this.frameShapes.back[f]({class:"highcharts-3d-frame highcharts-3d-frame-back",zIndex:s.back.frontFacing?-1e3:1e3,faces:[{fill:t.color(s.back.color).brighten(.1).get(),vertexes:[{x:p,y:d,z:x},{x:h,y:d,z:x},{x:r,y:l,z:o},{x:a,y:l,z:o}],enabled:s.back.visible&&!s.bottom.visible},{fill:t.color(s.back.color).brighten(.1).get(),vertexes:[{x:h,y:c,z:x},{x:p,y:c,z:x},{x:a,y:n,z:o},{x:r,y:n,z:o}],enabled:s.back.visible&&!s.top.visible},{fill:t.color(s.back.color).brighten(-.1).get(),vertexes:[{x:h,y:d,z:x},{x:h,y:c,z:x},{x:r,y:n,z:o},{x:r,y:l,z:o}],enabled:s.back.visible&&!s.left.visible},{fill:t.color(s.back.color).brighten(-.1).get(),vertexes:[{x:p,y:c,z:x},{x:p,y:d,z:x},{x:a,y:l,z:o},{x:a,y:n,z:o}],enabled:s.back.visible&&!s.right.visible},{fill:t.color(s.back.color).get(),vertexes:[{x:r,y:n,z:o},{x:a,y:n,z:o},{x:a,y:l,z:o},{x:r,y:l,z:o}],enabled:s.back.visible},{fill:t.color(s.back.color).get(),vertexes:[{x:h,y:d,z:x},{x:p,y:d,z:x},{x:p,y:c,z:x},{x:h,y:c,z:x}],enabled:s.back.visible}]}),this.frameShapes.front[f]({class:"highcharts-3d-frame highcharts-3d-frame-front",zIndex:s.front.frontFacing?-1e3:1e3,faces:[{fill:t.color(s.front.color).brighten(.1).get(),vertexes:[{x:h,y:d,z:y},{x:p,y:d,z:y},{x:a,y:l,z:0},{x:r,y:l,z:0}],enabled:s.front.visible&&!s.bottom.visible},{fill:t.color(s.front.color).brighten(.1).get(),vertexes:[{x:p,y:c,z:y},{x:h,y:c,z:y},{x:r,y:n,z:0},{x:a,y:n,z:0}],enabled:s.front.visible&&!s.top.visible},{fill:t.color(s.front.color).brighten(-.1).get(),vertexes:[{x:h,y:c,z:y},{x:h,y:d,z:y},{x:r,y:l,z:0},{x:r,y:n,z:0}],enabled:s.front.visible&&!s.left.visible},{fill:t.color(s.front.color).brighten(-.1).get(),vertexes:[{x:p,y:d,z:y},{x:p,y:c,z:y},{x:a,y:n,z:0},{x:a,y:l,z:0}],enabled:s.front.visible&&!s.right.visible},{fill:t.color(s.front.color).get(),vertexes:[{x:a,y:n,z:0},{x:r,y:n,z:0},{x:r,y:l,z:0},{x:a,y:l,z:0}],enabled:s.front.visible},{fill:t.color(s.front.color).get(),vertexes:[{x:p,y:d,z:y},{x:h,y:d,z:y},{x:h,y:c,z:y},{x:p,y:c,z:y}],enabled:s.front.visible}]})}return e.apply(this,[].slice.call(arguments,1))}),i.prototype.retrieveStacks=function(t){var e,i=this.series,s={},r=1;return o(this.series,function(o){e=a(o.options.stack,t?0:i.length-1-o.index),s[e]?s[e].series.push(o):(s[e]={series:[o],position:r},r++)}),s.totalStacks=r+1,s},i.prototype.get3dFrame=function(){var e=this,i=e.options.chart.options3d,s=i.frame,n=e.plotLeft,l=e.plotLeft+e.plotWidth,h=e.plotTop,p=e.plotTop+e.plotHeight,c=i.depth,d=t.shapeArea3d([{x:n,y:p,z:c},{x:l,y:p,z:c},{x:l,y:p,z:0},{x:n,y:p,z:0}],e),y=t.shapeArea3d([{x:n,y:h,z:0},{x:l,y:h,z:0},{x:l,y:h,z:c},{x:n,y:h,z:c}],e),x=t.shapeArea3d([{x:n,y:h,z:0},{x:n,y:h,z:c},{x:n,y:p,z:c},{x:n,y:p,z:0}],e),f=t.shapeArea3d([{x:l,y:h,z:c},{x:l,y:h,z:0},{x:l,y:p,z:0},{x:l,y:p,z:c}],e),b=t.shapeArea3d([{x:n,y:p,z:0},{x:l,y:p,z:0},{x:l,y:h,z:0},{x:n,y:h,z:0}],e),u=t.shapeArea3d([{x:n,y:h,z:c},{x:l,y:h,z:c},{x:l,y:p,z:c},{x:n,y:p,z:c}],e),z=!1,g=!1,v=!1,m=!1;o([].concat(e.xAxis,e.yAxis,e.zAxis),function(t){t&&(t.horiz?t.opposite?g=!0:z=!0:t.opposite?m=!0:v=!0)});var M=function(t,e,i){for(var o=["size","color","visible"],s={},r=0;r<o.length;r++)for(var n=o[r],l=0;l<t.length;l++)if("object"==typeof t[l]){var h=t[l][n];if(void 0!==h&&null!==h){s[n]=h;break}}return t=i,!0===s.visible||!1===s.visible?t=s.visible:"auto"===s.visible&&(t=0<=e),{size:a(s.size,1),color:a(s.color,"none"),frontFacing:0<e,visible:t}},s={bottom:M([s.bottom,s.top,s],d,z),top:M([s.top,s.bottom,s],y,g),left:M([s.left,s.right,s.side,s],x,v),right:M([s.right,s.left,s.side,s],f,m),back:M([s.back,s.front,s],u,!0),front:M([s.front,s.back,s],b,!1)};return"auto"===i.axisLabelPosition?(f=function(t,e){return t.visible!==e.visible||t.visible&&e.visible&&t.frontFacing!==e.frontFacing},i=[],f(s.left,s.front)&&i.push({y:(h+p)/2,x:n,z:0}),f(s.left,s.back)&&i.push({y:(h+p)/2,x:n,z:c}),f(s.right,s.front)&&i.push({y:(h+p)/2,x:l,z:0}),f(s.right,s.back)&&i.push({y:(h+p)/2,x:l,z:c}),d=[],f(s.bottom,s.front)&&d.push({x:(n+l)/2,y:p,z:0}),f(s.bottom,s.back)&&d.push({x:(n+l)/2,y:p,z:c}),y=[],f(s.top,s.front)&&y.push({x:(n+l)/2,y:h,z:0}),f(s.top,s.back)&&y.push({x:(n+l)/2,y:h,z:c}),x=[],f(s.bottom,s.left)&&x.push({z:(0+c)/2,y:p,x:n}),f(s.bottom,s.right)&&x.push({z:(0+c)/2,y:p,x:l}),p=[],f(s.top,s.left)&&p.push({z:(0+c)/2,y:h,x:n}),f(s.top,s.right)&&p.push({z:(0+c)/2,y:h,x:l}),n=function(t,i,o){if(0===t.length)return null;if(1===t.length)return t[0];for(var s=0,a=r(t,e,!1),n=1;n<a.length;n++)o*a[n][i]>o*a[s][i]?s=n:o*a[n][i]===o*a[s][i]&&a[n].z<a[s].z&&(s=n);return t[s]},s.axes={y:{left:n(i,"x",-1),right:n(i,"x",1)},x:{top:n(y,"y",-1),bottom:n(d,"y",1)},z:{top:n(p,"y",-1),bottom:n(x,"y",1)}}):s.axes={y:{left:{x:n,z:0},right:{x:l,z:0}},x:{top:{y:h,z:0},bottom:{y:p,z:0}},z:{top:{x:v?l:n,y:h},bottom:{x:v?l:n,y:p}}},s}}(t),function(t){function e(t,e){if(t.chart.is3d()&&"colorAxis"!==t.coll){var i=t.chart,o=i.frame3d,s=i.plotLeft,r=i.plotWidth+s,a=i.plotTop,i=i.plotHeight+a,n=0,h=0;if(e=t.swapZ({x:e.x,y:e.y,z:0}),t.isZAxis)if(t.opposite){if(null===o.axes.z.top)return{};h=e.y-a,e.x=o.axes.z.top.x,e.y=o.axes.z.top.y}else{if(null===o.axes.z.bottom)return{};h=e.y-i,e.x=o.axes.z.bottom.x,e.y=o.axes.z.bottom.y}else if(t.horiz)if(t.opposite){if(null===o.axes.x.top)return{};h=e.y-a,e.y=o.axes.x.top.y,e.z=o.axes.x.top.z}else{if(null===o.axes.x.bottom)return{};h=e.y-i,e.y=o.axes.x.bottom.y,e.z=o.axes.x.bottom.z}else if(t.opposite){if(null===o.axes.y.right)return{};n=e.x-r,e.x=o.axes.y.right.x,e.z=o.axes.y.right.z}else{if(null===o.axes.y.left)return{};n=e.x-s,e.x=o.axes.y.left.x,e.z=o.axes.y.left.z}e=l([e],t.chart)[0],e.x+=n,e.y+=h}return e}var i,o=t.Axis,s=t.Chart,r=t.each,a=t.extend,n=t.merge,l=t.perspective,h=t.pick,p=t.splat,c=t.Tick,d=t.wrap;d(o.prototype,"setOptions",function(t,e){t.call(this,e),this.chart.is3d()&&"colorAxis"!==this.coll&&(t=this.options,t.tickWidth=h(t.tickWidth,0),t.gridLineWidth=h(t.gridLineWidth,1))}),d(o.prototype,"getPlotLinePath",function(t){var e=t.apply(this,[].slice.call(arguments,1));if(!this.chart.is3d()||"colorAxis"===this.coll||null===e)return e;var i=this.chart,o=i.options.chart.options3d,o=this.isZAxis?i.plotWidth:o.depth,i=i.frame3d,e=[this.swapZ({x:e[1],y:e[2],z:0}),this.swapZ({x:e[1],y:e[2],z:o}),this.swapZ({x:e[4],y:e[5],z:0}),this.swapZ({x:e[4],y:e[5],z:o})],o=[];return this.horiz?(this.isZAxis?(i.left.visible&&o.push(e[0],e[2]),i.right.visible&&o.push(e[1],e[3])):(i.front.visible&&o.push(e[0],e[2]),i.back.visible&&o.push(e[1],e[3])),i.top.visible&&o.push(e[0],e[1]),i.bottom.visible&&o.push(e[2],e[3])):(i.front.visible&&o.push(e[0],e[2]),i.back.visible&&o.push(e[1],e[3]),i.left.visible&&o.push(e[0],e[1]),i.right.visible&&o.push(e[2],e[3])),o=l(o,this.chart,!1),this.chart.renderer.toLineSegments(o)}),d(o.prototype,"getLinePath",function(t){return this.chart.is3d()?[]:t.apply(this,[].slice.call(arguments,1))}),d(o.prototype,"getPlotBandPath",function(t){if(!this.chart.is3d()||"colorAxis"===this.coll)return t.apply(this,[].slice.call(arguments,1));var e=arguments,i=e[2],o=[],e=this.getPlotLinePath(e[1]),i=this.getPlotLinePath(i);if(e&&i)for(var s=0;s<e.length;s+=6)o.push("M",e[s+1],e[s+2],"L",e[s+4],e[s+5],"L",i[s+4],i[s+5],"L",i[s+1],i[s+2],"Z");return o}),d(c.prototype,"getMarkPath",function(t){var i=t.apply(this,[].slice.call(arguments,1)),i=[e(this.axis,{x:i[1],y:i[2],z:0}),e(this.axis,{x:i[4],y:i[5],z:0})];return this.axis.chart.renderer.toLineSegments(i)}),d(c.prototype,"getLabelPosition",function(t){var i=t.apply(this,[].slice.call(arguments,1));return e(this.axis,i)}),t.wrap(o.prototype,"getTitlePosition",function(t){var i=t.apply(this,[].slice.call(arguments,1));return e(this,i)}),d(o.prototype,"drawCrosshair",function(t){var e=arguments;this.chart.is3d()&&e[2]&&(e[2]={plotX:e[2].plotXold||e[2].plotX,plotY:e[2].plotYold||e[2].plotY}),t.apply(this,[].slice.call(e,1))}),d(o.prototype,"destroy",function(t){r(["backFrame","bottomFrame","sideFrame"],function(t){this[t]&&(this[t]=this[t].destroy())},this),t.apply(this,[].slice.call(arguments,1))}),o.prototype.swapZ=function(t,e){return this.isZAxis?(e=e?0:this.chart.plotLeft,{x:e+t.z,y:t.y,z:t.x-e}):t},i=t.ZAxis=function(){this.init.apply(this,arguments)},a(i.prototype,o.prototype),a(i.prototype,{isZAxis:!0,setOptions:function(t){t=n({offset:0,lineWidth:0},t),o.prototype.setOptions.call(this,t),this.coll="zAxis"},setAxisSize:function(){o.prototype.setAxisSize.call(this),this.width=this.len=this.chart.options.chart.options3d.depth,this.right=this.chart.chartWidth-this.width-this.left},getSeriesExtremes:function(){var t=this,e=t.chart;t.hasVisibleSeries=!1,t.dataMin=t.dataMax=t.ignoreMinPadding=t.ignoreMaxPadding=null,t.buildStacks&&t.buildStacks(),r(t.series,function(i){!i.visible&&e.options.chart.ignoreHiddenSeries||(t.hasVisibleSeries=!0,i=i.zData,i.length&&(t.dataMin=Math.min(h(t.dataMin,i[0]),Math.min.apply(null,i)),t.dataMax=Math.max(h(t.dataMax,i[0]),Math.max.apply(null,i))))})}}),d(s.prototype,"getAxes",function(t){var e=this,o=this.options,o=o.zAxis=p(o.zAxis||{});t.call(this),e.is3d()&&(this.zAxis=[],r(o,function(t,o){t.index=o,t.isX=!0,new i(e,t).setScale()}))})}(t),function(t){function e(t){var e=t.apply(this,[].slice.call(arguments,1));return this.chart.is3d()&&(e.stroke=this.options.edgeColor||e.fill,e["stroke-width"]=s(this.options.edgeWidth,1)),e}var i=t.each,o=t.perspective,s=t.pick,r=t.Series,a=t.seriesTypes,n=t.inArray,l=t.svg,h=t.wrap;h(a.column.prototype,"translate",function(t){if(t.apply(this,[].slice.call(arguments,1)),this.chart.is3d()){var e=this,s=e.chart,r=e.options,a=r.depth||25,n=(r.stacking?r.stack||0:e.index)*(a+(r.groupZPadding||1)),l=e.borderWidth%2?.5:0;s.inverted&&!e.yAxis.reversed&&(l*=-1),!1!==r.grouping&&(n=0),n+=r.groupZPadding||1,i(e.data,function(t){if(null!==t.y){var r,h=t.shapeArgs,p=t.tooltipPos;i([["x","width"],["y","height"]],function(t){if(r=h[t[0]]-l,0>r&&(h[t[1]]+=h[t[0]]+l,h[t[0]]=-l,r=0),r+h[t[1]]>e[t[0]+"Axis"].len&&0!==h[t[1]]&&(h[t[1]]=e[t[0]+"Axis"].len-h[t[0]]),0!==h[t[1]]&&(h[t[0]]>=e[t[0]+"Axis"].len||h[t[0]]+h[t[1]]<=l))for(var i in h)h[i]=0}),t.shapeType="cuboid",h.z=n,h.depth=a,h.insidePlotArea=!0,p=o([{x:p[0],y:p[1],z:n}],s,!0)[0],t.tooltipPos=[p.x,p.y]}}),e.z=n}}),h(a.column.prototype,"animate",function(t){if(this.chart.is3d()){var e=arguments[1],o=this.yAxis,s=this,r=this.yAxis.reversed;l&&(e?i(s.data,function(t){null!==t.y&&(t.height=t.shapeArgs.height,t.shapey=t.shapeArgs.y,t.shapeArgs.height=1,r||(t.shapeArgs.y=t.stackY?t.plotY+o.translate(t.stackY):t.plotY+(t.negative?-t.height:t.height)))}):(i(s.data,function(t){null!==t.y&&(t.shapeArgs.height=t.height,t.shapeArgs.y=t.shapey,t.graphic&&t.graphic.animate(t.shapeArgs,s.options.animation))}),this.drawDataLabels(),s.animate=null))}else t.apply(this,[].slice.call(arguments,1))}),h(a.column.prototype,"plotGroup",function(t,e,i,o,s,r){return this.chart.is3d()&&r&&!this[e]&&(this[e]=r,r.attr(this.getPlotBox()),this[e].survive=!0),t.apply(this,Array.prototype.slice.call(arguments,1))}),h(a.column.prototype,"setVisible",function(t,e){var o,s=this;s.chart.is3d()&&i(s.data,function(t){o=(t.visible=t.options.visible=e=void 0===e?!t.visible:e)?"visible":"hidden",s.options.data[n(t,s.data)]=t.options,t.graphic&&t.graphic.attr({visibility:o})}),t.apply(this,Array.prototype.slice.call(arguments,1))}),h(a.column.prototype,"init",function(t){if(t.apply(this,[].slice.call(arguments,1)),this.chart.is3d()){var e=this.options,i=e.grouping,o=e.stacking,r=s(this.yAxis.options.reversedStacks,!0),a=0;if(void 0===i||i){for(i=this.chart.retrieveStacks(o),a=e.stack||0,o=0;o<i[a].series.length&&i[a].series[o]!==this;o++);a=10*(i.totalStacks-i[a].position)+(r?o:-o),this.xAxis.reversed||(a=10*i.totalStacks-a)}e.zIndex=a}}),h(a.column.prototype,"pointAttribs",e),a.columnrange&&(h(a.columnrange.prototype,"pointAttribs",e),a.columnrange.prototype.plotGroup=a.column.prototype.plotGroup,a.columnrange.prototype.setVisible=a.column.prototype.setVisible),h(r.prototype,"alignDataLabel",function(t){if(this.chart.is3d()&&("column"===this.type||"columnrange"===this.type)){var e=arguments[4],i={x:e.x,y:e.y,z:this.z},i=o([i],this.chart,!0)[0];e.x=i.x,e.y=i.y}t.apply(this,[].slice.call(arguments,1))}),h(t.StackItem.prototype,"getStackBox",function(e,i){var o=e.apply(this,[].slice.call(arguments,1));if(i.is3d()){var s={x:o.x,y:o.y,z:0},s=t.perspective([s],i,!0)[0];o.x=s.x,o.y=s.y}return o})}(t),function(t){var e=t.deg2rad,i=t.each,o=t.pick,s=t.seriesTypes,r=t.svg;t=t.wrap,t(s.pie.prototype,"translate",function(t){if(t.apply(this,[].slice.call(arguments,1)),this.chart.is3d()){var o=this,s=o.options,r=s.depth||0,a=o.chart.options.chart.options3d,n=a.alpha,l=a.beta,h=s.stacking?(s.stack||0)*r:o._i*r,h=h+r/2;!1!==s.grouping&&(h=0),i(o.data,function(t){var i=t.shapeArgs;t.shapeType="arc3d",i.z=h,i.depth=.75*r,i.alpha=n,i.beta=l,i.center=o.center,i=(i.end+i.start)/2,t.slicedTranslation={translateX:Math.round(Math.cos(i)*s.slicedOffset*Math.cos(n*e)),translateY:Math.round(Math.sin(i)*s.slicedOffset*Math.cos(n*e))}})}}),t(s.pie.prototype.pointClass.prototype,"haloPath",function(t){var e=arguments;return this.series.chart.is3d()?[]:t.call(this,e[1])}),t(s.pie.prototype,"pointAttribs",function(t,e,i){return t=t.call(this,e,i),i=this.options,this.chart.is3d()&&(t.stroke=i.edgeColor||e.color||this.color,t["stroke-width"]=o(i.edgeWidth,1)),t}),t(s.pie.prototype,"drawPoints",function(t){t.apply(this,[].slice.call(arguments,1)),this.chart.is3d()&&i(this.points,function(t){var e=t.graphic;e&&e[t.y&&t.visible?"show":"hide"]()})}),t(s.pie.prototype,"drawDataLabels",function(t){if(this.chart.is3d()){var o=this.chart.options.chart.options3d;i(this.data,function(t){var s=t.shapeArgs,r=s.r,a=(s.start+s.end)/2,n=t.labelPos,l=-r*(1-Math.cos((s.alpha||o.alpha)*e))*Math.sin(a),h=r*(Math.cos((s.beta||o.beta)*e)-1)*Math.cos(a);i([0,2,4],function(t){n[t]+=h,n[t+1]+=l})})}t.apply(this,[].slice.call(arguments,1))}),t(s.pie.prototype,"addPoint",function(t){t.apply(this,[].slice.call(arguments,1)),this.chart.is3d()&&this.update(this.userOptions,!0)}),t(s.pie.prototype,"animate",function(t){if(this.chart.is3d()){var e=arguments[1],i=this.options.animation,o=this.center,s=this.group,a=this.markerGroup;r&&(!0===i&&(i={}),e?(s.oldtranslateX=s.translateX,s.oldtranslateY=s.translateY,e={translateX:o[0],translateY:o[1],scaleX:.001,scaleY:.001},s.attr(e),a&&(a.attrSetters=s.attrSetters,a.attr(e))):(e={translateX:s.oldtranslateX,translateY:s.oldtranslateY,scaleX:1,scaleY:1},s.animate(e,i),a&&a.animate(e,i),this.animate=null))}else t.apply(this,[].slice.call(arguments,1))})}(t),function(t){var e=t.perspective,i=t.pick,o=t.Point,s=t.seriesTypes,r=t.wrap;r(s.scatter.prototype,"translate",function(t){if(t.apply(this,[].slice.call(arguments,1)),
  2. this.chart.is3d()){var o,s,r,a=this.chart,n=i(this.zAxis,a.options.zAxis[0]),l=[];for(r=0;r<this.data.length;r++)o=this.data[r],s=n.isLog&&n.val2lin?n.val2lin(o.z):o.z,o.plotZ=n.translate(s),o.isInside=!!o.isInside&&(s>=n.min&&s<=n.max),l.push({x:o.plotX,y:o.plotY,z:o.plotZ});for(a=e(l,a,!0),r=0;r<this.data.length;r++)o=this.data[r],n=a[r],o.plotXold=o.plotX,o.plotYold=o.plotY,o.plotZold=o.plotZ,o.plotX=n.x,o.plotY=n.y,o.plotZ=n.z}}),r(s.scatter.prototype,"init",function(t,e,i){return e.is3d()&&(this.axisTypes=["xAxis","yAxis","zAxis"],this.pointArrayMap=["x","y","z"],this.parallelArrays=["x","y","z"],this.directTouch=!0),t=t.apply(this,[e,i]),this.chart.is3d()&&(this.tooltipOptions.pointFormat=this.userOptions.tooltip?this.userOptions.tooltip.pointFormat||"x: <b>{point.x}</b><br/>y: <b>{point.y}</b><br/>z: <b>{point.z}</b><br/>":"x: <b>{point.x}</b><br/>y: <b>{point.y}</b><br/>z: <b>{point.z}</b><br/>"),t}),r(s.scatter.prototype,"pointAttribs",function(e,i){var o=e.apply(this,[].slice.call(arguments,1));return this.chart.is3d()&&i&&(o.zIndex=t.pointCameraDistance(i,this.chart)),o}),r(o.prototype,"applyOptions",function(t){var e=t.apply(this,[].slice.call(arguments,1));return this.series.chart.is3d()&&void 0===e.z&&(e.z=0),e})}(t),function(t){var e=t.Axis,i=t.SVGRenderer,o=t.VMLRenderer;o&&(t.setOptions({animate:!1}),o.prototype.face3d=i.prototype.face3d,o.prototype.polyhedron=i.prototype.polyhedron,o.prototype.cuboid=i.prototype.cuboid,o.prototype.cuboidPath=i.prototype.cuboidPath,o.prototype.toLinePath=i.prototype.toLinePath,o.prototype.toLineSegments=i.prototype.toLineSegments,o.prototype.createElement3D=i.prototype.createElement3D,o.prototype.arc3d=function(t){return t=i.prototype.arc3d.call(this,t),t.css({zIndex:t.zIndex}),t},t.VMLRenderer.prototype.arc3dPath=t.SVGRenderer.prototype.arc3dPath,t.wrap(e.prototype,"render",function(t){t.apply(this,[].slice.call(arguments,1)),this.sideFrame&&(this.sideFrame.css({zIndex:0}),this.sideFrame.front.attr({fill:this.sideFrame.color})),this.bottomFrame&&(this.bottomFrame.css({zIndex:1}),this.bottomFrame.front.attr({fill:this.bottomFrame.color})),this.backFrame&&(this.backFrame.css({zIndex:0}),this.backFrame.front.attr({fill:this.backFrame.color}))}))}(t)});