@shapediver/viewer.rendering-engine.intersection-restriction-engine 3.8.10 → 3.8.11

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.
@@ -1 +1 @@
1
- {"version":3,"file":"RestrictionManager.d.ts","sourceRoot":"","sources":["../../src/implementation/RestrictionManager.ts"],"names":[],"mappings":"AAEA,OAAO,EACH,2BAA2B,EAC3B,0BAA0B,EAC1B,YAAY,EAEZ,cAAc,EAEd,qBAAqB,EAExB,MAAM,4BAA4B,CAAC;AAIpC,OAAO,EAAoD,IAAI,EAAe,MAAM,iCAAiC,CAAC;AACtH,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AACxE,OAAO,EAAE,SAAS,EAAY,MAAM,qCAAqC,CAAC;AAC1E,OAAO,EAAO,YAAY,EAAa,MAAM,oBAAoB,CAAC;AAClE,OAAO,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AAM9E,qBAAa,kBAAmB,YAAW,mBAAmB;;gBAmCtD,QAAQ,EAAE,YAAY,EACtB,UAAU,GAAE,SAA0B,EACtC,YAAY,CAAC,EAAE,qBAAqB,EAAE,EACtC,QAAQ,CAAC,EAAE,sBAAsB;IA4CrC,IAAW,MAAM,IAAI,OAAO,CAE3B;IAED,IAAW,YAAY,IAAI;QAAE,CAAC,KAAK,EAAE,MAAM,GAAG,YAAY,CAAA;KAAE,CAE3D;IAED,IAAW,4BAA4B,IAAI,OAAO,CAEjD;IAED,IAAW,4BAA4B,CAAC,KAAK,EAAE,OAAO,EAQrD;IAMM,cAAc,CAAC,UAAU,EAAE,qBAAqB,GAAG,MAAM,GAAG,SAAS;IA0DrE,KAAK,IAAI,IAAI;IAUb,cAAc,IAAI,MAAM,EAAE;IAI1B,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS;IAIvD,QAAQ,CAAC,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,0BAA0B,GAAG,2BAA2B,GAAG,cAAc,GAAG,SAAS;IAkGnH,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAchD,OAAO,CAAC,MAAM;IAId,OAAO,CAAC,SAAS;IAMjB,OAAO,CAAC,OAAO;IAKf,OAAO,CAAC,MAAM;IAId,OAAO,CAAC,KAAK;IAIb,OAAO,CAAC,IAAI;CAKf"}
1
+ {"version":3,"file":"RestrictionManager.d.ts","sourceRoot":"","sources":["../../src/implementation/RestrictionManager.ts"],"names":[],"mappings":"AAEA,OAAO,EACH,2BAA2B,EAC3B,0BAA0B,EAC1B,YAAY,EAEZ,cAAc,EAEd,qBAAqB,EAExB,MAAM,4BAA4B,CAAC;AAIpC,OAAO,EAAsC,IAAI,EAAE,MAAM,iCAAiC,CAAC;AAC3F,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AACxE,OAAO,EAAE,SAAS,EAAY,MAAM,qCAAqC,CAAC;AAC1E,OAAO,EAAE,YAAY,EAAa,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AAM9E,qBAAa,kBAAmB,YAAW,mBAAmB;;gBAgCtD,QAAQ,EAAE,YAAY,EACtB,UAAU,GAAE,SAA0B,EACtC,YAAY,CAAC,EAAE,qBAAqB,EAAE,EACtC,QAAQ,CAAC,EAAE,sBAAsB;IA+BrC,IAAW,MAAM,IAAI,OAAO,CAE3B;IAED,IAAW,YAAY,IAAI;QAAE,CAAC,KAAK,EAAE,MAAM,GAAG,YAAY,CAAA;KAAE,CAE3D;IAED,IAAW,4BAA4B,IAAI,OAAO,CAEjD;IAED,IAAW,4BAA4B,CAAC,KAAK,EAAE,OAAO,EAQrD;IAMM,cAAc,CAAC,UAAU,EAAE,qBAAqB,GAAG,MAAM,GAAG,SAAS;IA0DrE,KAAK,IAAI,IAAI;IASb,cAAc,IAAI,MAAM,EAAE;IAI1B,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS;IAIvD,QAAQ,CAAC,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,0BAA0B,GAAG,2BAA2B,GAAG,cAAc,GAAG,SAAS;IA0GnH,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAchD,OAAO,CAAC,MAAM;IAId,OAAO,CAAC,SAAS;IAMjB,OAAO,CAAC,OAAO;IAKf,OAAO,CAAC,MAAM;IAId,OAAO,CAAC,KAAK;IAIb,OAAO,CAAC,IAAI;CAKf"}
@@ -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 _RestrictionManager_eventEngine, _RestrictionManager_eventManager, _RestrictionManager_geometryMathManager, _RestrictionManager_parentNode, _RestrictionManager_restrictions, _RestrictionManager_settings, _RestrictionManager_uuidGenerator, _RestrictionManager_viewport, _RestrictionManager_closed, _RestrictionManager_keysPressed, _RestrictionManager_restrictionManagerNode, _RestrictionManager_showRestrictionVisualization, _RestrictionManager_sceneBoundingSphereRadius, _RestrictionManager_sceneBoundingBoxChangeToken;
13
+ var _RestrictionManager_eventManager, _RestrictionManager_geometryMathManager, _RestrictionManager_parentNode, _RestrictionManager_restrictions, _RestrictionManager_settings, _RestrictionManager_uuidGenerator, _RestrictionManager_viewport, _RestrictionManager_closed, _RestrictionManager_keysPressed, _RestrictionManager_restrictionManagerNode, _RestrictionManager_showRestrictionVisualization;
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
15
  exports.RestrictionManager = void 0;
