@combeenation/3d-viewer 3.0.0-rc2 → 4.0.0-alpha6

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 (212) hide show
  1. package/LICENSE +0 -0
  2. package/README.md +111 -111
  3. package/dist/lib-cjs/api/classes/animationInterface.d.ts +8 -8
  4. package/dist/lib-cjs/api/classes/animationInterface.js +1 -1
  5. package/dist/lib-cjs/api/classes/animationInterface.js.map +0 -0
  6. package/dist/lib-cjs/api/classes/dottedPath.d.ts +79 -79
  7. package/dist/lib-cjs/api/classes/dottedPath.js +190 -190
  8. package/dist/lib-cjs/api/classes/dottedPath.js.map +0 -0
  9. package/dist/lib-cjs/api/classes/element.d.ts +130 -125
  10. package/dist/lib-cjs/api/classes/element.js +752 -638
  11. package/dist/lib-cjs/api/classes/element.js.map +1 -1
  12. package/dist/lib-cjs/api/classes/elementParameterizable.d.ts +14 -14
  13. package/dist/lib-cjs/api/classes/elementParameterizable.js +134 -134
  14. package/dist/lib-cjs/api/classes/elementParameterizable.js.map +0 -0
  15. package/dist/lib-cjs/api/classes/event.d.ts +326 -312
  16. package/dist/lib-cjs/api/classes/event.js +371 -357
  17. package/dist/lib-cjs/api/classes/event.js.map +1 -1
  18. package/dist/lib-cjs/api/classes/eventBroadcaster.d.ts +26 -26
  19. package/dist/lib-cjs/api/classes/eventBroadcaster.js +53 -53
  20. package/dist/lib-cjs/api/classes/eventBroadcaster.js.map +0 -0
  21. package/dist/lib-cjs/api/classes/parameter.d.ts +259 -161
  22. package/dist/lib-cjs/api/classes/parameter.js +387 -261
  23. package/dist/lib-cjs/api/classes/parameter.js.map +1 -1
  24. package/dist/lib-cjs/api/classes/parameterObservable.d.ts +36 -36
  25. package/dist/lib-cjs/api/classes/parameterObservable.js +101 -126
  26. package/dist/lib-cjs/api/classes/parameterObservable.js.map +1 -1
  27. package/dist/lib-cjs/api/classes/parameterizable.d.ts +15 -0
  28. package/dist/lib-cjs/api/classes/parameterizable.js +150 -0
  29. package/dist/lib-cjs/api/classes/parameterizable.js.map +1 -0
  30. package/dist/lib-cjs/api/classes/placementAnimation.d.ts +38 -38
  31. package/dist/lib-cjs/api/classes/placementAnimation.js +138 -138
  32. package/dist/lib-cjs/api/classes/placementAnimation.js.map +0 -0
  33. package/dist/lib-cjs/api/classes/variant.d.ts +224 -176
  34. package/dist/lib-cjs/api/classes/variant.js +1126 -770
  35. package/dist/lib-cjs/api/classes/variant.js.map +1 -1
  36. package/dist/lib-cjs/api/classes/variantInstance.d.ts +45 -41
  37. package/dist/lib-cjs/api/classes/variantInstance.js +108 -98
  38. package/dist/lib-cjs/api/classes/variantInstance.js.map +1 -1
  39. package/dist/lib-cjs/api/classes/variantParameterizable.d.ts +17 -0
  40. package/dist/lib-cjs/api/classes/variantParameterizable.js +93 -0
  41. package/dist/lib-cjs/api/classes/variantParameterizable.js.map +1 -0
  42. package/dist/lib-cjs/api/classes/viewer.d.ts +127 -128
  43. package/dist/lib-cjs/api/classes/viewer.js +486 -486
  44. package/dist/lib-cjs/api/classes/viewer.js.map +1 -1
  45. package/dist/lib-cjs/api/classes/viewerLight.d.ts +66 -0
  46. package/dist/lib-cjs/api/classes/viewerLight.js +350 -0
  47. package/dist/lib-cjs/api/classes/viewerLight.js.map +1 -0
  48. package/dist/lib-cjs/api/emitter.d.ts +35 -0
  49. package/dist/lib-cjs/api/emitter.js +61 -0
  50. package/dist/lib-cjs/api/emitter.js.map +1 -0
  51. package/dist/lib-cjs/api/internal/debugViewer.d.ts +13 -13
  52. package/dist/lib-cjs/api/internal/debugViewer.js +87 -87
  53. package/dist/lib-cjs/api/internal/debugViewer.js.map +0 -0
  54. package/dist/lib-cjs/api/internal/lensRendering.d.ts +8 -8
  55. package/dist/lib-cjs/api/internal/lensRendering.js +11 -11
  56. package/dist/lib-cjs/api/internal/lensRendering.js.map +0 -0
  57. package/dist/lib-cjs/api/internal/sceneSetup.d.ts +10 -6
  58. package/dist/lib-cjs/api/internal/sceneSetup.js +231 -227
  59. package/dist/lib-cjs/api/internal/sceneSetup.js.map +1 -1
  60. package/dist/lib-cjs/api/manager/animationManager.d.ts +29 -29
  61. package/dist/lib-cjs/api/manager/animationManager.js +121 -121
  62. package/dist/lib-cjs/api/manager/animationManager.js.map +0 -0
  63. package/dist/lib-cjs/api/manager/sceneManager.d.ts +32 -32
  64. package/dist/lib-cjs/api/manager/sceneManager.js +132 -132
  65. package/dist/lib-cjs/api/manager/sceneManager.js.map +0 -0
  66. package/dist/lib-cjs/api/manager/variantInstanceManager.d.ts +90 -90
  67. package/dist/lib-cjs/api/manager/variantInstanceManager.js +321 -321
  68. package/dist/lib-cjs/api/manager/variantInstanceManager.js.map +0 -0
  69. package/dist/lib-cjs/api/store/specStorage.d.ts +24 -24
  70. package/dist/lib-cjs/api/store/specStorage.js +51 -51
  71. package/dist/lib-cjs/api/store/specStorage.js.map +0 -0
  72. package/dist/lib-cjs/api/util/babylonHelper.d.ts +160 -125
  73. package/dist/lib-cjs/api/util/babylonHelper.js +465 -368
  74. package/dist/lib-cjs/api/util/babylonHelper.js.map +1 -1
  75. package/dist/lib-cjs/api/util/globalTypes.d.ts +321 -275
  76. package/dist/lib-cjs/api/util/globalTypes.js +1 -1
  77. package/dist/lib-cjs/api/util/globalTypes.js.map +0 -0
  78. package/dist/lib-cjs/api/util/resourceHelper.d.ts +26 -30
  79. package/dist/lib-cjs/api/util/resourceHelper.js +237 -247
  80. package/dist/lib-cjs/api/util/resourceHelper.js.map +1 -1
  81. package/dist/lib-cjs/api/util/stringHelper.d.ts +9 -0
  82. package/dist/lib-cjs/api/util/stringHelper.js +26 -0
  83. package/dist/lib-cjs/api/util/stringHelper.js.map +1 -0
  84. package/dist/lib-cjs/buildinfo.json +3 -3
  85. package/dist/lib-cjs/index.d.ts +48 -46
  86. package/dist/lib-cjs/index.js +86 -82
  87. package/dist/lib-cjs/index.js.map +1 -1
  88. package/package.json +83 -83
  89. package/src/api/classes/animationInterface.ts +11 -11
  90. package/src/api/classes/dottedPath.ts +189 -189
  91. package/src/api/classes/element.ts +648 -606
  92. package/src/api/classes/event.ts +370 -355
  93. package/src/api/classes/eventBroadcaster.ts +54 -54
  94. package/src/api/classes/parameter.ts +408 -270
  95. package/src/api/classes/parameterObservable.ts +99 -121
  96. package/src/api/classes/{elementParameterizable.ts → parameterizable.ts} +89 -78
  97. package/src/api/classes/placementAnimation.ts +133 -133
  98. package/src/api/classes/variant.ts +799 -652
  99. package/src/api/classes/variantInstance.ts +88 -81
  100. package/src/api/classes/variantParameterizable.ts +73 -0
  101. package/src/api/classes/viewer.ts +420 -421
  102. package/src/api/classes/viewerLight.ts +295 -0
  103. package/src/api/internal/debugViewer.ts +81 -81
  104. package/src/api/internal/lensRendering.ts +10 -10
  105. package/src/api/internal/sceneSetup.ts +194 -204
  106. package/src/api/manager/animationManager.ts +116 -116
  107. package/src/api/manager/sceneManager.ts +105 -105
  108. package/src/api/manager/variantInstanceManager.ts +236 -236
  109. package/src/api/store/specStorage.ts +53 -53
  110. package/src/api/util/babylonHelper.ts +497 -392
  111. package/src/api/util/globalTypes.ts +369 -314
  112. package/src/api/util/resourceHelper.ts +157 -168
  113. package/src/api/util/stringHelper.ts +26 -0
  114. package/src/buildinfo.json +2 -2
  115. package/src/commonjs.tsconfig.json +13 -13
  116. package/src/declaration.tsconfig.json +10 -10
  117. package/src/dev.ts +45 -60
  118. package/src/es6.tsconfig.json +13 -13
  119. package/src/index.ts +91 -87
  120. package/src/pagesconfig.json +51 -47
  121. package/src/tsconfig.json +43 -43
  122. package/src/tsconfig.types.json +9 -9
  123. package/src/types.d.ts +4 -4
  124. package/src/assets/02_environment.env +0 -0
  125. package/src/assets/02_test_hdri_flipped.hdr +0 -0
  126. package/src/assets/07rDvxP2xTk.glb +0 -0
  127. package/src/assets/08L8DrdZt8y.glb +0 -0
  128. package/src/assets/CB-6250/main.js +0 -427
  129. package/src/assets/CB-6250/models/.gitkeep +0 -1
  130. package/src/assets/CB-6250/models/candle.glb +0 -0
  131. package/src/assets/CB-6250/models/lamp.glb +0 -0
  132. package/src/assets/CB-6250/models/molto-bido.glb +0 -0
  133. package/src/assets/CB-6250/models/mtron.glb +0 -0
  134. package/src/assets/CB-6250/models/mtron_split_geometry.glb +0 -0
  135. package/src/assets/CB-6250/models/mtron_split_material.glb +0 -0
  136. package/src/assets/KTM1290SA/AvatarAdv.glb +0 -0
  137. package/src/assets/KTM1290SA/ktm1290SA.ts +0 -77
  138. package/src/assets/KTM1290SA/scene.json +0 -16
  139. package/src/assets/_draft/main.js +0 -117
  140. package/src/assets/_draft/models/.gitkeep +0 -1
  141. package/src/assets/_draft/models/_demo.glb +0 -0
  142. package/src/assets/_draft/studio.env +0 -0
  143. package/src/assets/bike/CompleteBike_Optim_986K_01.glb +0 -0
  144. package/src/assets/bike/complete.json +0 -19
  145. package/src/assets/bike/index.json +0 -9
  146. package/src/assets/bike/setup.json +0 -11
  147. package/src/assets/ctrls-helper.ts +0 -89
  148. package/src/assets/cube/10 environment.env +0 -0
  149. package/src/assets/cube/bin_svg_logo_test.glb +0 -0
  150. package/src/assets/cube/cube.ts +0 -42
  151. package/src/assets/cube/cube_v2.glb +0 -0
  152. package/src/assets/cube/scene.ts +0 -83
  153. package/src/assets/cube/testCylinderUVs.glb +0 -0
  154. package/src/assets/environment.env +0 -0
  155. package/src/assets/hoferkerzen/hoferkerzen.glb +0 -0
  156. package/src/assets/hoferkerzen/index.json +0 -9
  157. package/src/assets/hoferkerzen/setup.json +0 -11
  158. package/src/assets/hoferkerzen/variant_kgl.json +0 -41
  159. package/src/assets/husqvarna-instanced-meshes/husqvarna.env +0 -0
  160. package/src/assets/husqvarna-instanced-meshes/husqvarna.glb +0 -0
  161. package/src/assets/husqvarna-instanced-meshes/main.ts +0 -108
  162. package/src/assets/index.html +0 -144
  163. package/src/assets/index.json +0 -9
  164. package/src/assets/linkeddups/example_2_instances.glb +0 -0
  165. package/src/assets/linkeddups/spec.ts +0 -32
  166. package/src/assets/molto-mova-multi-instance-shown-bug/main.ts +0 -106
  167. package/src/assets/molto-mova-multi-instance-shown-bug/molto-mova-rc82.glb +0 -0
  168. package/src/assets/molto-mova-multi-instance-shown-bug/molto-mova-volare.glb +0 -0
  169. package/src/assets/molto-mova-multi-instance-shown-bug/studio.env +0 -0
  170. package/src/assets/moltomova/10 environment.env +0 -0
  171. package/src/assets/moltomova/RC65.glb +0 -0
  172. package/src/assets/moltomova/RC82.glb +0 -0
  173. package/src/assets/moltomova/TPH67.glb +0 -0
  174. package/src/assets/moltomova/TPH82.glb +0 -0
  175. package/src/assets/moltomova/Volare.glb +0 -0
  176. package/src/assets/moltomova/moltomova-cl3d-spec-rc65.ts +0 -159
  177. package/src/assets/moltomova/moltomova-cl3d-spec-rc82.ts +0 -118
  178. package/src/assets/moltomova/moltomova-cl3d-spec-scene.ts +0 -57
  179. package/src/assets/moltomova/moltomova-cl3d-spec-tph67.ts +0 -199
  180. package/src/assets/moltomova/moltomova-cl3d-spec-tph82.ts +0 -173
  181. package/src/assets/moltomova/moltomova-cl3d-spec-volare65.ts +0 -173
  182. package/src/assets/moltomova/moltomova.ts +0 -175
  183. package/src/assets/mova.json +0 -18
  184. package/src/assets/mova_3_phase_rail.glb +0 -0
  185. package/src/assets/mova_3_phase_rail.json +0 -86
  186. package/src/assets/mova_recessed_luminaire.glb +0 -0
  187. package/src/assets/mova_recessed_luminaire.json +0 -81
  188. package/src/assets/nessie/gltf-test-no-material.gltf +0 -142
  189. package/src/assets/nessie/gltf-test-no-material_data.bin +0 -0
  190. package/src/assets/nessie/gltf-test-rotation.gltf +0 -142
  191. package/src/assets/nessie/gltf-test-rotation_data.bin +0 -0
  192. package/src/assets/nessie/gltf-test.gltf +0 -178
  193. package/src/assets/nessie/gltf-test_data.bin +0 -0
  194. package/src/assets/nessie/index.json +0 -9
  195. package/src/assets/nessie/nessie_basic.json +0 -24
  196. package/src/assets/nessie/setup.json +0 -12
  197. package/src/assets/scene.json +0 -64
  198. package/src/assets/setup.json +0 -25
  199. package/src/assets/small_cave_1k.hdr +0 -0
  200. package/src/assets/svgTo3D/09aJssVZrjk.env +0 -0
  201. package/src/assets/svgTo3D/09f0zfBQBWK.glb +0 -0
  202. package/src/assets/svgTo3D/9bae062709f8a7803769ba955cde3c4a.jpg +0 -0
  203. package/src/assets/svgTo3D/logo-cyledge.svg +0 -19
  204. package/src/assets/svgTo3D/spec.ts +0 -56
  205. package/src/assets/svgTo3D/svg_assets/09fmVjc59hQ.png +0 -0
  206. package/src/assets/svgTo3D/svg_assets/LDI2apCSOBg7S-QT7pb0EPOreec.woff2 +0 -0
  207. package/src/assets/svgTo3D/svg_assets/unineue_regular.woff2 +0 -0
  208. package/src/assets/svgTo3D/testCube.glb +0 -0
  209. package/src/assets/svgTo3D/testCube001.glb +0 -0
  210. package/src/assets/svgTo3D/testCubeSpec.ts +0 -49
  211. package/src/assets/textures/grass.png +0 -0
  212. package/src/assets/textures/seamless-grunge-scratched-texture.jpg +0 -0
