vislite 0.7.1 → 0.8.0-alpha.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/CHANGELOG +28 -2
- package/README.md +144 -135
- package/lib/Buffer/index.umd.d.ts +3 -0
- package/lib/Buffer/index.umd.js +2 -2
- package/lib/Buffer/index.umd.min.d.ts +3 -0
- package/lib/Buffer/index.umd.min.js +2 -2
- package/lib/Canvas/index.umd.d.ts +3 -0
- package/lib/Canvas/index.umd.js +26 -2
- package/lib/Canvas/index.umd.min.d.ts +3 -0
- package/lib/Canvas/index.umd.min.js +3 -3
- package/lib/Cardinal/index.umd.d.ts +3 -0
- package/lib/Cardinal/index.umd.js +2 -2
- package/lib/Cardinal/index.umd.min.d.ts +3 -0
- package/lib/Cardinal/index.umd.min.js +2 -2
- package/lib/Eoap/index.umd.d.ts +3 -0
- package/lib/Eoap/index.umd.js +2 -2
- package/lib/Eoap/index.umd.min.d.ts +3 -0
- package/lib/Eoap/index.umd.min.js +2 -2
- package/lib/Geometry/index.umd.d.ts +3 -0
- package/lib/Geometry/index.umd.js +61 -11
- package/lib/Geometry/index.umd.min.d.ts +3 -0
- package/lib/Geometry/index.umd.min.js +3 -3
- package/lib/Hermite/index.umd.d.ts +3 -0
- package/lib/Hermite/index.umd.js +2 -2
- package/lib/Hermite/index.umd.min.d.ts +3 -0
- package/lib/Hermite/index.umd.min.js +2 -2
- package/lib/Matrix4/index.umd.d.ts +3 -0
- package/lib/Matrix4/index.umd.js +2 -2
- package/lib/Matrix4/index.umd.min.d.ts +3 -0
- package/lib/Matrix4/index.umd.min.js +2 -2
- package/lib/Mercator/index.umd.d.ts +3 -0
- package/lib/Mercator/index.umd.js +2 -2
- package/lib/Mercator/index.umd.min.d.ts +3 -0
- package/lib/Mercator/index.umd.min.js +2 -2
- package/lib/OralCanvas/index.es.d.ts +3 -0
- package/lib/OralCanvas/index.es.js +26 -2
- package/lib/OralCanvas/index.es.min.d.ts +3 -0
- package/lib/OralCanvas/index.es.min.js +3 -3
- package/lib/OralWebGL/index.es.d.ts +3 -0
- package/lib/OralWebGL/index.es.js +26 -8
- package/lib/OralWebGL/index.es.min.d.ts +3 -0
- package/lib/OralWebGL/index.es.min.js +3 -3
- package/lib/SVG/index.umd.d.ts +3 -0
- package/lib/SVG/index.umd.js +2 -2
- package/lib/SVG/index.umd.min.d.ts +3 -0
- package/lib/SVG/index.umd.min.js +2 -2
- package/lib/Shader/index.umd.d.ts +3 -0
- package/lib/Shader/index.umd.js +2 -2
- package/lib/Shader/index.umd.min.d.ts +3 -0
- package/lib/Shader/index.umd.min.js +2 -2
- package/lib/Texture/index.umd.d.ts +3 -0
- package/lib/Texture/index.umd.js +2 -2
- package/lib/Texture/index.umd.min.d.ts +3 -0
- package/lib/Texture/index.umd.min.js +2 -2
- package/lib/TreeLayout/index.umd.d.ts +3 -0
- package/lib/TreeLayout/index.umd.js +2 -2
- package/lib/TreeLayout/index.umd.min.d.ts +3 -0
- package/lib/TreeLayout/index.umd.min.js +2 -2
- package/lib/WebGL/index.umd.d.ts +3 -0
- package/lib/WebGL/index.umd.js +27 -9
- package/lib/WebGL/index.umd.min.d.ts +3 -0
- package/lib/WebGL/index.umd.min.js +3 -3
- package/lib/animation/index.umd.d.ts +3 -0
- package/lib/animation/index.umd.js +2 -2
- package/lib/animation/index.umd.min.d.ts +3 -0
- package/lib/animation/index.umd.min.js +2 -2
- package/lib/formatColor/index.umd.d.ts +3 -0
- package/lib/formatColor/index.umd.js +2 -2
- package/lib/formatColor/index.umd.min.d.ts +3 -0
- package/lib/formatColor/index.umd.min.js +2 -2
- package/lib/getLoopColors/index.umd.d.ts +3 -0
- package/lib/getLoopColors/index.umd.js +2 -2
- package/lib/getLoopColors/index.umd.min.d.ts +3 -0
- package/lib/getLoopColors/index.umd.min.js +2 -2
- package/lib/getWebGLContext/index.umd.d.ts +3 -0
- package/lib/getWebGLContext/index.umd.js +25 -7
- package/lib/getWebGLContext/index.umd.min.d.ts +3 -0
- package/lib/getWebGLContext/index.umd.min.js +3 -3
- package/lib/index.umd.js +112 -20
- package/lib/index.umd.min.js +3 -3
- package/lib/move/index.umd.d.ts +3 -0
- package/lib/move/index.umd.js +2 -2
- package/lib/move/index.umd.min.d.ts +3 -0
- package/lib/move/index.umd.min.js +2 -2
- package/lib/resizeObserver/index.umd.d.ts +3 -0
- package/lib/resizeObserver/index.umd.js +2 -2
- package/lib/resizeObserver/index.umd.min.d.ts +3 -0
- package/lib/resizeObserver/index.umd.min.js +2 -2
- package/lib/rotate/index.umd.d.ts +3 -0
- package/lib/rotate/index.umd.js +2 -2
- package/lib/rotate/index.umd.min.d.ts +3 -0
- package/lib/rotate/index.umd.min.js +2 -2
- package/lib/ruler/index.umd.d.ts +3 -0
- package/lib/ruler/index.umd.js +2 -2
- package/lib/ruler/index.umd.min.d.ts +3 -0
- package/lib/ruler/index.umd.min.js +2 -2
- package/lib/scale/index.umd.d.ts +3 -0
- package/lib/scale/index.umd.js +2 -2
- package/lib/scale/index.umd.min.d.ts +3 -0
- package/lib/scale/index.umd.min.js +2 -2
- package/lib/throttle/index.umd.d.ts +3 -0
- package/lib/throttle/index.umd.js +2 -2
- package/lib/throttle/index.umd.min.d.ts +3 -0
- package/lib/throttle/index.umd.min.js +2 -2
- package/lib/viewHandler/index.umd.d.ts +3 -0
- package/lib/viewHandler/index.umd.js +2 -2
- package/lib/viewHandler/index.umd.min.d.ts +3 -0
- package/lib/viewHandler/index.umd.min.js +2 -2
- package/package/getWebGLContext/index.ts +40 -39
- package/package.json +1 -1
- package/src/Canvas.ts +2 -2
- package/src/Geometry.ts +65 -1
- package/src/WebGL.ts +66 -66
- package/src/common/canvas/painter.ts +26 -0
- package/src/common/geometry/prism-horizontal.ts +50 -35
- package/src/common/geometry/prism-vertical.ts +55 -40
- package/src/common/geometry/tool/circle.ts +17 -11
- package/src/common/geometry/tool/rotateLine.ts +48 -35
- package/src/common/webgl/getWebGLContext.ts +45 -28
- package/src/common/webgl/index.ts +227 -226
- package/src/common/webgl/shader.ts +75 -75
- package/types/Canvas.d.ts +318 -308
- package/types/Geometry.d.ts +132 -65
- package/types/Object3D.d.ts +114 -114
- package/types/Shader.d.ts +23 -23
- package/types/WebGLOption.d.ts +14 -7
- package/types/getWebGLContext.d.ts +4 -2
- package/uni-app/drawImage.js +18 -0
- package/uni-app/ui-canvas.vue +10 -1
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* VISLite JavaScript Library v0.
|
|
2
|
+
* VISLite JavaScript Library v0.8.0-alpha.0
|
|
3
3
|
* git+https://github.com/oi-contrib/VISLite.git
|
|
4
4
|
*
|
|
5
5
|
* Copyright zxl20070701
|
|
6
6
|
* Released under the MIT license
|
|
7
7
|
* https://zxl20070701.github.io/notebook/home.html
|
|
8
8
|
*
|
|
9
|
-
* Publish Date:
|
|
9
|
+
* Publish Date: Tue Feb 13 2024 21:00:43 GMT+0800 (中国标准时间)
|
|
10
10
|
*/
|
|
11
11
|
(function (global, factory) {
|
|
12
12
|
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
|
|
@@ -14,8 +14,9 @@
|
|
|
14
14
|
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.VISLite_Geometry = factory());
|
|
15
15
|
})(this, (function () { 'use strict';
|
|
16
16
|
|
|
17
|
-
var splitNum = function (precision, radius) {
|
|
18
|
-
|
|
17
|
+
var splitNum = function (precision, radius, deg) {
|
|
18
|
+
if (deg === void 0) { deg = Math.PI * 2; }
|
|
19
|
+
var num = Math.ceil(deg /
|
|
19
20
|
Math.asin(precision / radius) * 2);
|
|
20
21
|
return (isNaN(num) || num < 12) ? 12 : num;
|
|
21
22
|
};
|
|
@@ -28,7 +29,9 @@
|
|
|
28
29
|
];
|
|
29
30
|
}
|
|
30
31
|
|
|
31
|
-
function prismHorizontal (normal, x, y, z, radius, num, d) {
|
|
32
|
+
function prismHorizontal (normal, x, y, z, radius, num, d, beginDeg, deg) {
|
|
33
|
+
if (beginDeg === void 0) { beginDeg = 0; }
|
|
34
|
+
if (deg === void 0) { deg = Math.PI * 2; }
|
|
32
35
|
var beginX, beginZ;
|
|
33
36
|
if (num == 4) {
|
|
34
37
|
var temp = radius / 1.414;
|
|
@@ -40,8 +43,11 @@
|
|
|
40
43
|
beginZ = z;
|
|
41
44
|
}
|
|
42
45
|
var point = [beginX, beginZ];
|
|
46
|
+
if (beginDeg != 0) {
|
|
47
|
+
point = rotate(x, z, beginDeg, beginX, beginZ);
|
|
48
|
+
}
|
|
43
49
|
var points = [];
|
|
44
|
-
var
|
|
50
|
+
var perDeg = deg / num;
|
|
45
51
|
for (var i = 0; i < num; i++) {
|
|
46
52
|
points.push(x, y, z);
|
|
47
53
|
if (normal)
|
|
@@ -49,7 +55,7 @@
|
|
|
49
55
|
points.push(point[0], y, point[1]);
|
|
50
56
|
if (normal)
|
|
51
57
|
points.push(0, d, 0);
|
|
52
|
-
point = rotate(x, z,
|
|
58
|
+
point = rotate(x, z, perDeg * (i + 1), beginX, beginZ);
|
|
53
59
|
points.push(point[0], y, point[1]);
|
|
54
60
|
if (normal)
|
|
55
61
|
points.push(0, d, 0);
|
|
@@ -89,7 +95,9 @@
|
|
|
89
95
|
return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
|
|
90
96
|
};
|
|
91
97
|
|
|
92
|
-
function prismVertical (normal, x, y, z, radius, height, num) {
|
|
98
|
+
function prismVertical (normal, x, y, z, radius, height, num, beginDeg, deg) {
|
|
99
|
+
if (beginDeg === void 0) { beginDeg = 0; }
|
|
100
|
+
if (deg === void 0) { deg = Math.PI * 2; }
|
|
93
101
|
var points = [];
|
|
94
102
|
var beginPosition;
|
|
95
103
|
if (num == 4) {
|
|
@@ -98,10 +106,13 @@
|
|
|
98
106
|
else {
|
|
99
107
|
beginPosition = [x + radius, z];
|
|
100
108
|
}
|
|
101
|
-
|
|
109
|
+
if (beginDeg != 0) {
|
|
110
|
+
beginPosition = rotate.apply(void 0, __spreadArray([x, z, beginDeg], beginPosition, false));
|
|
111
|
+
}
|
|
112
|
+
var perDeg = deg / num, degHalf = deg / (num * 2);
|
|
102
113
|
var endPosition, normalPosition = [];
|
|
103
114
|
for (var i = 0; i < num; i++) {
|
|
104
|
-
endPosition = rotate.apply(void 0, __spreadArray([x, z,
|
|
115
|
+
endPosition = rotate.apply(void 0, __spreadArray([x, z, perDeg], beginPosition, false));
|
|
105
116
|
if (normal) {
|
|
106
117
|
var halfPosition = rotate.apply(void 0, __spreadArray([x, z, degHalf], beginPosition, false));
|
|
107
118
|
normalPosition = [halfPosition[0], 0, halfPosition[1]];
|
|
@@ -156,6 +167,8 @@
|
|
|
156
167
|
|
|
157
168
|
function rotateLineFactory (x, y, z, x2, y2, z2) {
|
|
158
169
|
return function (x0, y0, z0, isNormal) {
|
|
170
|
+
if (x == x2 && z == z2)
|
|
171
|
+
return [x0, y0, z0];
|
|
159
172
|
var sin, cos, temp;
|
|
160
173
|
var _x0 = x0 - (isNormal ? 0 : x), _y0 = y0 - (isNormal ? 0 : y), _z0 = z0 - (isNormal ? 0 : z);
|
|
161
174
|
var _x2 = x2 - x, _y2 = y2 - y, _z2 = z2 - z;
|
|
@@ -193,6 +206,43 @@
|
|
|
193
206
|
}
|
|
194
207
|
return this;
|
|
195
208
|
};
|
|
209
|
+
Geometry.prototype.splitNum = function (radius, deg) {
|
|
210
|
+
return splitNum(this.__option.precision, radius, deg);
|
|
211
|
+
};
|
|
212
|
+
Geometry.prototype.rotateLine = function (x1, y1, z1, x2, y2, z2) {
|
|
213
|
+
var _this = this;
|
|
214
|
+
var rotateLine = rotateLineFactory(x1, y1, z1, x2, y2, z2);
|
|
215
|
+
return function (x, y, z) { return rotateLine(x, y, z, _this.__option.normal); };
|
|
216
|
+
};
|
|
217
|
+
Geometry.prototype.prismHorizontal = function (x, y, z, radius, num, d, beginDeg, deg) {
|
|
218
|
+
return prismHorizontal(this.__option.normal, x, y, z, radius, num, d, beginDeg, deg);
|
|
219
|
+
};
|
|
220
|
+
Geometry.prototype.prismVertical = function (x, y, z, radius, height, num, beginDeg, deg) {
|
|
221
|
+
return prismVertical(this.__option.normal, x, y, z, radius, height, num, beginDeg, deg);
|
|
222
|
+
};
|
|
223
|
+
Geometry.prototype.sphereFragment = function (cx, cy, cz, radius, num, index) {
|
|
224
|
+
return sphereFragment(this.__option.normal, cx, cy, cz, radius, num, index);
|
|
225
|
+
};
|
|
226
|
+
Geometry.prototype.pie = function (x, y, z, radius, height, beginDeg, deg) {
|
|
227
|
+
var num = splitNum(this.__option.precision, radius, deg);
|
|
228
|
+
var result = [{
|
|
229
|
+
name: "bottom",
|
|
230
|
+
points: prismHorizontal(this.__option.normal, x, y, z, radius, num, height > 0 ? -1 : 1, beginDeg, deg),
|
|
231
|
+
length: 3 * num,
|
|
232
|
+
method: "TRIANGLES"
|
|
233
|
+
}, {
|
|
234
|
+
name: "top",
|
|
235
|
+
points: prismHorizontal(this.__option.normal, x, y + height, z, radius, num, height > 0 ? 1 : -1, beginDeg, deg),
|
|
236
|
+
length: 3 * num,
|
|
237
|
+
method: "TRIANGLES"
|
|
238
|
+
}, {
|
|
239
|
+
name: "side",
|
|
240
|
+
points: prismVertical(this.__option.normal, x, y, z, radius, height, num, beginDeg, deg),
|
|
241
|
+
length: 6 * num,
|
|
242
|
+
method: "TRIANGLES"
|
|
243
|
+
}];
|
|
244
|
+
return result;
|
|
245
|
+
};
|
|
196
246
|
Geometry.prototype.cylinder = function (x, y, z, radius, x2, y2, z2) {
|
|
197
247
|
var num = splitNum(this.__option.precision, radius);
|
|
198
248
|
if (arguments.length == 5) {
|
|
@@ -210,7 +260,7 @@
|
|
|
210
260
|
num = y2;
|
|
211
261
|
}
|
|
212
262
|
else {
|
|
213
|
-
height = Math.sqrt((x2 - x) * (x2 - x) + (y2 - y) * (y2 - y) + (z2 - z) * (z2 - z));
|
|
263
|
+
height = (y > y2 ? -1 : 1) * Math.sqrt((x2 - x) * (x2 - x) + (y2 - y) * (y2 - y) + (z2 - z) * (z2 - z));
|
|
214
264
|
rotateLine = rotateLineFactory(x, y, z, x2, y2, z2);
|
|
215
265
|
}
|
|
216
266
|
var result = [{
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* VISLite JavaScript Library v0.
|
|
2
|
+
* VISLite JavaScript Library v0.8.0-alpha.0
|
|
3
3
|
* git+https://github.com/oi-contrib/VISLite.git
|
|
4
4
|
*
|
|
5
5
|
* Copyright zxl20070701
|
|
6
6
|
* Released under the MIT license
|
|
7
7
|
* https://zxl20070701.github.io/notebook/home.html
|
|
8
8
|
*
|
|
9
|
-
* Publish Date:
|
|
9
|
+
* Publish Date: Tue Feb 13 2024 21:00:43 GMT+0800 (中国标准时间)
|
|
10
10
|
*/
|
|
11
|
-
var t,
|
|
11
|
+
var t,o;t=this,o=function(){"use strict";var t=function(t,o,n){void 0===n&&(n=2*Math.PI);var r=Math.ceil(n/Math.asin(t/o)*2);return isNaN(r)||r<12?12:r};function o(t,o,n,r,i){var p=Math.cos(n),e=Math.sin(n);return[(r-t)*p-(i-o)*e+t,(r-t)*e+(i-o)*p+o]}function n(t,n,r,i,p,e,s,a,h){var u,l;if(void 0===a&&(a=0),void 0===h&&(h=2*Math.PI),4==e){var f=p/1.414;u=n+f,l=i+f}else u=n+p,l=i;var c=[u,l];0!=a&&(c=o(n,i,a,u,l));for(var m=[],_=h/e,v=0;v<e;v++)m.push(n,r,i),t&&m.push(0,s,0),m.push(c[0],r,c[1]),t&&m.push(0,s,0),c=o(n,i,_*(v+1),u,l),m.push(c[0],r,c[1]),t&&m.push(0,s,0);return m}function r(t,o,n){if(n||2===arguments.length)for(var r,i=0,p=o.length;i<p;i++)!r&&i in o||(r||(r=Array.prototype.slice.call(o,0,i)),r[i]=o[i]);return t.concat(r||Array.prototype.slice.call(o))}function i(t,n,i,p,e,s,a,h,u){void 0===h&&(h=0),void 0===u&&(u=2*Math.PI);var l,f=[];l=4==a?o(n,p,.25*Math.PI,n-e,p):[n+e,p],0!=h&&(l=o.apply(void 0,r([n,p,h],l,!1)));for(var c,m=u/a,_=u/(2*a),v=[],y=0;y<a;y++){if(c=o.apply(void 0,r([n,p,m],l,!1)),t){var d=o.apply(void 0,r([n,p,_],l,!1));v=[d[0],0,d[1]]}f.push.apply(f,r([l[0],i,l[1]],v,!1)),f.push.apply(f,r([l[0],i+s,l[1]],v,!1)),f.push.apply(f,r([c[0],i+s,c[1]],v,!1)),f.push.apply(f,r([l[0],i,l[1]],v,!1)),f.push.apply(f,r([c[0],i,c[1]],v,!1)),f.push.apply(f,r([c[0],i+s,c[1]],v,!1)),l=c}return f}function p(t,n,r,i,p,e,s){var a,h=[n,r+p,i],u=2*Math.PI/e;t&&h.push(0,p,0);for(var l=function(){h.push.apply(h,h.slice(h.length-(t?12:6)))},f=1;f<.5*e;f++){a=o(n,r,u*f,n,r+p),f>1&&l();var c=o(n,i,u*s,a[0],i);h.push(c[0],a[1],c[1]),t&&h.push(c[0]-n,a[1]-r,c[1]-i),f>1&&l();var m=o(n,i,u*(s+1),a[0],i);h.push(m[0],a[1],m[1]),t&&h.push(m[0]-n,m[1]-r,m[1]-i)}return l(),h.push(n,r-p,i),t&&h.push(0,-p,0),h}function e(t,o,n,r,i,p){return function(e,s,a,h){if(t==r&&n==p)return[e,s,a];var u,l,f,c=e-(h?0:t),m=s-(h?0:o),_=a-(h?0:n),v=r-t,y=i-o,d=p-n,g=Math.sqrt(v*v+d*d),I=d*(u=d/g)+v*(l=v/g),M=Math.sqrt(y*y+I*I);return u=I/M,m=(f=[m,c])[0]*(l=y/M)-f[1]*u,c=f[0]*u+f[1]*l,u=d/g,c=(f=[c,_])[0]*(l=v/g)-f[1]*u,_=f[0]*u+f[1]*l,[c+(h?0:t),m+(h?0:o),_+(h?0:n)]}}"function"==typeof SuppressedError&&SuppressedError;var s=function(){function o(t){void 0===t&&(t={}),this.name="Geometry",this.__option=function(t,o){for(var n in t)o[n]=t[n];return o}(t,{precision:.1,normal:!1})}return o.prototype.config=function(t){for(var o in t)this.__option[o]=t[o];return this},o.prototype.splitNum=function(o,n){return t(this.__option.precision,o,n)},o.prototype.rotateLine=function(t,o,n,r,i,p){var s=this,a=e(t,o,n,r,i,p);return function(t,o,n){return a(t,o,n,s.__option.normal)}},o.prototype.prismHorizontal=function(t,o,r,i,p,e,s,a){return n(this.__option.normal,t,o,r,i,p,e,s,a)},o.prototype.prismVertical=function(t,o,n,r,p,e,s,a){return i(this.__option.normal,t,o,n,r,p,e,s,a)},o.prototype.sphereFragment=function(t,o,n,r,i,e){return p(this.__option.normal,t,o,n,r,i,e)},o.prototype.pie=function(o,r,p,e,s,a,h){var u=t(this.__option.precision,e,h);return[{name:"bottom",points:n(this.__option.normal,o,r,p,e,u,s>0?-1:1,a,h),length:3*u,method:"TRIANGLES"},{name:"top",points:n(this.__option.normal,o,r+s,p,e,u,s>0?1:-1,a,h),length:3*u,method:"TRIANGLES"},{name:"side",points:i(this.__option.normal,o,r,p,e,s,u,a,h),length:6*u,method:"TRIANGLES"}]},o.prototype.cylinder=function(o,n,r,i,p,e,s){var a=t(this.__option.precision,i);return 5==arguments.length?this.prism(o,n,r,i,p,a):this.prism(o,n,r,i,p,e,s,a)},o.prototype.prism=function(t,o,r,p,s,a,h,u){var l,f,c,m,_=null;6==arguments.length?(m=s,u=a):(m=(o>a?-1:1)*Math.sqrt((s-t)*(s-t)+(a-o)*(a-o)+(h-r)*(h-r)),_=e(t,o,r,s,a,h));var v=[{name:"bottom",points:[],length:0,method:"TRIANGLES"},{name:"top",points:[],length:0,method:"TRIANGLES"},{name:"side",points:[],length:0,method:"TRIANGLES"}];(l=v[0].points).push.apply(l,n(this.__option.normal,t,o,r,p,u,m>0?-1:1)),(f=v[1].points).push.apply(f,n(this.__option.normal,t,o+m,r,p,u,m>0?1:-1)),(c=v[2].points).push.apply(c,i(this.__option.normal,t,o,r,p,m,u));for(var y=0;y<v.length;y++){if(_){for(var d=[],g=!1,I=0;I<v[y].points.length;I+=3)d.push.apply(d,_(v[y].points[I],v[y].points[I+1],v[y].points[I+2],this.__option.normal&&g)),g=!g;v[y].points=d}v[y].length=v[y].points.length/(this.__option.normal?6:3)}return v},o.prototype.sphere=function(o,n,r,i){for(var e,s=t(this.__option.precision,i),a=[{name:"surface",points:[],length:0,method:"TRIANGLES"}],h=0;h<s;h++)(e=a[0].points).push.apply(e,p(this.__option.normal,o,n,r,i,s,h));return a[0].length=a[0].points.length/(this.__option.normal?6:3),a},o}();return s},"object"==typeof exports&&"undefined"!=typeof module?module.exports=o():"function"==typeof define&&define.amd?define(o):(t="undefined"!=typeof globalThis?globalThis:t||self).VISLite_Geometry=o();
|
package/lib/Hermite/index.umd.js
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* VISLite JavaScript Library v0.
|
|
2
|
+
* VISLite JavaScript Library v0.8.0-alpha.0
|
|
3
3
|
* git+https://github.com/oi-contrib/VISLite.git
|
|
4
4
|
*
|
|
5
5
|
* Copyright zxl20070701
|
|
6
6
|
* Released under the MIT license
|
|
7
7
|
* https://zxl20070701.github.io/notebook/home.html
|
|
8
8
|
*
|
|
9
|
-
* Publish Date:
|
|
9
|
+
* Publish Date: Tue Feb 13 2024 21:00:43 GMT+0800 (中国标准时间)
|
|
10
10
|
*/
|
|
11
11
|
(function (global, factory) {
|
|
12
12
|
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* VISLite JavaScript Library v0.
|
|
2
|
+
* VISLite JavaScript Library v0.8.0-alpha.0
|
|
3
3
|
* git+https://github.com/oi-contrib/VISLite.git
|
|
4
4
|
*
|
|
5
5
|
* Copyright zxl20070701
|
|
6
6
|
* Released under the MIT license
|
|
7
7
|
* https://zxl20070701.github.io/notebook/home.html
|
|
8
8
|
*
|
|
9
|
-
* Publish Date:
|
|
9
|
+
* Publish Date: Tue Feb 13 2024 21:00:43 GMT+0800 (中国标准时间)
|
|
10
10
|
*/
|
|
11
11
|
var t,i;t=this,i=function(){"use strict";return function(){function t(t){void 0===t&&(t=.5),this.name="Hermite",this.__u=t}return t.prototype.setP=function(t,i,e,o,s,_){if(!(t<e))throw new Error("The point x-position should be increamented!");this.__a=t,this.__b=e;var n=this.__u*s,r=this.__u*_;return i/=e-t,o/=e-t,this.__MR=[2*i-2*o+n+r,3*o-3*i-2*n-r,n,i],this},t.prototype.use=function(t){if(this.__MR){var i=(t-this.__a)/(this.__b-this.__a),e=i*i;return(i*e*this.__MR[0]+e*this.__MR[1]+i*this.__MR[2]+this.__MR[3])*(this.__b-this.__a)}throw new Error("You shoud first set the position!")},t}()},"object"==typeof exports&&"undefined"!=typeof module?module.exports=i():"function"==typeof define&&define.amd?define(i):(t="undefined"!=typeof globalThis?globalThis:t||self).VISLite_Hermite=i();
|
package/lib/Matrix4/index.umd.js
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* VISLite JavaScript Library v0.
|
|
2
|
+
* VISLite JavaScript Library v0.8.0-alpha.0
|
|
3
3
|
* git+https://github.com/oi-contrib/VISLite.git
|
|
4
4
|
*
|
|
5
5
|
* Copyright zxl20070701
|
|
6
6
|
* Released under the MIT license
|
|
7
7
|
* https://zxl20070701.github.io/notebook/home.html
|
|
8
8
|
*
|
|
9
|
-
* Publish Date:
|
|
9
|
+
* Publish Date: Tue Feb 13 2024 21:00:43 GMT+0800 (中国标准时间)
|
|
10
10
|
*/
|
|
11
11
|
(function (global, factory) {
|
|
12
12
|
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* VISLite JavaScript Library v0.
|
|
2
|
+
* VISLite JavaScript Library v0.8.0-alpha.0
|
|
3
3
|
* git+https://github.com/oi-contrib/VISLite.git
|
|
4
4
|
*
|
|
5
5
|
* Copyright zxl20070701
|
|
6
6
|
* Released under the MIT license
|
|
7
7
|
* https://zxl20070701.github.io/notebook/home.html
|
|
8
8
|
*
|
|
9
|
-
* Publish Date:
|
|
9
|
+
* Publish Date: Tue Feb 13 2024 21:00:43 GMT+0800 (中国标准时间)
|
|
10
10
|
*/
|
|
11
11
|
var t,r;t=this,r=function(){"use strict";var t=function(t,r){for(var i=[],e=0;e<4;e++)for(var o=0;o<r.length/4;o++)i[4*o+e]=t[e]*r[4*o]+t[e+4]*r[4*o+1]+t[e+8]*r[4*o+2]+t[e+12]*r[4*o+3];return i},r=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];return function(){function i(t){void 0===t&&(t=r),this.name="Matrix4",this.__matrix4=t}return i.prototype.setValue=function(t){return void 0===t&&(t=r),this.__matrix4=t,this},i.prototype.move=function(r,i,e,o){return void 0===o&&(o=0),this.__matrix4=t(function(t,r,i,e){void 0===e&&(e=0);var o=Math.sqrt(r*r+i*i+e*e);return[1,0,0,0,0,1,0,0,0,0,1,0,r*t/o,i*t/o,e*t/o,1]}(r,i,e,o),this.__matrix4),this},i.prototype.rotate=function(r,i,e,o,n,u,a){var s=function(t,r,i,e,o,n){if("number"==typeof t&&"number"==typeof r){if("number"!=typeof i?(i=0,e=t,o=r,n=1):"number"==typeof e&&"number"==typeof o&&"number"==typeof n||(e=t,o=r,n=i,t=0,r=0,i=0),t==e&&r==o&&i==n)throw new Error("It's not a legitimate ray!");var u=Math.sqrt((e-t)*(e-t)+(o-r)*(o-r)),a=0!=u?(o-r)/u:1,s=0!=u?(e-t)/u:0,f=(e-t)*s+(o-r)*a,h=n-i,p=Math.sqrt(f*f+h*h),_=0!=p?h/p:1,m=0!=p?f/p:0;return[[a,_*s,s*m,0,-s,a*_,a*m,0,0,-m,_,0,r*s-t*a,i*m-t*s*_-r*a*_,-t*s*m-r*a*m-i*_,1],[a,-s,0,0,_*s,_*a,-m,0,s*m,a*m,_,0,t,r,i,1]]}throw new Error("a1 and b1 is required!")}(i,e,o,n,u,a);return this.__matrix4=t(t(t(s[1],function(t){var r=Math.sin(t),i=Math.cos(t);return[i,r,0,0,-r,i,0,0,0,0,1,0,0,0,0,1]}(r)),s[0]),this.__matrix4),this},i.prototype.scale=function(r,i,e,o,n,u){return void 0===o&&(o=0),void 0===n&&(n=0),void 0===u&&(u=0),this.__matrix4=t(function(t,r,i,e,o,n){return void 0===e&&(e=0),void 0===o&&(o=0),void 0===n&&(n=0),[t,0,0,0,0,r,0,0,0,0,i,0,e-e*t,o-o*r,n-n*i,1]}(r,i,e,o,n,u),this.__matrix4),this},i.prototype.multiply=function(r,i){return void 0===i&&(i=!1),this.__matrix4=i?t(this.__matrix4,r):t(r,this.__matrix4),this},i.prototype.use=function(r,i,e,o){return void 0===e&&(e=0),void 0===o&&(o=1),t(this.__matrix4,[r,i,e,o])},i.prototype.value=function(){return this.__matrix4},i}()},"object"==typeof exports&&"undefined"!=typeof module?module.exports=r():"function"==typeof define&&define.amd?define(r):(t="undefined"!=typeof globalThis?globalThis:t||self).VISLite_Matrix4=r();
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* VISLite JavaScript Library v0.
|
|
2
|
+
* VISLite JavaScript Library v0.8.0-alpha.0
|
|
3
3
|
* git+https://github.com/oi-contrib/VISLite.git
|
|
4
4
|
*
|
|
5
5
|
* Copyright zxl20070701
|
|
6
6
|
* Released under the MIT license
|
|
7
7
|
* https://zxl20070701.github.io/notebook/home.html
|
|
8
8
|
*
|
|
9
|
-
* Publish Date:
|
|
9
|
+
* Publish Date: Tue Feb 13 2024 21:00:43 GMT+0800 (中国标准时间)
|
|
10
10
|
*/
|
|
11
11
|
(function (global, factory) {
|
|
12
12
|
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* VISLite JavaScript Library v0.
|
|
2
|
+
* VISLite JavaScript Library v0.8.0-alpha.0
|
|
3
3
|
* git+https://github.com/oi-contrib/VISLite.git
|
|
4
4
|
*
|
|
5
5
|
* Copyright zxl20070701
|
|
6
6
|
* Released under the MIT license
|
|
7
7
|
* https://zxl20070701.github.io/notebook/home.html
|
|
8
8
|
*
|
|
9
|
-
* Publish Date:
|
|
9
|
+
* Publish Date: Tue Feb 13 2024 21:00:43 GMT+0800 (中国标准时间)
|
|
10
10
|
*/
|
|
11
11
|
var e,t;e=this,t=function(){"use strict";return function(e,t){void 0===e&&(e=7),void 0===t&&(t=[107,36]),this.name="Mercator";var o=100*e*Math.PI/180,i=o*t[0],n=-1*o*t[1];this.use=function(e,t){return[.8*(o*e-i),-1*o*t-n,0]}}},"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).VISLite_Mercator=t();
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* VISLite JavaScript Library v0.
|
|
2
|
+
* VISLite JavaScript Library v0.8.0-alpha.0
|
|
3
3
|
* git+https://github.com/oi-contrib/VISLite.git
|
|
4
4
|
*
|
|
5
5
|
* Copyright zxl20070701
|
|
6
6
|
* Released under the MIT license
|
|
7
7
|
* https://zxl20070701.github.io/notebook/home.html
|
|
8
8
|
*
|
|
9
|
-
* Publish Date:
|
|
9
|
+
* Publish Date: Tue Feb 13 2024 21:00:43 GMT+0800 (中国标准时间)
|
|
10
10
|
*/
|
|
11
11
|
/******************************************************************************
|
|
12
12
|
Copyright (c) Microsoft Corporation.
|
|
@@ -490,6 +490,30 @@ var Painter = (function () {
|
|
|
490
490
|
return this;
|
|
491
491
|
};
|
|
492
492
|
Painter.prototype.draw = function () { };
|
|
493
|
+
Painter.prototype.drawImage = function (img, x, y, w, h, isUniapp) {
|
|
494
|
+
var _this = this;
|
|
495
|
+
if (isUniapp === void 0) { isUniapp = false; }
|
|
496
|
+
return new Promise(function (resolve) {
|
|
497
|
+
if (_this.__region) {
|
|
498
|
+
_this.__region.fillRect(x, y, w, h);
|
|
499
|
+
resolve({});
|
|
500
|
+
}
|
|
501
|
+
if (_this.__isPainter && _this.__onlyRegion)
|
|
502
|
+
return _this;
|
|
503
|
+
if (typeof img == 'string' && !isUniapp) {
|
|
504
|
+
var imgInstance_1 = new Image();
|
|
505
|
+
imgInstance_1.onload = function () {
|
|
506
|
+
_this.painter.drawImage(imgInstance_1, x, y, w, h);
|
|
507
|
+
resolve({});
|
|
508
|
+
};
|
|
509
|
+
imgInstance_1.src = img;
|
|
510
|
+
}
|
|
511
|
+
else {
|
|
512
|
+
_this.painter.drawImage(img, x, y, w, h);
|
|
513
|
+
resolve({});
|
|
514
|
+
}
|
|
515
|
+
});
|
|
516
|
+
};
|
|
493
517
|
return Painter;
|
|
494
518
|
}());
|
|
495
519
|
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* VISLite JavaScript Library v0.
|
|
2
|
+
* VISLite JavaScript Library v0.8.0-alpha.0
|
|
3
3
|
* git+https://github.com/oi-contrib/VISLite.git
|
|
4
4
|
*
|
|
5
5
|
* Copyright zxl20070701
|
|
6
6
|
* Released under the MIT license
|
|
7
7
|
* https://zxl20070701.github.io/notebook/home.html
|
|
8
8
|
*
|
|
9
|
-
* Publish Date:
|
|
9
|
+
* Publish Date: Tue Feb 13 2024 21:00:43 GMT+0800 (中国标准时间)
|
|
10
10
|
*/
|
|
11
|
-
var t=function(i,e){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,i){t.__proto__=i}||function(t,i){for(var e in i)Object.prototype.hasOwnProperty.call(i,e)&&(t[e]=i[e])},t(i,e)};"function"==typeof SuppressedError&&SuppressedError;var i=function(t,i,e,n,r){var o=Math.cos(e),s=Math.sin(e);return[+((n-t)*o-(r-i)*s+t).toFixed(7),+((n-t)*s+(r-i)*o+i).toFixed(7)]};var e=function(t,i,e,n,r){return t.beginPath(),t.translate(e,n),t.rotate(r),t.font=i.fontStyle+" "+i.fontWeight+" "+i.fontSize+"px "+i.fontFamily,t},n=function(t,e,n,r,o,s,_,a){if(o>s){var h=o;o=s,s=h}return _%=2*Math.PI,a>=1.999999*Math.PI||a<=1.999999*-Math.PI?a=2*Math.PI:a%=2*Math.PI,function(t,e,n,r,o,s,_){e<0&&(t+=e,e*=-1);var a,h=[];a=i(0,0,t,o,0),h[0]=a[0],h[1]=a[1],a=i(0,0,e,a[0],a[1]),h[2]=a[0],h[3]=a[1],a=i(0,0,t,s,0),h[4]=a[0],h[5]=a[1],a=i(0,0,e,a[0],a[1]),h[6]=a[0],h[7]=a[1],_(t,t+e,h[0]+n,h[1]+r,h[4]+n,h[5]+r,h[2]+n,h[3]+r,h[6]+n,h[7]+r,.5*(s-o))}(_,a,n,r,o,s,(function(i,_,a,h,l,p,f,u,c,g,y){y<0&&(y=-y),t.beginPath(),t.moveTo(a,h),t.arc(n,r,o,i,_,!1),"round"==e.arcEndCap?t.arc(.5*(f+c),.5*(u+g),y,_-Math.PI,_,!0):"-round"==e.arcEndCap?t.arc(.5*(f+c),.5*(u+g),y,_-Math.PI,_,!1):t.lineTo(c,g),t.arc(n,r,s,_,i,!0),"round"==e.arcStartCap?t.arc(.5*(a+l),.5*(h+p),y,i,i-Math.PI,!0):"-round"==e.arcStartCap?t.arc(.5*(a+l),.5*(h+p),y,i,i-Math.PI,!1):t.lineTo(a,h)})),"butt"==e.arcStartCap&&t.closePath(),t},r=function(t,i,e,n){return t.beginPath(),t.moveTo(i+n,e),t.arc(i,e,n,0,2*Math.PI),t},o=function(t,i,e,n,r){return t.beginPath(),t.rect(i,e,n,r),t};function s(t,i,e,n,r){for(var o=0,s="",_=0;_<i.length;_++)t.measureText(s+i[_]).width>e||/\n$/.test(s)?(r(s,((o+=1)-.5)*n),s=i[_]):_==i.length-1?(o+=1,r(s+i[_],(o-.5)*n)):s+=i[_];return o*n}var _=function(){function t(t,i,e,n,r){void 0===i&&(i={}),void 0===n&&(n=!1),this.__region=null,this.__onlyRegion=!1,this.__specialConfig={fontSize:16,fontFamily:"sans-serif",fontWeight:400,fontStyle:"normal",arcStartCap:"butt",arcEndCap:"butt"},this.__initConfig={fillStyle:"black",strokeStyle:"black",lineWidth:1,textAlign:"left",textBaseline:"middle",lineDash:[],shadowBlur:0,shadowColor:"black"},this.painter=t.getContext("2d",i),this.__region=e,this.__isPainter=n,this.painter.textBaseline="middle",this.painter.textAlign="left"}return t.prototype.useConfig=function(t,i){if(this.__region&&["fillStyle","strokeStyle","shadowBlur","shadowColor"].indexOf(t)<0&&this.__region.useConfig(t,i),this.__isPainter&&this.__onlyRegion)return this;if("lineDash"==t)this.painter.setLineDash&&this.painter.setLineDash(i);else if(t in this.__specialConfig)"fontSize"==t&&(i=Math.round(i)),this.__specialConfig[t]=i;else{if(!(t in this.__initConfig))throw new Error("Illegal configuration item of painter : "+t+" !");this.painter[t]=i}return this},t.prototype.fillText=function(t,i,n,r){return void 0===r&&(r=0),this.__region&&this.__region.fillText(t,i,n,r),this.__isPainter&&this.__onlyRegion||(this.painter.save(),e(this.painter,this.__specialConfig,i,n,r).fillText(t,0,0),this.painter.restore()),this},t.prototype.strokeText=function(t,i,n,r){return void 0===r&&(r=0),this.__region&&this.__region.strokeText(t,i,n,r),this.__isPainter&&this.__onlyRegion||(this.painter.save(),e(this.painter,this.__specialConfig,i,n,r).strokeText(t,0,0),this.painter.restore()),this},t.prototype.fullText=function(t,i,n,r){return void 0===r&&(r=0),this.__region&&this.__region.fullText(t,i,n,r),this.__isPainter&&this.__onlyRegion||(this.painter.save(),e(this.painter,this.__specialConfig,i,n,r),this.painter.fillText(t,0,0),this.painter.strokeText(t,0,0),this.painter.restore()),this},t.prototype.fillTexts=function(t,i,n,r,o,_){var a=this;void 0===o&&(o=1.2),void 0===_&&(_=0);var h=0;if(this.__region&&(h=this.__region.fillTexts(t,i,n,r,o)),this.__isPainter&&this.__onlyRegion)return h;this.painter.save(),e(this.painter,this.__specialConfig,i,n,_);var l=s(this.painter,t,r,this.__specialConfig.fontSize*o,(function(t,i){a.painter.fillText(t,0,i)}));return this.painter.restore(),l},t.prototype.strokeTexts=function(t,i,n,r,o,_){var a=this;void 0===o&&(o=1.2),void 0===_&&(_=0);var h=0;if(this.__region&&(h=this.__region.fillTexts(t,i,n,r,o)),this.__isPainter&&this.__onlyRegion)return h;this.painter.save(),e(this.painter,this.__specialConfig,i,n,_);var l=s(this.painter,t,r,this.__specialConfig.fontSize*o,(function(t,i){a.painter.strokeText(t,0,i)}));return this.painter.restore(),l},t.prototype.fullTexts=function(t,i,n,r,o,_){var a=this;void 0===o&&(o=1.2),void 0===_&&(_=0);var h=0;if(this.__region&&(h=this.__region.fillTexts(t,i,n,r,o)),this.__isPainter&&this.__onlyRegion)return h;this.painter.save(),e(this.painter,this.__specialConfig,i,n,_);var l=s(this.painter,t,r,this.__specialConfig.fontSize*o,(function(t,i){a.painter.fillText(t,0,i),a.painter.strokeText(t,0,i)}));return this.painter.restore(),l},t.prototype.beginPath=function(){return this.__region&&this.__region.beginPath(),this.__isPainter&&this.__onlyRegion||this.painter.beginPath(),this},t.prototype.closePath=function(){return this.__region&&this.__region.closePath(),this.__isPainter&&this.__onlyRegion||this.painter.closePath(),this},t.prototype.moveTo=function(t,i){return this.__region&&this.__region.moveTo(t,i),this.__isPainter&&this.__onlyRegion||this.painter.moveTo(Math.round(t)+.5,Math.round(i)+.5),this},t.prototype.lineTo=function(t,i){return this.__region&&this.__region.lineTo(t,i),this.__isPainter&&this.__onlyRegion||this.painter.lineTo(Math.round(t)+.5,Math.round(i)+.5),this},t.prototype.arc=function(t,i,e,n,r){return this.__region&&this.__region.arc(t,i,e,n,r),this.__isPainter&&this.__onlyRegion||this.painter.arc(t,i,e,n,n+r,r<0),this},t.prototype.fill=function(){return this.__region&&this.__region.fill(),this.__isPainter&&this.__onlyRegion||this.painter.fill(),this},t.prototype.stroke=function(){return this.__region&&this.__region.stroke(),this.__isPainter&&this.__onlyRegion||this.painter.stroke(),this},t.prototype.full=function(){return this.__region&&this.__region.full(),this.__isPainter&&this.__onlyRegion||(this.painter.fill(),this.painter.stroke()),this},t.prototype.save=function(){return this.__region&&this.__region.save(),this.__isPainter&&this.__onlyRegion||this.painter.save(),this},t.prototype.restore=function(){return this.__region&&this.__region.restore(),this.__isPainter&&this.__onlyRegion||this.painter.restore(),this},t.prototype.clip=function(){return this.__region&&this.__region.clip(),this.__isPainter&&this.__onlyRegion||this.painter.clip(),this},t.prototype.quadraticCurveTo=function(t,i,e,n){return this.__region&&this.__region.quadraticCurveTo(t,i,e,n),this.__isPainter&&this.__onlyRegion||this.painter.quadraticCurveTo(t,i,e,n),this},t.prototype.bezierCurveTo=function(t,i,e,n,r,o){return this.__region&&this.__region.bezierCurveTo(t,i,e,n,r,o),this.__isPainter&&this.__onlyRegion||this.painter.bezierCurveTo(t,i,e,n,r,o),this},t.prototype.clearRect=function(t,i,e,n){return this.__region&&this.__region.clearRect(t,i,e,n),this.__isPainter&&this.__onlyRegion||this.painter.clearRect(t,i,e,n),this},t.prototype.fillArc=function(t,i,e,r,o,s){return this.__region&&this.__region.fillArc(t,i,e,r,o,s),this.__isPainter&&this.__onlyRegion||n(this.painter,this.__specialConfig,t,i,e,r,o,s).fill(),this},t.prototype.strokeArc=function(t,i,e,r,o,s){return this.__region&&this.__region.strokeArc(t,i,e,r,o,s),this.__isPainter&&this.__onlyRegion||n(this.painter,this.__specialConfig,t,i,e,r,o,s).stroke(),this},t.prototype.fullArc=function(t,i,e,r,o,s){return this.__region&&this.__region.fullArc(t,i,e,r,o,s),this.__isPainter&&this.__onlyRegion||(n(this.painter,this.__specialConfig,t,i,e,r,o,s),this.painter.fill(),this.painter.stroke()),this},t.prototype.fillCircle=function(t,i,e){return this.__region&&this.__region.fillCircle(t,i,e),this.__isPainter&&this.__onlyRegion||r(this.painter,t,i,e).fill(),this},t.prototype.strokeCircle=function(t,i,e){return this.__region&&this.__region.strokeCircle(t,i,e),this.__isPainter&&this.__onlyRegion||r(this.painter,t,i,e).stroke(),this},t.prototype.fullCircle=function(t,i,e){return this.__region&&this.__region.fullCircle(t,i,e),this.__isPainter&&this.__onlyRegion||(r(this.painter,t,i,e),this.painter.fill(),this.painter.stroke()),this},t.prototype.fillRect=function(t,i,e,n){return this.__region&&this.__region.fillRect(t,i,e,n),this.__isPainter&&this.__onlyRegion||o(this.painter,t,i,e,n).fill(),this},t.prototype.strokeRect=function(t,i,e,n){return this.__region&&this.__region.strokeRect(t,i,e,n),this.__isPainter&&this.__onlyRegion||o(this.painter,t,i,e,n).stroke(),this},t.prototype.fullRect=function(t,i,e,n){return this.__region&&this.__region.fullRect(t,i,e,n),this.__isPainter&&this.__onlyRegion||(o(this.painter,t,i,e,n),this.painter.fill(),this.painter.stroke()),this},t.prototype.draw=function(){},t}();var a={"font-size":"fontSize","font-family":"fontFamily","font-weight":"fontWeight","font-style":"fontStyle","arc-start-cap":"arcStartCap","arc-end-cap":"arcEndCap"},h=function(i){function n(t,e,n,r){void 0===n&&(n={}),void 0===r&&(r=1);var o=i.call(this,t,n,e?new _(e,{willReadFrequently:!0}):void 0,!0,r)||this;return o.name="Canvas",o.__regionList={},o.__regionAssemble=function(t,i,e,n){for(var r=[],o=0;o<n;o++)r[o]=t;return function(){for(var o=0;o<n;o++){if(r[o]+e<i){r[o]=+(r[o]+e).toFixed(7);break}o<n-1&&(r[o]=t)}return r}}(0,255,10,3),o.__scaleSize=r,o.setRegion(""),o}return function(i,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=i}t(i,e),i.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)}(n,i),n.prototype.config=function(t){for(var i in t){var e=a[i]||i;this.useConfig(e,t[i])}return this},n.prototype.onlyRegion=function(t){return this.__onlyRegion=t,this},n.prototype.setRegion=function(t){if(this.__region)if(t){if(null==this.__regionList[t]){var i=this.__regionAssemble();this.__regionList[t]="rgb("+i[0]+","+i[1]+","+i[2]+")"}this.__region.useConfig("fillStyle",this.__regionList[t])&&this.__region.useConfig("strokeStyle",this.__regionList[t])}else this.__region.useConfig("fillStyle","#000000")&&this.__region.useConfig("strokeStyle","#000000");return this},n.prototype.getRegion=function(t,i){var e=this;return new Promise((function(n){var r=e.__region?e.__region.painter.getImageData(t-.5,i-.5,1,1):{data:[0,0,0,0]},o=r.data,s=function(){if(e.__region)for(var t in e.__regionList)if("rgb("+o[0]+","+o[1]+","+o[2]+")"==e.__regionList[t]){n(t);break}n("")};o?s():r.then((function(t){o=t,s()}))}))},n.prototype.textWidth=function(t){this.painter.save(),e(this.painter,this.__specialConfig,0,0,0);var i=this.painter.measureText(t+"").width;return this.painter.restore(),i},n.prototype.getContext=function(t){return void 0===t&&(t=!1),t?this.__region?this.__region.painter:null:this.painter},n.prototype.getInfo=function(){return{width:this.painter.canvas.width/this.__scaleSize,height:this.painter.canvas.height/this.__scaleSize}},n.prototype.createLinearGradient=function(t,i,e,n){return function(t,i,e,n,r){var o=t.createLinearGradient(i,e,n,r),s={value:function(){return o},setColor:function(t,i){return o.addColorStop(t,i),s}};return s}(this.painter,t,i,e,n)},n.prototype.createRadialGradient=function(t,i,e){return function(t,i,e,n){var r=t.createRadialGradient(i,e,0,i,e,n),o={value:function(){return r},setColor:function(t,i){return r.addColorStop(t,i),o}};return o}(this.painter,t,i,e)},n.prototype.getColor=function(t,i){t*=this.__scaleSize,i*=this.__scaleSize;var e=this.painter.getImageData(t-.5,i-.5,1,1).data;return"rgba("+e[0]+","+e[1]+","+e[2]+","+e[3]+")"},n}(_);export{h as default};
|
|
11
|
+
var t=function(i,e){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,i){t.__proto__=i}||function(t,i){for(var e in i)Object.prototype.hasOwnProperty.call(i,e)&&(t[e]=i[e])},t(i,e)};"function"==typeof SuppressedError&&SuppressedError;var i=function(t,i,e,n,r){var o=Math.cos(e),s=Math.sin(e);return[+((n-t)*o-(r-i)*s+t).toFixed(7),+((n-t)*s+(r-i)*o+i).toFixed(7)]};var e=function(t,i,e,n,r){return t.beginPath(),t.translate(e,n),t.rotate(r),t.font=i.fontStyle+" "+i.fontWeight+" "+i.fontSize+"px "+i.fontFamily,t},n=function(t,e,n,r,o,s,_,a){if(o>s){var h=o;o=s,s=h}return _%=2*Math.PI,a>=1.999999*Math.PI||a<=1.999999*-Math.PI?a=2*Math.PI:a%=2*Math.PI,function(t,e,n,r,o,s,_){e<0&&(t+=e,e*=-1);var a,h=[];a=i(0,0,t,o,0),h[0]=a[0],h[1]=a[1],a=i(0,0,e,a[0],a[1]),h[2]=a[0],h[3]=a[1],a=i(0,0,t,s,0),h[4]=a[0],h[5]=a[1],a=i(0,0,e,a[0],a[1]),h[6]=a[0],h[7]=a[1],_(t,t+e,h[0]+n,h[1]+r,h[4]+n,h[5]+r,h[2]+n,h[3]+r,h[6]+n,h[7]+r,.5*(s-o))}(_,a,n,r,o,s,(function(i,_,a,h,l,p,f,u,g,c,y){y<0&&(y=-y),t.beginPath(),t.moveTo(a,h),t.arc(n,r,o,i,_,!1),"round"==e.arcEndCap?t.arc(.5*(f+g),.5*(u+c),y,_-Math.PI,_,!0):"-round"==e.arcEndCap?t.arc(.5*(f+g),.5*(u+c),y,_-Math.PI,_,!1):t.lineTo(g,c),t.arc(n,r,s,_,i,!0),"round"==e.arcStartCap?t.arc(.5*(a+l),.5*(h+p),y,i,i-Math.PI,!0):"-round"==e.arcStartCap?t.arc(.5*(a+l),.5*(h+p),y,i,i-Math.PI,!1):t.lineTo(a,h)})),"butt"==e.arcStartCap&&t.closePath(),t},r=function(t,i,e,n){return t.beginPath(),t.moveTo(i+n,e),t.arc(i,e,n,0,2*Math.PI),t},o=function(t,i,e,n,r){return t.beginPath(),t.rect(i,e,n,r),t};function s(t,i,e,n,r){for(var o=0,s="",_=0;_<i.length;_++)t.measureText(s+i[_]).width>e||/\n$/.test(s)?(r(s,((o+=1)-.5)*n),s=i[_]):_==i.length-1?(o+=1,r(s+i[_],(o-.5)*n)):s+=i[_];return o*n}var _=function(){function t(t,i,e,n,r){void 0===i&&(i={}),void 0===n&&(n=!1),this.__region=null,this.__onlyRegion=!1,this.__specialConfig={fontSize:16,fontFamily:"sans-serif",fontWeight:400,fontStyle:"normal",arcStartCap:"butt",arcEndCap:"butt"},this.__initConfig={fillStyle:"black",strokeStyle:"black",lineWidth:1,textAlign:"left",textBaseline:"middle",lineDash:[],shadowBlur:0,shadowColor:"black"},this.painter=t.getContext("2d",i),this.__region=e,this.__isPainter=n,this.painter.textBaseline="middle",this.painter.textAlign="left"}return t.prototype.useConfig=function(t,i){if(this.__region&&["fillStyle","strokeStyle","shadowBlur","shadowColor"].indexOf(t)<0&&this.__region.useConfig(t,i),this.__isPainter&&this.__onlyRegion)return this;if("lineDash"==t)this.painter.setLineDash&&this.painter.setLineDash(i);else if(t in this.__specialConfig)"fontSize"==t&&(i=Math.round(i)),this.__specialConfig[t]=i;else{if(!(t in this.__initConfig))throw new Error("Illegal configuration item of painter : "+t+" !");this.painter[t]=i}return this},t.prototype.fillText=function(t,i,n,r){return void 0===r&&(r=0),this.__region&&this.__region.fillText(t,i,n,r),this.__isPainter&&this.__onlyRegion||(this.painter.save(),e(this.painter,this.__specialConfig,i,n,r).fillText(t,0,0),this.painter.restore()),this},t.prototype.strokeText=function(t,i,n,r){return void 0===r&&(r=0),this.__region&&this.__region.strokeText(t,i,n,r),this.__isPainter&&this.__onlyRegion||(this.painter.save(),e(this.painter,this.__specialConfig,i,n,r).strokeText(t,0,0),this.painter.restore()),this},t.prototype.fullText=function(t,i,n,r){return void 0===r&&(r=0),this.__region&&this.__region.fullText(t,i,n,r),this.__isPainter&&this.__onlyRegion||(this.painter.save(),e(this.painter,this.__specialConfig,i,n,r),this.painter.fillText(t,0,0),this.painter.strokeText(t,0,0),this.painter.restore()),this},t.prototype.fillTexts=function(t,i,n,r,o,_){var a=this;void 0===o&&(o=1.2),void 0===_&&(_=0);var h=0;if(this.__region&&(h=this.__region.fillTexts(t,i,n,r,o)),this.__isPainter&&this.__onlyRegion)return h;this.painter.save(),e(this.painter,this.__specialConfig,i,n,_);var l=s(this.painter,t,r,this.__specialConfig.fontSize*o,(function(t,i){a.painter.fillText(t,0,i)}));return this.painter.restore(),l},t.prototype.strokeTexts=function(t,i,n,r,o,_){var a=this;void 0===o&&(o=1.2),void 0===_&&(_=0);var h=0;if(this.__region&&(h=this.__region.fillTexts(t,i,n,r,o)),this.__isPainter&&this.__onlyRegion)return h;this.painter.save(),e(this.painter,this.__specialConfig,i,n,_);var l=s(this.painter,t,r,this.__specialConfig.fontSize*o,(function(t,i){a.painter.strokeText(t,0,i)}));return this.painter.restore(),l},t.prototype.fullTexts=function(t,i,n,r,o,_){var a=this;void 0===o&&(o=1.2),void 0===_&&(_=0);var h=0;if(this.__region&&(h=this.__region.fillTexts(t,i,n,r,o)),this.__isPainter&&this.__onlyRegion)return h;this.painter.save(),e(this.painter,this.__specialConfig,i,n,_);var l=s(this.painter,t,r,this.__specialConfig.fontSize*o,(function(t,i){a.painter.fillText(t,0,i),a.painter.strokeText(t,0,i)}));return this.painter.restore(),l},t.prototype.beginPath=function(){return this.__region&&this.__region.beginPath(),this.__isPainter&&this.__onlyRegion||this.painter.beginPath(),this},t.prototype.closePath=function(){return this.__region&&this.__region.closePath(),this.__isPainter&&this.__onlyRegion||this.painter.closePath(),this},t.prototype.moveTo=function(t,i){return this.__region&&this.__region.moveTo(t,i),this.__isPainter&&this.__onlyRegion||this.painter.moveTo(Math.round(t)+.5,Math.round(i)+.5),this},t.prototype.lineTo=function(t,i){return this.__region&&this.__region.lineTo(t,i),this.__isPainter&&this.__onlyRegion||this.painter.lineTo(Math.round(t)+.5,Math.round(i)+.5),this},t.prototype.arc=function(t,i,e,n,r){return this.__region&&this.__region.arc(t,i,e,n,r),this.__isPainter&&this.__onlyRegion||this.painter.arc(t,i,e,n,n+r,r<0),this},t.prototype.fill=function(){return this.__region&&this.__region.fill(),this.__isPainter&&this.__onlyRegion||this.painter.fill(),this},t.prototype.stroke=function(){return this.__region&&this.__region.stroke(),this.__isPainter&&this.__onlyRegion||this.painter.stroke(),this},t.prototype.full=function(){return this.__region&&this.__region.full(),this.__isPainter&&this.__onlyRegion||(this.painter.fill(),this.painter.stroke()),this},t.prototype.save=function(){return this.__region&&this.__region.save(),this.__isPainter&&this.__onlyRegion||this.painter.save(),this},t.prototype.restore=function(){return this.__region&&this.__region.restore(),this.__isPainter&&this.__onlyRegion||this.painter.restore(),this},t.prototype.clip=function(){return this.__region&&this.__region.clip(),this.__isPainter&&this.__onlyRegion||this.painter.clip(),this},t.prototype.quadraticCurveTo=function(t,i,e,n){return this.__region&&this.__region.quadraticCurveTo(t,i,e,n),this.__isPainter&&this.__onlyRegion||this.painter.quadraticCurveTo(t,i,e,n),this},t.prototype.bezierCurveTo=function(t,i,e,n,r,o){return this.__region&&this.__region.bezierCurveTo(t,i,e,n,r,o),this.__isPainter&&this.__onlyRegion||this.painter.bezierCurveTo(t,i,e,n,r,o),this},t.prototype.clearRect=function(t,i,e,n){return this.__region&&this.__region.clearRect(t,i,e,n),this.__isPainter&&this.__onlyRegion||this.painter.clearRect(t,i,e,n),this},t.prototype.fillArc=function(t,i,e,r,o,s){return this.__region&&this.__region.fillArc(t,i,e,r,o,s),this.__isPainter&&this.__onlyRegion||n(this.painter,this.__specialConfig,t,i,e,r,o,s).fill(),this},t.prototype.strokeArc=function(t,i,e,r,o,s){return this.__region&&this.__region.strokeArc(t,i,e,r,o,s),this.__isPainter&&this.__onlyRegion||n(this.painter,this.__specialConfig,t,i,e,r,o,s).stroke(),this},t.prototype.fullArc=function(t,i,e,r,o,s){return this.__region&&this.__region.fullArc(t,i,e,r,o,s),this.__isPainter&&this.__onlyRegion||(n(this.painter,this.__specialConfig,t,i,e,r,o,s),this.painter.fill(),this.painter.stroke()),this},t.prototype.fillCircle=function(t,i,e){return this.__region&&this.__region.fillCircle(t,i,e),this.__isPainter&&this.__onlyRegion||r(this.painter,t,i,e).fill(),this},t.prototype.strokeCircle=function(t,i,e){return this.__region&&this.__region.strokeCircle(t,i,e),this.__isPainter&&this.__onlyRegion||r(this.painter,t,i,e).stroke(),this},t.prototype.fullCircle=function(t,i,e){return this.__region&&this.__region.fullCircle(t,i,e),this.__isPainter&&this.__onlyRegion||(r(this.painter,t,i,e),this.painter.fill(),this.painter.stroke()),this},t.prototype.fillRect=function(t,i,e,n){return this.__region&&this.__region.fillRect(t,i,e,n),this.__isPainter&&this.__onlyRegion||o(this.painter,t,i,e,n).fill(),this},t.prototype.strokeRect=function(t,i,e,n){return this.__region&&this.__region.strokeRect(t,i,e,n),this.__isPainter&&this.__onlyRegion||o(this.painter,t,i,e,n).stroke(),this},t.prototype.fullRect=function(t,i,e,n){return this.__region&&this.__region.fullRect(t,i,e,n),this.__isPainter&&this.__onlyRegion||(o(this.painter,t,i,e,n),this.painter.fill(),this.painter.stroke()),this},t.prototype.draw=function(){},t.prototype.drawImage=function(t,i,e,n,r,o){var s=this;return void 0===o&&(o=!1),new Promise((function(_){if(s.__region&&(s.__region.fillRect(i,e,n,r),_({})),s.__isPainter&&s.__onlyRegion)return s;if("string"!=typeof t||o)s.painter.drawImage(t,i,e,n,r),_({});else{var a=new Image;a.onload=function(){s.painter.drawImage(a,i,e,n,r),_({})},a.src=t}}))},t}();var a={"font-size":"fontSize","font-family":"fontFamily","font-weight":"fontWeight","font-style":"fontStyle","arc-start-cap":"arcStartCap","arc-end-cap":"arcEndCap"},h=function(i){function n(t,e,n,r){void 0===n&&(n={}),void 0===r&&(r=1);var o=i.call(this,t,n,e?new _(e,{willReadFrequently:!0}):void 0,!0,r)||this;return o.name="Canvas",o.__regionList={},o.__regionAssemble=function(t,i,e,n){for(var r=[],o=0;o<n;o++)r[o]=t;return function(){for(var o=0;o<n;o++){if(r[o]+e<i){r[o]=+(r[o]+e).toFixed(7);break}o<n-1&&(r[o]=t)}return r}}(0,255,10,3),o.__scaleSize=r,o.setRegion(""),o}return function(i,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=i}t(i,e),i.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)}(n,i),n.prototype.config=function(t){for(var i in t){var e=a[i]||i;this.useConfig(e,t[i])}return this},n.prototype.onlyRegion=function(t){return this.__onlyRegion=t,this},n.prototype.setRegion=function(t){if(this.__region)if(t){if(null==this.__regionList[t]){var i=this.__regionAssemble();this.__regionList[t]="rgb("+i[0]+","+i[1]+","+i[2]+")"}this.__region.useConfig("fillStyle",this.__regionList[t])&&this.__region.useConfig("strokeStyle",this.__regionList[t])}else this.__region.useConfig("fillStyle","#000000")&&this.__region.useConfig("strokeStyle","#000000");return this},n.prototype.getRegion=function(t,i){var e=this;return new Promise((function(n){var r=e.__region?e.__region.painter.getImageData(t-.5,i-.5,1,1):{data:[0,0,0,0]},o=r.data,s=function(){if(e.__region)for(var t in e.__regionList)if("rgb("+o[0]+","+o[1]+","+o[2]+")"==e.__regionList[t]){n(t);break}n("")};o?s():r.then((function(t){o=t,s()}))}))},n.prototype.textWidth=function(t){this.painter.save(),e(this.painter,this.__specialConfig,0,0,0);var i=this.painter.measureText(t+"").width;return this.painter.restore(),i},n.prototype.getContext=function(t){return void 0===t&&(t=!1),t?this.__region?this.__region.painter:null:this.painter},n.prototype.getInfo=function(){return{width:this.painter.canvas.width/this.__scaleSize,height:this.painter.canvas.height/this.__scaleSize}},n.prototype.createLinearGradient=function(t,i,e,n){return function(t,i,e,n,r){var o=t.createLinearGradient(i,e,n,r),s={value:function(){return o},setColor:function(t,i){return o.addColorStop(t,i),s}};return s}(this.painter,t,i,e,n)},n.prototype.createRadialGradient=function(t,i,e){return function(t,i,e,n){var r=t.createRadialGradient(i,e,0,i,e,n),o={value:function(){return r},setColor:function(t,i){return r.addColorStop(t,i),o}};return o}(this.painter,t,i,e)},n.prototype.getColor=function(t,i){t*=this.__scaleSize,i*=this.__scaleSize;var e=this.painter.getImageData(t-.5,i-.5,1,1).data;return"rgba("+e[0]+","+e[1]+","+e[2]+","+e[3]+")"},n}(_);export{h as default};
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* VISLite JavaScript Library v0.
|
|
2
|
+
* VISLite JavaScript Library v0.8.0-alpha.0
|
|
3
3
|
* git+https://github.com/oi-contrib/VISLite.git
|
|
4
4
|
*
|
|
5
5
|
* Copyright zxl20070701
|
|
6
6
|
* Released under the MIT license
|
|
7
7
|
* https://zxl20070701.github.io/notebook/home.html
|
|
8
8
|
*
|
|
9
|
-
* Publish Date:
|
|
9
|
+
* Publish Date: Tue Feb 13 2024 21:00:43 GMT+0800 (中国标准时间)
|
|
10
10
|
*/
|
|
11
11
|
/******************************************************************************
|
|
12
12
|
Copyright (c) Microsoft Corporation.
|
|
@@ -40,8 +40,9 @@ typeof SuppressedError === "function" ? SuppressedError : function (error, suppr
|
|
|
40
40
|
return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
|
|
41
41
|
};
|
|
42
42
|
|
|
43
|
-
function getWebGLContext (canvas, scale, opts) {
|
|
43
|
+
function getWebGLContext (canvas, scale, opts, mode) {
|
|
44
44
|
if (opts === void 0) { opts = {}; }
|
|
45
|
+
if (mode === void 0) { mode = "scaleToFill"; }
|
|
45
46
|
var names = ["experimental-webgl", "webkit-3d", "moz-webgl"];
|
|
46
47
|
var painter = canvas.getContext("webgl", opts);
|
|
47
48
|
for (var i = 0; i < names.length; i++) {
|
|
@@ -55,8 +56,25 @@ function getWebGLContext (canvas, scale, opts) {
|
|
|
55
56
|
if (!painter)
|
|
56
57
|
throw new Error('Non canvas or browser does not support webgl.');
|
|
57
58
|
var width = painter.canvas.width, height = painter.canvas.height;
|
|
58
|
-
var
|
|
59
|
-
|
|
59
|
+
var scaleX = scale, scaleY = scale;
|
|
60
|
+
if (mode == "aspectFit") {
|
|
61
|
+
if (width > height) {
|
|
62
|
+
scaleX *= height / width;
|
|
63
|
+
}
|
|
64
|
+
else if (height > width) {
|
|
65
|
+
scaleY *= width / height;
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
else if (mode == "aspectFill") {
|
|
69
|
+
if (width > height) {
|
|
70
|
+
scaleY *= width / height;
|
|
71
|
+
}
|
|
72
|
+
else if (height > width) {
|
|
73
|
+
scaleX *= height / width;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
var viewWidth = width * scaleX;
|
|
77
|
+
var viewHeight = height * scaleY;
|
|
60
78
|
painter.viewport((width - viewWidth) * 0.5, (height - viewHeight) * 0.5, viewWidth, viewHeight);
|
|
61
79
|
painter.depthFunc(painter.LEQUAL);
|
|
62
80
|
painter.enable(painter.DEPTH_TEST);
|
|
@@ -460,7 +478,7 @@ function assemble (begin, end, step, count) {
|
|
|
460
478
|
var needUpdate = false;
|
|
461
479
|
var scale = 10;
|
|
462
480
|
var WebGL = (function () {
|
|
463
|
-
function WebGL(ViewCanvas, RegionCanvas) {
|
|
481
|
+
function WebGL(ViewCanvas, RegionCanvas, mode) {
|
|
464
482
|
this.name = "WebGL";
|
|
465
483
|
this.__getColor = function (x, y) { return "rgba(0,0,0,1)"; };
|
|
466
484
|
this.__regionList = {};
|
|
@@ -477,9 +495,9 @@ var WebGL = (function () {
|
|
|
477
495
|
])
|
|
478
496
|
};
|
|
479
497
|
this.__unique = new Date().valueOf();
|
|
480
|
-
this.painter = getWebGLContext(ViewCanvas, scale);
|
|
498
|
+
this.painter = getWebGLContext(ViewCanvas, scale, {}, mode);
|
|
481
499
|
if (RegionCanvas) {
|
|
482
|
-
this.__regionPainter = getWebGLContext(RegionCanvas, scale, {});
|
|
500
|
+
this.__regionPainter = getWebGLContext(RegionCanvas, scale, {}, mode);
|
|
483
501
|
}
|
|
484
502
|
var proportion = this.painter.canvas.width / this.painter.canvas.height;
|
|
485
503
|
var xProportion = 1;
|