@shapediver/viewer.shared.node-tree 3.16.8 → 3.16.10

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 (64) hide show
  1. package/dist/implementation/AbstractTreeNodeData.d.ts +33 -33
  2. package/dist/implementation/AbstractTreeNodeData.js +81 -81
  3. package/dist/implementation/AbstractTreeNodeData.js.map +1 -1
  4. package/dist/implementation/Tree.d.ts +13 -13
  5. package/dist/implementation/Tree.js +115 -115
  6. package/dist/implementation/Tree.js.map +1 -1
  7. package/dist/implementation/TreeNode.d.ts +78 -78
  8. package/dist/implementation/TreeNode.js +432 -432
  9. package/dist/implementation/TreeNode.js.map +1 -1
  10. package/dist/implementation/data/AnimationData.d.ts +32 -32
  11. package/dist/implementation/data/AnimationData.js +290 -290
  12. package/dist/implementation/data/AnimationData.js.map +1 -1
  13. package/dist/implementation/data/ChunkData.d.ts +14 -14
  14. package/dist/implementation/data/ChunkData.js +46 -46
  15. package/dist/implementation/data/ChunkData.js.map +1 -1
  16. package/dist/implementation/data/CustomData.d.ts +24 -24
  17. package/dist/implementation/data/CustomData.js +50 -50
  18. package/dist/implementation/data/GeometryData.d.ts +100 -100
  19. package/dist/implementation/data/GeometryData.js +326 -326
  20. package/dist/implementation/data/GeometryData.js.map +1 -1
  21. package/dist/implementation/data/HTMLElementAnchorData.d.ts +102 -102
  22. package/dist/implementation/data/HTMLElementAnchorData.js +273 -273
  23. package/dist/implementation/data/HTMLElementAnchorData.js.map +1 -1
  24. package/dist/implementation/data/InstanceData.d.ts +21 -21
  25. package/dist/implementation/data/InstanceData.js +58 -58
  26. package/dist/implementation/material/AbstractMaterialData.d.ts +68 -68
  27. package/dist/implementation/material/AbstractMaterialData.js +224 -224
  28. package/dist/implementation/material/MapData.d.ts +53 -53
  29. package/dist/implementation/material/MapData.js +190 -190
  30. package/dist/implementation/material/MaterialBasicLineData.d.ts +14 -14
  31. package/dist/implementation/material/MaterialBasicLineData.js +90 -90
  32. package/dist/implementation/material/MaterialGemData.d.ts +46 -46
  33. package/dist/implementation/material/MaterialGemData.js +288 -288
  34. package/dist/implementation/material/MaterialLambertData.d.ts +21 -21
  35. package/dist/implementation/material/MaterialLambertData.js +146 -146
  36. package/dist/implementation/material/MaterialMultiPointData.d.ts +99 -99
  37. package/dist/implementation/material/MaterialMultiPointData.js +650 -650
  38. package/dist/implementation/material/MaterialPhongData.d.ts +25 -25
  39. package/dist/implementation/material/MaterialPhongData.js +170 -170
  40. package/dist/implementation/material/MaterialPointData.d.ts +19 -19
  41. package/dist/implementation/material/MaterialPointData.js +131 -131
  42. package/dist/implementation/material/MaterialShadowData.d.ts +14 -14
  43. package/dist/implementation/material/MaterialShadowData.js +35 -35
  44. package/dist/implementation/material/MaterialSpecularGlossinessData.d.ts +27 -27
  45. package/dist/implementation/material/MaterialSpecularGlossinessData.js +179 -179
  46. package/dist/implementation/material/MaterialStandardData.d.ts +75 -75
  47. package/dist/implementation/material/MaterialStandardData.js +467 -467
  48. package/dist/implementation/material/MaterialUnlitData.d.ts +17 -17
  49. package/dist/implementation/material/MaterialUnlitData.js +119 -119
  50. package/dist/implementation/material/MaterialVariantsData.d.ts +15 -15
  51. package/dist/implementation/material/MaterialVariantsData.js +61 -61
  52. package/dist/implementation/material/MaterialVariantsData.js.map +1 -1
  53. package/dist/implementation/sdtf/SDTFAttributesData.d.ts +22 -22
  54. package/dist/implementation/sdtf/SDTFAttributesData.js +99 -99
  55. package/dist/implementation/sdtf/SDTFAttributesData.js.map +1 -1
  56. package/dist/implementation/sdtf/SDTFItemData.d.ts +18 -18
  57. package/dist/implementation/sdtf/SDTFItemData.js +59 -59
  58. package/dist/implementation/sdtf/SDTFItemData.js.map +1 -1
  59. package/dist/implementation/sdtf/SDTFOverviewData.d.ts +12 -12
  60. package/dist/implementation/sdtf/SDTFOverviewData.js +106 -106
  61. package/dist/implementation/sdtf/SDTFOverviewData.js.map +1 -1
  62. package/dist/index.d.ts +35 -35
  63. package/dist/index.js +59 -59
  64. package/package.json +6 -6
