@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
@@ -13,9 +13,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
13
13
  };
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
15
  exports.createBuiltInTextureParameter = exports.ParameterTextureChannels = exports.BuiltInTextureParameter = void 0;
16
- const __1 = require("..");
17
- const parameter_manager_1 = require("../manager/parameter-manager");
18
- const svg_helper_1 = require("./svg-helper");
16
+ const __1 = require("../..");
17
+ const svg_helper_1 = require("../svg-helper");
19
18
  const is_svg_1 = __importDefault(require("is-svg"));
20
19
  /**
21
20
  * Texture parameters are a combination of the channel (e.g. albedo, bump, AO) and the "sub" parameter (e.g. uScale).
@@ -54,7 +53,7 @@ function createBuiltInTextureParameter(parameterManager, scene) {
54
53
  Object.values(exports.ParameterTextureChannels).forEach(channel => {
55
54
  parameterManager.setParameterObserver(`${channel}.${exports.BuiltInTextureParameter.image}`, ({ newValue, materials }) => __awaiter(this, void 0, void 0, function* () {
56
55
  var _a;
57
- const image = parameter_manager_1.ParameterManager.parseString(newValue);
56
+ const image = __1.ParameterManager.parseString(newValue);
58
57
  let url = image;
59
58
  const imageIsSvg = (0, is_svg_1.default)(image);
60
59
  if (imageIsSvg) {
@@ -120,56 +119,56 @@ function createBuiltInTextureParameter(parameterManager, scene) {
120
119
  }
121
120
  }));
122
121
  parameterManager.setParameterObserver(`${channel}.${exports.BuiltInTextureParameter.uOffset}`, ({ newValue, materials }) => __awaiter(this, void 0, void 0, function* () {
123
- const uOffset = parameter_manager_1.ParameterManager.parseNumber(newValue);
122
+ const uOffset = __1.ParameterManager.parseNumber(newValue);
124
123
  for (const material of materials) {
125
124
  const pbrMaterial = _assertAndConvertPBRMaterial(material, channel, exports.BuiltInTextureParameter.uOffset);
126
125
  _setUVTextureSetting('uOffset', uOffset, pbrMaterial, channel);
127
126
  }
128
127
  }));
129
128
  parameterManager.setParameterObserver(`${channel}.${exports.BuiltInTextureParameter.vOffset}`, ({ newValue, materials }) => __awaiter(this, void 0, void 0, function* () {
130
- const vOffset = parameter_manager_1.ParameterManager.parseNumber(newValue);
129
+ const vOffset = __1.ParameterManager.parseNumber(newValue);
131
130
  for (const material of materials) {
132
131
  const pbrMaterial = _assertAndConvertPBRMaterial(material, channel, exports.BuiltInTextureParameter.vOffset);
133
132
  _setUVTextureSetting('vOffset', vOffset, pbrMaterial, channel);
134
133
  }
135
134
  }));
136
135
  parameterManager.setParameterObserver(`${channel}.${exports.BuiltInTextureParameter.uScale}`, ({ newValue, materials }) => __awaiter(this, void 0, void 0, function* () {
137
- const uScale = parameter_manager_1.ParameterManager.parseNumber(newValue);
136
+ const uScale = __1.ParameterManager.parseNumber(newValue);
138
137
  for (const material of materials) {
139
138
  const pbrMaterial = _assertAndConvertPBRMaterial(material, channel, exports.BuiltInTextureParameter.uScale);
140
139
  _setUVTextureSetting('uScale', uScale, pbrMaterial, channel);
141
140
  }
142
141
  }));
143
142
  parameterManager.setParameterObserver(`${channel}.${exports.BuiltInTextureParameter.vScale}`, ({ newValue, materials }) => __awaiter(this, void 0, void 0, function* () {
144
- const vScale = parameter_manager_1.ParameterManager.parseNumber(newValue);
143
+ const vScale = __1.ParameterManager.parseNumber(newValue);
145
144
  for (const material of materials) {
146
145
  const pbrMaterial = _assertAndConvertPBRMaterial(material, channel, exports.BuiltInTextureParameter.vScale);
147
146
  _setUVTextureSetting('vScale', vScale, pbrMaterial, channel);
148
147
  }
149
148
  }));
150
149
  parameterManager.setParameterObserver(`${channel}.${exports.BuiltInTextureParameter.uAng}`, ({ newValue, materials }) => __awaiter(this, void 0, void 0, function* () {
151
- const uAng = parameter_manager_1.ParameterManager.parseNumber(newValue);
150
+ const uAng = __1.ParameterManager.parseNumber(newValue);
152
151
  for (const material of materials) {
153
152
  const pbrMaterial = _assertAndConvertPBRMaterial(material, channel, exports.BuiltInTextureParameter.uAng);
154
153
  _setUVTextureSetting('uAng', uAng, pbrMaterial, channel);
155
154
  }
156
155
  }));
157
156
  parameterManager.setParameterObserver(`${channel}.${exports.BuiltInTextureParameter.vAng}`, ({ newValue, materials }) => __awaiter(this, void 0, void 0, function* () {
158
- const vAng = parameter_manager_1.ParameterManager.parseNumber(newValue);
157
+ const vAng = __1.ParameterManager.parseNumber(newValue);
159
158
  for (const material of materials) {
160
159
  const pbrMaterial = _assertAndConvertPBRMaterial(material, channel, exports.BuiltInTextureParameter.vAng);
161
160
  _setUVTextureSetting('vAng', vAng, pbrMaterial, channel);
162
161
  }
163
162
  }));
164
163
  parameterManager.setParameterObserver(`${channel}.${exports.BuiltInTextureParameter.wAng}`, ({ newValue, materials }) => __awaiter(this, void 0, void 0, function* () {
165
- const wAng = parameter_manager_1.ParameterManager.parseNumber(newValue);
164
+ const wAng = __1.ParameterManager.parseNumber(newValue);
166
165
  for (const material of materials) {
167
166
  const pbrMaterial = _assertAndConvertPBRMaterial(material, channel, exports.BuiltInTextureParameter.wAng);
168
167
  _setUVTextureSetting('wAng', wAng, pbrMaterial, channel);
169
168
  }
170
169
  }));
171
170
  parameterManager.setParameterObserver(`${channel}.${exports.BuiltInTextureParameter.clampU}`, ({ newValue, materials }) => __awaiter(this, void 0, void 0, function* () {
172
- const clampU = parameter_manager_1.ParameterManager.parseBoolean(newValue);
171
+ const clampU = __1.ParameterManager.parseBoolean(newValue);
173
172
  for (const material of materials) {
174
173
  const pbrMaterial = _assertAndConvertPBRMaterial(material, channel, exports.BuiltInTextureParameter.clampU);
175
174
  // we don't use _setUVTextureSetting here as the parameter ("clampU" - boolean) doesn't align with the actual
@@ -181,7 +180,7 @@ function createBuiltInTextureParameter(parameterManager, scene) {
181
180
  }
182
181
  }));
183
182
  parameterManager.setParameterObserver(`${channel}.${exports.BuiltInTextureParameter.clampV}`, ({ newValue, materials }) => __awaiter(this, void 0, void 0, function* () {
184
- const clampV = parameter_manager_1.ParameterManager.parseBoolean(newValue);
183
+ const clampV = __1.ParameterManager.parseBoolean(newValue);
185
184
  for (const material of materials) {
186
185
  const pbrMaterial = _assertAndConvertPBRMaterial(material, channel, exports.BuiltInTextureParameter.clampV);
187
186
  const texture = _getTextureFromParameterChannel(pbrMaterial, channel);
@@ -191,7 +190,7 @@ function createBuiltInTextureParameter(parameterManager, scene) {
191
190
  }
192
191
  }));
193
192
  parameterManager.setParameterObserver(`${channel}.${exports.BuiltInTextureParameter.uvSet}`, ({ newValue, materials }) => __awaiter(this, void 0, void 0, function* () {
194
- const uvSet = parameter_manager_1.ParameterManager.parseNumber(newValue);
193
+ const uvSet = __1.ParameterManager.parseNumber(newValue);
195
194
  for (const material of materials) {
196
195
  const pbrMaterial = _assertAndConvertPBRMaterial(material, channel, exports.BuiltInTextureParameter.uvSet);
197
196
  const texture = _getTextureFromParameterChannel(pbrMaterial, channel);
@@ -202,8 +201,8 @@ function createBuiltInTextureParameter(parameterManager, scene) {
202
201
  }));
203
202
  });
204
203
  // this parameter is required for activating the detailmap texture, as only assigning the texture is not enough
205
- parameterManager.setParameterObserver(parameter_manager_1.BuiltInParameter.UseDetailmap, ({ newValue, materials }) => __awaiter(this, void 0, void 0, function* () {
206
- const useDetailmap = parameter_manager_1.ParameterManager.parseBoolean(newValue);
204
+ parameterManager.setParameterObserver(__1.BuiltInParameter.UseDetailmap, ({ newValue, materials }) => __awaiter(this, void 0, void 0, function* () {
205
+ const useDetailmap = __1.ParameterManager.parseBoolean(newValue);
207
206
  for (const material of materials) {
208
207
  const materialCls = material.getClassName();
209
208
  if (materialCls !== 'PBRMaterial') {
@@ -0,0 +1 @@
1
+ {"version":3,"file":"texture-parameter-helper.js","sourceRoot":"","sources":["../../../../src/internal/parameter/texture-parameter-helper.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.CameraManager = void 0;
13
13
  const index_1 = require("../index");
14
+ const animation_helper_1 = require("../internal/animation-helper");
14
15
  const export_helper_1 = require("../internal/export-helper");
15
16
  const node_helper_1 = require("../internal/node-helper");
16
17
  const screenshot_helper_1 = require("../internal/screenshot-helper");
@@ -112,15 +113,7 @@ class CameraManager {
112
113
  if (position.radius !== undefined) {
113
114
  CameraManager._addCameraAnimationToGroup('radius', activeCamera.radius, position.radius, framesPerSec, index_1.Animation.ANIMATIONTYPE_FLOAT, animationGroup, activeCamera);
114
115
  }
115
- // animation is created for 1 second (100 frames), adjust speed ratio according to desired movement time
116
- const speedRatio = 1000 / durationMs;
117
- return new Promise(resolve => {
118
- animationGroup.onAnimationGroupEndObservable.addOnce(() => {
119
- animationGroup.dispose();
120
- resolve();
121
- });
122
- animationGroup.start(false, speedRatio, 0, 100);
123
- });
116
+ yield (0, animation_helper_1.playAnimationGroupOnce)(animationGroup, framesPerSec, durationMs);
124
117
  });
125
118
  }
126
119
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"camera-manager.js","sourceRoot":"","sources":["../../../src/manager/camera-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"camera-manager.js","sourceRoot":"","sources":["../../../src/manager/camera-manager.ts"],"names":[],"mappings":"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"}
@@ -15,7 +15,7 @@ export declare class DebugManager {
15
15
  */