16
16
  const RestrictionsHelper_1 = require("./restrictions/RestrictionsHelper");
@@ -30,7 +30,6 @@ class RestrictionManager {
30
30
  // #region Constructors (1)
31
31
  constructor(viewport, parentNode = viewer_1.sceneTree.root, restrictions, settings) {
32
32
  // #region Properties (11)
33
- _RestrictionManager_eventEngine.set(this, viewer_shared_services_1.EventEngine.instance);
34
33
  _RestrictionManager_eventManager.set(this, void 0);
35
34
  _RestrictionManager_geometryMathManager.set(this, void 0);
36
35
  _RestrictionManager_parentNode.set(this, void 0);
@@ -53,8 +52,6 @@ class RestrictionManager {
53
52
  _RestrictionManager_keysPressed.set(this, {});
54
53
  _RestrictionManager_restrictionManagerNode.set(this, void 0);
55
54
  _RestrictionManager_showRestrictionVisualization.set(this, false);
56
- _RestrictionManager_sceneBoundingSphereRadius.set(this, void 0);
57
- _RestrictionManager_sceneBoundingBoxChangeToken.set(this, '');
58
55
  __classPrivateFieldSet(this, _RestrictionManager_viewport, viewport, "f");
59
56
  __classPrivateFieldSet(this, _RestrictionManager_parentNode, parentNode, "f");
60
57
  __classPrivateFieldSet(this, _RestrictionManager_restrictionManagerNode, new viewer_shared_node_tree_1.TreeNode('RestrictionManager'), "f");
@@ -63,18 +60,6 @@ class RestrictionManager {
63
60
  if (settings)
64
61
  __classPrivateFieldSet(this, _RestrictionManager_settings, settings, "f");
65
62
  __classPrivateFieldSet(this, _RestrictionManager_geometryMathManager, new GeometryMathManager_1.GeometryMathManager(__classPrivateFieldGet(this, _RestrictionManager_viewport, "f"), __classPrivateFieldGet(this, _RestrictionManager_settings, "f")), "f");
66
- /**
67
- * When the scene bounding box changes, we store the new bounding sphere radius of the scene.
68
- * This is necessary as with that radius, we calculate the relative threshold for the distance comparison.
69
- */
70
- __classPrivateFieldSet(this, _RestrictionManager_sceneBoundingSphereRadius, viewer_1.sceneTree.root.boundingBox.boundingSphere.radius, "f");
71
- __classPrivateFieldSet(this, _RestrictionManager_sceneBoundingBoxChangeToken, __classPrivateFieldGet(this, _RestrictionManager_eventEngine, "f").addListener(viewer_shared_services_1.EVENTTYPE.SCENE.SCENE_BOUNDING_BOX_CHANGE, (e) => {
72
- const event = e;
73
- if (event.viewportId === __classPrivateFieldGet(this, _RestrictionManager_viewport, "f").id) {
74
- const boundingBox = new viewer_1.Box(event.boundingBox.min, event.boundingBox.max);
75
- __classPrivateFieldSet(this, _RestrictionManager_sceneBoundingSphereRadius, boundingBox.boundingSphere.radius, "f");
76
- }
77
- }), "f");
78
63
  __classPrivateFieldSet(this, _RestrictionManager_eventManager, new EventManager_1.EventManager(__classPrivateFieldGet(this, _RestrictionManager_viewport, "f"), {
79
64
  onDown: this.onDown.bind(this),
80
65
  onUp: this.onUp.bind(this),
@@ -137,7 +122,6 @@ class RestrictionManager {
137
122
  }
138
123
  close() {
139
124
  __classPrivateFieldSet(this, _RestrictionManager_closed, true, "f");
140
- __classPrivateFieldGet(this, _RestrictionManager_eventEngine, "f").removeListener(__classPrivateFieldGet(this, _RestrictionManager_sceneBoundingBoxChangeToken, "f"));
141
125
  __classPrivateFieldGet(this, _RestrictionManager_parentNode, "f").removeChild(__classPrivateFieldGet(this, _RestrictionManager_restrictionManagerNode, "f"));
142
126
  __classPrivateFieldGet(this, _RestrictionManager_parentNode, "f").updateVersion(false, false);
143
127
  __classPrivateFieldGet(this, _RestrictionManager_eventManager, "f").close();
@@ -205,11 +189,17 @@ class RestrictionManager {
205
189
  // check if the closest restriction is actually hidden
206
190
  const sceneRayTrace = __classPrivateFieldGet(this, _RestrictionManager_viewport, "f").raytraceScene(ray.origin, ray.direction, [filter]);
207
191
  if (sceneRayTrace.length > 0) {
208
- // epsilon of 0.01% of the bounding sphere radius
209
- const eps = __classPrivateFieldGet(this, _RestrictionManager_sceneBoundingSphereRadius, "f") * 0.0001;
210
- const squaredDistanceSceneRayTrace = (sceneRayTrace[0].distance * sceneRayTrace[0].distance) + eps;
211
- if (squaredDistanceSceneRayTrace < restrictionResult.distanceOriginToClosestIntersectionPointSquared)
212
- return;
192
+ const squaredDistanceSceneRayTrace = sceneRayTrace[0].distance * sceneRayTrace[0].distance;
193
+ if (squaredDistanceSceneRayTrace < restrictionResult.distanceOriginToClosestIntersectionPointSquared) {
194
+ // the second check is to make sure that the geometry data of the geometry restriction and the scene ray trace is available
195
+ if (restrictionResult.restriction.type !== IRestriction_1.RESTRICTION_TYPE.GEOMETRY || (restrictionResult.restriction.type === IRestriction_1.RESTRICTION_TYPE.GEOMETRY && (!restrictionResult.restrictionIntersectionData || !sceneRayTrace[0].data)))
196
+ return;
197
+ const geometryRestrictionIntersectionData = restrictionResult.restrictionIntersectionData;
198
+ // it is NOT the same geometry
199
+ if (!(geometryRestrictionIntersectionData.geometryData.id === sceneRayTrace[0].data.id &&
200
+ geometryRestrictionIntersectionData.geometryData.version === sceneRayTrace[0].data.version))
201
+ return;
202
+ }
213
203
  }
214
204
  // deactivate the visualization of all restrictions that are not hit
215
205
  for (const restriction of Object.values(__classPrivateFieldGet(this, _RestrictionManager_restrictions, "f"))) {
@@ -278,5 +268,5 @@ class RestrictionManager {
278
268
  }
279
269
  }
280
270
  exports.RestrictionManager = RestrictionManager;
281
- _RestrictionManager_eventEngine = new WeakMap(), _RestrictionManager_eventManager = new WeakMap(), _RestrictionManager_geometryMathManager = new WeakMap(), _RestrictionManager_parentNode = new WeakMap(), _RestrictionManager_restrictions = new WeakMap(), _RestrictionManager_settings = new WeakMap(), _RestrictionManager_uuidGenerator = new WeakMap(), _RestrictionManager_viewport = new WeakMap(), _RestrictionManager_closed = new WeakMap(), _RestrictionManager_keysPressed = new WeakMap(), _RestrictionManager_restrictionManagerNode = new WeakMap(), _RestrictionManager_showRestrictionVisualization = new WeakMap(), _RestrictionManager_sceneBoundingSphereRadius = new WeakMap(), _RestrictionManager_sceneBoundingBoxChangeToken = new WeakMap();
271
+ _RestrictionManager_eventManager = new WeakMap(), _RestrictionManager_geometryMathManager = new WeakMap(), _RestrictionManager_parentNode = new WeakMap(), _RestrictionManager_restrictions = new WeakMap(), _RestrictionManager_settings = new WeakMap(), _RestrictionManager_uuidGenerator = new WeakMap(), _RestrictionManager_viewport = new WeakMap(), _RestrictionManager_closed = new WeakMap(), _RestrictionManager_keysPressed = new WeakMap(), _RestrictionManager_restrictionManagerNode = new WeakMap(), _RestrictionManager_showRestrictionVisualization = new WeakMap();
282
272
  //# sourceMappingURL=RestrictionManager.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"RestrictionManager.js","sourceRoot":"","sources":["../../src/implementation/RestrictionManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RestrictionManager.js","sourceRoot":"","sources":["../../src/implementation/RestrictionManager.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { AbstractRestriction } from '../AbstractRestriction';
2
2
  import { GeometryMathManager } from '../../GeometryMathManager';
3
- import { IRay } from '@shapediver/viewer.shared.types';
3
+ import { IGeometryData, IRay } from '@shapediver/viewer.shared.types';
4
4
  import { IRestriction, RestrictionMetaData, RestrictionPropertiesBase, RestrictionResult } from '../../../interfaces/IRestriction';
5
5
  import { ISnapRestriction } from '../../../interfaces/ISnapRestriction';
6
6
  import { ITreeNode } from '@shapediver/viewer.shared.node-tree';
@@ -40,9 +40,18 @@ export interface GeometryRestrictionProperties extends RestrictionPropertiesBase
40
40
  */
41
41
  snapToFaces?: boolean;
42
42
  }
43
+ /**
44
+ * The data of the intersection of the geometry restriction.
45
+ * This data is forwarded for internal use.
46
+ */
47
+ export interface GeometryRestrictionIntersectionData {
48
+ node: ITreeNode;
49
+ geometryData: IGeometryData;
50
+ }
43
51
  export declare class GeometryRestriction extends AbstractRestriction implements IRestriction {
44
52
  #private;
45
53
  constructor(viewport: IViewportApi, geometryMathManager: GeometryMathManager, parentNode: ITreeNode, id: string, settings: IVisualizationSettings, properties: GeometryRestrictionProperties);
54
+ get nodes(): ITreeNode[];
46
55
  get snapRestrictions(): {
47
56
  [key: string]: ISnapRestriction;
48
57
  };
@@ -1 +1 @@
1
- {"version":3,"file":"GeometryRestriction.d.ts","sourceRoot":"","sources":["../../../../src/implementation/restrictions/geometry/GeometryRestriction.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAG7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,IAAI,EAAE,MAAM,iCAAiC,CAAC;AACvD,OAAO,EACH,YAAY,EACZ,mBAAmB,EACnB,yBAAyB,EACzB,iBAAiB,EACpB,MAAM,kCAAkC,CAAC;AAE1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AACxE,OAAO,EAAE,SAAS,EAAE,MAAM,qCAAqC,CAAC;AAChE,OAAO,EAAE,YAAY,EAAa,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EAAE,sBAAsB,EAAE,MAAM,4CAA4C,CAAC;AAKpF,MAAM,WAAW,6BAA8B,SAAQ,yBAAyB;IAC5E;;OAEG;IACH,KAAK,EAAE,SAAS,EAAE,CAAC;IACnB;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;OAEG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB;;OAEG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B;;OAEG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;OAEG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B;;OAEG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;CACzB;AAMD,qBAAa,mBAAoB,SAAQ,mBAAoB,YAAW,YAAY;;gBAmCpE,QAAQ,EAAE,YAAY,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,UAAU,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,sBAAsB,EAAE,UAAU,EAAE,6BAA6B;IA+B5L,IAAW,gBAAgB,IAAI;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,gBAAgB,CAAC;KAAE,CAElE;IAED,IAAW,WAAW,IAAI,OAAO,CAEhC;IAED,IAAW,WAAW,CAAC,KAAK,EAAE,OAAO,EAEpC;IAED,IAAW,WAAW,IAAI,OAAO,CAEhC;IAED,IAAW,WAAW,CAAC,KAAK,EAAE,OAAO,EAEpC;IAED,IAAW,cAAc,IAAI,OAAO,CAEnC;IAED,IAAW,cAAc,CAAC,KAAK,EAAE,OAAO,EAEvC;IAMM,QAAQ,CAAC,GAAG,EAAE,IAAI,EAAE,QAAQ,CAAC,EAAE,mBAAmB,GAAG,iBAAiB,GAAG,SAAS;IA2GlF,WAAW,CAAC,KAAK,EAAE,SAAS,EAAE;IAmCrC,SAAS,CAAC,iBAAiB,IAAI,IAAI;IAMnC,OAAO,CAAC,4BAA4B;IAMpC,OAAO,CAAC,0BAA0B;IAWlC;;;;;;;;;OASG;IACH,OAAO,CAAC,aAAa;CAaxB"}
1
+ {"version":3,"file":"GeometryRestriction.d.ts","sourceRoot":"","sources":["../../../../src/implementation/restrictions/geometry/GeometryRestriction.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAG7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAgB,aAAa,EAAE,IAAI,EAAE,MAAM,iCAAiC,CAAC;AACpF,OAAO,EACH,YAAY,EACZ,mBAAmB,EACnB,yBAAyB,EACzB,iBAAiB,EACpB,MAAM,kCAAkC,CAAC;AAE1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AACxE,OAAO,EAAE,SAAS,EAAE,MAAM,qCAAqC,CAAC;AAChE,OAAO,EAAE,YAAY,EAAa,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EAAE,sBAAsB,EAAE,MAAM,4CAA4C,CAAC;AAMpF,MAAM,WAAW,6BAA8B,SAAQ,yBAAyB;IAC5E;;OAEG;IACH,KAAK,EAAE,SAAS,EAAE,CAAC;IACnB;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;OAEG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB;;OAEG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B;;OAEG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;OAEG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B;;OAEG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;CACzB;AAGD;;;GAGG;AACH,MAAM,WAAW,mCAAmC;IAChD,IAAI,EAAE,SAAS,CAAC;IAChB,YAAY,EAAE,aAAa,CAAC;CAC/B;AAMD,qBAAa,mBAAoB,SAAQ,mBAAoB,YAAW,YAAY;;gBAmCpE,QAAQ,EAAE,YAAY,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,UAAU,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,sBAAsB,EAAE,UAAU,EAAE,6BAA6B;IA+B5L,IAAW,KAAK,IAAI,SAAS,EAAE,CAE9B;IAED,IAAW,gBAAgB,IAAI;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,gBAAgB,CAAC;KAAE,CAElE;IAED,IAAW,WAAW,IAAI,OAAO,CAEhC;IAED,IAAW,WAAW,CAAC,KAAK,EAAE,OAAO,EAEpC;IAED,IAAW,WAAW,IAAI,OAAO,CAEhC;IAED,IAAW,WAAW,CAAC,KAAK,EAAE,OAAO,EAEpC;IAED,IAAW,cAAc,IAAI,OAAO,CAEnC;IAED,IAAW,cAAc,CAAC,KAAK,EAAE,OAAO,EAEvC;IAMM,QAAQ,CAAC,GAAG,EAAE,IAAI,EAAE,QAAQ,CAAC,EAAE,mBAAmB,GAAG,iBAAiB,GAAG,SAAS;IAkIlF,WAAW,CAAC,KAAK,EAAE,SAAS,EAAE;IAmCrC,SAAS,CAAC,iBAAiB,IAAI,IAAI;IAMnC,OAAO,CAAC,4BAA4B;IAMpC,OAAO,CAAC,0BAA0B;IAYlC;;;;;;;;;OASG;IACH,OAAO,CAAC,aAAa;CAaxB"}
@@ -40,6 +40,7 @@ const THREE = __importStar(require("three"));
40
40
  const AbstractRestriction_1 = require("../AbstractRestriction");
41
41
  const viewer_shared_math_1 = require("@shapediver/viewer.shared.math");
42
42
  const viewer_shared_services_1 = require("@shapediver/viewer.shared.services");
43
+ const viewer_shared_types_1 = require("@shapediver/viewer.shared.types");
43
44
  const viewer_1 = require("@shapediver/viewer");
44
45
  const gl_matrix_1 = require("gl-matrix");
45
46
  // #endregion Type aliases (1)
@@ -101,6 +102,9 @@ class GeometryRestriction extends AbstractRestriction_1.AbstractRestriction {
101
102
  }
102
103
  // #endregion Constructors (1)
103
104
  // #region Public Getters And Setters (8)
105
+ get nodes() {
106
+ return __classPrivateFieldGet(this, _GeometryRestriction_nodes, "f");
107
+ }
104
108
  get snapRestrictions() {
105
109
  return __classPrivateFieldGet(this, _GeometryRestriction_snapRestrictions, "f");
106
110
  }
@@ -147,6 +151,25 @@ class GeometryRestriction extends AbstractRestriction_1.AbstractRestriction {
147
151
  // return first intersection
148
152
  if (intersections.length > 0) {
149
153
  const object = intersections[0].object;
154
+ let geometryRestrictionIntersectionData;
155
+ // search the three.js object hierarchy for the converted object
156
+ let tempObject = object;
157
+ while (tempObject.parent) {
158
+ const intersectedNode = __classPrivateFieldGet(this, _GeometryRestriction_nodes, "f").find(node => node.id === tempObject.SDid && node.version === tempObject.SDversion);
159
+ if (intersectedNode) {
160
+ // from this node, we can get the geometry data
161
+ intersectedNode.traverseData(d => {
162
+ if (d instanceof viewer_shared_types_1.GeometryData && d.id === object.parent.SDid && d.version === object.parent.SDversion) {
163
+ geometryRestrictionIntersectionData = {
164
+ node: intersectedNode,
165
+ geometryData: d
166
+ };
167
+ }
168
+ });
169
+ break;
170
+ }
171
+ tempObject = tempObject.parent;
172
+ }
150
173
  const geometry = object.geometry;
151
174
  const positionAttribute = geometry.getAttribute('position');
152
175
  if (object instanceof THREE.Points && intersections[0].index !== undefined) {
@@ -155,12 +178,12 @@ class GeometryRestriction extends AbstractRestriction_1.AbstractRestriction {
155
178
  const vertex = new THREE.Vector3();
156
179
  vertex.fromBufferAttribute(positionAttribute, intersections[0].index);
157
180
  object.localToWorld(vertex);
158
- return this.constructRestrictionResult(gl_matrix_1.vec3.fromValues(vertex.x, vertex.y, vertex.z), intersections[0].distance, intersections[0].pointOnLine);
181
+ return this.constructRestrictionResult(gl_matrix_1.vec3.fromValues(vertex.x, vertex.y, vertex.z), intersections[0].distance, intersections[0].pointOnLine, geometryRestrictionIntersectionData);
159
182
  }
160
183
  const intersectionPoint = intersections[0].point;
161
184
  const intersectionPointVec3 = gl_matrix_1.vec3.fromValues(intersectionPoint.x, intersectionPoint.y, intersectionPoint.z);
162
185
  if (!intersections[0].face)
163
- return this.constructRestrictionResult(intersectionPointVec3, intersections[0].distance, intersections[0].pointOnLine);
186
+ return this.constructRestrictionResult(intersectionPointVec3, intersections[0].distance, intersections[0].pointOnLine, geometryRestrictionIntersectionData);
164
187
  if (__classPrivateFieldGet(this, _GeometryRestriction_snapToVertices, "f") === true || __classPrivateFieldGet(this, _GeometryRestriction_snapToEdges, "f") === true) {
165
188
  const vertexA = new THREE.Vector3();
166
189
  vertexA.fromBufferAttribute(positionAttribute, intersections[0].face.a);
@@ -180,13 +203,13 @@ class GeometryRestriction extends AbstractRestriction_1.AbstractRestriction {
180
203
  const distanceC = this.checkDistance(intersectionPointVec3, vertexCVec3, __classPrivateFieldGet(this, _GeometryRestriction_snapToVerticesRadius, "f"));
181
204
  // part 1 - check if the intersection point is close to a vertex
182
205
  if (distanceA.check && distanceA.distanceSquared < distanceB.distanceSquared && distanceA.distanceSquared < distanceC.distanceSquared) {
183
- return this.constructRestrictionResult(vertexAVec3, intersections[0].distance, intersections[0].pointOnLine);
206
+ return this.constructRestrictionResult(vertexAVec3, intersections[0].distance, intersections[0].pointOnLine, geometryRestrictionIntersectionData);
184
207
  }
185
208
  else if (distanceB.check && distanceB.distanceSquared < distanceA.distanceSquared && distanceB.distanceSquared < distanceC.distanceSquared) {
186
- return this.constructRestrictionResult(vertexBVec3, intersections[0].distance, intersections[0].pointOnLine);
209
+ return this.constructRestrictionResult(vertexBVec3, intersections[0].distance, intersections[0].pointOnLine, geometryRestrictionIntersectionData);
187
210
  }
188
211
  else if (distanceC.check && distanceC.distanceSquared < distanceA.distanceSquared && distanceC.distanceSquared < distanceB.distanceSquared) {
189
- return this.constructRestrictionResult(vertexCVec3, intersections[0].distance, intersections[0].pointOnLine);
212
+ return this.constructRestrictionResult(vertexCVec3, intersections[0].distance, intersections[0].pointOnLine, geometryRestrictionIntersectionData);
190
213
  }
191
214
  }
192
215
  if (__classPrivateFieldGet(this, _GeometryRestriction_snapToEdges, "f") === true) {
@@ -201,19 +224,19 @@ class GeometryRestriction extends AbstractRestriction_1.AbstractRestriction {
201
224
  const distanceCA = this.checkDistance(intersectionPointVec3, closestPointOnEdgeCA, __classPrivateFieldGet(this, _GeometryRestriction_snapToEdgesRadius, "f"));
202
225
  // check if the intersection point is close to an edge
203
226
  if (distanceAB.check && distanceAB.distanceSquared < distanceBC.distanceSquared && distanceAB.distanceSquared < distanceCA.distanceSquared) {
204
- return this.constructRestrictionResult(closestPointOnEdgeAB, intersections[0].distance, intersections[0].pointOnLine);
227
+ return this.constructRestrictionResult(closestPointOnEdgeAB, intersections[0].distance, intersections[0].pointOnLine, geometryRestrictionIntersectionData);
205
228
  }
206
229
  else if (distanceBC.check && distanceBC.distanceSquared < distanceAB.distanceSquared && distanceBC.distanceSquared < distanceCA.distanceSquared) {
207
- return this.constructRestrictionResult(closestPointOnEdgeBC, intersections[0].distance, intersections[0].pointOnLine);
230
+ return this.constructRestrictionResult(closestPointOnEdgeBC, intersections[0].distance, intersections[0].pointOnLine, geometryRestrictionIntersectionData);
208
231
  }
209
232
  else if (distanceCA.check && distanceCA.distanceSquared < distanceAB.distanceSquared && distanceCA.distanceSquared < distanceBC.distanceSquared) {
210
- return this.constructRestrictionResult(closestPointOnEdgeCA, intersections[0].distance, intersections[0].pointOnLine);
233
+ return this.constructRestrictionResult(closestPointOnEdgeCA, intersections[0].distance, intersections[0].pointOnLine, geometryRestrictionIntersectionData);
211
234
  }
212
235
  }
213
236
  }
214
237
  if (__classPrivateFieldGet(this, _GeometryRestriction_snapToFaces, "f") === true) {
215
238
  // part 3 - face intersection
216
- return this.constructRestrictionResult(gl_matrix_1.vec3.fromValues(intersectionPoint.x, intersectionPoint.y, intersectionPoint.z), intersections[0].distance);
239
+ return this.constructRestrictionResult(gl_matrix_1.vec3.fromValues(intersectionPoint.x, intersectionPoint.y, intersectionPoint.z), intersections[0].distance, undefined, geometryRestrictionIntersectionData);
217
240
  }
218
241
  }
219
242
  return;
@@ -256,14 +279,15 @@ class GeometryRestriction extends AbstractRestriction_1.AbstractRestriction {
256
279
  __classPrivateFieldGet(this, _GeometryRestriction_rayCasterParams, "f").Line.threshold = __classPrivateFieldGet(this, _GeometryRestriction_sceneBoundingSphereRadius, "f") * __classPrivateFieldGet(this, _GeometryRestriction_lineIntersectionPercentage, "f");
257
280
  __classPrivateFieldGet(this, _GeometryRestriction_rayCasterParams, "f").Line2.threshold = __classPrivateFieldGet(this, _GeometryRestriction_sceneBoundingSphereRadius, "f") * __classPrivateFieldGet(this, _GeometryRestriction_lineIntersectionPercentage, "f");
258
281
  }
259
- constructRestrictionResult(targetPoint, distanceOriginToClosestIntersectionPoint, closestPointOnRay) {
282
+ constructRestrictionResult(targetPoint, distanceOriginToClosestIntersectionPoint, closestPointOnRay, geometryRestrictionIntersectionData) {
260
283
  const closestPointOnRayVec3 = closestPointOnRay ? gl_matrix_1.vec3.fromValues(closestPointOnRay.x, closestPointOnRay.y, closestPointOnRay.z) : targetPoint;
261
284
  return {
262
285
  closestIntersectionPoint: closestPointOnRay ? gl_matrix_1.vec3.fromValues(closestPointOnRay.x, closestPointOnRay.y, closestPointOnRay.z) : targetPoint,
263
286
  distanceOriginToClosestIntersectionPointSquared: distanceOriginToClosestIntersectionPoint * distanceOriginToClosestIntersectionPoint,
264
287
  targetPoint,
265
288
  distanceClosestPointToTargetPointSquared: closestPointOnRayVec3 !== targetPoint ? gl_matrix_1.vec3.sqrDist(closestPointOnRayVec3, targetPoint) : 0,
266
- restriction: this
289
+ restriction: this,
290
+ restrictionIntersectionData: geometryRestrictionIntersectionData
267
291
  };
268
292
  }
269
293
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"GeometryRestriction.js","sourceRoot":"","sources":["../../../../src/implementation/restrictions/geometry/GeometryRestriction.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"GeometryRestriction.js","sourceRoot":"","sources":["../../../../src/implementation/restrictions/geometry/GeometryRestriction.ts"],"names":[],"mappings":"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"}
@@ -96,6 +96,7 @@ export declare type RestrictionResult = {
96
96
  distanceClosestPointToTargetPointSquared: number;
97
97
  restriction: IRestriction;
98
98
  snapRestriction?: ISnapRestriction;
99
+ restrictionIntersectionData?: unknown;
99
100
  };
100
101
  export declare const isDraggingRestriction: (metaData?: RestrictionMetaData) => metaData is DraggingRestrictionMetaData;
101
102
  export declare const isDrawingRestriction: (metaData?: RestrictionMetaData) => metaData is DrawingRestrictionMetaData;
@@ -1 +1 @@
1
- {"version":3,"file":"IRestriction.d.ts","sourceRoot":"","sources":["../../src/interfaces/IRestriction.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"IRestriction.d.ts","sourceRoot":"","sources":["../../src/interfaces/IRestriction.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"IRestriction.js","sourceRoot":"","sources":["../../src/interfaces/IRestriction.ts"],"names":[],"mappings":";;;AAYA,IAAY,gBAMX;AAND,WAAY,gBAAgB;IACxB,mCAAe,CAAA;IACf,yCAAqB,CAAA;IACrB,mCAAe,CAAA;IACf,iCAAa,CAAA;IACb,iDAA6B,CAAA;AACjC,CAAC,EANW,gBAAgB,GAAhB,wBAAgB,KAAhB,wBAAgB,QAM3B;AAiGM,MAAM,qBAAqB,GAAG,CAAC,QAA8B,EAA2C,EAAE;IAC7G,OAAO,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,MAAK,UAAU,CAAC;AACzC,CAAC,CAAC;AAFW,QAAA,qBAAqB,yBAEhC;AACK,MAAM,oBAAoB,GAAG,CAAC,QAA8B,EAA0C,EAAE;IAC3G,OAAO,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,MAAK,SAAS,CAAC;AACxC,CAAC,CAAC;AAFW,QAAA,oBAAoB,wBAE/B"}
1
+ {"version":3,"file":"IRestriction.js","sourceRoot":"","sources":["../../src/interfaces/IRestriction.ts"],"names":[],"mappings":";;;AAYA,IAAY,gBAMX;AAND,WAAY,gBAAgB;IACxB,mCAAe,CAAA;IACf,yCAAqB,CAAA;IACrB,mCAAe,CAAA;IACf,iCAAa,CAAA;IACb,iDAA6B,CAAA;AACjC,CAAC,EANW,gBAAgB,GAAhB,wBAAgB,KAAhB,wBAAgB,QAM3B;AAkGM,MAAM,qBAAqB,GAAG,CAAC,QAA8B,EAA2C,EAAE;IAC7G,OAAO,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,MAAK,UAAU,CAAC;AACzC,CAAC,CAAC;AAFW,QAAA,qBAAqB,yBAEhC;AACK,MAAM,oBAAoB,GAAG,CAAC,QAA8B,EAA0C,EAAE;IAC3G,OAAO,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,MAAK,SAAS,CAAC;AACxC,CAAC,CAAC;AAFW,QAAA,oBAAoB,wBAE/B"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@shapediver/viewer.rendering-engine.intersection-restriction-engine",
3
- "version": "3.8.10",
3
+ "version": "3.8.11",
4
4
  "description": "",
5
5
  "keywords": [],
6
6
  "author": "Michael Oppitz <michael@shapediver.com>",
@@ -39,16 +39,16 @@
39
39
  "testEnvironment": "node"
40
40
  },
41
41
  "dependencies": {
42
- "@shapediver/viewer": "3.8.10",
43
- "@shapediver/viewer.rendering-engine.intersection-engine": "3.8.10",
44
- "@shapediver/viewer.rendering-engine.rendering-engine-threejs": "3.8.10",
45
- "@shapediver/viewer.shared.math": "3.8.10",
46
- "@shapediver/viewer.shared.node-tree": "3.8.10",
47
- "@shapediver/viewer.shared.services": "3.8.10",
48
- "@shapediver/viewer.shared.types": "3.8.10",
42
+ "@shapediver/viewer": "3.8.11",
43
+ "@shapediver/viewer.rendering-engine.intersection-engine": "3.8.11",
44
+ "@shapediver/viewer.rendering-engine.rendering-engine-threejs": "3.8.11",
45
+ "@shapediver/viewer.shared.math": "3.8.11",
46
+ "@shapediver/viewer.shared.node-tree": "3.8.11",
47
+ "@shapediver/viewer.shared.services": "3.8.11",
48
+ "@shapediver/viewer.shared.types": "3.8.11",
49
49
  "@types/three": "0.162.0",
50
50
  "gl-matrix": "3.3.0",
51
51
  "three": "0.162.0"
52
52
  },
53
- "gitHead": "f230ba8137ecc5a3e4d40972c3a1f9db3148298d"
53
+ "gitHead": "98c68be68d9a8d2dde11d191f0be886c0f8c945e"
54
54
  }