@shapediver/viewer.shared.node-tree 2.0.11 → 2.1.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.
@@ -14,8 +14,14 @@ export declare class TreeNode implements ITreeNode {
14
14
  * @param transformations the array of transformations
15
15
  */
16
16
  constructor(name?: string, parent?: ITreeNode, data?: ITreeNodeData[], transformations?: ITransformation[]);
17
+ get bones(): ITreeNode[];
18
+ set bones(value: ITreeNode[]);
19
+ get boneInverses(): mat4[];
20
+ set boneInverses(value: mat4[]);
17
21
  get boundingBox(): IBox;
18
22
  get children(): ITreeNode[];
23
+ get originalId(): string;
24
+ set originalId(value: string);
19
25
  get data(): ITreeNodeData[];
20
26
  get excludeViewports(): string[];
21
27
  set excludeViewports(value: string[]);
@@ -26,6 +32,8 @@ export declare class TreeNode implements ITreeNode {
26
32
  set parent(value: ITreeNode | undefined);
27
33
  get restrictViewports(): string[];
28
34
  set restrictViewports(value: string[]);
35
+ get skinNode(): boolean;
36
+ set skinNode(value: boolean);
29
37
  get transformations(): ITransformation[];
30
38
  set transformations(value: ITransformation[]);
31
39
  get transformedNodes(): {
@@ -1 +1 @@
1
- {"version":3,"file":"TreeNode.d.ts","sourceRoot":"","sources":["../../src/implementation/TreeNode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAGhC,OAAO,EAAO,IAAI,EAAE,MAAM,gCAAgC,CAAA;AAE1D,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAA;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAEnD,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;IAgBzC,IAAW,WAAW,IAAI,IAAI,CAE7B;IAED,IAAW,QAAQ,IAAI,SAAS,EAAE,CAEjC;IAED,IAAW,IAAI,IAAI,aAAa,EAAE,CAEjC;IAED,IAAW,gBAAgB,IAAI,MAAM,EAAE,CAEtC;IAED,IAAW,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,EAG1C;IAED,IAAW,EAAE,IAAI,MAAM,CAEtB;IAED,IAAW,IAAI,IAAI,MAAM,CAExB;IAED,IAAW,UAAU,IAAI,IAAI,CAK5B;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,EAG3C;IAED,IAAW,eAAe,IAAI,eAAe,EAAE,CAE9C;IAED,IAAW,eAAe,CAAC,KAAK,EAAE,eAAe,EAAE,EAElD;IAED,IAAW,gBAAgB,IAAI;QAC7B,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAA;KACzB,CAEA;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,EAGhC;IAED,IAAW,WAAW,IAAI,IAAI,CAa7B;IAMM,QAAQ,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO;IAWnC,OAAO,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO;IAMrC,iBAAiB,CAAC,cAAc,EAAE,eAAe,GAAG,OAAO;IAM3D,KAAK,IAAI,SAAS;IAgBlB,aAAa,IAAI,SAAS;IAgB1B,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS;IAO3C,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS;IAO9C,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,aAAa,IAAI,IAAI;CAc7B"}
1
+ {"version":3,"file":"TreeNode.d.ts","sourceRoot":"","sources":["../../src/implementation/TreeNode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAGhC,OAAO,EAAO,IAAI,EAAE,MAAM,gCAAgC,CAAA;AAE1D,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAA;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAEnD,qBAAa,QAAS,YAAW,SAAS;;IAgCxC;;;;;;;OAOG;gBAED,IAAI,GAAE,MAAe,EACrB,MAAM,CAAC,EAAE,SAAS,EAClB,IAAI,GAAE,aAAa,EAAO,EAC1B,eAAe,GAAE,eAAe,EAAO;IAkBzC,IAAW,KAAK,IAAI,SAAS,EAAE,CAE9B;IAED,IAAW,KAAK,CAAC,KAAK,EAAE,SAAS,EAAE,EAGlC;IAED,IAAW,YAAY,IAAI,IAAI,EAAE,CAEhC;IAED,IAAW,YAAY,CAAC,KAAK,EAAE,IAAI,EAAE,EAGpC;IAED,IAAW,WAAW,IAAI,IAAI,CAE7B;IAED,IAAW,QAAQ,IAAI,SAAS,EAAE,CAEjC;IAED,IAAW,UAAU,IAAI,MAAM,CAE9B;IAED,IAAW,UAAU,CAAC,KAAK,EAAE,MAAM,EAElC;IAED,IAAW,IAAI,IAAI,aAAa,EAAE,CAEjC;IAED,IAAW,gBAAgB,IAAI,MAAM,EAAE,CAEtC;IAED,IAAW,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,EAG1C;IAED,IAAW,EAAE,IAAI,MAAM,CAEtB;IAED,IAAW,IAAI,IAAI,MAAM,CAExB;IAED,IAAW,UAAU,IAAI,IAAI,CAK5B;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,EAG3C;IAED,IAAW,QAAQ,IAAI,OAAO,CAE7B;IAED,IAAW,QAAQ,CAAC,KAAK,EAAE,OAAO,EAGjC;IAED,IAAW,eAAe,IAAI,eAAe,EAAE,CAE9C;IAED,IAAW,eAAe,CAAC,KAAK,EAAE,eAAe,EAAE,EAElD;IAED,IAAW,gBAAgB,IAAI;QAC7B,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAA;KACzB,CAEA;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,EAGhC;IAED,IAAW,WAAW,IAAI,IAAI,CAa7B;IAMM,QAAQ,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO;IAUnC,OAAO,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO;IAKrC,iBAAiB,CAAC,cAAc,EAAE,eAAe,GAAG,OAAO;IAK3D,KAAK,IAAI,SAAS;IAiBlB,aAAa,IAAI,SAAS;IAiB1B,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS;IAO3C,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS;IAO9C,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;IAQtC,UAAU,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO;IAOxC,oBAAoB,CAAC,cAAc,EAAE,eAAe,GAAG,OAAO;IAO9D,QAAQ,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,IAAI,GAAG,IAAI;IAOnD,aAAa,IAAI,IAAI;CAc7B"}
@@ -10,7 +10,7 @@ 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 _TreeNode_uuidGenerator, _TreeNode_children, _TreeNode_data, _TreeNode_transformations, _TreeNode_id, _TreeNode_name, _TreeNode_version, _TreeNode_parent, _TreeNode_boundingBox, _TreeNode_transformedNodes, _TreeNode_excludeViewports, _TreeNode_restrictViewports, _TreeNode_visible;
13
+ var _TreeNode_uuidGenerator, _TreeNode_children, _TreeNode_data, _TreeNode_transformations, _TreeNode_id, _TreeNode_name, _TreeNode_version, _TreeNode_parent, _TreeNode_boundingBox, _TreeNode_transformedNodes, _TreeNode_excludeViewports, _TreeNode_restrictViewports, _TreeNode_visible, _TreeNode_skinNode, _TreeNode_bones, _TreeNode_boneInverses, _TreeNode_originalId;
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
15
  exports.TreeNode = void 0;
16
16
  const gl_matrix_1 = require("gl-matrix");
@@ -44,22 +44,47 @@ class TreeNode {
44
44
  _TreeNode_excludeViewports.set(this, []);
45
45
  _TreeNode_restrictViewports.set(this, []);
46
46
  _TreeNode_visible.set(this, true);
47
+ _TreeNode_skinNode.set(this, false);
48
+ _TreeNode_bones.set(this, []);
49
+ _TreeNode_boneInverses.set(this, []);
50
+ _TreeNode_originalId.set(this, void 0);
47
51
  __classPrivateFieldSet(this, _TreeNode_name, name.replace(/\./g, "_"), "f");
48
52
  __classPrivateFieldSet(this, _TreeNode_parent, parent, "f");
49
53
  __classPrivateFieldSet(this, _TreeNode_data, data, "f");
50
54
  __classPrivateFieldSet(this, _TreeNode_transformations, transformations, "f");
51
55
  __classPrivateFieldSet(this, _TreeNode_id, __classPrivateFieldGet(this, _TreeNode_uuidGenerator, "f").create(), "f");
56
+ __classPrivateFieldSet(this, _TreeNode_originalId, __classPrivateFieldGet(this, _TreeNode_id, "f"), "f");
52
57
  __classPrivateFieldSet(this, _TreeNode_version, __classPrivateFieldGet(this, _TreeNode_uuidGenerator, "f").create(), "f");
53
58
  (_a = __classPrivateFieldGet(this, _TreeNode_parent, "f")) === null || _a === void 0 ? void 0 : _a.addChild(this);
54
59
  }
55
60
  // #endregion Constructors (1)
56
61
  // #region Public Accessors (19)
62
+ get bones() {
63
+ return __classPrivateFieldGet(this, _TreeNode_bones, "f");
64
+ }
65
+ set bones(value) {
66
+ __classPrivateFieldSet(this, _TreeNode_bones, value, "f");
67
+ this.updateVersion();
68
+ }
69
+ get boneInverses() {
70
+ return __classPrivateFieldGet(this, _TreeNode_boneInverses, "f");
71
+ }
72
+ set boneInverses(value) {
73
+ __classPrivateFieldSet(this, _TreeNode_boneInverses, value, "f");
74
+ this.updateVersion();
75
+ }
57
76
  get boundingBox() {
58
77
  return __classPrivateFieldGet(this, _TreeNode_boundingBox, "f");
59
78
  }
60
79
  get children() {
61
80
  return __classPrivateFieldGet(this, _TreeNode_children, "f");
62
81
  }
82
+ get originalId() {
83
+ return __classPrivateFieldGet(this, _TreeNode_originalId, "f");
84
+ }
85
+ set originalId(value) {
86
+ __classPrivateFieldSet(this, _TreeNode_originalId, value, "f");
87
+ }
63
88
  get data() {
64
89
  return __classPrivateFieldGet(this, _TreeNode_data, "f");
65
90
  }
@@ -102,6 +127,13 @@ class TreeNode {
102
127
  __classPrivateFieldSet(this, _TreeNode_restrictViewports, value, "f");
103
128
  this.updateVersion();
104
129
  }
130
+ get skinNode() {
131
+ return __classPrivateFieldGet(this, _TreeNode_skinNode, "f");
132
+ }
133
+ set skinNode(value) {
134
+ __classPrivateFieldSet(this, _TreeNode_skinNode, value, "f");
135
+ this.updateVersion();
136
+ }
105
137
  get transformations() {
106
138
  return __classPrivateFieldGet(this, _TreeNode_transformations, "f");
107
139
  }
@@ -144,21 +176,19 @@ class TreeNode {
144
176
  if (child.parent)
145
177
  child.parent.removeChild(child);
146
178
  child.parent = this;
147
- this.updateVersion();
148
179
  return true;
149
180
  }
150
181
  addData(data) {
151
182
  __classPrivateFieldGet(this, _TreeNode_data, "f").push(data);
152
- this.updateVersion();
153
183
  return true;
154
184
  }
155
185
  addTransformation(transformation) {
156
186
  __classPrivateFieldGet(this, _TreeNode_transformations, "f").push(transformation);
157
- this.updateVersion();
158
187
  return true;
159
188
  }
160
189
  clone() {
161
190
  const clone = new TreeNode(this.name);
191
+ clone.originalId = this.originalId;
162
192
  clone.visible = this.visible;
163
193
  for (let child of __classPrivateFieldGet(this, _TreeNode_children, "f"))
164
194
  clone.addChild(child.clone());
@@ -173,6 +203,7 @@ class TreeNode {
173
203
  }
174
204
  cloneInstance() {
175
205
  const clone = new TreeNode(this.name);
206
+ clone.originalId = this.originalId;
176
207
  clone.visible = this.visible;
177
208
  for (let child of __classPrivateFieldGet(this, _TreeNode_children, "f"))
178
209
  clone.addChild(child.cloneInstance());
@@ -227,7 +258,6 @@ class TreeNode {
227
258
  return false;
228
259
  __classPrivateFieldGet(this, _TreeNode_children, "f").splice(index, 1);
229
260
  child.parent = undefined;
230
- this.updateVersion();
231
261
  return true;
232
262
  }
233
263
  removeData(data) {
@@ -235,7 +265,6 @@ class TreeNode {
235
265
  if (index === -1)
236
266
  return false;
237
267
  __classPrivateFieldGet(this, _TreeNode_data, "f").splice(index, 1);
238
- this.updateVersion();
239
268
  return true;
240
269
  }
241
270
  removeTransformation(transformation) {
@@ -243,7 +272,6 @@ class TreeNode {
243
272
  if (index === -1)
244
273
  return false;
245
274
  __classPrivateFieldGet(this, _TreeNode_transformations, "f").splice(index, 1);
246
- this.updateVersion();
247
275
  return true;
248
276
  }
249
277
  traverse(callback) {
@@ -263,5 +291,5 @@ class TreeNode {
263
291
  }
264
292
  }
265
293
  exports.TreeNode = TreeNode;
266
- _TreeNode_uuidGenerator = new WeakMap(), _TreeNode_children = new WeakMap(), _TreeNode_data = new WeakMap(), _TreeNode_transformations = new WeakMap(), _TreeNode_id = new WeakMap(), _TreeNode_name = new WeakMap(), _TreeNode_version = new WeakMap(), _TreeNode_parent = new WeakMap(), _TreeNode_boundingBox = new WeakMap(), _TreeNode_transformedNodes = new WeakMap(), _TreeNode_excludeViewports = new WeakMap(), _TreeNode_restrictViewports = new WeakMap(), _TreeNode_visible = new WeakMap();
294
+ _TreeNode_uuidGenerator = new WeakMap(), _TreeNode_children = new WeakMap(), _TreeNode_data = new WeakMap(), _TreeNode_transformations = new WeakMap(), _TreeNode_id = new WeakMap(), _TreeNode_name = new WeakMap(), _TreeNode_version = new WeakMap(), _TreeNode_parent = new WeakMap(), _TreeNode_boundingBox = new WeakMap(), _TreeNode_transformedNodes = new WeakMap(), _TreeNode_excludeViewports = new WeakMap(), _TreeNode_restrictViewports = new WeakMap(), _TreeNode_visible = new WeakMap(), _TreeNode_skinNode = new WeakMap(), _TreeNode_bones = new WeakMap(), _TreeNode_boneInverses = new WeakMap(), _TreeNode_originalId = new WeakMap();
267
295
  //# sourceMappingURL=TreeNode.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TreeNode.js","sourceRoot":"","sources":["../../src/implementation/TreeNode.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TreeNode.js","sourceRoot":"","sources":["../../src/implementation/TreeNode.ts"],"names":[],"mappings":"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"}
@@ -10,6 +10,7 @@ export interface ITreeNode {
10
10
  readonly children: ITreeNode[];
11
11
  readonly data: ITreeNodeData[];
12
12
  readonly id: string;
13
+ readonly originalId: string;
13
14
  readonly name: string;
14
15
  readonly version: string;
15
16
  readonly parent?: ITreeNode;
@@ -23,6 +24,9 @@ export interface ITreeNode {
23
24
  restrictViewports: string[];
24
25
  transformations: ITransformation[];
25
26
  visible: boolean;
27
+ skinNode: boolean;
28
+ bones: ITreeNode[];
29
+ boneInverses: mat4[];
26
30
  /**
27
31
  * Add a child to the children of this node.
28
32
  *
@@ -1 +1 @@
1
- {"version":3,"file":"ITreeNode.d.ts","sourceRoot":"","sources":["../../src/interfaces/ITreeNode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChC,OAAO,EAAE,IAAI,EAAE,MAAM,gCAAgC,CAAA;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAEvC,MAAM,WAAW,eAAe;IAG5B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,IAAI,CAAA;CAGf;AAED,MAAM,WAAW,SAAS;IAGtB,QAAQ,CAAC,QAAQ,EAAE,SAAS,EAAE,CAAC;IAC/B,QAAQ,CAAC,IAAI,EAAE,aAAa,EAAE,CAAC;IAE/B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,CAAC;IAE5B,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAC;IAC1B,QAAQ,CAAC,WAAW,EAAE,IAAI,CAAC;IAE3B,QAAQ,CAAC,WAAW,EAAE,IAAI,CAAC;IAC3B,QAAQ,CAAC,gBAAgB,EAAE;QACvB,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAA;KAC3B,CAAC;IAEF,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAE5B,eAAe,EAAE,eAAe,EAAE,CAAC;IACnC,OAAO,EAAE,OAAO,CAAC;IAMjB;;;;OAIG;IACH,QAAQ,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC;IAEpC;;;;OAIG;IACH,OAAO,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC;IAEtC;;;;OAIG;IACH,iBAAiB,CAAC,cAAc,EAAE,eAAe,GAAG,OAAO,CAAC;IAE5D;;OAEG;IACH,KAAK,IAAI,SAAS,CAAC;IAEnB;;OAEG;IACH,aAAa,IAAI,SAAS,CAAC;IAE3B;;MAEE;IACF,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAAC;IAE5C;;MAEE;IACF,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS,CAAC;IAE/C;;MAEE;IACF,iBAAiB,CAAC,EAAE,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS,CAAC;IAE3D;;OAEG;IACH,OAAO,IAAI,MAAM,CAAC;IAElB;;;;OAIG;IACH,QAAQ,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC;IAEpC;;;;OAIG;IACH,OAAO,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC;IAEtC;;;;OAIG;IACH,iBAAiB,CAAC,cAAc,EAAE,eAAe,GAAG,OAAO,CAAC;IAE5D;;;;OAIG;IACH,WAAW,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC;IAEvC;;;;OAIG;IACH,UAAU,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC;IAEzC;;;;OAIG;IACH,oBAAoB,CAAC,cAAc,EAAE,eAAe,GAAG,OAAO,CAAC;IAE/D;;;;OAIG;IACH,QAAQ,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,IAAI,GAAG,IAAI,CAAC;IAEpD;;OAEG;IACH,aAAa,IAAI,IAAI,CAAC;CAGzB"}
1
+ {"version":3,"file":"ITreeNode.d.ts","sourceRoot":"","sources":["../../src/interfaces/ITreeNode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChC,OAAO,EAAE,IAAI,EAAE,MAAM,gCAAgC,CAAA;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAEvC,MAAM,WAAW,eAAe;IAG5B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,IAAI,CAAA;CAGf;AAED,MAAM,WAAW,SAAS;IAGtB,QAAQ,CAAC,QAAQ,EAAE,SAAS,EAAE,CAAC;IAC/B,QAAQ,CAAC,IAAI,EAAE,aAAa,EAAE,CAAC;IAE/B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,CAAC;IAE5B,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAC;IAC1B,QAAQ,CAAC,WAAW,EAAE,IAAI,CAAC;IAE3B,QAAQ,CAAC,WAAW,EAAE,IAAI,CAAC;IAC3B,QAAQ,CAAC,gBAAgB,EAAE;QACvB,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAA;KAC3B,CAAC;IAEF,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAE5B,eAAe,EAAE,eAAe,EAAE,CAAC;IACnC,OAAO,EAAE,OAAO,CAAC;IAEjB,QAAQ,EAAE,OAAO,CAAC;IAClB,KAAK,EAAE,SAAS,EAAE,CAAC;IACnB,YAAY,EAAE,IAAI,EAAE,CAAC;IAMrB;;;;OAIG;IACH,QAAQ,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC;IAEpC;;;;OAIG;IACH,OAAO,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC;IAEtC;;;;OAIG;IACH,iBAAiB,CAAC,cAAc,EAAE,eAAe,GAAG,OAAO,CAAC;IAE5D;;OAEG;IACH,KAAK,IAAI,SAAS,CAAC;IAEnB;;OAEG;IACH,aAAa,IAAI,SAAS,CAAC;IAE3B;;MAEE;IACF,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAAC;IAE5C;;MAEE;IACF,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS,CAAC;IAE/C;;MAEE;IACF,iBAAiB,CAAC,EAAE,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS,CAAC;IAE3D;;OAEG;IACH,OAAO,IAAI,MAAM,CAAC;IAElB;;;;OAIG;IACH,QAAQ,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC;IAEpC;;;;OAIG;IACH,OAAO,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC;IAEtC;;;;OAIG;IACH,iBAAiB,CAAC,cAAc,EAAE,eAAe,GAAG,OAAO,CAAC;IAE5D;;;;OAIG;IACH,WAAW,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC;IAEvC;;;;OAIG;IACH,UAAU,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC;IAEzC;;;;OAIG;IACH,oBAAoB,CAAC,cAAc,EAAE,eAAe,GAAG,OAAO,CAAC;IAE/D;;;;OAIG;IACH,QAAQ,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,IAAI,GAAG,IAAI,CAAC;IAEpD;;OAEG;IACH,aAAa,IAAI,IAAI,CAAC;CAGzB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@shapediver/viewer.shared.node-tree",
3
- "version": "2.0.11",
3
+ "version": "2.1.1",
4
4
  "description": "",
5
5
  "keywords": [],
6
6
  "author": "Michael Oppitz <michael@shapediver.com>",
@@ -39,10 +39,10 @@
39
39
  "testEnvironment": "node"
40
40
  },
41
41
  "dependencies": {
42
- "@shapediver/viewer.shared.math": "2.0.11",
43
- "@shapediver/viewer.shared.services": "2.0.11",
42
+ "@shapediver/viewer.shared.math": "2.1.1",
43
+ "@shapediver/viewer.shared.services": "2.1.1",
44
44
  "gl-matrix": "3.3.0",
45
45
  "tsyringe": "^4.5.0"
46
46
  },
47
- "gitHead": "d9e137ce55acca30e29b225b7aa9917dfd43cea6"
47
+ "gitHead": "e3956cf41c42be650f13d345949e58ede4a19169"
48
48
  }
@@ -30,6 +30,10 @@ export class TreeNode implements ITreeNode {
30
30
  #restrictViewports: string[] = [];
31
31
 
32
32
  #visible: boolean = true;
33
+ #skinNode: boolean = false;
34
+ #bones: ITreeNode[] = [];
35
+ #boneInverses: mat4[] = [];
36
+ #originalId: string;
33
37
 
34
38
  // #endregion Properties (13)
35
39
 
@@ -55,6 +59,7 @@ export class TreeNode implements ITreeNode {
55
59
  this.#transformations = transformations;
56
60
 
57
61
  this.#id = this.#uuidGenerator.create();
62
+ this.#originalId = this.#id;
58
63
  this.#version = this.#uuidGenerator.create();
59
64
  this.#parent?.addChild(this);
60
65
  }
@@ -63,6 +68,25 @@ export class TreeNode implements ITreeNode {
63
68
 
64
69
  // #region Public Accessors (19)
65
70
 
71
+
72
+ public get bones(): ITreeNode[] {
73
+ return this.#bones;
74
+ }
75
+
76
+ public set bones(value: ITreeNode[]) {
77
+ this.#bones = value;
78
+ this.updateVersion();
79
+ }
80
+
81
+ public get boneInverses(): mat4[] {
82
+ return this.#boneInverses;
83
+ }
84
+
85
+ public set boneInverses(value: mat4[]) {
86
+ this.#boneInverses = value;
87
+ this.updateVersion();
88
+ }
89
+
66
90
  public get boundingBox(): IBox {
67
91
  return this.#boundingBox;
68
92
  }
@@ -71,6 +95,14 @@ export class TreeNode implements ITreeNode {
71
95
  return this.#children;
72
96
  }
73
97
 
98
+ public get originalId(): string {
99
+ return this.#originalId;
100
+ }
101
+
102
+ public set originalId(value: string) {
103
+ this.#originalId = value;
104
+ }
105
+
74
106
  public get data(): ITreeNodeData[] {
75
107
  return this.#data;
76
108
  }
@@ -124,6 +156,15 @@ export class TreeNode implements ITreeNode {
124
156
  this.updateVersion();
125
157
  }
126
158
 
159
+ public get skinNode(): boolean {
160
+ return this.#skinNode;
161
+ }
162
+
163
+ public set skinNode(value: boolean) {
164
+ this.#skinNode = value;
165
+ this.updateVersion();
166
+ }
167
+
127
168
  public get transformations(): ITransformation[] {
128
169
  return this.#transformations;
129
170
  }
@@ -181,24 +222,22 @@ export class TreeNode implements ITreeNode {
181
222
  if (child.parent)
182
223
  child.parent.removeChild(child);
183
224
  (<ITreeNode | undefined>child.parent) = this;
184
- this.updateVersion();
185
225
  return true;
186
226
  }
187
227
 
188
228
  public addData(data: ITreeNodeData): boolean {
189
229
  this.#data.push(data);
190
- this.updateVersion();
191
230
  return true;
192
231
  }
193
232
 
194
233
  public addTransformation(transformation: ITransformation): boolean {
195
234
  this.#transformations.push(transformation);
196
- this.updateVersion();
197
235
  return true;
198
236
  }
199
237
 
200
238
  public clone(): ITreeNode {
201
239
  const clone = new TreeNode(this.name);
240
+ clone.originalId = this.originalId;
202
241
  clone.visible = this.visible;
203
242
  for (let child of this.#children)
204
243
  clone.addChild(child.clone());
@@ -215,6 +254,7 @@ export class TreeNode implements ITreeNode {
215
254
 
216
255
  public cloneInstance(): ITreeNode {
217
256
  const clone = new TreeNode(this.name);
257
+ clone.originalId = this.originalId;
218
258
  clone.visible = this.visible;
219
259
  for (let child of this.#children)
220
260
  clone.addChild(child.cloneInstance());
@@ -277,7 +317,6 @@ export class TreeNode implements ITreeNode {
277
317
  if (index === -1) return false;
278
318
  this.#children.splice(index, 1);
279
319
  (<ITreeNode | undefined>child.parent) = undefined;
280
- this.updateVersion();
281
320
  return true;
282
321
  }
283
322
 
@@ -285,7 +324,6 @@ export class TreeNode implements ITreeNode {
285
324
  const index = this.#data.indexOf(data);
286
325
  if (index === -1) return false;
287
326
  this.#data.splice(index, 1);
288
- this.updateVersion();
289
327
  return true;
290
328
  }
291
329
 
@@ -293,7 +331,6 @@ export class TreeNode implements ITreeNode {
293
331
  const index = this.#transformations.indexOf(transformation);
294
332
  if (index === -1) return false;
295
333
  this.#transformations.splice(index, 1);
296
- this.updateVersion();
297
334
  return true;
298
335
  }
299
336
 
@@ -19,6 +19,7 @@ export interface ITreeNode {
19
19
  readonly data: ITreeNodeData[];
20
20
 
21
21
  readonly id: string;
22
+ readonly originalId: string;
22
23
  readonly name: string;
23
24
  readonly version: string;
24
25
  readonly parent?: ITreeNode;
@@ -37,6 +38,10 @@ export interface ITreeNode {
37
38
  transformations: ITransformation[];
38
39
  visible: boolean;
39
40
 
41
+ skinNode: boolean;
42
+ bones: ITreeNode[];
43
+ boneInverses: mat4[];
44
+
40
45
  // #endregion Properties (16)
41
46
 
42
47
  // #region Public Methods (13)