vislite 0.5.0 → 0.5.2-alpha.1
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 +137 -132
- 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 +524 -524
- package/lib/OralWebGL/index.es.min.js +2 -2
- package/lib/SVG/index.umd.js +406 -406
- package/lib/SVG/index.umd.min.js +2 -2
- package/lib/Shader/index.umd.js +61 -61
- package/lib/Shader/index.umd.min.js +2 -2
- 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 +571 -571
- package/lib/WebGL/index.umd.min.js +2 -2
- 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 +2647 -2647
- package/lib/index.umd.min.js +2 -2
- 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/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/package/Geometry/index.ts +2 -2
- package/package/index.ts +72 -72
- package/package.json +66 -66
- package/src/Eoap.ts +66 -66
- package/src/Geometry.ts +82 -82
- package/src/Matrix4/index.ts +76 -76
- package/src/Mercator.ts +27 -27
- package/src/TreeLayout/index.ts +186 -186
- 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/svg/index.ts +344 -344
- package/src/rotate.ts +7 -7
- package/types/CanvasConfig.d.ts +106 -106
- package/types/Geometry.d.ts +40 -40
- package/types/GeometryOption.d.ts +11 -11
- package/types/GeometryResult.d.ts +18 -18
- package/types/Map.d.ts +9 -9
- package/types/Matrix4.d.ts +42 -42
- package/types/SVG.d.ts +215 -215
- package/types/TreeLayout.d.ts +54 -54
- package/types/index.d.ts +169 -169
- package/types/rotate.d.ts +2 -2
- package/uni-app/ui-canvas.vue +206 -202
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* VISLite JavaScript Library v0.5.
|
|
2
|
+
* VISLite JavaScript Library v0.5.2-alpha.1
|
|
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: Thu Oct 12 2023 15:44:35 GMT+0800 (China Standard Time)
|
|
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
|
+
* VISLite JavaScript Library v0.5.2-alpha.1
|
|
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: Thu Oct 12 2023 15:44:35 GMT+0800 (China Standard Time)
|
|
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
|
+
* VISLite JavaScript Library v0.5.2-alpha.1
|
|
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: Thu Oct 12 2023 15:44:35 GMT+0800 (China Standard Time)
|
|
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
|
+
* VISLite JavaScript Library v0.5.2-alpha.1
|
|
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: Thu Oct 12 2023 15:44:35 GMT+0800 (China Standard Time)
|
|
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();
|