@combeenation/3d-viewer 19.1.0 → 20.0.0-alpha1

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.
Files changed (62) hide show
  1. package/dist/lib-cjs/buildinfo.json +1 -1
  2. package/dist/lib-cjs/commonjs.tsconfig.tsbuildinfo +1 -1
  3. package/dist/lib-cjs/index.d.ts +1 -1
  4. package/dist/lib-cjs/index.js +1 -1
  5. package/dist/lib-cjs/index.js.map +1 -1
  6. package/dist/lib-cjs/internal/animation-helper.d.ts +2 -0
  7. package/dist/lib-cjs/internal/animation-helper.js +16 -0
  8. package/dist/lib-cjs/internal/animation-helper.js.map +1 -0
  9. package/dist/lib-cjs/internal/cloning-helper.js +4 -2
  10. package/dist/lib-cjs/internal/cloning-helper.js.map +1 -1
  11. package/dist/lib-cjs/internal/export-helper.js +1 -1
  12. package/dist/lib-cjs/internal/export-helper.js.map +1 -1
  13. package/dist/lib-cjs/internal/math-helper.d.ts +9 -0
  14. package/dist/lib-cjs/internal/math-helper.js +43 -0
  15. package/dist/lib-cjs/internal/math-helper.js.map +1 -0
  16. package/dist/lib-cjs/internal/{paintable-helper.d.ts → parameter/paintable-parameter-helper.d.ts} +3 -3
  17. package/dist/lib-cjs/internal/{paintable-helper.js → parameter/paintable-parameter-helper.js} +26 -26
  18. package/dist/lib-cjs/internal/parameter/paintable-parameter-helper.js.map +1 -0
  19. package/dist/lib-cjs/internal/parameter/parameter-helper.d.ts +2 -0
  20. package/dist/lib-cjs/internal/parameter/parameter-helper.js +214 -0
  21. package/dist/lib-cjs/internal/parameter/parameter-helper.js.map +1 -0
  22. package/dist/lib-cjs/internal/{texture-parameter-helper.d.ts → parameter/texture-parameter-helper.d.ts} +1 -2
  23. package/dist/lib-cjs/internal/{texture-parameter-helper.js → parameter/texture-parameter-helper.js} +15 -16
  24. package/dist/lib-cjs/internal/parameter/texture-parameter-helper.js.map +1 -0
  25. package/dist/lib-cjs/manager/camera-manager.js +2 -9
  26. package/dist/lib-cjs/manager/camera-manager.js.map +1 -1
  27. package/dist/lib-cjs/manager/debug-manager.d.ts +5 -1
  28. package/dist/lib-cjs/manager/debug-manager.js +21 -5
  29. package/dist/lib-cjs/manager/debug-manager.js.map +1 -1
  30. package/dist/lib-cjs/manager/model-manager.d.ts +35 -4
  31. package/dist/lib-cjs/manager/model-manager.js +50 -8
  32. package/dist/lib-cjs/manager/model-manager.js.map +1 -1
  33. package/dist/lib-cjs/manager/parameter-manager.d.ts +37 -20
  34. package/dist/lib-cjs/manager/parameter-manager.js +109 -204
  35. package/dist/lib-cjs/manager/parameter-manager.js.map +1 -1
  36. package/dist/lib-cjs/utils/viewer-utils.d.ts +35 -0
  37. package/dist/lib-cjs/utils/viewer-utils.js +112 -0
  38. package/dist/lib-cjs/utils/viewer-utils.js.map +1 -0
  39. package/dist/lib-cjs/viewer.d.ts +13 -1
  40. package/dist/lib-cjs/viewer.js +24 -0
  41. package/dist/lib-cjs/viewer.js.map +1 -1
  42. package/package.json +13 -12
  43. package/src/index.ts +1 -1
  44. package/src/internal/animation-helper.ts +18 -0
  45. package/src/internal/cloning-helper.ts +4 -2
  46. package/src/internal/export-helper.ts +1 -2
  47. package/src/internal/math-helper.ts +46 -0
  48. package/src/internal/{paintable-helper.ts → parameter/paintable-parameter-helper.ts} +35 -35
  49. package/src/internal/parameter/parameter-helper.ts +263 -0
  50. package/src/internal/{texture-parameter-helper.ts → parameter/texture-parameter-helper.ts} +13 -3
  51. package/src/manager/camera-manager.ts +2 -10
  52. package/src/manager/debug-manager.ts +35 -6
  53. package/src/manager/model-manager.ts +81 -13
  54. package/src/manager/parameter-manager.ts +138 -232
  55. package/src/utils/viewer-utils.ts +149 -0
  56. package/src/viewer.ts +29 -1
  57. package/dist/lib-cjs/internal/paintable-helper.js.map +0 -1
  58. package/dist/lib-cjs/internal/texture-parameter-helper.js.map +0 -1
  59. package/dist/lib-cjs/utils/node-utils.d.ts +0 -17
  60. package/dist/lib-cjs/utils/node-utils.js +0 -92
  61. package/dist/lib-cjs/utils/node-utils.js.map +0 -1
  62. package/src/utils/node-utils.ts +0 -112
