@combeenation/3d-viewer 20.0.0-beta1 → 20.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.
@@ -6,15 +6,35 @@ export declare type CameraPosition = {
6
6
  target: Vector3;
7
7
  };
8
8
  export declare type AutofocusSettings = {
9
- /** Can be used to customize the margins shown around the 3d model. Defaults to 1. */
9
+ /**
10
+ * Can be used to customize the margins shown around the 3d model.\
11
+ * Default: 1
12
+ */
10
13
  radiusFactor?: number;
14
+ /** Default: true */
11
15
  adjustLowerRadiusLimit?: boolean;
16
+ /** Default: true */
12
17
  adjustMinZ?: boolean;
18
+ /** Default: true */
13
19
  adjustWheelPrecision?: boolean;
20
+ /** Default: true */
14
21
  adjustPanningSensibility?: boolean;
22
+ /** Default: true */
15
23
  adjustPinchPrecision?: boolean;
24
+ /**
25
+ * `true:` uses `alpha` from input or default value (45°), `false:` keeps current alpha from camera\
26
+ * Default: true
27
+ */
16
28
  adjustAlpha?: boolean;
29
+ /**
30
+ * `true:` uses `beta` from input or default value (75°), `false:` keeps current beta from camera\
31
+ * Default: true
32
+ */
17
33
  adjustBeta?: boolean;
34
+ /**
35
+ * `true:` uses calculated radius to fit scene bounding sphere, `false:` keeps current radius from camera\
36
+ * Default: true
37
+ */
18
38
  adjustRadius?: boolean;
19
39
  /** Desired horizontal camera angle, this won't be overwritten by the autofocus function */
20
40
  alpha?: number;
@@ -62,19 +62,12 @@ class CameraManager {
62
62
  if (adjustPinchPrecision !== false) {
63
63
  activeCamera.pinchPrecision = CameraManager._AUTOFOCUS_CONSTANTS.pinchPrecision / bBoxRadius;
64
64
  }
65
- let alpha = activeCamera.alpha;
66
- let beta = activeCamera.beta;
67
- let radius = activeCamera.radius;
68
- if (adjustAlpha !== false) {
69
- alpha = (_a = settings === null || settings === void 0 ? void 0 : settings.alpha) !== null && _a !== void 0 ? _a : CameraManager.DEFAULT_CAMERA_POSITION.alpha;
70
- }
71
- if (adjustBeta !== false) {
72
- beta = (_b = settings === null || settings === void 0 ? void 0 : settings.beta) !== null && _b !== void 0 ? _b : CameraManager.DEFAULT_CAMERA_POSITION.beta;
73
- }
74
- if (adjustRadius !== false) {
75
- const radiusFactor = (_c = settings === null || settings === void 0 ? void 0 : settings.radiusFactor) !== null && _c !== void 0 ? _c : CameraManager._DEFAULT_AUTOFOCUS_RADIUS_FACTOR;
76
- radius = distance * radiusFactor;
77
- }
65
+ const adjustedAlpha = (_a = settings === null || settings === void 0 ? void 0 : settings.alpha) !== null && _a !== void 0 ? _a : CameraManager.DEFAULT_CAMERA_POSITION.alpha;
66
+ const alpha = adjustAlpha !== false ? adjustedAlpha : activeCamera.alpha;
67
+ const adjustedBeta = (_b = settings === null || settings === void 0 ? void 0 : settings.beta) !== null && _b !== void 0 ? _b : CameraManager.DEFAULT_CAMERA_POSITION.beta;
68
+ const beta = adjustBeta !== false ? adjustedBeta : activeCamera.beta;
69
+ const adjustedRadiusFactor = (_c = settings === null || settings === void 0 ? void 0 : settings.radiusFactor) !== null && _c !== void 0 ? _c : CameraManager._DEFAULT_AUTOFOCUS_RADIUS_FACTOR;
70
+ const radius = adjustRadius !== false ? distance * adjustedRadiusFactor : activeCamera.radius;
78
71
  const newCameraPosition = {
79
72
  alpha,
80
73
  beta,
@@ -1 +1 @@
1
- {"version":3,"file":"camera-manager.js","sourceRoot":"","sources":["../../../src/manager/camera-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"camera-manager.js","sourceRoot":"","sources":["../../../src/manager/camera-manager.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,9 @@
1
- import { FloatArray, Geometry, Mesh, MorphTarget, MorphTargetManager, Node, TransformNode, Vector3, Viewer } from '../index';
1
+ import { Mesh, Node, Nullable, TransformNode, Vector3, Viewer } from '../index';
2
2
  export declare type BakeGeometrySettings = {
3
3
  keepTransformation?: boolean;
4
4
  };
5
5
  export declare type CreateTransformNodeSettings = {
6
- parentNode?: TransformNode;
6
+ parentNode?: Nullable<Node>;
7
7
  position?: Vector3;
8
8
  rotation?: Vector3;
9
9
  scaling?: Vector3;
@@ -19,7 +19,7 @@ export declare type MetadataObject = Record<string, unknown>;
19
19
  export declare type DerivedNodeType<T extends Node> = new (...args: any[]) => T;
20
20
  /**
21
21
  * Criteria object for find node functions {@link ViewerUtils.findChildNodes} and {@link ViewerUtils.findParentNode}.\
22
- * If property is omitted, the dedicated filter passes.
22
+ * All given properties must match for the criteria to pass.
23
23
  *
24
24
  * @param nodeName has to match exactly
25
25
  * @param tagName uses algorithm of `Tags.MatchesQuery`, in most cases this is just an exact string match check
@@ -48,7 +48,7 @@ export declare class ViewerUtils {
48
48
  bakeGeometryOfMesh(mesh: Mesh, settings?: BakeGeometrySettings): void;
49
49
  /**
50
50
  * Get a `TransformNode` by name or create one if not already available.\
51
- * Optionally set a parent node for the new `TransformNode` right away.
51
+ * Optionally set some settings of the existing or new `TransformNode` right away.
52
52
  */
53
53
  getOrCreateTransformNode(nodeName: string, settings?: CreateTransformNodeSettings): TransformNode;
54
54
  /**
@@ -63,12 +63,4 @@ export declare class ViewerUtils {
63
63
  * Returns `undefined` if no node could be found.
64
64
  */
65
65
  findParentNode<T extends Node>(node: Node, criteria?: FindNodeCriteria<T>): T | undefined;
66
- /**
67
- * @param kind morph targets can affect various vertices kinds, whereas "position" is the most common one
68
- * still other kinds (like normals or tangents) can be affected as well and can be provided on this input
69
- */
70
- protected _bakeMorphTargetManagerIntoVertices(kind: string, morphTargetManager: MorphTargetManager, geometry: Geometry): void;
71
- protected _getVerticesDataFromMorphTarget(kind: string, morphTarget: MorphTarget): FloatArray | null;
72
- protected _matchesFindNodeCriteria<T extends Node>(node: Node, criteria?: FindNodeCriteria<T>): boolean;
73
- protected _matchesMetadata(metadata: unknown, filter: MetadataObject): boolean;
74
66
  }
@@ -41,10 +41,10 @@ class ViewerUtils {
41
41
  if (morphTargetManager === null || morphTargetManager === void 0 ? void 0 : morphTargetManager.numTargets) {
42
42
  // apply morph target vertices data to mesh geometry
43
43
  // mostly only the "PositionKind" is implemented
44
- this._bakeMorphTargetManagerIntoVertices(index_1.VertexBuffer.PositionKind, morphTargetManager, geometry);
45
- this._bakeMorphTargetManagerIntoVertices(index_1.VertexBuffer.NormalKind, morphTargetManager, geometry);
46
- this._bakeMorphTargetManagerIntoVertices(index_1.VertexBuffer.TangentKind, morphTargetManager, geometry);
47
- this._bakeMorphTargetManagerIntoVertices(index_1.VertexBuffer.UVKind, morphTargetManager, geometry);
44
+ _bakeMorphTargetManagerIntoVertices(index_1.VertexBuffer.PositionKind, morphTargetManager, geometry);
45
+ _bakeMorphTargetManagerIntoVertices(index_1.VertexBuffer.NormalKind, morphTargetManager, geometry);
46
+ _bakeMorphTargetManagerIntoVertices(index_1.VertexBuffer.TangentKind, morphTargetManager, geometry);
47
+ _bakeMorphTargetManagerIntoVertices(index_1.VertexBuffer.UVKind, morphTargetManager, geometry);
48
48
  // remove morph target manager with all it's morph targets
49
49
  mesh.morphTargetManager = null;
50
50
  }
@@ -55,7 +55,7 @@ class ViewerUtils {
55
55
  }
56
56
  /**
57
57
  * Get a `TransformNode` by name or create one if not already available.\
58
- * Optionally set a parent node for the new `TransformNode` right away.
58
+ * Optionally set some settings of the existing or new `TransformNode` right away.
59
59
  */
60
60
  getOrCreateTransformNode(nodeName, settings) {
61
61
  const { parentNode, position, rotation, scaling } = settings !== null && settings !== void 0 ? settings : {};
@@ -64,10 +64,14 @@ class ViewerUtils {
64
64
  if (!node) {
65
65
  node = new index_1.TransformNode(nodeName, scene);
66
66
  }
67
- node.parent = parentNode !== null && parentNode !== void 0 ? parentNode : null;
68
- node.position = position !== null && position !== void 0 ? position : index_1.Vector3.Zero();
69
- node.rotation = rotation !== null && rotation !== void 0 ? rotation : index_1.Vector3.Zero();
70
- node.scaling = scaling !== null && scaling !== void 0 ? scaling : index_1.Vector3.One();
67
+ if (parentNode !== undefined)
68
+ node.parent = parentNode;
69
+ if (position !== undefined)
70
+ node.position = position;
71
+ if (rotation !== undefined)
72
+ node.rotation = rotation;
73
+ if (scaling !== undefined)
74
+ node.scaling = scaling;
71
75
  return node;
72
76
  }
73
77
  /**
@@ -80,7 +84,7 @@ class ViewerUtils {
80
84
  const allNodes = node ? node.getChildren(undefined, false) : [...this.viewer.scene.getNodes()];
81
85
  if (!criteria)
82
86
  return allNodes;
83
- const foundNodes = allNodes.filter(node => this._matchesFindNodeCriteria(node, criteria));
87
+ const foundNodes = allNodes.filter(node => _matchesFindNodeCriteria(node, criteria));
84
88
  return foundNodes;
85
89
  }
86
90
  /**
@@ -95,7 +99,7 @@ class ViewerUtils {
95
99
  else if (!criteria) {
96
100
  return parent;
97
101
  }
98
- const matchesCriteria = this._matchesFindNodeCriteria(parent, criteria);
102
+ const matchesCriteria = _matchesFindNodeCriteria(parent, criteria);
99
103
  if (matchesCriteria) {
100
104
  return parent;
101
105
  }
@@ -103,58 +107,58 @@ class ViewerUtils {
103
107
  return this.findParentNode(parent, criteria);
104
108
  }
105
109
  }
106
- /**
107
- * @param kind morph targets can affect various vertices kinds, whereas "position" is the most common one
108
- * still other kinds (like normals or tangents) can be affected as well and can be provided on this input
109
- */
110
- _bakeMorphTargetManagerIntoVertices(kind, morphTargetManager, geometry) {
111
- const origVerticesData = geometry.getVerticesData(kind);
112
- if (!origVerticesData) {
113
- // no vertices data for this kind availabe on the mesh geometry
114
- return;
115
- }
116
- let verticesData = [...origVerticesData];
117
- for (let i = 0; i < morphTargetManager.numTargets; i++) {
118
- const target = morphTargetManager.getTarget(i);
119
- const targetVerticesData = this._getVerticesDataFromMorphTarget(kind, target);
120
- if (targetVerticesData) {
121
- // vertices data of this kind are implemented on the morph target
122
- // add the influence of this morph target to the vertices data
123
- // formula is taken from: https://doc.babylonjs.com/features/featuresDeepDive/mesh/morphTargets#basics
124
- verticesData = verticesData.map((oldVal, idx) => oldVal + (targetVerticesData[idx] - origVerticesData[idx]) * target.influence);
125
- }
126
- }
127
- // apply the updated vertices data
128
- geometry.setVerticesData(kind, verticesData);
110
+ }
111
+ exports.ViewerUtils = ViewerUtils;
112
+ /**
113
+ * @param kind morph targets can affect various vertices kinds, whereas "position" is the most common one
114
+ * still other kinds (like normals or tangents) can be affected as well and can be provided on this input
115
+ */
116
+ function _bakeMorphTargetManagerIntoVertices(kind, morphTargetManager, geometry) {
117
+ const origVerticesData = geometry.getVerticesData(kind);
118
+ if (!origVerticesData) {
119
+ // no vertices data for this kind availabe on the mesh geometry
120
+ return;
129
121
  }
130
- _getVerticesDataFromMorphTarget(kind, morphTarget) {
131
- switch (kind) {
132
- case index_1.VertexBuffer.PositionKind:
133
- return morphTarget.getPositions();
134
- case index_1.VertexBuffer.NormalKind:
135
- return morphTarget.getNormals();
136
- case index_1.VertexBuffer.TangentKind:
137
- return morphTarget.getTangents();
138
- case index_1.VertexBuffer.UVKind:
139
- return morphTarget.getUVs();
122
+ let verticesData = [...origVerticesData];
123
+ for (let i = 0; i < morphTargetManager.numTargets; i++) {
124
+ const target = morphTargetManager.getTarget(i);
125
+ const targetVerticesData = _getVerticesDataFromMorphTarget(kind, target);
126
+ if (targetVerticesData) {
127
+ // vertices data of this kind are implemented on the morph target
128
+ // add the influence of this morph target to the vertices data
129
+ // formula is taken from: https://doc.babylonjs.com/features/featuresDeepDive/mesh/morphTargets#basics
130
+ verticesData = verticesData.map((oldVal, idx) => oldVal + (targetVerticesData[idx] - origVerticesData[idx]) * target.influence);
140
131
  }
141
- return null;
142
132
  }
143
- _matchesFindNodeCriteria(node, criteria) {
144
- if (!criteria)
145
- return true;
146
- const { nodeName, tagName, metadataObject, type } = criteria;
147
- const nodeNameFits = !nodeName || node.name === nodeName;
148
- const tagNameFits = !tagName || index_1.Tags.MatchesQuery(node, tagName);
149
- const metadataFits = !metadataObject || this._matchesMetadata(node.metadata, metadataObject);
150
- const typeFits = !type || node instanceof type;
151
- return nodeNameFits && tagNameFits && metadataFits && typeFits;
152
- }
153
- _matchesMetadata(metadata, filter) {
154
- if (!metadata || typeof metadata !== 'object')
155
- return false;
156
- return Object.entries(filter).every(([key, value]) => metadata[key] === value);
133
+ // apply the updated vertices data
134
+ geometry.setVerticesData(kind, verticesData);
135
+ }
136
+ function _getVerticesDataFromMorphTarget(kind, morphTarget) {
137
+ switch (kind) {
138
+ case index_1.VertexBuffer.PositionKind:
139
+ return morphTarget.getPositions();
140
+ case index_1.VertexBuffer.NormalKind:
141
+ return morphTarget.getNormals();
142
+ case index_1.VertexBuffer.TangentKind:
143
+ return morphTarget.getTangents();
144
+ case index_1.VertexBuffer.UVKind:
145
+ return morphTarget.getUVs();
157
146
  }
147
+ return null;
148
+ }
149
+ function _matchesFindNodeCriteria(node, criteria) {
150
+ if (!criteria)
151
+ return true;
152
+ const { nodeName, tagName, metadataObject, type } = criteria;
153
+ const nodeNameFits = !nodeName || node.name === nodeName;
154
+ const tagNameFits = !tagName || index_1.Tags.MatchesQuery(node, tagName);
155
+ const metadataFits = !metadataObject || _matchesMetadata(node.metadata, metadataObject);
156
+ const typeFits = !type || node instanceof type;
157
+ return nodeNameFits && tagNameFits && metadataFits && typeFits;
158
+ }
159
+ function _matchesMetadata(metadata, filter) {
160
+ if (!metadata || typeof metadata !== 'object')
161
+ return false;
162
+ return Object.entries(filter).every(([key, value]) => metadata[key] === value);
158
163
  }
159
- exports.ViewerUtils = ViewerUtils;
160
164
  //# sourceMappingURL=viewer-utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"viewer-utils.js","sourceRoot":"","sources":["../../../src/utils/viewer-utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"viewer-utils.js","sourceRoot":"","sources":["../../../src/utils/viewer-utils.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@combeenation/3d-viewer",
3
- "version": "20.0.0-beta1",
3
+ "version": "20.0.1",
4
4
  "description": "Combeenation 3D Viewer",
5
5
  "homepage": "https://github.com/Combeenation/3d-viewer#readme",
6
6
  "bugs": {
@@ -24,15 +24,35 @@ export type CameraPosition = {
24
24
  };
25
25
 
26
26
  export type AutofocusSettings = {
27
- /** Can be used to customize the margins shown around the 3d model. Defaults to 1. */
27
+ /**
28
+ * Can be used to customize the margins shown around the 3d model.\
29
+ * Default: 1
30
+ */
28
31
  radiusFactor?: number;
32
+ /** Default: true */
29
33
  adjustLowerRadiusLimit?: boolean;
34
+ /** Default: true */
30
35
  adjustMinZ?: boolean;
36
+ /** Default: true */
31
37
  adjustWheelPrecision?: boolean;
38
+ /** Default: true */
32
39
  adjustPanningSensibility?: boolean;
40
+ /** Default: true */
33
41
  adjustPinchPrecision?: boolean;
42
+ /**
43
+ * `true:` uses `alpha` from input or default value (45°), `false:` keeps current alpha from camera\
44
+ * Default: true
45
+ */
34
46
  adjustAlpha?: boolean;
47
+ /**
48
+ * `true:` uses `beta` from input or default value (75°), `false:` keeps current beta from camera\
49
+ * Default: true
50
+ */
35
51
  adjustBeta?: boolean;
52
+ /**
53
+ * `true:` uses calculated radius to fit scene bounding sphere, `false:` keeps current radius from camera\
54
+ * Default: true
55
+ */
36
56
  adjustRadius?: boolean;
37
57
  /** Desired horizontal camera angle, this won't be overwritten by the autofocus function */
38
58
  alpha?: number;
@@ -214,19 +234,12 @@ export class CameraManager {
214
234
  activeCamera.pinchPrecision = CameraManager._AUTOFOCUS_CONSTANTS.pinchPrecision / bBoxRadius;
215
235
  }
216
236
 
217
- let alpha = activeCamera.alpha;
218
- let beta = activeCamera.beta;
219
- let radius = activeCamera.radius;
220
- if (adjustAlpha !== false) {
221
- alpha = settings?.alpha ?? CameraManager.DEFAULT_CAMERA_POSITION.alpha;
222
- }
223
- if (adjustBeta !== false) {
224
- beta = settings?.beta ?? CameraManager.DEFAULT_CAMERA_POSITION.beta;
225
- }
226
- if (adjustRadius !== false) {
227
- const radiusFactor = settings?.radiusFactor ?? CameraManager._DEFAULT_AUTOFOCUS_RADIUS_FACTOR;
228
- radius = distance * radiusFactor;
229
- }
237
+ const adjustedAlpha = settings?.alpha ?? CameraManager.DEFAULT_CAMERA_POSITION.alpha;
238
+ const alpha = adjustAlpha !== false ? adjustedAlpha : activeCamera.alpha;
239
+ const adjustedBeta = settings?.beta ?? CameraManager.DEFAULT_CAMERA_POSITION.beta;
240
+ const beta = adjustBeta !== false ? adjustedBeta : activeCamera.beta;
241
+ const adjustedRadiusFactor = settings?.radiusFactor ?? CameraManager._DEFAULT_AUTOFOCUS_RADIUS_FACTOR;
242
+ const radius = adjustRadius !== false ? distance * adjustedRadiusFactor : activeCamera.radius;
230
243
 
231
244
  const newCameraPosition: CameraPosition = {
232
245
  alpha,
@@ -5,6 +5,7 @@ import {
5
5
  MorphTarget,
6
6
  MorphTargetManager,
7
7
  Node,
8
+ Nullable,
8
9
  Tags,
9
10
  TransformNode,
10
11
  Vector3,
@@ -17,7 +18,7 @@ export type BakeGeometrySettings = {
17
18
  };
18
19
 
19
20
  export type CreateTransformNodeSettings = {
20
- parentNode?: TransformNode;
21
+ parentNode?: Nullable<Node>;
21
22
  position?: Vector3;
22
23
  rotation?: Vector3;
23
24
  scaling?: Vector3;
@@ -36,7 +37,7 @@ export type DerivedNodeType<T extends Node> = new (...args: any[]) => T;
36
37
 
37
38
  /**
38
39
  * Criteria object for find node functions {@link ViewerUtils.findChildNodes} and {@link ViewerUtils.findParentNode}.\
39
- * If property is omitted, the dedicated filter passes.
40
+ * All given properties must match for the criteria to pass.
40
41
  *
41
42
  * @param nodeName has to match exactly
42
43
  * @param tagName uses algorithm of `Tags.MatchesQuery`, in most cases this is just an exact string match check
@@ -94,10 +95,10 @@ export class ViewerUtils {
94
95
  if (morphTargetManager?.numTargets) {
95
96
  // apply morph target vertices data to mesh geometry
96
97
  // mostly only the "PositionKind" is implemented
97
- this._bakeMorphTargetManagerIntoVertices(VertexBuffer.PositionKind, morphTargetManager, geometry);
98
- this._bakeMorphTargetManagerIntoVertices(VertexBuffer.NormalKind, morphTargetManager, geometry);
99
- this._bakeMorphTargetManagerIntoVertices(VertexBuffer.TangentKind, morphTargetManager, geometry);
100
- this._bakeMorphTargetManagerIntoVertices(VertexBuffer.UVKind, morphTargetManager, geometry);
98
+ _bakeMorphTargetManagerIntoVertices(VertexBuffer.PositionKind, morphTargetManager, geometry);
99
+ _bakeMorphTargetManagerIntoVertices(VertexBuffer.NormalKind, morphTargetManager, geometry);
100
+ _bakeMorphTargetManagerIntoVertices(VertexBuffer.TangentKind, morphTargetManager, geometry);
101
+ _bakeMorphTargetManagerIntoVertices(VertexBuffer.UVKind, morphTargetManager, geometry);
101
102
 
102
103
  // remove morph target manager with all it's morph targets
103
104
  mesh.morphTargetManager = null;
@@ -111,7 +112,7 @@ export class ViewerUtils {
111
112
 
112
113
  /**
113
114
  * Get a `TransformNode` by name or create one if not already available.\
114
- * Optionally set a parent node for the new `TransformNode` right away.
115
+ * Optionally set some settings of the existing or new `TransformNode` right away.
115
116
  */
116
117
  public getOrCreateTransformNode(nodeName: string, settings?: CreateTransformNodeSettings): TransformNode {
117
118
  const { parentNode, position, rotation, scaling } = settings ?? {};
@@ -122,10 +123,10 @@ export class ViewerUtils {
122
123
  node = new TransformNode(nodeName, scene);
123
124
  }
124
125
 
125
- node.parent = parentNode ?? null;
126
- node.position = position ?? Vector3.Zero();
127
- node.rotation = rotation ?? Vector3.Zero();
128
- node.scaling = scaling ?? Vector3.One();
126
+ if (parentNode !== undefined) node.parent = parentNode;
127
+ if (position !== undefined) node.position = position;
128
+ if (rotation !== undefined) node.rotation = rotation;
129
+ if (scaling !== undefined) node.scaling = scaling;
129
130
 
130
131
  return node;
131
132
  }
@@ -141,7 +142,7 @@ export class ViewerUtils {
141
142
 
142
143
  if (!criteria) return allNodes as T[];
143
144
 
144
- const foundNodes = allNodes.filter(node => this._matchesFindNodeCriteria(node, criteria));
145
+ const foundNodes = allNodes.filter(node => _matchesFindNodeCriteria(node, criteria));
145
146
  return foundNodes as T[];
146
147
  }
147
148
 
@@ -157,77 +158,77 @@ export class ViewerUtils {
157
158
  return parent as T;
158
159
  }
159
160
 
160
- const matchesCriteria = this._matchesFindNodeCriteria(parent, criteria);
161
+ const matchesCriteria = _matchesFindNodeCriteria(parent, criteria);
161
162
  if (matchesCriteria) {
162
163
  return parent as T;
163
164
  } else {
164
165
  return this.findParentNode(parent, criteria);
165
166
  }
166
167
  }
168
+ }
167
169
 
168
- /**
169
- * @param kind morph targets can affect various vertices kinds, whereas "position" is the most common one
170
- * still other kinds (like normals or tangents) can be affected as well and can be provided on this input
171
- */
172
- protected _bakeMorphTargetManagerIntoVertices(
173
- kind: string,
174
- morphTargetManager: MorphTargetManager,
175
- geometry: Geometry
176
- ): void {
177
- const origVerticesData = geometry.getVerticesData(kind);
178
- if (!origVerticesData) {
179
- // no vertices data for this kind availabe on the mesh geometry
180
- return;
181
- }
170
+ /**
171
+ * @param kind morph targets can affect various vertices kinds, whereas "position" is the most common one
172
+ * still other kinds (like normals or tangents) can be affected as well and can be provided on this input
173
+ */
174
+ function _bakeMorphTargetManagerIntoVertices(
175
+ kind: string,
176
+ morphTargetManager: MorphTargetManager,
177
+ geometry: Geometry
178
+ ): void {
179
+ const origVerticesData = geometry.getVerticesData(kind);
180
+ if (!origVerticesData) {
181
+ // no vertices data for this kind availabe on the mesh geometry
182
+ return;
183
+ }
182
184
 
183
- let verticesData = [...origVerticesData];
184
- for (let i = 0; i < morphTargetManager.numTargets; i++) {
185
- const target = morphTargetManager.getTarget(i);
186
- const targetVerticesData = this._getVerticesDataFromMorphTarget(kind, target);
187
- if (targetVerticesData) {
188
- // vertices data of this kind are implemented on the morph target
189
- // add the influence of this morph target to the vertices data
190
- // formula is taken from: https://doc.babylonjs.com/features/featuresDeepDive/mesh/morphTargets#basics
191
- verticesData = verticesData.map(
192
- (oldVal, idx) => oldVal + (targetVerticesData[idx] - origVerticesData[idx]) * target.influence
193
- );
194
- }
185
+ let verticesData = [...origVerticesData];
186
+ for (let i = 0; i < morphTargetManager.numTargets; i++) {
187
+ const target = morphTargetManager.getTarget(i);
188
+ const targetVerticesData = _getVerticesDataFromMorphTarget(kind, target);
189
+ if (targetVerticesData) {
190
+ // vertices data of this kind are implemented on the morph target
191
+ // add the influence of this morph target to the vertices data
192
+ // formula is taken from: https://doc.babylonjs.com/features/featuresDeepDive/mesh/morphTargets#basics
193
+ verticesData = verticesData.map(
194
+ (oldVal, idx) => oldVal + (targetVerticesData[idx] - origVerticesData[idx]) * target.influence
195
+ );
195
196
  }
196
-
197
- // apply the updated vertices data
198
- geometry.setVerticesData(kind, verticesData);
199
197
  }
200
198
 
201
- protected _getVerticesDataFromMorphTarget(kind: string, morphTarget: MorphTarget): FloatArray | null {
202
- switch (kind) {
203
- case VertexBuffer.PositionKind:
204
- return morphTarget.getPositions();
205
- case VertexBuffer.NormalKind:
206
- return morphTarget.getNormals();
207
- case VertexBuffer.TangentKind:
208
- return morphTarget.getTangents();
209
- case VertexBuffer.UVKind:
210
- return morphTarget.getUVs();
211
- }
199
+ // apply the updated vertices data
200
+ geometry.setVerticesData(kind, verticesData);
201
+ }
212
202
 
213
- return null;
203
+ function _getVerticesDataFromMorphTarget(kind: string, morphTarget: MorphTarget): FloatArray | null {
204
+ switch (kind) {
205
+ case VertexBuffer.PositionKind:
206
+ return morphTarget.getPositions();
207
+ case VertexBuffer.NormalKind:
208
+ return morphTarget.getNormals();
209
+ case VertexBuffer.TangentKind:
210
+ return morphTarget.getTangents();
211
+ case VertexBuffer.UVKind:
212
+ return morphTarget.getUVs();
214
213
  }
215
214
 
216
- protected _matchesFindNodeCriteria<T extends Node>(node: Node, criteria?: FindNodeCriteria<T>): boolean {
217
- if (!criteria) return true;
215
+ return null;
216
+ }
217
+
218
+ function _matchesFindNodeCriteria<T extends Node>(node: Node, criteria?: FindNodeCriteria<T>): boolean {
219
+ if (!criteria) return true;
218
220
 
219
- const { nodeName, tagName, metadataObject, type } = criteria;
220
- const nodeNameFits = !nodeName || node.name === nodeName;
221
- const tagNameFits = !tagName || Tags.MatchesQuery(node, tagName);
222
- const metadataFits = !metadataObject || this._matchesMetadata(node.metadata, metadataObject);
223
- const typeFits = !type || node instanceof type;
221
+ const { nodeName, tagName, metadataObject, type } = criteria;
222
+ const nodeNameFits = !nodeName || node.name === nodeName;
223
+ const tagNameFits = !tagName || Tags.MatchesQuery(node, tagName);
224
+ const metadataFits = !metadataObject || _matchesMetadata(node.metadata, metadataObject);
225
+ const typeFits = !type || node instanceof type;
224
226
 
225
- return nodeNameFits && tagNameFits && metadataFits && typeFits;
226
- }
227
+ return nodeNameFits && tagNameFits && metadataFits && typeFits;
228
+ }
227
229
 
228
- protected _matchesMetadata(metadata: unknown, filter: MetadataObject): boolean {
229
- if (!metadata || typeof metadata !== 'object') return false;
230
+ function _matchesMetadata(metadata: unknown, filter: MetadataObject): boolean {
231
+ if (!metadata || typeof metadata !== 'object') return false;
230
232
 
231
- return Object.entries(filter).every(([key, value]) => (metadata as MetadataObject)[key] === value);
232
- }
233
+ return Object.entries(filter).every(([key, value]) => (metadata as MetadataObject)[key] === value);
233
234
  }