@@ -1,34 +1,34 @@
1
- import { ITreeNodeData } from "@shapediver/viewer.shared.types";
2
- export declare abstract class AbstractTreeNodeData implements ITreeNodeData {
3
- #private;
4
- /**
5
- * Creates a tree node data object.
6
- *
7
- * @param id Id of this data object
8
- */
9
- constructor(id?: string, version?: string);
10
- get convertedObject(): {
11
- [key: string]: unknown;
12
- };
13
- set convertedObject(value: {
14
- [key: string]: unknown;
15
- });
16
- get id(): string;
17
- get parentsUpdateVersions(): {
18
- [key: string]: () => void;
19
- };
20
- get updateCallback(): ((newVersion: string, oldVersion: string) => void) | null;
21
- set updateCallback(value: ((newVersion: string, oldVersion: string) => void) | null);
22
- get updateCallbackConvertedObject(): ((newObj: unknown, oldObj: unknown, viewport: string) => void) | null;
23
- set updateCallbackConvertedObject(value: ((newObj: unknown, oldObj: unknown, viewport: string) => void) | null);
24
- get version(): string;
25
- /**
26
- * Clones the tree node data.
27
- */
28
- clone(): ITreeNodeData;
29
- /**
30
- * Update the version
31
- */
32
- updateVersion(): void;
33
- }
1
+ import { ITreeNodeData } from "@shapediver/viewer.shared.types";
2
+ export declare abstract class AbstractTreeNodeData implements ITreeNodeData {
3
+ #private;
4
+ /**
5
+ * Creates a tree node data object.
6
+ *
7
+ * @param id Id of this data object
8
+ */
9
+ constructor(id?: string, version?: string);
10
+ get convertedObject(): {
11
+ [key: string]: unknown;
12
+ };
13
+ set convertedObject(value: {
14
+ [key: string]: unknown;
15
+ });
16
+ get id(): string;
17
+ get parentsUpdateVersions(): {
18
+ [key: string]: () => void;
19
+ };
20
+ get updateCallback(): ((newVersion: string, oldVersion: string) => void) | null;
21
+ set updateCallback(value: ((newVersion: string, oldVersion: string) => void) | null);
22
+ get updateCallbackConvertedObject(): ((newObj: unknown, oldObj: unknown, viewport: string) => void) | null;
23
+ set updateCallbackConvertedObject(value: ((newObj: unknown, oldObj: unknown, viewport: string) => void) | null);
24
+ get version(): string;
25
+ /**
26
+ * Clones the tree node data.
27
+ */
28
+ clone(): ITreeNodeData;
29
+ /**
30
+ * Update the version
31
+ */
32
+ updateVersion(): void;
33
+ }
34
34
  //# sourceMappingURL=AbstractTreeNodeData.d.ts.map
