@shapediver/viewer.shared.node-tree 2.12.8 → 3.0.1

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 (68) hide show
  1. package/dist/implementation/AbstractTreeNodeData.d.ts +13 -5
  2. package/dist/implementation/AbstractTreeNodeData.d.ts.map +1 -1
  3. package/dist/implementation/AbstractTreeNodeData.js +29 -19
  4. package/dist/implementation/AbstractTreeNodeData.js.map +1 -1
  5. package/dist/implementation/Tree.d.ts +15 -0
  6. package/dist/implementation/Tree.d.ts.map +1 -0
  7. package/dist/implementation/{AbstractTree.js → Tree.js} +26 -20
  8. package/dist/implementation/Tree.js.map +1 -0
  9. package/dist/implementation/{AbstractTreeNode.d.ts → TreeNode.d.ts} +35 -27
  10. package/dist/implementation/TreeNode.d.ts.map +1 -0
  11. package/dist/implementation/TreeNode.js +348 -0
  12. package/dist/implementation/TreeNode.js.map +1 -0
  13. package/dist/index.d.ts +9 -10
  14. package/dist/index.d.ts.map +1 -1
  15. package/dist/index.js +5 -5
  16. package/dist/index.js.map +1 -1
  17. package/dist/interfaces/ITree.d.ts +8 -9
  18. package/dist/interfaces/ITree.d.ts.map +1 -1
  19. package/dist/interfaces/ITreeNode.d.ts +36 -23
  20. package/dist/interfaces/ITreeNode.d.ts.map +1 -1
  21. package/dist/interfaces/ITreeNode.js +1 -0
  22. package/dist/interfaces/ITreeNode.js.map +1 -1
  23. package/dist/interfaces/ITreeNodeData.d.ts +20 -10
  24. package/dist/interfaces/ITreeNodeData.d.ts.map +1 -1
  25. package/package.json +5 -7
  26. package/src/implementation/AbstractTreeNodeData.ts +38 -26
  27. package/src/implementation/{AbstractTree.ts → Tree.ts} +29 -19
  28. package/src/implementation/{AbstractTreeNode.ts → TreeNode.ts} +124 -96
  29. package/src/index.ts +12 -13
  30. package/src/interfaces/ITree.ts +8 -13
  31. package/src/interfaces/ITreeNode.ts +43 -28
  32. package/src/interfaces/ITreeNodeData.ts +20 -12
  33. package/dist/implementation/AbstractTree.d.ts +0 -14
  34. package/dist/implementation/AbstractTree.d.ts.map +0 -1
  35. package/dist/implementation/AbstractTree.js.map +0 -1
  36. package/dist/implementation/AbstractTreeNode.d.ts.map +0 -1
  37. package/dist/implementation/AbstractTreeNode.js +0 -321
  38. package/dist/implementation/AbstractTreeNode.js.map +0 -1
  39. package/dist/implementation/three/AbstractTreeNodeDataThreeJs.d.ts +0 -10
  40. package/dist/implementation/three/AbstractTreeNodeDataThreeJs.d.ts.map +0 -1
  41. package/dist/implementation/three/AbstractTreeNodeDataThreeJs.js +0 -23
  42. package/dist/implementation/three/AbstractTreeNodeDataThreeJs.js.map +0 -1
  43. package/dist/implementation/three/Tree.d.ts +0 -9
  44. package/dist/implementation/three/Tree.d.ts.map +0 -1
  45. package/dist/implementation/three/Tree.js +0 -19
  46. package/dist/implementation/three/Tree.js.map +0 -1
  47. package/dist/implementation/three/TreeNodeThreejs.d.ts +0 -13
  48. package/dist/implementation/three/TreeNodeThreejs.d.ts.map +0 -1
  49. package/dist/implementation/three/TreeNodeThreejs.js +0 -35
  50. package/dist/implementation/three/TreeNodeThreejs.js.map +0 -1
  51. package/dist/interfaces/three/ITreeNodeDataThreeJs.d.ts +0 -11
  52. package/dist/interfaces/three/ITreeNodeDataThreeJs.d.ts.map +0 -1
  53. package/dist/interfaces/three/ITreeNodeDataThreeJs.js +0 -3
  54. package/dist/interfaces/three/ITreeNodeDataThreeJs.js.map +0 -1
  55. package/dist/interfaces/three/ITreeNodeThreeJs.d.ts +0 -17
  56. package/dist/interfaces/three/ITreeNodeThreeJs.d.ts.map +0 -1
  57. package/dist/interfaces/three/ITreeNodeThreeJs.js +0 -3
  58. package/dist/interfaces/three/ITreeNodeThreeJs.js.map +0 -1
  59. package/dist/interfaces/three/ITreeThreeJs.d.ts +0 -5
  60. package/dist/interfaces/three/ITreeThreeJs.d.ts.map +0 -1
  61. package/dist/interfaces/three/ITreeThreeJs.js +0 -3
  62. package/dist/interfaces/three/ITreeThreeJs.js.map +0 -1
  63. package/src/implementation/three/AbstractTreeNodeDataThreeJs.ts +0 -12
  64. package/src/implementation/three/Tree.ts +0 -28
  65. package/src/implementation/three/TreeNodeThreeJs.ts +0 -21
  66. package/src/interfaces/three/ITreeNodeDataThreeJs.ts +0 -13
  67. package/src/interfaces/three/ITreeNodeThreeJs.ts +0 -19
  68. package/src/interfaces/three/ITreeThreeJs.ts +0 -4
