@shapediver/viewer.data-engine.tag3d-engine 3.16.8 → 3.16.10
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/Tag3dEngine.d.ts +40 -40
- package/dist/Tag3dEngine.d.ts.map +1 -1
- package/dist/Tag3dEngine.js +337 -337
- package/dist/Tag3dEngine.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.js +5 -5
- package/package.json +9 -9
package/dist/Tag3dEngine.d.ts
CHANGED
|
@@ -1,41 +1,41 @@
|
|
|
1
|
-
import { ResOutputContent } from "@shapediver/sdk.geometry-api-sdk-v2";
|
|
2
|
-
import { ITreeNode } from "@shapediver/viewer.shared.node-tree";
|
|
3
|
-
/**
|
|
4
|
-
* The font info object contains the glb file path and the dimensions of the font.
|
|
5
|
-
*
|
|
6
|
-
* There can either be a single glb file for both ascii and non-ascii characters or separate glb files for each.
|
|
7
|
-
* The advantage of having separate glb files is that the ascii glb can be loaded once and the non-ascii glb can be loaded only when needed.
|
|
8
|
-
*/
|
|
9
|
-
export
|
|
10
|
-
ascii: string;
|
|
11
|
-
other: string;
|
|
12
|
-
};
|
|
13
|
-
export declare class Tag3dEngine {
|
|
14
|
-
private readonly _logger;
|
|
15
|
-
private static _asciiGlb;
|
|
16
|
-
private static _fontInfo;
|
|
17
|
-
private static _instance;
|
|
18
|
-
private static _mainGlb;
|
|
19
|
-
private static _nonAsciiGlb;
|
|
20
|
-
static get instance(): Tag3dEngine;
|
|
21
|
-
static setFontInfo(fontInfo: FontInfo): void;
|
|
22
|
-
/**
|
|
23
|
-
* Load the tag3d content into a scene graph node.
|
|
24
|
-
*
|
|
25
|
-
* @param content the tag3d content
|
|
26
|
-
* @returns the scene graph node
|
|
27
|
-
*/
|
|
28
|
-
loadContent(content: ResOutputContent): Promise<ITreeNode>;
|
|
29
|
-
/**
|
|
30
|
-
* Load the tag 3d content into separate characters.
|
|
31
|
-
* For each character, a node is created and the character is added as a geometry data object.
|
|
32
|
-
* The nodes are then added to a dictionary with the character as the key.
|
|
33
|
-
*
|
|
34
|
-
* Instance matrices are provided depending on the number of instances of the character.
|
|
35
|
-
*
|
|
36
|
-
* @param tag3dInfo
|
|
37
|
-
* @returns
|
|
38
|
-
*/
|
|
39
|
-
private loadTag;
|
|
40
|
-
}
|
|
1
|
+
import { ResOutputContent } from "@shapediver/sdk.geometry-api-sdk-v2";
|
|
2
|
+
import { ITreeNode } from "@shapediver/viewer.shared.node-tree";
|
|
3
|
+
/**
|
|
4
|
+
* The font info object contains the glb file path and the dimensions of the font.
|
|
5
|
+
*
|
|
6
|
+
* There can either be a single glb file for both ascii and non-ascii characters or separate glb files for each.
|
|
7
|
+
* The advantage of having separate glb files is that the ascii glb can be loaded once and the non-ascii glb can be loaded only when needed.
|
|
8
|
+
*/
|
|
9
|
+
export type FontInfo = string | {
|
|
10
|
+
ascii: string;
|
|
11
|
+
other: string;
|
|
12
|
+
};
|
|
13
|
+
export declare class Tag3dEngine {
|
|
14
|
+
private readonly _logger;
|
|
15
|
+
private static _asciiGlb;
|
|
16
|
+
private static _fontInfo;
|
|
17
|
+
private static _instance;
|
|
18
|
+
private static _mainGlb;
|
|
19
|
+
private static _nonAsciiGlb;
|
|
20
|
+
static get instance(): Tag3dEngine;
|
|
21
|
+
static setFontInfo(fontInfo: FontInfo): void;
|
|
22
|
+
/**
|
|
23
|
+
* Load the tag3d content into a scene graph node.
|
|
24
|
+
*
|
|
25
|
+
* @param content the tag3d content
|
|
26
|
+
* @returns the scene graph node
|
|
27
|
+
*/
|
|
28
|
+
loadContent(content: ResOutputContent): Promise<ITreeNode>;
|
|
29
|
+
/**
|
|
30
|
+
* Load the tag 3d content into separate characters.
|
|
31
|
+
* For each character, a node is created and the character is added as a geometry data object.
|
|
32
|
+
* The nodes are then added to a dictionary with the character as the key.
|
|
33
|
+
*
|
|
34
|
+
* Instance matrices are provided depending on the number of instances of the character.
|
|
35
|
+
*
|
|
36
|
+
* @param tag3dInfo
|
|
37
|
+
* @returns
|
|
38
|
+
*/
|
|
39
|
+
private loadTag;
|
|
40
|
+
}
|
|
41
41
|
//# sourceMappingURL=Tag3dEngine.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tag3dEngine.d.ts","sourceRoot":"","sources":["../src/Tag3dEngine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,gBAAgB,EAAC,MAAM,qCAAqC,CAAC;AAGrE,OAAO,EAIN,SAAS,EAGT,MAAM,qCAAqC,CAAC;AAU7C;;;;;GAKG;AACH,
|
|
1
|
+
{"version":3,"file":"Tag3dEngine.d.ts","sourceRoot":"","sources":["../src/Tag3dEngine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,gBAAgB,EAAC,MAAM,qCAAqC,CAAC;AAGrE,OAAO,EAIN,SAAS,EAGT,MAAM,qCAAqC,CAAC;AAU7C;;;;;GAKG;AACH,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAC,CAAC;AAM/D,qBAAa,WAAW;IAGvB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA2B;IAEnD,OAAO,CAAC,MAAM,CAAC,SAAS,CAAwB;IAChD,OAAO,CAAC,MAAM,CAAC,SAAS,CAGtB;IACF,OAAO,CAAC,MAAM,CAAC,SAAS,CAAc;IACtC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAwB;IAC/C,OAAO,CAAC,MAAM,CAAC,YAAY,CAAwB;IAMnD,WAAkB,QAAQ,gBAEzB;WAMa,WAAW,CAAC,QAAQ,EAAE,QAAQ;IAW5C;;;;;OAKG;IACU,WAAW,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,SAAS,CAAC;IAgIvE;;;;;;;;;OASG;YACW,OAAO;CA4SrB"}
|
package/dist/Tag3dEngine.js
CHANGED
|
@@ -1,338 +1,338 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.Tag3dEngine = void 0;
|
|
13
|
-
const viewer_data_engine_geometry_engine_1 = require("@shapediver/viewer.data-engine.geometry-engine");
|
|
14
|
-
const viewer_shared_node_tree_1 = require("@shapediver/viewer.shared.node-tree");
|
|
15
|
-
const viewer_shared_services_1 = require("@shapediver/viewer.shared.services");
|
|
16
|
-
const gl_matrix_1 = require("gl-matrix");
|
|
17
|
-
// #endregion Type aliases (1)
|
|
18
|
-
// #region Classes (1)
|
|
19
|
-
class Tag3dEngine {
|
|
20
|
-
constructor() {
|
|
21
|
-
// #region Properties (6)
|
|
22
|
-
this._logger = viewer_shared_services_1.Logger.instance;
|
|
23
|
-
// #endregion Private Methods (1)
|
|
24
|
-
}
|
|
25
|
-
// #endregion Properties (6)
|
|
26
|
-
// #region Public Static Getters And Setters (1)
|
|
27
|
-
static get instance() {
|
|
28
|
-
return this._instance || (this._instance = new this());
|
|
29
|
-
}
|
|
30
|
-
// #endregion Public Static Getters And Setters (1)
|
|
31
|
-
// #region Public Static Methods (1)
|
|
32
|
-
static setFontInfo(fontInfo) {
|
|
33
|
-
this._fontInfo = fontInfo;
|
|
34
|
-
this._mainGlb = undefined;
|
|
35
|
-
this._asciiGlb = undefined;
|
|
36
|
-
this._nonAsciiGlb = undefined;
|
|
37
|
-
}
|
|
38
|
-
// #endregion Public Static Methods (1)
|
|
39
|
-
// #region Public Methods (1)
|
|
40
|
-
/**
|
|
41
|
-
* Load the tag3d content into a scene graph node.
|
|
42
|
-
*
|
|
43
|
-
* @param content the tag3d content
|
|
44
|
-
* @returns the scene graph node
|
|
45
|
-
*/
|
|
46
|
-
loadContent(content) {
|
|
47
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
48
|
-
const node = new viewer_shared_node_tree_1.TreeNode("tag3d");
|
|
49
|
-
if (!content)
|
|
50
|
-
throw new viewer_shared_services_1.ShapeDiverViewerDataProcessingError("Tag3dEngine.loadContent: Invalid content was provided to tag3d engine.");
|
|
51
|
-
if (typeof Tag3dEngine._fontInfo === "string") {
|
|
52
|
-
// if there is a single glb for both ascii and non-ascii characters defined
|
|
53
|
-
// but the glb has not been loaded yet, we load it now
|
|
54
|
-
if (!Tag3dEngine._mainGlb) {
|
|
55
|
-
const geometryEngine = viewer_data_engine_geometry_engine_1.GeometryEngine.instance;
|
|
56
|
-
Tag3dEngine._mainGlb = yield geometryEngine.loadContent({
|
|
57
|
-
href: Tag3dEngine._fontInfo,
|
|
58
|
-
format: "glb",
|
|
59
|
-
}, "Tag3dEngine.loadContent");
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
else {
|
|
63
|
-
// if there are separate glbs for ascii and non-ascii characters defined
|
|
64
|
-
// but the glb for ascii has not been loaded yet, we load it now
|
|
65
|
-
// the glb for non-ascii characters is loaded when the character is encountered
|
|
66
|
-
if (!Tag3dEngine._asciiGlb) {
|
|
67
|
-
const geometryEngine = viewer_data_engine_geometry_engine_1.GeometryEngine.instance;
|
|
68
|
-
Tag3dEngine._asciiGlb = yield geometryEngine.loadContent({
|
|
69
|
-
href: Tag3dEngine._fontInfo.ascii,
|
|
70
|
-
format: "glb",
|
|
71
|
-
}, "Tag3dEngine.loadContent");
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
if (content.data && Array.isArray(content.data)) {
|
|
75
|
-
const textTagDictionary = {};
|
|
76
|
-
const dictionaryPromises = [];
|
|
77
|
-
for (let i = 0; i < content.data.length; i++) {
|
|
78
|
-
const tag3dInfo = content.data[i];
|
|
79
|
-
const dictionary = this.loadTag(tag3dInfo);
|
|
80
|
-
if (dictionary)
|
|
81
|
-
dictionaryPromises.push(dictionary);
|
|
82
|
-
}
|
|
83
|
-
yield Promise.all(dictionaryPromises).then((dictionaries) => {
|
|
84
|
-
for (const dictionary of dictionaries) {
|
|
85
|
-
for (const key in dictionary) {
|
|
86
|
-
if (textTagDictionary[key] === undefined) {
|
|
87
|
-
textTagDictionary[key] = dictionary[key];
|
|
88
|
-
}
|
|
89
|
-
else {
|
|
90
|
-
textTagDictionary[key].transformations.push(...dictionary[key].transformations);
|
|
91
|
-
textTagDictionary[key].colors.push(...dictionary[key].colors);
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
});
|
|
96
|
-
for (const key in textTagDictionary) {
|
|
97
|
-
const { characterNode, transformations, colors } = textTagDictionary[key];
|
|
98
|
-
const meshNode = new viewer_shared_node_tree_1.TreeNode("mesh_" + key);
|
|
99
|
-
meshNode.addChild(characterNode);
|
|
100
|
-
if (transformations.length === 1) {
|
|
101
|
-
// there is only once instance of the character
|
|
102
|
-
// we add it as usual
|
|
103
|
-
meshNode.addTransformation({
|
|
104
|
-
id: "tag3d_transformation",
|
|
105
|
-
matrix: transformations[0],
|
|
106
|
-
});
|
|
107
|
-
const material = new viewer_shared_node_tree_1.MaterialStandardData({
|
|
108
|
-
color: colors[0],
|
|
109
|
-
metalness: 0,
|
|
110
|
-
roughness: 1,
|
|
111
|
-
});
|
|
112
|
-
// apply the color to the material
|
|
113
|
-
// if we do that before, the color will be applied to all instances and will be multiplied
|
|
114
|
-
// with the color of the instance
|
|
115
|
-
characterNode.traverseData((data) => {
|
|
116
|
-
if (data instanceof viewer_shared_node_tree_1.GeometryData)
|
|
117
|
-
data.material = material;
|
|
118
|
-
});
|
|
119
|
-
}
|
|
120
|
-
else {
|
|
121
|
-
// there are multiple instances of the character
|
|
122
|
-
// we therefore create an instance matrices data object
|
|
123
|
-
const instanceData = new viewer_shared_node_tree_1.InstanceData(transformations, colors);
|
|
124
|
-
meshNode.addData(instanceData);
|
|
125
|
-
}
|
|
126
|
-
node.addChild(meshNode);
|
|
127
|
-
}
|
|
128
|
-
}
|
|
129
|
-
else {
|
|
130
|
-
throw new viewer_shared_services_1.ShapeDiverViewerDataProcessingError("Tag3dEngine.loadContent: No tag3d data was provided to tag3d engine.");
|
|
131
|
-
}
|
|
132
|
-
return node;
|
|
133
|
-
});
|
|
134
|
-
}
|
|
135
|
-
// #endregion Public Methods (1)
|
|
136
|
-
// #region Private Methods (1)
|
|
137
|
-
/**
|
|
138
|
-
* Load the tag 3d content into separate characters.
|
|
139
|
-
* For each character, a node is created and the character is added as a geometry data object.
|
|
140
|
-
* The nodes are then added to a dictionary with the character as the key.
|
|
141
|
-
*
|
|
142
|
-
* Instance matrices are provided depending on the number of instances of the character.
|
|
143
|
-
*
|
|
144
|
-
* @param tag3dInfo
|
|
145
|
-
* @returns
|
|
146
|
-
*/
|
|
147
|
-
loadTag(tag3dInfo) {
|
|
148
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
149
|
-
const characterGlb = Tag3dEngine._fontInfo === "string"
|
|
150
|
-
? Tag3dEngine._mainGlb
|
|
151
|
-
: Tag3dEngine._asciiGlb;
|
|
152
|
-
const material = new viewer_shared_node_tree_1.MaterialStandardData({
|
|
153
|
-
color: "#ffffff",
|
|
154
|
-
metalness: 0,
|
|
155
|
-
roughness: 1,
|
|
156
|
-
});
|
|
157
|
-
const fontSize = tag3dInfo.size ? +tag3dInfo.size : 1;
|
|
158
|
-
// as there seems to be some magic scaling value applied in Rhino
|
|
159
|
-
// we tried to match it as best as possible
|
|
160
|
-
const scaledFontSize = fontSize * 1.03;
|
|
161
|
-
if (tag3dInfo.text === undefined ||
|
|
162
|
-
tag3dInfo.text === "" ||
|
|
163
|
-
/^[ \t\n\r]*$/.test(tag3dInfo.text))
|
|
164
|
-
return;
|
|
165
|
-
let fontInfo = {
|
|
166
|
-
ascender: 1499,
|
|
167
|
-
descender: -349,
|
|
168
|
-
underlinePosition: -121,
|
|
169
|
-
underlineThickness: 81,
|
|
170
|
-
boundingBox: { yMin: -571, xMin: -795, yMax: 1803, xMax: 2776 },
|
|
171
|
-
resolution: 1000,
|
|
172
|
-
};
|
|
173
|
-
characterGlb.traverseData((data) => {
|
|
174
|
-
if (data instanceof viewer_shared_node_tree_1.CustomData) {
|
|
175
|
-
if (data.data.font)
|
|
176
|
-
fontInfo = data.data.font;
|
|
177
|
-
}
|
|
178
|
-
});
|
|
179
|
-
// split into lines
|
|
180
|
-
const lines = tag3dInfo.text.split(/\r\n|\r|\n/g);
|
|
181
|
-
// split into characters per line
|
|
182
|
-
const charactersPerLine = lines.map((line) => line.split(""));
|
|
183
|
-
const characterHeight = ((fontInfo.ascender - fontInfo.descender) / fontInfo.resolution) *
|
|
184
|
-
scaledFontSize;
|
|
185
|
-
let maxLineWidth = 0;
|
|
186
|
-
const maxLineHeight = characterHeight * charactersPerLine.length;
|
|
187
|
-
let lineHeight = 0;
|
|
188
|
-
const characterDictionary = {};
|
|
189
|
-
for (let i = 0; i < charactersPerLine.length; ++i) {
|
|
190
|
-
const characters = charactersPerLine[i];
|
|
191
|
-
if (characters.length === 0)
|
|
192
|
-
continue;
|
|
193
|
-
let lineWidth = 0;
|
|
194
|
-
// loop through characters in line
|
|
195
|
-
for (let j = 0; j < characters.length; ++j) {
|
|
196
|
-
const char = characters[j];
|
|
197
|
-
let nodesWithName = characterGlb.getNodesByName(char);
|
|
198
|
-
if (nodesWithName.length === 0) {
|
|
199
|
-
if (typeof Tag3dEngine._fontInfo !== "string") {
|
|
200
|
-
// if the character is not found in the ascii glb, try to load the non-ascii glb
|
|
201
|
-
// and search for the character there
|
|
202
|
-
if (!Tag3dEngine._nonAsciiGlb) {
|
|
203
|
-
const geometryEngine = viewer_data_engine_geometry_engine_1.GeometryEngine.instance;
|
|
204
|
-
Tag3dEngine._nonAsciiGlb =
|
|
205
|
-
yield geometryEngine.loadContent({
|
|
206
|
-
href: Tag3dEngine._fontInfo.other,
|
|
207
|
-
format: "glb",
|
|
208
|
-
}, "Tag3dEngine.loadContent");
|
|
209
|
-
}
|
|
210
|
-
nodesWithName =
|
|
211
|
-
Tag3dEngine._nonAsciiGlb.getNodesByName(char);
|
|
212
|
-
}
|
|
213
|
-
}
|
|
214
|
-
if (nodesWithName.length !== 0) {
|
|
215
|
-
const transformationMatrix = gl_matrix_1.mat4.fromTranslation(gl_matrix_1.mat4.create(), gl_matrix_1.vec3.fromValues(lineWidth, lineHeight, 0));
|
|
216
|
-
if (characterDictionary[char] === undefined) {
|
|
217
|
-
// if the character does not exist yet, create it
|
|
218
|
-
const characterNode = new viewer_shared_node_tree_1.TreeNode(char);
|
|
219
|
-
let glyphInfo = { ha: 0, x_min: 0, x_max: 0 };
|
|
220
|
-
nodesWithName[0].traverseData((data) => {
|
|
221
|
-
if (data instanceof viewer_shared_node_tree_1.CustomData) {
|
|
222
|
-
glyphInfo = data.data.glyph;
|
|
223
|
-
lineWidth +=
|
|
224
|
-
(glyphInfo.ha / fontInfo.resolution) *
|
|
225
|
-
scaledFontSize;
|
|
226
|
-
}
|
|
227
|
-
if (data instanceof viewer_shared_node_tree_1.GeometryData) {
|
|
228
|
-
const clone = data.clone();
|
|
229
|
-
clone.material = material;
|
|
230
|
-
characterNode.addData(clone);
|
|
231
|
-
}
|
|
232
|
-
});
|
|
233
|
-
characterDictionary[char] = {
|
|
234
|
-
characterNode,
|
|
235
|
-
transformations: [transformationMatrix],
|
|
236
|
-
colors: [tag3dInfo.color],
|
|
237
|
-
glyphInfo,
|
|
238
|
-
};
|
|
239
|
-
}
|
|
240
|
-
else {
|
|
241
|
-
// if the character already exists, add the transformation matrix to the list
|
|
242
|
-
characterDictionary[char].transformations.push(transformationMatrix);
|
|
243
|
-
characterDictionary[char].colors.push(tag3dInfo.color);
|
|
244
|
-
lineWidth +=
|
|
245
|
-
(characterDictionary[char].glyphInfo.ha /
|
|
246
|
-
fontInfo.resolution) *
|
|
247
|
-
scaledFontSize;
|
|
248
|
-
}
|
|
249
|
-
}
|
|
250
|
-
else {
|
|
251
|
-
if (char !== " ")
|
|
252
|
-
this._logger.warn(`Tag3dEngine.loadContent: Character ${char} not found in font.`);
|
|
253
|
-
}
|
|
254
|
-
}
|
|
255
|
-
maxLineWidth = Math.max(maxLineWidth, lineWidth);
|
|
256
|
-
lineHeight -= characterHeight;
|
|
257
|
-
}
|
|
258
|
-
const tagJustTranslation = gl_matrix_1.vec3.create();
|
|
259
|
-
const characterHeightWithoutDescender = (fontInfo.ascender / fontInfo.resolution) * scaledFontSize;
|
|
260
|
-
const characterDescender = (fontInfo.descender / fontInfo.resolution) * scaledFontSize;
|
|
261
|
-
// some magic offsets to make the text appear correctly
|
|
262
|
-
const initialMagicOffset = 0.1;
|
|
263
|
-
const magicOffsetTop = initialMagicOffset - 0.06 * (charactersPerLine.length - 1);
|
|
264
|
-
const top = -maxLineHeight +
|
|
265
|
-
characterHeightWithoutDescender / 2 +
|
|
266
|
-
(charactersPerLine.length - 1) * -characterDescender +
|
|
267
|
-
magicOffsetTop * scaledFontSize;
|
|
268
|
-
const magicOffsetRight = 0.1;
|
|
269
|
-
const right = -maxLineWidth + magicOffsetRight * scaledFontSize;
|
|
270
|
-
switch (tag3dInfo.justification) {
|
|
271
|
-
case "TL":
|
|
272
|
-
tagJustTranslation[1] = top;
|
|
273
|
-
break;
|
|
274
|
-
case "TC":
|
|
275
|
-
tagJustTranslation[0] = right * 0.5;
|
|
276
|
-
tagJustTranslation[1] = top;
|
|
277
|
-
break;
|
|
278
|
-
case "TR":
|
|
279
|
-
tagJustTranslation[0] = right;
|
|
280
|
-
tagJustTranslation[1] = top;
|
|
281
|
-
break;
|
|
282
|
-
case "ML":
|
|
283
|
-
tagJustTranslation[1] = top * 0.5;
|
|
284
|
-
break;
|
|
285
|
-
case "MC":
|
|
286
|
-
tagJustTranslation[0] = right * 0.5;
|
|
287
|
-
tagJustTranslation[1] = top * 0.5;
|
|
288
|
-
break;
|
|
289
|
-
case "MR":
|
|
290
|
-
tagJustTranslation[0] = right;
|
|
291
|
-
tagJustTranslation[1] = top * 0.5;
|
|
292
|
-
break;
|
|
293
|
-
case "BL":
|
|
294
|
-
tagJustTranslation[1] = 0;
|
|
295
|
-
break;
|
|
296
|
-
case "BC":
|
|
297
|
-
tagJustTranslation[0] = right * 0.5;
|
|
298
|
-
tagJustTranslation[1] = 0;
|
|
299
|
-
break;
|
|
300
|
-
case "BR":
|
|
301
|
-
tagJustTranslation[0] = right;
|
|
302
|
-
tagJustTranslation[1] = 0;
|
|
303
|
-
break;
|
|
304
|
-
}
|
|
305
|
-
const fontSizeVec3 = gl_matrix_1.vec3.fromValues(scaledFontSize, scaledFontSize, scaledFontSize);
|
|
306
|
-
gl_matrix_1.vec3.divide(tagJustTranslation, tagJustTranslation, fontSizeVec3);
|
|
307
|
-
const tagJustTranslationMatrix = gl_matrix_1.mat4.fromTranslation(gl_matrix_1.mat4.create(), tagJustTranslation);
|
|
308
|
-
const scalingMatrix = gl_matrix_1.mat4.fromScaling(gl_matrix_1.mat4.create(), fontSizeVec3);
|
|
309
|
-
const rotationMatrix = gl_matrix_1.mat4.create();
|
|
310
|
-
const translationMatrix = gl_matrix_1.mat4.create();
|
|
311
|
-
if (tag3dInfo.location.xAxis !== undefined) {
|
|
312
|
-
gl_matrix_1.mat4.set(rotationMatrix, tag3dInfo.location.xAxis.X, tag3dInfo.location.xAxis.Y, tag3dInfo.location.xAxis.Z, 0, tag3dInfo.location.yAxis.X, tag3dInfo.location.yAxis.Y, tag3dInfo.location.yAxis.Z, 0, tag3dInfo.location.normal.X, tag3dInfo.location.normal.Y, tag3dInfo.location.normal.Z, 0, 0, 0, 0, 1);
|
|
313
|
-
gl_matrix_1.mat4.fromTranslation(translationMatrix, gl_matrix_1.vec3.fromValues(tag3dInfo.location.origin.X, tag3dInfo.location.origin.Y, tag3dInfo.location.origin.Z));
|
|
314
|
-
}
|
|
315
|
-
// add the justifications to the characters
|
|
316
|
-
Object.values(characterDictionary).forEach((character) => {
|
|
317
|
-
character.transformations.forEach((transformation) => {
|
|
318
|
-
// apply the scaling matrix
|
|
319
|
-
gl_matrix_1.mat4.multiply(transformation, transformation, scalingMatrix);
|
|
320
|
-
// apply the justification translation
|
|
321
|
-
gl_matrix_1.mat4.multiply(transformation, transformation, tagJustTranslationMatrix);
|
|
322
|
-
// apply the global rotation matrix
|
|
323
|
-
gl_matrix_1.mat4.multiply(transformation, rotationMatrix, transformation);
|
|
324
|
-
// apply the global translation matrix
|
|
325
|
-
gl_matrix_1.mat4.multiply(transformation, translationMatrix, transformation);
|
|
326
|
-
});
|
|
327
|
-
});
|
|
328
|
-
return characterDictionary;
|
|
329
|
-
});
|
|
330
|
-
}
|
|
331
|
-
}
|
|
332
|
-
exports.Tag3dEngine = Tag3dEngine;
|
|
333
|
-
Tag3dEngine._fontInfo = {
|
|
334
|
-
ascii: "https://viewer.shapediver.com/v3/gltf/tagsAsciiSegoeUi.glb",
|
|
335
|
-
other: "https://viewer.shapediver.com/v3/gltf/tagsNonAsciiSegoeUi.glb",
|
|
336
|
-
};
|
|
337
|
-
// #endregion Classes (1)
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.Tag3dEngine = void 0;
|
|
13
|
+
const viewer_data_engine_geometry_engine_1 = require("@shapediver/viewer.data-engine.geometry-engine");
|
|
14
|
+
const viewer_shared_node_tree_1 = require("@shapediver/viewer.shared.node-tree");
|
|
15
|
+
const viewer_shared_services_1 = require("@shapediver/viewer.shared.services");
|
|
16
|
+
const gl_matrix_1 = require("gl-matrix");
|
|
17
|
+
// #endregion Type aliases (1)
|
|
18
|
+
// #region Classes (1)
|
|
19
|
+
class Tag3dEngine {
|
|
20
|
+
constructor() {
|
|
21
|
+
// #region Properties (6)
|
|
22
|
+
this._logger = viewer_shared_services_1.Logger.instance;
|
|
23
|
+
// #endregion Private Methods (1)
|
|
24
|
+
}
|
|
25
|
+
// #endregion Properties (6)
|
|
26
|
+
// #region Public Static Getters And Setters (1)
|
|
27
|
+
static get instance() {
|
|
28
|
+
return this._instance || (this._instance = new this());
|
|
29
|
+
}
|
|
30
|
+
// #endregion Public Static Getters And Setters (1)
|
|
31
|
+
// #region Public Static Methods (1)
|
|
32
|
+
static setFontInfo(fontInfo) {
|
|
33
|
+
this._fontInfo = fontInfo;
|
|
34
|
+
this._mainGlb = undefined;
|
|
35
|
+
this._asciiGlb = undefined;
|
|
36
|
+
this._nonAsciiGlb = undefined;
|
|
37
|
+
}
|
|
38
|
+
// #endregion Public Static Methods (1)
|
|
39
|
+
// #region Public Methods (1)
|
|
40
|
+
/**
|
|
41
|
+
* Load the tag3d content into a scene graph node.
|
|
42
|
+
*
|
|
43
|
+
* @param content the tag3d content
|
|
44
|
+
* @returns the scene graph node
|
|
45
|
+
*/
|
|
46
|
+
loadContent(content) {
|
|
47
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
48
|
+
const node = new viewer_shared_node_tree_1.TreeNode("tag3d");
|
|
49
|
+
if (!content)
|
|
50
|
+
throw new viewer_shared_services_1.ShapeDiverViewerDataProcessingError("Tag3dEngine.loadContent: Invalid content was provided to tag3d engine.");
|
|
51
|
+
if (typeof Tag3dEngine._fontInfo === "string") {
|
|
52
|
+
// if there is a single glb for both ascii and non-ascii characters defined
|
|
53
|
+
// but the glb has not been loaded yet, we load it now
|
|
54
|
+
if (!Tag3dEngine._mainGlb) {
|
|
55
|
+
const geometryEngine = viewer_data_engine_geometry_engine_1.GeometryEngine.instance;
|
|
56
|
+
Tag3dEngine._mainGlb = yield geometryEngine.loadContent({
|
|
57
|
+
href: Tag3dEngine._fontInfo,
|
|
58
|
+
format: "glb",
|
|
59
|
+
}, "Tag3dEngine.loadContent");
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
else {
|
|
63
|
+
// if there are separate glbs for ascii and non-ascii characters defined
|
|
64
|
+
// but the glb for ascii has not been loaded yet, we load it now
|
|
65
|
+
// the glb for non-ascii characters is loaded when the character is encountered
|
|
66
|
+
if (!Tag3dEngine._asciiGlb) {
|
|
67
|
+
const geometryEngine = viewer_data_engine_geometry_engine_1.GeometryEngine.instance;
|
|
68
|
+
Tag3dEngine._asciiGlb = yield geometryEngine.loadContent({
|
|
69
|
+
href: Tag3dEngine._fontInfo.ascii,
|
|
70
|
+
format: "glb",
|
|
71
|
+
}, "Tag3dEngine.loadContent");
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
if (content.data && Array.isArray(content.data)) {
|
|
75
|
+
const textTagDictionary = {};
|
|
76
|
+
const dictionaryPromises = [];
|
|
77
|
+
for (let i = 0; i < content.data.length; i++) {
|
|
78
|
+
const tag3dInfo = content.data[i];
|
|
79
|
+
const dictionary = this.loadTag(tag3dInfo);
|
|
80
|
+
if (dictionary)
|
|
81
|
+
dictionaryPromises.push(dictionary);
|
|
82
|
+
}
|
|
83
|
+
yield Promise.all(dictionaryPromises).then((dictionaries) => {
|
|
84
|
+
for (const dictionary of dictionaries) {
|
|
85
|
+
for (const key in dictionary) {
|
|
86
|
+
if (textTagDictionary[key] === undefined) {
|
|
87
|
+
textTagDictionary[key] = dictionary[key];
|
|
88
|
+
}
|
|
89
|
+
else {
|
|
90
|
+
textTagDictionary[key].transformations.push(...dictionary[key].transformations);
|
|
91
|
+
textTagDictionary[key].colors.push(...dictionary[key].colors);
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
});
|
|
96
|
+
for (const key in textTagDictionary) {
|
|
97
|
+
const { characterNode, transformations, colors } = textTagDictionary[key];
|
|
98
|
+
const meshNode = new viewer_shared_node_tree_1.TreeNode("mesh_" + key);
|
|
99
|
+
meshNode.addChild(characterNode);
|
|
100
|
+
if (transformations.length === 1) {
|
|
101
|
+
// there is only once instance of the character
|
|
102
|
+
// we add it as usual
|
|
103
|
+
meshNode.addTransformation({
|
|
104
|
+
id: "tag3d_transformation",
|
|
105
|
+
matrix: transformations[0],
|
|
106
|
+
});
|
|
107
|
+
const material = new viewer_shared_node_tree_1.MaterialStandardData({
|
|
108
|
+
color: colors[0],
|
|
109
|
+
metalness: 0,
|
|
110
|
+
roughness: 1,
|
|
111
|
+
});
|
|
112
|
+
// apply the color to the material
|
|
113
|
+
// if we do that before, the color will be applied to all instances and will be multiplied
|
|
114
|
+
// with the color of the instance
|
|
115
|
+
characterNode.traverseData((data) => {
|
|
116
|
+
if (data instanceof viewer_shared_node_tree_1.GeometryData)
|
|
117
|
+
data.material = material;
|
|
118
|
+
});
|
|
119
|
+
}
|
|
120
|
+
else {
|
|
121
|
+
// there are multiple instances of the character
|
|
122
|
+
// we therefore create an instance matrices data object
|
|
123
|
+
const instanceData = new viewer_shared_node_tree_1.InstanceData(transformations, colors);
|
|
124
|
+
meshNode.addData(instanceData);
|
|
125
|
+
}
|
|
126
|
+
node.addChild(meshNode);
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
else {
|
|
130
|
+
throw new viewer_shared_services_1.ShapeDiverViewerDataProcessingError("Tag3dEngine.loadContent: No tag3d data was provided to tag3d engine.");
|
|
131
|
+
}
|
|
132
|
+
return node;
|
|
133
|
+
});
|
|
134
|
+
}
|
|
135
|
+
// #endregion Public Methods (1)
|
|
136
|
+
// #region Private Methods (1)
|
|
137
|
+
/**
|
|
138
|
+
* Load the tag 3d content into separate characters.
|
|
139
|
+
* For each character, a node is created and the character is added as a geometry data object.
|
|
140
|
+
* The nodes are then added to a dictionary with the character as the key.
|
|
141
|
+
*
|
|
142
|
+
* Instance matrices are provided depending on the number of instances of the character.
|
|
143
|
+
*
|
|
144
|
+
* @param tag3dInfo
|
|
145
|
+
* @returns
|
|
146
|
+
*/
|
|
147
|
+
loadTag(tag3dInfo) {
|
|
148
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
149
|
+
const characterGlb = Tag3dEngine._fontInfo === "string"
|
|
150
|
+
? Tag3dEngine._mainGlb
|
|
151
|
+
: Tag3dEngine._asciiGlb;
|
|
152
|
+
const material = new viewer_shared_node_tree_1.MaterialStandardData({
|
|
153
|
+
color: "#ffffff",
|
|
154
|
+
metalness: 0,
|
|
155
|
+
roughness: 1,
|
|
156
|
+
});
|
|
157
|
+
const fontSize = tag3dInfo.size ? +tag3dInfo.size : 1;
|
|
158
|
+
// as there seems to be some magic scaling value applied in Rhino
|
|
159
|
+
// we tried to match it as best as possible
|
|
160
|
+
const scaledFontSize = fontSize * 1.03;
|
|
161
|
+
if (tag3dInfo.text === undefined ||
|
|
162
|
+
tag3dInfo.text === "" ||
|
|
163
|
+
/^[ \t\n\r]*$/.test(tag3dInfo.text))
|
|
164
|
+
return;
|
|
165
|
+
let fontInfo = {
|
|
166
|
+
ascender: 1499,
|
|
167
|
+
descender: -349,
|
|
168
|
+
underlinePosition: -121,
|
|
169
|
+
underlineThickness: 81,
|
|
170
|
+
boundingBox: { yMin: -571, xMin: -795, yMax: 1803, xMax: 2776 },
|
|
171
|
+
resolution: 1000,
|
|
172
|
+
};
|
|
173
|
+
characterGlb.traverseData((data) => {
|
|
174
|
+
if (data instanceof viewer_shared_node_tree_1.CustomData) {
|
|
175
|
+
if (data.data.font)
|
|
176
|
+
fontInfo = data.data.font;
|
|
177
|
+
}
|
|
178
|
+
});
|
|
179
|
+
// split into lines
|
|
180
|
+
const lines = tag3dInfo.text.split(/\r\n|\r|\n/g);
|
|
181
|
+
// split into characters per line
|
|
182
|
+
const charactersPerLine = lines.map((line) => line.split(""));
|
|
183
|
+
const characterHeight = ((fontInfo.ascender - fontInfo.descender) / fontInfo.resolution) *
|
|
184
|
+
scaledFontSize;
|
|
185
|
+
let maxLineWidth = 0;
|
|
186
|
+
const maxLineHeight = characterHeight * charactersPerLine.length;
|
|
187
|
+
let lineHeight = 0;
|
|
188
|
+
const characterDictionary = {};
|
|
189
|
+
for (let i = 0; i < charactersPerLine.length; ++i) {
|
|
190
|
+
const characters = charactersPerLine[i];
|
|
191
|
+
if (characters.length === 0)
|
|
192
|
+
continue;
|
|
193
|
+
let lineWidth = 0;
|
|
194
|
+
// loop through characters in line
|
|
195
|
+
for (let j = 0; j < characters.length; ++j) {
|
|
196
|
+
const char = characters[j];
|
|
197
|
+
let nodesWithName = characterGlb.getNodesByName(char);
|
|
198
|
+
if (nodesWithName.length === 0) {
|
|
199
|
+
if (typeof Tag3dEngine._fontInfo !== "string") {
|
|
200
|
+
// if the character is not found in the ascii glb, try to load the non-ascii glb
|
|
201
|
+
// and search for the character there
|
|
202
|
+
if (!Tag3dEngine._nonAsciiGlb) {
|
|
203
|
+
const geometryEngine = viewer_data_engine_geometry_engine_1.GeometryEngine.instance;
|
|
204
|
+
Tag3dEngine._nonAsciiGlb =
|
|
205
|
+
yield geometryEngine.loadContent({
|
|
206
|
+
href: Tag3dEngine._fontInfo.other,
|
|
207
|
+
format: "glb",
|
|
208
|
+
}, "Tag3dEngine.loadContent");
|
|
209
|
+
}
|
|
210
|
+
nodesWithName =
|
|
211
|
+
Tag3dEngine._nonAsciiGlb.getNodesByName(char);
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
if (nodesWithName.length !== 0) {
|
|
215
|
+
const transformationMatrix = gl_matrix_1.mat4.fromTranslation(gl_matrix_1.mat4.create(), gl_matrix_1.vec3.fromValues(lineWidth, lineHeight, 0));
|
|
216
|
+
if (characterDictionary[char] === undefined) {
|
|
217
|
+
// if the character does not exist yet, create it
|
|
218
|
+
const characterNode = new viewer_shared_node_tree_1.TreeNode(char);
|
|
219
|
+
let glyphInfo = { ha: 0, x_min: 0, x_max: 0 };
|
|
220
|
+
nodesWithName[0].traverseData((data) => {
|
|
221
|
+
if (data instanceof viewer_shared_node_tree_1.CustomData) {
|
|
222
|
+
glyphInfo = data.data.glyph;
|
|
223
|
+
lineWidth +=
|
|
224
|
+
(glyphInfo.ha / fontInfo.resolution) *
|
|
225
|
+
scaledFontSize;
|
|
226
|
+
}
|
|
227
|
+
if (data instanceof viewer_shared_node_tree_1.GeometryData) {
|
|
228
|
+
const clone = data.clone();
|
|
229
|
+
clone.material = material;
|
|
230
|
+
characterNode.addData(clone);
|
|
231
|
+
}
|
|
232
|
+
});
|
|
233
|
+
characterDictionary[char] = {
|
|
234
|
+
characterNode,
|
|
235
|
+
transformations: [transformationMatrix],
|
|
236
|
+
colors: [tag3dInfo.color],
|
|
237
|
+
glyphInfo,
|
|
238
|
+
};
|
|
239
|
+
}
|
|
240
|
+
else {
|
|
241
|
+
// if the character already exists, add the transformation matrix to the list
|
|
242
|
+
characterDictionary[char].transformations.push(transformationMatrix);
|
|
243
|
+
characterDictionary[char].colors.push(tag3dInfo.color);
|
|
244
|
+
lineWidth +=
|
|
245
|
+
(characterDictionary[char].glyphInfo.ha /
|
|
246
|
+
fontInfo.resolution) *
|
|
247
|
+
scaledFontSize;
|
|
248
|
+
}
|
|
249
|
+
}
|
|
250
|
+
else {
|
|
251
|
+
if (char !== " ")
|
|
252
|
+
this._logger.warn(`Tag3dEngine.loadContent: Character ${char} not found in font.`);
|
|
253
|
+
}
|
|
254
|
+
}
|
|
255
|
+
maxLineWidth = Math.max(maxLineWidth, lineWidth);
|
|
256
|
+
lineHeight -= characterHeight;
|
|
257
|
+
}
|
|
258
|
+
const tagJustTranslation = gl_matrix_1.vec3.create();
|
|
259
|
+
const characterHeightWithoutDescender = (fontInfo.ascender / fontInfo.resolution) * scaledFontSize;
|
|
260
|
+
const characterDescender = (fontInfo.descender / fontInfo.resolution) * scaledFontSize;
|
|
261
|
+
// some magic offsets to make the text appear correctly
|
|
262
|
+
const initialMagicOffset = 0.1;
|
|
263
|
+
const magicOffsetTop = initialMagicOffset - 0.06 * (charactersPerLine.length - 1);
|
|
264
|
+
const top = -maxLineHeight +
|
|
265
|
+
characterHeightWithoutDescender / 2 +
|
|
266
|
+
(charactersPerLine.length - 1) * -characterDescender +
|
|
267
|
+
magicOffsetTop * scaledFontSize;
|
|
268
|
+
const magicOffsetRight = 0.1;
|
|
269
|
+
const right = -maxLineWidth + magicOffsetRight * scaledFontSize;
|
|
270
|
+
switch (tag3dInfo.justification) {
|
|
271
|
+
case "TL":
|
|
272
|
+
tagJustTranslation[1] = top;
|
|
273
|
+
break;
|
|
274
|
+
case "TC":
|
|
275
|
+
tagJustTranslation[0] = right * 0.5;
|
|
276
|
+
tagJustTranslation[1] = top;
|
|
277
|
+
break;
|
|
278
|
+
case "TR":
|
|
279
|
+
tagJustTranslation[0] = right;
|
|
280
|
+
tagJustTranslation[1] = top;
|
|
281
|
+
break;
|
|
282
|
+
case "ML":
|
|
283
|
+
tagJustTranslation[1] = top * 0.5;
|
|
284
|
+
break;
|
|
285
|
+
case "MC":
|
|
286
|
+
tagJustTranslation[0] = right * 0.5;
|
|
287
|
+
tagJustTranslation[1] = top * 0.5;
|
|
288
|
+
break;
|
|
289
|
+
case "MR":
|
|
290
|
+
tagJustTranslation[0] = right;
|
|
291
|
+
tagJustTranslation[1] = top * 0.5;
|
|
292
|
+
break;
|
|
293
|
+
case "BL":
|
|
294
|
+
tagJustTranslation[1] = 0;
|
|
295
|
+
break;
|
|
296
|
+
case "BC":
|
|
297
|
+
tagJustTranslation[0] = right * 0.5;
|
|
298
|
+
tagJustTranslation[1] = 0;
|
|
299
|
+
break;
|
|
300
|
+
case "BR":
|
|
301
|
+
tagJustTranslation[0] = right;
|
|
302
|
+
tagJustTranslation[1] = 0;
|
|
303
|
+
break;
|
|
304
|
+
}
|
|
305
|
+
const fontSizeVec3 = gl_matrix_1.vec3.fromValues(scaledFontSize, scaledFontSize, scaledFontSize);
|
|
306
|
+
gl_matrix_1.vec3.divide(tagJustTranslation, tagJustTranslation, fontSizeVec3);
|
|
307
|
+
const tagJustTranslationMatrix = gl_matrix_1.mat4.fromTranslation(gl_matrix_1.mat4.create(), tagJustTranslation);
|
|
308
|
+
const scalingMatrix = gl_matrix_1.mat4.fromScaling(gl_matrix_1.mat4.create(), fontSizeVec3);
|
|
309
|
+
const rotationMatrix = gl_matrix_1.mat4.create();
|
|
310
|
+
const translationMatrix = gl_matrix_1.mat4.create();
|
|
311
|
+
if (tag3dInfo.location.xAxis !== undefined) {
|
|
312
|
+
gl_matrix_1.mat4.set(rotationMatrix, tag3dInfo.location.xAxis.X, tag3dInfo.location.xAxis.Y, tag3dInfo.location.xAxis.Z, 0, tag3dInfo.location.yAxis.X, tag3dInfo.location.yAxis.Y, tag3dInfo.location.yAxis.Z, 0, tag3dInfo.location.normal.X, tag3dInfo.location.normal.Y, tag3dInfo.location.normal.Z, 0, 0, 0, 0, 1);
|
|
313
|
+
gl_matrix_1.mat4.fromTranslation(translationMatrix, gl_matrix_1.vec3.fromValues(tag3dInfo.location.origin.X, tag3dInfo.location.origin.Y, tag3dInfo.location.origin.Z));
|
|
314
|
+
}
|
|
315
|
+
// add the justifications to the characters
|
|
316
|
+
Object.values(characterDictionary).forEach((character) => {
|
|
317
|
+
character.transformations.forEach((transformation) => {
|
|
318
|
+
// apply the scaling matrix
|
|
319
|
+
gl_matrix_1.mat4.multiply(transformation, transformation, scalingMatrix);
|
|
320
|
+
// apply the justification translation
|
|
321
|
+
gl_matrix_1.mat4.multiply(transformation, transformation, tagJustTranslationMatrix);
|
|
322
|
+
// apply the global rotation matrix
|
|
323
|
+
gl_matrix_1.mat4.multiply(transformation, rotationMatrix, transformation);
|
|
324
|
+
// apply the global translation matrix
|
|
325
|
+
gl_matrix_1.mat4.multiply(transformation, translationMatrix, transformation);
|
|
326
|
+
});
|
|
327
|
+
});
|
|
328
|
+
return characterDictionary;
|
|
329
|
+
});
|
|
330
|
+
}
|
|
331
|
+
}
|
|
332
|
+
exports.Tag3dEngine = Tag3dEngine;
|
|
333
|
+
Tag3dEngine._fontInfo = {
|
|
334
|
+
ascii: "https://viewer.shapediver.com/v3/gltf/tagsAsciiSegoeUi.glb",
|
|
335
|
+
other: "https://viewer.shapediver.com/v3/gltf/tagsNonAsciiSegoeUi.glb",
|
|
336
|
+
};
|
|
337
|
+
// #endregion Classes (1)
|
|
338
338
|
//# sourceMappingURL=Tag3dEngine.js.map
|
package/dist/Tag3dEngine.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tag3dEngine.js","sourceRoot":"","sources":["../src/Tag3dEngine.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Tag3dEngine.js","sourceRoot":"","sources":["../src/Tag3dEngine.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { Tag3dEngine } from "./Tag3dEngine";
|
|
2
|
-
export { Tag3dEngine };
|
|
1
|
+
import { Tag3dEngine } from "./Tag3dEngine";
|
|
2
|
+
export { Tag3dEngine };
|
|
3
3
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Tag3dEngine = void 0;
|
|
4
|
-
const Tag3dEngine_1 = require("./Tag3dEngine");
|
|
5
|
-
Object.defineProperty(exports, "Tag3dEngine", { enumerable: true, get: function () { return Tag3dEngine_1.Tag3dEngine; } });
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Tag3dEngine = void 0;
|
|
4
|
+
const Tag3dEngine_1 = require("./Tag3dEngine");
|
|
5
|
+
Object.defineProperty(exports, "Tag3dEngine", { enumerable: true, get: function () { return Tag3dEngine_1.Tag3dEngine; } });
|
|
6
6
|
//# sourceMappingURL=index.js.map
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@shapediver/viewer.data-engine.tag3d-engine",
|
|
3
|
-
"version": "3.16.
|
|
3
|
+
"version": "3.16.10",
|
|
4
4
|
"description": "",
|
|
5
5
|
"keywords": [],
|
|
6
6
|
"author": "Michael Oppitz <michael@shapediver.com>",
|
|
@@ -38,13 +38,13 @@
|
|
|
38
38
|
"testEnvironment": "node"
|
|
39
39
|
},
|
|
40
40
|
"dependencies": {
|
|
41
|
-
"@shapediver/sdk.geometry-api-sdk-v2": "3.4.
|
|
42
|
-
"@shapediver/viewer.data-engine.geometry-engine": "3.16.
|
|
43
|
-
"@shapediver/viewer.data-engine.shared-types": "3.16.
|
|
44
|
-
"@shapediver/viewer.shared.global-access-objects": "3.16.
|
|
45
|
-
"@shapediver/viewer.shared.node-tree": "3.16.
|
|
46
|
-
"@shapediver/viewer.shared.services": "3.16.
|
|
47
|
-
"@shapediver/viewer.shared.types": "3.16.
|
|
41
|
+
"@shapediver/sdk.geometry-api-sdk-v2": "3.4.1",
|
|
42
|
+
"@shapediver/viewer.data-engine.geometry-engine": "3.16.10",
|
|
43
|
+
"@shapediver/viewer.data-engine.shared-types": "3.16.10",
|
|
44
|
+
"@shapediver/viewer.shared.global-access-objects": "3.16.10",
|
|
45
|
+
"@shapediver/viewer.shared.node-tree": "3.16.10",
|
|
46
|
+
"@shapediver/viewer.shared.services": "3.16.10",
|
|
47
|
+
"@shapediver/viewer.shared.types": "3.16.10"
|
|
48
48
|
},
|
|
49
|
-
"gitHead": "
|
|
49
|
+
"gitHead": "4f56737c5446d23eeb2d55770b88896da115e430"
|
|
50
50
|
}
|