@@ -1,82 +1,82 @@
1
- "use strict";
2
- var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
3
- if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
4
- 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");
5
- return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
6
- };
7
- var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
8
- if (kind === "m") throw new TypeError("Private method is not writable");
9
- if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
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
- return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
12
- };
13
- var _AbstractTreeNodeData_id, _AbstractTreeNodeData_uuidGenerator, _AbstractTreeNodeData_convertedObject, _AbstractTreeNodeData_parentsUpdateVersions, _AbstractTreeNodeData_updateCallback, _AbstractTreeNodeData_updateCallbackConvertedObject, _AbstractTreeNodeData_version;
14
- Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.AbstractTreeNodeData = void 0;
16
- const viewer_shared_services_1 = require("@shapediver/viewer.shared.services");
17
- class AbstractTreeNodeData {
18
- /**
19
- * Creates a tree node data object.
20
- *
21
- * @param id Id of this data object
22
- */
23
- constructor(id, version) {
24
- _AbstractTreeNodeData_id.set(this, void 0);
25
- _AbstractTreeNodeData_uuidGenerator.set(this, viewer_shared_services_1.UuidGenerator.instance);
26
- _AbstractTreeNodeData_convertedObject.set(this, {});
27
- _AbstractTreeNodeData_parentsUpdateVersions.set(this, {});
28
- _AbstractTreeNodeData_updateCallback.set(this, null);
29
- _AbstractTreeNodeData_updateCallbackConvertedObject.set(this, null);
30
- _AbstractTreeNodeData_version.set(this, void 0);
31
- __classPrivateFieldSet(this, _AbstractTreeNodeData_id, id || __classPrivateFieldGet(this, _AbstractTreeNodeData_uuidGenerator, "f").create(), "f");
32
- __classPrivateFieldSet(this, _AbstractTreeNodeData_version, version || __classPrivateFieldGet(this, _AbstractTreeNodeData_uuidGenerator, "f").create(), "f");
33
- }
34
- get convertedObject() {
35
- return __classPrivateFieldGet(this, _AbstractTreeNodeData_convertedObject, "f");
36
- }
37
- set convertedObject(value) {
38
- __classPrivateFieldSet(this, _AbstractTreeNodeData_convertedObject, value, "f");
39
- }
40
- get id() {
41
- return __classPrivateFieldGet(this, _AbstractTreeNodeData_id, "f");
42
- }
43
- get parentsUpdateVersions() {
44
- return __classPrivateFieldGet(this, _AbstractTreeNodeData_parentsUpdateVersions, "f");
45
- }
46
- get updateCallback() {
47
- return __classPrivateFieldGet(this, _AbstractTreeNodeData_updateCallback, "f");
48
- }
49
- set updateCallback(value) {
50
- __classPrivateFieldSet(this, _AbstractTreeNodeData_updateCallback, value, "f");
51
- }
52
- get updateCallbackConvertedObject() {
53
- return __classPrivateFieldGet(this, _AbstractTreeNodeData_updateCallbackConvertedObject, "f");
54
- }
55
- set updateCallbackConvertedObject(value) {
56
- __classPrivateFieldSet(this, _AbstractTreeNodeData_updateCallbackConvertedObject, value, "f");
57
- }
58
- get version() {
59
- return __classPrivateFieldGet(this, _AbstractTreeNodeData_version, "f");
60
- }
61
- /**
62
- * Clones the tree node data.
63
- */
64
- clone() {
65
- const clone = new this.constructor();
66
- return clone;
67
- }
68
- /**
69
- * Update the version
70
- */
71
- updateVersion() {
72
- const oldVersion = __classPrivateFieldGet(this, _AbstractTreeNodeData_version, "f");
73
- __classPrivateFieldSet(this, _AbstractTreeNodeData_version, __classPrivateFieldGet(this, _AbstractTreeNodeData_uuidGenerator, "f").create(), "f");
74
- // notify all parents about the version change
75
- Object.values(__classPrivateFieldGet(this, _AbstractTreeNodeData_parentsUpdateVersions, "f")).forEach((cb) => cb());
76
- if (__classPrivateFieldGet(this, _AbstractTreeNodeData_updateCallback, "f"))
77
- __classPrivateFieldGet(this, _AbstractTreeNodeData_updateCallback, "f").call(this, __classPrivateFieldGet(this, _AbstractTreeNodeData_version, "f"), oldVersion);
78
- }
79
- }
80
- exports.AbstractTreeNodeData = AbstractTreeNodeData;
81
- _AbstractTreeNodeData_id = new WeakMap(), _AbstractTreeNodeData_uuidGenerator = new WeakMap(), _AbstractTreeNodeData_convertedObject = new WeakMap(), _AbstractTreeNodeData_parentsUpdateVersions = new WeakMap(), _AbstractTreeNodeData_updateCallback = new WeakMap(), _AbstractTreeNodeData_updateCallbackConvertedObject = new WeakMap(), _AbstractTreeNodeData_version = new WeakMap();
1
+ "use strict";
2
+ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
3
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
4
+ 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");
5
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
6
+ };
7
+ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
8
+ if (kind === "m") throw new TypeError("Private method is not writable");
9
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
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
+ return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
12
+ };
13
+ var _AbstractTreeNodeData_id, _AbstractTreeNodeData_uuidGenerator, _AbstractTreeNodeData_convertedObject, _AbstractTreeNodeData_parentsUpdateVersions, _AbstractTreeNodeData_updateCallback, _AbstractTreeNodeData_updateCallbackConvertedObject, _AbstractTreeNodeData_version;
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.AbstractTreeNodeData = void 0;
16
+ const viewer_shared_services_1 = require("@shapediver/viewer.shared.services");
17
+ class AbstractTreeNodeData {
18
+ /**
19
+ * Creates a tree node data object.
20
+ *
21
+ * @param id Id of this data object
22
+ */
23
+ constructor(id, version) {
24
+ _AbstractTreeNodeData_id.set(this, void 0);
25
+ _AbstractTreeNodeData_uuidGenerator.set(this, viewer_shared_services_1.UuidGenerator.instance);
26
+ _AbstractTreeNodeData_convertedObject.set(this, {});
27
+ _AbstractTreeNodeData_parentsUpdateVersions.set(this, {});
28
+ _AbstractTreeNodeData_updateCallback.set(this, null);
29
+ _AbstractTreeNodeData_updateCallbackConvertedObject.set(this, null);
30
+ _AbstractTreeNodeData_version.set(this, void 0);
31
+ __classPrivateFieldSet(this, _AbstractTreeNodeData_id, id || __classPrivateFieldGet(this, _AbstractTreeNodeData_uuidGenerator, "f").create(), "f");
32
+ __classPrivateFieldSet(this, _AbstractTreeNodeData_version, version || __classPrivateFieldGet(this, _AbstractTreeNodeData_uuidGenerator, "f").create(), "f");
33
+ }
34
+ get convertedObject() {
35
+ return __classPrivateFieldGet(this, _AbstractTreeNodeData_convertedObject, "f");
36
+ }
37
+ set convertedObject(value) {
38
+ __classPrivateFieldSet(this, _AbstractTreeNodeData_convertedObject, value, "f");
39
+ }
40
+ get id() {
41
+ return __classPrivateFieldGet(this, _AbstractTreeNodeData_id, "f");
42
+ }
43
+ get parentsUpdateVersions() {
44
+ return __classPrivateFieldGet(this, _AbstractTreeNodeData_parentsUpdateVersions, "f");
45
+ }
46
+ get updateCallback() {
47
+ return __classPrivateFieldGet(this, _AbstractTreeNodeData_updateCallback, "f");
48
+ }
49
+ set updateCallback(value) {
50
+ __classPrivateFieldSet(this, _AbstractTreeNodeData_updateCallback, value, "f");
51
+ }
52
+ get updateCallbackConvertedObject() {
53
+ return __classPrivateFieldGet(this, _AbstractTreeNodeData_updateCallbackConvertedObject, "f");
54
+ }
55
+ set updateCallbackConvertedObject(value) {
56
+ __classPrivateFieldSet(this, _AbstractTreeNodeData_updateCallbackConvertedObject, value, "f");
57
+ }
58
+ get version() {
59
+ return __classPrivateFieldGet(this, _AbstractTreeNodeData_version, "f");
60
+ }
61
+ /**
62
+ * Clones the tree node data.
63
+ */
64
+ clone() {
65
+ const clone = new this.constructor();
66
+ return clone;
67
+ }
68
+ /**
69
+ * Update the version
70
+ */
71
+ updateVersion() {
72
+ const oldVersion = __classPrivateFieldGet(this, _AbstractTreeNodeData_version, "f");
73
+ __classPrivateFieldSet(this, _AbstractTreeNodeData_version, __classPrivateFieldGet(this, _AbstractTreeNodeData_uuidGenerator, "f").create(), "f");
74
+ // notify all parents about the version change
75
+ Object.values(__classPrivateFieldGet(this, _AbstractTreeNodeData_parentsUpdateVersions, "f")).forEach((cb) => cb());
76
+ if (__classPrivateFieldGet(this, _AbstractTreeNodeData_updateCallback, "f"))
77
+ __classPrivateFieldGet(this, _AbstractTreeNodeData_updateCallback, "f").call(this, __classPrivateFieldGet(this, _AbstractTreeNodeData_version, "f"), oldVersion);
78
+ }
79
+ }
80
+ exports.AbstractTreeNodeData = AbstractTreeNodeData;
81
+ _AbstractTreeNodeData_id = new WeakMap(), _AbstractTreeNodeData_uuidGenerator = new WeakMap(), _AbstractTreeNodeData_convertedObject = new WeakMap(), _AbstractTreeNodeData_parentsUpdateVersions = new WeakMap(), _AbstractTreeNodeData_updateCallback = new WeakMap(), _AbstractTreeNodeData_updateCallbackConvertedObject = new WeakMap(), _AbstractTreeNodeData_version = new WeakMap();
82
82
  //# sourceMappingURL=AbstractTreeNodeData.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AbstractTreeNodeData.js","sourceRoot":"","sources":["../../src/implementation/AbstractTreeNodeData.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,+EAAiE;AAGjE,MAAsB,oBAAoB;IAezC;;;;OAIG;IACH,YAAY,EAAW,EAAE,OAAgB;QAnBzC,2CAAqB;QACrB,8CAAyC,sCAAa,CAAC,QAAQ,EAAC;QAEhE,gDAA6C,EAAE,EAAC;QAChD,sDAEI,EAAE,EAAC;QACP,+CACC,IAAI,EAAC;QACN,8DAEU,IAAI,EAAC;QACf,gDAAiB;QAQhB,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;IACzD,CAAC;IAED,IAAW,eAAe;QACzB,OAAO,uBAAA,IAAI,6CAAiB,CAAC;IAC9B,CAAC;IAED,IAAW,eAAe,CAAC,KAA+B;QACzD,uBAAA,IAAI,yCAAoB,KAAK,MAAA,CAAC;IAC/B,CAAC;IAED,IAAW,EAAE;QACZ,OAAO,uBAAA,IAAI,gCAAI,CAAC;IACjB,CAAC;IAED,IAAW,qBAAqB;QAG/B,OAAO,uBAAA,IAAI,mDAAuB,CAAC;IACpC,CAAC;IAED,IAAW,cAAc;QAGxB,OAAO,uBAAA,IAAI,4CAAgB,CAAC;IAC7B,CAAC;IAED,IAAW,cAAc,CACxB,KAAgE;QAEhE,uBAAA,IAAI,wCAAmB,KAAK,MAAA,CAAC;IAC9B,CAAC;IAED,IAAW,6BAA6B;QAGvC,OAAO,uBAAA,IAAI,2DAA+B,CAAC;IAC5C,CAAC;IAED,IAAW,6BAA6B,CACvC,KAEO;QAEP,uBAAA,IAAI,uDAAkC,KAAK,MAAA,CAAC;IAC7C,CAAC;IAED,IAAW,OAAO;QACjB,OAAO,uBAAA,IAAI,qCAAS,CAAC;IACtB,CAAC;IAED;;OAEG;IACI,KAAK;QACX,MAAM,KAAK,GAAG,IAAK,IAAI,CAAC,WAAuC,EAAE,CAAC;QAClE,OAAO,KAAK,CAAC;IACd,CAAC;IAED;;OAEG;IACI,aAAa;QACnB,MAAM,UAAU,GAAG,uBAAA,IAAI,qCAAS,CAAC;QACjC,uBAAA,IAAI,iCAAY,uBAAA,IAAI,2CAAe,CAAC,MAAM,EAAE,MAAA,CAAC;QAE7C,8CAA8C;QAC9C,MAAM,CAAC,MAAM,CAAC,uBAAA,IAAI,mDAAuB,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QACjE,IAAI,uBAAA,IAAI,4CAAgB;YACvB,uBAAA,IAAI,4CAAgB,MAApB,IAAI,EAAiB,uBAAA,IAAI,qCAAS,EAAE,UAAU,CAAC,CAAC;IAClD,CAAC;CACD;AA7FD,oDA6FC"}