16
16
  registerAutofocusStartListener(): void;
17
17
  /**
18
- * Enables the Babylon.js [Inspector](https://doc.babylonjs.com/toolsAndResources/tools/inspector).\
18
+ * Enables the Babylon.js [Inspector](https://doc.babylonjs.com/legacy/inspector/).\
19
19
  * Due to the additional size of the inspector, this function is only available in "development" builds!
20
20
  *
21
21
  * @returns Signalizes if inspector could be loaded
@@ -44,6 +44,10 @@ export declare class DebugManager {
44
44
  * Also adjust the brightness of the arrow and created label.
45
45
  */
46
46
  protected static _prepareAxisVisual(labelText: string, axisNode: TransformNode): void;
47
+ /**
48
+ * More generic function for drawing a letter on a axis arrow, e.g. for drawing coordinate system letters
49
+ */
50
+ protected static _drawLabel(labelText: string, labelDistance: number, color: string, axisNode: TransformNode, xScale?: number): void;
47
51
  /**
48
52
  * Visualize bounding sphere which is used to zoom in via `autofocusActiveCamera` function
49
53
  */
@@ -34,6 +34,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
34
34
  Object.defineProperty(exports, "__esModule", { value: true });
35
35
  exports.DebugManager = void 0;
36
36
  const index_1 = require("../index");
