@shapediver/viewer.rendering-engine.rendering-engine-threejs 3.14.2 → 3.14.3

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.
@@ -0,0 +1,118 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Font = exports.FontLoader = void 0;
4
+ /* eslint-disable @typescript-eslint/no-explicit-any */
5
+ const three_1 = require("three");
6
+ class FontLoader extends three_1.Loader {
7
+ constructor(manager) {
8
+ super(manager);
9
+ }
10
+ load(url, onLoad, onProgress, onError) {
11
+ // eslint-disable-next-line @typescript-eslint/no-this-alias
12
+ const scope = this;
13
+ const loader = new three_1.FileLoader(this.manager);
14
+ loader.setPath(this.path);
15
+ loader.setRequestHeader(this.requestHeader);
16
+ loader.setWithCredentials(scope.withCredentials);
17
+ loader.load(url, function (text) {
18
+ let json;
19
+ try {
20
+ json = JSON.parse(text);
21
+ }
22
+ catch (e) {
23
+ console.warn('THREE.FontLoader: typeface.js support is being deprecated. Use typeface.json instead.');
24
+ json = JSON.parse(text.substring(65, text.length - 2));
25
+ }
26
+ const font = scope.parse(json);
27
+ if (onLoad)
28
+ onLoad(font);
29
+ }, onProgress, onError);
30
+ }
31
+ parse(json) {
32
+ return new Font(json);
33
+ }
34
+ }
35
+ exports.FontLoader = FontLoader;
36
+ //
37
+ class Font {
38
+ constructor(data) {
39
+ this.isFont = true;
40
+ this.type = 'Font';
41
+ this.data = data;
42
+ }
43
+ generateShapes(text, size = 100) {
44
+ const shapes = [];
45
+ const paths = createPaths(text, size, this.data);
46
+ for (let p = 0, pl = paths.length; p < pl; p++) {
47
+ Array.prototype.push.apply(shapes, paths[p].toShapes());
48
+ }
49
+ return shapes;
50
+ }
51
+ }
52
+ exports.Font = Font;
53
+ function createPaths(text, size, data) {
54
+ const chars = Array.from(text);
55
+ const scale = size / data.resolution;
56
+ const line_height = (data.boundingBox.yMax - data.boundingBox.yMin + data.underlineThickness) * scale;
57
+ const paths = [];
58
+ let offsetX = 0, offsetY = 0;
59
+ for (let i = 0; i < chars.length; i++) {
60
+ const char = chars[i];
61
+ if (char === '\n') {
62
+ offsetX = 0;
63
+ offsetY -= line_height;
64
+ }
65
+ else {
66
+ const ret = createPath(char, scale, offsetX, offsetY, data);
67
+ offsetX += ret.offsetX;
68
+ paths.push(ret.path);
69
+ }
70
+ }
71
+ return paths;
72
+ }
73
+ function createPath(char, scale, offsetX, offsetY, data) {
74
+ const glyph = data.glyphs[char] || data.glyphs['?'];
75
+ if (!glyph) {
76
+ console.error('THREE.Font: character "' + char + '" does not exists in font family ' + data.familyName + '.');
77
+ return;
78
+ }
79
+ const path = new three_1.ShapePath();
80
+ let x, y, cpx, cpy, cpx1, cpy1, cpx2, cpy2;
81
+ if (glyph.o) {
82
+ const outline = glyph._cachedOutline || (glyph._cachedOutline = glyph.o.split(' '));
83
+ for (let i = 0, l = outline.length; i < l;) {
84
+ const action = outline[i++];
85
+ switch (action) {
86
+ case 'm': // moveTo
87
+ x = outline[i++] * scale + offsetX;
88
+ y = outline[i++] * scale + offsetY;
89
+ path.moveTo(x, y);
90
+ break;
91
+ case 'l': // lineTo
92
+ x = outline[i++] * scale + offsetX;
93
+ y = outline[i++] * scale + offsetY;
94
+ path.lineTo(x, y);
95
+ break;
96
+ case 'q': // quadraticCurveTo
97
+ cpx = outline[i++] * scale + offsetX;
98
+ cpy = outline[i++] * scale + offsetY;
99
+ cpx1 = outline[i++] * scale + offsetX;
100
+ cpy1 = outline[i++] * scale + offsetY;
101
+ path.quadraticCurveTo(cpx1, cpy1, cpx, cpy);
102
+ break;
103
+ case 'b': // bezierCurveTo
104
+ cpx = outline[i++] * scale + offsetX;
105
+ cpy = outline[i++] * scale + offsetY;
106
+ cpx1 = outline[i++] * scale + offsetX;
107
+ cpy1 = outline[i++] * scale + offsetY;
108
+ cpx2 = outline[i++] * scale + offsetX;
109
+ cpy2 = outline[i++] * scale + offsetY;
110
+ path.bezierCurveTo(cpx1, cpy1, cpx2, cpy2, cpx, cpy);
111
+ break;
112
+ }
113
+ }
114
+ }
115
+ return { offsetX: glyph.ha * scale, path: path };
116
+ }
117
+ Font.prototype.isFont = true;
118
+ //# sourceMappingURL=FontLoader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FontLoader.js","sourceRoot":"","sources":["../../../src/three/loaders/FontLoader.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@shapediver/viewer.rendering-engine.rendering-engine-threejs",
3
- "version": "3.14.2",
3
+ "version": "3.14.3",
4
4
  "description": "",