1
+ {"version":3,"file":"AbstractTreeNodeData.js","sourceRoot":"","sources":["../../src/implementation/AbstractTreeNodeData.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,+EAAiE;AAGjE,MAAsB,oBAAoB;IAezC;;;;OAIG;IACH,YAAY,EAAW,EAAE,OAAgB;QAnBhC,2CAAY;QACZ,8CAAgC,sCAAa,CAAC,QAAQ,EAAC;QAEhE,gDAA6C,EAAE,EAAC;QAChD,sDAEI,EAAE,EAAC;QACP,+CACC,IAAI,EAAC;QACN,8DAEU,IAAI,EAAC;QACf,gDAAiB;QAQhB,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;IACzD,CAAC;IAED,IAAW,eAAe;QACzB,OAAO,uBAAA,IAAI,6CAAiB,CAAC;IAC9B,CAAC;IAED,IAAW,eAAe,CAAC,KAA+B;QACzD,uBAAA,IAAI,yCAAoB,KAAK,MAAA,CAAC;IAC/B,CAAC;IAED,IAAW,EAAE;QACZ,OAAO,uBAAA,IAAI,gCAAI,CAAC;IACjB,CAAC;IAED,IAAW,qBAAqB;QAG/B,OAAO,uBAAA,IAAI,mDAAuB,CAAC;IACpC,CAAC;IAED,IAAW,cAAc;QAGxB,OAAO,uBAAA,IAAI,4CAAgB,CAAC;IAC7B,CAAC;IAED,IAAW,cAAc,CACxB,KAAgE;QAEhE,uBAAA,IAAI,wCAAmB,KAAK,MAAA,CAAC;IAC9B,CAAC;IAED,IAAW,6BAA6B;QAGvC,OAAO,uBAAA,IAAI,2DAA+B,CAAC;IAC5C,CAAC;IAED,IAAW,6BAA6B,CACvC,KAEO;QAEP,uBAAA,IAAI,uDAAkC,KAAK,MAAA,CAAC;IAC7C,CAAC;IAED,IAAW,OAAO;QACjB,OAAO,uBAAA,IAAI,qCAAS,CAAC;IACtB,CAAC;IAED;;OAEG;IACI,KAAK;QACX,MAAM,KAAK,GAAG,IAAK,IAAI,CAAC,WAAuC,EAAE,CAAC;QAClE,OAAO,KAAK,CAAC;IACd,CAAC;IAED;;OAEG;IACI,aAAa;QACnB,MAAM,UAAU,GAAG,uBAAA,IAAI,qCAAS,CAAC;QACjC,uBAAA,IAAI,iCAAY,uBAAA,IAAI,2CAAe,CAAC,MAAM,EAAE,MAAA,CAAC;QAE7C,8CAA8C;QAC9C,MAAM,CAAC,MAAM,CAAC,uBAAA,IAAI,mDAAuB,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QACjE,IAAI,uBAAA,IAAI,4CAAgB;YACvB,uBAAA,IAAI,4CAAgB,MAApB,IAAI,EAAiB,uBAAA,IAAI,qCAAS,EAAE,UAAU,CAAC,CAAC;IAClD,CAAC;CACD;AA7FD,oDA6FC"}
@@ -1,14 +1,14 @@
1
- import { ITree, ITreeNode } from "@shapediver/viewer.shared.types";
2
- export declare class Tree implements ITree {
3
- #private;
4
- private static _instance;
5
- private constructor();
6
- static get instance(): Tree;
7
- get root(): ITreeNode;
8
- addNode(node: ITreeNode, parent?: ITreeNode, root?: ITreeNode): boolean;
9
- addNodeAtPath(node: ITreeNode, path?: string, root?: ITreeNode): boolean;
10
- getNodeAtPath(path?: string, root?: ITreeNode): ITreeNode | null;
11
- removeNode(node: ITreeNode, root?: ITreeNode): boolean;
12
- removeNodeAtPath(path: string, root?: ITreeNode): boolean;
13
- }
1
+ import { ITree, ITreeNode } from "@shapediver/viewer.shared.types";
2
+ export declare class Tree implements ITree {
3
+ #private;
4
+ private static _instance;
5
+ private constructor();
6
+ static get instance(): Tree;
7
+ get root(): ITreeNode;
8
+ addNode(node: ITreeNode, parent?: ITreeNode, root?: ITreeNode): boolean;
9
+ addNodeAtPath(node: ITreeNode, path?: string, root?: ITreeNode): boolean;
10
+ getNodeAtPath(path?: string, root?: ITreeNode): ITreeNode | null;
11
+ removeNode(node: ITreeNode, root?: ITreeNode): boolean;
12
+ removeNodeAtPath(path: string, root?: ITreeNode): boolean;
13
+ }
14
14
  //# sourceMappingURL=Tree.d.ts.map
@@ -1,116 +1,116 @@
1
- "use strict";
2
- var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
3
- if (kind === "m") throw new TypeError("Private method is not writable");
4
- if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
5
- 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");
6
- return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
7
- };
8
- var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
9
- if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
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
- return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
12
- };
13
- var _Tree_root;
14
- Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.Tree = void 0;
16
- const TreeNode_1 = require("./TreeNode");
17
- class Tree {
18
- // #endregion Properties (2)
19
- // #region Constructors (1)
20
- constructor() {
21
- // #region Properties (2)
22
- _Tree_root.set(this, void 0);
23
- __classPrivateFieldSet(this, _Tree_root, new TreeNode_1.TreeNode("root"), "f");
24
- }
25
- // #endregion Constructors (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)
32
- get root() {
33
- return __classPrivateFieldGet(this, _Tree_root, "f");
34
- }
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")) {
38
- if (root === parent) {
39
- root.addChild(node);
40
- return true;
41
- }
42
- for (let i = 0; i < root.children.length; i++) {
43
- const child = root.children[i];
44
- if (child && this.addNode(node, parent, child)) {
45
- return true;
46
- }
47
- }
48
- return false;
49
- }
50
- addNodeAtPath(node, path = this.root.getPath(), root = __classPrivateFieldGet(this, _Tree_root, "f")) {
51
- if (root.name === path) {
52
- root.addChild(node);
53
- return true;
54
- }
55
- const pathStart = path.substr(0, path.indexOf("."));
56
- if (root.name === pathStart) {
57
- const shortenedPath = path.substr(pathStart.length + 1, path.length);
58
- for (let i = 0; i < root.children.length; i++) {
59
- const child = root.children[i];
60
- if (child && this.addNodeAtPath(node, shortenedPath, child)) {
61
- return true;
62
- }
63
- }
64
- }
65
- return false;
66
- }
67
- getNodeAtPath(path = this.root.getPath(), root = __classPrivateFieldGet(this, _Tree_root, "f")) {
68
- if (root.name === path)
69
- return root;
70
- const pathStart = path.substr(0, path.indexOf("."));
71
- if (root.name === pathStart) {
72
- const shortenedPath = path.substr(pathStart.length + 1, path.length);
73
- for (let i = 0; i < root.children.length; i++) {
74
- const child = root.children[i];
75
- const res = this.getNodeAtPath(shortenedPath, child);
76
- if (res)
77
- return res;
78
- }
79
- }
80
- return null;
81
- }
82
- removeNode(node, root = __classPrivateFieldGet(this, _Tree_root, "f")) {
83
- if (root.hasChild(node)) {
84
- root.removeChild(node);
85
- return true;
86
- }
87
- for (let i = 0; i < root.children.length; i++) {
88
- const child = root.children[i];
89
- if (child && this.removeNode(node, child)) {
90
- return true;
91
- }
92
- }
93
- return false;
94
- }
95
- removeNodeAtPath(path, root = __classPrivateFieldGet(this, _Tree_root, "f")) {
96
- var _a;
97
- if (root.name === path) {
98
- (_a = root.parent) === null || _a === void 0 ? void 0 : _a.removeChild(root);
99
- return true;
100
- }
101
- const pathStart = path.substr(0, path.indexOf("."));
102
- if (root.name === pathStart) {
103
- const shortenedPath = path.substr(pathStart.length + 1, path.length);
104
- for (let i = 0; i < root.children.length; i++) {
105
- const child = root.children[i];
106
- if (child && this.removeNodeAtPath(shortenedPath, child)) {
107
- return true;
108
- }
109
- }
110
- }
111
- return false;
112
- }
113
- }
114
- exports.Tree = Tree;
115
- _Tree_root = new WeakMap();
1
+ "use strict";
2
+ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
3
+ if (kind === "m") throw new TypeError("Private method is not writable");
4
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
5
+ 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");
6
+ return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
7
+ };
8
+ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
9
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
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
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
12
+ };
13
+ var _Tree_root;
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.Tree = void 0;
16
+ const TreeNode_1 = require("./TreeNode");
17
+ class Tree {
18
+ // #endregion Properties (2)
19
+ // #region Constructors (1)
20
+ constructor() {
21
+ // #region Properties (2)
22
+ _Tree_root.set(this, void 0);
23
+ __classPrivateFieldSet(this, _Tree_root, new TreeNode_1.TreeNode("root"), "f");
24
+ }
25
+ // #endregion Constructors (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)
32
+ get root() {
33
+ return __classPrivateFieldGet(this, _Tree_root, "f");
34
+ }
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")) {
38
+ if (root === parent) {
39
+ root.addChild(node);
40
+ return true;
41
+ }
42
+ for (let i = 0; i < root.children.length; i++) {
43
+ const child = root.children[i];
44
+ if (child && this.addNode(node, parent, child)) {
45
+ return true;
46
+ }
47
+ }
48
+ return false;
49
+ }
50
+ addNodeAtPath(node, path = this.root.getPath(), root = __classPrivateFieldGet(this, _Tree_root, "f")) {
51
+ if (root.name === path) {
52
+ root.addChild(node);
53
+ return true;
54
+ }
55
+ const pathStart = path.substr(0, path.indexOf("."));
56
+ if (root.name === pathStart) {
57
+ const shortenedPath = path.substr(pathStart.length + 1, path.length);
58
+ for (let i = 0; i < root.children.length; i++) {
59
+ const child = root.children[i];
60
+ if (child && this.addNodeAtPath(node, shortenedPath, child)) {
61
+ return true;
62
+ }
63
+ }
64
+ }
65
+ return false;
66
+ }
67
+ getNodeAtPath(path = this.root.getPath(), root = __classPrivateFieldGet(this, _Tree_root, "f")) {
68
+ if (root.name === path)
69
+ return root;
70
+ const pathStart = path.substr(0, path.indexOf("."));
71
+ if (root.name === pathStart) {
72
+ const shortenedPath = path.substr(pathStart.length + 1, path.length);
73
+ for (let i = 0; i < root.children.length; i++) {
74
+ const child = root.children[i];
75
+ const res = this.getNodeAtPath(shortenedPath, child);
76
+ if (res)
77
+ return res;
78
+ }
79
+ }
80
+ return null;
81
+ }
82
+ removeNode(node, root = __classPrivateFieldGet(this, _Tree_root, "f")) {
83
+ if (root.hasChild(node)) {
84
+ root.removeChild(node);
85
+ return true;
86
+ }
87
+ for (let i = 0; i < root.children.length; i++) {
88
+ const child = root.children[i];
89
+ if (child && this.removeNode(node, child)) {
90
+ return true;
91
+ }
92
+ }
93
+ return false;
94
+ }
95
+ removeNodeAtPath(path, root = __classPrivateFieldGet(this, _Tree_root, "f")) {
96
+ var _a;
97
+ if (root.name === path) {
98
+ (_a = root.parent) === null || _a === void 0 ? void 0 : _a.removeChild(root);
99
+ return true;
100
+ }
101
+ const pathStart = path.substr(0, path.indexOf("."));
102
+ if (root.name === pathStart) {
103
+ const shortenedPath = path.substr(pathStart.length + 1, path.length);
104
+ for (let i = 0; i < root.children.length; i++) {
105
+ const child = root.children[i];
106
+ if (child && this.removeNodeAtPath(shortenedPath, child)) {
107
+ return true;
108
+ }
109
+ }
110
+ }
111
+ return false;
112
+ }
113
+ }
114
+ exports.Tree = Tree;
115
+ _Tree_root = new WeakMap();
116
116
  //# sourceMappingURL=Tree.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Tree.js","sourceRoot":"","sources":["../../src/implementation/Tree.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Tree.js","sourceRoot":"","sources":["../../src/implementation/Tree.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AACA,yCAAoC;AAEpC,MAAa,IAAI;IAOhB,4BAA4B;IAE5B,2BAA2B;IAE3B;QAVA,yBAAyB;QAEhB,6BAAiB;QASzB,uBAAA,IAAI,cAAS,IAAI,mBAAQ,CAAC,MAAM,CAAC,MAAA,CAAC;IACnC,CAAC;IAED,8BAA8B;IAE9B,gDAAgD;IAEzC,MAAM,KAAK,QAAQ;QACzB,OAAO,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,CAAC;IACxD,CAAC;IAED,mDAAmD;IAEnD,yCAAyC;IAEzC,IAAW,IAAI;QACd,OAAO,uBAAA,IAAI,kBAAM,CAAC;IACnB,CAAC;IAED,4CAA4C;IAE5C,6BAA6B;IAEtB,OAAO,CACb,IAAe,EACf,SAAoB,uBAAA,IAAI,kBAAM,EAC9B,OAAkB,uBAAA,IAAI,kBAAM;QAE5B,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;YACrB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACpB,OAAO,IAAI,CAAC;QACb,CAAC;QAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC/C,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YAC/B,IAAI,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC;gBAChD,OAAO,IAAI,CAAC;YACb,CAAC;QACF,CAAC;QACD,OAAO,KAAK,CAAC;IACd,CAAC;IAEM,aAAa,CACnB,IAAe,EACf,OAAe,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAClC,OAAkB,uBAAA,IAAI,kBAAM;QAE5B,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;YACxB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACpB,OAAO,IAAI,CAAC;QACb,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;QACpD,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC7B,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,CAChC,SAAS,CAAC,MAAM,GAAG,CAAC,EACpB,IAAI,CAAC,MAAM,CACX,CAAC;YAEF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC/C,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;gBAC/B,IAAI,KAAK,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC;oBAC7D,OAAO,IAAI,CAAC;gBACb,CAAC;YACF,CAAC;QACF,CAAC;QACD,OAAO,KAAK,CAAC;IACd,CAAC;IAEM,aAAa,CACnB,OAAe,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAClC,OAAkB,uBAAA,IAAI,kBAAM;QAE5B,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC;QAEpC,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;QACpD,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC7B,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,CAChC,SAAS,CAAC,MAAM,GAAG,CAAC,EACpB,IAAI,CAAC,MAAM,CACX,CAAC;YAEF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC/C,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;gBAC/B,MAAM,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;gBACrD,IAAI,GAAG;oBAAE,OAAO,GAAG,CAAC;YACrB,CAAC;QACF,CAAC;QACD,OAAO,IAAI,CAAC;IACb,CAAC;IAEM,UAAU,CAAC,IAAe,EAAE,OAAkB,uBAAA,IAAI,kBAAM;QAC9D,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YACzB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YACvB,OAAO,IAAI,CAAC;QACb,CAAC;QAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC/C,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YAC/B,IAAI,KAAK,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC;gBAC3C,OAAO,IAAI,CAAC;YACb,CAAC;QACF,CAAC;QAED,OAAO,KAAK,CAAC;IACd,CAAC;IAEM,gBAAgB,CACtB,IAAY,EACZ,OAAkB,uBAAA,IAAI,kBAAM;;QAE5B,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;YACxB,MAAA,IAAI,CAAC,MAAM,0CAAE,WAAW,CAAC,IAAI,CAAC,CAAC;YAC/B,OAAO,IAAI,CAAC;QACb,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;QACpD,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC7B,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,CAChC,SAAS,CAAC,MAAM,GAAG,CAAC,EACpB,IAAI,CAAC,MAAM,CACX,CAAC;YAEF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC/C,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;gBAC/B,IAAI,KAAK,IAAI,IAAI,CAAC,gBAAgB,CAAC,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC;oBAC1D,OAAO,IAAI,CAAC;gBACb,CAAC;YACF,CAAC;QACF,CAAC;QACD,OAAO,KAAK,CAAC;IACd,CAAC;CAGD;AAlJD,oBAkJC"}