@@ -1 +1 @@
1
- {"version":3,"file":"parameter-manager.js","sourceRoot":"","sources":["../../../src/manager/parameter-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parameter-manager.js","sourceRoot":"","sources":["../../../src/manager/parameter-manager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,35 @@
1
+ import { FloatArray, Geometry, Mesh, MorphTarget, MorphTargetManager, TransformNode, Vector3, Viewer } from '../index';
2
+ export declare type BakeGeometrySettings = {
3
+ keepTransformation?: boolean;
4
+ };
5
+ export declare type CreateTransformNodeSettings = {
6
+ parentNode?: TransformNode;
7
+ position?: Vector3;
8
+ rotation?: Vector3;
9
+ scaling?: Vector3;
10
+ };
11
+ export declare class ViewerUtils {
12
+ protected viewer: Viewer;
13
+ /** @internal */
14
+ constructor(viewer: Viewer);
15
+ /**
16
+ * Removes transformation data from the mesh and stores it in the geometry, which is called "baking".
17
+ * Also considers the geometry change from morph targets and skeletons.
18
+ *
19
+ * @param settings Optionally avoid baking the transformation, as this only works conveniently if the parent structure
20
+ * is baked as well. Baking morph targets only is a use case when preparing a mesh for CSG operations,
21
+ * which doesn't consider morph targets (yet).
22
+ */
23
+ bakeGeometryOfMesh(mesh: Mesh, settings?: BakeGeometrySettings): void;
24
+ /**
25
+ * Get a `TransformNode` by name or create one if not already available.\
26
+ * Optionally set a parent node for the new `TransformNode` right away.
27
+ */
28
+ getOrCreateTransformNode(nodeName: string, settings?: CreateTransformNodeSettings): TransformNode;
29
+ /**
30
+ * @param kind morph targets can affect various vertices kinds, whereas "position" is the most common one
31
+ * still other kinds (like normals or tangents) can be affected as well and can be provided on this input
32
+ */
33
+ protected _bakeMorphTargetManagerIntoVertices(kind: string, morphTargetManager: MorphTargetManager, geometry: Geometry): void;
34
+ protected _getVerticesDataFromMorphTarget(kind: string, morphTarget: MorphTarget): FloatArray | null;
35
+ }
@@ -0,0 +1,112 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ViewerUtils = void 0;
4
+ const index_1 = require("../index");
5
+ class ViewerUtils {
6
+ /** @internal */
7
+ constructor(viewer) {
8
+ this.viewer = viewer;
9
+ }
10
+ /**
11
+ * Removes transformation data from the mesh and stores it in the geometry, which is called "baking".
12
+ * Also considers the geometry change from morph targets and skeletons.
13
+ *
14
+ * @param settings Optionally avoid baking the transformation, as this only works conveniently if the parent structure
15
+ * is baked as well. Baking morph targets only is a use case when preparing a mesh for CSG operations,
16
+ * which doesn't consider morph targets (yet).
17
+ */
18
+ bakeGeometryOfMesh(mesh, settings) {
19
+ const { keepTransformation } = settings !== null && settings !== void 0 ? settings : {};
20
+ if (!mesh.geometry) {
21
+ // no geometry available, nothing to do
22
+ return;
23
+ }
24
+ // geometries can be shared across multiple meshes, first make them unique to avoid side-effects
25
+ mesh.makeGeometryUnique();
26
+ // Babylon.js already provides a function for baking the current skeleton changes into the geometry
27
+ if (mesh.skeleton) {
28
+ mesh.applySkeleton(mesh.skeleton);
29
+ mesh.skeleton = null;
30
+ }
31
+ // NOTE: in difference to skeletons and transformations there is no baking function for morph targets (yet)
32
+ // however another approach could be to re-apply the position and normals data, as there are nice functions for it
33
+ // - `getPositionData(applySkeleton: boolean = false, applyMorph: boolean = false)`
34
+ // - `getNormalsData(applySkeleton: boolean = false, applyMorph: boolean = false)`
35
+ // you can decide if skeletons and morph targets can be added, which is exactly what we want
36
+ // I'm still hesitant to use it because "tangent" and "UV" kinds are not supported, whereas I'm not sure if it's
37
+ // required
38
+ // => try it out when there is enough time for detailed regression tests!
39
+ const morphTargetManager = mesh.morphTargetManager;
40
+ const geometry = mesh.geometry;
41
+ if (morphTargetManager === null || morphTargetManager === void 0 ? void 0 : morphTargetManager.numTargets) {
42
+ // apply morph target vertices data to mesh geometry
43
+ // mostly only the "PositionKind" is implemented
44
+ this._bakeMorphTargetManagerIntoVertices(index_1.VertexBuffer.PositionKind, morphTargetManager, geometry);
45
+ this._bakeMorphTargetManagerIntoVertices(index_1.VertexBuffer.NormalKind, morphTargetManager, geometry);
46
+ this._bakeMorphTargetManagerIntoVertices(index_1.VertexBuffer.TangentKind, morphTargetManager, geometry);
47
+ this._bakeMorphTargetManagerIntoVertices(index_1.VertexBuffer.UVKind, morphTargetManager, geometry);
48
+ // remove morph target manager with all it's morph targets
49
+ mesh.morphTargetManager = null;
50
+ }
51
+ // bake the transformation data in the mesh geometry, fortunately there is already a help function from Babylon.js
52
+ if (!keepTransformation) {
53
+ mesh.bakeCurrentTransformIntoVertices();
54
+ }
55
+ }
56
+ /**
57
+ * Get a `TransformNode` by name or create one if not already available.\
58
+ * Optionally set a parent node for the new `TransformNode` right away.
59
+ */
60
+ getOrCreateTransformNode(nodeName, settings) {
61
+ const { parentNode, position, rotation, scaling } = settings !== null && settings !== void 0 ? settings : {};
62
+ const scene = this.viewer.scene;
63
+ let node = scene.getTransformNodeByName(nodeName);
64
+ if (!node) {
65
+ node = new index_1.TransformNode(nodeName, scene);
66
+ }
67
+ node.parent = parentNode !== null && parentNode !== void 0 ? parentNode : null;
68
+ node.position = position !== null && position !== void 0 ? position : index_1.Vector3.Zero();
69
+ node.rotation = rotation !== null && rotation !== void 0 ? rotation : index_1.Vector3.Zero();
70
+ node.scaling = scaling !== null && scaling !== void 0 ? scaling : index_1.Vector3.One();
71
+ return node;
72
+ }
73
+ /**
74
+ * @param kind morph targets can affect various vertices kinds, whereas "position" is the most common one
75
+ * still other kinds (like normals or tangents) can be affected as well and can be provided on this input
76
+ */
77
+ _bakeMorphTargetManagerIntoVertices(kind, morphTargetManager, geometry) {
78
+ const origVerticesData = geometry.getVerticesData(kind);
79
+ if (!origVerticesData) {
80
+ // no vertices data for this kind availabe on the mesh geometry
81
+ return;
82
+ }
83
+ let verticesData = [...origVerticesData];
84
+ for (let i = 0; i < morphTargetManager.numTargets; i++) {
85
+ const target = morphTargetManager.getTarget(i);
86
+ const targetVerticesData = this._getVerticesDataFromMorphTarget(kind, target);
87
+ if (targetVerticesData) {
88
+ // vertices data of this kind are implemented on the morph target
89
+ // add the influence of this morph target to the vertices data
90
+ // formula is taken from: https://doc.babylonjs.com/features/featuresDeepDive/mesh/morphTargets#basics
91
+ verticesData = verticesData.map((oldVal, idx) => oldVal + (targetVerticesData[idx] - origVerticesData[idx]) * target.influence);
92
+ }
93
+ }
94
+ // apply the updated vertices data
95
+ geometry.setVerticesData(kind, verticesData);
96
+ }
97
+ _getVerticesDataFromMorphTarget(kind, morphTarget) {
98
+ switch (kind) {
99
+ case index_1.VertexBuffer.PositionKind:
100
+ return morphTarget.getPositions();
101
+ case index_1.VertexBuffer.NormalKind:
102
+ return morphTarget.getNormals();
103
+ case index_1.VertexBuffer.TangentKind:
104
+ return morphTarget.getTangents();
105
+ case index_1.VertexBuffer.UVKind:
106
+ return morphTarget.getUVs();
107
+ }
108
+ return null;
109
+ }
110
+ }
111
+ exports.ViewerUtils = ViewerUtils;
112
+ //# sourceMappingURL=viewer-utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"viewer-utils.js","sourceRoot":"","sources":["../../../src/utils/viewer-utils.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import * as Index from './index';
2
- import { AbstractEngine, CameraManager, DebugManager, DefaultSceneSettings, DimensionLineManager, EngineOptions, EventManager, ExportManager, HtmlAnchorManager, MaterialManager, ModelManager, NodeParameterSubject, ParameterManager, Scene, SceneManager, TagParameterSubject, TextureManager, TransformNode } from './index';
2
+ import { AbstractEngine, CameraManager, DebugManager, DefaultSceneSettings, DimensionLineManager, EngineOptions, EventManager, ExportManager, HtmlAnchorManager, MaterialManager, ModelManager, NodeParameterSubject, ParameterManager, Scene, SceneManager, TagParameterSubject, TextureManager, TransformNode, ViewerUtils } from './index';
3
3
  /**
4
4
  * Use this type to select nodes directly or via node or tag name.\
5
5
  * This pattern is used for excluding nodes from autofocus, GLB export, etc.
@@ -60,8 +60,10 @@ export declare class Viewer {
60
60
  protected _parameterManager: ParameterManager;
61
61
  protected _sceneManager: SceneManager;
62
62
  protected _textureManager: TextureManager;
63
+ protected _utils: ViewerUtils;
63
64
  protected _viewerSettings: ViewerSettings;
64
65
  protected _isRenderLoopPaused: boolean;
66
+ protected _isBlurred: boolean;
65
67
  get scene(): Scene;
66
68
  get engine(): AbstractEngine;
67
69
  get cameraManager(): CameraManager;
@@ -77,6 +79,7 @@ export declare class Viewer {
77
79
  get sceneManager(): SceneManager;
78
80
  /** @internal */
79
81
  get textureManager(): TextureManager;
82
+ get utils(): ViewerUtils;
80
83
  get viewerSettings(): ViewerSettings;
81
84
  /**
82
85
  * Returns all modules which are exported by the viewers index file.\
@@ -100,6 +103,15 @@ export declare class Viewer {
100
103
  * Resume render loop when paused by {@link pauseRendering} function
101
104
  */
102
105
  resumeRendering(): void;
106
+ /**
107
+ * Blurs viewer to hide certain actions like loading assets, changing material or redrawing the scene.\
108
+ * Blur depth can be changed via input parameter and defaults to 3px.
109
+ */
110
+ applyBlur(blurDepth?: number): void;
111
+ /**
112
+ * Removes blur, as set by `applyBlur` function
113
+ */
114
+ removeBlur(): void;
103
115
  /**
104
116
  * Destroys this viewer instance and disposes Babylon.js engine and all scene content
105
117
  */
@@ -69,6 +69,7 @@ class Viewer {
69
69
  useParallelShaderCompile: true,
70
70
  };
71
71
  this._isRenderLoopPaused = false;
72
+ this._isBlurred = false;
72
73
  (0, lodash_es_1.merge)(this._viewerSettings, viewerSettings);
73
74
  this._init(defaultSceneSettings);
74
75
  }
@@ -113,6 +114,9 @@ class Viewer {
113
114
  get textureManager() {
114
115
  return this._textureManager;
115
116
  }
117
+ get utils() {
118
+ return this._utils;
119
+ }
116
120
  get viewerSettings() {
117
121
  return this._viewerSettings;
118
122
  }
@@ -137,6 +141,25 @@ class Viewer {
137
141
  resumeRendering() {
138
142
  this._isRenderLoopPaused = false;
139
143
  }
144
+ /**
145
+ * Blurs viewer to hide certain actions like loading assets, changing material or redrawing the scene.\
146
+ * Blur depth can be changed via input parameter and defaults to 3px.
147
+ */
148
+ applyBlur(blurDepth = 3) {
149
+ if (this.canvas && !this._isBlurred) {
150
+ this.canvas.style.filter = `blur(${blurDepth}px)`;
151
+ this._isBlurred = true;
152
+ }
153
+ }
154
+ /**
155
+ * Removes blur, as set by `applyBlur` function
156
+ */
157
+ removeBlur() {
158
+ if (this.canvas && this._isBlurred) {
159
+ this.canvas.style.filter = '';
160
+ this._isBlurred = false;
161
+ }
162
+ }
140
163
  /**
141
164
  * Destroys this viewer instance and disposes Babylon.js engine and all scene content
142
165
  */
@@ -186,6 +209,7 @@ class Viewer {
186
209
  this._parameterManager = new index_1.ParameterManager(this);
187
210
  this._sceneManager = new index_1.SceneManager(this, defaultSceneSettings);
188
211
  this._textureManager = new index_1.TextureManager(this);
212
+ this._utils = new index_1.ViewerUtils(this);
189
213
  // creates black cube
190
214
  // this model is not based on an URL and can be targeted by the Combeenation backend as fallback model
191
215
  this._modelManager.createFallbackModel();
@@ -1 +1 @@
1
- {"version":3,"file":"viewer.js","sourceRoot":"","sources":["../../src/viewer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"viewer.js","sourceRoot":"","sources":["../../src/viewer.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@combeenation/3d-viewer",
3
- "version": "19.1.0",
3
+ "version": "20.0.0-alpha1",
4
4
  "description": "Combeenation 3D Viewer",
5
5
  "homepage": "https://github.com/Combeenation/3d-viewer#readme",
6
6
  "bugs": {
@@ -49,10 +49,10 @@
49
49
  },
50
50
  "prettier": "@combeenation/prettier-config",
51
51
  "dependencies": {
52
- "@babylonjs/core": "8.10.0",
53
- "@babylonjs/gui": "8.10.0",
54
- "@babylonjs/loaders": "8.10.0",
55
- "@babylonjs/serializers": "8.10.0",
52
+ "@babylonjs/core": "8.54.0",
53
+ "@babylonjs/gui": "8.54.0",
54
+ "@babylonjs/loaders": "8.54.0",
55
+ "@babylonjs/serializers": "8.54.0",
56
56
  "dxf-writer": "1.18.4",
57
57
  "eventemitter3": "4.0.7",
58
58
  "html2canvas": "1.4.1",
@@ -86,18 +86,19 @@
86
86
  "webpack-merge": "5.8.0"
87
87
  },
88
88
  "optionalDependencies": {
89
- "@babylonjs/addons": "8.10.0",
90
- "@babylonjs/gui-editor": "8.10.0",
89
+ "@babylonjs/addons": "8.54.0",
90
+ "@babylonjs/gui-editor": "8.54.0",
91
91
  "@babylonjs/inspector": "8.10.0",
92
- "@babylonjs/materials": "8.10.0",
93
- "@babylonjs/node-editor": "8.10.0",
94
- "@babylonjs/node-geometry-editor": "8.10.0"
92
+ "@babylonjs/materials": "8.54.0",
93
+ "@babylonjs/node-editor": "8.54.0",
94
+ "@babylonjs/node-geometry-editor": "8.54.0"
95
95
  },
96
96
  "dependenciesComments": {
97
- "@babylonjs": "Latest version 8.10.0 supports decal creation for meshes with morph targets (see https://forum.babylonjs.com/t/mesh-decals-with-morph-targets/58682)"
97
+ "@babylonjs": "Latest version 8.54.0 fixes babylon file parsing issue (see https://forum.babylonjs.com/t/loadassetcontainerasync-doesnt-work-for-babylon-files/62651)"
98
98
  },
99
99
  "optionalDependenciesComments": {
100
- "@babylonjs": "Defining the inspector package (and it's dependencies) as optional is required to omit these packages in the production build of the CBN react-app (see CB-9269)"
100
+ "@babylonjs": "Defining the inspector package (and it's dependencies) as optional is required to omit these packages in the production build of the CBN react-app (see CB-9269)",
101
+ "@babylonjs/inspector": "Inspector integration from version 8.54.0 doesn't work out of the box, therefore we still go with the legacy one ATM (see CB-11276)"
101
102
  },
102
103
  "scriptsComments": {
103
104
  "test-delayed": "Didn't manage to wait 5 seconds for starting up the asset server as an individual VS Code task, therefore it's solved as npm script"
package/src/index.ts CHANGED
@@ -82,4 +82,4 @@ export * from './manager/parameter-manager';
82
82
  export * from './manager/scene-manager';
83
83
  export * from './manager/texture-manager';
84
84
  export * from './utils/decal-utils';
85
- export * from './utils/node-utils';
85
+ export * from './utils/viewer-utils';
@@ -0,0 +1,18 @@
1
+ import { AnimationGroup } from '../index';
2
+
3
+ export function playAnimationGroupOnce(
4
+ animationGroup: AnimationGroup,
5
+ framesPerSec: number,
6
+ durationMs: number
7
+ ): Promise<void> {
8
+ // animation is created for 1 second (100 frames), adjust speed ratio according to desired movement time
9
+ const speedRatio = 1000 / durationMs;
10
+
11
+ return new Promise<void>(resolve => {
12
+ animationGroup.onAnimationGroupEndObservable.addOnce(() => {
13
+ animationGroup.dispose();
14
+ resolve();
15
+ });
16
+ animationGroup.start(false, speedRatio, 0, framesPerSec);
17
+ });
18
+ }
@@ -19,10 +19,12 @@ import {
19
19
  import { cloneTags, getTagsAsStrArr, setTagsAsStrArr } from './tags-helper';
20
20
 
21
21
  const _defaultNodeNamingStrategy: NodeNamingStrategy = (node: TransformNode, clonedObjectId: string): string => {
22
- return `${node.name}.${clonedObjectId}`;
22
+ // Do not rename cloned nodes (anymore)
23
+ // Babylon.js allows it and in praxis cloned node names are not targetted anyway
24
+ // Having shorter node names heavily improves the readability of the node structure via the inspector
25
+ return node.name;
23
26
  };
24
27
  const _defaultTagNamingStrategy: TagNamingStrategy = (tag: string, clonedObjectId: string): string => {
25
- // don't rename tags by default
26
28
  return tag;
27
29
  };
28
30
 
@@ -5,7 +5,6 @@ import {
5
5
  Mesh,
6
6
  Node,
7
7
  NodeDescription,
8
- NodeUtils,
9
8
  RenderTargetTexture,
10
9
  TransformNode,
11
10
  Vector3,
@@ -67,7 +66,7 @@ export async function exportPreProcess(viewer: Viewer, settings?: ExportPreProce
67
66
  // bake transformation of all meshes, so that no negative scalings are left
68
67
  // it's important that this is done AFTER instanced meshes have been converted (`_prepareNodeForExport`)
69
68
  nodesForExport.forEach(node => {
70
- if (node instanceof Mesh) NodeUtils.bakeGeometryOfMesh(node);
69
+ if (node instanceof Mesh) viewer.utils.bakeGeometryOfMesh(node);
71
70
  });
72
71
 
73
72
  // reset transformation of all "TransformNodes", as transform nodes are not considered by the `_bakeGeometryOfMesh`
@@ -0,0 +1,46 @@
1
+ import { Matrix, Quaternion, TransformNode, Vector3 } from '..';
2
+
3
+ const _CONVERT_HANDEDNESS_MATRIX = Matrix.Compose(new Vector3(-1, 1, 1), Quaternion.Identity(), Vector3.Zero());
4
+
5
+ /**
6
+ * Evaluates if the absolute scaling of the node represents a left or right handed coordinate system
7
+ */
8
+ export function nodeHasLeftHandedScaling(node: TransformNode): boolean {
9
+ // update world matrix is required to get absolute scaling
10
+ node.computeWorldMatrix(true);
11
+
12
+ let cntNeg = 0;
13
+ if (node.absoluteScaling.x < 0) {
14
+ cntNeg++;
15
+ }
16
+ if (node.absoluteScaling.y < 0) {
17
+ cntNeg++;
18
+ }
19
+ if (node.absoluteScaling.z < 0) {
20
+ cntNeg++;
21
+ }
22
+
23
+ // flipping scaling values by an odd amount of directions also flips the coordinate system mode.
24
+ // given that Babylon.js is left handed by default, we can say that even is left handed and odd is right handed
25
+ const isLeftHanded = cntNeg % 2 === 0;
26
+
27
+ return isLeftHanded;
28
+ }
29
+
30
+ /**
31
+ * Multiplies the nodes world matrix with the conversion matrix (-1 in x scaling) to flip the handedness.
32
+ */
33
+ export function flipHandednessOfNode(node: TransformNode): void {
34
+ const world = node.getWorldMatrix().clone();
35
+ world.multiplyToRef(_CONVERT_HANDEDNESS_MATRIX, world);
36
+
37
+ const scaling = new Vector3();
38
+ const rotation = new Quaternion();
39
+ const position = new Vector3();
40
+
41
+ world.decompose(scaling, rotation, position);
42
+
43
+ node.scaling = scaling;
44
+ node.rotationQuaternion = rotation;
45
+ node.position = position;
46
+ }
@@ -1,15 +1,17 @@
1
1
  import {
2
2
  DynamicTexture,
3
+ LegacyParameter,
3
4
  Material,
4
5
  PBRMaterial,
6
+ ParameterManager,
5
7
  ParameterValue,
6
8
  Scene,
7
9
  StandardMaterial,
8
10
  Texture,
9
11
  ViewerError,
10
12
  ViewerErrorIds,
11
- } from '../index';
12
- import { embedAssets } from './svg-helper';
13
+ } from '../..';
14
+ import { embedAssets } from '../svg-helper';
13
15
  import isSvg from 'is-svg';
14
16
  import { isString } from 'lodash-es';
15
17
 
@@ -26,44 +28,42 @@ type PaintableOptions = {
26
28
  };
27
29
 
28
30
  /**
29
- * Observer implementation for "paintable" parameter.
31
+ * Creates observer for "paintable" parameter.
30
32
  * Basically creates a dynamic texture from the source image and assigns it as albedo (or diffuse) texture.
31
33
  */
32
- export async function paintableParameterObserver(
33
- newValue: ParameterValue,
34
- materials: Material[],
35
- scene: Scene
36
- ): Promise<void> {
37
- const paintable = parsePaintable(newValue);
34
+ export function createPaintableParameter(parameterManager: ParameterManager, scene: Scene): void {
35
+ parameterManager.setParameterObserver(LegacyParameter.Paintable, async ({ newValue, materials }) => {
36
+ const paintable = parsePaintable(newValue);
38
37
 
39
- // check if value is svg or image source, do the conversion accordingly
40
- const srcIsSvg = isSvg(paintable.src);
41
- if (!srcIsSvg && paintable.src.includes('<svg') && paintable.src.includes('</svg>')) {
42
- // seems like the user tried to use a SVG string, as <svg> tags are used
43
- // inform the user that this is not a valid SVG string
44
- throw new ViewerError({
45
- id: ViewerErrorIds.InvalidParameterValue,
46
- message: `Invalid value for parameter "paintable" given:\nsource string is no valid SVG string\nGiven value: ${paintable.src}`,
47
- });
48
- }
38
+ // check if value is svg or image source, do the conversion accordingly
39
+ const srcIsSvg = isSvg(paintable.src);
40
+ if (!srcIsSvg && paintable.src.includes('<svg') && paintable.src.includes('</svg>')) {
41
+ // seems like the user tried to use a SVG string, as <svg> tags are used
42
+ // inform the user that this is not a valid SVG string
43
+ throw new ViewerError({
44
+ id: ViewerErrorIds.InvalidParameterValue,
45
+ message: `Invalid value for parameter "paintable" given:\nsource string is no valid SVG string\nGiven value: ${paintable.src}`,
46
+ });
47
+ }
49
48
 
50
- let imageSource: CanvasImageSource;
51
- try {
52
- imageSource = srcIsSvg ? await _createImageFromSvg(paintable.src) : await _createImageFromImgSrc(paintable.src);
53
- } catch {
54
- // SVG might be invalid, even if it passes `isSvg` check
55
- // in this case the image can't be created and will throw an error, which should be handled by the viewer and
56
- // Combeenation viewer control
57
- throw new ViewerError({
58
- id: ViewerErrorIds.InvalidParameterValue,
59
- message: `Invalid value for parameter "paintable" given:\nimage can't be created from source string\nGiven value: ${paintable.src}`,
60
- });
61
- }
49
+ let imageSource: CanvasImageSource;
50
+ try {
51
+ imageSource = srcIsSvg ? await _createImageFromSvg(paintable.src) : await _createImageFromImgSrc(paintable.src);
52
+ } catch {
53
+ // SVG might be invalid, even if it passes `isSvg` check
54
+ // in this case the image can't be created and will throw an error, which should be handled by the viewer and
55
+ // Combeenation viewer control
56
+ throw new ViewerError({
57
+ id: ViewerErrorIds.InvalidParameterValue,
58
+ message: `Invalid value for parameter "paintable" given:\nimage can't be created from source string\nGiven value: ${paintable.src}`,
59
+ });
60
+ }
62
61
 
63
- // apply image source on desired material(s)
64
- for (const material of materials) {
65
- _drawPaintableOnMaterial(material, imageSource, scene, paintable.options);
66
- }
62
+ // apply image source on desired material(s)
63
+ for (const material of materials) {
64
+ _drawPaintableOnMaterial(material, imageSource, scene, paintable.options);
65
+ }
66
+ });
67
67
  }
68
68
 
69
69
  /**