@@ -1,24 +1,24 @@
1
- export declare class SpecStorage {
2
- protected spec: StructureJson;
3
- static instance: SpecStorage | undefined;
4
- /**
5
- * Constructor.
6
- */
7
- protected constructor(spec: StructureJson);
8
- /**
9
- * Creates {@link SpecStorage} from spec.
10
- */
11
- static createFromSpec(structureJson: StructureJson): SpecStorage;
12
- /**
13
- * Destroys the current instance to allow reinstantiating the SpecStorage.
14
- */
15
- static destroy(): void;
16
- /**
17
- * Gets spec from key.
18
- */
19
- static get<T>(key?: string): T;
20
- /**
21
- * Sets value for spec for given key.
22
- */
23
- static set<T>(key: string, value: T): typeof SpecStorage;
24
- }
1
+ export declare class SpecStorage {
2
+ protected spec: StructureJson;
3
+ static instance: SpecStorage | undefined;
4
+ /**
5
+ * Constructor.
6
+ */
7
+ protected constructor(spec: StructureJson);
8
+ /**
9
+ * Creates {@link SpecStorage} from spec.
10
+ */
11
+ static createFromSpec(structureJson: StructureJson): SpecStorage;
12
+ /**
13
+ * Destroys the current instance to allow reinstantiating the SpecStorage.
14
+ */
15
+ static destroy(): void;
16
+ /**
17
+ * Gets spec from key.
18
+ */
19
+ static get<T>(key?: string): T;
20
+ /**
21
+ * Sets value for spec for given key.
22
+ */
23
+ static set<T>(key: string, value: T): typeof SpecStorage;
24
+ }
@@ -1,52 +1,52 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SpecStorage = void 0;
4
- var lodash_es_1 = require("lodash-es");
5
- var SpecStorage = /** @class */ (function () {
6
- /**
7
- * Constructor.
8
- */
9
- function SpecStorage(spec) {
10
- this.spec = spec;
11
- }
12
- /**
13
- * Creates {@link SpecStorage} from spec.
14
- */
15
- SpecStorage.createFromSpec = function (structureJson) {
16
- if (this.instance) {
17
- throw new Error("SpecStorage has already been created.");
18
- }
19
- return (this.instance = new this(structureJson));
20
- };
21
- /**
22
- * Destroys the current instance to allow reinstantiating the SpecStorage.
23
- */
24
- SpecStorage.destroy = function () {
25
- this.instance = undefined;
26
- };
27
- /**
28
- * Gets spec from key.
29
- */
30
- SpecStorage.get = function (key) {
31
- if (!this.instance || !this.instance.spec) {
32
- throw new Error("SpecStore has not been properly created.");
33
- }
34
- if (key) {
35
- return lodash_es_1.get(this.instance.spec, key);
36
- }
37
- return this.instance.spec;
38
- };
39
- /**
40
- * Sets value for spec for given key.
41
- */
42
- SpecStorage.set = function (key, value) {
43
- if (!this.instance || !this.instance.spec) {
44
- throw new Error("SpecStore has not been properly created.");
45
- }
46
- lodash_es_1.set(this.instance.spec, key, value);
47
- return SpecStorage;
48
- };
49
- return SpecStorage;
50
- }());
51
- exports.SpecStorage = SpecStorage;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SpecStorage = void 0;
4
+ var lodash_es_1 = require("lodash-es");
5
+ var SpecStorage = /** @class */ (function () {
6
+ /**
7
+ * Constructor.
8
+ */
9
+ function SpecStorage(spec) {
10
+ this.spec = spec;
11
+ }
12
+ /**
13
+ * Creates {@link SpecStorage} from spec.
14
+ */
15
+ SpecStorage.createFromSpec = function (structureJson) {
16
+ if (this.instance) {
17
+ throw new Error("SpecStorage has already been created.");
18
+ }
19
+ return (this.instance = new this(structureJson));
20
+ };
21
+ /**
22
+ * Destroys the current instance to allow reinstantiating the SpecStorage.
23
+ */
24
+ SpecStorage.destroy = function () {
25
+ this.instance = undefined;
26
+ };
27
+ /**
28
+ * Gets spec from key.
29
+ */
30
+ SpecStorage.get = function (key) {
31
+ if (!this.instance || !this.instance.spec) {
32
+ throw new Error("SpecStore has not been properly created.");
33
+ }
34
+ if (key) {
35
+ return lodash_es_1.get(this.instance.spec, key);
36
+ }
37
+ return this.instance.spec;
38
+ };
39
+ /**
40
+ * Sets value for spec for given key.
41
+ */
42
+ SpecStorage.set = function (key, value) {
43
+ if (!this.instance || !this.instance.spec) {
44
+ throw new Error("SpecStore has not been properly created.");
45
+ }
46
+ lodash_es_1.set(this.instance.spec, key, value);
47
+ return SpecStorage;
48
+ };
49
+ return SpecStorage;
50
+ }());
51
+ exports.SpecStorage = SpecStorage;
52
52
  //# sourceMappingURL=specStorage.js.map
