UNPKG

@turbox3d/math

Version:

Large-scale graphics application math library

47 lines (46 loc) 1.83 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.Tolerance = exports.TOLERANCE_SQUARE = exports.TOLERANCE_SAGITTA = exports.TOLERANCE_HALF = exports.TOLERANCE = void 0; var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck")); var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass")); var TOLERANCE = exports.TOLERANCE = 1E-6; var TOLERANCE_HALF = exports.TOLERANCE_HALF = TOLERANCE * 0.5; var TOLERANCE_SQUARE = exports.TOLERANCE_SQUARE = TOLERANCE * TOLERANCE; var TOLERANCE_SAGITTA = exports.TOLERANCE_SAGITTA = 1; var Tolerance = exports.Tolerance = /*#__PURE__*/function () { function Tolerance(cosTol, distTol, numTol) { (0, _classCallCheck2["default"])(this, Tolerance); this.cosTol = cosTol || Tolerance.COS_TOL; this.distTol = distTol || Tolerance.DIST_TOL; this.numTol = numTol || Tolerance.NUM_TOL; } /** * set cosTol by given angle * @param angle * @param isRadian true means the angle is radian, false means the angle is degree */ return (0, _createClass2["default"])(Tolerance, [{ key: "setCosTolByAngle", value: function setCosTolByAngle(angle, isRadian) { var flag = isRadian ? 1 : Math.PI / 180; this.cosTol = 1 - Math.cos(angle * flag); } }, { key: "clone", value: function clone() { return new Tolerance(this.cosTol, this.distTol, this.numTol); } }], [{ key: "setGlobal", value: function setGlobal(cosTol, distTol, numTol) { Tolerance.global = new Tolerance(cosTol, distTol, numTol); } }]); }(); Tolerance.COS_TOL = 1e-6; Tolerance.DIST_TOL = 1e-6; Tolerance.NUM_TOL = 1e-6; Tolerance.global = new Tolerance();