@combeenation/3d-viewer 12.4.1 → 13.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 (213) 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 +63 -63
  4. package/dist/lib-cjs/index.js +81 -114
  5. package/dist/lib-cjs/index.js.map +1 -1
  6. package/dist/lib-cjs/internal/cbnCustomBabylonLoaderPlugin.d.ts +10 -0
  7. package/dist/lib-cjs/internal/cbnCustomBabylonLoaderPlugin.js +124 -0
  8. package/dist/lib-cjs/internal/cbnCustomBabylonLoaderPlugin.js.map +1 -0
  9. package/dist/lib-cjs/internal/cloningHelper.d.ts +19 -0
  10. package/dist/lib-cjs/internal/cloningHelper.js +165 -0
  11. package/dist/lib-cjs/internal/cloningHelper.js.map +1 -0
  12. package/dist/lib-cjs/internal/deviceHelper.d.ts +9 -0
  13. package/dist/lib-cjs/{api/util → internal}/deviceHelper.js +6 -10
  14. package/dist/lib-cjs/internal/deviceHelper.js.map +1 -0
  15. package/dist/lib-cjs/internal/geometryHelper.d.ts +21 -0
  16. package/dist/lib-cjs/{api/util → internal}/geometryHelper.js +57 -24
  17. package/dist/lib-cjs/internal/geometryHelper.js.map +1 -0
  18. package/dist/lib-cjs/internal/metadataHelper.d.ts +26 -0
  19. package/dist/lib-cjs/internal/metadataHelper.js +51 -0
  20. package/dist/lib-cjs/internal/metadataHelper.js.map +1 -0
  21. package/dist/lib-cjs/internal/paintableHelper.d.ts +40 -0
  22. package/dist/lib-cjs/internal/paintableHelper.js +287 -0
  23. package/dist/lib-cjs/internal/paintableHelper.js.map +1 -0
  24. package/dist/lib-cjs/internal/tagsHelper.d.ts +12 -0
  25. package/dist/lib-cjs/internal/tagsHelper.js +38 -0
  26. package/dist/lib-cjs/internal/tagsHelper.js.map +1 -0
  27. package/dist/lib-cjs/manager/cameraManager.d.ts +51 -0
  28. package/dist/lib-cjs/manager/cameraManager.js +154 -0
  29. package/dist/lib-cjs/manager/cameraManager.js.map +1 -0
  30. package/dist/lib-cjs/manager/debugManager.d.ts +60 -0
  31. package/dist/lib-cjs/manager/debugManager.js +218 -0
  32. package/dist/lib-cjs/manager/debugManager.js.map +1 -0
  33. package/dist/lib-cjs/manager/eventManager.d.ts +52 -0
  34. package/dist/lib-cjs/manager/eventManager.js +72 -0
  35. package/dist/lib-cjs/manager/eventManager.js.map +1 -0
  36. package/dist/lib-cjs/{api/manager → manager}/gltfExportManager.d.ts +29 -34
  37. package/dist/lib-cjs/{api/manager → manager}/gltfExportManager.js +99 -120
  38. package/dist/lib-cjs/manager/gltfExportManager.js.map +1 -0
  39. package/dist/lib-cjs/manager/materialManager.d.ts +35 -0
  40. package/dist/lib-cjs/manager/materialManager.js +126 -0
  41. package/dist/lib-cjs/manager/materialManager.js.map +1 -0
  42. package/dist/lib-cjs/manager/modelManager.d.ts +145 -0
  43. package/dist/lib-cjs/manager/modelManager.js +381 -0
  44. package/dist/lib-cjs/manager/modelManager.js.map +1 -0
  45. package/dist/lib-cjs/manager/parameterManager.d.ts +210 -0
  46. package/dist/lib-cjs/manager/parameterManager.js +515 -0
  47. package/dist/lib-cjs/manager/parameterManager.js.map +1 -0
  48. package/dist/lib-cjs/manager/sceneManager.d.ts +45 -0
  49. package/dist/lib-cjs/manager/sceneManager.js +65 -0
  50. package/dist/lib-cjs/manager/sceneManager.js.map +1 -0
  51. package/dist/lib-cjs/manager/screenshotManager.d.ts +36 -0
  52. package/dist/lib-cjs/manager/screenshotManager.js +40 -0
  53. package/dist/lib-cjs/manager/screenshotManager.js.map +1 -0
  54. package/dist/lib-cjs/manager/textureManager.d.ts +12 -0
  55. package/dist/lib-cjs/manager/textureManager.js +44 -0
  56. package/dist/lib-cjs/manager/textureManager.js.map +1 -0
  57. package/dist/lib-cjs/viewer.d.ts +117 -0
  58. package/dist/lib-cjs/viewer.js +222 -0
  59. package/dist/lib-cjs/viewer.js.map +1 -0
  60. package/dist/lib-cjs/{api/classes/viewerError.d.ts → viewerError.d.ts} +6 -1
  61. package/dist/lib-cjs/{api/classes/viewerError.js → viewerError.js} +6 -1
  62. package/dist/lib-cjs/viewerError.js.map +1 -0
  63. package/package.json +10 -11
  64. package/src/dev.ts +14 -37
  65. package/src/{types.d.ts → globalTypes.d.ts} +8 -18
  66. package/src/index.ts +79 -113
  67. package/src/internal/cbnCustomBabylonLoaderPlugin.ts +149 -0
  68. package/src/internal/cloningHelper.ts +225 -0
  69. package/src/internal/deviceHelper.ts +25 -0
  70. package/src/{api/util → internal}/geometryHelper.ts +63 -24
  71. package/src/internal/metadataHelper.ts +63 -0
  72. package/src/internal/paintableHelper.ts +310 -0
  73. package/src/internal/tagsHelper.ts +41 -0
  74. package/src/manager/cameraManager.ts +236 -0
  75. package/src/manager/debugManager.ts +245 -0
  76. package/src/manager/eventManager.ts +72 -0
  77. package/src/{api/manager → manager}/gltfExportManager.ts +132 -125
  78. package/src/manager/materialManager.ts +135 -0
  79. package/src/manager/modelManager.ts +456 -0
  80. package/src/manager/parameterManager.ts +652 -0
  81. package/src/manager/sceneManager.ts +101 -0
  82. package/src/manager/screenshotManager.ts +59 -0
  83. package/src/manager/textureManager.ts +32 -0
  84. package/src/viewer.ts +296 -0
  85. package/src/{api/classes/viewerError.ts → viewerError.ts} +6 -1
  86. package/dist/lib-cjs/api/classes/animationInterface.d.ts +0 -8
  87. package/dist/lib-cjs/api/classes/animationInterface.js +0 -3
  88. package/dist/lib-cjs/api/classes/animationInterface.js.map +0 -1
  89. package/dist/lib-cjs/api/classes/dottedPath.d.ts +0 -79
  90. package/dist/lib-cjs/api/classes/dottedPath.js +0 -167
  91. package/dist/lib-cjs/api/classes/dottedPath.js.map +0 -1
  92. package/dist/lib-cjs/api/classes/element.d.ts +0 -153
  93. package/dist/lib-cjs/api/classes/element.js +0 -703
  94. package/dist/lib-cjs/api/classes/element.js.map +0 -1
  95. package/dist/lib-cjs/api/classes/event.d.ts +0 -401
  96. package/dist/lib-cjs/api/classes/event.js +0 -425
  97. package/dist/lib-cjs/api/classes/event.js.map +0 -1
  98. package/dist/lib-cjs/api/classes/eventBroadcaster.d.ts +0 -26
  99. package/dist/lib-cjs/api/classes/eventBroadcaster.js +0 -50
  100. package/dist/lib-cjs/api/classes/eventBroadcaster.js.map +0 -1
  101. package/dist/lib-cjs/api/classes/fuzzyMap.d.ts +0 -7
  102. package/dist/lib-cjs/api/classes/fuzzyMap.js +0 -22
  103. package/dist/lib-cjs/api/classes/fuzzyMap.js.map +0 -1
  104. package/dist/lib-cjs/api/classes/parameter.d.ts +0 -410
  105. package/dist/lib-cjs/api/classes/parameter.js +0 -643
  106. package/dist/lib-cjs/api/classes/parameter.js.map +0 -1
  107. package/dist/lib-cjs/api/classes/parameterObservable.d.ts +0 -36
  108. package/dist/lib-cjs/api/classes/parameterObservable.js +0 -73
  109. package/dist/lib-cjs/api/classes/parameterObservable.js.map +0 -1
  110. package/dist/lib-cjs/api/classes/parameterizable.d.ts +0 -15
  111. package/dist/lib-cjs/api/classes/parameterizable.js +0 -103
  112. package/dist/lib-cjs/api/classes/parameterizable.js.map +0 -1
  113. package/dist/lib-cjs/api/classes/placementAnimation.d.ts +0 -45
  114. package/dist/lib-cjs/api/classes/placementAnimation.js +0 -177
  115. package/dist/lib-cjs/api/classes/placementAnimation.js.map +0 -1
  116. package/dist/lib-cjs/api/classes/variant.d.ts +0 -261
  117. package/dist/lib-cjs/api/classes/variant.js +0 -873
  118. package/dist/lib-cjs/api/classes/variant.js.map +0 -1
  119. package/dist/lib-cjs/api/classes/variantInstance.d.ts +0 -53
  120. package/dist/lib-cjs/api/classes/variantInstance.js +0 -126
  121. package/dist/lib-cjs/api/classes/variantInstance.js.map +0 -1
  122. package/dist/lib-cjs/api/classes/variantParameterizable.d.ts +0 -17
  123. package/dist/lib-cjs/api/classes/variantParameterizable.js +0 -87
  124. package/dist/lib-cjs/api/classes/variantParameterizable.js.map +0 -1
  125. package/dist/lib-cjs/api/classes/viewer.d.ts +0 -215
  126. package/dist/lib-cjs/api/classes/viewer.js +0 -709
  127. package/dist/lib-cjs/api/classes/viewer.js.map +0 -1
  128. package/dist/lib-cjs/api/classes/viewerError.js.map +0 -1
  129. package/dist/lib-cjs/api/classes/viewerLight.d.ts +0 -66
  130. package/dist/lib-cjs/api/classes/viewerLight.js +0 -345
  131. package/dist/lib-cjs/api/classes/viewerLight.js.map +0 -1
  132. package/dist/lib-cjs/api/internal/lensRendering.d.ts +0 -8
  133. package/dist/lib-cjs/api/internal/lensRendering.js +0 -12
  134. package/dist/lib-cjs/api/internal/lensRendering.js.map +0 -1
  135. package/dist/lib-cjs/api/internal/sceneSetup.d.ts +0 -13
  136. package/dist/lib-cjs/api/internal/sceneSetup.js +0 -228
  137. package/dist/lib-cjs/api/internal/sceneSetup.js.map +0 -1
  138. package/dist/lib-cjs/api/manager/animationManager.d.ts +0 -30
  139. package/dist/lib-cjs/api/manager/animationManager.js +0 -127
  140. package/dist/lib-cjs/api/manager/animationManager.js.map +0 -1
  141. package/dist/lib-cjs/api/manager/gltfExportManager.js.map +0 -1
  142. package/dist/lib-cjs/api/manager/sceneManager.d.ts +0 -33
  143. package/dist/lib-cjs/api/manager/sceneManager.js +0 -129
  144. package/dist/lib-cjs/api/manager/sceneManager.js.map +0 -1
  145. package/dist/lib-cjs/api/manager/tagManager.d.ts +0 -118
  146. package/dist/lib-cjs/api/manager/tagManager.js +0 -531
  147. package/dist/lib-cjs/api/manager/tagManager.js.map +0 -1
  148. package/dist/lib-cjs/api/manager/textureLoadManager.d.ts +0 -22
  149. package/dist/lib-cjs/api/manager/textureLoadManager.js +0 -108
  150. package/dist/lib-cjs/api/manager/textureLoadManager.js.map +0 -1
  151. package/dist/lib-cjs/api/manager/variantInstanceManager.d.ts +0 -106
  152. package/dist/lib-cjs/api/manager/variantInstanceManager.js +0 -291
  153. package/dist/lib-cjs/api/manager/variantInstanceManager.js.map +0 -1
  154. package/dist/lib-cjs/api/store/specStorage.d.ts +0 -32
  155. package/dist/lib-cjs/api/store/specStorage.js +0 -66
  156. package/dist/lib-cjs/api/store/specStorage.js.map +0 -1
  157. package/dist/lib-cjs/api/util/babylonHelper.d.ts +0 -238
  158. package/dist/lib-cjs/api/util/babylonHelper.js +0 -826
  159. package/dist/lib-cjs/api/util/babylonHelper.js.map +0 -1
  160. package/dist/lib-cjs/api/util/debugHelper.d.ts +0 -9
  161. package/dist/lib-cjs/api/util/debugHelper.js +0 -94
  162. package/dist/lib-cjs/api/util/debugHelper.js.map +0 -1
  163. package/dist/lib-cjs/api/util/deviceHelper.d.ts +0 -9
  164. package/dist/lib-cjs/api/util/deviceHelper.js.map +0 -1
  165. package/dist/lib-cjs/api/util/geometryHelper.d.ts +0 -17
  166. package/dist/lib-cjs/api/util/geometryHelper.js.map +0 -1
  167. package/dist/lib-cjs/api/util/globalTypes.d.ts +0 -490
  168. package/dist/lib-cjs/api/util/globalTypes.js +0 -2
  169. package/dist/lib-cjs/api/util/globalTypes.js.map +0 -1
  170. package/dist/lib-cjs/api/util/resourceHelper.d.ts +0 -58
  171. package/dist/lib-cjs/api/util/resourceHelper.js +0 -215
  172. package/dist/lib-cjs/api/util/resourceHelper.js.map +0 -1
  173. package/dist/lib-cjs/api/util/sceneLoaderHelper.d.ts +0 -58
  174. package/dist/lib-cjs/api/util/sceneLoaderHelper.js +0 -229
  175. package/dist/lib-cjs/api/util/sceneLoaderHelper.js.map +0 -1
  176. package/dist/lib-cjs/api/util/stringHelper.d.ts +0 -13
  177. package/dist/lib-cjs/api/util/stringHelper.js +0 -33
  178. package/dist/lib-cjs/api/util/stringHelper.js.map +0 -1
  179. package/dist/lib-cjs/api/util/structureHelper.d.ts +0 -9
  180. package/dist/lib-cjs/api/util/structureHelper.js +0 -58
  181. package/dist/lib-cjs/api/util/structureHelper.js.map +0 -1
  182. package/src/api/classes/animationInterface.ts +0 -10
  183. package/src/api/classes/dottedPath.ts +0 -181
  184. package/src/api/classes/element.ts +0 -766
  185. package/src/api/classes/event.ts +0 -457
  186. package/src/api/classes/eventBroadcaster.ts +0 -52
  187. package/src/api/classes/fuzzyMap.ts +0 -21
  188. package/src/api/classes/parameter.ts +0 -686
  189. package/src/api/classes/parameterObservable.ts +0 -73
  190. package/src/api/classes/parameterizable.ts +0 -87
  191. package/src/api/classes/placementAnimation.ts +0 -162
  192. package/src/api/classes/variant.ts +0 -965
  193. package/src/api/classes/variantInstance.ts +0 -123
  194. package/src/api/classes/variantParameterizable.ts +0 -83
  195. package/src/api/classes/viewer.ts +0 -751
  196. package/src/api/classes/viewerLight.ts +0 -335
  197. package/src/api/internal/debugViewer.ts +0 -90
  198. package/src/api/internal/lensRendering.ts +0 -9
  199. package/src/api/internal/sceneSetup.ts +0 -208
  200. package/src/api/manager/animationManager.ts +0 -143
  201. package/src/api/manager/sceneManager.ts +0 -134
  202. package/src/api/manager/tagManager.ts +0 -572
  203. package/src/api/manager/textureLoadManager.ts +0 -107
  204. package/src/api/manager/variantInstanceManager.ts +0 -306
  205. package/src/api/store/specStorage.ts +0 -68
  206. package/src/api/util/babylonHelper.ts +0 -915
  207. package/src/api/util/debugHelper.ts +0 -121
  208. package/src/api/util/deviceHelper.ts +0 -31
  209. package/src/api/util/globalTypes.ts +0 -566
  210. package/src/api/util/resourceHelper.ts +0 -201
  211. package/src/api/util/sceneLoaderHelper.ts +0 -247
  212. package/src/api/util/stringHelper.ts +0 -30
  213. package/src/api/util/structureHelper.ts +0 -62