37
+ const math_helper_1 = require("../internal/math-helper");
37
38
  /**
38
39
  * Manager for debugging functionalities
39
40
  */
@@ -52,7 +53,7 @@ class DebugManager {
52
53
  this.viewer.eventManager.addListener(index_1.ViewerEvent.AutofocusStart, boundingSphere => this._drawBoundingSphereForAutofocus(boundingSphere));
53
54
  }
54
55
  /**
55
- * Enables the Babylon.js [Inspector](https://doc.babylonjs.com/toolsAndResources/tools/inspector).\
56
+ * Enables the Babylon.js [Inspector](https://doc.babylonjs.com/legacy/inspector/).\
56
57
  * Due to the additional size of the inspector, this function is only available in "development" builds!
57
58
  *
58
59
  * @returns Signalizes if inspector could be loaded
@@ -118,7 +119,11 @@ The inspector can only be used in development builds.`);
118
119
  // multiply with unify factor to create arrows which exactly match the length of the input dimension
119
120
  const factor = DebugManager._getWorldCoordinatesAxesUnifyFactor();
120
121
  this._axesViewer = new index_1.AxesViewer(utilityLayerScene, size * factor);
122
+ let isLeftHanded = true;
121
123
  if (node) {
124
+ // required for correct rotation when calling right after creating the node (see CB-11240)
125
+ // force=true might not be needed, but it's safer
126
+ node.computeWorldMatrix(true);
122
127
  // get the world rotation of the mesh and extract the x, y, z axes from that
123
128
  // NOTE: `node.getDirection` can't be used because it considers the scaling as well, resulting in distorted axes
124
129
  const worldRotMatrix = new index_1.Matrix();
@@ -137,10 +142,12 @@ The inspector can only be used in development builds.`);
137
142
  zAxis.scaleInPlace(-1);
138
143
  }
139
144
  this._axesViewer.update(node.absolutePosition, xAxis, yAxis, zAxis);
145
+ isLeftHanded = (0, math_helper_1.nodeHasLeftHandedScaling)(node);
140
146
  }
141
147
  DebugManager._prepareAxisVisual('X', this._axesViewer.xAxis);
142
148
  DebugManager._prepareAxisVisual('Y', this._axesViewer.yAxis);
143
149
  DebugManager._prepareAxisVisual('Z', this._axesViewer.zAxis);
150
+ DebugManager._drawLabel(isLeftHanded ? 'LH' : 'RH', -0.05, '#DD0060', this._axesViewer.xAxis, 2);
144
151
  }
145
152
  hideCoordinateSystem() {
146
153
  var _a;
@@ -180,15 +187,24 @@ The inspector can only be used in development builds.`);
180
187
  static _prepareAxisVisual(labelText, axisNode) {
181
188
  // fixed values used for label size and distance
182
189
  const colorScale = 2; // used to multiply the original color scale of 0.5 - result is 1
183
- const labelSize = 0.05;
184
190
  const labelDistance = 0.4;
185
191
  // inherit the color from the arrow and adjust brightness scaling to be 1
186
192
  const axisMesh = axisNode.getChildMeshes()[0];
187
193
  const axisMaterial = axisMesh.material;
188
194
  const color = axisMaterial.emissiveColor.clone().scale(colorScale);
189
195
  axisMaterial.emissiveColor = color;
196
+ DebugManager._drawLabel(labelText, labelDistance, color.toHexString(), axisNode);
197
+ }
198
+ /**
199
+ * More generic function for drawing a letter on a axis arrow, e.g. for drawing coordinate system letters
200
+ */
201
+ static _drawLabel(labelText, labelDistance, color, axisNode, xScale = 1) {
202
+ const labelHeight = 0.05;
203
+ const labelWidth = labelHeight * xScale;
204
+ const textureHeight = 1024;
205
+ const textureWidth = textureHeight * xScale;
190
206
  const utilityLayerScene = index_1.UtilityLayerRenderer.DefaultUtilityLayer.utilityLayerScene;
191
- const labelPlane = index_1.MeshBuilder.CreatePlane(`${labelText}_label`, { size: labelSize }, utilityLayerScene);
207
+ const labelPlane = index_1.MeshBuilder.CreatePlane(`${labelText}_label`, { width: labelWidth, height: labelHeight }, utilityLayerScene);
192
208
  labelPlane.parent = axisNode;
193
209
  labelPlane.position = new index_1.Vector3(0, 0, labelDistance);
194
210
  // keep orientation of mesh, so that it is always visible, independent of the camera position
@@ -196,11 +212,11 @@ The inspector can only be used in development builds.`);
196
212
  // create GUI element
197
213
  const textElement = new index_1.TextBlock();
198
214
  textElement.text = labelText;
199
- textElement.color = color.toHexString();
215
+ textElement.color = color;
200
216
  textElement.fontSize = '100%';
201
217
  textElement.fontFamily = 'Arial';
202
218
  textElement.fontWeight = 'bold';
203
- const labelTexture = index_1.AdvancedDynamicTexture.CreateForMesh(labelPlane);
219
+ const labelTexture = index_1.AdvancedDynamicTexture.CreateForMesh(labelPlane, textureWidth, textureHeight);
204
220
  labelTexture.addControl(textElement);
205
221
  }
206
222
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"debug-manager.js","sourceRoot":"","sources":["../../../src/manager/debug-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"debug-manager.js","sourceRoot":"","sources":["../../../src/manager/debug-manager.ts"],"names":[],"mappings":"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"}
@@ -12,6 +12,10 @@ export declare type ModelVisibilityEntry = {
12
12
  name: string;
13
13
  visible: boolean;
14
14
  };
15
+ export declare type ModelData = {
16
+ assetContainer: AssetContainer;
17
+ rootNode?: TransformNode;
18
+ };
15
19
  /**
16
20
  * Callback for renaming nodes when cloning nodes in a model
17
21
  */
@@ -21,6 +25,12 @@ export declare type NodeNamingStrategy = (node: TransformNode, newModelName: str
21
25
  */
22
26
  export declare type TagNamingStrategy = (tag: string, newModelName: string) => string;
23
27
  export declare type ModelCloneOptions = {
28
+ /**
29
+ * Indicates if cloned model should be shown immediately
30
+ *
31
+ * Default: true
32
+ */
33
+ show?: boolean;
24
34
  /**
25
35
  * `true:` Creates "[InstancedMeshes](https://doc.babylonjs.com/typedoc/classes/BABYLON.InstancedMesh)" from meshes of
26
36
  * the base model instead of "independent" meshes. Most of the data, especially the geometry and material assignment
@@ -29,6 +39,21 @@ export declare type ModelCloneOptions = {
29
39
  * clones.
30
40
  */
31
41
  createInstance?: boolean;
42
+ /**
43
+ * Optionally set a parent node for the cloned model directly.\
44
+ * Coordinate system handedness of the cloned model root node will be adapted to fit the handedness of this parent
45
+ * node.
46
+ * - parentNode left handed (Babylon.js default): leave imported model root node as is
47
+ * - parentNode right handed (e.g. when adding to existing structure): flip handedness, resetting rotation to 0/0/0
48
+ * and scaling to 1/1/1
49
+ */
50
+ parentNode?: TransformNode;
51
+ /**
52
+ * Optinally overwrite name of root node.\
53
+ * This is especially useful for improving the readability of the node structure via the inspector.\
54
+ * This setting has priority over the `nodeNamingStrategy`.
55
+ */
56
+ rootNodeName?: string;
32
57
  nodeNamingStrategy?: NodeNamingStrategy;
33
58
  tagNamingStrategy?: TagNamingStrategy;
34
59
  };
@@ -105,7 +130,7 @@ export declare class ModelManager {
105
130
  * @param options additional options for the cloning procedure, like renaming algorithms
106
131
  * @returns asset container for further processing of the clone
107
132
  */
108
- cloneModel(name: string, newModelName: string, show?: boolean, options?: ModelCloneOptions): Promise<AssetContainer>;
133
+ cloneModel(name: string, newModelName: string, options?: ModelCloneOptions): Promise<ModelData>;
109
134
  /**
110
135
  * Removes a cloned model from the scene and from the internal model storage.\
111
136
  * Also removes parameter entries from all nodes of the model.\
@@ -117,11 +142,11 @@ export declare class ModelManager {
117
142
  */
118
143
  deleteAllClonedModels(): void;
119
144
  /**
120
- * Loads and returns the asset container of a certain model.\
145
+ * Loads the model and returns the asset container and root node of that model.\
121
146
  * This can be used to access the models content without having to add it to the scene.\
122
- * A typical use case is to clone or instantiate a node from a "library" model.
147
+ * A typical use case is to clone or instantiate a model or single node from a "library" model.
123
148
  */
124
- getAssetContainerOfModel(name: string): Promise<AssetContainer>;
149
+ getModelData(name: string): Promise<ModelData>;
125
150
  /**
126
151
  * Returns the decals configuration of a certain model.\
127
152
  * The model will be loaded before being able to access this configuration.\
@@ -155,5 +180,11 @@ export declare class ModelManager {
155
180
  * Remove assets of asset container from scene
156
181
  */
157
182
  protected _hideModel(model: ModelAsset): void;
183
+ /**
184
+ * Returns the root node of a models asset container.\
185
+ * This can be useful to reposition an entire (cloned) model.\
186
+ * Function expects only one root `TransformNode` and will return `undefined` otherwise.
187
+ */
188
+ protected _getRootNodeOfModel(assetContainer: AssetContainer): TransformNode | undefined;
158
189
  }
159
190
  export {};
@@ -13,6 +13,7 @@ exports.ModelManager = void 0;
13
13
  const index_1 = require("../index");
14
14
  const asset_helper_1 = require("../internal/asset-helper");
15
15
  const cloning_helper_1 = require("../internal/cloning-helper");
16
+ const math_helper_1 = require("../internal/math-helper");
16
17
  const lodash_es_1 = require("lodash-es");
17
18
  /**
18
19
  * Manager for handling 3d models.\
@@ -195,8 +196,9 @@ class ModelManager {
195
196
  * @param options additional options for the cloning procedure, like renaming algorithms
196
197
  * @returns asset container for further processing of the clone
197
198
  */
198
- cloneModel(name, newModelName, show = true, options) {
199
+ cloneModel(name, newModelName, options) {
199
200
  return __awaiter(this, void 0, void 0, function* () {
201
+ const { show, createInstance, parentNode, rootNodeName } = options !== null && options !== void 0 ? options : {};
200
202
  const sourceModel = this._getModel(name);
201
203
  if (!sourceModel) {
202
204
  throw new index_1.ViewerError({
@@ -223,13 +225,32 @@ class ModelManager {
223
225
  state: 'loaded',
224
226
  assetContainer: (0, cloning_helper_1.cloneModelAssetContainer)(sourceModel.assetContainer, newModelName, this.viewer.scene, options),
225
227
  isClone: true,
226
- sourceModelName: (options === null || options === void 0 ? void 0 : options.createInstance) ? sourceModel.name : undefined,
228
+ sourceModelName: createInstance ? sourceModel.name : undefined,
227
229
  };
228
230
  this._modelAssets[newModelName] = clonedModel;
229
- if (show) {
231
+ const rootNode = this._getRootNodeOfModel(clonedModel.assetContainer);
232
+ if (rootNode && rootNodeName) {
233
+ rootNode.name = rootNodeName;
234
+ }
235
+ if (show !== false) {
230
236
  yield this._showModel(clonedModel);
237
+ if (parentNode && rootNode) {
238
+ const parentNodeIsLeftHanded = (0, math_helper_1.nodeHasLeftHandedScaling)(parentNode);
239
+ // Freshly loaded (and cloned) models are left handed by default.
240
+ // If the parent node is right handed, we know that a conversion has already been done and the root node
241
+ // conversion node of the new model has to be reset.
242
+ //
243
+ // We expect a rotation of 0/0/0 and scaling 1/1/1 when following our default workflow, which is uploading GLBs
244
+ // on the platform.
245
+ // Still it's a generic solution and so we actually flip the current world matrix instead of applying these
246
+ // transformation values in a hardcoded way.
247
+ if (!parentNodeIsLeftHanded) {
248
+ (0, math_helper_1.flipHandednessOfNode)(rootNode);
249
+ }
250
+ rootNode.parent = parentNode;
251
+ }
231
252
  }
232
- return clonedModel.assetContainer;
253
+ return { assetContainer: clonedModel.assetContainer, rootNode };
233
254
  });
234
255
  }
235
256
  /**
@@ -264,11 +285,11 @@ class ModelManager {
264
285
  clonedModelNames.forEach(modelName => this.deleteClonedModel(modelName));
265
286
  }
266
287
  /**
267
- * Loads and returns the asset container of a certain model.\
288
+ * Loads the model and returns the asset container and root node of that model.\
268
289
  * This can be used to access the models content without having to add it to the scene.\
269
- * A typical use case is to clone or instantiate a node from a "library" model.
290
+ * A typical use case is to clone or instantiate a model or single node from a "library" model.
270
291
  */
271
- getAssetContainerOfModel(name) {
292
+ getModelData(name) {
272
293
  return __awaiter(this, void 0, void 0, function* () {
273
294
  const model = this._getModel(name);
274
295
  if (!model) {
@@ -286,7 +307,8 @@ class ModelManager {
286
307
  if (model.state !== 'inScene') {
287
308
  yield this._prepareModelForScene(model);
288
309
  }
289
- return model.assetContainer;
310
+ const rootNode = this._getRootNodeOfModel(model.assetContainer);
311
+ return { assetContainer: model.assetContainer, rootNode };
290
312
  });
291
313
  }
292
314
  /**
@@ -387,6 +409,26 @@ class ModelManager {
387
409
  model.assetContainer.removeFromScene();
388
410
  model.state = 'loaded';
389
411
  }
412
+ /**
413
+ * Returns the root node of a models asset container.\
414
+ * This can be useful to reposition an entire (cloned) model.\
415
+ * Function expects only one root `TransformNode` and will return `undefined` otherwise.
416
+ */
417
+ _getRootNodeOfModel(assetContainer) {
418
+ // `assetContainer.rootNodes` can also contain other `Node` types like lights or cameras, which we don't want here
419
+ const rootNodes = assetContainer.rootNodes.filter(node => node instanceof index_1.TransformNode);
420
+ if (rootNodes.length === 0) {
421
+ console.warn(`No root node found for associated model`);
422
+ return undefined;
423
+ }
424
+ else if (rootNodes.length > 1) {
425
+ console.warn(`Mutltiple root nodes found for associated model`);
426
+ return undefined;
427
+ }
428
+ else {
429
+ return rootNodes[0];
430
+ }
431
+ }
390
432
  }
391
433
  exports.ModelManager = ModelManager;
392
434
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"model-manager.js","sourceRoot":"","sources":["../../../src/manager/model-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"model-manager.js","sourceRoot":"","sources":["../../../src/manager/model-manager.ts"],"names":[],"mappings":"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"}