@@ -1,5 +1,5 @@
1
1
  import { ITreeNodeData } from '../interfaces/ITreeNodeData';
2
- export declare abstract class AbstractTreeNodeData<T extends ITreeNodeData<any>> implements ITreeNodeData<T> {
2
+ export declare abstract class AbstractTreeNodeData implements ITreeNodeData {
3
3
  #private;
4
4
  /**
5
5
  * Creates a tree node data object.
@@ -7,15 +7,23 @@ export declare abstract class AbstractTreeNodeData<T extends ITreeNodeData<any>>
7
7
  * @param id Id of this data object
8
8
  */
9
9
  constructor(id?: string, version?: string);
10
+ get convertedObject(): {
11
+ [key: string]: unknown;
12
+ };
13
+ set convertedObject(value: {
14
+ [key: string]: unknown;
15
+ });
10
16
  get id(): string;
17
+ get updateCallbackConvertedObject(): ((newObj: unknown, oldObj: unknown, viewport: string) => void) | null;
18
+ set updateCallbackConvertedObject(value: ((newObj: unknown, oldObj: unknown, viewport: string) => void) | null);
11
19
  get version(): string;
12
20
  /**
13
- * Update the version
21
+ * Clones the tree node data.
14
22
  */
15
- updateVersion(): void;
23
+ clone(): ITreeNodeData;
16
24
  /**
17
- * Clones the tree node data.
25
+ * Update the version
18
26
  */
19
- clone(): T;
27
+ updateVersion(): void;
20
28
  }
21
29
  //# sourceMappingURL=AbstractTreeNodeData.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AbstractTreeNodeData.d.ts","sourceRoot":"","sources":["../../src/implementation/AbstractTreeNodeData.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAA;AAE3D,8BAAsB,oBAAoB,CAAC,CAAC,SAAS,aAAa,CAAC,GAAG,CAAC,CAAE,YAAW,aAAa,CAAC,CAAC,CAAC;;IAalG;;;;OAIG;gBACS,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM;IASzC,IAAW,EAAE,IAAI,MAAM,CAEtB;IAED,IAAW,OAAO,IAAI,MAAM,CAE3B;IAMD;;OAEG;IACI,aAAa,IAAI,IAAI;IAQ5B;;OAEG;IACI,KAAK,IAAI,CAAC;CAMlB"}
1
+ {"version":3,"file":"AbstractTreeNodeData.d.ts","sourceRoot":"","sources":["../../src/implementation/AbstractTreeNodeData.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAG5D,8BAAsB,oBAAqB,YAAW,aAAa;;IAcjE;;;;OAIG;gBACS,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM;IASzC,IAAW,eAAe,IAAI;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,CAEvD;IAED,IAAW,eAAe,CAAC,KAAK,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,EAE3D;IAED,IAAW,EAAE,IAAI,MAAM,CAEtB;IAED,IAAW,6BAA6B,IAAI,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,IAAI,CAEhH;IAED,IAAW,6BAA6B,CAAC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,IAAI,EAEpH;IAED,IAAW,OAAO,IAAI,MAAM,CAE3B;IAMD;;OAEG;IACI,KAAK,IAAI,aAAa;IAK7B;;OAEG;IACI,aAAa,IAAI,IAAI;CAK7B"}
@@ -10,12 +10,12 @@ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (
10
10
  if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
11
11
  return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
12
12
  };
13
- var _AbstractTreeNodeData_version, _AbstractTreeNodeData_id, _AbstractTreeNodeData_uuidGenerator, _AbstractTreeNodeData_eventEngine;
13
+ var _AbstractTreeNodeData_id, _AbstractTreeNodeData_uuidGenerator, _AbstractTreeNodeData_convertedObject, _AbstractTreeNodeData_updateCallbackConvertedObject, _AbstractTreeNodeData_version;
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
15
  exports.AbstractTreeNodeData = void 0;
16
16
  const viewer_shared_services_1 = require("@shapediver/viewer.shared.services");
17
17
  class AbstractTreeNodeData {
18
- // #endregion Properties (3)
18
+ // #endregion Properties (5)
19
19
  // #region Constructors (1)
20
20
  /**
21
21
  * Creates a tree node data object.
@@ -23,41 +23,51 @@ class AbstractTreeNodeData {
23
23
  * @param id Id of this data object
24
24
  */
25
25
  constructor(id, version) {
26
- // #region Properties (3)
27
- _AbstractTreeNodeData_version.set(this, void 0);
26
+ // #region Properties (5)
28
27
  _AbstractTreeNodeData_id.set(this, void 0);
29
28
  _AbstractTreeNodeData_uuidGenerator.set(this, viewer_shared_services_1.UuidGenerator.instance);
30
- _AbstractTreeNodeData_eventEngine.set(this, viewer_shared_services_1.EventEngine.instance);
29
+ _AbstractTreeNodeData_convertedObject.set(this, {});
30
+ _AbstractTreeNodeData_updateCallbackConvertedObject.set(this, null);
31
+ _AbstractTreeNodeData_version.set(this, void 0);
31
32
  __classPrivateFieldSet(this, _AbstractTreeNodeData_id, id || __classPrivateFieldGet(this, _AbstractTreeNodeData_uuidGenerator, "f").create(), "f");
32
33
  __classPrivateFieldSet(this, _AbstractTreeNodeData_version, version || __classPrivateFieldGet(this, _AbstractTreeNodeData_uuidGenerator, "f").create(), "f");
33
34
  }
34
35
  // #endregion Constructors (1)
35
- // #region Public Accessors (2)
36
+ // #region Public Getters And Setters (6)
37
+ get convertedObject() {
38
+ return __classPrivateFieldGet(this, _AbstractTreeNodeData_convertedObject, "f");
39
+ }
40
+ set convertedObject(value) {
41
+ __classPrivateFieldSet(this, _AbstractTreeNodeData_convertedObject, value, "f");
42
+ }
36
43
  get id() {
37
44
  return __classPrivateFieldGet(this, _AbstractTreeNodeData_id, "f");
38
45
  }
46
+ get updateCallbackConvertedObject() {
47
+ return __classPrivateFieldGet(this, _AbstractTreeNodeData_updateCallbackConvertedObject, "f");
48
+ }
49
+ set updateCallbackConvertedObject(value) {
50
+ __classPrivateFieldSet(this, _AbstractTreeNodeData_updateCallbackConvertedObject, value, "f");
51
+ }
39
52
  get version() {
40
53
  return __classPrivateFieldGet(this, _AbstractTreeNodeData_version, "f");
41
54
  }
42
- // #endregion Public Accessors (2)
43
- // #region Public Methods (1)
44
- /**
45
- * Update the version
46
- */
47
- updateVersion() {
48
- __classPrivateFieldSet(this, _AbstractTreeNodeData_version, __classPrivateFieldGet(this, _AbstractTreeNodeData_uuidGenerator, "f").create(), "f");
49
- }
50
- // #endregion Public Methods (1)
51
- // #region Public Abstract Methods (1)
55
+ // #endregion Public Getters And Setters (6)
56
+ // #region Public Methods (2)
52
57
  /**
53
58
  * Clones the tree node data.
54
59
  */
55
60
  clone() {
56
- const clone = new this.constructor;
61
+ const clone = new this.constructor();
57
62
  return clone;
58
63
  }
59
- ;
64
+ /**
65
+ * Update the version
66
+ */
67
+ updateVersion() {
68
+ __classPrivateFieldSet(this, _AbstractTreeNodeData_version, __classPrivateFieldGet(this, _AbstractTreeNodeData_uuidGenerator, "f").create(), "f");
69
+ }
60
70
  }
61
71
  exports.AbstractTreeNodeData = AbstractTreeNodeData;
62
- _AbstractTreeNodeData_version = new WeakMap(), _AbstractTreeNodeData_id = new WeakMap(), _AbstractTreeNodeData_uuidGenerator = new WeakMap(), _AbstractTreeNodeData_eventEngine = new WeakMap();
72
+ _AbstractTreeNodeData_id = new WeakMap(), _AbstractTreeNodeData_uuidGenerator = new WeakMap(), _AbstractTreeNodeData_convertedObject = new WeakMap(), _AbstractTreeNodeData_updateCallbackConvertedObject = new WeakMap(), _AbstractTreeNodeData_version = new WeakMap();
63
73
  //# sourceMappingURL=AbstractTreeNodeData.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AbstractTreeNodeData.js","sourceRoot":"","sources":["../../src/implementation/AbstractTreeNodeData.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,+EAA0F;AAI1F,MAAsB,oBAAoB;IASxC,4BAA4B;IAE5B,2BAA2B;IAE3B;;;;OAIG;IACH,YAAY,EAAW,EAAE,OAAgB;QAjBzC,yBAAyB;QAEzB,gDAAiB;QAEjB,2CAAqB;QACrB,8CAAyC,sCAAa,CAAC,QAAQ,EAAC;QAChE,4CAAqC,oCAAW,CAAC,QAAQ,EAAC;QAYxD,uBAAA,IAAI,4BAAO,EAAE,IAAI,uBAAA,IAAI,2CAAe,CAAC,MAAM,EAAE,MAAA,CAAC;QAC9C,uBAAA,IAAI,iCAAY,OAAO,IAAI,uBAAA,IAAI,2CAAe,CAAC,MAAM,EAAE,MAAA,CAAC;IAC1D,CAAC;IAED,8BAA8B;IAE9B,+BAA+B;IAE/B,IAAW,EAAE;QACX,OAAO,uBAAA,IAAI,gCAAI,CAAC;IAClB,CAAC;IAED,IAAW,OAAO;QAChB,OAAO,uBAAA,IAAI,qCAAS,CAAC;IACvB,CAAC;IAED,kCAAkC;IAElC,6BAA6B;IAE7B;;OAEG;IACI,aAAa;QAClB,uBAAA,IAAI,iCAAY,uBAAA,IAAI,2CAAe,CAAC,MAAM,EAAE,MAAA,CAAC;IAC/C,CAAC;IAED,gCAAgC;IAEhC,sCAAsC;IAEtC;;OAEG;IACI,KAAK;QACV,MAAM,KAAK,GAAG,IAAU,IAAI,CAAC,WAAY,CAAC;QAC1C,OAAO,KAAK,CAAC;IACf,CAAC;IAAA,CAAC;CAGH;AA3DD,oDA2DC"}
1
+ {"version":3,"file":"AbstractTreeNodeData.js","sourceRoot":"","sources":["../../src/implementation/AbstractTreeNodeData.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AACA,+EAAmE;AAEnE,MAAsB,oBAAoB;IAUxC,4BAA4B;IAE5B,2BAA2B;IAE3B;;;;OAIG;IACH,YAAY,EAAW,EAAE,OAAgB;QAlBzC,yBAAyB;QAEzB,2CAAqB;QACrB,8CAAyC,sCAAa,CAAC,QAAQ,EAAC;QAEhE,gDAA+C,EAAE,EAAC;QAClD,8DAAwG,IAAI,EAAC;QAC7G,gDAAiB;QAYf,uBAAA,IAAI,4BAAO,EAAE,IAAI,uBAAA,IAAI,2CAAe,CAAC,MAAM,EAAE,MAAA,CAAC;QAC9C,uBAAA,IAAI,iCAAY,OAAO,IAAI,uBAAA,IAAI,2CAAe,CAAC,MAAM,EAAE,MAAA,CAAC;IAC1D,CAAC;IAED,8BAA8B;IAE9B,yCAAyC;IAEzC,IAAW,eAAe;QACxB,OAAO,uBAAA,IAAI,6CAAiB,CAAC;IAC/B,CAAC;IAED,IAAW,eAAe,CAAC,KAAiC;QAC1D,uBAAA,IAAI,yCAAoB,KAAK,MAAA,CAAC;IAChC,CAAC;IAED,IAAW,EAAE;QACX,OAAO,uBAAA,IAAI,gCAAI,CAAC;IAClB,CAAC;IAED,IAAW,6BAA6B;QACtC,OAAO,uBAAA,IAAI,2DAA+B,CAAC;IAC7C,CAAC;IAED,IAAW,6BAA6B,CAAC,KAA4E;QACnH,uBAAA,IAAI,uDAAkC,KAAK,MAAA,CAAC;IAC9C,CAAC;IAED,IAAW,OAAO;QAChB,OAAO,uBAAA,IAAI,qCAAS,CAAC;IACvB,CAAC;IAED,4CAA4C;IAE5C,6BAA6B;IAE7B;;OAEG;IACI,KAAK;QACV,MAAM,KAAK,GAAG,IAAK,IAAI,CAAC,WAAuC,EAAE,CAAC;QAClE,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;OAEG;IACI,aAAa;QAClB,uBAAA,IAAI,iCAAY,uBAAA,IAAI,2CAAe,CAAC,MAAM,EAAE,MAAA,CAAC;IAC/C,CAAC;CAGF;AAxED,oDAwEC"}
@@ -0,0 +1,15 @@
1
+ import { ITree } from '../interfaces/ITree';
2
+ import { ITreeNode } from '../interfaces/ITreeNode';
3
+ export declare class Tree implements ITree {
4
+ #private;
5
+ private static _instance;
6
+ private constructor();
7
+ static get instance(): Tree;
8
+ get root(): ITreeNode;
9
+ addNode(node: ITreeNode, parent?: ITreeNode, root?: ITreeNode): boolean;
10
+ addNodeAtPath(node: ITreeNode, path?: string, root?: ITreeNode): boolean;
11
+ getNodeAtPath(path?: string, root?: ITreeNode): ITreeNode | null;
12
+ removeNode(node: ITreeNode, root?: ITreeNode): boolean;
13
+ removeNodeAtPath(path: string, root?: ITreeNode): boolean;
14
+ }
15
+ //# sourceMappingURL=Tree.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Tree.d.ts","sourceRoot":"","sources":["../../src/implementation/Tree.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAGpD,qBAAa,IAAK,YAAW,KAAK;;IAKhC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAO;IAM/B,OAAO;IAQP,WAAkB,QAAQ,SAEzB;IAMD,IAAW,IAAI,IAAI,SAAS,CAE3B;IAMM,OAAO,CAAC,IAAI,EAAE,SAAS,EAAE,MAAM,GAAE,SAAsB,EAAE,IAAI,GAAE,SAAsB,GAAG,OAAO;IAe/F,aAAa,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,GAAE,MAA4B,EAAE,IAAI,GAAE,SAAsB,GAAG,OAAO;IAoBzG,aAAa,CAAC,IAAI,GAAE,MAA4B,EAAE,IAAI,GAAE,SAAsB,GAAG,SAAS,GAAG,IAAI;IAiBjG,UAAU,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,GAAE,SAAsB,GAAG,OAAO;IAgBlE,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,GAAE,SAAsB,GAAG,OAAO;CAqB7E"}
@@ -10,25 +10,31 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
10
10
  if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
11
11
  return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
12
12
  };
13
- var _AbstractTree_root;
13
+ var _Tree_root;
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.AbstractTree = void 0;
16
- class AbstractTree {
17
- // #endregion Properties (1)
15
+ exports.Tree = void 0;
16
+ const TreeNode_1 = require("./TreeNode");
17
+ class Tree {
18
+ // #endregion Properties (2)
18
19
  // #region Constructors (1)
19
- constructor(root) {
20
- // #region Properties (1)
21
- _AbstractTree_root.set(this, void 0);
22
- __classPrivateFieldSet(this, _AbstractTree_root, root, "f");
20
+ constructor() {
21
+ // #region Properties (2)
22
+ _Tree_root.set(this, void 0);
23
+ __classPrivateFieldSet(this, _Tree_root, new TreeNode_1.TreeNode('root'), "f");
23
24
  }
24
25
  // #endregion Constructors (1)
25
- // #region Public Accessors (1)
26
+ // #region Public Static Getters And Setters (1)
27
+ static get instance() {
28
+ return this._instance || (this._instance = new this());
29
+ }
30
+ // #endregion Public Static Getters And Setters (1)
31
+ // #region Public Getters And Setters (1)
26
32
  get root() {
27
- return __classPrivateFieldGet(this, _AbstractTree_root, "f");
33
+ return __classPrivateFieldGet(this, _Tree_root, "f");
28
34
  }
29
- // #endregion Public Accessors (1)
30
- // #region Public Methods (6)
31
- addNode(node, parent = __classPrivateFieldGet(this, _AbstractTree_root, "f"), root = __classPrivateFieldGet(this, _AbstractTree_root, "f")) {
35
+ // #endregion Public Getters And Setters (1)
36
+ // #region Public Methods (5)
37
+ addNode(node, parent = __classPrivateFieldGet(this, _Tree_root, "f"), root = __classPrivateFieldGet(this, _Tree_root, "f")) {
32
38
  if (root === parent) {
33
39
  root.addChild(node);
34
40
  return true;
@@ -41,7 +47,7 @@ class AbstractTree {
41
47
  }
42
48
  return false;
43
49
  }
44
- addNodeAtPath(node, path = this.root.getPath(), root = __classPrivateFieldGet(this, _AbstractTree_root, "f")) {
50
+ addNodeAtPath(node, path = this.root.getPath(), root = __classPrivateFieldGet(this, _Tree_root, "f")) {
45
51
  if (root.name === path) {
46
52
  root.addChild(node);
47
53
  return true;
@@ -58,7 +64,7 @@ class AbstractTree {
58
64
  }
59
65
  return false;
60
66
  }
61
- getNodeAtPath(path = this.root.getPath(), root = __classPrivateFieldGet(this, _AbstractTree_root, "f")) {
67
+ getNodeAtPath(path = this.root.getPath(), root = __classPrivateFieldGet(this, _Tree_root, "f")) {
62
68
  if (root.name === path)
63
69
  return root;
64
70
  const pathStart = path.substr(0, path.indexOf('.'));
@@ -73,7 +79,7 @@ class AbstractTree {
73
79
  }
74
80
  return null;
75
81
  }
76
- removeNode(node, root = __classPrivateFieldGet(this, _AbstractTree_root, "f")) {
82
+ removeNode(node, root = __classPrivateFieldGet(this, _Tree_root, "f")) {
77
83
  if (root.hasChild(node)) {
78
84
  root.removeChild(node);
79
85
  return true;
@@ -86,7 +92,7 @@ class AbstractTree {
86
92
  }
87
93
  return false;
88
94
  }
89
- removeNodeAtPath(path, root = __classPrivateFieldGet(this, _AbstractTree_root, "f")) {
95
+ removeNodeAtPath(path, root = __classPrivateFieldGet(this, _Tree_root, "f")) {
90
96
  var _a;
91
97
  if (root.name === path) {
92
98
  (_a = root.parent) === null || _a === void 0 ? void 0 : _a.removeChild(root);
@@ -105,6 +111,6 @@ class AbstractTree {
105
111
  return false;
106
112
  }
107
113
  }
108
- exports.AbstractTree = AbstractTree;
109
- _AbstractTree_root = new WeakMap();
110
- //# sourceMappingURL=AbstractTree.js.map
114
+ exports.Tree = Tree;
115
+ _Tree_root = new WeakMap();
116
+ //# sourceMappingURL=Tree.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Tree.js","sourceRoot":"","sources":["../../src/implementation/Tree.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,8 @@
1
- import { mat4 } from 'gl-matrix';
2
1
  import { IBox } from '@shapediver/viewer.shared.math';
3
2
  import { ITransformation, ITreeNode } from '../interfaces/ITreeNode';
4
3
  import { ITreeNodeData } from '../interfaces/ITreeNodeData';
5
- export declare abstract class AbstractTreeNode<T extends ITreeNode<any, ITreeNodeData<any>>, U extends ITreeNodeData<any>> implements ITreeNode<T, U> {
4
+ import { mat4 } from 'gl-matrix';
5
+ export declare class TreeNode implements ITreeNode {
6
6
  #private;
7
7
  /**
8
8
  * Creation of a node that can be used in the node tree.
@@ -12,57 +12,65 @@ export declare abstract class AbstractTreeNode<T extends ITreeNode<any, ITreeNod
12
12
  * @param data the array of data
13
13
  * @param transformations the array of transformations
14
14
  */
15
- constructor(name?: string, parent?: T, data?: U[], transformations?: ITransformation[]);
16
- get bones(): T[];
17
- set bones(value: T[]);
15
+ constructor(name?: string, parent?: ITreeNode, data?: ITreeNodeData[], transformations?: ITransformation[]);
18
16
  get boneInverses(): mat4[];
19
17
  set boneInverses(value: mat4[]);
18
+ get bones(): ITreeNode[];
19
+ set bones(value: ITreeNode[]);
20
20
  get boundingBox(): IBox;
21
21
  get boundingBoxViewport(): {
22
22
  [key: string]: IBox;
23
23
  };
24
- get children(): T[];
25
- get originalId(): string;
26
- set originalId(value: string);
27
- get data(): U[];
24
+ get children(): ITreeNode[];
25
+ get convertedObject(): {
26
+ [key: string]: unknown;
27
+ };
28
+ set convertedObject(value: {
29
+ [key: string]: unknown;
30
+ });
31
+ get data(): ITreeNodeData[];
28
32
  get excludeViewports(): string[];
29
33
  set excludeViewports(value: string[]);
30
34
  get id(): string;
31
35
  get name(): string;
32
36
  set name(value: string);
33
37
  get nodeMatrix(): mat4;
34
- get parent(): T | undefined;
35
- set parent(value: T | undefined);
38
+ get originalId(): string;
39
+ set originalId(value: string);
40
+ get parent(): ITreeNode | undefined;
41
+ set parent(value: ITreeNode | undefined);
36
42
  get restrictViewports(): string[];
37
43
  set restrictViewports(value: string[]);
38
44
  get skinNode(): boolean;
39
45
  set skinNode(value: boolean);
40
46
  get transformations(): ITransformation[];
41
47
  set transformations(value: ITransformation[]);
48
+ get updateCallbackConvertedObject(): ((newObj: unknown, oldObj: unknown, viewport: string) => void) | null;
49
+ set updateCallbackConvertedObject(value: ((newObj: unknown, oldObj: unknown, viewport: string) => void) | null);
42
50
  get version(): string;
43
51
  set version(value: string);
44
52
  get visible(): boolean;
45
53
  set visible(value: boolean);
46
54
  get worldMatrix(): mat4;
47
- addChild(child: T): boolean;
48
- addData(data: U): boolean;
55
+ addChild(child: ITreeNode): boolean;
56
+ addData(data: ITreeNodeData): boolean;
49
57
  addTransformation(transformation: ITransformation): boolean;
50
- clone(): T;
51
- cloneInstance(): T;
52
- getChild(id: string): T | undefined;
53
- getData(id: string): U | undefined;
54
- getNodesByName(name: string): T[];
55
- getNodesByNameWithRegex(regex: RegExp): T[];
58
+ clone(): ITreeNode;
59
+ cloneInstance(): ITreeNode;
60
+ getChild(id: string): ITreeNode | undefined;
61
+ getData(id: string): ITreeNodeData | undefined;
62
+ getNodesByName(name: string): ITreeNode[];
63
+ getNodesByNameWithRegex(regex: RegExp): ITreeNode[];
56
64
  getPath(): string;
57
65
  getTransformation(id: string): ITransformation | undefined;
58
- hasChild(child: T): boolean;
59
- hasData(data: U): boolean;
66
+ hasChild(child: ITreeNode): boolean;
67
+ hasData(data: ITreeNodeData): boolean;
60
68
  hasTransformation(transformation: ITransformation): boolean;
61
- removeChild(child: T): boolean;
62
- removeData(data: U): boolean;
69
+ removeChild(child: ITreeNode): boolean;
70
+ removeData(data: ITreeNodeData): boolean;
63
71
  removeTransformation(transformation: ITransformation): boolean;
64
- traverse(callback: (node: T) => void): void;
65
- traverseData(callback: (node: U) => void): void;
66
- updateVersion(): void;
72
+ traverse(callback: (node: ITreeNode) => void): void;
73
+ traverseData(callback: (node: ITreeNodeData) => void): void;
74
+ updateVersion(parents?: boolean, children?: boolean): void;
67
75
  }
68
- //# sourceMappingURL=AbstractTreeNode.d.ts.map
76
+ //# sourceMappingURL=TreeNode.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TreeNode.d.ts","sourceRoot":"","sources":["../../src/implementation/TreeNode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,IAAI,EAAE,MAAM,gCAAgC,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAGjC,qBAAa,QAAS,YAAW,SAAS;;IA4BxC;;;;;;;OAOG;gBAED,IAAI,GAAE,MAAe,EACrB,MAAM,CAAC,EAAE,SAAS,EAClB,IAAI,GAAE,aAAa,EAAO,EAC1B,eAAe,GAAE,eAAe,EAAO;IAiBzC,IAAW,YAAY,IAAI,IAAI,EAAE,CAEhC;IAED,IAAW,YAAY,CAAC,KAAK,EAAE,IAAI,EAAE,EAEpC;IAED,IAAW,KAAK,IAAI,SAAS,EAAE,CAE9B;IAED,IAAW,KAAK,CAAC,KAAK,EAAE,SAAS,EAAE,EAElC;IAED,IAAW,WAAW,IAAI,IAAI,CAE7B;IAED,IAAW,mBAAmB,IAAI;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAExD;IAED,IAAW,QAAQ,IAAI,SAAS,EAAE,CAEjC;IAED,IAAW,eAAe,IAAI;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,CAEvD;IAED,IAAW,eAAe,CAAC,KAAK,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,EAE3D;IAED,IAAW,IAAI,IAAI,aAAa,EAAE,CAEjC;IAED,IAAW,gBAAgB,IAAI,MAAM,EAAE,CAEtC;IAED,IAAW,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,EAE1C;IAED,IAAW,EAAE,IAAI,MAAM,CAEtB;IAED,IAAW,IAAI,IAAI,MAAM,CAExB;IAED,IAAW,IAAI,CAAC,KAAK,EAAE,MAAM,EAE5B;IAED,IAAW,UAAU,IAAI,IAAI,CAK5B;IAED,IAAW,UAAU,IAAI,MAAM,CAE9B;IAED,IAAW,UAAU,CAAC,KAAK,EAAE,MAAM,EAElC;IAED,IAAW,MAAM,IAAI,SAAS,GAAG,SAAS,CAEzC;IAED,IAAW,MAAM,CAAC,KAAK,EAAE,SAAS,GAAG,SAAS,EAU7C;IAED,IAAW,iBAAiB,IAAI,MAAM,EAAE,CAEvC;IAED,IAAW,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,EAE3C;IAED,IAAW,QAAQ,IAAI,OAAO,CAE7B;IAED,IAAW,QAAQ,CAAC,KAAK,EAAE,OAAO,EAEjC;IAED,IAAW,eAAe,IAAI,eAAe,EAAE,CAE9C;IAED,IAAW,eAAe,CAAC,KAAK,EAAE,eAAe,EAAE,EAElD;IAED,IAAW,6BAA6B,IAAI,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,IAAI,CAEhH;IAED,IAAW,6BAA6B,CAAC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,IAAI,EAEpH;IAED,IAAW,OAAO,IAAI,MAAM,CAE3B;IAED,IAAW,OAAO,CAAC,KAAK,EAAE,MAAM,EAE/B;IAED,IAAW,OAAO,IAAI,OAAO,CAE5B;IAED,IAAW,OAAO,CAAC,KAAK,EAAE,OAAO,EAEhC;IAED,IAAW,WAAW,IAAI,IAAI,CAc7B;IAMM,QAAQ,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO;IAWnC,OAAO,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO;IAKrC,iBAAiB,CAAC,cAAc,EAAE,eAAe,GAAG,OAAO;IAK3D,KAAK,IAAI,SAAS;IAsBlB,aAAa,IAAI,SAAS;IAsB1B,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS;IAO3C,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS;IAO9C,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,EAAE;IASzC,uBAAuB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE;IASnD,OAAO,IAAI,MAAM;IAUjB,iBAAiB,CAAC,EAAE,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS;IAO1D,QAAQ,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO;IAInC,OAAO,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO;IAIrC,iBAAiB,CAAC,cAAc,EAAE,eAAe,GAAG,OAAO;IAI3D,WAAW,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO;IAStC,UAAU,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO;IAQxC,oBAAoB,CAAC,cAAc,EAAE,eAAe,GAAG,OAAO;IAQ9D,QAAQ,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,IAAI,GAAG,IAAI;IAOnD,YAAY,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,aAAa,KAAK,IAAI,GAAG,IAAI;IAQ3D,aAAa,CAAC,OAAO,GAAE,OAAc,EAAE,QAAQ,GAAE,OAAc,GAAG,IAAI;CAoB9E"}