@shapediver/viewer.rendering-engine.intersection-engine 3.22.1 → 3.22.2

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.
@@ -5,8 +5,10 @@ import { type IIntersectionEngine } from "../interfaces/IIntersectionEngine";
5
5
  import { SelectionBox } from "./SelectionBox";
6
6
  export declare class IntersectionEngine implements IIntersectionEngine {
7
7
  private readonly _eventEngine;
8
+ private readonly _normalMatrix;
8
9
  private readonly _raycaster;
9
10
  private readonly _tree;
11
+ private readonly _worldNormal;
10
12
  private static _instance;
11
13
  private _intersectNodes;
12
14
  private constructor();
@@ -32,5 +34,10 @@ export declare class IntersectionEngine implements IIntersectionEngine {
32
34
  * @returns
33
35
  */
34
36
  private intersectionTest;
37
+ /**
38
+ * Geometric face normal in world space.
39
+ * Three.js keeps `face.normal` in the mesh's local space.
40
+ */
41
+ private worldFaceNormal;
35
42
  }
36
43
  //# sourceMappingURL=IntersectionEngine.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"IntersectionEngine.d.ts","sourceRoot":"","sources":["../../src/implementation/IntersectionEngine.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,YAAY,EAEZ,KAAK,SAAS,EACT,MAAM,qCAAqC,CAAC;AAElD,OAAO,EACN,KAAK,uBAAuB,EAC5B,KAAK,mBAAmB,EACxB,KAAK,IAAI,EACT,KAAK,uBAAuB,EAAC,MAAM,iCAAiC,CAAC;AACtE,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAC,KAAK,mBAAmB,EAAC,MAAM,mCAAmC,CAAC;AAC3E,OAAO,EAAC,YAAY,EAAC,MAAM,gBAAgB,CAAC;AAE5C,qBAAa,kBAAmB,YAAW,mBAAmB;IAG7D,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAqC;IAClE,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA0C;IACrE,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAwB;IAE9C,OAAO,CAAC,MAAM,CAAC,SAAS,CAAqB;IAE7C,OAAO,CAAC,eAAe,CAMd;IAMT,OAAO;IAcP,WAAkB,QAAQ,uBAEzB;IAMM,SAAS,CACf,GAAG,EAAE,IAAI,EACT,UAAU,EAAE,MAAM,EAClB,cAAc,CAAC,EAAE,mBAAmB,EAAE,EACtC,OAAO,CAAC,EAAE;QACT,eAAe,CAAC,EAAE,KAAK,CAAC,mBAAmB,CAAC;QAC5C,YAAY,CAAC,EAAE,YAAY,CAAC;KAC5B,GACC,uBAAuB,EAAE;IAkErB,aAAa,CACnB,GAAG,EAAE,IAAI,EACT,IAAI,EAAE,SAAS,EACf,YAAY,EAAE;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,CAAA;KAAC,EAC3C,UAAU,EAAE,MAAM,EAClB,cAAc,CAAC,EAAE,mBAAmB,EAAE,EACtC,eAAe,CAAC,EAAE,KAAK,CAAC,mBAAmB,GACzC,uBAAuB,EAAE,GAAG,SAAS;IAyCxC;;OAEG;IACH,OAAO,CAAC,WAAW;IAyCnB;;;;;;;;OAQG;IACH,OAAO,CAAC,gBAAgB;CAwExB"}
1
+ {"version":3,"file":"IntersectionEngine.d.ts","sourceRoot":"","sources":["../../src/implementation/IntersectionEngine.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,YAAY,EAEZ,KAAK,SAAS,EACT,MAAM,qCAAqC,CAAC;AAElD,OAAO,EACN,KAAK,uBAAuB,EAC5B,KAAK,mBAAmB,EACxB,KAAK,IAAI,EACT,KAAK,uBAAuB,EAAC,MAAM,iCAAiC,CAAC;AACtE,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAC,KAAK,mBAAmB,EAAC,MAAM,mCAAmC,CAAC;AAC3E,OAAO,EAAC,YAAY,EAAC,MAAM,gBAAgB,CAAC;AAE5C,qBAAa,kBAAmB,YAAW,mBAAmB;IAG7D,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAqC;IAClE,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAsC;IACpE,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA0C;IACrE,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAwB;IAC9C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAsC;IAEnE,OAAO,CAAC,MAAM,CAAC,SAAS,CAAqB;IAE7C,OAAO,CAAC,eAAe,CAMd;IAMT,OAAO;IAcP,WAAkB,QAAQ,uBAEzB;IAMM,SAAS,CACf,GAAG,EAAE,IAAI,EACT,UAAU,EAAE,MAAM,EAClB,cAAc,CAAC,EAAE,mBAAmB,EAAE,EACtC,OAAO,CAAC,EAAE;QACT,eAAe,CAAC,EAAE,KAAK,CAAC,mBAAmB,CAAC;QAC5C,YAAY,CAAC,EAAE,YAAY,CAAC;KAC5B,GACC,uBAAuB,EAAE;IAkErB,aAAa,CACnB,GAAG,EAAE,IAAI,EACT,IAAI,EAAE,SAAS,EACf,YAAY,EAAE;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,CAAA;KAAC,EAC3C,UAAU,EAAE,MAAM,EAClB,cAAc,CAAC,EAAE,mBAAmB,EAAE,EACtC,eAAe,CAAC,EAAE,KAAK,CAAC,mBAAmB,GACzC,uBAAuB,EAAE,GAAG,SAAS;IAyCxC;;OAEG;IACH,OAAO,CAAC,WAAW;IAyCnB;;;;;;;;OAQG;IACH,OAAO,CAAC,gBAAgB;IAwExB;;;OAGG;IACH,OAAO,CAAC,eAAe;CAavB"}
@@ -38,13 +38,15 @@ const viewer_shared_node_tree_1 = require("@shapediver/viewer.shared.node-tree")
38
38
  const viewer_shared_services_1 = require("@shapediver/viewer.shared.services");
39
39
  const THREE = __importStar(require("three"));
40
40
  class IntersectionEngine {
41
- // #endregion Properties (5)
41
+ // #endregion Properties (7)
42
42
  // #region Constructors (1)
43
43
  constructor() {
44
- // #region Properties (5)
44
+ // #region Properties (7)
45
45
  this._eventEngine = viewer_shared_services_1.EventEngine.instance;
46
+ this._normalMatrix = new THREE.Matrix3();
46
47
  this._raycaster = new THREE.Raycaster();
47
48
  this._tree = viewer_shared_node_tree_1.Tree.instance;
49
+ this._worldNormal = new THREE.Vector3();
48
50
  this._intersectNodes = [];
49
51
  this.gatherNodes();
50
52
  this._eventEngine.addListener(viewer_shared_services_1.EVENTTYPE.VIEWPORT.VIEWPORT_UPDATED, () => {
@@ -126,7 +128,7 @@ class IntersectionEngine {
126
128
  }
127
129
  }
128
130
  // #endregion Public Methods (2)
129
- // #region Private Methods (2)
131
+ // #region Private Methods (3)
130
132
  /**
131
133
  * Gather all nodes that contain geometry data.
132
134
  */
@@ -191,6 +193,7 @@ class IntersectionEngine {
191
193
  point: [i.point.x, i.point.y, i.point.z],
192
194
  node: node,
193
195
  geometryData: geometryData[`${parent === null || parent === void 0 ? void 0 : parent.SDid}_${parent === null || parent === void 0 ? void 0 : parent.SDversion}`],
196
+ normal: this.worldFaceNormal(i),
194
197
  type: "RayTracingIntersection",
195
198
  occludePrimitive: {
196
199
  objectType: i.object.type,
@@ -211,6 +214,22 @@ class IntersectionEngine {
211
214
  return intersections;
212
215
  }
213
216
  }
217
+ /**
218
+ * Geometric face normal in world space.
219
+ * Three.js keeps `face.normal` in the mesh's local space.
220
+ */
221
+ worldFaceNormal(intersection) {
222
+ var _a;
223
+ const local = (_a = intersection.face) === null || _a === void 0 ? void 0 : _a.normal;
224
+ if (!local)
225
+ return undefined;
226
+ this._normalMatrix.getNormalMatrix(intersection.object.matrixWorld);
227
+ this._worldNormal.copy(local).applyMatrix3(this._normalMatrix);
228
+ if (this._worldNormal.lengthSq() < 1e-20)
229
+ return undefined;
230
+ this._worldNormal.normalize();
231
+ return [this._worldNormal.x, this._worldNormal.y, this._worldNormal.z];
232
+ }
214
233
  }
215
234
  exports.IntersectionEngine = IntersectionEngine;
216
235
  //# sourceMappingURL=IntersectionEngine.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"IntersectionEngine.js","sourceRoot":"","sources":["../../src/implementation/IntersectionEngine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"IntersectionEngine.js","sourceRoot":"","sources":["../../src/implementation/IntersectionEngine.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@shapediver/viewer.rendering-engine.intersection-engine",
3
- "version": "3.22.1",
3
+ "version": "3.22.2",
4
4
  "description": "",
5
5
  "keywords": [],
6
6
  "author": "Michael Oppitz <michael@shapediver.com>",
@@ -37,15 +37,15 @@
37
37
  "testEnvironment": "node"
38
38
  },
39
39
  "dependencies": {
40
- "@shapediver/viewer.rendering-engine.rendering-engine": "3.22.1",
41
- "@shapediver/viewer.shared.math": "3.22.1",
42
- "@shapediver/viewer.shared.node-tree": "3.22.1",
43
- "@shapediver/viewer.shared.services": "3.22.1",
44
- "@shapediver/viewer.shared.types": "3.22.1",
40
+ "@shapediver/viewer.rendering-engine.rendering-engine": "3.22.2",
41
+ "@shapediver/viewer.shared.math": "3.22.2",
42
+ "@shapediver/viewer.shared.node-tree": "3.22.2",
43
+ "@shapediver/viewer.shared.services": "3.22.2",
44
+ "@shapediver/viewer.shared.types": "3.22.2",
45
45
  "@types/three": "0.184.1",
46
46
  "detect-it": "4.0.1",
47
47
  "gl-matrix": "3.4.4",
48
48
  "three": "0.184.0"
49
49
  },
50
- "gitHead": "f50dbf389e76dc7014184f99158675918196c81e"
50
+ "gitHead": "29a0e7b13c545b8dd2a10c1387b77e317f80de0b"
51
51
  }