{"ast":null,"code":"import * as vec2 from './vector.js';\nimport * as curve from './curve.js';\nvar mathMin = Math.min;\nvar mathMax = Math.max;\nvar mathSin = Math.sin;\nvar mathCos = Math.cos;\nvar PI2 = Math.PI * 2;\nvar start = vec2.create();\nvar end = vec2.create();\nvar extremity = vec2.create();\nexport function fromPoints(points, min, max) {\n if (points.length === 0) {\n return;\n }\n\n var p = points[0];\n var left = p[0];\n var right = p[0];\n var top = p[1];\n var bottom = p[1];\n\n for (var i = 1; i < points.length; i++) {\n p = points[i];\n left = mathMin(left, p[0]);\n right = mathMax(right, p[0]);\n top = mathMin(top, p[1]);\n bottom = mathMax(bottom, p[1]);\n }\n\n min[0] = left;\n min[1] = top;\n max[0] = right;\n max[1] = bottom;\n}\nexport function fromLine(x0, y0, x1, y1, min, max) {\n min[0] = mathMin(x0, x1);\n min[1] = mathMin(y0, y1);\n max[0] = mathMax(x0, x1);\n max[1] = mathMax(y0, y1);\n}\nvar xDim = [];\nvar yDim = [];\nexport function fromCubic(x0, y0, x1, y1, x2, y2, x3, y3, min, max) {\n var cubicExtrema = curve.cubicExtrema;\n var cubicAt = curve.cubicAt;\n var n = cubicExtrema(x0, x1, x2, x3, xDim);\n min[0] = Infinity;\n min[1] = Infinity;\n max[0] = -Infinity;\n max[1] = -Infinity;\n\n for (var i = 0; i < n; i++) {\n var x = cubicAt(x0, x1, x2, x3, xDim[i]);\n min[0] = mathMin(x, min[0]);\n max[0] = mathMax(x, max[0]);\n }\n\n n = cubicExtrema(y0, y1, y2, y3, yDim);\n\n for (var i = 0; i < n; i++) {\n var y = cubicAt(y0, y1, y2, y3, yDim[i]);\n min[1] = mathMin(y, min[1]);\n max[1] = mathMax(y, max[1]);\n }\n\n min[0] = mathMin(x0, min[0]);\n max[0] = mathMax(x0, max[0]);\n min[0] = mathMin(x3, min[0]);\n max[0] = mathMax(x3, max[0]);\n min[1] = mathMin(y0, min[1]);\n max[1] = mathMax(y0, max[1]);\n min[1] = mathMin(y3, min[1]);\n max[1] = mathMax(y3, max[1]);\n}\nexport function fromQuadratic(x0, y0, x1, y1, x2, y2, min, max) {\n var quadraticExtremum = curve.quadraticExtremum;\n var quadraticAt = curve.quadraticAt;\n var tx = mathMax(mathMin(quadraticExtremum(x0, x1, x2), 1), 0);\n var ty = mathMax(mathMin(quadraticExtremum(y0, y1, y2), 1), 0);\n var x = quadraticAt(x0, x1, x2, tx);\n var y = quadraticAt(y0, y1, y2, ty);\n min[0] = mathMin(x0, x2, x);\n min[1] = mathMin(y0, y2, y);\n max[0] = mathMax(x0, x2, x);\n max[1] = mathMax(y0, y2, y);\n}\nexport function fromArc(x, y, rx, ry, startAngle, endAngle, anticlockwise, min, max) {\n var vec2Min = vec2.min;\n var vec2Max = vec2.max;\n var diff = Math.abs(startAngle - endAngle);\n\n if (diff % PI2 < 1e-4 && diff > 1e-4) {\n min[0] = x - rx;\n min[1] = y - ry;\n max[0] = x + rx;\n max[1] = y + ry;\n return;\n }\n\n start[0] = mathCos(startAngle) * rx + x;\n start[1] = mathSin(startAngle) * ry + y;\n end[0] = mathCos(endAngle) * rx + x;\n end[1] = mathSin(endAngle) * ry + y;\n vec2Min(min, start, end);\n vec2Max(max, start, end);\n startAngle = startAngle % PI2;\n\n if (startAngle < 0) {\n startAngle = startAngle + PI2;\n }\n\n endAngle = endAngle % PI2;\n\n if (endAngle < 0) {\n endAngle = endAngle + PI2;\n }\n\n if (startAngle > endAngle && !anticlockwise) {\n endAngle += PI2;\n } else if (startAngle < endAngle && anticlockwise) {\n startAngle += PI2;\n }\n\n if (anticlockwise) {\n var tmp = endAngle;\n endAngle = startAngle;\n startAngle = tmp;\n }\n\n for (var angle = 0; angle < endAngle; angle += Math.PI / 2) {\n if (angle > startAngle) {\n extremity[0] = mathCos(angle) * rx + x;\n extremity[1] = mathSin(angle) * ry + y;\n vec2Min(min, extremity, min);\n vec2Max(max, extremity, max);\n }\n }\n}","map":{"version":3,"sources":["D:/Work/WorkSpace/GitWorkSpace/TenShop/resource/ElectronicMall/src啊/ElectronicMallVue/node_modules/zrender/lib/core/bbox.js"],"names":["vec2","curve","mathMin","Math","min","mathMax","max","mathSin","sin","mathCos","cos","PI2","PI","start","create","end","extremity","fromPoints","points","length","p","left","right","top","bottom","i","fromLine","x0","y0","x1","y1","xDim","yDim","fromCubic","x2","y2","x3","y3","cubicExtrema","cubicAt","n","Infinity","x","y","fromQuadratic","quadraticExtremum","quadraticAt","tx","ty","fromArc","rx","ry","startAngle","endAngle","anticlockwise","vec2Min","vec2Max","diff","abs","tmp","angle"],"mappings":"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","sourcesContent":["import * as vec2 from './vector.js';\nimport * as curve from './curve.js';\nvar mathMin = Math.min;\nvar mathMax = Math.max;\nvar mathSin = Math.sin;\nvar mathCos = Math.cos;\nvar PI2 = Math.PI * 2;\nvar start = vec2.create();\nvar end = vec2.create();\nvar extremity = vec2.create();\nexport function fromPoints(points, min, max) {\n if (points.length === 0) {\n return;\n }\n var p = points[0];\n var left = p[0];\n var right = p[0];\n var top = p[1];\n var bottom = p[1];\n for (var i = 1; i < points.length; i++) {\n p = points[i];\n left = mathMin(left, p[0]);\n right = mathMax(right, p[0]);\n top = mathMin(top, p[1]);\n bottom = mathMax(bottom, p[1]);\n }\n min[0] = left;\n min[1] = top;\n max[0] = right;\n max[1] = bottom;\n}\nexport function fromLine(x0, y0, x1, y1, min, max) {\n min[0] = mathMin(x0, x1);\n min[1] = mathMin(y0, y1);\n max[0] = mathMax(x0, x1);\n max[1] = mathMax(y0, y1);\n}\nvar xDim = [];\nvar yDim = [];\nexport function fromCubic(x0, y0, x1, y1, x2, y2, x3, y3, min, max) {\n var cubicExtrema = curve.cubicExtrema;\n var cubicAt = curve.cubicAt;\n var n = cubicExtrema(x0, x1, x2, x3, xDim);\n min[0] = Infinity;\n min[1] = Infinity;\n max[0] = -Infinity;\n max[1] = -Infinity;\n for (var i = 0; i < n; i++) {\n var x = cubicAt(x0, x1, x2, x3, xDim[i]);\n min[0] = mathMin(x, min[0]);\n max[0] = mathMax(x, max[0]);\n }\n n = cubicExtrema(y0, y1, y2, y3, yDim);\n for (var i = 0; i < n; i++) {\n var y = cubicAt(y0, y1, y2, y3, yDim[i]);\n min[1] = mathMin(y, min[1]);\n max[1] = mathMax(y, max[1]);\n }\n min[0] = mathMin(x0, min[0]);\n max[0] = mathMax(x0, max[0]);\n min[0] = mathMin(x3, min[0]);\n max[0] = mathMax(x3, max[0]);\n min[1] = mathMin(y0, min[1]);\n max[1] = mathMax(y0, max[1]);\n min[1] = mathMin(y3, min[1]);\n max[1] = mathMax(y3, max[1]);\n}\nexport function fromQuadratic(x0, y0, x1, y1, x2, y2, min, max) {\n var quadraticExtremum = curve.quadraticExtremum;\n var quadraticAt = curve.quadraticAt;\n var tx = mathMax(mathMin(quadraticExtremum(x0, x1, x2), 1), 0);\n var ty = mathMax(mathMin(quadraticExtremum(y0, y1, y2), 1), 0);\n var x = quadraticAt(x0, x1, x2, tx);\n var y = quadraticAt(y0, y1, y2, ty);\n min[0] = mathMin(x0, x2, x);\n min[1] = mathMin(y0, y2, y);\n max[0] = mathMax(x0, x2, x);\n max[1] = mathMax(y0, y2, y);\n}\nexport function fromArc(x, y, rx, ry, startAngle, endAngle, anticlockwise, min, max) {\n var vec2Min = vec2.min;\n var vec2Max = vec2.max;\n var diff = Math.abs(startAngle - endAngle);\n if (diff % PI2 < 1e-4 && diff > 1e-4) {\n min[0] = x - rx;\n min[1] = y - ry;\n max[0] = x + rx;\n max[1] = y + ry;\n return;\n }\n start[0] = mathCos(startAngle) * rx + x;\n start[1] = mathSin(startAngle) * ry + y;\n end[0] = mathCos(endAngle) * rx + x;\n end[1] = mathSin(endAngle) * ry + y;\n vec2Min(min, start, end);\n vec2Max(max, start, end);\n startAngle = startAngle % (PI2);\n if (startAngle < 0) {\n startAngle = startAngle + PI2;\n }\n endAngle = endAngle % (PI2);\n if (endAngle < 0) {\n endAngle = endAngle + PI2;\n }\n if (startAngle > endAngle && !anticlockwise) {\n endAngle += PI2;\n }\n else if (startAngle < endAngle && anticlockwise) {\n startAngle += PI2;\n }\n if (anticlockwise) {\n var tmp = endAngle;\n endAngle = startAngle;\n startAngle = tmp;\n }\n for (var angle = 0; angle < endAngle; angle += Math.PI / 2) {\n if (angle > startAngle) {\n extremity[0] = mathCos(angle) * rx + x;\n extremity[1] = mathSin(angle) * ry + y;\n vec2Min(min, extremity, min);\n vec2Max(max, extremity, max);\n }\n }\n}\n"]},"metadata":{},"sourceType":"module"}