UNPKG

6 kBSource Map (JSON)View Raw
1{"version":3,"file":"util.js","sourceRoot":"","sources":["../../../../src/geometry/shape/area/util.ts"],"names":[],"mappings":"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","sourcesContent":["import { each } from '@antv/util';\nimport { Coordinate, PathCommand } from '../../../dependents';\nimport { Point, Position, Shape, ShapeInfo } from '../../../interface';\n\nimport { getPathPoints } from '../util/get-path-points';\nimport { getStyle } from '../util/get-style';\nimport { getLinePath, getSplinePath } from '../util/path';\n\nfunction getPath(\n points: Point[],\n isInCircle: boolean,\n smooth: boolean,\n registeredShape: Shape,\n constraint?: Position[]\n): PathCommand[] {\n let path = [];\n\n if (points.length) {\n const topLinePoints = []; // area 区域上部分\n let bottomLinePoints = []; // area 区域下部分\n for (let i = 0, len = points.length; i < len; i++) {\n const point = points[i];\n topLinePoints.push(point[1]);\n bottomLinePoints.push(point[0]);\n }\n bottomLinePoints = bottomLinePoints.reverse();\n\n each([topLinePoints, bottomLinePoints], (pointsData, index) => {\n let subPath = [];\n const parsedPoints = registeredShape.parsePoints(pointsData);\n const p1 = parsedPoints[0];\n\n if (topLinePoints.length === 1 && bottomLinePoints.length === 1) {\n // 都只有一个点,绘制一条竖线\n subPath =\n index === 0\n ? [\n ['M', p1.x - 0.5, p1.y],\n ['L', p1.x + 0.5, p1.y],\n ]\n : [\n ['L', p1.x + 0.5, p1.y],\n ['L', p1.x - 0.5, p1.y],\n ];\n } else {\n if (isInCircle) {\n parsedPoints.push({ x: p1.x, y: p1.y });\n }\n if (smooth) {\n subPath = getSplinePath(parsedPoints, false, constraint);\n } else {\n subPath = getLinePath(parsedPoints, false);\n }\n if (index > 0) {\n subPath[0][0] = 'L';\n }\n }\n\n path = path.concat(subPath);\n });\n\n path.push(['Z']);\n }\n\n return path;\n}\n\n/**\n * @ignore\n * Gets shape attrs\n * @param cfg\n * @param isStroke\n * @param smooth\n * @param registeredShape\n * @param [constraint]\n * @returns\n */\nexport function getShapeAttrs(\n cfg: ShapeInfo,\n isStroke: boolean,\n smooth: boolean,\n registeredShape: Shape,\n constraint?: Position[]\n) {\n const attrs = getStyle(cfg, isStroke, !isStroke, 'lineWidth');\n const { connectNulls, isInCircle, points, showSinglePoint } = cfg;\n const pathPoints = getPathPoints(points, connectNulls, showSinglePoint); // 根据 connectNulls 配置获取图形关键点\n\n let path = [];\n for (let i = 0, len = pathPoints.length; i < len; i++) {\n const eachPoints = pathPoints[i];\n path = path.concat(getPath(eachPoints, isInCircle, smooth, registeredShape, constraint));\n }\n attrs.path = path;\n\n return attrs;\n}\n\n/**\n * @ignore\n * Gets constraint\n * @param coordinate\n * @returns constraint\n */\nexport function getConstraint(coordinate: Coordinate): Position[] {\n const { start, end } = coordinate;\n return [\n [start.x, end.y],\n [end.x, start.y],\n ];\n}\n"]}
\No newline at end of file