@combeenation/3d-viewer 4.0.0-beta2 → 4.0.0-beta3
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/lib-cjs/api/classes/element.d.ts +2 -3
- package/dist/lib-cjs/api/classes/element.js +53 -45
- package/dist/lib-cjs/api/classes/element.js.map +1 -1
- package/dist/lib-cjs/api/util/resourceHelper.d.ts +22 -4
- package/dist/lib-cjs/api/util/resourceHelper.js +46 -9
- package/dist/lib-cjs/api/util/resourceHelper.js.map +1 -1
- package/package.json +1 -1
- package/src/api/classes/element.ts +40 -29
- package/src/api/util/resourceHelper.ts +38 -9
|
@@ -17,7 +17,6 @@ export declare class Element extends ElementParameterizable {
|
|
|
17
17
|
protected readonly _dottedNodes: Map<DottedPath, TransformNode>;
|
|
18
18
|
protected readonly _parameterObservers: Map<string, ParameterObserver[]>;
|
|
19
19
|
protected _highlightLayer?: HighlightLayer;
|
|
20
|
-
protected _paintableTextureId: number;
|
|
21
20
|
readonly nodes: TransformNode[];
|
|
22
21
|
/**
|
|
23
22
|
* Constructor.
|
|
@@ -99,9 +98,9 @@ export declare class Element extends ElementParameterizable {
|
|
|
99
98
|
*/
|
|
100
99
|
addTraceableObserver(traceable: string, observer: CallableFunction, payload?: any): Element;
|
|
101
100
|
/**
|
|
102
|
-
* Draws a
|
|
101
|
+
* Draws a `ImageBitmap` or `OffscreenCanvas` onto a `paintable` defined via {@link PaintableDefinition}.
|
|
103
102
|
*/
|
|
104
|
-
drawPaintable(paintable: string, imageSource:
|
|
103
|
+
drawPaintable(paintable: string, imageSource: CanvasImageSource): Element;
|
|
105
104
|
/**
|
|
106
105
|
* Draws a SVG string onto a `paintable` defined via {@link PaintableDefinition}.
|
|
107
106
|
*/
|
|
@@ -5,13 +5,13 @@ var tslib_1 = require("tslib");
|
|
|
5
5
|
var highlightLayer_1 = require("@babylonjs/core/Layers/highlightLayer");
|
|
6
6
|
var material_1 = require("@babylonjs/core/Materials/material");
|
|
7
7
|
var standardMaterial_1 = require("@babylonjs/core/Materials/standardMaterial");
|
|
8
|
+
var dynamicTexture_1 = require("@babylonjs/core/Materials/Textures/dynamicTexture");
|
|
8
9
|
var math_axis_1 = require("@babylonjs/core/Maths/math.axis");
|
|
9
10
|
var math_color_1 = require("@babylonjs/core/Maths/math.color");
|
|
10
11
|
var abstractMesh_1 = require("@babylonjs/core/Meshes/abstractMesh");
|
|
11
12
|
var instancedMesh_1 = require("@babylonjs/core/Meshes/instancedMesh");
|
|
12
13
|
var mesh_1 = require("@babylonjs/core/Meshes/mesh");
|
|
13
14
|
var transformNode_1 = require("@babylonjs/core/Meshes/transformNode");
|
|
14
|
-
var texture_1 = require("@babylonjs/core/Materials/Textures/texture");
|
|
15
15
|
var lodash_es_1 = require("lodash-es");
|
|
16
16
|
var babylonHelper_1 = require("../util/babylonHelper");
|
|
17
17
|
var resourceHelper_1 = require("../util/resourceHelper");
|
|
@@ -38,7 +38,6 @@ var Element = /** @class */ (function (_super) {
|
|
|
38
38
|
_this.name = name;
|
|
39
39
|
_this._dottedNodes = new Map();
|
|
40
40
|
_this._parameterObservers = new Map();
|
|
41
|
-
_this._paintableTextureId = 0;
|
|
42
41
|
_this.nodes = [];
|
|
43
42
|
if ((_a = process.env.NODE_ENV) === null || _a === void 0 ? void 0 : _a.toLowerCase().includes('dev')) {
|
|
44
43
|
_this.assertPathDefinitions();
|
|
@@ -292,59 +291,62 @@ var Element = /** @class */ (function (_super) {
|
|
|
292
291
|
return this;
|
|
293
292
|
};
|
|
294
293
|
/**
|
|
295
|
-
* Draws a
|
|
294
|
+
* Draws a `ImageBitmap` or `OffscreenCanvas` onto a `paintable` defined via {@link PaintableDefinition}.
|
|
296
295
|
*/
|
|
297
296
|
Element.prototype.drawPaintable = function (paintable, imageSource) {
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
297
|
+
// node and material checks and preperation
|
|
298
|
+
var node = this.getPaintableNode(paintable);
|
|
299
|
+
if (!(node instanceof abstractMesh_1.AbstractMesh)) {
|
|
300
|
+
throw new Error("The path must be an instance of \"AbstractMesh\" for paintable \"" + paintable + "\" " +
|
|
301
|
+
("in element \"" + this.id + "\"."));
|
|
302
|
+
}
|
|
303
|
+
if (node.material && !lodash_es_1.get(node.metadata, 'dirty.material')) {
|
|
304
|
+
babylonHelper_1.cloneTransformNodeMaterial(node);
|
|
305
|
+
}
|
|
306
|
+
if (!node.material) {
|
|
307
|
+
node.material = new standardMaterial_1.StandardMaterial(this.id + "." + paintable + ".material", this.variant.viewer.scene);
|
|
308
|
+
}
|
|
309
|
+
node.material.transparencyMode = material_1.Material.MATERIAL_ALPHATESTANDBLEND;
|
|
310
|
+
if (!lodash_es_1.get(node.metadata, 'dirty.material.texture')) {
|
|
311
|
+
// inject initial value and mark as dirty
|
|
312
|
+
babylonHelper_1.injectTransformNodeMetadata(node, { dirty: { material: { texture: true } } });
|
|
313
|
+
}
|
|
314
|
+
// consider width and height of the paintable
|
|
315
|
+
var widthAndHeight = {
|
|
316
|
+
width: imageSource.width,
|
|
317
|
+
height: imageSource.height
|
|
318
|
+
};
|
|
319
|
+
var paintableDefinition = this.getPaintableDefinition(paintable);
|
|
320
|
+
if (lodash_es_1.isNumber(paintableDefinition.textureOptions)) {
|
|
321
|
+
widthAndHeight.width = paintableDefinition.textureOptions;
|
|
322
|
+
widthAndHeight.height = paintableDefinition.textureOptions;
|
|
323
|
+
}
|
|
324
|
+
else if (lodash_es_1.isPlainObject(paintableDefinition.textureOptions)) {
|
|
325
|
+
widthAndHeight.width = paintableDefinition.textureOptions.width;
|
|
326
|
+
widthAndHeight.height = paintableDefinition.textureOptions.height;
|
|
327
|
+
}
|
|
328
|
+
// create dynamic texture on which the image can be drawn
|
|
329
|
+
var texture = new dynamicTexture_1.DynamicTexture(this.id + "." + paintable + ".texture", widthAndHeight, this.variant.viewer.scene, false);
|
|
330
|
+
// draw image on texture
|
|
331
|
+
var ctx = texture.getContext();
|
|
332
|
+
ctx.drawImage(imageSource, 0, 0);
|
|
333
|
+
texture.update(false);
|
|
334
|
+
// finally apply the texture on the desired node material
|
|
335
|
+
babylonHelper_1.setMaterialTexture(node, texture, false);
|
|
336
|
+
return this;
|
|
335
337
|
};
|
|
336
338
|
/**
|
|
337
339
|
* Draws a SVG string onto a `paintable` defined via {@link PaintableDefinition}.
|
|
338
340
|
*/
|
|
339
341
|
Element.prototype.drawPaintableFromSvg = function (paintable, svgSource) {
|
|
340
342
|
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
341
|
-
var
|
|
343
|
+
var image;
|
|
342
344
|
return tslib_1.__generator(this, function (_a) {
|
|
343
345
|
switch (_a.label) {
|
|
344
|
-
case 0: return [4 /*yield*/, resourceHelper_1.
|
|
346
|
+
case 0: return [4 /*yield*/, resourceHelper_1.createImageFromSvg(svgSource)];
|
|
345
347
|
case 1:
|
|
346
|
-
|
|
347
|
-
return [2 /*return*/, this.drawPaintable(paintable,
|
|
348
|
+
image = _a.sent();
|
|
349
|
+
return [2 /*return*/, this.drawPaintable(paintable, image)];
|
|
348
350
|
}
|
|
349
351
|
});
|
|
350
352
|
});
|
|
@@ -354,8 +356,14 @@ var Element = /** @class */ (function (_super) {
|
|
|
354
356
|
*/
|
|
355
357
|
Element.prototype.drawPaintableFromImgSrc = function (paintable, imgSource) {
|
|
356
358
|
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
359
|
+
var image;
|
|
357
360
|
return tslib_1.__generator(this, function (_a) {
|
|
358
|
-
|
|
361
|
+
switch (_a.label) {
|
|
362
|
+
case 0: return [4 /*yield*/, resourceHelper_1.createImageFromImgSrc(imgSource)];
|
|
363
|
+
case 1:
|
|
364
|
+
image = _a.sent();
|
|
365
|
+
return [2 /*return*/, this.drawPaintable(paintable, image)];
|
|
366
|
+
}
|
|
359
367
|
});
|
|
360
368
|
});
|
|
361
369
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"element.js","sourceRoot":"","sources":["../../../../src/api/classes/element.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"element.js","sourceRoot":"","sources":["../../../../src/api/classes/element.ts"],"names":[],"mappings":"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"}
|
|
@@ -23,8 +23,26 @@ declare const uuidv4: () => any;
|
|
|
23
23
|
*/
|
|
24
24
|
declare const mergeMaps: <TKey, TValue>(...maps: Map<TKey, TValue>[]) => Map<TKey, TValue>;
|
|
25
25
|
/**
|
|
26
|
-
*
|
|
27
|
-
*
|
|
26
|
+
* Creates a HTML image element based on a SVG string, whereas all the embedded assets in the SVG
|
|
27
|
+
* (eg: fonts, images) are already loaded and exchanged by their base64 representation.\
|
|
28
|
+
* There the output image can exist as "standalone" image and may be used for example as a paintable.
|
|
29
|
+
*
|
|
30
|
+
* !!CAUTION!!: The used functions within this code section are very well evaluated since most alternatives
|
|
31
|
+
* somehow don't work in Safari, as mentioned in the following BJS forum entries:
|
|
32
|
+
* - https://forum.babylonjs.com/t/drawing-svg-content-text-into-dynamictexture-doesnt-work-in-safari-v15/25048
|
|
33
|
+
* - https://forum.babylonjs.com/t/texture-createfrombase64string-doesnt-seem-to-work-for-ios-devices-initially/25502
|
|
28
34
|
*/
|
|
29
|
-
declare const
|
|
30
|
-
|
|
35
|
+
declare const createImageFromSvg: (svgSrc: string) => Promise<HTMLImageElement>;
|
|
36
|
+
/**
|
|
37
|
+
* Creates an HTML image element from a dedicated image source.\
|
|
38
|
+
* Also waits until the image has loaded.
|
|
39
|
+
*
|
|
40
|
+
* !!CAUTION!!: The `setTimeout` after loading is finished is required due to a Safari bug:
|
|
41
|
+
* - https://bugs.webkit.org/show_bug.cgi?id=39059
|
|
42
|
+
* - https://bugs.webkit.org/show_bug.cgi?id=219770
|
|
43
|
+
*
|
|
44
|
+
* It's not 100% ensured that the timeout solves the issue in any case, but there is no other way unfortunately.\
|
|
45
|
+
* => Keep an eye on it in future projects
|
|
46
|
+
*/
|
|
47
|
+
declare const createImageFromImgSrc: (imgSrc: string) => Promise<HTMLImageElement>;
|
|
48
|
+
export { loadJson, loadText, debounce, uuidv4, mergeMaps, createImageFromSvg, createImageFromImgSrc };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.createImageFromImgSrc = exports.createImageFromSvg = exports.mergeMaps = exports.uuidv4 = exports.debounce = exports.loadText = exports.loadJson = void 0;
|
|
4
4
|
var tslib_1 = require("tslib");
|
|
5
5
|
var event_1 = require("../classes/event");
|
|
6
6
|
/**
|
|
@@ -115,25 +115,62 @@ var mergeMaps = function () {
|
|
|
115
115
|
};
|
|
116
116
|
exports.mergeMaps = mergeMaps;
|
|
117
117
|
/**
|
|
118
|
-
*
|
|
119
|
-
*
|
|
118
|
+
* Creates a HTML image element based on a SVG string, whereas all the embedded assets in the SVG
|
|
119
|
+
* (eg: fonts, images) are already loaded and exchanged by their base64 representation.\
|
|
120
|
+
* There the output image can exist as "standalone" image and may be used for example as a paintable.
|
|
121
|
+
*
|
|
122
|
+
* !!CAUTION!!: The used functions within this code section are very well evaluated since most alternatives
|
|
123
|
+
* somehow don't work in Safari, as mentioned in the following BJS forum entries:
|
|
124
|
+
* - https://forum.babylonjs.com/t/drawing-svg-content-text-into-dynamictexture-doesnt-work-in-safari-v15/25048
|
|
125
|
+
* - https://forum.babylonjs.com/t/texture-createfrombase64string-doesnt-seem-to-work-for-ios-devices-initially/25502
|
|
120
126
|
*/
|
|
121
|
-
var
|
|
127
|
+
var createImageFromSvg = function (svgSrc) {
|
|
122
128
|
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
123
|
-
var svgWithAssetsEmbedded,
|
|
129
|
+
var svgWithAssetsEmbedded, svgEncoded;
|
|
124
130
|
return tslib_1.__generator(this, function (_a) {
|
|
125
131
|
switch (_a.label) {
|
|
126
132
|
case 0: return [4 /*yield*/, _embedAssets(svgSrc)];
|
|
127
133
|
case 1:
|
|
128
134
|
svgWithAssetsEmbedded = _a.sent();
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
return [2 /*return*/, imgUrl];
|
|
135
|
+
svgEncoded = 'data:image/svg+xml,' + encodeURIComponent(svgWithAssetsEmbedded);
|
|
136
|
+
return [2 /*return*/, createImageFromImgSrc(svgEncoded)];
|
|
132
137
|
}
|
|
133
138
|
});
|
|
134
139
|
});
|
|
135
140
|
};
|
|
136
|
-
exports.
|
|
141
|
+
exports.createImageFromSvg = createImageFromSvg;
|
|
142
|
+
/**
|
|
143
|
+
* Creates an HTML image element from a dedicated image source.\
|
|
144
|
+
* Also waits until the image has loaded.
|
|
145
|
+
*
|
|
146
|
+
* !!CAUTION!!: The `setTimeout` after loading is finished is required due to a Safari bug:
|
|
147
|
+
* - https://bugs.webkit.org/show_bug.cgi?id=39059
|
|
148
|
+
* - https://bugs.webkit.org/show_bug.cgi?id=219770
|
|
149
|
+
*
|
|
150
|
+
* It's not 100% ensured that the timeout solves the issue in any case, but there is no other way unfortunately.\
|
|
151
|
+
* => Keep an eye on it in future projects
|
|
152
|
+
*/
|
|
153
|
+
var createImageFromImgSrc = function (imgSrc) {
|
|
154
|
+
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
155
|
+
var img;
|
|
156
|
+
return tslib_1.__generator(this, function (_a) {
|
|
157
|
+
switch (_a.label) {
|
|
158
|
+
case 0:
|
|
159
|
+
img = new Image();
|
|
160
|
+
return [4 /*yield*/, new Promise(function (resolve) {
|
|
161
|
+
img.onload = function () {
|
|
162
|
+
setTimeout(resolve, 0);
|
|
163
|
+
};
|
|
164
|
+
img.src = imgSrc;
|
|
165
|
+
})];
|
|
166
|
+
case 1:
|
|
167
|
+
_a.sent();
|
|
168
|
+
return [2 /*return*/, img];
|
|
169
|
+
}
|
|
170
|
+
});
|
|
171
|
+
});
|
|
172
|
+
};
|
|
173
|
+
exports.createImageFromImgSrc = createImageFromImgSrc;
|
|
137
174
|
/**
|
|
138
175
|
* Replaces all supported image & font URLs in the given SVG with their base64 representation.
|
|
139
176
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resourceHelper.js","sourceRoot":"","sources":["../../../../src/api/util/resourceHelper.ts"],"names":[],"mappings":";;;;AAAA,0CAAkD;AAElD;;;;GAIG;AACH,IAAM,IAAI,GAAG,UAAgB,IAAY;;;;;;oBACxC,eAAO,CAAC,IAAI,CAAE,aAAK,CAAC,aAAa,EAAE,IAAI,CAAE,CAAC;oBAC/B,qBAAM,KAAK,CAAE,IAAI,CAAE,EAAA;;oBAA1B,IAAI,GAAG,SAAmB;oBAC9B,eAAO,CAAC,IAAI,CAAE,aAAK,CAAC,WAAW,EAAE,IAAI,CAAE,CAAC;oBACxC,sBAAO,IAAI,EAAC;;;;CACZ,CAAC;AAEF;;;;GAIG;AACH,IAAM,QAAQ,GAAG,UAAmB,IAAY;;;;;wBAC9B,qBAAM,IAAI,CAAC,IAAI,CAAC,EAAA;;oBAA3B,QAAQ,GAAG,SAAgB;oBACjC,sBAAO,QAAQ,CAAC,IAAI,EAAE,EAAC;;;;CACvB,CAAC;
|
|
1
|
+
{"version":3,"file":"resourceHelper.js","sourceRoot":"","sources":["../../../../src/api/util/resourceHelper.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import { HighlightLayer } from '@babylonjs/core/Layers/highlightLayer';
|
|
2
2
|
import { Material } from '@babylonjs/core/Materials/material';
|
|
3
3
|
import { StandardMaterial } from '@babylonjs/core/Materials/standardMaterial';
|
|
4
|
+
import { DynamicTexture } from '@babylonjs/core/Materials/Textures/dynamicTexture';
|
|
4
5
|
import { Axis, Space } from '@babylonjs/core/Maths/math.axis';
|
|
5
6
|
import { Color3 } from '@babylonjs/core/Maths/math.color';
|
|
6
7
|
import { AbstractMesh } from '@babylonjs/core/Meshes/abstractMesh';
|
|
7
8
|
import { InstancedMesh } from '@babylonjs/core/Meshes/instancedMesh';
|
|
8
9
|
import { Mesh } from '@babylonjs/core/Meshes/mesh';
|
|
9
10
|
import { TransformNode } from '@babylonjs/core/Meshes/transformNode';
|
|
10
|
-
import {
|
|
11
|
-
import { cloneDeep, concat, get, isArray, merge, union } from 'lodash-es';
|
|
11
|
+
import { cloneDeep, concat, get, isArray, isNumber, isPlainObject, merge, union } from 'lodash-es';
|
|
12
12
|
import {
|
|
13
13
|
activateTransformNode as activate,
|
|
14
14
|
addToHighlightLayer,
|
|
@@ -26,7 +26,7 @@ import {
|
|
|
26
26
|
setMaterialRoughness,
|
|
27
27
|
setMaterialTexture
|
|
28
28
|
} from '../util/babylonHelper';
|
|
29
|
-
import {
|
|
29
|
+
import { createImageFromSvg, createImageFromImgSrc, mergeMaps } from '../util/resourceHelper';
|
|
30
30
|
import { DottedPath } from './dottedPath';
|
|
31
31
|
import { ElementParameterizable } from './elementParameterizable';
|
|
32
32
|
import { Event } from './event';
|
|
@@ -48,8 +48,6 @@ export class Element extends ElementParameterizable {
|
|
|
48
48
|
|
|
49
49
|
protected _highlightLayer?: HighlightLayer;
|
|
50
50
|
|
|
51
|
-
protected _paintableTextureId: number = 0;
|
|
52
|
-
|
|
53
51
|
public readonly nodes: TransformNode[] = [];
|
|
54
52
|
|
|
55
53
|
/**
|
|
@@ -280,9 +278,10 @@ export class Element extends ElementParameterizable {
|
|
|
280
278
|
}
|
|
281
279
|
|
|
282
280
|
/**
|
|
283
|
-
* Draws a
|
|
281
|
+
* Draws a `ImageBitmap` or `OffscreenCanvas` onto a `paintable` defined via {@link PaintableDefinition}.
|
|
284
282
|
*/
|
|
285
|
-
public
|
|
283
|
+
public drawPaintable( paintable: string, imageSource: CanvasImageSource ): Element {
|
|
284
|
+
// node and material checks and preperation
|
|
286
285
|
const node = this.getPaintableNode( paintable );
|
|
287
286
|
if( !(node instanceof AbstractMesh) ) {
|
|
288
287
|
throw new Error( `The path must be an instance of "AbstractMesh" for paintable "${paintable}" ` +
|
|
@@ -297,28 +296,39 @@ export class Element extends ElementParameterizable {
|
|
|
297
296
|
node.material.transparencyMode = Material.MATERIAL_ALPHATESTANDBLEND;
|
|
298
297
|
if( !get( node.metadata, 'dirty.material.texture' ) ) {
|
|
299
298
|
// inject initial value and mark as dirty
|
|
300
|
-
injectTransformNodeMetadata( node, { dirty: { material: { texture: true } } }
|
|
299
|
+
injectTransformNodeMetadata( node, { dirty: { material: { texture: true } } } );
|
|
301
300
|
}
|
|
302
301
|
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
302
|
+
// consider width and height of the paintable
|
|
303
|
+
const widthAndHeight = {
|
|
304
|
+
width: imageSource.width,
|
|
305
|
+
height: imageSource.height
|
|
306
|
+
};
|
|
307
|
+
const paintableDefinition = this.getPaintableDefinition( paintable );
|
|
308
|
+
if( isNumber( paintableDefinition.textureOptions ) ) {
|
|
309
|
+
widthAndHeight.width = paintableDefinition.textureOptions;
|
|
310
|
+
widthAndHeight.height = paintableDefinition.textureOptions;
|
|
311
|
+
} else if( isPlainObject( paintableDefinition.textureOptions ) ) {
|
|
312
|
+
widthAndHeight.width = paintableDefinition.textureOptions.width;
|
|
313
|
+
widthAndHeight.height = paintableDefinition.textureOptions.height;
|
|
314
|
+
}
|
|
315
|
+
|
|
316
|
+
// create dynamic texture on which the image can be drawn
|
|
317
|
+
const texture = new DynamicTexture(
|
|
318
|
+
`${this.id}.${paintable}.texture`,
|
|
319
|
+
widthAndHeight,
|
|
320
|
+
this.variant.viewer.scene,
|
|
321
|
+
false
|
|
322
|
+
);
|
|
323
|
+
|
|
324
|
+
// draw image on texture
|
|
325
|
+
const ctx = texture.getContext();
|
|
326
|
+
ctx.drawImage( imageSource, 0, 0);
|
|
327
|
+
texture.update( false );
|
|
328
|
+
|
|
329
|
+
// finally apply the texture on the desired node material
|
|
330
|
+
setMaterialTexture( node, texture, false );
|
|
316
331
|
|
|
317
|
-
// NOTE: Paintable texture need an individual id, otherwise the already existing texture on this id does not get overwritten
|
|
318
|
-
// Maybe think of a disposal logic here in the future
|
|
319
|
-
this._paintableTextureId++;
|
|
320
|
-
});
|
|
321
|
-
|
|
322
332
|
return this;
|
|
323
333
|
}
|
|
324
334
|
|
|
@@ -326,15 +336,16 @@ export class Element extends ElementParameterizable {
|
|
|
326
336
|
* Draws a SVG string onto a `paintable` defined via {@link PaintableDefinition}.
|
|
327
337
|
*/
|
|
328
338
|
public async drawPaintableFromSvg( paintable: string, svgSource: string ): Promise<Element> {
|
|
329
|
-
const
|
|
330
|
-
return this.drawPaintable( paintable,
|
|
339
|
+
const image = await createImageFromSvg( svgSource );
|
|
340
|
+
return this.drawPaintable( paintable, image );
|
|
331
341
|
}
|
|
332
342
|
|
|
333
343
|
/**
|
|
334
344
|
* Draws an Image from source (URL/URI) onto a `paintable` defined via {@link PaintableDefinition}.
|
|
335
345
|
*/
|
|
336
346
|
public async drawPaintableFromImgSrc( paintable: string, imgSource: string ): Promise<Element> {
|
|
337
|
-
|
|
347
|
+
const image = await createImageFromImgSrc( imgSource );
|
|
348
|
+
return this.drawPaintable( paintable, image );
|
|
338
349
|
}
|
|
339
350
|
|
|
340
351
|
/**
|
|
@@ -80,21 +80,49 @@ const mergeMaps = function <TKey, TValue>( ...maps: Map<TKey, TValue>[] ): Map<T
|
|
|
80
80
|
};
|
|
81
81
|
|
|
82
82
|
/**
|
|
83
|
-
*
|
|
84
|
-
*
|
|
83
|
+
* Creates a HTML image element based on a SVG string, whereas all the embedded assets in the SVG
|
|
84
|
+
* (eg: fonts, images) are already loaded and exchanged by their base64 representation.\
|
|
85
|
+
* There the output image can exist as "standalone" image and may be used for example as a paintable.
|
|
86
|
+
*
|
|
87
|
+
* !!CAUTION!!: The used functions within this code section are very well evaluated since most alternatives
|
|
88
|
+
* somehow don't work in Safari, as mentioned in the following BJS forum entries:
|
|
89
|
+
* - https://forum.babylonjs.com/t/drawing-svg-content-text-into-dynamictexture-doesnt-work-in-safari-v15/25048
|
|
90
|
+
* - https://forum.babylonjs.com/t/texture-createfrombase64string-doesnt-seem-to-work-for-ios-devices-initially/25502
|
|
85
91
|
*/
|
|
86
|
-
const
|
|
92
|
+
const createImageFromSvg = async function( svgSrc: string ): Promise<HTMLImageElement> {
|
|
87
93
|
// replace assets with their base64 versions in svg source code
|
|
88
94
|
const svgWithAssetsEmbedded = await _embedAssets( svgSrc );
|
|
89
95
|
|
|
90
|
-
// create
|
|
91
|
-
const
|
|
96
|
+
// create data string which can be used as an image source
|
|
97
|
+
const svgEncoded = 'data:image/svg+xml,' + encodeURIComponent(svgWithAssetsEmbedded)
|
|
92
98
|
|
|
93
|
-
|
|
94
|
-
const imgUrl = URL.createObjectURL( svgBlob );
|
|
95
|
-
return imgUrl;
|
|
99
|
+
return createImageFromImgSrc(svgEncoded);
|
|
96
100
|
};
|
|
97
101
|
|
|
102
|
+
/**
|
|
103
|
+
* Creates an HTML image element from a dedicated image source.\
|
|
104
|
+
* Also waits until the image has loaded.
|
|
105
|
+
*
|
|
106
|
+
* !!CAUTION!!: The `setTimeout` after loading is finished is required due to a Safari bug:
|
|
107
|
+
* - https://bugs.webkit.org/show_bug.cgi?id=39059
|
|
108
|
+
* - https://bugs.webkit.org/show_bug.cgi?id=219770
|
|
109
|
+
*
|
|
110
|
+
* It's not 100% ensured that the timeout solves the issue in any case, but there is no other way unfortunately.\
|
|
111
|
+
* => Keep an eye on it in future projects
|
|
112
|
+
*/
|
|
113
|
+
const createImageFromImgSrc = async function ( imgSrc: string ): Promise<HTMLImageElement> {
|
|
114
|
+
let img = new Image();
|
|
115
|
+
|
|
116
|
+
await new Promise(resolve => {
|
|
117
|
+
img.onload = () => {
|
|
118
|
+
setTimeout(resolve, 0);
|
|
119
|
+
}
|
|
120
|
+
img.src = imgSrc;
|
|
121
|
+
});
|
|
122
|
+
|
|
123
|
+
return img;
|
|
124
|
+
}
|
|
125
|
+
|
|
98
126
|
/**
|
|
99
127
|
* Replaces all supported image & font URLs in the given SVG with their base64 representation.
|
|
100
128
|
*/
|
|
@@ -152,5 +180,6 @@ export {
|
|
|
152
180
|
debounce,
|
|
153
181
|
uuidv4,
|
|
154
182
|
mergeMaps,
|
|
155
|
-
|
|
183
|
+
createImageFromSvg,
|
|
184
|
+
createImageFromImgSrc
|
|
156
185
|
};
|