viral-viewer-2 2.4.7 → 2.4.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/worker/viral-viewer-2.worker.d.ts +1 -0
- package/dist/components/worker/viral-viewer-2.worker.js +13 -2
- package/dist/components/worker/viral-viewer-2.worker.js.map +1 -1
- package/dist/threejs-addon/buffer-geometry-utils.d.ts +64 -0
- package/dist/threejs-addon/buffer-geometry-utils.js +807 -0
- package/dist/threejs-addon/buffer-geometry-utils.js.map +1 -0
- package/dist/threejs-addon/simplify-modifier.d.ts +4 -0
- package/dist/threejs-addon/simplify-modifier.js +322 -0
- package/dist/threejs-addon/simplify-modifier.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"buffer-geometry-utils.js","sourceRoot":"","sources":["../../src/threejs-addon/buffer-geometry-utils.js"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,322 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SimplifyModifier = void 0;
|
|
4
|
+
const three_1 = require("three");
|
|
5
|
+
const BufferGeometryUtils = require(".buffer-geometry-utils.js");
|
|
6
|
+
/**
|
|
7
|
+
* Simplification Geometry Modifier
|
|
8
|
+
* - based on code and technique
|
|
9
|
+
* - by Stan Melax in 1998
|
|
10
|
+
* - Progressive Mesh type Polygon Reduction Algorithm
|
|
11
|
+
* - http://www.melax.com/polychop/
|
|
12
|
+
*/
|
|
13
|
+
const _cb = new three_1.Vector3(), _ab = new three_1.Vector3();
|
|
14
|
+
class SimplifyModifier {
|
|
15
|
+
modify(geometry, count) {
|
|
16
|
+
geometry = geometry.clone();
|
|
17
|
+
const attributes = geometry.attributes;
|
|
18
|
+
// this modifier can only process indexed and non-indexed geomtries with a position attribute
|
|
19
|
+
for (const name in attributes) {
|
|
20
|
+
if (name !== 'position')
|
|
21
|
+
geometry.deleteAttribute(name);
|
|
22
|
+
}
|
|
23
|
+
geometry = BufferGeometryUtils.mergeVertices(geometry);
|
|
24
|
+
//
|
|
25
|
+
// put data of original geometry in different data structures
|
|
26
|
+
//
|
|
27
|
+
const vertices = [];
|
|
28
|
+
const faces = [];
|
|
29
|
+
// add vertices
|
|
30
|
+
const positionAttribute = geometry.getAttribute('position');
|
|
31
|
+
for (let i = 0; i < positionAttribute.count; i++) {
|
|
32
|
+
const v = new three_1.Vector3().fromBufferAttribute(positionAttribute, i);
|
|
33
|
+
const vertex = new Vertex(v);
|
|
34
|
+
vertices.push(vertex);
|
|
35
|
+
}
|
|
36
|
+
// add faces
|
|
37
|
+
let index = geometry.getIndex();
|
|
38
|
+
if (index !== null) {
|
|
39
|
+
for (let i = 0; i < index.count; i += 3) {
|
|
40
|
+
const a = index.getX(i);
|
|
41
|
+
const b = index.getX(i + 1);
|
|
42
|
+
const c = index.getX(i + 2);
|
|
43
|
+
const triangle = new Triangle(vertices[a], vertices[b], vertices[c], a, b, c);
|
|
44
|
+
faces.push(triangle);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
else {
|
|
48
|
+
for (let i = 0; i < positionAttribute.count; i += 3) {
|
|
49
|
+
const a = i;
|
|
50
|
+
const b = i + 1;
|
|
51
|
+
const c = i + 2;
|
|
52
|
+
const triangle = new Triangle(vertices[a], vertices[b], vertices[c], a, b, c);
|
|
53
|
+
faces.push(triangle);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
// compute all edge collapse costs
|
|
57
|
+
for (let i = 0, il = vertices.length; i < il; i++) {
|
|
58
|
+
computeEdgeCostAtVertex(vertices[i]);
|
|
59
|
+
}
|
|
60
|
+
let nextVertex;
|
|
61
|
+
let z = count;
|
|
62
|
+
while (z--) {
|
|
63
|
+
nextVertex = minimumCostEdge(vertices);
|
|
64
|
+
if (!nextVertex) {
|
|
65
|
+
console.log('THREE.SimplifyModifier: No next vertex');
|
|
66
|
+
break;
|
|
67
|
+
}
|
|
68
|
+
collapse(vertices, faces, nextVertex, nextVertex.collapseNeighbor);
|
|
69
|
+
}
|
|
70
|
+
//
|
|
71
|
+
const simplifiedGeometry = new three_1.BufferGeometry();
|
|
72
|
+
const position = [];
|
|
73
|
+
index = [];
|
|
74
|
+
//
|
|
75
|
+
for (let i = 0; i < vertices.length; i++) {
|
|
76
|
+
const vertex = vertices[i].position;
|
|
77
|
+
position.push(vertex.x, vertex.y, vertex.z);
|
|
78
|
+
// cache final index to GREATLY speed up faces reconstruction
|
|
79
|
+
vertices[i].id = i;
|
|
80
|
+
}
|
|
81
|
+
//
|
|
82
|
+
for (let i = 0; i < faces.length; i++) {
|
|
83
|
+
const face = faces[i];
|
|
84
|
+
index.push(face.v1.id, face.v2.id, face.v3.id);
|
|
85
|
+
}
|
|
86
|
+
//
|
|
87
|
+
simplifiedGeometry.setAttribute('position', new three_1.Float32BufferAttribute(position, 3));
|
|
88
|
+
simplifiedGeometry.setIndex(index);
|
|
89
|
+
return simplifiedGeometry;
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
exports.SimplifyModifier = SimplifyModifier;
|
|
93
|
+
function pushIfUnique(array, object) {
|
|
94
|
+
if (array.indexOf(object) === -1)
|
|
95
|
+
array.push(object);
|
|
96
|
+
}
|
|
97
|
+
function removeFromArray(array, object) {
|
|
98
|
+
const k = array.indexOf(object);
|
|
99
|
+
if (k > -1)
|
|
100
|
+
array.splice(k, 1);
|
|
101
|
+
}
|
|
102
|
+
function computeEdgeCollapseCost(u, v) {
|
|
103
|
+
// if we collapse edge uv by moving u to v then how
|
|
104
|
+
// much different will the model change, i.e. the "error".
|
|
105
|
+
const edgelength = v.position.distanceTo(u.position);
|
|
106
|
+
let curvature = 0;
|
|
107
|
+
const sideFaces = [];
|
|
108
|
+
// find the "sides" triangles that are on the edge uv
|
|
109
|
+
for (let i = 0, il = u.faces.length; i < il; i++) {
|
|
110
|
+
const face = u.faces[i];
|
|
111
|
+
if (face.hasVertex(v)) {
|
|
112
|
+
sideFaces.push(face);
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
// use the triangle facing most away from the sides
|
|
116
|
+
// to determine our curvature term
|
|
117
|
+
for (let i = 0, il = u.faces.length; i < il; i++) {
|
|
118
|
+
let minCurvature = 1;
|
|
119
|
+
const face = u.faces[i];
|
|
120
|
+
for (let j = 0; j < sideFaces.length; j++) {
|
|
121
|
+
const sideFace = sideFaces[j];
|
|
122
|
+
// use dot product of face normals.
|
|
123
|
+
const dotProd = face.normal.dot(sideFace.normal);
|
|
124
|
+
minCurvature = Math.min(minCurvature, (1.001 - dotProd) / 2);
|
|
125
|
+
}
|
|
126
|
+
curvature = Math.max(curvature, minCurvature);
|
|
127
|
+
}
|
|
128
|
+
// crude approach in attempt to preserve borders
|
|
129
|
+
// though it seems not to be totally correct
|
|
130
|
+
const borders = 0;
|
|
131
|
+
if (sideFaces.length < 2) {
|
|
132
|
+
// we add some arbitrary cost for borders,
|
|
133
|
+
// borders += 10;
|
|
134
|
+
curvature = 1;
|
|
135
|
+
}
|
|
136
|
+
const amt = edgelength * curvature + borders;
|
|
137
|
+
return amt;
|
|
138
|
+
}
|
|
139
|
+
function computeEdgeCostAtVertex(v) {
|
|
140
|
+
// compute the edge collapse cost for all edges that start
|
|
141
|
+
// from vertex v. Since we are only interested in reducing
|
|
142
|
+
// the object by selecting the min cost edge at each step, we
|
|
143
|
+
// only cache the cost of the least cost edge at this vertex
|
|
144
|
+
// (in member variable collapse) as well as the value of the
|
|
145
|
+
// cost (in member variable collapseCost).
|
|
146
|
+
if (v.neighbors.length === 0) {
|
|
147
|
+
// collapse if no neighbors.
|
|
148
|
+
v.collapseNeighbor = null;
|
|
149
|
+
v.collapseCost = -0.01;
|
|
150
|
+
return;
|
|
151
|
+
}
|
|
152
|
+
v.collapseCost = 100000;
|
|
153
|
+
v.collapseNeighbor = null;
|
|
154
|
+
// search all neighboring edges for "least cost" edge
|
|
155
|
+
for (let i = 0; i < v.neighbors.length; i++) {
|
|
156
|
+
const collapseCost = computeEdgeCollapseCost(v, v.neighbors[i]);
|
|
157
|
+
if (!v.collapseNeighbor) {
|
|
158
|
+
v.collapseNeighbor = v.neighbors[i];
|
|
159
|
+
v.collapseCost = collapseCost;
|
|
160
|
+
v.minCost = collapseCost;
|
|
161
|
+
v.totalCost = 0;
|
|
162
|
+
v.costCount = 0;
|
|
163
|
+
}
|
|
164
|
+
v.costCount++;
|
|
165
|
+
v.totalCost += collapseCost;
|
|
166
|
+
if (collapseCost < v.minCost) {
|
|
167
|
+
v.collapseNeighbor = v.neighbors[i];
|
|
168
|
+
v.minCost = collapseCost;
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
// we average the cost of collapsing at this vertex
|
|
172
|
+
v.collapseCost = v.totalCost / v.costCount;
|
|
173
|
+
// v.collapseCost = v.minCost;
|
|
174
|
+
}
|
|
175
|
+
function removeVertex(v, vertices) {
|
|
176
|
+
console.assert(v.faces.length === 0);
|
|
177
|
+
while (v.neighbors.length) {
|
|
178
|
+
const n = v.neighbors.pop();
|
|
179
|
+
removeFromArray(n.neighbors, v);
|
|
180
|
+
}
|
|
181
|
+
removeFromArray(vertices, v);
|
|
182
|
+
}
|
|
183
|
+
function removeFace(f, faces) {
|
|
184
|
+
removeFromArray(faces, f);
|
|
185
|
+
if (f.v1)
|
|
186
|
+
removeFromArray(f.v1.faces, f);
|
|
187
|
+
if (f.v2)
|
|
188
|
+
removeFromArray(f.v2.faces, f);
|
|
189
|
+
if (f.v3)
|
|
190
|
+
removeFromArray(f.v3.faces, f);
|
|
191
|
+
// TODO optimize this!
|
|
192
|
+
const vs = [f.v1, f.v2, f.v3];
|
|
193
|
+
for (let i = 0; i < 3; i++) {
|
|
194
|
+
const v1 = vs[i];
|
|
195
|
+
const v2 = vs[(i + 1) % 3];
|
|
196
|
+
if (!v1 || !v2)
|
|
197
|
+
continue;
|
|
198
|
+
v1.removeIfNonNeighbor(v2);
|
|
199
|
+
v2.removeIfNonNeighbor(v1);
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
function collapse(vertices, faces, u, v) {
|
|
203
|
+
// Collapse the edge uv by moving vertex u onto v
|
|
204
|
+
if (!v) {
|
|
205
|
+
// u is a vertex all by itself so just delete it..
|
|
206
|
+
removeVertex(u, vertices);
|
|
207
|
+
return;
|
|
208
|
+
}
|
|
209
|
+
const tmpVertices = [];
|
|
210
|
+
for (let i = 0; i < u.neighbors.length; i++) {
|
|
211
|
+
tmpVertices.push(u.neighbors[i]);
|
|
212
|
+
}
|
|
213
|
+
// delete triangles on edge uv:
|
|
214
|
+
for (let i = u.faces.length - 1; i >= 0; i--) {
|
|
215
|
+
if (u.faces[i] && u.faces[i].hasVertex(v)) {
|
|
216
|
+
removeFace(u.faces[i], faces);
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
// update remaining triangles to have v instead of u
|
|
220
|
+
for (let i = u.faces.length - 1; i >= 0; i--) {
|
|
221
|
+
u.faces[i].replaceVertex(u, v);
|
|
222
|
+
}
|
|
223
|
+
removeVertex(u, vertices);
|
|
224
|
+
// recompute the edge collapse costs in neighborhood
|
|
225
|
+
for (let i = 0; i < tmpVertices.length; i++) {
|
|
226
|
+
computeEdgeCostAtVertex(tmpVertices[i]);
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
function minimumCostEdge(vertices) {
|
|
230
|
+
// O(n * n) approach. TODO optimize this
|
|
231
|
+
let least = vertices[0];
|
|
232
|
+
for (let i = 0; i < vertices.length; i++) {
|
|
233
|
+
if (vertices[i].collapseCost < least.collapseCost) {
|
|
234
|
+
least = vertices[i];
|
|
235
|
+
}
|
|
236
|
+
}
|
|
237
|
+
return least;
|
|
238
|
+
}
|
|
239
|
+
// we use a triangle class to represent structure of face slightly differently
|
|
240
|
+
class Triangle {
|
|
241
|
+
constructor(v1, v2, v3, a, b, c) {
|
|
242
|
+
this.a = a;
|
|
243
|
+
this.b = b;
|
|
244
|
+
this.c = c;
|
|
245
|
+
this.v1 = v1;
|
|
246
|
+
this.v2 = v2;
|
|
247
|
+
this.v3 = v3;
|
|
248
|
+
this.normal = new three_1.Vector3();
|
|
249
|
+
this.computeNormal();
|
|
250
|
+
v1.faces.push(this);
|
|
251
|
+
v1.addUniqueNeighbor(v2);
|
|
252
|
+
v1.addUniqueNeighbor(v3);
|
|
253
|
+
v2.faces.push(this);
|
|
254
|
+
v2.addUniqueNeighbor(v1);
|
|
255
|
+
v2.addUniqueNeighbor(v3);
|
|
256
|
+
v3.faces.push(this);
|
|
257
|
+
v3.addUniqueNeighbor(v1);
|
|
258
|
+
v3.addUniqueNeighbor(v2);
|
|
259
|
+
}
|
|
260
|
+
computeNormal() {
|
|
261
|
+
const vA = this.v1.position;
|
|
262
|
+
const vB = this.v2.position;
|
|
263
|
+
const vC = this.v3.position;
|
|
264
|
+
_cb.subVectors(vC, vB);
|
|
265
|
+
_ab.subVectors(vA, vB);
|
|
266
|
+
_cb.cross(_ab).normalize();
|
|
267
|
+
this.normal.copy(_cb);
|
|
268
|
+
}
|
|
269
|
+
hasVertex(v) {
|
|
270
|
+
return v === this.v1 || v === this.v2 || v === this.v3;
|
|
271
|
+
}
|
|
272
|
+
replaceVertex(oldv, newv) {
|
|
273
|
+
if (oldv === this.v1)
|
|
274
|
+
this.v1 = newv;
|
|
275
|
+
else if (oldv === this.v2)
|
|
276
|
+
this.v2 = newv;
|
|
277
|
+
else if (oldv === this.v3)
|
|
278
|
+
this.v3 = newv;
|
|
279
|
+
removeFromArray(oldv.faces, this);
|
|
280
|
+
newv.faces.push(this);
|
|
281
|
+
oldv.removeIfNonNeighbor(this.v1);
|
|
282
|
+
this.v1.removeIfNonNeighbor(oldv);
|
|
283
|
+
oldv.removeIfNonNeighbor(this.v2);
|
|
284
|
+
this.v2.removeIfNonNeighbor(oldv);
|
|
285
|
+
oldv.removeIfNonNeighbor(this.v3);
|
|
286
|
+
this.v3.removeIfNonNeighbor(oldv);
|
|
287
|
+
this.v1.addUniqueNeighbor(this.v2);
|
|
288
|
+
this.v1.addUniqueNeighbor(this.v3);
|
|
289
|
+
this.v2.addUniqueNeighbor(this.v1);
|
|
290
|
+
this.v2.addUniqueNeighbor(this.v3);
|
|
291
|
+
this.v3.addUniqueNeighbor(this.v1);
|
|
292
|
+
this.v3.addUniqueNeighbor(this.v2);
|
|
293
|
+
this.computeNormal();
|
|
294
|
+
}
|
|
295
|
+
}
|
|
296
|
+
class Vertex {
|
|
297
|
+
constructor(v) {
|
|
298
|
+
this.position = v;
|
|
299
|
+
this.id = -1; // external use position in vertices list (for e.g. face generation)
|
|
300
|
+
this.faces = []; // faces vertex is connected
|
|
301
|
+
this.neighbors = []; // neighbouring vertices aka "adjacentVertices"
|
|
302
|
+
// these will be computed in computeEdgeCostAtVertex()
|
|
303
|
+
this.collapseCost = 0; // cost of collapsing this vertex, the less the better. aka objdist
|
|
304
|
+
this.collapseNeighbor = null; // best candinate for collapsing
|
|
305
|
+
}
|
|
306
|
+
addUniqueNeighbor(vertex) {
|
|
307
|
+
pushIfUnique(this.neighbors, vertex);
|
|
308
|
+
}
|
|
309
|
+
removeIfNonNeighbor(n) {
|
|
310
|
+
const neighbors = this.neighbors;
|
|
311
|
+
const faces = this.faces;
|
|
312
|
+
const offset = neighbors.indexOf(n);
|
|
313
|
+
if (offset === -1)
|
|
314
|
+
return;
|
|
315
|
+
for (let i = 0; i < faces.length; i++) {
|
|
316
|
+
if (faces[i].hasVertex(n))
|
|
317
|
+
return;
|
|
318
|
+
}
|
|
319
|
+
neighbors.splice(offset, 1);
|
|
320
|
+
}
|
|
321
|
+
}
|
|
322
|
+
//# sourceMappingURL=simplify-modifier.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"simplify-modifier.js","sourceRoot":"","sources":["../../src/threejs-addon/simplify-modifier.js"],"names":[],"mappings":"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"}
|