mirror of
https://github.com/xibyte/jsketcher
synced 2025-12-06 16:33:15 +01:00
no-var rule for typescript
This commit is contained in:
parent
8b6b72946a
commit
ffc1312da7
9 changed files with 116 additions and 116 deletions
|
|
@ -27,7 +27,7 @@
|
||||||
"no-console": "off",
|
"no-console": "off",
|
||||||
"no-extra-boolean-cast": "off",
|
"no-extra-boolean-cast": "off",
|
||||||
"prefer-const": "off",
|
"prefer-const": "off",
|
||||||
"no-var": "off",
|
"no-var": "error",
|
||||||
"no-empty": "off",
|
"no-empty": "off",
|
||||||
"no-fallthrough": "off",
|
"no-fallthrough": "off",
|
||||||
"@typescript-eslint/no-explicit-any": "off",
|
"@typescript-eslint/no-explicit-any": "off",
|
||||||
|
|
|
||||||
10
externals.d.ts
vendored
10
externals.d.ts
vendored
|
|
@ -3,9 +3,9 @@ declare module '*.less' {
|
||||||
export = resource;
|
export = resource;
|
||||||
}
|
}
|
||||||
|
|
||||||
declare var verb: any;
|
declare const verb: any;
|
||||||
declare var FS: any;
|
declare const FS: any;
|
||||||
declare var __CAD_APP: any;
|
declare const __CAD_APP: any;
|
||||||
declare var __DEBUG__: any;
|
declare const __DEBUG__: any;
|
||||||
declare var Module: any;
|
declare const Module: any;
|
||||||
|
|
||||||
|
|
|
||||||
2
modules/engine/impl/wasm/externals.d.ts
vendored
2
modules/engine/impl/wasm/externals.d.ts
vendored
|
|
@ -1,6 +1,6 @@
|
||||||
/* eslint @typescript-eslint/ban-types: 0 */
|
/* eslint @typescript-eslint/ban-types: 0 */
|
||||||
|
|
||||||
declare var Module: {
|
declare let Module: {
|
||||||
_SPI_box: Function;
|
_SPI_box: Function;
|
||||||
_SPI_torus: Function;
|
_SPI_torus: Function;
|
||||||
_SPI_sphere: Function;
|
_SPI_sphere: Function;
|
||||||
|
|
|
||||||
|
|
@ -8,17 +8,17 @@ import {IDENTITY_BASIS3} from "math/basis";
|
||||||
import Vector from "math/vector";
|
import Vector from "math/vector";
|
||||||
|
|
||||||
export function circleFromPoints(p1, p2, p3) {
|
export function circleFromPoints(p1, p2, p3) {
|
||||||
var center = new Vector();
|
let center = new Vector();
|
||||||
var offset = p2.x * p2.x + p2.y * p2.y;
|
let offset = p2.x * p2.x + p2.y * p2.y;
|
||||||
var bc = (p1.x * p1.x + p1.y * p1.y - offset) / 2.0;
|
let bc = (p1.x * p1.x + p1.y * p1.y - offset) / 2.0;
|
||||||
var cd = (offset - p3.x * p3.x - p3.y * p3.y) / 2.0;
|
let cd = (offset - p3.x * p3.x - p3.y * p3.y) / 2.0;
|
||||||
var det = (p1.x - p2.x) * (p2.y - p3.y) - (p2.x - p3.x) * (p1.y - p2.y);
|
let det = (p1.x - p2.x) * (p2.y - p3.y) - (p2.x - p3.x) * (p1.y - p2.y);
|
||||||
|
|
||||||
if (Math.abs(det) < 1e-6) {
|
if (Math.abs(det) < 1e-6) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
var idet = 1 / det;
|
let idet = 1 / det;
|
||||||
|
|
||||||
center.x = (bc * (p2.y - p3.y) - cd * (p1.y - p2.y)) * idet;
|
center.x = (bc * (p2.y - p3.y) - cd * (p1.y - p2.y)) * idet;
|
||||||
center.y = (cd * (p1.x - p2.x) - bc * (p2.x - p3.x)) * idet;
|
center.y = (cd * (p1.x - p2.x) - bc * (p2.x - p3.x)) * idet;
|
||||||
|
|
@ -67,21 +67,21 @@ export function polygonOffsetByDelta(polygon, delta) {
|
||||||
}
|
}
|
||||||
|
|
||||||
export function isPointInsidePolygon(inPt, inPolygon) {
|
export function isPointInsidePolygon(inPt, inPolygon) {
|
||||||
var EPSILON = TIGHT_TOLERANCE;
|
let EPSILON = TIGHT_TOLERANCE;
|
||||||
|
|
||||||
var polyLen = inPolygon.length;
|
let polyLen = inPolygon.length;
|
||||||
|
|
||||||
// inPt on polygon contour => immediate success or
|
// inPt on polygon contour => immediate success or
|
||||||
// toggling of inside/outside at every single! intersection point of an edge
|
// toggling of inside/outside at every single! intersection point of an edge
|
||||||
// with the horizontal line through inPt, left of inPt
|
// with the horizontal line through inPt, left of inPt
|
||||||
// not counting lowerY endpoints of edges and whole edges on that line
|
// not counting lowerY endpoints of edges and whole edges on that line
|
||||||
var inside = false;
|
let inside = false;
|
||||||
for (var p = polyLen - 1, q = 0; q < polyLen; p = q++) {
|
for (let p = polyLen - 1, q = 0; q < polyLen; p = q++) {
|
||||||
var edgeLowPt = inPolygon[p];
|
let edgeLowPt = inPolygon[p];
|
||||||
var edgeHighPt = inPolygon[q];
|
let edgeHighPt = inPolygon[q];
|
||||||
|
|
||||||
var edgeDx = edgeHighPt.x - edgeLowPt.x;
|
let edgeDx = edgeHighPt.x - edgeLowPt.x;
|
||||||
var edgeDy = edgeHighPt.y - edgeLowPt.y;
|
let edgeDy = edgeHighPt.y - edgeLowPt.y;
|
||||||
|
|
||||||
if (Math.abs(edgeDy) > EPSILON) { // not parallel
|
if (Math.abs(edgeDy) > EPSILON) { // not parallel
|
||||||
if (edgeDy < 0) {
|
if (edgeDy < 0) {
|
||||||
|
|
@ -96,7 +96,7 @@ export function isPointInsidePolygon(inPt, inPolygon) {
|
||||||
if (inPt.x == edgeLowPt.x) return true; // inPt is on contour ?
|
if (inPt.x == edgeLowPt.x) return true; // inPt is on contour ?
|
||||||
// continue; // no intersection or edgeLowPt => doesn't count !!!
|
// continue; // no intersection or edgeLowPt => doesn't count !!!
|
||||||
} else {
|
} else {
|
||||||
var perpEdge = edgeDy * (inPt.x - edgeLowPt.x) - edgeDx * (inPt.y - edgeLowPt.y);
|
let perpEdge = edgeDy * (inPt.x - edgeLowPt.x) - edgeDx * (inPt.y - edgeLowPt.y);
|
||||||
if (perpEdge == 0) return true; // inPt is on contour ?
|
if (perpEdge == 0) return true; // inPt is on contour ?
|
||||||
if (perpEdge < 0) continue;
|
if (perpEdge < 0) continue;
|
||||||
inside = !inside; // true intersection left of inPt
|
inside = !inside; // true intersection left of inPt
|
||||||
|
|
@ -114,9 +114,9 @@ export function isPointInsidePolygon(inPt, inPolygon) {
|
||||||
}
|
}
|
||||||
|
|
||||||
export function area(contour) {
|
export function area(contour) {
|
||||||
var n = contour.length;
|
let n = contour.length;
|
||||||
var a = 0.0;
|
let a = 0.0;
|
||||||
for (var p = n - 1, q = 0; q < n; p = q++) {
|
for (let p = n - 1, q = 0; q < n; p = q++) {
|
||||||
a += contour[p].x * contour[q].y - contour[q].x * contour[p].y;
|
a += contour[p].x * contour[q].y - contour[q].x * contour[p].y;
|
||||||
}
|
}
|
||||||
return a * 0.5;
|
return a * 0.5;
|
||||||
|
|
@ -205,8 +205,8 @@ export function lineLineIntersection(p1, p2, v1, v2) {
|
||||||
export function ConvexHull2D(points) {
|
export function ConvexHull2D(points) {
|
||||||
|
|
||||||
function removeMiddle(a, b, c) {
|
function removeMiddle(a, b, c) {
|
||||||
var cross = (a.x - b.x) * (c.y - b.y) - (a.y - b.y) * (c.x - b.x);
|
let cross = (a.x - b.x) * (c.y - b.y) - (a.y - b.y) * (c.x - b.x);
|
||||||
var dot = (a.x - b.x) * (c.x - b.x) + (a.y - b.y) * (c.y - b.y);
|
let dot = (a.x - b.x) * (c.x - b.x) + (a.y - b.y) * (c.y - b.y);
|
||||||
return cross < 0 || cross == 0 && dot <= 0;
|
return cross < 0 || cross == 0 && dot <= 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -3,8 +3,8 @@ export function distanceAB(a, b) {
|
||||||
}
|
}
|
||||||
|
|
||||||
export function distance(x1, y1, x2, y2) {
|
export function distance(x1, y1, x2, y2) {
|
||||||
var dx = x1 - x2;
|
let dx = x1 - x2;
|
||||||
var dy = y1 - y2;
|
let dy = y1 - y2;
|
||||||
return Math.sqrt(dx * dx + dy * dy);
|
return Math.sqrt(dx * dx + dy * dy);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -25,9 +25,9 @@ export function distanceSquaredANegB3(a, b) {
|
||||||
}
|
}
|
||||||
|
|
||||||
export function distanceSquared3(x1, y1, z1, x2, y2, z2) {
|
export function distanceSquared3(x1, y1, z1, x2, y2, z2) {
|
||||||
var dx = x1 - x2;
|
let dx = x1 - x2;
|
||||||
var dy = y1 - y2;
|
let dy = y1 - y2;
|
||||||
var dz = z1 - z2;
|
let dz = z1 - z2;
|
||||||
return dx * dx + dy * dy + dz * dz;
|
return dx * dx + dy * dy + dz * dz;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -38,7 +38,7 @@ export class Matrix3x4 {
|
||||||
};
|
};
|
||||||
|
|
||||||
setBasis(basis: [Vector, Vector, Vector]): Matrix3x4 {
|
setBasis(basis: [Vector, Vector, Vector]): Matrix3x4 {
|
||||||
var b = basis;
|
let b = basis;
|
||||||
this.mxx = b[0].x;
|
this.mxx = b[0].x;
|
||||||
this.mxy = b[1].x;
|
this.mxy = b[1].x;
|
||||||
this.mxz = b[2].x;
|
this.mxz = b[2].x;
|
||||||
|
|
@ -254,7 +254,7 @@ export class Matrix3x4 {
|
||||||
|
|
||||||
__invert(out: Matrix3x4): Matrix3x4 {
|
__invert(out: Matrix3x4): Matrix3x4 {
|
||||||
|
|
||||||
var det =
|
let det =
|
||||||
this.mxx * (this.myy * this.mzz - this.mzy * this.myz) +
|
this.mxx * (this.myy * this.mzz - this.mzy * this.myz) +
|
||||||
this.mxy * (this.myz * this.mzx - this.mzz * this.myx) +
|
this.mxy * (this.myz * this.mzx - this.mzz * this.myx) +
|
||||||
this.mxz * (this.myx * this.mzy - this.mzx * this.myy);
|
this.mxz * (this.myx * this.mzy - this.mzx * this.myy);
|
||||||
|
|
@ -263,22 +263,22 @@ export class Matrix3x4 {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
var cxx = this.myy * this.mzz - this.myz * this.mzy;
|
let cxx = this.myy * this.mzz - this.myz * this.mzy;
|
||||||
var cyx = -this.myx * this.mzz + this.myz * this.mzx;
|
let cyx = -this.myx * this.mzz + this.myz * this.mzx;
|
||||||
var czx = this.myx * this.mzy - this.myy * this.mzx;
|
let czx = this.myx * this.mzy - this.myy * this.mzx;
|
||||||
var cxt = -this.mxy * (this.myz * this.tz - this.mzz * this.ty)
|
let cxt = -this.mxy * (this.myz * this.tz - this.mzz * this.ty)
|
||||||
- this.mxz * (this.ty * this.mzy - this.tz * this.myy)
|
- this.mxz * (this.ty * this.mzy - this.tz * this.myy)
|
||||||
- this.tx * (this.myy * this.mzz - this.mzy * this.myz);
|
- this.tx * (this.myy * this.mzz - this.mzy * this.myz);
|
||||||
var cxy = -this.mxy * this.mzz + this.mxz * this.mzy;
|
let cxy = -this.mxy * this.mzz + this.mxz * this.mzy;
|
||||||
var cyy = this.mxx * this.mzz - this.mxz * this.mzx;
|
let cyy = this.mxx * this.mzz - this.mxz * this.mzx;
|
||||||
var czy = -this.mxx * this.mzy + this.mxy * this.mzx;
|
let czy = -this.mxx * this.mzy + this.mxy * this.mzx;
|
||||||
var cyt = this.mxx * (this.myz * this.tz - this.mzz * this.ty)
|
let cyt = this.mxx * (this.myz * this.tz - this.mzz * this.ty)
|
||||||
+ this.mxz * (this.ty * this.mzx - this.tz * this.myx)
|
+ this.mxz * (this.ty * this.mzx - this.tz * this.myx)
|
||||||
+ this.tx * (this.myx * this.mzz - this.mzx * this.myz);
|
+ this.tx * (this.myx * this.mzz - this.mzx * this.myz);
|
||||||
var cxz = this.mxy * this.myz - this.mxz * this.myy;
|
let cxz = this.mxy * this.myz - this.mxz * this.myy;
|
||||||
var cyz = -this.mxx * this.myz + this.mxz * this.myx;
|
let cyz = -this.mxx * this.myz + this.mxz * this.myx;
|
||||||
var czz = this.mxx * this.myy - this.mxy * this.myx;
|
let czz = this.mxx * this.myy - this.mxy * this.myx;
|
||||||
var czt = -this.mxx * (this.myy * this.tz - this.mzy * this.ty)
|
let czt = -this.mxx * (this.myy * this.tz - this.mzy * this.ty)
|
||||||
- this.mxy * (this.ty * this.mzx - this.tz * this.myx)
|
- this.mxy * (this.ty * this.mzx - this.tz * this.myx)
|
||||||
- this.tx * (this.myx * this.mzy - this.mzx * this.myy);
|
- this.tx * (this.myx * this.mzy - this.mzx * this.myy);
|
||||||
|
|
||||||
|
|
@ -298,20 +298,20 @@ export class Matrix3x4 {
|
||||||
};
|
};
|
||||||
|
|
||||||
combine(transform: Matrix3x4, out?: Matrix3x4): Matrix3x4 {
|
combine(transform: Matrix3x4, out?: Matrix3x4): Matrix3x4 {
|
||||||
var txx = transform.mxx;
|
let txx = transform.mxx;
|
||||||
var txy = transform.mxy;
|
let txy = transform.mxy;
|
||||||
var txz = transform.mxz;
|
let txz = transform.mxz;
|
||||||
var ttx = transform.tx;
|
let ttx = transform.tx;
|
||||||
var tyx = transform.myx;
|
let tyx = transform.myx;
|
||||||
var tyy = transform.myy;
|
let tyy = transform.myy;
|
||||||
var tyz = transform.myz;
|
let tyz = transform.myz;
|
||||||
var tty = transform.ty;
|
let tty = transform.ty;
|
||||||
var tzx = transform.mzx;
|
let tzx = transform.mzx;
|
||||||
var tzy = transform.mzy;
|
let tzy = transform.mzy;
|
||||||
var tzz = transform.mzz;
|
let tzz = transform.mzz;
|
||||||
var ttz = transform.tz;
|
let ttz = transform.tz;
|
||||||
|
|
||||||
var m = out || new Matrix3x4();
|
let m = out || new Matrix3x4();
|
||||||
m.mxx = (this.mxx * txx + this.mxy * tyx + this.mxz * tzx);
|
m.mxx = (this.mxx * txx + this.mxy * tyx + this.mxz * tzx);
|
||||||
m.mxy = (this.mxx * txy + this.mxy * tyy + this.mxz * tzy);
|
m.mxy = (this.mxx * txy + this.mxy * tyy + this.mxz * tzy);
|
||||||
m.mxz = (this.mxx * txz + this.mxy * tyz + this.mxz * tzz);
|
m.mxz = (this.mxx * txz + this.mxy * tyz + this.mxz * tzz);
|
||||||
|
|
@ -329,20 +329,20 @@ export class Matrix3x4 {
|
||||||
};
|
};
|
||||||
|
|
||||||
combine3x3(transform: Matrix3x4, out?: Matrix3x4): Matrix3x4 {
|
combine3x3(transform: Matrix3x4, out?: Matrix3x4): Matrix3x4 {
|
||||||
var txx = transform.mxx;
|
let txx = transform.mxx;
|
||||||
var txy = transform.mxy;
|
let txy = transform.mxy;
|
||||||
var txz = transform.mxz;
|
let txz = transform.mxz;
|
||||||
|
|
||||||
var tyx = transform.myx;
|
let tyx = transform.myx;
|
||||||
var tyy = transform.myy;
|
let tyy = transform.myy;
|
||||||
var tyz = transform.myz;
|
let tyz = transform.myz;
|
||||||
|
|
||||||
var tzx = transform.mzx;
|
let tzx = transform.mzx;
|
||||||
var tzy = transform.mzy;
|
let tzy = transform.mzy;
|
||||||
var tzz = transform.mzz;
|
let tzz = transform.mzz;
|
||||||
|
|
||||||
|
|
||||||
var m = out || new Matrix3x4();
|
let m = out || new Matrix3x4();
|
||||||
m.mxx = (this.mxx * txx + this.mxy * tyx + this.mxz * tzx);
|
m.mxx = (this.mxx * txx + this.mxy * tyx + this.mxz * tzx);
|
||||||
m.mxy = (this.mxx * txy + this.mxy * tyy + this.mxz * tzy);
|
m.mxy = (this.mxx * txy + this.mxy * tyy + this.mxz * tzy);
|
||||||
m.mxz = (this.mxx * txz + this.mxy * tyz + this.mxz * tzz);
|
m.mxz = (this.mxx * txz + this.mxy * tyz + this.mxz * tzz);
|
||||||
|
|
@ -444,8 +444,8 @@ export class Matrix3x4 {
|
||||||
}
|
}
|
||||||
|
|
||||||
static rotationMatrix(cos: number, sin: number, axis: Vector, pivot: Vector, matrix?: Matrix3x4): Matrix3x4 {
|
static rotationMatrix(cos: number, sin: number, axis: Vector, pivot: Vector, matrix?: Matrix3x4): Matrix3x4 {
|
||||||
var axisX, axisY, axisZ;
|
let axisX, axisY, axisZ;
|
||||||
var m = matrix || new Matrix3x4();
|
let m = matrix || new Matrix3x4();
|
||||||
|
|
||||||
if (axis === AXIS.X || axis === AXIS.Y || axis === AXIS.Z) {
|
if (axis === AXIS.X || axis === AXIS.Y || axis === AXIS.Z) {
|
||||||
axisX = axis.x;
|
axisX = axis.x;
|
||||||
|
|
@ -453,7 +453,7 @@ export class Matrix3x4 {
|
||||||
axisZ = axis.z;
|
axisZ = axis.z;
|
||||||
} else {
|
} else {
|
||||||
// normalize
|
// normalize
|
||||||
var mag = axis.length();
|
let mag = axis.length();
|
||||||
|
|
||||||
if (mag == 0.0) {
|
if (mag == 0.0) {
|
||||||
return m;
|
return m;
|
||||||
|
|
@ -464,9 +464,9 @@ export class Matrix3x4 {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
var px = pivot.x;
|
let px = pivot.x;
|
||||||
var py = pivot.y;
|
let py = pivot.y;
|
||||||
var pz = pivot.z;
|
let pz = pivot.z;
|
||||||
|
|
||||||
m.mxx = cos + axisX * axisX * (1 - cos);
|
m.mxx = cos + axisX * axisX * (1 - cos);
|
||||||
m.mxy = axisX * axisY * (1 - cos) - axisZ * sin;
|
m.mxy = axisX * axisY * (1 - cos) - axisZ * sin;
|
||||||
|
|
|
||||||
|
|
@ -244,8 +244,8 @@ export class IO {
|
||||||
}
|
}
|
||||||
|
|
||||||
cleanUpData() {
|
cleanUpData() {
|
||||||
for (var l = 0; l < this.viewer.layers.length; ++l) {
|
for (let l = 0; l < this.viewer.layers.length; ++l) {
|
||||||
var layer = this.viewer.layers[l];
|
let layer = this.viewer.layers[l];
|
||||||
if (layer.objects.length !== 0) {
|
if (layer.objects.length !== 0) {
|
||||||
layer.objects = [];
|
layer.objects = [];
|
||||||
}
|
}
|
||||||
|
|
@ -342,12 +342,12 @@ export class IO {
|
||||||
};
|
};
|
||||||
|
|
||||||
getLayersToExport() {
|
getLayersToExport() {
|
||||||
var ws = this.getWorkspaceToExport();
|
let ws = this.getWorkspaceToExport();
|
||||||
var toExport = [];
|
let toExport = [];
|
||||||
for (var t = 0; t < ws.length; ++t) {
|
for (let t = 0; t < ws.length; ++t) {
|
||||||
var layers = ws[t];
|
let layers = ws[t];
|
||||||
for (var l = 0; l < layers.length; ++l) {
|
for (let l = 0; l < layers.length; ++l) {
|
||||||
var layer = layers[l];
|
let layer = layers[l];
|
||||||
toExport.push(layer)
|
toExport.push(layer)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -461,10 +461,10 @@ export class IO {
|
||||||
|
|
||||||
function _format(str, args) {
|
function _format(str, args) {
|
||||||
if (args.length == 0) return str;
|
if (args.length == 0) return str;
|
||||||
var i = 0;
|
let i = 0;
|
||||||
return str.replace(/\$/g, function () {
|
return str.replace(/\$/g, function () {
|
||||||
if (args === undefined || args[i] === undefined) throw "format arguments mismatch";
|
if (args === undefined || args[i] === undefined) throw "format arguments mismatch";
|
||||||
var val = args[i];
|
let val = args[i];
|
||||||
if (typeof val === 'number') val = val.toPrecision();
|
if (typeof val === 'number') val = val.toPrecision();
|
||||||
i++;
|
i++;
|
||||||
return val;
|
return val;
|
||||||
|
|
@ -473,8 +473,8 @@ function _format(str, args) {
|
||||||
|
|
||||||
/** @constructor */
|
/** @constructor */
|
||||||
function PrettyColors() {
|
function PrettyColors() {
|
||||||
var colors = ["#000000", "#00008B", "#006400", "#8B0000", "#FF8C00", "#E9967A"];
|
let colors = ["#000000", "#00008B", "#006400", "#8B0000", "#FF8C00", "#E9967A"];
|
||||||
var colIdx = 0;
|
let colIdx = 0;
|
||||||
this.next = function () {
|
this.next = function () {
|
||||||
return colors[colIdx++ % colors.length];
|
return colors[colIdx++ % colors.length];
|
||||||
}
|
}
|
||||||
|
|
@ -500,13 +500,13 @@ function TextBuilder() {
|
||||||
|
|
||||||
/** @constructor */
|
/** @constructor */
|
||||||
function BBox() {
|
function BBox() {
|
||||||
var bbox = [Number.MAX_VALUE, Number.MAX_VALUE, - Number.MAX_VALUE, - Number.MAX_VALUE];
|
let bbox = [Number.MAX_VALUE, Number.MAX_VALUE, - Number.MAX_VALUE, - Number.MAX_VALUE];
|
||||||
|
|
||||||
var T = SketchTypes;
|
let T = SketchTypes;
|
||||||
|
|
||||||
this.checkLayers = function (layers) {
|
this.checkLayers = function (layers) {
|
||||||
for (var l = 0; l < layers.length; ++l)
|
for (let l = 0; l < layers.length; ++l)
|
||||||
for (var i = 0; i < layers[l].objects.length; ++i)
|
for (let i = 0; i < layers[l].objects.length; ++i)
|
||||||
this.check(layers[l].objects[i]);
|
this.check(layers[l].objects[i]);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -129,21 +129,21 @@ export class Arc extends SketchObject {
|
||||||
}
|
}
|
||||||
|
|
||||||
isPointInsideSector(x, y) {
|
isPointInsideSector(x, y) {
|
||||||
var ca = new Vector(this.a.x - this.c.x, this.a.y - this.c.y);
|
let ca = new Vector(this.a.x - this.c.x, this.a.y - this.c.y);
|
||||||
var cb = new Vector(this.b.x - this.c.x, this.b.y - this.c.y);
|
let cb = new Vector(this.b.x - this.c.x, this.b.y - this.c.y);
|
||||||
var ct = new Vector(x - this.c.x, y - this.c.y);
|
let ct = new Vector(x - this.c.x, y - this.c.y);
|
||||||
|
|
||||||
ca._normalize();
|
ca._normalize();
|
||||||
cb._normalize();
|
cb._normalize();
|
||||||
ct._normalize();
|
ct._normalize();
|
||||||
var cosAB = ca.dot(cb);
|
let cosAB = ca.dot(cb);
|
||||||
var cosAT = ca.dot(ct);
|
let cosAT = ca.dot(ct);
|
||||||
|
|
||||||
var isInside = cosAT >= cosAB;
|
let isInside = cosAT >= cosAB;
|
||||||
var abInverse = ca.cross(cb).z < 0;
|
let abInverse = ca.cross(cb).z < 0;
|
||||||
var atInverse = ca.cross(ct).z < 0;
|
let atInverse = ca.cross(ct).z < 0;
|
||||||
|
|
||||||
var result;
|
let result;
|
||||||
if (abInverse) {
|
if (abInverse) {
|
||||||
result = !atInverse || !isInside;
|
result = !atInverse || !isInside;
|
||||||
} else {
|
} else {
|
||||||
|
|
@ -154,7 +154,7 @@ export class Arc extends SketchObject {
|
||||||
|
|
||||||
normalDistance(aim) {
|
normalDistance(aim) {
|
||||||
|
|
||||||
var isInsideSector = this.isPointInsideSector(aim.x, aim.y);
|
let isInsideSector = this.isPointInsideSector(aim.x, aim.y);
|
||||||
if (isInsideSector) {
|
if (isInsideSector) {
|
||||||
return Math.abs(distance(aim.x, aim.y, this.c.x, this.c.y) - this.radiusForDrawing());
|
return Math.abs(distance(aim.x, aim.y, this.c.x, this.c.y) - this.radiusForDrawing());
|
||||||
} else {
|
} else {
|
||||||
|
|
|
||||||
|
|
@ -163,7 +163,7 @@ export class Viewer {
|
||||||
};
|
};
|
||||||
|
|
||||||
addSegment(x1, y1, x2, y2, layer) {
|
addSegment(x1, y1, x2, y2, layer) {
|
||||||
var line = new Segment(x1, y1, x2, y2);
|
const line = new Segment(x1, y1, x2, y2);
|
||||||
layer.add(line);
|
layer.add(line);
|
||||||
return line;
|
return line;
|
||||||
};
|
};
|
||||||
|
|
@ -186,15 +186,15 @@ export class Viewer {
|
||||||
buffer /= this.scale / this.retinaPxielRatio;
|
buffer /= this.scale / this.retinaPxielRatio;
|
||||||
buffer *= 0.5;
|
buffer *= 0.5;
|
||||||
|
|
||||||
var pickResult = [];
|
const pickResult = [];
|
||||||
var aim = new Vector(x, y);
|
const aim = new Vector(x, y);
|
||||||
|
|
||||||
var heroIdx = 0;
|
let heroIdx = 0;
|
||||||
var unreachable = buffer * 2;
|
const unreachable = buffer * 2;
|
||||||
var heroLength = unreachable; // unreachable
|
let heroLength = unreachable; // unreachable
|
||||||
|
|
||||||
function isFiltered(o) {
|
function isFiltered(o) {
|
||||||
for (var i = 0; i < filter.length; ++i) {
|
for (let i = 0; i < filter.length; ++i) {
|
||||||
if (filter[i] === o) return true;
|
if (filter[i] === o) return true;
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
|
|
@ -202,10 +202,10 @@ export class Viewer {
|
||||||
|
|
||||||
for (let layers of this._workspace) {
|
for (let layers of this._workspace) {
|
||||||
for (let i = 0; i < layers.length; i++) {
|
for (let i = 0; i < layers.length; i++) {
|
||||||
var objs = layers[i].objects;
|
let objs = layers[i].objects;
|
||||||
for (var j = 0; j < objs.length; j++) {
|
for (let j = 0; j < objs.length; j++) {
|
||||||
var l = unreachable + 1;
|
let l = unreachable + 1;
|
||||||
var before = pickResult.length;
|
let before = pickResult.length;
|
||||||
objs[j].accept((o) => {
|
objs[j].accept((o) => {
|
||||||
if (!o.visible) return true;
|
if (!o.visible) return true;
|
||||||
if (onlyPoints && !isEndPoint(o)) {
|
if (onlyPoints && !isEndPoint(o)) {
|
||||||
|
|
@ -218,7 +218,7 @@ export class Viewer {
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
});
|
});
|
||||||
var hit = before - pickResult.length != 0;
|
let hit = before - pickResult.length != 0;
|
||||||
if (hit) {
|
if (hit) {
|
||||||
if (!deep && pickResult.length != 0) return pickResult;
|
if (!deep && pickResult.length != 0) return pickResult;
|
||||||
if (l >= 0 && l < heroLength) {
|
if (l >= 0 && l < heroLength) {
|
||||||
|
|
@ -230,7 +230,7 @@ export class Viewer {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (pickResult.length > 0) {
|
if (pickResult.length > 0) {
|
||||||
var _f = pickResult[0];
|
let _f = pickResult[0];
|
||||||
pickResult[0] = pickResult[heroIdx];
|
pickResult[0] = pickResult[heroIdx];
|
||||||
pickResult[heroIdx] = _f;
|
pickResult[heroIdx] = _f;
|
||||||
}
|
}
|
||||||
|
|
@ -431,7 +431,7 @@ export class Viewer {
|
||||||
}
|
}
|
||||||
|
|
||||||
findLayerByName(name) {
|
findLayerByName(name) {
|
||||||
for (var i = 0; i < this.layers.length; i++) {
|
for (let i = 0; i < this.layers.length; i++) {
|
||||||
if (this.layers[i].name == name) {
|
if (this.layers[i].name == name) {
|
||||||
return this.layers[i];
|
return this.layers[i];
|
||||||
}
|
}
|
||||||
|
|
@ -440,7 +440,7 @@ export class Viewer {
|
||||||
};
|
};
|
||||||
|
|
||||||
findById(id) {
|
findById(id) {
|
||||||
var result = null;
|
let result = null;
|
||||||
this.accept(function (o) {
|
this.accept(function (o) {
|
||||||
if (o.id === id) {
|
if (o.id === id) {
|
||||||
result = o;
|
result = o;
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue