@combeenation/3d-viewer 4.0.0-beta3 → 4.0.0

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 (57) hide show
  1. package/README.md +3 -1
  2. package/dist/lib-cjs/api/classes/element.d.ts +14 -9
  3. package/dist/lib-cjs/api/classes/element.js +148 -87
  4. package/dist/lib-cjs/api/classes/element.js.map +1 -1
  5. package/dist/lib-cjs/api/classes/event.d.ts +15 -1
  6. package/dist/lib-cjs/api/classes/event.js +15 -1
  7. package/dist/lib-cjs/api/classes/event.js.map +1 -1
  8. package/dist/lib-cjs/api/classes/parameter.d.ts +101 -7
  9. package/dist/lib-cjs/api/classes/parameter.js +141 -21
  10. package/dist/lib-cjs/api/classes/parameter.js.map +1 -1
  11. package/dist/lib-cjs/api/classes/parameterObservable.js +11 -36
  12. package/dist/lib-cjs/api/classes/parameterObservable.js.map +1 -1
  13. package/dist/lib-cjs/api/classes/placementAnimation.d.ts +2 -2
  14. package/dist/lib-cjs/api/classes/placementAnimation.js +11 -0
  15. package/dist/lib-cjs/api/classes/placementAnimation.js.map +1 -1
  16. package/dist/lib-cjs/api/classes/variant.d.ts +48 -4
  17. package/dist/lib-cjs/api/classes/variant.js +320 -46
  18. package/dist/lib-cjs/api/classes/variant.js.map +1 -1
  19. package/dist/lib-cjs/api/classes/variantInstance.d.ts +5 -1
  20. package/dist/lib-cjs/api/classes/variantInstance.js +10 -0
  21. package/dist/lib-cjs/api/classes/variantInstance.js.map +1 -1
  22. package/dist/lib-cjs/api/classes/viewer.d.ts +6 -3
  23. package/dist/lib-cjs/api/classes/viewer.js +140 -59
  24. package/dist/lib-cjs/api/classes/viewer.js.map +1 -1
  25. package/dist/lib-cjs/api/internal/sceneSetup.d.ts +5 -1
  26. package/dist/lib-cjs/api/internal/sceneSetup.js +75 -71
  27. package/dist/lib-cjs/api/internal/sceneSetup.js.map +1 -1
  28. package/dist/lib-cjs/api/util/babylonHelper.d.ts +54 -4
  29. package/dist/lib-cjs/api/util/babylonHelper.js +160 -8
  30. package/dist/lib-cjs/api/util/babylonHelper.js.map +1 -1
  31. package/dist/lib-cjs/api/util/globalTypes.d.ts +62 -8
  32. package/dist/lib-cjs/api/util/resourceHelper.d.ts +13 -8
  33. package/dist/lib-cjs/api/util/resourceHelper.js +14 -14
  34. package/dist/lib-cjs/api/util/resourceHelper.js.map +1 -1
  35. package/dist/lib-cjs/index.d.ts +24 -22
  36. package/dist/lib-cjs/index.js +42 -38
  37. package/dist/lib-cjs/index.js.map +1 -1
  38. package/package.json +5 -5
  39. package/src/api/classes/element.ts +118 -91
  40. package/src/api/classes/event.ts +16 -1
  41. package/src/api/classes/parameter.ts +153 -22
  42. package/src/api/classes/parameterObservable.ts +9 -31
  43. package/src/api/classes/{elementParameterizable.ts → parameterizable.ts} +12 -1
  44. package/src/api/classes/placementAnimation.ts +10 -0
  45. package/src/api/classes/variant.ts +187 -40
  46. package/src/api/classes/variantInstance.ts +8 -1
  47. package/src/api/classes/variantParameterizable.ts +73 -0
  48. package/src/api/classes/viewer.ts +83 -17
  49. package/src/api/classes/viewerLight.ts +330 -0
  50. package/src/api/internal/sceneSetup.ts +99 -109
  51. package/src/api/util/babylonHelper.ts +173 -10
  52. package/src/api/util/globalTypes.ts +71 -10
  53. package/src/api/util/resourceHelper.ts +16 -16
  54. package/src/api/util/stringHelper.ts +26 -0
  55. package/src/dev.ts +3 -7
  56. package/src/index.ts +27 -23
  57. package/src/pagesconfig.json +4 -0
@@ -2,77 +2,77 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.sceneSetup = void 0;
4
4
  var tslib_1 = require("tslib");
5
- require("@babylonjs/core/Materials/Textures/Loaders/ddsTextureLoader");
6
5
  require("@babylonjs/core/Helpers/sceneHelpers");
6
+ require("@babylonjs/core/Materials/Textures/Loaders/ddsTextureLoader");
7
7
  var math_color_1 = require("@babylonjs/core/Maths/math.color");
8
8
  var math_vector_1 = require("@babylonjs/core/Maths/math.vector");
9
+ var meshBuilder_1 = require("@babylonjs/core/Meshes/meshBuilder");
9
10
  var defaultRenderingPipeline_1 = require("@babylonjs/core/PostProcesses/RenderPipeline/Pipelines/defaultRenderingPipeline");
10
11
  var scene_1 = require("@babylonjs/core/scene");
12
+ var lodash_es_1 = require("lodash-es");
11
13
  var parameter_1 = require("../classes/parameter");
12
- var defaultLightning = function (scene) {
14
+ /**
15
+ * @param scene
16
+ * @param name
17
+ * @param definition
18
+ */
19
+ var processGround = function (scene, name, definition) {
13
20
  return tslib_1.__awaiter(this, void 0, void 0, function () {
14
- var defaultSetup, defaultLight;
15
21
  return tslib_1.__generator(this, function (_a) {
16
- switch (_a.label) {
17
- case 0:
18
- defaultSetup = {
19
- type: 'hemispheric',
22
+ return [2 /*return*/, new Promise(function (resolve) {
23
+ var _resolve = function (ground) {
24
+ if (definition.receiveShadows !== undefined) {
25
+ ground.receiveShadows = definition.receiveShadows;
26
+ }
27
+ resolve(ground);
20
28
  };
21
- return [4 /*yield*/, processLight(scene, 'default_light', defaultSetup)];
22
- case 1:
23
- defaultLight = _a.sent();
24
- defaultLight.groundColor = math_color_1.Color3.Black();
25
- defaultLight.diffuse = math_color_1.Color3.White();
26
- return [2 /*return*/, defaultLight];
27
- }
28
- });
29
- });
30
- };
31
- var processLight = function (scene, name, lightSetup) {
32
- return tslib_1.__awaiter(this, void 0, void 0, function () {
33
- var light, _a, hemisphericLightModule, pointLightModule;
34
- return tslib_1.__generator(this, function (_b) {
35
- switch (_b.label) {
36
- case 0:
37
- _a = lightSetup.type;
38
- switch (_a) {
39
- case 'hemispheric': return [3 /*break*/, 1];
40
- case 'point': return [3 /*break*/, 3];
29
+ switch (definition.type) {
30
+ case 'baked':
31
+ if (!definition.meshId) {
32
+ throw new Error("A baked ground must define a \"meshId\".");
33
+ }
34
+ _resolve(scene.getMeshByID(definition.meshId));
35
+ break;
36
+ case 'ground':
37
+ _resolve(meshBuilder_1.MeshBuilder.CreateGround(name, definition, scene));
38
+ break;
39
+ case 'heightmap':
40
+ if (!definition.url) {
41
+ throw new Error("A heightmap ground must define an \"url\".");
42
+ }
43
+ definition.onReady = function (_ground) {
44
+ _resolve(_ground);
45
+ };
46
+ meshBuilder_1.MeshBuilder.CreateGroundFromHeightMap(name, definition.url, definition, scene);
47
+ break;
48
+ default:
49
+ throw new Error("Ground of type \"" + definition.type + "\" not implemented (yet).");
41
50
  }
42
- return [3 /*break*/, 5];
43
- case 1: return [4 /*yield*/, Promise.resolve().then(function () { return require(/* webpackChunkName: "hemispheric-light" */ '@babylonjs/core/Lights/hemisphericLight'); })];
44
- case 2:
45
- hemisphericLightModule = _b.sent();
46
- light = new hemisphericLightModule.HemisphericLight(name, math_vector_1.Vector3.Up(), scene);
47
- return [3 /*break*/, 5];
48
- case 3: return [4 /*yield*/, Promise.resolve().then(function () { return require(/* webpackChunkName: "point-light" */ '@babylonjs/core/Lights/pointLight'); })];
49
- case 4:
50
- pointLightModule = _b.sent();
51
- light = new pointLightModule.PointLight(name, math_vector_1.Vector3.Up(), scene);
52
- return [3 /*break*/, 5];
53
- case 5: return [2 /*return*/, light];
54
- }
51
+ })];
55
52
  });
56
53
  });
57
54
  };
55
+ /**
56
+ * @param scene
57
+ */
58
58
  var defaultCamera = function (scene) {
59
59
  return tslib_1.__awaiter(this, void 0, void 0, function () {
60
- var cameraSetup, defaultCamera;
61
60
  return tslib_1.__generator(this, function (_a) {
62
61
  switch (_a.label) {
63
- case 0:
64
- cameraSetup = {
62
+ case 0: return [4 /*yield*/, processCamera(scene, 'default_camera', {
65
63
  type: 'arc',
66
64
  active: true,
67
- };
68
- return [4 /*yield*/, processCamera(scene, 'default_camera', cameraSetup)];
69
- case 1:
70
- defaultCamera = _a.sent();
71
- return [2 /*return*/, defaultCamera];
65
+ })];
66
+ case 1: return [2 /*return*/, _a.sent()];
72
67
  }
73
68
  });
74
69
  });
75
70
  };
71
+ /**
72
+ * @param scene
73
+ * @param name
74
+ * @param cameraSetup
75
+ */
76
76
  var processCamera = function (scene, name, cameraSetup) {
77
77
  return tslib_1.__awaiter(this, void 0, void 0, function () {
78
78
  var camera, target, _a, arcCameraModule;
@@ -111,51 +111,55 @@ var processCamera = function (scene, name, cameraSetup) {
111
111
  });
112
112
  });
113
113
  };
114
+ /**
115
+ * @param engine
116
+ * @param sceneJson
117
+ */
114
118
  var sceneSetup = function (engine, sceneJson) {
115
119
  return tslib_1.__awaiter(this, void 0, void 0, function () {
116
- var scene, cameras, camera, _a, _b, _i, camera, _c, _d, _e, _f, _g, light, defaultPipeline, module_1;
120
+ var scene, cameras, cameraDefinitions, _a, _b, _i, cameraName, _c, _d, camera, groundDefinitions, _e, _f, _g, groundName, defaultPipeline, module_1;
117
121
  return tslib_1.__generator(this, function (_h) {
118
122
  switch (_h.label) {
119
123
  case 0:
120
124
  scene = new scene_1.Scene(engine);
121
125
  scene.clearColor = new math_color_1.Color4(0, 0, 0, 0);
122
126
  cameras = [];
123
- if (!(!sceneJson.scene.hasOwnProperty('cameras') || (sceneJson.scene.cameras && !Object.keys(sceneJson.scene.cameras).length))) return [3 /*break*/, 2];
124
- return [4 /*yield*/, defaultCamera(scene)];
125
- case 1:
126
- camera = _h.sent();
127
- cameras.push(camera);
128
- return [3 /*break*/, 6];
129
- case 2:
127
+ cameraDefinitions = lodash_es_1.get(sceneJson.scene, 'cameras');
128
+ if (!!lodash_es_1.isEmpty(cameraDefinitions)) return [3 /*break*/, 5];
130
129
  _a = [];
131
- for (_b in sceneJson.scene.cameras)
130
+ for (_b in cameraDefinitions)
132
131
  _a.push(_b);
133
132
  _i = 0;
134
- _h.label = 3;
135
- case 3:
136
- if (!(_i < _a.length)) return [3 /*break*/, 6];
137
- camera = _a[_i];
133
+ _h.label = 1;
134
+ case 1:
135
+ if (!(_i < _a.length)) return [3 /*break*/, 4];
136
+ cameraName = _a[_i];
138
137
  _d = (_c = cameras).push;
139
- return [4 /*yield*/, processCamera(scene, camera, sceneJson.scene.cameras[camera])];
140
- case 4:
138
+ return [4 /*yield*/, processCamera(scene, cameraName, cameraDefinitions[cameraName])];
139
+ case 2:
141
140
  _d.apply(_c, [_h.sent()]);
142
- _h.label = 5;
143
- case 5:
141
+ _h.label = 3;
142
+ case 3:
144
143
  _i++;
145
- return [3 /*break*/, 3];
144
+ return [3 /*break*/, 1];
145
+ case 4: return [3 /*break*/, 7];
146
+ case 5: return [4 /*yield*/, defaultCamera(scene)];
146
147
  case 6:
147
- if (!(!sceneJson.scene.hasOwnProperty('lights') || (sceneJson.scene.lights && !Object.keys(sceneJson.scene.lights).length))) return [3 /*break*/, 7];
148
- return [3 /*break*/, 11];
148
+ camera = _h.sent();
149
+ cameras.push(camera);
150
+ _h.label = 7;
149
151
  case 7:
152
+ groundDefinitions = lodash_es_1.get(sceneJson.scene, 'grounds');
153
+ if (!!lodash_es_1.isEmpty(groundDefinitions)) return [3 /*break*/, 11];
150
154
  _e = [];
151
- for (_f in sceneJson.scene.lights)
155
+ for (_f in groundDefinitions)
152
156
  _e.push(_f);
153
157
  _g = 0;
154
158
  _h.label = 8;
155
159
  case 8:
156
160
  if (!(_g < _e.length)) return [3 /*break*/, 11];
157
- light = _e[_g];
158
- return [4 /*yield*/, processLight(scene, light, sceneJson.scene.lights[light])];
161
+ groundName = _e[_g];
162
+ return [4 /*yield*/, processGround(scene, groundName, groundDefinitions[groundName])];
159
163
  case 9:
160
164
  _h.sent();
161
165
  _h.label = 10;
@@ -1 +1 @@
1
- {"version":3,"file":"sceneSetup.js","sourceRoot":"","sources":["../../../../src/api/internal/sceneSetup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sceneSetup.js","sourceRoot":"","sources":["../../../../src/api/internal/sceneSetup.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,18 @@
1
1
  import { HighlightLayer } from '@babylonjs/core/Layers/highlightLayer';
2
+ import { ShadowGenerator } from '@babylonjs/core/Lights/Shadows/shadowGenerator';
2
3
  import { Material } from '@babylonjs/core/Materials/material';
3
4
  import { Color3 } from '@babylonjs/core/Maths/math.color';
5
+ import { Vector3 } from '@babylonjs/core/Maths/math.vector';
4
6
  import { AbstractMesh } from '@babylonjs/core/Meshes/abstractMesh';
5
7
  import { TransformNode } from '@babylonjs/core/Meshes/transformNode';
6
8
  import { Node } from '@babylonjs/core/node';
7
9
  import { Scene } from '@babylonjs/core/scene';
8
10
  import { DottedPath } from '../classes/dottedPath';
11
+ /**
12
+ * @param node
13
+ * @return Node
14
+ */
15
+ declare const getRootNode: (node: Node) => Node;
9
16
  /**
10
17
  * @param nodes
11
18
  * @param predicate
@@ -16,15 +23,18 @@ declare const mapToDottedNodes: <T>(nodes: Node[], predicate?: ((node: Node) =>
16
23
  * @param node
17
24
  * @return DottedPath
18
25
  */
19
- declare const getDottedPathForTransformNode: (node: TransformNode) => DottedPath;
26
+ declare const getDottedPathForNode: (node: Node) => DottedPath;
20
27
  /**
21
- *
22
28
  * @param node
23
29
  * @param predicate
24
30
  * @param deep
25
31
  * @return TransformNode | null
26
32
  */
27
33
  declare const cloneTransformNode: (node: TransformNode, predicate?: ((node: TransformNode) => boolean) | undefined, deep?: boolean) => TransformNode | null;
34
+ /**
35
+ * @param node
36
+ */
37
+ declare const cloneNodeWithParents: (node: Node | null) => Node | null;
28
38
  /**
29
39
  * @param node
30
40
  * @param deep
@@ -37,7 +47,7 @@ declare const cloneTransformNodeMaterial: (node: TransformNode, prefix?: DottedP
37
47
  * @param deep
38
48
  * @param metadata
39
49
  */
40
- declare const injectTransformNodeMetadata: (node: TransformNode, metadata: {}, deep?: boolean) => void;
50
+ declare const injectNodeMetadata: (node: Node, metadata: {}, deep?: boolean) => void;
41
51
  /**
42
52
  * @param node
43
53
  * @param assertCallable
@@ -55,6 +65,28 @@ declare const activateTransformNode: (node: TransformNode, deep?: boolean) => vo
55
65
  * @param deep
56
66
  */
57
67
  declare const deactivateTransformNode: (node: TransformNode, deep?: boolean) => void;
68
+ /**
69
+ * @param node
70
+ */
71
+ declare const enableNodeWithParents: (node: Node) => void;
72
+ /**
73
+ * @param node
74
+ */
75
+ declare const disableNodeWithParents: (node: Node) => void;
76
+ /**
77
+ * Attention: this function mutates the position of a node. Keep in mind that there are dependencies to other
78
+ * functions moving nodes around.
79
+ * @param node
80
+ * @param rotation
81
+ */
82
+ declare const rotateTransformNode: (node: TransformNode, rotation: Vector3) => TransformNode;
83
+ /**
84
+ * Attention: this function mutates the position of a node. Keep in mind that there are dependencies to other
85
+ * functions moving nodes around.
86
+ * @param node
87
+ * @param distance
88
+ */
89
+ declare const moveTransformNode: (node: TransformNode, distance: Vector3) => TransformNode;
58
90
  /**
59
91
  * @param node
60
92
  * @param material
@@ -115,6 +147,24 @@ declare const addToHighlightLayer: (layer: HighlightLayer, color: Color3, node:
115
147
  * @param deep
116
148
  */
117
149
  declare const removeFromHighlightLayer: (layer: HighlightLayer, node: TransformNode, deep?: boolean) => void;
150
+ /**
151
+ * @param node
152
+ * @param receiveShadows
153
+ * @param deep
154
+ */
155
+ declare const setReceiveShadows: (node: TransformNode, receiveShadows: boolean, deep?: boolean) => void;
156
+ /**
157
+ * @param node
158
+ * @param generator
159
+ * @param deep
160
+ */
161
+ declare const addToShadowGenerator: (generator: ShadowGenerator, node: TransformNode, deep?: boolean) => void;
162
+ /**
163
+ * @param node
164
+ * @param generator
165
+ * @param deep
166
+ */
167
+ declare const removeFromShadowGenerator: (generator: ShadowGenerator, node: TransformNode, deep?: boolean) => void;
118
168
  /**
119
169
  * https://forum.babylonjs.com/t/get-mesh-bounding-box-position-and-size-in-2d-screen-coordinates/1058/3
120
170
  * @param mesh
@@ -122,4 +172,4 @@ declare const removeFromHighlightLayer: (layer: HighlightLayer, node: TransformN
122
172
  * @param canvas
123
173
  */
124
174
  declare const getClientRectFromMesh: (mesh: AbstractMesh, scene: Scene, canvas: HTMLCanvasElement) => ClientRect;
125
- export { mapToDottedNodes, getDottedPathForTransformNode, cloneTransformNode, cloneTransformNodeMaterial, injectTransformNodeMetadata, assertTransformNode, activateTransformNode, deactivateTransformNode, setMaterial, setSourceNodeMaterial, setMaterialColor, setMaterialTexture, setMaterialMetallness, setMaterialRoughness, addToHighlightLayer, removeFromHighlightLayer, getClientRectFromMesh };
175
+ export { getRootNode, mapToDottedNodes, getDottedPathForNode, cloneTransformNode, cloneNodeWithParents, cloneTransformNodeMaterial, injectNodeMetadata, assertTransformNode, activateTransformNode, deactivateTransformNode, enableNodeWithParents, disableNodeWithParents, rotateTransformNode, moveTransformNode, setMaterial, setSourceNodeMaterial, setMaterialColor, setMaterialTexture, setMaterialMetallness, setMaterialRoughness, addToHighlightLayer, removeFromHighlightLayer, setReceiveShadows, addToShadowGenerator, removeFromShadowGenerator, getClientRectFromMesh };
@@ -1,12 +1,27 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getClientRectFromMesh = exports.removeFromHighlightLayer = exports.addToHighlightLayer = exports.setMaterialRoughness = exports.setMaterialMetallness = exports.setMaterialTexture = exports.setMaterialColor = exports.setSourceNodeMaterial = exports.setMaterial = exports.deactivateTransformNode = exports.activateTransformNode = exports.assertTransformNode = exports.injectTransformNodeMetadata = exports.cloneTransformNodeMaterial = exports.cloneTransformNode = exports.getDottedPathForTransformNode = exports.mapToDottedNodes = void 0;
3
+ exports.getClientRectFromMesh = exports.removeFromShadowGenerator = exports.addToShadowGenerator = exports.setReceiveShadows = exports.removeFromHighlightLayer = exports.addToHighlightLayer = exports.setMaterialRoughness = exports.setMaterialMetallness = exports.setMaterialTexture = exports.setMaterialColor = exports.setSourceNodeMaterial = exports.setMaterial = exports.moveTransformNode = exports.rotateTransformNode = exports.disableNodeWithParents = exports.enableNodeWithParents = exports.deactivateTransformNode = exports.activateTransformNode = exports.assertTransformNode = exports.injectNodeMetadata = exports.cloneTransformNodeMaterial = exports.cloneNodeWithParents = exports.cloneTransformNode = exports.getDottedPathForNode = exports.mapToDottedNodes = exports.getRootNode = void 0;
4
4
  var tslib_1 = require("tslib");
5
+ var light_1 = require("@babylonjs/core/Lights/light");
6
+ var math_axis_1 = require("@babylonjs/core/Maths/math.axis");
5
7
  var math_vector_1 = require("@babylonjs/core/Maths/math.vector");
6
8
  var abstractMesh_1 = require("@babylonjs/core/Meshes/abstractMesh");
7
9
  var instancedMesh_1 = require("@babylonjs/core/Meshes/instancedMesh");
10
+ var transformNode_1 = require("@babylonjs/core/Meshes/transformNode");
8
11
  var lodash_es_1 = require("lodash-es");
9
12
  var dottedPath_1 = require("../classes/dottedPath");
13
+ /**
14
+ * @param node
15
+ * @return Node
16
+ */
17
+ var getRootNode = function (node) {
18
+ var _node = node;
19
+ while (_node.parent) {
20
+ _node = _node.parent;
21
+ }
22
+ return _node;
23
+ };
24
+ exports.getRootNode = getRootNode;
10
25
  /**
11
26
  * @param nodes
12
27
  * @param predicate
@@ -32,7 +47,7 @@ exports.mapToDottedNodes = mapToDottedNodes;
32
47
  * @param node
33
48
  * @return DottedPath
34
49
  */
35
- var getDottedPathForTransformNode = function (node) {
50
+ var getDottedPathForNode = function (node) {
36
51
  var dottedPath = dottedPath_1.DottedPath.create(node.name);
37
52
  var _parent = node;
38
53
  while (_parent.parent) {
@@ -41,9 +56,8 @@ var getDottedPathForTransformNode = function (node) {
41
56
  }
42
57
  return dottedPath;
43
58
  };
44
- exports.getDottedPathForTransformNode = getDottedPathForTransformNode;
59
+ exports.getDottedPathForNode = getDottedPathForNode;
45
60
  /**
46
- *
47
61
  * @param node
48
62
  * @param predicate
49
63
  * @param deep
@@ -70,6 +84,23 @@ var cloneTransformNode = function (node, predicate, deep) {
70
84
  return clone;
71
85
  };
72
86
  exports.cloneTransformNode = cloneTransformNode;
87
+ /**
88
+ * @param node
89
+ */
90
+ var cloneNodeWithParents = function (node) {
91
+ var clone = null;
92
+ if (node instanceof transformNode_1.TransformNode) {
93
+ clone = node.clone(node.name, cloneNodeWithParents(node.parent), true);
94
+ }
95
+ else if (node instanceof light_1.Light) {
96
+ clone = node.clone(node.name, cloneNodeWithParents(node.parent));
97
+ }
98
+ else if (node) {
99
+ throw new Error("Cloning of \"" + (node === null || node === void 0 ? void 0 : node.constructor.name) + "\" is not implemented (yet).");
100
+ }
101
+ return clone;
102
+ };
103
+ exports.cloneNodeWithParents = cloneNodeWithParents;
73
104
  /**
74
105
  * @param node
75
106
  * @param deep
@@ -98,15 +129,15 @@ exports.cloneTransformNodeMaterial = cloneTransformNodeMaterial;
98
129
  * @param deep
99
130
  * @param metadata
100
131
  */
101
- var injectTransformNodeMetadata = function (node, metadata, deep) {
132
+ var injectNodeMetadata = function (node, metadata, deep) {
102
133
  if (deep === void 0) { deep = true; }
103
134
  node.metadata = lodash_es_1.merge({}, node.metadata, metadata);
104
- if (deep) {
135
+ if (deep && node instanceof transformNode_1.TransformNode) {
105
136
  var children = node.getChildTransformNodes(true);
106
- children.forEach(function (child) { return injectTransformNodeMetadata(child, metadata, deep); });
137
+ children.forEach(function (child) { return injectNodeMetadata(child, metadata, deep); });
107
138
  }
108
139
  };
109
- exports.injectTransformNodeMetadata = injectTransformNodeMetadata;
140
+ exports.injectNodeMetadata = injectNodeMetadata;
110
141
  /**
111
142
  * @param node
112
143
  * @param assertCallable
@@ -159,6 +190,80 @@ var deactivateTransformNode = function (node, deep) {
159
190
  }
160
191
  };
161
192
  exports.deactivateTransformNode = deactivateTransformNode;
193
+ /**
194
+ * @param node
195
+ */
196
+ var enableNodeWithParents = function (node) {
197
+ node.setEnabled(true);
198
+ if (node.parent) {
199
+ enableNodeWithParents(node.parent);
200
+ }
201
+ };
202
+ exports.enableNodeWithParents = enableNodeWithParents;
203
+ /**
204
+ * @param node
205
+ */
206
+ var disableNodeWithParents = function (node) {
207
+ node.setEnabled(false);
208
+ if (node.parent) {
209
+ disableNodeWithParents(node.parent);
210
+ }
211
+ };
212
+ exports.disableNodeWithParents = disableNodeWithParents;
213
+ /**
214
+ * Attention: this function mutates the position of a node. Keep in mind that there are dependencies to other
215
+ * functions moving nodes around.
216
+ * @param node
217
+ * @param rotation
218
+ */
219
+ var rotateTransformNode = function (node, rotation) {
220
+ // remember absolute rotation and reset it before translating
221
+ if (!lodash_es_1.has(node.metadata, 'rotation.initial')) {
222
+ var rotationQuaternion = node.rotationQuaternion;
223
+ if (!rotationQuaternion) {
224
+ rotationQuaternion = math_vector_1.Quaternion.RotationYawPitchRoll(node.rotation.x, node.rotation.y, node.rotation.z);
225
+ }
226
+ injectNodeMetadata(node, { 'rotation.initial': rotationQuaternion.asArray() }, false);
227
+ }
228
+ if (!lodash_es_1.has(node.metadata, 'rotation.position') || lodash_es_1.get(node.metadata, 'position.dirty')) {
229
+ var rotationPosition = node.absolutePosition.clone();
230
+ if (lodash_es_1.has(node.metadata, 'rotation.offset')) {
231
+ rotationPosition = rotationPosition.subtract(lodash_es_1.get(node.metadata, 'rotation.offset'));
232
+ }
233
+ injectNodeMetadata(node, { 'rotation.position': rotationPosition }, false);
234
+ injectNodeMetadata(node, { 'position.dirty': false }, false);
235
+ }
236
+ node.setAbsolutePosition(lodash_es_1.get(node.metadata, 'rotation.position'));
237
+ node.rotationQuaternion = math_vector_1.Quaternion.FromArray(lodash_es_1.get(node.metadata, 'rotation.initial'));
238
+ node.rotateAround(math_vector_1.Vector3.Zero(), math_axis_1.Axis.X, rotation.x);
239
+ node.rotateAround(math_vector_1.Vector3.Zero(), math_axis_1.Axis.Y, rotation.y);
240
+ node.rotateAround(math_vector_1.Vector3.Zero(), math_axis_1.Axis.Z, rotation.z);
241
+ node.computeWorldMatrix(true);
242
+ var rotationOffset = node.absolutePosition.subtract(lodash_es_1.get(node.metadata, 'rotation.position'));
243
+ injectNodeMetadata(node, { 'rotation.offset': rotationOffset }, false);
244
+ return node;
245
+ };
246
+ exports.rotateTransformNode = rotateTransformNode;
247
+ /**
248
+ * Attention: this function mutates the position of a node. Keep in mind that there are dependencies to other
249
+ * functions moving nodes around.
250
+ * @param node
251
+ * @param distance
252
+ */
253
+ var moveTransformNode = function (node, distance) {
254
+ // remember absolute position and reset it before translating
255
+ if (!lodash_es_1.has(node.metadata, 'position.initial')) {
256
+ injectNodeMetadata(node, { 'position.initial': node.absolutePosition.clone() }, false);
257
+ }
258
+ var position = lodash_es_1.get(node.metadata, 'position.initial');
259
+ if (lodash_es_1.has(node.metadata, 'rotation.offset')) {
260
+ position = position.add(lodash_es_1.get(node.metadata, 'rotation.offset'));
261
+ }
262
+ node.setAbsolutePosition(position.add(distance));
263
+ injectNodeMetadata(node, { 'position.dirty': true }, false);
264
+ return node;
265
+ };
266
+ exports.moveTransformNode = moveTransformNode;
162
267
  /**
163
268
  * @param node
164
269
  * @param material
@@ -330,6 +435,53 @@ var removeFromHighlightLayer = function (layer, node, deep) {
330
435
  }
331
436
  };
332
437
  exports.removeFromHighlightLayer = removeFromHighlightLayer;
438
+ /**
439
+ * @param node
440
+ * @param receiveShadows
441
+ * @param deep
442
+ */
443
+ var setReceiveShadows = function (node, receiveShadows, deep) {
444
+ if (deep === void 0) { deep = true; }
445
+ if (node instanceof abstractMesh_1.AbstractMesh) {
446
+ node.receiveShadows = receiveShadows;
447
+ }
448
+ if (deep) {
449
+ node.getChildTransformNodes(true).forEach(function (child) { return setReceiveShadows(child, receiveShadows, deep); });
450
+ }
451
+ };
452
+ exports.setReceiveShadows = setReceiveShadows;
453
+ /**
454
+ * @param node
455
+ * @param generator
456
+ * @param deep
457
+ */
458
+ var addToShadowGenerator = function (generator, node, deep) {
459
+ if (deep === void 0) { deep = true; }
460
+ if (node instanceof abstractMesh_1.AbstractMesh) {
461
+ // We have to remove the node because there's no duplicate check in babylon
462
+ generator.removeShadowCaster(node, false);
463
+ generator.addShadowCaster(node, false);
464
+ }
465
+ if (deep) {
466
+ node.getChildTransformNodes(true).forEach(function (child) { return addToShadowGenerator(generator, child, deep); });
467
+ }
468
+ };
469
+ exports.addToShadowGenerator = addToShadowGenerator;
470
+ /**
471
+ * @param node
472
+ * @param generator
473
+ * @param deep
474
+ */
475
+ var removeFromShadowGenerator = function (generator, node, deep) {
476
+ if (deep === void 0) { deep = true; }
477
+ if (node instanceof abstractMesh_1.AbstractMesh) {
478
+ generator.removeShadowCaster(node, false);
479
+ }
480
+ if (deep) {
481
+ node.getChildTransformNodes(true).forEach(function (child) { return removeFromShadowGenerator(generator, child, deep); });
482
+ }
483
+ };
484
+ exports.removeFromShadowGenerator = removeFromShadowGenerator;
333
485
  /**
334
486
  * https://forum.babylonjs.com/t/get-mesh-bounding-box-position-and-size-in-2d-screen-coordinates/1058/3
335
487
  * @param mesh
@@ -1 +1 @@
1
- {"version":3,"file":"babylonHelper.js","sourceRoot":"","sources":["../../../../src/api/util/babylonHelper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"babylonHelper.js","sourceRoot":"","sources":["../../../../src/api/util/babylonHelper.ts"],"names":[],"mappings":"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"}