@babylonjs/viewer 6.39.0 → 6.41.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 (40) hide show
  1. package/configuration/mappers.d.ts +1 -0
  2. package/configuration/mappers.js +2 -0
  3. package/configuration/mappers.js.map +1 -1
  4. package/configuration/types/index.d.ts +1 -0
  5. package/configuration/types/index.js +1 -0
  6. package/configuration/types/index.js.map +1 -1
  7. package/helper/index.d.ts +3 -0
  8. package/helper/index.js +3 -0
  9. package/helper/index.js.map +1 -1
  10. package/loader/modelLoader.d.ts +8 -0
  11. package/loader/modelLoader.js +8 -0
  12. package/loader/modelLoader.js.map +1 -1
  13. package/loader/plugins/index.d.ts +1 -0
  14. package/loader/plugins/index.js +1 -0
  15. package/loader/plugins/index.js.map +1 -1
  16. package/managers/sceneManager.d.ts +2 -1
  17. package/managers/sceneManager.js +2 -1
  18. package/managers/sceneManager.js.map +1 -1
  19. package/model/viewerModel.d.ts +4 -0
  20. package/model/viewerModel.js +4 -0
  21. package/model/viewerModel.js.map +1 -1
  22. package/optimizer/custom/extended.d.ts +2 -0
  23. package/optimizer/custom/extended.js +2 -0
  24. package/optimizer/custom/extended.js.map +1 -1
  25. package/optimizer/custom/index.d.ts +1 -0
  26. package/optimizer/custom/index.js +1 -0
  27. package/optimizer/custom/index.js.map +1 -1
  28. package/package.json +5 -5
  29. package/templating/templateManager.d.ts +8 -1
  30. package/templating/templateManager.js +8 -1
  31. package/templating/templateManager.js.map +1 -1
  32. package/viewer/defaultViewer.d.ts +8 -0
  33. package/viewer/defaultViewer.js +33 -11
  34. package/viewer/defaultViewer.js.map +1 -1
  35. package/viewer/viewer.d.ts +4 -1
  36. package/viewer/viewer.js +4 -1
  37. package/viewer/viewer.js.map +1 -1
  38. package/viewer/viewerManager.d.ts +3 -0
  39. package/viewer/viewerManager.js +3 -0
  40. package/viewer/viewerManager.js.map +1 -1
