dgeoutils 2.2.24 → 2.3.0
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.
- package/dist/{DCircle.d.ts → cjs/DCircle.d.ts} +0 -0
- package/dist/cjs/DCircle.js +102 -0
- package/dist/{DLine.d.ts → cjs/DLine.d.ts} +0 -0
- package/dist/cjs/DLine.js +300 -0
- package/dist/{DNumbers.d.ts → cjs/DNumbers.d.ts} +0 -0
- package/dist/cjs/DNumbers.js +30 -0
- package/dist/{DPlane.d.ts → cjs/DPlane.d.ts} +0 -0
- package/dist/cjs/DPlane.js +132 -0
- package/dist/{DPoint.d.ts → cjs/DPoint.d.ts} +0 -0
- package/dist/cjs/DPoint.js +574 -0
- package/dist/{DPolygon.d.ts → cjs/DPolygon.d.ts} +0 -0
- package/dist/cjs/DPolygon.js +1555 -0
- package/dist/{DPolygonLoop.d.ts → cjs/DPolygonLoop.d.ts} +0 -0
- package/dist/cjs/DPolygonLoop.js +401 -0
- package/dist/{FastSearch.d.ts → cjs/FastSearch.d.ts} +0 -0
- package/dist/cjs/FastSearch.js +53 -0
- package/dist/{TraceMatrix.d.ts → cjs/TraceMatrix.d.ts} +0 -0
- package/dist/cjs/TraceMatrix.js +256 -0
- package/dist/{index.d.ts → cjs/index.d.ts} +0 -0
- package/dist/{index.js → cjs/index.js} +0 -0
- package/dist/{utils.d.ts → cjs/utils.d.ts} +0 -0
- package/dist/cjs/utils.js +191 -0
- package/dist/{DCircle.js → es2015/DCircle.js} +14 -18
- package/dist/{DLine.js → es2015/DLine.js} +24 -28
- package/dist/es2015/DNumbers.js +22 -0
- package/dist/{DPlane.js → es2015/DPlane.js} +22 -26
- package/dist/{DPoint.js → es2015/DPoint.js} +52 -56
- package/dist/{DPolygon.js → es2015/DPolygon.js} +41 -45
- package/dist/{DPolygonLoop.js → es2015/DPolygonLoop.js} +1 -5
- package/dist/{FastSearch.js → es2015/FastSearch.js} +1 -5
- package/dist/{TraceMatrix.js → es2015/TraceMatrix.js} +35 -39
- package/dist/es2015/index.js +13 -0
- package/dist/{utils.js → es2015/utils.js} +26 -36
- package/dist/esm/DCircle.js +99 -0
- package/dist/esm/DLine.js +297 -0
- package/dist/esm/DNumbers.js +27 -0
- package/dist/esm/DPlane.js +129 -0
- package/dist/esm/DPoint.js +571 -0
- package/dist/esm/DPolygon.js +1552 -0
- package/dist/esm/DPolygonLoop.js +398 -0
- package/dist/esm/FastSearch.js +50 -0
- package/dist/esm/TraceMatrix.js +253 -0
- package/dist/esm/index.js +13 -0
- package/dist/esm/utils.js +181 -0
- package/dist/umd/dgeoutils.js +3569 -0
- package/dist/umd/dgeoutils.min.js +1 -0
- package/dist/umd/dgeoutils.min.js.map +1 -0
- package/package.json +17 -10
- package/dist/DNumbers.js +0 -26
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export * from './DCircle';
|
|
2
|
+
export * from './DLine';
|
|
3
|
+
export * from './DNumbers';
|
|
4
|
+
export * from './DPoint';
|
|
5
|
+
export * from './DPolygon';
|
|
6
|
+
export * from './FastSearch';
|
|
7
|
+
export * from './TraceMatrix';
|
|
8
|
+
export * from './DPolygonLoop';
|
|
9
|
+
export * from './DPlane';
|
|
10
|
+
export { gaussianElimination, createCanvas, createArray, createMatrix, isDefAndNotNull } from './utils';
|
|
11
|
+
export var DGeo = {
|
|
12
|
+
DEBUG: false
|
|
13
|
+
};
|
|
@@ -0,0 +1,181 @@
|
|
|
1
|
+
var __read = (this && this.__read) || function (o, n) {
|
|
2
|
+
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
3
|
+
if (!m) return o;
|
|
4
|
+
var i = m.call(o), r, ar = [], e;
|
|
5
|
+
try {
|
|
6
|
+
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
|
7
|
+
}
|
|
8
|
+
catch (error) { e = { error: error }; }
|
|
9
|
+
finally {
|
|
10
|
+
try {
|
|
11
|
+
if (r && !r.done && (m = i["return"])) m.call(i);
|
|
12
|
+
}
|
|
13
|
+
finally { if (e) throw e.error; }
|
|
14
|
+
}
|
|
15
|
+
return ar;
|
|
16
|
+
};
|
|
17
|
+
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
18
|
+
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
19
|
+
if (ar || !(i in from)) {
|
|
20
|
+
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
21
|
+
ar[i] = from[i];
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
|
25
|
+
};
|
|
26
|
+
import { DGeo } from './index';
|
|
27
|
+
import { DPoint } from './DPoint';
|
|
28
|
+
export var warn = function () {
|
|
29
|
+
var args = [];
|
|
30
|
+
for (var _i = 0; _i < arguments.length; _i++) {
|
|
31
|
+
args[_i] = arguments[_i];
|
|
32
|
+
}
|
|
33
|
+
if (DGeo.DEBUG) {
|
|
34
|
+
console.warn.apply(console, __spreadArray([], __read(args), false));
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
export var isDefAndNotNull = function (a) { return a != undefined; };
|
|
38
|
+
var hook = function (scope) { return function () { return scope; }; };
|
|
39
|
+
var shouldBeInt = function (scope, funcName, argName) { return function (p) {
|
|
40
|
+
if (!p.clone().round()
|
|
41
|
+
.equal(p)) {
|
|
42
|
+
warn("\"" + funcName + "\" -> \"" + argName + "\" should be Int!");
|
|
43
|
+
}
|
|
44
|
+
return scope;
|
|
45
|
+
}; };
|
|
46
|
+
var shouldBeUInt = function (scope, funcName, argName) { return function (p) {
|
|
47
|
+
if (!p.clone().round()
|
|
48
|
+
.equal(p) || !p.gtOrEqual(DPoint.zero())) {
|
|
49
|
+
warn("\"" + funcName + "\" -> \"" + argName + "\" should be UInt!");
|
|
50
|
+
}
|
|
51
|
+
return scope;
|
|
52
|
+
}; };
|
|
53
|
+
var shouldBeDegree = function (scope, funcName, argName) { return function (p) {
|
|
54
|
+
if (!p.likeWorldGeodeticSystem) {
|
|
55
|
+
warn("\"" + funcName + "\" -> \"" + argName + "\" should be degree!");
|
|
56
|
+
}
|
|
57
|
+
return scope;
|
|
58
|
+
}; };
|
|
59
|
+
var shouldBeRadians = function (scope, funcName, argName) { return function (p) {
|
|
60
|
+
if (!p.likeRadians) {
|
|
61
|
+
warn("\"" + funcName + "\" -> \"" + argName + "\" should be radians!");
|
|
62
|
+
}
|
|
63
|
+
return scope;
|
|
64
|
+
}; };
|
|
65
|
+
var shouldExist = function (scope, funcName, argName) { return function (p) {
|
|
66
|
+
if (!isDefAndNotNull(p)) {
|
|
67
|
+
warn("\"" + funcName + "\" -> \"" + argName + "\" should exist!");
|
|
68
|
+
}
|
|
69
|
+
return scope;
|
|
70
|
+
}; };
|
|
71
|
+
var shouldBeMeters = function (scope, funcName, argName) { return function (p) {
|
|
72
|
+
if (!p.likePseudoMercator) {
|
|
73
|
+
warn("\"" + funcName + "\" -> \"" + argName + "\" should be meters!");
|
|
74
|
+
}
|
|
75
|
+
return scope;
|
|
76
|
+
}; };
|
|
77
|
+
export var checkFunction = function (funcName) { return ({
|
|
78
|
+
checkArgument: function (argName) {
|
|
79
|
+
if (!DGeo.DEBUG) {
|
|
80
|
+
return {
|
|
81
|
+
shouldBeDegree: hook(this),
|
|
82
|
+
shouldBeMeters: hook(this),
|
|
83
|
+
shouldBeInt: hook(this),
|
|
84
|
+
shouldBeUInt: hook(this),
|
|
85
|
+
shouldBeRadians: hook(this),
|
|
86
|
+
shouldExist: hook(this)
|
|
87
|
+
};
|
|
88
|
+
}
|
|
89
|
+
return {
|
|
90
|
+
shouldBeDegree: shouldBeDegree(this, funcName, argName),
|
|
91
|
+
shouldBeMeters: shouldBeMeters(this, funcName, argName),
|
|
92
|
+
shouldBeInt: shouldBeInt(this, funcName, argName),
|
|
93
|
+
shouldBeUInt: shouldBeUInt(this, funcName, argName),
|
|
94
|
+
shouldBeRadians: shouldBeRadians(this, funcName, argName),
|
|
95
|
+
shouldExist: shouldExist(this, funcName, argName)
|
|
96
|
+
};
|
|
97
|
+
}
|
|
98
|
+
}); };
|
|
99
|
+
export var createArray = function (v, fillSymbol) {
|
|
100
|
+
if (fillSymbol === void 0) { fillSymbol = 0; }
|
|
101
|
+
return new Array(v).fill(fillSymbol);
|
|
102
|
+
};
|
|
103
|
+
export var createMatrix = function (_a, fillSymbol) {
|
|
104
|
+
var h = _a.h, w = _a.w;
|
|
105
|
+
if (fillSymbol === void 0) { fillSymbol = 0; }
|
|
106
|
+
return createArray(h)
|
|
107
|
+
.map(function () { return createArray(w, fillSymbol); });
|
|
108
|
+
};
|
|
109
|
+
export var gaussianElimination = function (matrix) {
|
|
110
|
+
var n = matrix.length;
|
|
111
|
+
var matrixClone = createMatrix(new DPoint(n + 1, n));
|
|
112
|
+
for (var i = 0; i < n; i++) {
|
|
113
|
+
for (var j = 0; j < n + 1; j++) {
|
|
114
|
+
matrix[i][j] = matrix[i][j] === 0 ? gaussianElimination.MIN : matrix[i][j];
|
|
115
|
+
matrixClone[i][j] = matrix[i][j];
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
for (var k = 0; k < n; k++) {
|
|
119
|
+
for (var i = 0; i < n + 1; i++) {
|
|
120
|
+
matrixClone[k][i] /= matrix[k][k];
|
|
121
|
+
}
|
|
122
|
+
for (var i = k + 1; i < n; i++) {
|
|
123
|
+
var K = matrixClone[i][k] / matrixClone[k][k];
|
|
124
|
+
for (var j = 0; j < n + 1; j++) {
|
|
125
|
+
matrixClone[i][j] -= matrixClone[k][j] * K;
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
for (var i = 0; i < n; i++) {
|
|
129
|
+
for (var j = 0; j < n + 1; j++) {
|
|
130
|
+
matrix[i][j] = matrixClone[i][j];
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
for (var k = n - 1; k > -1; k--) {
|
|
135
|
+
for (var i = n; i > -1; i--) {
|
|
136
|
+
matrixClone[k][i] /= matrix[k][k];
|
|
137
|
+
}
|
|
138
|
+
for (var i = k - 1; i > -1; i--) {
|
|
139
|
+
var K = matrixClone[i][k] / matrixClone[k][k];
|
|
140
|
+
for (var j = n; j > -1; j--) {
|
|
141
|
+
matrixClone[i][j] -= matrixClone[k][j] * K;
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
var answer = createArray(n);
|
|
146
|
+
for (var i = 0; i < n; i++) {
|
|
147
|
+
answer[i] = matrixClone[i][n];
|
|
148
|
+
}
|
|
149
|
+
return answer;
|
|
150
|
+
};
|
|
151
|
+
gaussianElimination.MIN = 1e-10;
|
|
152
|
+
export var createCanvas = function (a, b, c) {
|
|
153
|
+
var _a;
|
|
154
|
+
var w = 0;
|
|
155
|
+
var h = 0;
|
|
156
|
+
var offscreen = false;
|
|
157
|
+
if (a instanceof DPoint) {
|
|
158
|
+
var x = a.x, y = a.y;
|
|
159
|
+
w = x;
|
|
160
|
+
h = y;
|
|
161
|
+
}
|
|
162
|
+
else {
|
|
163
|
+
w = a;
|
|
164
|
+
h = a;
|
|
165
|
+
}
|
|
166
|
+
if (typeof b === 'boolean') {
|
|
167
|
+
offscreen = b;
|
|
168
|
+
}
|
|
169
|
+
else if (typeof b === 'number') {
|
|
170
|
+
h = b;
|
|
171
|
+
}
|
|
172
|
+
if (typeof c === 'boolean') {
|
|
173
|
+
offscreen = c;
|
|
174
|
+
}
|
|
175
|
+
var canvas = offscreen ? new OffscreenCanvas(w, h) : ((_a = createCanvas.document) !== null && _a !== void 0 ? _a : document).createElement('canvas');
|
|
176
|
+
if (!offscreen) {
|
|
177
|
+
canvas.width = w;
|
|
178
|
+
canvas.height = h;
|
|
179
|
+
}
|
|
180
|
+
return [canvas, canvas.getContext('2d')];
|
|
181
|
+
};
|