@@ -1,66 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SpecStorage = void 0;
4
- const lodash_es_1 = require("lodash-es");
5
- class SpecStorage {
6
- /**
7
- * Constructor.
8
- */
9
- constructor(spec) {
10
- this.spec = spec;
11
- }
12
- /**
13
- * Creates {@link SpecStorage} from spec.
14
- */
15
- static createFromSpec(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
- * Gets the {@link SpecStorage} instance.
23
- */
24
- static getInstance() {
25
- if (!this.instance || !this.instance.spec) {
26
- throw new Error(`SpecStore has not been properly created.`);
27
- }
28
- return this.instance;
29
- }
30
- /**
31
- * Gets the spec from the {@link SpecStorage}.
32
- */
33
- static getSpec() {
34
- return this.getInstance().spec;
35
- }
36
- /**
37
- * Destroys the current instance to allow reinstantiating the SpecStorage.
38
- */
39
- static destroy() {
40
- this.instance = undefined;
41
- }
42
- /**
43
- * Gets spec from key.
44
- */
45
- static get(key) {
46
- if (!this.instance || !this.instance.spec) {
47
- throw new Error(`SpecStore has not been properly created.`);
48
- }
49
- if (key) {
50
- return (0, lodash_es_1.get)(this.instance.spec, key);
51
- }
52
- return this.instance.spec;
53
- }
54
- /**
55
- * Sets value for spec for given key.
56
- */
57
- static set(key, value) {
58
- if (!this.instance || !this.instance.spec) {
59
- throw new Error(`SpecStore has not been properly created.`);
60
- }
61
- (0, lodash_es_1.set)(this.instance.spec, key, value);
62
- return SpecStorage;
63
- }
64
- }
65
- exports.SpecStorage = SpecStorage;
66
- //# sourceMappingURL=specStorage.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"specStorage.js","sourceRoot":"","sources":["../../../../src/api/store/specStorage.ts"],"names":[],"mappings":";;;AAAA,yCAAqC;AAErC,MAAa,WAAW;IAGtB;;OAEG;IACH,YAAgC,IAAmB;QAAnB,SAAI,GAAJ,IAAI,CAAe;IAAG,CAAC;IAEvD;;OAEG;IACI,MAAM,CAAC,cAAc,CAAC,aAA4B;QACvD,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;SAC1D;QACD,OAAO,CAAC,IAAI,CAAC,QAAQ,GAAG,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;IACnD,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,WAAW;QACvB,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE;YACzC,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;SAC7D;QACD,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,OAAO;QACnB,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC;IACjC,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,OAAO;QACnB,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;IAC5B,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,GAAG,CAAI,GAAY;QAC/B,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE;YACzC,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;SAC7D;QACD,IAAI,GAAG,EAAE;YACP,OAAO,IAAA,eAAG,EAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAM,CAAC;SAC1C;QACD,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAS,CAAC;IACjC,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,GAAG,CAAI,GAAW,EAAE,KAAQ;QACxC,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE;YACzC,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;SAC7D;QACD,IAAA,eAAG,EAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;QACpC,OAAO,WAAW,CAAC;IACrB,CAAC;CACF;AAjED,kCAiEC"}
@@ -1,238 +0,0 @@
1
- import { DottedPath } from '../classes/dottedPath';
2
- import { HighlightLayer } from '@babylonjs/core/Layers/highlightLayer';
3
- import { ShadowGenerator } from '@babylonjs/core/Lights/Shadows/shadowGenerator';
4
- import { BaseTexture } from '@babylonjs/core/Materials/Textures/baseTexture';
5
- import { Texture } from '@babylonjs/core/Materials/Textures/texture';
6
- import { Material } from '@babylonjs/core/Materials/material';
7
- import { Color3 } from '@babylonjs/core/Maths/math.color';
8
- import { AbstractMesh } from '@babylonjs/core/Meshes/abstractMesh';
9
- import { TransformNode } from '@babylonjs/core/Meshes/transformNode';
10
- import { Observable } from '@babylonjs/core/Misc/observable';
11
- import { Node } from '@babylonjs/core/node';
12
- import { Scene } from '@babylonjs/core/scene';
13
- declare const backgroundDomeName = "BackgroundDome_ViewerGenerated";
14
- declare const envHelperMetadataName = "viewerEnvHelper";
15
- /**
16
- * @param node
17
- * @return Node
18
- */
19
- declare const getRootNode: (node: Node) => Node;
20
- /**
21
- * @param nodes
22
- * @param predicate
23
- * @return Map<DottedPath, T>
24
- */
25
- declare const mapToDottedNodes: <T>(nodes: Node[], predicate?: ((node: Node) => boolean) | undefined) => Map<DottedPath, T>;
26
- /**
27
- * @param node
28
- * @return DottedPath
29
- */
30
- declare const getDottedPathForNode: (node: Node) => DottedPath;
31
- /**
32
- * @param node
33
- * @param nodeNamingStrategy
34
- * @param predicate
35
- * @param deep
36
- * @return TransformNode | null
37
- */
38
- declare const cloneTransformNode: (node: TransformNode, nodeNamingStrategy: NodeNamingStrategy, predicate?: ((node: TransformNode) => boolean) | undefined, deep?: boolean) => TransformNode | null;
39
- /**
40
- * @param node
41
- */
42
- declare const cloneNodeWithParents: (node: Node | null) => Node | null;
43
- /**
44
- * @param node
45
- * @param deep
46
- * @param prefix
47
- * @return TransformNode
48
- */
49
- declare const cloneTransformNodeMaterial: (node: TransformNode, prefix?: DottedPathArgument, deep?: boolean) => TransformNode;
50
- /**
51
- * @param object
52
- * @param deep
53
- * @param metadata
54
- */
55
- declare const injectMetadata: (object: Node | Material | BaseTexture, metadata: {}, deep?: boolean) => void;
56
- /**
57
- * @param node
58
- * @param assertCallable
59
- * @param callableParameters
60
- * @param deep
61
- */
62
- declare const assertTransformNode: (node: TransformNode, assertCallable: (node: TransformNode, ...args: any[]) => void, callableParameters?: any[], deep?: boolean) => void;
63
- /**
64
- * @param node
65
- * @param parameter
66
- */
67
- declare const assertMeshCapability: (node: TransformNode, parameter: string) => void;
68
- /**
69
- * @param node
70
- * @param deep
71
- */
72
- declare const activateTransformNode: (node: TransformNode, deep?: boolean) => void;
73
- /**
74
- * @param node
75
- * @param deep
76
- */
77
- declare const deactivateTransformNode: (node: TransformNode, deep?: boolean) => void;
78
- /**
79
- * @param node
80
- */
81
- declare const enableNodeWithParents: (node: Node) => void;
82
- /**
83
- * @param node
84
- */
85
- declare const disableNodeWithParents: (node: Node) => void;
86
- /**
87
- * Applies a {@link TransformationDefinition} consecutively to ensure dependencies in positioning etc.
88
- * @param node
89
- * @param transformation
90
- */
91
- declare const transformTransformNode: (node: TransformNode, transformation: TransformationDefinition) => void;
92
- /**
93
- * Apply changes of environment (background texture, etc.) consecutively in order to avoid dependency related issues.
94
- * @param scene
95
- * @param envDef
96
- */
97
- declare const changeEnvironment: (scene: Scene, envDef: EnvironmentDefinition) => void;
98
- /**
99
- * Sets a material by a given material id as material property on the given node.
100
- *
101
- * If the material is not already available in the scene, the viewer tries to create a material based on a Combeenation
102
- * [material asset](https://docs.combeenation.com/docs/howto-create-and-use-babylon-and-material-asset).
103
- * This of course only works if the viewer is used inside a Combeenation configurator.
104
- *
105
- * Furthermore this function also defers the material creation if the node is not visible yet to improve network &
106
- * viewer bootstrap performance as textures are automatically being lazy loaded only when they are actually visible in
107
- * the scene.
108
- *
109
- * Finally the material will not be applied before all its textures have been loaded. In this way "flickering" effects
110
- * will be avoided, since the material would be incomplete without its loaded textures.
111
- */
112
- declare const setMaterial: (node: TransformNode, materialId: string, deep?: boolean, variant?: Variant) => void;
113
- /**
114
- * Gets the Material either from the given {@link Variant}, the given scene or tries to create it from an Combeenation
115
- * material asset when inside a Combeenation configurator.
116
- */
117
- declare const getOrCreateMaterial: (scene: Scene, materialId: string, variant?: Variant) => Promise<Material>;
118
- /**
119
- * Waits until the materials textures are loaded and shaders are compiled.
120
- * Then sets the material on the node if there is no newer "set material" request
121
- */
122
- declare const applyMaterial: (material: Material, node: AbstractMesh) => Promise<void>;
123
- /**
124
- * !!! Warning !!!
125
- * This function is not public API. Whilst it can help solving certain problems, it only works reliably in well defined
126
- * situations and can cause unwanted side effects under some conditions. Use carefully at your own risk!
127
- *
128
- * See https://combeenation.myjetbrains.com/youtrack/issue/CB-5906 for further details regarding this warning.
129
- *
130
- * Set material of an instanced meshes source mesh.
131
- * Changes the material of all instanced meshes which have the same source mesh.
132
- *
133
- * @param node
134
- * @param material
135
- * @param deep
136
- *
137
- * @ignore
138
- */
139
- declare const setSourceNodeMaterial: (node: TransformNode, material: Material, deep?: boolean) => void;
140
- /**
141
- * @param node
142
- * @param color
143
- * @param deep
144
- */
145
- declare const setMaterialColor: (node: TransformNode, color: Color3, deep?: boolean) => void;
146
- /**
147
- * @param node
148
- * @param texture
149
- * @param deep
150
- */
151
- declare const setMaterialTexture: (node: TransformNode, texture: Texture, deep?: boolean) => void;
152
- /**
153
- * @param node
154
- * @param metallness
155
- * @param deep
156
- */
157
- declare const setMaterialMetallness: (node: TransformNode, metallness: number, deep?: boolean) => void;
158
- /**
159
- * @param node
160
- * @param roughness
161
- * @param deep
162
- */
163
- declare const setMaterialRoughness: (node: TransformNode, roughness: number, deep?: boolean) => void;
164
- /**
165
- * @param node
166
- * @param layer
167
- * @param color
168
- * @param deep
169
- */
170
- declare const addToHighlightLayer: (layer: HighlightLayer, color: Color3, node: TransformNode, deep?: boolean) => void;
171
- /**
172
- * @param node
173
- * @param layer
174
- * @param deep
175
- */
176
- declare const removeFromHighlightLayer: (layer: HighlightLayer, node: TransformNode, deep?: boolean) => void;
177
- /**
178
- * @param node
179
- * @param receiveShadows
180
- * @param deep
181
- */
182
- declare const setReceiveShadows: (node: TransformNode, receiveShadows: boolean, deep?: boolean) => void;
183
- /**
184
- * @param node
185
- * @param generator
186
- * @param deep
187
- */
188
- declare const addToShadowGenerator: (generator: ShadowGenerator, node: TransformNode, deep?: boolean) => void;
189
- /**
190
- * @param node
191
- * @param generator
192
- * @param deep
193
- */
194
- declare const removeFromShadowGenerator: (generator: ShadowGenerator, node: TransformNode, deep?: boolean) => void;
195
- /**
196
- * https://forum.babylonjs.com/t/get-mesh-bounding-box-position-and-size-in-2d-screen-coordinates/1058/3
197
- * @param mesh
198
- * @param scene
199
- * @param canvas
200
- */
201
- declare const getClientRectFromMesh: (mesh: AbstractMesh, scene: Scene, canvas: HTMLCanvasElement) => ClientRect;
202
- declare type LoadableBaseTexture = BaseTexture & {
203
- url: string;
204
- onLoadObservable: Observable<BaseTexture>;
205
- };
206
- /**
207
- * This type guard checks whether the given `BaseTextures` is any of its subtypes which comes with an url and
208
- * `onLoadObservable`.
209
- *
210
- * !!! Timing of when this function is called is important !!!
211
- * See the following for more details: https://forum.babylonjs.com/t/basetexture-whenallready-returns-too-early/34501/6
212
- */
213
- declare const isLoadableTexture: (texture: BaseTexture) => texture is LoadableBaseTexture;
214
- /**
215
- * @param objects
216
- * @param tagMapping
217
- */
218
- declare const mapTags: (objects: object[], tagMapping: TagMapping) => string[];
219
- /**
220
- * Gets an array of ids for nodeIds that exist in both TransformNode arrays.
221
- * @param nodes1
222
- * @param nodes2
223
- * @param predicate
224
- */
225
- declare const intersectingNodeNames: (nodes1: Node[], nodes2: Node[], predicate?: ((node: Node) => boolean) | undefined) => string[];
226
- /**
227
- * Gets an array of ids for duplicate nodeIds in given node array.
228
- * @param nodes
229
- * @param predicate
230
- */
231
- declare const duplicateNodeNames: (nodes: Node[], predicate?: ((node: Node) => boolean) | undefined) => string[];
232
- /**
233
- * Reports duplicate nodeIds.
234
- * @param nodeNames
235
- */
236
- declare const reportDuplicateNodeNames: (nodeNames: string[]) => void;
237
- declare const drawPaintableOnMaterial: (material: Material, imageSource: HTMLImageElement, scene: Scene, options?: PaintableOptions) => void;
238
- export { getRootNode, isLoadableTexture, mapToDottedNodes, getDottedPathForNode, cloneTransformNode, cloneNodeWithParents, cloneTransformNodeMaterial, getOrCreateMaterial, applyMaterial, injectMetadata, assertTransformNode, assertMeshCapability, activateTransformNode, deactivateTransformNode, enableNodeWithParents, disableNodeWithParents, transformTransformNode, setMaterial, setSourceNodeMaterial, setMaterialColor, setMaterialTexture, setMaterialMetallness, setMaterialRoughness, addToHighlightLayer, removeFromHighlightLayer, setReceiveShadows, addToShadowGenerator, removeFromShadowGenerator, getClientRectFromMesh, changeEnvironment, backgroundDomeName, envHelperMetadataName, mapTags, intersectingNodeNames, duplicateNodeNames, reportDuplicateNodeNames, drawPaintableOnMaterial, };