// JenScript - 1.3.2 2017-06-10 // http://jenscript.io - Copyright 2017 Sébastien Janaud. All Rights reserved !function(){JenScript.RayPainter=function(a){this.init(a)},JenScript.Model.addMethods(JenScript.RayPainter,{init:function(a){a=a||{}},paintRay:function(){}})}(),function(){JenScript.RayFill=function(a){this._init(a)},JenScript.Model.inheritPrototype(JenScript.RayFill,JenScript.RayPainter),JenScript.Model.addMethods(JenScript.RayFill,{_init:function(a){a=a||{},this.Id="rayfill"+JenScript.sequenceId++,JenScript.RayPainter.call(this,a)},paintRayFill:function(){},paintRay:function(a,b){this.paintRayFill(a,b)}}),JenScript.RayFill0=function(a){this.__init(a)},JenScript.Model.inheritPrototype(JenScript.RayFill0,JenScript.RayFill),JenScript.Model.addMethods(JenScript.RayFill0,{__init:function(a){a=a||{},JenScript.RayFill.call(this,a)},paintRayFill:function(a,b){a.deleteGraphicsElement(this.Id+b.Id);var c=b.getRayShape().Id(this.Id+b.Id).fill(b.themeColor).fillOpacity(b.opacity).toSVG();a.insertSVG(c);var d=c.getBBox();b.setBound2D(new JenScript.Bound2D(d.x,d.y,d.width,d.height))}})}(),function(){JenScript.Ray=function(a){a=a||{},this.name=void 0!==a.name?a.name:"ray name undefined",this.Id=void 0!==a.Id?a.Id:"ray"+JenScript.sequenceId++,this.themeColor=void 0!==a.themeColor?a.themeColor:"blue",this.opacity=void 0!==a.opacity?a.opacity:1,this.thickness,this.thicknessType,this.ray,this.rayBase,this.rayValue,this.ascent=!1,this.descent=!1,this.rayNature,this.rayShape,this.rayDraw,this.rayFill=new JenScript.RayFill0,this.rayEffect,this.rayLabel,this.rayAxisLabel,this.plugin,this.lockEnter=!1,this.inflating=!1,this.deflating=!1,this.bound2D,this.parent},JenScript.Model.addMethods(JenScript.Ray,{getBound2D:function(){return this.bound2D},setBound2D:function(a){this.bound2D=a},getRayDraw:function(){return this.rayDraw},setRayDraw:function(a){this.rayDraw=a},getRayFill:function(){return this.rayFill},setRayFill:function(a){this.rayFill=a},getRayEffect:function(){return this.rayEffect},setRayEffect:function(a){this.rayEffect=a},getRayLabel:function(){return this.rayLabel},setRayLabel:function(a){this.rayLabel=a},getRayAxisLabel:function(){return this.rayAxisLabel},setRayAxisLabel:function(a){this.rayAxisLabel=a},getName:function(){return this.name},setName:function(a){this.name=a},getThemeColor:function(){return this.themeColor},setThemeColor:function(a){this.themeColor=a},getThickness:function(){return this.thickness},setThickness:function(a){this.thickness=a},getThicknessType:function(){return this.thicknessType},setThicknessType:function(a){this.thicknessType=a},getRayNature:function(){return this.rayNature},setRayNature:function(a){this.rayNature=a},getRay:function(){return this.ray},setRay:function(a){this.ray=a},getRayValue:function(){return this.rayValue},setAscentValue:function(a){if(this.ascent=!0,this.descent=!1,0>a)throw new Error("ray value should be greater than 0");this.rayValue=a},setDescentValue:function(a){if(this.ascent=!1,this.descent=!0,0>a)throw new Error("ray value should be greater than 0");this.rayValue=a},getRayBase:function(){return this.rayBase},setRayBase:function(a){this.rayBase=a},isAscent:function(){return this.ascent},isDescent:function(){return this.descent},getRayShape:function(){return this.rayShape},setRayShape:function(a){this.rayShape=a},getPlugin:function(){return this.plugin},setPlugin:function(a){this.plugin=a},isLockEnter:function(){return this.lockEnter},setLockEnter:function(a){this.lockEnter=a},isInflating:function(){return this.inflating},setInflating:function(a){this.inflating=a},isDeflating:function(){return this.deflating},setDeflating:function(a){this.deflating=a},setLockEnter:function(a){this.lockEnter=a}}),JenScript.StackedRay=function(a){this._init(a)},JenScript.Model.inheritPrototype(JenScript.StackedRay,JenScript.Ray),JenScript.Model.addMethods(JenScript.StackedRay,{_init:function(a){this.stacks=[],JenScript.Ray.call(this,a)},getStackBase:function(a){for(var b=this.getRayBase(),c=0;c