| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- "use strict";
- Object.defineProperty(exports, "__esModule", { value: true });
- var segments_1 = require("./segments");
- var polyline_1 = require("./polyline");
- function getAllPoints(points) {
- var tmp = points.slice(0);
- if (points.length) {
- tmp.push(points[0]);
- }
- return tmp;
- }
- exports.default = {
- /**
- * 计算多边形的包围盒
- * @param {array} points 点的集合 [x,y] 的形式
- * @return {object} 包围盒
- */
- box: function (points) {
- return polyline_1.default.box(points);
- },
- /**
- * 计算多边形的长度
- * @param {array} points 点的集合 [x,y] 的形式
- * @return {object} 多边形边的长度
- */
- length: function (points) {
- return segments_1.lengthOfSegment(getAllPoints(points));
- },
- /**
- * 根据比例获取多边形的点
- * @param {array} points 点的集合 [x,y] 的形式
- * @param {number} t 在多边形的长度上的比例
- * @return {object} 根据比例值计算出来的点
- */
- pointAt: function (points, t) {
- return segments_1.pointAtSegments(getAllPoints(points), t);
- },
- /**
- * 指定点到多边形的距离
- * @param {array} points 点的集合 [x,y] 的形式
- * @param {number} x 指定点的 x
- * @param {number} y 指定点的 y
- * @return {number} 点到多边形的距离
- */
- pointDistance: function (points, x, y) {
- return segments_1.distanceAtSegment(getAllPoints(points), x, y);
- },
- /**
- * 根据比例获取多边形的切线角度
- * @param {array} points 点的集合 [x,y] 的形式
- * @param {number} t 在多边形的长度上的比例
- * @return {object} 根据比例值计算出来的角度
- */
- tangentAngle: function (points, t) {
- return segments_1.angleAtSegments(getAllPoints(points), t);
- },
- };
- //# sourceMappingURL=polygon.js.map
|