@@ -32,11 +32,13 @@ export declare class ViewerManager {
32
32
  /**
33
33
  * Get a viewer by its baseId (if the container element has an ID, it is the this is. if not, a random id was assigned)
34
34
  * @param id the id of the HTMl element (or the viewer's, if none provided)
35
+ * @returns the viewer associated with the given id (if found)
35
36
  */
36
37
  getViewerById(id: string): AbstractViewer;
37
38
  /**
38
39
  * Get a viewer using a container element
39
40
  * @param element the HTML element to search viewers associated with
41
+ * @returns the viewer associated with the given element (if found)
40
42
  */
41
43
  getViewerByHTMLElement(element: HTMLElement): AbstractViewer | null;
42
44
  /**
@@ -44,6 +46,7 @@ export declare class ViewerManager {
44
46
  * Since viewer initialization and template injection is asynchronous, using the promise will guaranty that
45
47
  * you will get the viewer after everything was already configured.
46
48
  * @param id the viewer id to find
49
+ * @returns a promise that will resolve to the viewer
47
50
  */
48
51
  getViewerPromiseById(id: string): Promise<AbstractViewer>;
49
52
  private _onViewerAdded;
@@ -29,6 +29,7 @@ var ViewerManager = /** @class */ (function () {
29
29
  /**
30
30
  * Get a viewer by its baseId (if the container element has an ID, it is the this is. if not, a random id was assigned)
31
31
  * @param id the id of the HTMl element (or the viewer's, if none provided)
32
+ * @returns the viewer associated with the given id (if found)
32
33
  */
33
34
  ViewerManager.prototype.getViewerById = function (id) {
34
35
  return this._viewers[id];
@@ -36,6 +37,7 @@ var ViewerManager = /** @class */ (function () {
36
37
  /**
37
38
  * Get a viewer using a container element
38
39
  * @param element the HTML element to search viewers associated with
40
+ * @returns the viewer associated with the given element (if found)
39
41
  */
40
42
  ViewerManager.prototype.getViewerByHTMLElement = function (element) {
41
43
  for (var id in this._viewers) {
@@ -50,6 +52,7 @@ var ViewerManager = /** @class */ (function () {
50
52
  * Since viewer initialization and template injection is asynchronous, using the promise will guaranty that
51
53
  * you will get the viewer after everything was already configured.
52
54
  * @param id the viewer id to find
55
+ * @returns a promise that will resolve to the viewer
53
56
  */
54
57
  ViewerManager.prototype.getViewerPromiseById = function (id) {
55
58
  var _this = this;
@@ -1 +1 @@
1
- {"version":3,"file":"viewerManager.js","sourceRoot":"","sources":["../../../../tools/viewer/src/viewer/viewerManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,2CAA6B;AAGlD;;;GAGG;AACH;IAgBI;QACI,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,IAAI,CAAC,uBAAuB,GAAG,IAAI,UAAU,EAAE,CAAC;QAChD,IAAI,CAAC,yBAAyB,GAAG,IAAI,UAAU,EAAE,CAAC;IACtD,CAAC;IAED;;;OAGG;IACI,iCAAS,GAAhB,UAAiB,MAAsB;QACnC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,GAAG,MAAM,CAAC;QAC3C,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC;IAED;;;OAGG;IACI,oCAAY,GAAnB,UAAoB,MAAsB;QACtC,IAAM,EAAE,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC;QAC9B,OAAO,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QACzB,IAAI,CAAC,yBAAyB,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;IACvD,CAAC;IAED;;;OAGG;IACI,qCAAa,GAApB,UAAqB,EAAU;QAC3B,OAAO,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAC7B,CAAC;IAED;;;OAGG;IACI,8CAAsB,GAA7B,UAA8B,OAAoB;QAC9C,KAAK,IAAM,EAAE,IAAI,IAAI,CAAC,QAAQ,EAAE;YAC5B,IAAI,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,gBAAgB,KAAK,OAAO,EAAE;gBAChD,OAAO,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;aACjC;SACJ;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;;;;OAKG;IACI,4CAAoB,GAA3B,UAA4B,EAAU;QAAtC,iBAcC;QAbG,OAAO,IAAI,OAAO,CAAC,UAAC,OAAO;YACvB,IAAM,WAAW,GAAG,KAAI,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;YAC3C,IAAI,WAAW,EAAE;gBACb,OAAO,OAAO,CAAC,WAAW,CAAC,CAAC;aAC/B;YACD,IAAM,cAAc,GAAG,UAAC,MAAsB;gBAC1C,IAAI,MAAM,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE;oBAC3B,OAAO,CAAC,MAAM,CAAC,CAAC;oBAChB,KAAI,CAAC,uBAAuB,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;iBAC/D;YACL,CAAC,CAAC;YACF,KAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QACrD,CAAC,CAAC,CAAC;IACP,CAAC;IAEO,sCAAc,GAAtB,UAAuB,MAAsB;QACzC,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QACjD,IAAI,CAAC,uBAAuB,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;IACzD,CAAC;IAED;;OAEG;IACI,+BAAO,GAAd;QACI,KAAK,IAAM,EAAE,IAAI,IAAI,CAAC,QAAQ,EAAE;YAC5B,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;SAC/B;QAED,IAAI,CAAC,uBAAuB,CAAC,KAAK,EAAE,CAAC;QACrC,IAAI,CAAC,yBAAyB,CAAC,KAAK,EAAE,CAAC;IAC3C,CAAC;IACL,oBAAC;AAAD,CAAC,AArGD,IAqGC;;AAED,MAAM,CAAC,IAAM,aAAa,GAAG,IAAI,aAAa,EAAE,CAAC","sourcesContent":["import { Observable } from \"core/Misc/observable\";\r\nimport type { AbstractViewer } from \"./viewer\";\r\n\r\n/**\r\n * The viewer manager is the container for all viewers currently registered on this page.\r\n * It is possible to have more than one viewer on a single page.\r\n */\r\nexport class ViewerManager {\r\n private _viewers: { [key: string]: AbstractViewer };\r\n\r\n /**\r\n * A callback that will be triggered when a new viewer was added\r\n */\r\n public onViewerAdded: (viewer: AbstractViewer) => void;\r\n /**\r\n * Will notify when a new viewer was added\r\n */\r\n public onViewerAddedObservable: Observable<AbstractViewer>;\r\n /**\r\n * Will notify when a viewer was removed (disposed)\r\n */\r\n public onViewerRemovedObservable: Observable<string>;\r\n\r\n constructor() {\r\n this._viewers = {};\r\n this.onViewerAddedObservable = new Observable();\r\n this.onViewerRemovedObservable = new Observable();\r\n }\r\n\r\n /**\r\n * Adding a new viewer to the viewer manager and start tracking it.\r\n * @param viewer the viewer to add\r\n */\r\n public addViewer(viewer: AbstractViewer) {\r\n this._viewers[viewer.getBaseId()] = viewer;\r\n this._onViewerAdded(viewer);\r\n }\r\n\r\n /**\r\n * remove a viewer from the viewer manager\r\n * @param viewer the viewer to remove\r\n */\r\n public removeViewer(viewer: AbstractViewer) {\r\n const id = viewer.getBaseId();\r\n delete this._viewers[id];\r\n this.onViewerRemovedObservable.notifyObservers(id);\r\n }\r\n\r\n /**\r\n * Get a viewer by its baseId (if the container element has an ID, it is the this is. if not, a random id was assigned)\r\n * @param id the id of the HTMl element (or the viewer's, if none provided)\r\n */\r\n public getViewerById(id: string): AbstractViewer {\r\n return this._viewers[id];\r\n }\r\n\r\n /**\r\n * Get a viewer using a container element\r\n * @param element the HTML element to search viewers associated with\r\n */\r\n public getViewerByHTMLElement(element: HTMLElement) {\r\n for (const id in this._viewers) {\r\n if (this._viewers[id].containerElement === element) {\r\n return this.getViewerById(id);\r\n }\r\n }\r\n\r\n return null;\r\n }\r\n\r\n /**\r\n * Get a promise that will fulfill when this viewer was initialized.\r\n * Since viewer initialization and template injection is asynchronous, using the promise will guaranty that\r\n * you will get the viewer after everything was already configured.\r\n * @param id the viewer id to find\r\n */\r\n public getViewerPromiseById(id: string): Promise<AbstractViewer> {\r\n return new Promise((resolve) => {\r\n const localViewer = this.getViewerById(id);\r\n if (localViewer) {\r\n return resolve(localViewer);\r\n }\r\n const viewerFunction = (viewer: AbstractViewer) => {\r\n if (viewer.getBaseId() === id) {\r\n resolve(viewer);\r\n this.onViewerAddedObservable.removeCallback(viewerFunction);\r\n }\r\n };\r\n this.onViewerAddedObservable.add(viewerFunction);\r\n });\r\n }\r\n\r\n private _onViewerAdded(viewer: AbstractViewer) {\r\n this.onViewerAdded && this.onViewerAdded(viewer);\r\n this.onViewerAddedObservable.notifyObservers(viewer);\r\n }\r\n\r\n /**\r\n * dispose the manager and all of its associated viewers\r\n */\r\n public dispose() {\r\n for (const id in this._viewers) {\r\n this._viewers[id].dispose();\r\n }\r\n\r\n this.onViewerAddedObservable.clear();\r\n this.onViewerRemovedObservable.clear();\r\n }\r\n}\r\n\r\nexport const viewerManager = new ViewerManager();\r\n"]}
1
+ {"version":3,"file":"viewerManager.js","sourceRoot":"","sources":["../../../../tools/viewer/src/viewer/viewerManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,2CAA6B;AAGlD;;;GAGG;AACH;IAgBI;QACI,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,IAAI,CAAC,uBAAuB,GAAG,IAAI,UAAU,EAAE,CAAC;QAChD,IAAI,CAAC,yBAAyB,GAAG,IAAI,UAAU,EAAE,CAAC;IACtD,CAAC;IAED;;;OAGG;IACI,iCAAS,GAAhB,UAAiB,MAAsB;QACnC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,GAAG,MAAM,CAAC;QAC3C,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC;IAED;;;OAGG;IACI,oCAAY,GAAnB,UAAoB,MAAsB;QACtC,IAAM,EAAE,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC;QAC9B,OAAO,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QACzB,IAAI,CAAC,yBAAyB,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;IACvD,CAAC;IAED;;;;OAIG;IACI,qCAAa,GAApB,UAAqB,EAAU;QAC3B,OAAO,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAC7B,CAAC;IAED;;;;OAIG;IACI,8CAAsB,GAA7B,UAA8B,OAAoB;QAC9C,KAAK,IAAM,EAAE,IAAI,IAAI,CAAC,QAAQ,EAAE;YAC5B,IAAI,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,gBAAgB,KAAK,OAAO,EAAE;gBAChD,OAAO,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;aACjC;SACJ;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;;;;;OAMG;IACI,4CAAoB,GAA3B,UAA4B,EAAU;QAAtC,iBAcC;QAbG,OAAO,IAAI,OAAO,CAAC,UAAC,OAAO;YACvB,IAAM,WAAW,GAAG,KAAI,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;YAC3C,IAAI,WAAW,EAAE;gBACb,OAAO,OAAO,CAAC,WAAW,CAAC,CAAC;aAC/B;YACD,IAAM,cAAc,GAAG,UAAC,MAAsB;gBAC1C,IAAI,MAAM,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE;oBAC3B,OAAO,CAAC,MAAM,CAAC,CAAC;oBAChB,KAAI,CAAC,uBAAuB,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;iBAC/D;YACL,CAAC,CAAC;YACF,KAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QACrD,CAAC,CAAC,CAAC;IACP,CAAC;IAEO,sCAAc,GAAtB,UAAuB,MAAsB;QACzC,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QACjD,IAAI,CAAC,uBAAuB,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;IACzD,CAAC;IAED;;OAEG;IACI,+BAAO,GAAd;QACI,KAAK,IAAM,EAAE,IAAI,IAAI,CAAC,QAAQ,EAAE;YAC5B,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;SAC/B;QAED,IAAI,CAAC,uBAAuB,CAAC,KAAK,EAAE,CAAC;QACrC,IAAI,CAAC,yBAAyB,CAAC,KAAK,EAAE,CAAC;IAC3C,CAAC;IACL,oBAAC;AAAD,CAAC,AAxGD,IAwGC;;AAED,MAAM,CAAC,IAAM,aAAa,GAAG,IAAI,aAAa,EAAE,CAAC","sourcesContent":["import { Observable } from \"core/Misc/observable\";\r\nimport type { AbstractViewer } from \"./viewer\";\r\n\r\n/**\r\n * The viewer manager is the container for all viewers currently registered on this page.\r\n * It is possible to have more than one viewer on a single page.\r\n */\r\nexport class ViewerManager {\r\n private _viewers: { [key: string]: AbstractViewer };\r\n\r\n /**\r\n * A callback that will be triggered when a new viewer was added\r\n */\r\n public onViewerAdded: (viewer: AbstractViewer) => void;\r\n /**\r\n * Will notify when a new viewer was added\r\n */\r\n public onViewerAddedObservable: Observable<AbstractViewer>;\r\n /**\r\n * Will notify when a viewer was removed (disposed)\r\n */\r\n public onViewerRemovedObservable: Observable<string>;\r\n\r\n constructor() {\r\n this._viewers = {};\r\n this.onViewerAddedObservable = new Observable();\r\n this.onViewerRemovedObservable = new Observable();\r\n }\r\n\r\n /**\r\n * Adding a new viewer to the viewer manager and start tracking it.\r\n * @param viewer the viewer to add\r\n */\r\n public addViewer(viewer: AbstractViewer) {\r\n this._viewers[viewer.getBaseId()] = viewer;\r\n this._onViewerAdded(viewer);\r\n }\r\n\r\n /**\r\n * remove a viewer from the viewer manager\r\n * @param viewer the viewer to remove\r\n */\r\n public removeViewer(viewer: AbstractViewer) {\r\n const id = viewer.getBaseId();\r\n delete this._viewers[id];\r\n this.onViewerRemovedObservable.notifyObservers(id);\r\n }\r\n\r\n /**\r\n * Get a viewer by its baseId (if the container element has an ID, it is the this is. if not, a random id was assigned)\r\n * @param id the id of the HTMl element (or the viewer's, if none provided)\r\n * @returns the viewer associated with the given id (if found)\r\n */\r\n public getViewerById(id: string): AbstractViewer {\r\n return this._viewers[id];\r\n }\r\n\r\n /**\r\n * Get a viewer using a container element\r\n * @param element the HTML element to search viewers associated with\r\n * @returns the viewer associated with the given element (if found)\r\n */\r\n public getViewerByHTMLElement(element: HTMLElement) {\r\n for (const id in this._viewers) {\r\n if (this._viewers[id].containerElement === element) {\r\n return this.getViewerById(id);\r\n }\r\n }\r\n\r\n return null;\r\n }\r\n\r\n /**\r\n * Get a promise that will fulfill when this viewer was initialized.\r\n * Since viewer initialization and template injection is asynchronous, using the promise will guaranty that\r\n * you will get the viewer after everything was already configured.\r\n * @param id the viewer id to find\r\n * @returns a promise that will resolve to the viewer\r\n */\r\n public getViewerPromiseById(id: string): Promise<AbstractViewer> {\r\n return new Promise((resolve) => {\r\n const localViewer = this.getViewerById(id);\r\n if (localViewer) {\r\n return resolve(localViewer);\r\n }\r\n const viewerFunction = (viewer: AbstractViewer) => {\r\n if (viewer.getBaseId() === id) {\r\n resolve(viewer);\r\n this.onViewerAddedObservable.removeCallback(viewerFunction);\r\n }\r\n };\r\n this.onViewerAddedObservable.add(viewerFunction);\r\n });\r\n }\r\n\r\n private _onViewerAdded(viewer: AbstractViewer) {\r\n this.onViewerAdded && this.onViewerAdded(viewer);\r\n this.onViewerAddedObservable.notifyObservers(viewer);\r\n }\r\n\r\n /**\r\n * dispose the manager and all of its associated viewers\r\n */\r\n public dispose() {\r\n for (const id in this._viewers) {\r\n this._viewers[id].dispose();\r\n }\r\n\r\n this.onViewerAddedObservable.clear();\r\n this.onViewerRemovedObservable.clear();\r\n }\r\n}\r\n\r\nexport const viewerManager = new ViewerManager();\r\n"]}