@shapediver/viewer.shared.node-tree 2.1.0 → 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.
- package/dist/implementation/TreeNode.d.ts +8 -0
- package/dist/implementation/TreeNode.d.ts.map +1 -1
- package/dist/implementation/TreeNode.js +36 -8
- package/dist/implementation/TreeNode.js.map +1 -1
- package/dist/interfaces/ITreeNode.d.ts +4 -0
- package/dist/interfaces/ITreeNode.d.ts.map +1 -1
- package/package.json +4 -4
- package/src/implementation/TreeNode.ts +43 -6
- package/src/interfaces/ITreeNode.ts +5 -0
|
@@ -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;;
|
|
1
|
+
{"version":3,"file":"TreeNode.d.ts","sourceRoot":"","sources":["../../src/implementation/TreeNode.ts"],"names":[],"mappings":"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"}
|
|
@@ -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":";;;;;;;;;;;;;;;AAAA,yCAAgC;AAChC,uCAAoC;AACpC,+EAAkE;AAClE,uEAA0D;AAM1D,MAAa,QAAQ;
|
|
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;
|
|
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.1.
|
|
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.1.
|
|
43
|
-
"@shapediver/viewer.shared.services": "2.1.
|
|
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": "
|
|
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)
|