File without changes
@@ -1,125 +1,160 @@
1
- import { HighlightLayer } from '@babylonjs/core/Layers/highlightLayer';
2
- import { Material } from '@babylonjs/core/Materials/material';
3
- import { Color3 } from '@babylonjs/core/Maths/math.color';
4
- import { AbstractMesh } from '@babylonjs/core/Meshes/abstractMesh';
5
- import { TransformNode } from '@babylonjs/core/Meshes/transformNode';
6
- import { Node } from '@babylonjs/core/node';
7
- import { Scene } from '@babylonjs/core/scene';
8
- import { DottedPath } from '../classes/dottedPath';
9
- /**
10
- * @param nodes
11
- * @param predicate
12
- * @return Map<DottedPath, T>
13
- */
14
- declare const mapToDottedNodes: <T>(nodes: Node[], predicate?: ((node: Node) => boolean) | undefined) => Map<DottedPath, T>;
15
- /**
16
- * @param node
17
- * @return DottedPath
18
- */
19
- declare const getDottedPathForTransformNode: (node: TransformNode) => DottedPath;
20
- /**
21
- *
22
- * @param node
23
- * @param predicate
24
- * @param deep
25
- * @return TransformNode | null
26
- */
27
- declare const cloneTransformNode: (node: TransformNode, predicate?: ((node: TransformNode) => boolean) | undefined, deep?: boolean) => TransformNode | null;
28
- /**
29
- * @param node
30
- * @param deep
31
- * @param prefix
32
- * @return TransformNode
33
- */
34
- declare const cloneTransformNodeMaterial: (node: TransformNode, prefix?: DottedPathArgument, deep?: boolean) => TransformNode;
35
- /**
36
- * @param node
37
- * @param deep
38
- * @param metadata
39
- */
40
- declare const injectTransformNodeMetadata: (node: TransformNode, metadata: {}, deep?: boolean) => void;
41
- /**
42
- * @param node
43
- * @param assertCallable
44
- * @param callableParameters
45
- * @param deep
46
- */
47
- declare const assertTransformNode: (node: TransformNode, assertCallable: CallableFunction, callableParameters?: any[], deep?: boolean) => void;
48
- /**
49
- * @param node
50
- * @param deep
51
- */
52
- declare const activateTransformNode: (node: TransformNode, deep?: boolean) => void;
53
- /**
54
- * @param node
55
- * @param deep
56
- */
57
- declare const deactivateTransformNode: (node: TransformNode, deep?: boolean) => void;
58
- /**
59
- * @param node
60
- * @param material
61
- * @param deep
62
- */
63
- declare const setMaterial: (node: TransformNode, material: Material, deep?: boolean) => void;
64
- /**
65
- * !!! Warning !!!
66
- * This function is not public API. Whilst it can help solving certain problems, it only works reliably in well defined
67
- * situations and can cause unwanted side effects under some conditions. Use carefully at your own risk!
68
- *
69
- * See https://combeenation.myjetbrains.com/youtrack/issue/CB-5906 for further details regarding this warning.
70
- *
71
- * Set material of an instanced meshes source mesh.
72
- * Changes the material of all instanced meshes which have the same source mesh.
73
- *
74
- * @param node
75
- * @param material
76
- * @param deep
77
- *
78
- * @ignore
79
- */
80
- declare const setSourceNodeMaterial: (node: TransformNode, material: Material, deep?: boolean) => void;
81
- /**
82
- * @param node
83
- * @param color
84
- * @param deep
85
- */
86
- declare const setMaterialColor: (node: TransformNode, color: Color3, deep?: boolean) => void;
87
- /**
88
- * @param node
89
- * @param texture
90
- * @param deep
91
- */
92
- declare const setMaterialTexture: (node: TransformNode, texture: Texture, deep?: boolean) => void;
93
- /**
94
- * @param node
95
- * @param metallness
96
- * @param deep
97
- */
98
- declare const setMaterialMetallness: (node: TransformNode, metallness: number, deep?: boolean) => void;
99
- /**
100
- * @param node
101
- * @param roughness
102
- * @param deep
103
- */
104
- declare const setMaterialRoughness: (node: TransformNode, roughness: number, deep?: boolean) => void;
105
- /**
106
- * @param node
107
- * @param layer
108
- * @param color
109
- * @param deep
110
- */
111
- declare const addToHighlightLayer: (layer: HighlightLayer, color: Color3, node: TransformNode, deep?: boolean) => void;
112
- /**
113
- * @param node
114
- * @param layer
115
- * @param deep
116
- */
117
- declare const removeFromHighlightLayer: (layer: HighlightLayer, node: TransformNode, deep?: boolean) => void;
118
- /**
119
- * https://forum.babylonjs.com/t/get-mesh-bounding-box-position-and-size-in-2d-screen-coordinates/1058/3
120
- * @param mesh
121
- * @param scene
122
- * @param canvas
123
- */
124
- 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 };
1
+ import { HighlightLayer } from '@babylonjs/core/Layers/highlightLayer';
2
+ import { ShadowGenerator } from '@babylonjs/core/Lights/Shadows/shadowGenerator';
3
+ import { Material } from '@babylonjs/core/Materials/material';
4
+ import { Color3 } from '@babylonjs/core/Maths/math.color';
5
+ import { AbstractMesh } from '@babylonjs/core/Meshes/abstractMesh';
6
+ import { TransformNode } from '@babylonjs/core/Meshes/transformNode';
7
+ import { Node } from '@babylonjs/core/node';
8
+ import { Scene } from '@babylonjs/core/scene';
9
+ import { DottedPath } from '../classes/dottedPath';
10
+ /**
11
+ * @param node
12
+ * @return Node
13
+ */
14
+ declare const getRootNode: (node: Node) => Node;
15
+ /**
16
+ * @param nodes
17
+ * @param predicate
18
+ * @return Map<DottedPath, T>
19
+ */
20
+ declare const mapToDottedNodes: <T>(nodes: Node[], predicate?: ((node: Node) => boolean) | undefined) => Map<DottedPath, T>;
21
+ /**
22
+ * @param node
23
+ * @return DottedPath
24
+ */
25
+ declare const getDottedPathForNode: (node: Node) => DottedPath;
26
+ /**
27
+ * @param node
28
+ * @param predicate
29
+ * @param deep
30
+ * @return TransformNode | null
31
+ */
32
+ declare const cloneTransformNode: (node: TransformNode, predicate?: ((node: TransformNode) => boolean) | undefined, deep?: boolean) => TransformNode | null;
33
+ /**
34
+ * @param node
35
+ */
36
+ declare const cloneNodeWithParents: (node: Node | null) => Node | null;
37
+ /**
38
+ * @param node
39
+ * @param deep
40
+ * @param prefix
41
+ * @return TransformNode
42
+ */
43
+ declare const cloneTransformNodeMaterial: (node: TransformNode, prefix?: DottedPathArgument, deep?: boolean) => TransformNode;
44
+ /**
45
+ * @param node
46
+ * @param deep
47
+ * @param metadata
48
+ */
49
+ declare const injectNodeMetadata: (node: Node, metadata: {}, deep?: boolean) => void;
50
+ /**
51
+ * @param node
52
+ * @param assertCallable
53
+ * @param callableParameters
54
+ * @param deep
55
+ */
56
+ declare const assertTransformNode: (node: TransformNode, assertCallable: CallableFunction, callableParameters?: any[], deep?: boolean) => void;
57
+ /**
58
+ * @param node
59
+ * @param deep
60
+ */
61
+ declare const activateTransformNode: (node: TransformNode, deep?: boolean) => void;
62
+ /**
63
+ * @param node
64
+ * @param deep
65
+ */
66
+ declare const deactivateTransformNode: (node: TransformNode, deep?: boolean) => void;
67
+ /**
68
+ * @param node
69
+ */
70
+ declare const enableNodeWithParents: (node: Node) => void;
71
+ /**
72
+ * @param node
73
+ */
74
+ declare const disableNodeWithParents: (node: Node) => void;
75
+ /**
76
+ * @param node
77
+ * @param material
78
+ * @param deep
79
+ */
80
+ declare const setMaterial: (node: TransformNode, material: Material, deep?: boolean) => void;
81
+ /**
82
+ * !!! Warning !!!
83
+ * This function is not public API. Whilst it can help solving certain problems, it only works reliably in well defined
84
+ * situations and can cause unwanted side effects under some conditions. Use carefully at your own risk!
85
+ *
86
+ * See https://combeenation.myjetbrains.com/youtrack/issue/CB-5906 for further details regarding this warning.
87
+ *
88
+ * Set material of an instanced meshes source mesh.
89
+ * Changes the material of all instanced meshes which have the same source mesh.
90
+ *
91
+ * @param node
92
+ * @param material
93
+ * @param deep
94
+ *
95
+ * @ignore
96
+ */
97
+ declare const setSourceNodeMaterial: (node: TransformNode, material: Material, deep?: boolean) => void;
98
+ /**
99
+ * @param node
100
+ * @param color
101
+ * @param deep
102
+ */
103
+ declare const setMaterialColor: (node: TransformNode, color: Color3, deep?: boolean) => void;
104
+ /**
105
+ * @param node
106
+ * @param texture
107
+ * @param deep
108
+ */
109
+ declare const setMaterialTexture: (node: TransformNode, texture: Texture, deep?: boolean) => void;
110
+ /**
111
+ * @param node
112
+ * @param metallness
113
+ * @param deep
114
+ */
115
+ declare const setMaterialMetallness: (node: TransformNode, metallness: number, deep?: boolean) => void;
116
+ /**
117
+ * @param node
118
+ * @param roughness
119
+ * @param deep
120
+ */
121
+ declare const setMaterialRoughness: (node: TransformNode, roughness: number, deep?: boolean) => void;
122
+ /**
123
+ * @param node
124
+ * @param layer
125
+ * @param color
126
+ * @param deep
127
+ */
128
+ declare const addToHighlightLayer: (layer: HighlightLayer, color: Color3, node: TransformNode, deep?: boolean) => void;
129
+ /**
130
+ * @param node
131
+ * @param layer
132
+ * @param deep
133
+ */
134
+ declare const removeFromHighlightLayer: (layer: HighlightLayer, node: TransformNode, deep?: boolean) => void;
135
+ /**
136
+ * @param node
137
+ * @param receiveShadows
138
+ * @param deep
139
+ */
140
+ declare const setReceiveShadows: (node: TransformNode, receiveShadows: boolean, deep?: boolean) => void;
141
+ /**
142
+ * @param node
143
+ * @param generator
144
+ * @param deep
145
+ */
146
+ declare const addToShadowGenerator: (generator: ShadowGenerator, node: TransformNode, deep?: boolean) => void;
147
+ /**
148
+ * @param node
149
+ * @param generator
150
+ * @param deep
151
+ */
152
+ declare const removeFromShadowGenerator: (generator: ShadowGenerator, node: TransformNode, deep?: boolean) => void;
153
+ /**
154
+ * https://forum.babylonjs.com/t/get-mesh-bounding-box-position-and-size-in-2d-screen-coordinates/1058/3
155
+ * @param mesh
156
+ * @param scene
157
+ * @param canvas
158
+ */
159
+ declare const getClientRectFromMesh: (mesh: AbstractMesh, scene: Scene, canvas: HTMLCanvasElement) => ClientRect;
160
+ export { getRootNode, mapToDottedNodes, getDottedPathForNode, cloneTransformNode, cloneNodeWithParents, cloneTransformNodeMaterial, injectNodeMetadata, assertTransformNode, activateTransformNode, deactivateTransformNode, enableNodeWithParents, disableNodeWithParents, setMaterial, setSourceNodeMaterial, setMaterialColor, setMaterialTexture, setMaterialMetallness, setMaterialRoughness, addToHighlightLayer, removeFromHighlightLayer, setReceiveShadows, addToShadowGenerator, removeFromShadowGenerator, getClientRectFromMesh };