vislite 0.5.2-alpha.1 → 0.5.2
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/.editorconfig +18 -18
- package/AUTHORS.txt +6 -6
- package/CHANGELOG +143 -137
- package/LICENSE +20 -20
- package/README.md +69 -69
- package/lib/Buffer/index.umd.js +36 -36
- package/lib/Buffer/index.umd.min.js +2 -2
- package/lib/Canvas/index.umd.js +650 -650
- package/lib/Canvas/index.umd.min.js +2 -2
- package/lib/Cardinal/index.umd.js +91 -91
- package/lib/Cardinal/index.umd.min.js +2 -2
- package/lib/Eoap/index.umd.js +34 -34
- package/lib/Eoap/index.umd.min.js +2 -2
- package/lib/Geometry/index.umd.js +142 -142
- package/lib/Geometry/index.umd.min.js +2 -2
- package/lib/Hermite/index.umd.js +36 -36
- package/lib/Hermite/index.umd.min.js +2 -2
- package/lib/Matrix4/index.umd.js +119 -119
- package/lib/Matrix4/index.umd.min.js +2 -2
- package/lib/Mercator/index.umd.js +20 -20
- package/lib/Mercator/index.umd.min.js +2 -2
- package/lib/OralCanvas/index.es.js +598 -598
- package/lib/OralCanvas/index.es.min.js +2 -2
- package/lib/OralWebGL/index.es.js +532 -532
- package/lib/OralWebGL/index.es.min.js +3 -3
- package/lib/SVG/index.umd.js +470 -405
- package/lib/SVG/index.umd.min.js +3 -3
- package/lib/Shader/index.umd.js +69 -69
- package/lib/Shader/index.umd.min.js +3 -3
- package/lib/Texture/index.umd.js +53 -53
- package/lib/Texture/index.umd.min.js +2 -2
- package/lib/TreeLayout/index.umd.js +363 -363
- package/lib/TreeLayout/index.umd.min.js +2 -2
- package/lib/WebGL/index.umd.js +579 -579
- package/lib/WebGL/index.umd.min.js +3 -3
- package/lib/animation/index.umd.js +72 -72
- package/lib/animation/index.umd.min.js +2 -2
- package/lib/formatColor/index.umd.js +40 -40
- package/lib/formatColor/index.umd.min.js +2 -2
- package/lib/getLoopColors/index.umd.js +36 -36
- package/lib/getLoopColors/index.umd.min.js +2 -2
- package/lib/getWebGLContext/index.umd.js +44 -44
- package/lib/getWebGLContext/index.umd.min.js +2 -2
- package/lib/index.umd.js +2744 -2662
- package/lib/index.umd.min.js +3 -3
- package/lib/move/index.umd.js +27 -0
- package/lib/move/index.umd.min.js +11 -0
- package/lib/resizeObserver/index.umd.js +29 -29
- package/lib/resizeObserver/index.umd.min.js +2 -2
- package/lib/rotate/index.umd.js +8 -8
- package/lib/rotate/index.umd.min.js +2 -2
- package/lib/ruler/index.umd.js +126 -126
- package/lib/ruler/index.umd.min.js +2 -2
- package/lib/scale/index.umd.js +26 -0
- package/lib/scale/index.umd.min.js +11 -0
- package/lib/throttle/index.umd.js +49 -49
- package/lib/throttle/index.umd.min.js +2 -2
- package/lib/viewHandler/index.umd.js +120 -120
- package/lib/viewHandler/index.umd.min.js +2 -2
- package/miniprogram/ui-canvas/index.js +107 -107
- package/miniprogram/ui-canvas/index.json +4 -4
- package/miniprogram/ui-canvas/index.wxml +4 -4
- package/miniprogram/ui-canvas/index.wxss +5 -5
- package/package/Buffer/index.ts +2 -2
- package/package/Canvas/index.ts +2 -2
- package/package/Cardinal/index.ts +2 -2
- package/package/Eoap/index.ts +2 -2
- package/package/Geometry/index.ts +2 -2
- package/package/Hermite/index.ts +2 -2
- package/package/Matrix4/index.ts +2 -2
- package/package/Mercator/index.ts +2 -2
- package/package/OralCanvas/index.ts +2 -2
- package/package/OralWebGL/index.ts +2 -2
- package/package/SVG/index.ts +2 -2
- package/package/Shader/index.ts +39 -39
- package/package/Texture/index.ts +2 -2
- package/package/TreeLayout/index.ts +2 -2
- package/package/WebGL/index.ts +2 -2
- package/package/animation/index.ts +2 -2
- package/package/formatColor/index.ts +2 -2
- package/package/getLoopColors/index.ts +2 -2
- package/package/getWebGLContext/index.ts +39 -39
- package/package/index.ts +76 -72
- package/package/move/index.ts +3 -0
- package/package/resizeObserver/index.ts +2 -2
- package/package/rotate/index.ts +2 -2
- package/package/ruler/index.ts +2 -2
- package/package/scale/index.ts +3 -0
- package/package/throttle/index.ts +2 -2
- package/package/viewHandler/index.ts +2 -2
- package/package.json +66 -66
- package/src/Canvas.ts +67 -67
- package/src/Eoap.ts +66 -66
- package/src/Geometry.ts +82 -82
- package/src/Matrix4/index.ts +76 -76
- package/src/Matrix4/move.ts +12 -12
- package/src/Matrix4/rotate.ts +15 -15
- package/src/Matrix4/scale.ts +11 -11
- package/src/Matrix4/transform.ts +64 -64
- package/src/Mercator.ts +27 -27
- package/src/SVG.ts +24 -24
- package/src/TreeLayout/index.ts +186 -186
- package/src/WebGL.ts +66 -66
- package/src/animation.ts +98 -98
- package/src/common/assemble.ts +22 -22
- package/src/common/canvas/arc.ts +50 -50
- package/src/common/canvas/config.ts +158 -158
- package/src/common/canvas/gradient.ts +29 -29
- package/src/common/canvas/index.ts +168 -168
- package/src/common/canvas/painter.ts +426 -426
- package/src/common/canvas/texts.ts +18 -18
- package/src/common/geometry/prism-horizontal.ts +33 -33
- package/src/common/geometry/prism-vertical.ts +40 -40
- package/src/common/geometry/sphere-fragment.ts +39 -39
- package/src/common/geometry/tool/circle.ts +11 -11
- package/src/common/mergeOption.ts +6 -6
- package/src/common/setStyle.ts +5 -5
- package/src/common/svg/config.ts +186 -174
- package/src/common/svg/gradient.ts +63 -0
- package/src/common/svg/index.ts +356 -344
- package/src/common/svg/tool.ts +44 -44
- package/src/common/tree/index.ts +25 -25
- package/src/common/tree/toInnerTree.ts +56 -56
- package/src/common/tree/toPlainTree.ts +131 -131
- package/src/common/webgl/buffer.ts +79 -79
- package/src/common/webgl/doDraw.ts +108 -108
- package/src/common/webgl/getColorFactory.ts +26 -26
- package/src/common/webgl/getShader.ts +48 -48
- package/src/common/webgl/getTexture.ts +11 -11
- package/src/common/webgl/getWebGLContext.ts +27 -27
- package/src/common/webgl/index.ts +223 -223
- package/src/common/webgl/shader.ts +75 -75
- package/src/common/webgl/texture.ts +96 -96
- package/src/formatColor.ts +44 -44
- package/src/getLoopColors.ts +42 -42
- package/src/interpolation/Cardinal.ts +110 -110
- package/src/interpolation/Hermite.ts +65 -65
- package/src/move.ts +8 -0
- package/src/resizeObserver.ts +36 -36
- package/src/rotate.ts +7 -7
- package/src/ruler.ts +188 -188
- package/src/scale.ts +7 -0
- package/src/shader/fsColor.c +7 -7
- package/src/shader/fsColors.c +7 -7
- package/src/shader/fsCube.c +8 -8
- package/src/shader/fsImage.c +8 -8
- package/src/shader/vsColor.c +17 -17
- package/src/shader/vsColors.c +13 -13
- package/src/shader/vsCube.c +13 -13
- package/src/shader/vsImage.c +13 -13
- package/src/throttle.ts +51 -51
- package/src/viewHandler.ts +158 -158
- package/types/Buffer.d.ts +23 -23
- package/types/Canvas.d.ts +300 -300
- package/types/CanvasConfig.d.ts +106 -106
- package/types/CanvasOption.d.ts +7 -7
- package/types/Cardinal.d.ts +13 -13
- package/types/Geometry.d.ts +40 -40
- package/types/GeometryOption.d.ts +11 -11
- package/types/GeometryResult.d.ts +18 -18
- package/types/Gradient.d.ts +14 -14
- package/types/Hermite.d.ts +18 -18
- package/types/Map.d.ts +9 -9
- package/types/Matrix4.d.ts +42 -42
- package/types/Object3D.d.ts +114 -114
- package/types/SVG.d.ts +238 -215
- package/types/SVGConfig.d.ts +76 -76
- package/types/Scene3D.d.ts +6 -6
- package/types/Shader.d.ts +21 -21
- package/types/Texture.d.ts +16 -16
- package/types/Tree.d.ts +69 -69
- package/types/TreeConfig.d.ts +24 -24
- package/types/TreeLayout.d.ts +54 -54
- package/types/TreeOption.d.ts +48 -48
- package/types/WebGL.d.ts +38 -38
- package/types/WebGLOption.d.ts +7 -7
- package/types/animation.d.ts +6 -6
- package/types/formatColor.d.ts +2 -2
- package/types/getLoopColors.d.ts +2 -2
- package/types/getWebGLContext.d.ts +2 -2
- package/types/index.d.ts +175 -169
- package/types/move.d.ts +3 -0
- package/types/painterConfig.d.ts +2 -2
- package/types/resizeObserver.d.ts +2 -2
- package/types/rotate.d.ts +2 -2
- package/types/ruler.d.ts +7 -7
- package/types/scale.d.ts +3 -0
- package/types/throttle.d.ts +4 -4
- package/types/throttleOption.d.ts +21 -21
- package/types/viewHandler.d.ts +13 -13
- package/uni-app/ui-canvas.vue +226 -226
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* VISLite JavaScript Library v0.5.2
|
|
2
|
+
* VISLite JavaScript Library v0.5.2
|
|
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: Sat Nov 04 2023 09:25:44 GMT+0800 (中国标准时间)
|
|
10
10
|
*/
|
|
11
11
|
(function (global, factory) {
|
|
12
12
|
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
|
|
@@ -14,45 +14,45 @@
|
|
|
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
|
-
var num = Math.ceil(Math.PI * 2 /
|
|
19
|
-
Math.asin(precision / radius) * 2);
|
|
20
|
-
return (isNaN(num) || num < 12) ? 12 : num;
|
|
17
|
+
var splitNum = function (precision, radius) {
|
|
18
|
+
var num = Math.ceil(Math.PI * 2 /
|
|
19
|
+
Math.asin(precision / radius) * 2);
|
|
20
|
+
return (isNaN(num) || num < 12) ? 12 : num;
|
|
21
21
|
};
|
|
22
22
|
|
|
23
|
-
function rotate (cx, cy, deg, x, y) {
|
|
24
|
-
var cos = Math.cos(deg), sin = Math.sin(deg);
|
|
25
|
-
return [
|
|
26
|
-
(x - cx) * cos - (y - cy) * sin + cx,
|
|
27
|
-
(x - cx) * sin + (y - cy) * cos + cy
|
|
28
|
-
];
|
|
23
|
+
function rotate (cx, cy, deg, x, y) {
|
|
24
|
+
var cos = Math.cos(deg), sin = Math.sin(deg);
|
|
25
|
+
return [
|
|
26
|
+
(x - cx) * cos - (y - cy) * sin + cx,
|
|
27
|
+
(x - cx) * sin + (y - cy) * cos + cy
|
|
28
|
+
];
|
|
29
29
|
}
|
|
30
30
|
|
|
31
|
-
function prismHorizontal (normal, x, y, z, radius, num, d) {
|
|
32
|
-
var beginX, beginZ;
|
|
33
|
-
if (num == 4) {
|
|
34
|
-
var temp = radius / 1.414;
|
|
35
|
-
beginX = x + temp;
|
|
36
|
-
beginZ = z + temp;
|
|
37
|
-
}
|
|
38
|
-
else {
|
|
39
|
-
beginX = x + radius;
|
|
40
|
-
beginZ = z;
|
|
41
|
-
}
|
|
42
|
-
var point = [beginX, beginZ], points = [], deg = Math.PI * 2 / num;
|
|
43
|
-
for (var i = 0; i < num; i++) {
|
|
44
|
-
points.push(x, y, z);
|
|
45
|
-
if (normal)
|
|
46
|
-
points.push(0, d, 0);
|
|
47
|
-
points.push(point[0], y, point[1]);
|
|
48
|
-
if (normal)
|
|
49
|
-
points.push(0, d, 0);
|
|
50
|
-
point = rotate(x, z, deg * (i + 1), beginX, beginZ);
|
|
51
|
-
points.push(point[0], y, point[1]);
|
|
52
|
-
if (normal)
|
|
53
|
-
points.push(0, d, 0);
|
|
54
|
-
}
|
|
55
|
-
return points;
|
|
31
|
+
function prismHorizontal (normal, x, y, z, radius, num, d) {
|
|
32
|
+
var beginX, beginZ;
|
|
33
|
+
if (num == 4) {
|
|
34
|
+
var temp = radius / 1.414;
|
|
35
|
+
beginX = x + temp;
|
|
36
|
+
beginZ = z + temp;
|
|
37
|
+
}
|
|
38
|
+
else {
|
|
39
|
+
beginX = x + radius;
|
|
40
|
+
beginZ = z;
|
|
41
|
+
}
|
|
42
|
+
var point = [beginX, beginZ], points = [], deg = Math.PI * 2 / num;
|
|
43
|
+
for (var i = 0; i < num; i++) {
|
|
44
|
+
points.push(x, y, z);
|
|
45
|
+
if (normal)
|
|
46
|
+
points.push(0, d, 0);
|
|
47
|
+
points.push(point[0], y, point[1]);
|
|
48
|
+
if (normal)
|
|
49
|
+
points.push(0, d, 0);
|
|
50
|
+
point = rotate(x, z, deg * (i + 1), beginX, beginZ);
|
|
51
|
+
points.push(point[0], y, point[1]);
|
|
52
|
+
if (normal)
|
|
53
|
+
points.push(0, d, 0);
|
|
54
|
+
}
|
|
55
|
+
return points;
|
|
56
56
|
}
|
|
57
57
|
|
|
58
58
|
/******************************************************************************
|
|
@@ -87,117 +87,117 @@
|
|
|
87
87
|
return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
|
|
88
88
|
};
|
|
89
89
|
|
|
90
|
-
function prismVertical (normal, x, y, z, radius, height, num) {
|
|
91
|
-
var points = [];
|
|
92
|
-
var beginPosition;
|
|
93
|
-
if (num == 4) {
|
|
94
|
-
beginPosition = rotate(x, z, Math.PI * 0.25, x - radius, z);
|
|
95
|
-
}
|
|
96
|
-
else {
|
|
97
|
-
beginPosition = [x + radius, z];
|
|
98
|
-
}
|
|
99
|
-
var deg = Math.PI * 2 / num, degHalf = Math.PI * 2 / (num * 2);
|
|
100
|
-
var endPosition, normalPosition = [];
|
|
101
|
-
for (var i = 0; i < num; i++) {
|
|
102
|
-
endPosition = rotate.apply(void 0, __spreadArray([x, z, deg], beginPosition, false));
|
|
103
|
-
if (normal) {
|
|
104
|
-
var halfPosition = rotate.apply(void 0, __spreadArray([x, z, degHalf], beginPosition, false));
|
|
105
|
-
normalPosition = [halfPosition[0], 0, halfPosition[1]];
|
|
106
|
-
}
|
|
107
|
-
points.push.apply(points, __spreadArray([beginPosition[0], y, beginPosition[1]], normalPosition, false));
|
|
108
|
-
points.push.apply(points, __spreadArray([beginPosition[0], y + height, beginPosition[1]], normalPosition, false));
|
|
109
|
-
points.push.apply(points, __spreadArray([endPosition[0], y + height, endPosition[1]], normalPosition, false));
|
|
110
|
-
points.push.apply(points, __spreadArray([beginPosition[0], y, beginPosition[1]], normalPosition, false));
|
|
111
|
-
points.push.apply(points, __spreadArray([endPosition[0], y, endPosition[1]], normalPosition, false));
|
|
112
|
-
points.push.apply(points, __spreadArray([endPosition[0], y + height, endPosition[1]], normalPosition, false));
|
|
113
|
-
beginPosition = endPosition;
|
|
114
|
-
}
|
|
115
|
-
return points;
|
|
90
|
+
function prismVertical (normal, x, y, z, radius, height, num) {
|
|
91
|
+
var points = [];
|
|
92
|
+
var beginPosition;
|
|
93
|
+
if (num == 4) {
|
|
94
|
+
beginPosition = rotate(x, z, Math.PI * 0.25, x - radius, z);
|
|
95
|
+
}
|
|
96
|
+
else {
|
|
97
|
+
beginPosition = [x + radius, z];
|
|
98
|
+
}
|
|
99
|
+
var deg = Math.PI * 2 / num, degHalf = Math.PI * 2 / (num * 2);
|
|
100
|
+
var endPosition, normalPosition = [];
|
|
101
|
+
for (var i = 0; i < num; i++) {
|
|
102
|
+
endPosition = rotate.apply(void 0, __spreadArray([x, z, deg], beginPosition, false));
|
|
103
|
+
if (normal) {
|
|
104
|
+
var halfPosition = rotate.apply(void 0, __spreadArray([x, z, degHalf], beginPosition, false));
|
|
105
|
+
normalPosition = [halfPosition[0], 0, halfPosition[1]];
|
|
106
|
+
}
|
|
107
|
+
points.push.apply(points, __spreadArray([beginPosition[0], y, beginPosition[1]], normalPosition, false));
|
|
108
|
+
points.push.apply(points, __spreadArray([beginPosition[0], y + height, beginPosition[1]], normalPosition, false));
|
|
109
|
+
points.push.apply(points, __spreadArray([endPosition[0], y + height, endPosition[1]], normalPosition, false));
|
|
110
|
+
points.push.apply(points, __spreadArray([beginPosition[0], y, beginPosition[1]], normalPosition, false));
|
|
111
|
+
points.push.apply(points, __spreadArray([endPosition[0], y, endPosition[1]], normalPosition, false));
|
|
112
|
+
points.push.apply(points, __spreadArray([endPosition[0], y + height, endPosition[1]], normalPosition, false));
|
|
113
|
+
beginPosition = endPosition;
|
|
114
|
+
}
|
|
115
|
+
return points;
|
|
116
116
|
}
|
|
117
117
|
|
|
118
|
-
function sphereFragment (normal, cx, cy, cz, radius, num, index) {
|
|
119
|
-
var points = [cx, cy + radius, cz], deg = Math.PI * 2 / num, point;
|
|
120
|
-
if (normal)
|
|
121
|
-
points.push(0, radius, 0);
|
|
122
|
-
var copy2 = function () {
|
|
123
|
-
points.push.apply(points, points.slice(points.length - (normal ? 12 : 6)));
|
|
124
|
-
};
|
|
125
|
-
for (var i = 1; i < num * 0.5; i++) {
|
|
126
|
-
point = rotate(cx, cy, deg * i, cx, cy + radius);
|
|
127
|
-
if (i > 1)
|
|
128
|
-
copy2();
|
|
129
|
-
var point1 = rotate(cx, cz, deg * index, point[0], cz);
|
|
130
|
-
points.push(point1[0], point[1], point1[1]);
|
|
131
|
-
if (normal)
|
|
132
|
-
points.push(point1[0] - cx, point[1] - cy, point1[1] - cz);
|
|
133
|
-
if (i > 1)
|
|
134
|
-
copy2();
|
|
135
|
-
var point2 = rotate(cx, cz, deg * (index + 1), point[0], cz);
|
|
136
|
-
points.push(point2[0], point[1], point2[1]);
|
|
137
|
-
if (normal)
|
|
138
|
-
points.push(point2[0] - cx, point2[1] - cy, point2[1] - cz);
|
|
139
|
-
}
|
|
140
|
-
copy2();
|
|
141
|
-
points.push(cx, cy - radius, cz);
|
|
142
|
-
if (normal)
|
|
143
|
-
points.push(0, -radius, 0);
|
|
144
|
-
return points;
|
|
118
|
+
function sphereFragment (normal, cx, cy, cz, radius, num, index) {
|
|
119
|
+
var points = [cx, cy + radius, cz], deg = Math.PI * 2 / num, point;
|
|
120
|
+
if (normal)
|
|
121
|
+
points.push(0, radius, 0);
|
|
122
|
+
var copy2 = function () {
|
|
123
|
+
points.push.apply(points, points.slice(points.length - (normal ? 12 : 6)));
|
|
124
|
+
};
|
|
125
|
+
for (var i = 1; i < num * 0.5; i++) {
|
|
126
|
+
point = rotate(cx, cy, deg * i, cx, cy + radius);
|
|
127
|
+
if (i > 1)
|
|
128
|
+
copy2();
|
|
129
|
+
var point1 = rotate(cx, cz, deg * index, point[0], cz);
|
|
130
|
+
points.push(point1[0], point[1], point1[1]);
|
|
131
|
+
if (normal)
|
|
132
|
+
points.push(point1[0] - cx, point[1] - cy, point1[1] - cz);
|
|
133
|
+
if (i > 1)
|
|
134
|
+
copy2();
|
|
135
|
+
var point2 = rotate(cx, cz, deg * (index + 1), point[0], cz);
|
|
136
|
+
points.push(point2[0], point[1], point2[1]);
|
|
137
|
+
if (normal)
|
|
138
|
+
points.push(point2[0] - cx, point2[1] - cy, point2[1] - cz);
|
|
139
|
+
}
|
|
140
|
+
copy2();
|
|
141
|
+
points.push(cx, cy - radius, cz);
|
|
142
|
+
if (normal)
|
|
143
|
+
points.push(0, -radius, 0);
|
|
144
|
+
return points;
|
|
145
145
|
}
|
|
146
146
|
|
|
147
|
-
function mergeOption (option, defaultOption) {
|
|
148
|
-
for (var key in option) {
|
|
149
|
-
defaultOption[key] = option[key];
|
|
150
|
-
}
|
|
151
|
-
return defaultOption;
|
|
147
|
+
function mergeOption (option, defaultOption) {
|
|
148
|
+
for (var key in option) {
|
|
149
|
+
defaultOption[key] = option[key];
|
|
150
|
+
}
|
|
151
|
+
return defaultOption;
|
|
152
152
|
}
|
|
153
153
|
|
|
154
|
-
var Geometry = (function () {
|
|
155
|
-
function Geometry(option) {
|
|
156
|
-
if (option === void 0) { option = {}; }
|
|
157
|
-
this.name = 'Geometry';
|
|
158
|
-
this.__option = mergeOption(option, {
|
|
159
|
-
precision: 0.1,
|
|
160
|
-
normal: false,
|
|
161
|
-
});
|
|
162
|
-
}
|
|
163
|
-
Geometry.prototype.config = function (option) {
|
|
164
|
-
for (var key in option) {
|
|
165
|
-
this.__option[key] = option[key];
|
|
166
|
-
}
|
|
167
|
-
return this;
|
|
168
|
-
};
|
|
169
|
-
Geometry.prototype.cylinder = function (x, y, z, radius, height) {
|
|
170
|
-
var num = splitNum(this.__option.precision, radius);
|
|
171
|
-
return this.prism(x, y, z, radius, height, num);
|
|
172
|
-
};
|
|
173
|
-
Geometry.prototype.prism = function (x, y, z, radius, height, num) {
|
|
174
|
-
var _a, _b, _c;
|
|
175
|
-
var result = [{
|
|
176
|
-
points: [],
|
|
177
|
-
length: 0,
|
|
178
|
-
method: "TRIANGLES"
|
|
179
|
-
}];
|
|
180
|
-
(_a = result[0].points).push.apply(_a, prismHorizontal(this.__option.normal, x, y, z, radius, num, height > 0 ? -1 : 1));
|
|
181
|
-
(_b = result[0].points).push.apply(_b, prismHorizontal(this.__option.normal, x, y + height, z, radius, num, height > 0 ? 1 : -1));
|
|
182
|
-
(_c = result[0].points).push.apply(_c, prismVertical(this.__option.normal, x, y, z, radius, height, num));
|
|
183
|
-
result[0].length = 12 * num;
|
|
184
|
-
return result;
|
|
185
|
-
};
|
|
186
|
-
Geometry.prototype.sphere = function (cx, cy, cz, radius) {
|
|
187
|
-
var _a;
|
|
188
|
-
var num = splitNum(this.__option.precision, radius);
|
|
189
|
-
var result = [{
|
|
190
|
-
points: [],
|
|
191
|
-
length: 0,
|
|
192
|
-
method: "TRIANGLES"
|
|
193
|
-
}];
|
|
194
|
-
for (var i = 0; i < num; i++) {
|
|
195
|
-
(_a = result[0].points).push.apply(_a, sphereFragment(this.__option.normal, cx, cy, cz, radius, num, i));
|
|
196
|
-
}
|
|
197
|
-
result[0].length = result[0].points.length / (this.__option.normal ? 6 : 3);
|
|
198
|
-
return result;
|
|
199
|
-
};
|
|
200
|
-
return Geometry;
|
|
154
|
+
var Geometry = (function () {
|
|
155
|
+
function Geometry(option) {
|
|
156
|
+
if (option === void 0) { option = {}; }
|
|
157
|
+
this.name = 'Geometry';
|
|
158
|
+
this.__option = mergeOption(option, {
|
|
159
|
+
precision: 0.1,
|
|
160
|
+
normal: false,
|
|
161
|
+
});
|
|
162
|
+
}
|
|
163
|
+
Geometry.prototype.config = function (option) {
|
|
164
|
+
for (var key in option) {
|
|
165
|
+
this.__option[key] = option[key];
|
|
166
|
+
}
|
|
167
|
+
return this;
|
|
168
|
+
};
|
|
169
|
+
Geometry.prototype.cylinder = function (x, y, z, radius, height) {
|
|
170
|
+
var num = splitNum(this.__option.precision, radius);
|
|
171
|
+
return this.prism(x, y, z, radius, height, num);
|
|
172
|
+
};
|
|
173
|
+
Geometry.prototype.prism = function (x, y, z, radius, height, num) {
|
|
174
|
+
var _a, _b, _c;
|
|
175
|
+
var result = [{
|
|
176
|
+
points: [],
|
|
177
|
+
length: 0,
|
|
178
|
+
method: "TRIANGLES"
|
|
179
|
+
}];
|
|
180
|
+
(_a = result[0].points).push.apply(_a, prismHorizontal(this.__option.normal, x, y, z, radius, num, height > 0 ? -1 : 1));
|
|
181
|
+
(_b = result[0].points).push.apply(_b, prismHorizontal(this.__option.normal, x, y + height, z, radius, num, height > 0 ? 1 : -1));
|
|
182
|
+
(_c = result[0].points).push.apply(_c, prismVertical(this.__option.normal, x, y, z, radius, height, num));
|
|
183
|
+
result[0].length = 12 * num;
|
|
184
|
+
return result;
|
|
185
|
+
};
|
|
186
|
+
Geometry.prototype.sphere = function (cx, cy, cz, radius) {
|
|
187
|
+
var _a;
|
|
188
|
+
var num = splitNum(this.__option.precision, radius);
|
|
189
|
+
var result = [{
|
|
190
|
+
points: [],
|
|
191
|
+
length: 0,
|
|
192
|
+
method: "TRIANGLES"
|
|
193
|
+
}];
|
|
194
|
+
for (var i = 0; i < num; i++) {
|
|
195
|
+
(_a = result[0].points).push.apply(_a, sphereFragment(this.__option.normal, cx, cy, cz, radius, num, i));
|
|
196
|
+
}
|
|
197
|
+
result[0].length = result[0].points.length / (this.__option.normal ? 6 : 3);
|
|
198
|
+
return result;
|
|
199
|
+
};
|
|
200
|
+
return Geometry;
|
|
201
201
|
}());
|
|
202
202
|
|
|
203
203
|
return Geometry;
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* VISLite JavaScript Library v0.5.2
|
|
2
|
+
* VISLite JavaScript Library v0.5.2
|
|
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: Sat Nov 04 2023 09:25:44 GMT+0800 (中国标准时间)
|
|
10
10
|
*/
|
|
11
11
|
var t,n;t=this,n=function(){"use strict";var t=function(t,n){var p=Math.ceil(2*Math.PI/Math.asin(t/n)*2);return isNaN(p)||p<12?12:p};function n(t,n,p,o,r){var i=Math.cos(p),e=Math.sin(p);return[(o-t)*i-(r-n)*e+t,(o-t)*e+(r-n)*i+n]}function p(t,p,o,r,i,e,s){var u,a;if(4==e){var h=i/1.414;u=p+h,a=r+h}else u=p+i,a=r;for(var l=[u,a],f=[],c=2*Math.PI/e,y=0;y<e;y++)f.push(p,o,r),t&&f.push(0,s,0),f.push(l[0],o,l[1]),t&&f.push(0,s,0),l=n(p,r,c*(y+1),u,a),f.push(l[0],o,l[1]),t&&f.push(0,s,0);return f}function o(t,n,p){if(p||2===arguments.length)for(var o,r=0,i=n.length;r<i;r++)!o&&r in n||(o||(o=Array.prototype.slice.call(n,0,r)),o[r]=n[r]);return t.concat(o||Array.prototype.slice.call(n))}function r(t,p,o,r,i,e,s){var u,a=[p,o+i,r],h=2*Math.PI/e;t&&a.push(0,i,0);for(var l=function(){a.push.apply(a,a.slice(a.length-(t?12:6)))},f=1;f<.5*e;f++){u=n(p,o,h*f,p,o+i),f>1&&l();var c=n(p,r,h*s,u[0],r);a.push(c[0],u[1],c[1]),t&&a.push(c[0]-p,u[1]-o,c[1]-r),f>1&&l();var y=n(p,r,h*(s+1),u[0],r);a.push(y[0],u[1],y[1]),t&&a.push(y[0]-p,y[1]-o,y[1]-r)}return l(),a.push(p,o-i,r),t&&a.push(0,-i,0),a}return"function"==typeof SuppressedError&&SuppressedError,function(){function i(t){void 0===t&&(t={}),this.name="Geometry",this.__option=function(t,n){for(var p in t)n[p]=t[p];return n}(t,{precision:.1,normal:!1})}return i.prototype.config=function(t){for(var n in t)this.__option[n]=t[n];return this},i.prototype.cylinder=function(n,p,o,r,i){var e=t(this.__option.precision,r);return this.prism(n,p,o,r,i,e)},i.prototype.prism=function(t,r,i,e,s,u){var a,h,l,f=[{points:[],length:0,method:"TRIANGLES"}];return(a=f[0].points).push.apply(a,p(this.__option.normal,t,r,i,e,u,s>0?-1:1)),(h=f[0].points).push.apply(h,p(this.__option.normal,t,r+s,i,e,u,s>0?1:-1)),(l=f[0].points).push.apply(l,function(t,p,r,i,e,s,u){var a,h=[];a=4==u?n(p,i,.25*Math.PI,p-e,i):[p+e,i];for(var l,f=2*Math.PI/u,c=2*Math.PI/(2*u),y=[],v=0;v<u;v++){if(l=n.apply(void 0,o([p,i,f],a,!1)),t){var _=n.apply(void 0,o([p,i,c],a,!1));y=[_[0],0,_[1]]}h.push.apply(h,o([a[0],r,a[1]],y,!1)),h.push.apply(h,o([a[0],r+s,a[1]],y,!1)),h.push.apply(h,o([l[0],r+s,l[1]],y,!1)),h.push.apply(h,o([a[0],r,a[1]],y,!1)),h.push.apply(h,o([l[0],r,l[1]],y,!1)),h.push.apply(h,o([l[0],r+s,l[1]],y,!1)),a=l}return h}(this.__option.normal,t,r,i,e,s,u)),f[0].length=12*u,f},i.prototype.sphere=function(n,p,o,i){for(var e,s=t(this.__option.precision,i),u=[{points:[],length:0,method:"TRIANGLES"}],a=0;a<s;a++)(e=u[0].points).push.apply(e,r(this.__option.normal,n,p,o,i,s,a));return u[0].length=u[0].points.length/(this.__option.normal?6:3),u},i}()},"object"==typeof exports&&"undefined"!=typeof module?module.exports=n():"function"==typeof define&&define.amd?define(n):(t="undefined"!=typeof globalThis?globalThis:t||self).VISLite_Geometry=n();
|
package/lib/Hermite/index.umd.js
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* VISLite JavaScript Library v0.5.2
|
|
2
|
+
* VISLite JavaScript Library v0.5.2
|
|
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: Sat Nov 04 2023 09:25:44 GMT+0800 (中国标准时间)
|
|
10
10
|
*/
|
|
11
11
|
(function (global, factory) {
|
|
12
12
|
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
|
|
@@ -14,40 +14,40 @@
|
|
|
14
14
|
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.VISLite_Hermite = factory());
|
|
15
15
|
})(this, (function () { 'use strict';
|
|
16
16
|
|
|
17
|
-
var Hermite = (function () {
|
|
18
|
-
function Hermite(u) {
|
|
19
|
-
if (u === void 0) { u = 0.5; }
|
|
20
|
-
this.name = 'Hermite';
|
|
21
|
-
this.__u = u;
|
|
22
|
-
}
|
|
23
|
-
Hermite.prototype.setP = function (x1, y1, x2, y2, s1, s2) {
|
|
24
|
-
if (x1 < x2) {
|
|
25
|
-
this.__a = x1;
|
|
26
|
-
this.__b = x2;
|
|
27
|
-
var p3 = this.__u * s1, p4 = this.__u * s2;
|
|
28
|
-
y1 /= (x2 - x1);
|
|
29
|
-
y2 /= (x2 - x1);
|
|
30
|
-
this.__MR = [
|
|
31
|
-
2 * y1 - 2 * y2 + p3 + p4,
|
|
32
|
-
3 * y2 - 3 * y1 - 2 * p3 - p4,
|
|
33
|
-
p3,
|
|
34
|
-
y1
|
|
35
|
-
];
|
|
36
|
-
}
|
|
37
|
-
else
|
|
38
|
-
throw new Error('The point x-position should be increamented!');
|
|
39
|
-
return this;
|
|
40
|
-
};
|
|
41
|
-
Hermite.prototype.use = function (x) {
|
|
42
|
-
if (this.__MR) {
|
|
43
|
-
var sx = (x - this.__a) / (this.__b - this.__a), sx2 = sx * sx, sx3 = sx * sx2;
|
|
44
|
-
var sResult = sx3 * this.__MR[0] + sx2 * this.__MR[1] + sx * this.__MR[2] + this.__MR[3];
|
|
45
|
-
return sResult * (this.__b - this.__a);
|
|
46
|
-
}
|
|
47
|
-
else
|
|
48
|
-
throw new Error('You shoud first set the position!');
|
|
49
|
-
};
|
|
50
|
-
return Hermite;
|
|
17
|
+
var Hermite = (function () {
|
|
18
|
+
function Hermite(u) {
|
|
19
|
+
if (u === void 0) { u = 0.5; }
|
|
20
|
+
this.name = 'Hermite';
|
|
21
|
+
this.__u = u;
|
|
22
|
+
}
|
|
23
|
+
Hermite.prototype.setP = function (x1, y1, x2, y2, s1, s2) {
|
|
24
|
+
if (x1 < x2) {
|
|
25
|
+
this.__a = x1;
|
|
26
|
+
this.__b = x2;
|
|
27
|
+
var p3 = this.__u * s1, p4 = this.__u * s2;
|
|
28
|
+
y1 /= (x2 - x1);
|
|
29
|
+
y2 /= (x2 - x1);
|
|
30
|
+
this.__MR = [
|
|
31
|
+
2 * y1 - 2 * y2 + p3 + p4,
|
|
32
|
+
3 * y2 - 3 * y1 - 2 * p3 - p4,
|
|
33
|
+
p3,
|
|
34
|
+
y1
|
|
35
|
+
];
|
|
36
|
+
}
|
|
37
|
+
else
|
|
38
|
+
throw new Error('The point x-position should be increamented!');
|
|
39
|
+
return this;
|
|
40
|
+
};
|
|
41
|
+
Hermite.prototype.use = function (x) {
|
|
42
|
+
if (this.__MR) {
|
|
43
|
+
var sx = (x - this.__a) / (this.__b - this.__a), sx2 = sx * sx, sx3 = sx * sx2;
|
|
44
|
+
var sResult = sx3 * this.__MR[0] + sx2 * this.__MR[1] + sx * this.__MR[2] + this.__MR[3];
|
|
45
|
+
return sResult * (this.__b - this.__a);
|
|
46
|
+
}
|
|
47
|
+
else
|
|
48
|
+
throw new Error('You shoud first set the position!');
|
|
49
|
+
};
|
|
50
|
+
return Hermite;
|
|
51
51
|
}());
|
|
52
52
|
|
|
53
53
|
return Hermite;
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* VISLite JavaScript Library v0.5.2
|
|
2
|
+
* VISLite JavaScript Library v0.5.2
|
|
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: Sat Nov 04 2023 09:25:44 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();
|