5
5
  "keywords": [],
6
6
  "author": "Michael Oppitz <michael@shapediver.com>",
@@ -38,21 +38,21 @@
38
38
  "testEnvironment": "node"
39
39
  },
40
40
  "dependencies": {
41
- "@shapediver/viewer.data-engine.gltf-converter": "3.14.2",
42
- "@shapediver/viewer.data-engine.shared-types": "3.14.2",
43
- "@shapediver/viewer.data-engine.tag3d-engine": "3.14.2",
44
- "@shapediver/viewer.rendering-engine.animation-engine": "3.14.2",
45
- "@shapediver/viewer.rendering-engine.animation-frame-engine": "3.14.2",
46
- "@shapediver/viewer.rendering-engine.camera-engine": "3.14.2",
47
- "@shapediver/viewer.rendering-engine.canvas-engine": "3.14.2",
48
- "@shapediver/viewer.rendering-engine.intersection-engine": "3.14.2",
49
- "@shapediver/viewer.rendering-engine.light-engine": "3.14.2",
50
- "@shapediver/viewer.rendering-engine.rendering-engine": "3.14.2",
51
- "@shapediver/viewer.shared.global-access-objects": "3.14.2",
52
- "@shapediver/viewer.shared.math": "3.14.2",
53
- "@shapediver/viewer.shared.node-tree": "3.14.2",
54
- "@shapediver/viewer.shared.services": "3.14.2",
55
- "@shapediver/viewer.shared.types": "3.14.2",
41
+ "@shapediver/viewer.data-engine.gltf-converter": "3.14.3",
42
+ "@shapediver/viewer.data-engine.shared-types": "3.14.3",
43
+ "@shapediver/viewer.data-engine.tag3d-engine": "3.14.3",
44
+ "@shapediver/viewer.rendering-engine.animation-engine": "3.14.3",
45
+ "@shapediver/viewer.rendering-engine.animation-frame-engine": "3.14.3",
46
+ "@shapediver/viewer.rendering-engine.camera-engine": "3.14.3",
47
+ "@shapediver/viewer.rendering-engine.canvas-engine": "3.14.3",
48
+ "@shapediver/viewer.rendering-engine.intersection-engine": "3.14.3",
49
+ "@shapediver/viewer.rendering-engine.light-engine": "3.14.3",
50
+ "@shapediver/viewer.rendering-engine.rendering-engine": "3.14.3",
51
+ "@shapediver/viewer.shared.global-access-objects": "3.14.3",
52
+ "@shapediver/viewer.shared.math": "3.14.3",
53
+ "@shapediver/viewer.shared.node-tree": "3.14.3",
54
+ "@shapediver/viewer.shared.services": "3.14.3",
55
+ "@shapediver/viewer.shared.types": "3.14.3",
56
56
  "@tweenjs/tween.js": "^18.6.4",
57
57
  "@types/stats.js": "^0.17.0",
58
58
  "@types/three": "0.162.0",
@@ -61,5 +61,5 @@
61
61
  "stats.js": "^0.17.0",
62
62
  "three": "0.162.0"
63
63
  },
64
- "gitHead": "fa7874f42a1e88275ebd89c97c92d786e8b60bf5"
64
+ "gitHead": "4e47ccf637cfd3be823bbcbe28a1d83cbdb20301"
65
65
  }