dgeoutils 2.4.1 → 2.4.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,44 +1,46 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.DCircle = void 0;
4
- const DPoint_1 = require("./DPoint");
5
- const DPolygon_1 = require("./DPolygon");
6
- const utils_1 = require("./utils");
7
- class DCircle {
8
- constructor(center = DPoint_1.DPoint.zero(), r = 0) {
4
+ var DPoint_1 = require("./DPoint");
5
+ var DPolygon_1 = require("./DPolygon");
6
+ var utils_1 = require("./utils");
7
+ var DCircle = (function () {
8
+ function DCircle(center, r) {
9
+ if (center === void 0) { center = DPoint_1.DPoint.zero(); }
10
+ if (r === void 0) { r = 0; }
9
11
  this.center = center;
10
12
  this.r = r;
11
13
  }
12
- toString() {
13
- return `(${this.center.toString()}, ${this.r})`;
14
- }
15
- getValue() {
14
+ DCircle.prototype.toString = function () {
15
+ return "(".concat(this.center.toString(), ", ").concat(this.r, ")");
16
+ };
17
+ DCircle.prototype.getValue = function () {
16
18
  return { center: this.center, r: this.r };
17
- }
18
- clone() {
19
+ };
20
+ DCircle.prototype.clone = function () {
19
21
  return new DCircle(this.center, this.r);
20
- }
21
- findPoints(c) {
22
+ };
23
+ DCircle.prototype.findPoints = function (c) {
22
24
  if (this.equal(c)) {
23
25
  return Infinity;
24
26
  }
25
- const { center: { x: x0, y: y0 }, r: r0 } = this;
26
- const { center: { x: x1, y: y1 }, r: r1 } = c;
27
- const r02 = r0 * r0;
28
- const d = this.center.distance(c.center);
29
- const a = (r02 - r1 * r1 + d * d) / (2 * d);
30
- const h = Math.sqrt(r02 - a * a);
31
- const ad = a / d;
32
- const dy = y1 - y0;
33
- const dx = x1 - x0;
34
- const hd = h / d;
35
- const x2 = x0 + ad * (x1 - x0);
36
- const y2 = y0 + ad * (y1 - y0);
37
- const x31 = x2 + hd * dy;
38
- const y31 = y2 - hd * dx;
39
- const x32 = x2 - hd * dy;
40
- const y32 = y2 + hd * dx;
41
- const res = [];
27
+ var _a = this, _b = _a.center, x0 = _b.x, y0 = _b.y, r0 = _a.r;
28
+ var _c = c.center, x1 = _c.x, y1 = _c.y, r1 = c.r;
29
+ var r02 = r0 * r0;
30
+ var d = this.center.distance(c.center);
31
+ var a = (r02 - r1 * r1 + d * d) / (2 * d);
32
+ var h = Math.sqrt(r02 - a * a);
33
+ var ad = a / d;
34
+ var dy = y1 - y0;
35
+ var dx = x1 - x0;
36
+ var hd = h / d;
37
+ var x2 = x0 + ad * (x1 - x0);
38
+ var y2 = y0 + ad * (y1 - y0);
39
+ var x31 = x2 + hd * dy;
40
+ var y31 = y2 - hd * dx;
41
+ var x32 = x2 - hd * dy;
42
+ var y32 = y2 + hd * dx;
43
+ var res = [];
42
44
  if (!isNaN(x31) && !isNaN(y31)) {
43
45
  res.push(new DPoint_1.DPoint(x31, y31));
44
46
  }
@@ -46,46 +48,55 @@ class DCircle {
46
48
  res.push(new DPoint_1.DPoint(x32, y32));
47
49
  }
48
50
  return res;
49
- }
50
- equal({ center, r }) {
51
+ };
52
+ DCircle.prototype.equal = function (_a) {
53
+ var center = _a.center, r = _a.r;
51
54
  return this.center.equal(center) && this.r === r;
52
- }
53
- findPolygonInside(pointCount = 64, startAngle = 0, stopAngle = 2 * Math.PI) {
54
- const step = 2 * Math.PI / pointCount;
55
- const points = [];
56
- let angle = startAngle;
55
+ };
56
+ DCircle.prototype.findPolygonInside = function (pointCount, startAngle, stopAngle) {
57
+ if (pointCount === void 0) { pointCount = 64; }
58
+ if (startAngle === void 0) { startAngle = 0; }
59
+ if (stopAngle === void 0) { stopAngle = 2 * Math.PI; }
60
+ var step = 2 * Math.PI / pointCount;
61
+ var points = [];
62
+ var angle = startAngle;
57
63
  while (angle < stopAngle - step) {
58
64
  points.push(new DPoint_1.DPoint(this.r).scale(Math.cos(angle), Math.sin(angle))
59
65
  .move(this.center));
60
66
  angle += step;
61
67
  }
62
- const x = this.r * Math.cos(stopAngle) + this.center.x;
63
- const y = this.r * Math.sin(stopAngle) + this.center.y;
68
+ var x = this.r * Math.cos(stopAngle) + this.center.x;
69
+ var y = this.r * Math.sin(stopAngle) + this.center.y;
64
70
  points.push(new DPoint_1.DPoint(x, y));
65
71
  return new DPolygon_1.DPolygon(points);
66
- }
67
- findPolygonInsideOnSphere(pointCount = 64, startAngle = 0, stopAngle = 2 * Math.PI) {
72
+ };
73
+ DCircle.prototype.findPolygonInsideOnSphere = function (pointCount, startAngle, stopAngle) {
74
+ if (pointCount === void 0) { pointCount = 64; }
75
+ if (startAngle === void 0) { startAngle = 0; }
76
+ if (stopAngle === void 0) { stopAngle = 2 * Math.PI; }
68
77
  (0, utils_1.checkFunction)('findPolygonInsideOnSphere')
69
78
  .checkArgument('center')
70
79
  .shouldBeDegree(this.center);
71
- const step = 2 * Math.PI / pointCount;
72
- const points = [];
73
- let angle = startAngle;
80
+ var step = 2 * Math.PI / pointCount;
81
+ var points = [];
82
+ var angle = startAngle;
74
83
  while (angle < stopAngle - step) {
75
84
  points.push(this.sphereOffset(angle));
76
85
  angle += step;
77
86
  }
78
87
  points.push(this.sphereOffset(stopAngle));
79
88
  return new DPolygon_1.DPolygon(points);
80
- }
81
- sphereOffset(bearing, earthRadius = DPoint_1.EARTH_RADIUS_IN_METERS) {
82
- const { x: lon1, y: lat1 } = this.center.clone().degreeToRadians();
83
- const dByR = this.r / earthRadius;
84
- const lat = Math.asin(Math.sin(lat1) * Math.cos(dByR) +
89
+ };
90
+ DCircle.prototype.sphereOffset = function (bearing, earthRadius) {
91
+ if (earthRadius === void 0) { earthRadius = DPoint_1.EARTH_RADIUS_IN_METERS; }
92
+ var _a = this.center.clone().degreeToRadians(), lon1 = _a.x, lat1 = _a.y;
93
+ var dByR = this.r / earthRadius;
94
+ var lat = Math.asin(Math.sin(lat1) * Math.cos(dByR) +
85
95
  Math.cos(lat1) * Math.sin(dByR) * Math.cos(bearing));
86
- const lon = lon1 +
96
+ var lon = lon1 +
87
97
  Math.atan2(Math.sin(bearing) * Math.sin(dByR) * Math.cos(lat1), Math.cos(dByR) - Math.sin(lat1) * Math.sin(lat));
88
98
  return new DPoint_1.DPoint(lon, lat).radiansToDegrees();
89
- }
90
- }
99
+ };
100
+ return DCircle;
101
+ }());
91
102
  exports.DCircle = DCircle;
package/dist/cjs/DLine.js CHANGED
@@ -1,21 +1,23 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.DLine = void 0;
4
- const DPoint_1 = require("./DPoint");
5
- const utils_1 = require("./utils");
6
- const DNumbers_1 = require("./DNumbers");
7
- class DLine {
8
- constructor(a, b, c, begin = DPoint_1.DPoint.zero(), end = DPoint_1.DPoint.zero()) {
4
+ var DPoint_1 = require("./DPoint");
5
+ var utils_1 = require("./utils");
6
+ var DNumbers_1 = require("./DNumbers");
7
+ var DLine = (function () {
8
+ function DLine(a, b, c, begin, end) {
9
+ if (begin === void 0) { begin = DPoint_1.DPoint.zero(); }
10
+ if (end === void 0) { end = DPoint_1.DPoint.zero(); }
9
11
  this.a = a;
10
12
  this.b = b;
11
13
  this.c = c;
12
14
  this.begin = begin;
13
15
  this.end = end;
14
16
  }
15
- clone() {
17
+ DLine.prototype.clone = function () {
16
18
  return new DLine(this.a, this.b, this.c, this.begin.clone(), this.end.clone());
17
- }
18
- findPerpendicular(p) {
19
+ };
20
+ DLine.prototype.findPerpendicular = function (p) {
19
21
  (0, utils_1.checkFunction)('findPerpendicular')
20
22
  .checkArgument('this.begin')
21
23
  .shouldBeMeters(this.begin)
@@ -24,8 +26,8 @@ class DLine {
24
26
  .checkArgument('p')
25
27
  .shouldBeMeters(p);
26
28
  return new DLine(-this.b, this.a, this.b * p.x - this.a * p.y);
27
- }
28
- perpendicularDistance(p) {
29
+ };
30
+ DLine.prototype.perpendicularDistance = function (p) {
29
31
  (0, utils_1.checkFunction)('perpendicularDistance')
30
32
  .checkArgument('this.begin')
31
33
  .shouldBeMeters(this.begin)
@@ -33,12 +35,14 @@ class DLine {
33
35
  .shouldBeMeters(this.end)
34
36
  .checkArgument('p')
35
37
  .shouldBeMeters(p);
36
- const perpendicularLine = this.findPerpendicular(p);
37
- const targetPoint = perpendicularLine.findPoint(this);
38
+ var perpendicularLine = this.findPerpendicular(p);
39
+ var targetPoint = perpendicularLine.findPoint(this);
38
40
  return targetPoint.distance(p);
39
- }
40
- intersection(l, d = 0, includeOnly = false) {
41
- const p = this.findPoint(l);
41
+ };
42
+ DLine.prototype.intersection = function (l, d, includeOnly) {
43
+ if (d === void 0) { d = 0; }
44
+ if (includeOnly === void 0) { includeOnly = false; }
45
+ var p = this.findPoint(l);
42
46
  if (p) {
43
47
  if (includeOnly) {
44
48
  return this.insideRange(p, d) && l.insideRange(p, d) ? p : null;
@@ -46,12 +50,12 @@ class DLine {
46
50
  return this.inRange(p, d) && l.inRange(p, d) ? p : null;
47
51
  }
48
52
  return null;
49
- }
50
- intersectionWithCircle(circle) {
51
- const { center, r } = circle;
52
- const per = this.findPerpendicular(center);
53
- const t = this.findPoint(per);
54
- let distance = t.distance(center);
53
+ };
54
+ DLine.prototype.intersectionWithCircle = function (circle) {
55
+ var center = circle.center, r = circle.r;
56
+ var per = this.findPerpendicular(center);
57
+ var t = this.findPoint(per);
58
+ var distance = t.distance(center);
55
59
  if (this.begin.equal(center)) {
56
60
  distance = 0;
57
61
  }
@@ -59,86 +63,108 @@ class DLine {
59
63
  distance = 0;
60
64
  }
61
65
  if (distance < r) {
62
- const { a, b, c } = this;
66
+ var _a = this, a = _a.a, b = _a.b, c = _a.c;
63
67
  if (this.isParallel) {
64
- const ct = center.distance(t);
65
- const move = Math.sqrt(r * r - ct * ct);
68
+ var ct = center.distance(t);
69
+ var move = Math.sqrt(r * r - ct * ct);
66
70
  if (this.isParallelY) {
67
71
  t.x = this.begin.x;
68
- const r1 = t.clone().move(0, -move);
69
- const r2 = t.clone().move(0, move);
70
- return [r1, r2];
72
+ var r1_1 = t.clone().move(0, -move);
73
+ var r2_1 = t.clone().move(0, move);
74
+ return [r1_1, r2_1];
71
75
  }
72
76
  if (this.isParallelX) {
73
77
  t.y = this.begin.y;
74
- const r1 = t.clone().move(move, 0);
75
- const r2 = t.clone().move(-move, 0);
76
- return [r1, r2];
78
+ var r1_2 = t.clone().move(move, 0);
79
+ var r2_2 = t.clone().move(-move, 0);
80
+ return [r1_2, r2_2];
77
81
  }
78
82
  }
79
83
  if (this.begin.like(center)) {
80
- const p = this.begin.clone();
84
+ var p = this.begin.clone();
81
85
  return [this.movePoint(p, r), this.movePoint(p, -r)];
82
86
  }
83
87
  if (this.end.like(center)) {
84
- const p = this.end.clone();
88
+ var p = this.end.clone();
85
89
  return [this.movePoint(p, r), this.movePoint(p, -r)];
86
90
  }
87
- const s = a * a + b * b;
88
- const d = r * r - c * c / s;
89
- const mult = Math.sqrt(d / s);
90
- const r1 = t.clone().move(b * mult, -a * mult);
91
- const r2 = t.clone().move(-b * mult, a * mult);
91
+ var s = a * a + b * b;
92
+ var d = r * r - c * c / s;
93
+ var mult = Math.sqrt(d / s);
94
+ var r1 = t.clone().move(b * mult, -a * mult);
95
+ var r2 = t.clone().move(-b * mult, a * mult);
92
96
  return [r1, r2];
93
97
  }
94
98
  if (distance === r) {
95
99
  return t;
96
100
  }
97
101
  return null;
98
- }
99
- inRange(p, d = 0) {
100
- const { minX, minY, maxX, maxY } = this;
101
- const { x, y } = p;
102
- const isInX = x >= minX - d && x <= maxX + d;
103
- const isInY = y >= minY - d && y <= maxY + d;
102
+ };
103
+ DLine.prototype.inRange = function (p, d) {
104
+ if (d === void 0) { d = 0; }
105
+ var _a = this, minX = _a.minX, minY = _a.minY, maxX = _a.maxX, maxY = _a.maxY;
106
+ var x = p.x, y = p.y;
107
+ var isInX = x >= minX - d && x <= maxX + d;
108
+ var isInY = y >= minY - d && y <= maxY + d;
104
109
  return isInX && isInY;
105
- }
106
- insideRange(p, d = 0) {
107
- const { begin, end } = this;
110
+ };
111
+ DLine.prototype.insideRange = function (p, d) {
112
+ if (d === void 0) { d = 0; }
113
+ var _a = this, begin = _a.begin, end = _a.end;
108
114
  return this.inRange(p, d) && !begin.like(p, 0.00001) && !end.like(p, 0.00001);
109
- }
110
- get center() {
111
- return this.begin
112
- .clone()
113
- .setIfLessThan(this.end)
114
- .move(this.end
115
- .clone()
116
- .move(this.begin
117
- .clone()
118
- .minus())
119
- .abs()
120
- .minus()
121
- .divide(2));
122
- }
123
- get minX() {
124
- return Math.min(this.begin.x, this.end.x);
125
- }
126
- get minY() {
127
- return Math.min(this.begin.y, this.end.y);
128
- }
129
- get maxX() {
130
- return Math.max(this.begin.x, this.end.x);
131
- }
132
- get maxY() {
133
- return Math.max(this.begin.y, this.end.y);
134
- }
135
- toString() {
136
- return `(${this.a}, ${this.b}, ${this.c})`;
137
- }
138
- getValue() {
115
+ };
116
+ Object.defineProperty(DLine.prototype, "center", {
117
+ get: function () {
118
+ return this.begin
119
+ .clone()
120
+ .setIfLessThan(this.end)
121
+ .move(this.end
122
+ .clone()
123
+ .move(this.begin
124
+ .clone()
125
+ .minus())
126
+ .abs()
127
+ .minus()
128
+ .divide(2));
129
+ },
130
+ enumerable: false,
131
+ configurable: true
132
+ });
133
+ Object.defineProperty(DLine.prototype, "minX", {
134
+ get: function () {
135
+ return Math.min(this.begin.x, this.end.x);
136
+ },
137
+ enumerable: false,
138
+ configurable: true
139
+ });
140
+ Object.defineProperty(DLine.prototype, "minY", {
141
+ get: function () {
142
+ return Math.min(this.begin.y, this.end.y);
143
+ },
144
+ enumerable: false,
145
+ configurable: true
146
+ });
147
+ Object.defineProperty(DLine.prototype, "maxX", {
148
+ get: function () {
149
+ return Math.max(this.begin.x, this.end.x);
150
+ },
151
+ enumerable: false,
152
+ configurable: true
153
+ });
154
+ Object.defineProperty(DLine.prototype, "maxY", {
155
+ get: function () {
156
+ return Math.max(this.begin.y, this.end.y);
157
+ },
158
+ enumerable: false,
159
+ configurable: true
160
+ });
161
+ DLine.prototype.toString = function () {
162
+ return "(".concat(this.a, ", ").concat(this.b, ", ").concat(this.c, ")");
163
+ };
164
+ DLine.prototype.getValue = function () {
139
165
  return [this.a, this.b, this.c];
140
- }
141
- x(p) {
166
+ };
167
+ DLine.prototype.x = function (p) {
142
168
  if (this.isParallelY) {
143
169
  return new DPoint_1.DPoint(-this.c / this.a, p.y);
144
170
  }
@@ -146,8 +172,8 @@ class DLine {
146
172
  return new DPoint_1.DPoint(p.x, -this.c / this.b);
147
173
  }
148
174
  return new DPoint_1.DPoint(-this.b / this.a * p.y - this.c / this.a, p.y);
149
- }
150
- y(p) {
175
+ };
176
+ DLine.prototype.y = function (p) {
151
177
  if (this.isParallelY) {
152
178
  return new DPoint_1.DPoint(-this.c / this.a, p.y);
153
179
  }
@@ -155,8 +181,8 @@ class DLine {
155
181
  return new DPoint_1.DPoint(p.x, -this.c / this.b);
156
182
  }
157
183
  return new DPoint_1.DPoint(p.x, -this.a / this.b * p.x - this.c / this.b);
158
- }
159
- findPoint(l) {
184
+ };
185
+ DLine.prototype.findPoint = function (l) {
160
186
  if (this.isParallelY && l.isParallelY) {
161
187
  return null;
162
188
  }
@@ -170,81 +196,102 @@ class DLine {
170
196
  return new DPoint_1.DPoint(-this.c / this.a, -l.c / l.b);
171
197
  }
172
198
  if (this.isParallelY) {
173
- const x = -this.c / this.a;
199
+ var x = -this.c / this.a;
174
200
  return l.y(new DPoint_1.DPoint(x));
175
201
  }
176
202
  if (this.isParallelX) {
177
- const y = -this.c / this.b;
203
+ var y = -this.c / this.b;
178
204
  return l.x(new DPoint_1.DPoint(0, y));
179
205
  }
180
206
  if (l.isParallelY) {
181
- const x = -l.c / l.a;
207
+ var x = -l.c / l.a;
182
208
  return this.y(new DPoint_1.DPoint(x));
183
209
  }
184
210
  if (l.isParallelX) {
185
- const y = -l.c / l.b;
211
+ var y = -l.c / l.b;
186
212
  return this.x(new DPoint_1.DPoint(0, y));
187
213
  }
188
- const res = this.y(new DPoint_1.DPoint((l.c / l.b - this.c / this.b) / (this.a / this.b - l.a / l.b)));
214
+ var res = this.y(new DPoint_1.DPoint((l.c / l.b - this.c / this.b) / (this.a / this.b - l.a / l.b)));
189
215
  if (!isFinite(res.x) && !isFinite(res.y)) {
190
216
  return null;
191
217
  }
192
218
  return res;
193
- }
194
- get isParallel() {
195
- return this.isParallelX || this.isParallelY;
196
- }
197
- get isParallelY() {
198
- return Math.abs(this.b) < 0.001;
199
- }
200
- get isParallelX() {
201
- return Math.abs(this.a) < 0.001;
202
- }
203
- get points() {
204
- return [this.begin, this.end];
205
- }
206
- getFi() {
219
+ };
220
+ Object.defineProperty(DLine.prototype, "isParallel", {
221
+ get: function () {
222
+ return this.isParallelX || this.isParallelY;
223
+ },
224
+ enumerable: false,
225
+ configurable: true
226
+ });
227
+ Object.defineProperty(DLine.prototype, "isParallelY", {
228
+ get: function () {
229
+ return Math.abs(this.b) < 0.001;
230
+ },
231
+ enumerable: false,
232
+ configurable: true
233
+ });
234
+ Object.defineProperty(DLine.prototype, "isParallelX", {
235
+ get: function () {
236
+ return Math.abs(this.a) < 0.001;
237
+ },
238
+ enumerable: false,
239
+ configurable: true
240
+ });
241
+ Object.defineProperty(DLine.prototype, "points", {
242
+ get: function () {
243
+ return [this.begin, this.end];
244
+ },
245
+ enumerable: false,
246
+ configurable: true
247
+ });
248
+ DLine.prototype.getFi = function () {
207
249
  (0, utils_1.checkFunction)('getFi')
208
250
  .checkArgument('this.begin')
209
251
  .shouldBeMeters(this.begin)
210
252
  .checkArgument('this.end')
211
253
  .shouldBeMeters(this.end);
212
- const { x, y } = this.end.clone().move(this.begin.clone().minus());
213
- let v = Math.atan2(y, x) - Math.PI;
254
+ var _a = this.end.clone().move(this.begin.clone().minus()), x = _a.x, y = _a.y;
255
+ var v = Math.atan2(y, x) - Math.PI;
214
256
  if (v > 0) {
215
257
  v = Math.PI - v;
216
258
  }
217
259
  return (Math.PI - v) % (Math.PI * 2);
218
- }
219
- toWKT() {
220
- const { begin: { x: x1, y: y1 }, end: { x: x2, y: y2 } } = this;
221
- return `LINESTRING (${x1} ${y1}, ${x2} ${y2})`;
222
- }
223
- movePoint(i, k) {
224
- const isArray = Array.isArray(i);
225
- const p = isArray ? i : [i];
226
- const d = (isArray ? k : [k]);
227
- const fi = this.findFi(new DLine(1, 0, 0));
228
- const td = this.x(new DPoint_1.DPoint(1, 1)).distance(this.x(new DPoint_1.DPoint(2, 2))) / 2;
229
- const sinCos = new DPoint_1.DPoint(Math.sin(fi), Math.cos(fi));
230
- const dt = sinCos.clone().scale(td);
231
- const p1T = p[0].clone().move(dt.clone().minus());
232
- const p2T = p[0].clone().move(dt);
233
- let res = [];
260
+ };
261
+ DLine.prototype.toWKT = function () {
262
+ var _a = this, _b = _a.begin, x1 = _b.x, y1 = _b.y, _c = _a.end, x2 = _c.x, y2 = _c.y;
263
+ return "LINESTRING (".concat(x1, " ").concat(y1, ", ").concat(x2, " ").concat(y2, ")");
264
+ };
265
+ DLine.prototype.movePoint = function (i, k) {
266
+ var isArray = Array.isArray(i);
267
+ var p = isArray ? i : [i];
268
+ var d = (isArray ? k : [k]);
269
+ var fi = this.findFi(new DLine(1, 0, 0));
270
+ var td = this.x(new DPoint_1.DPoint(1, 1)).distance(this.x(new DPoint_1.DPoint(2, 2))) / 2;
271
+ var sinCos = new DPoint_1.DPoint(Math.sin(fi), Math.cos(fi));
272
+ var dt = sinCos.clone().scale(td);
273
+ var p1T = p[0].clone().move(dt.clone().minus());
274
+ var p2T = p[0].clone().move(dt);
275
+ var res = [];
234
276
  if (DNumbers_1.DNumbers.like(this.y(p1T).y, p1T.y) || DNumbers_1.DNumbers.like(this.y(p2T).y, p2T.y)) {
235
- res = p.map((t, index) => t.clone()
236
- .move(sinCos.clone().scale(d[index])));
277
+ res = p.map(function (t, index) { return t.clone()
278
+ .move(sinCos.clone().scale(d[index])); });
237
279
  }
238
280
  else {
239
- res = p.map((t, index) => t.clone()
281
+ res = p.map(function (t, index) { return t.clone()
240
282
  .move(sinCos.clone().scale(d[index])
241
- .setX(({ x }) => -x)));
283
+ .setX(function (_a) {
284
+ var x = _a.x;
285
+ return -x;
286
+ })); });
242
287
  }
243
288
  return isArray ? res : res[0];
244
- }
245
- findFi({ a, b }, delta = 1.0001) {
246
- const { a: q, b: w } = this;
247
- let val = (q * a + w * b) / (Math.sqrt(q * q + w * w) * Math.sqrt(a * a + b * b));
289
+ };
290
+ DLine.prototype.findFi = function (_a, delta) {
291
+ var a = _a.a, b = _a.b;
292
+ if (delta === void 0) { delta = 1.0001; }
293
+ var _b = this, q = _b.a, w = _b.b;
294
+ var val = (q * a + w * b) / (Math.sqrt(q * q + w * w) * Math.sqrt(a * a + b * b));
248
295
  if (val > 1 && val < delta) {
249
296
  val = 1;
250
297
  }
@@ -252,10 +299,12 @@ class DLine {
252
299
  val = -1;
253
300
  }
254
301
  return Math.acos(val);
255
- }
256
- vectorProduct({ a, b, c }) {
257
- const { a: q, b: w, c: e } = this;
302
+ };
303
+ DLine.prototype.vectorProduct = function (_a) {
304
+ var a = _a.a, b = _a.b, c = _a.c;
305
+ var _b = this, q = _b.a, w = _b.b, e = _b.c;
258
306
  return new DLine(w * c - e * b, e * a - q * c, q * b - w * a);
259
- }
260
- }
307
+ };
308
+ return DLine;
309
+ }());
261
310
  exports.DLine = DLine;
@@ -1,26 +1,30 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.DNumbers = void 0;
4
- const DPoint_1 = require("./DPoint");
5
- const delta = 0.001;
6
- class DNumbers {
7
- static like(v, s, d = delta) {
8
- return Math.abs(v - s) < d;
4
+ var DPoint_1 = require("./DPoint");
5
+ var delta = 0.001;
6
+ var DNumbers = (function () {
7
+ function DNumbers() {
9
8
  }
10
- static likeZero(v) {
9
+ DNumbers.like = function (v, s, d) {
10
+ if (d === void 0) { d = delta; }
11
+ return Math.abs(v - s) < d;
12
+ };
13
+ DNumbers.likeZero = function (v) {
11
14
  return DNumbers.like(v, 0);
12
- }
13
- static like2PI(v) {
15
+ };
16
+ DNumbers.like2PI = function (v) {
14
17
  return DNumbers.like(DNumbers.rad2Deg(v), DPoint_1.DOUBLE_PI_IN_DEGREE);
15
- }
16
- static likePI(v) {
18
+ };
19
+ DNumbers.likePI = function (v) {
17
20
  return DNumbers.like(DNumbers.rad2Deg(v), DPoint_1.PI_IN_DEGREE);
18
- }
19
- static rad2Deg(v) {
21
+ };
22
+ DNumbers.rad2Deg = function (v) {
20
23
  return v * DPoint_1.DEGREE_TO_PI;
21
- }
22
- static deg2Rad(v) {
24
+ };
25
+ DNumbers.deg2Rad = function (v) {
23
26
  return v * DPoint_1.PI_TO_DEGREE;
24
- }
25
- }
27
+ };
28
+ return DNumbers;
29
+ }());
26
30
  exports.DNumbers = DNumbers;