@shapediver/viewer.rendering-engine.intersection-restriction-engine 3.9.0 → 3.9.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.
Files changed (107) hide show
  1. package/README.md +1 -1
  2. package/dist/api/implementation/AbstractRestrictionApi.d.ts +2 -2
  3. package/dist/api/implementation/AbstractRestrictionApi.d.ts.map +1 -1
  4. package/dist/api/implementation/AbstractRestrictionApi.js.map +1 -1
  5. package/dist/api/implementation/AbstractSnapRestrictionApi.d.ts +2 -2
  6. package/dist/api/implementation/AbstractSnapRestrictionApi.d.ts.map +1 -1
  7. package/dist/api/implementation/AbstractSnapRestrictionApi.js.map +1 -1
  8. package/dist/api/implementation/camera_plane/CameraPlaneRestrictionApi.d.ts +2 -2
  9. package/dist/api/implementation/camera_plane/CameraPlaneRestrictionApi.d.ts.map +1 -1
  10. package/dist/api/implementation/camera_plane/CameraPlaneRestrictionApi.js.map +1 -1
  11. package/dist/api/implementation/geometry/GeometryRestrictionApi.d.ts +3 -3
  12. package/dist/api/implementation/geometry/GeometryRestrictionApi.d.ts.map +1 -1
  13. package/dist/api/implementation/geometry/GeometryRestrictionApi.js.map +1 -1
  14. package/dist/api/implementation/line/LineRestrictionApi.d.ts +3 -3
  15. package/dist/api/implementation/line/LineRestrictionApi.d.ts.map +1 -1
  16. package/dist/api/implementation/line/LineRestrictionApi.js.map +1 -1
  17. package/dist/api/implementation/plane/PlaneRestrictionApi.d.ts +6 -6
  18. package/dist/api/implementation/plane/PlaneRestrictionApi.d.ts.map +1 -1
  19. package/dist/api/implementation/plane/PlaneRestrictionApi.js.map +1 -1
  20. package/dist/api/implementation/plane/snap/AngularRestrictionApi.d.ts +2 -2
  21. package/dist/api/implementation/plane/snap/AngularRestrictionApi.d.ts.map +1 -1
  22. package/dist/api/implementation/plane/snap/AngularRestrictionApi.js.map +1 -1
  23. package/dist/api/implementation/plane/snap/AxisRestrictionApi.d.ts +2 -2
  24. package/dist/api/implementation/plane/snap/AxisRestrictionApi.d.ts.map +1 -1
  25. package/dist/api/implementation/plane/snap/AxisRestrictionApi.js.map +1 -1
  26. package/dist/api/implementation/plane/snap/GridRestrictionApi.d.ts +2 -2
  27. package/dist/api/implementation/plane/snap/GridRestrictionApi.d.ts.map +1 -1
  28. package/dist/api/implementation/plane/snap/GridRestrictionApi.js.map +1 -1
  29. package/dist/api/implementation/point/PointRestrictionApi.d.ts +3 -3
  30. package/dist/api/implementation/point/PointRestrictionApi.d.ts.map +1 -1
  31. package/dist/api/implementation/point/PointRestrictionApi.js.map +1 -1
  32. package/dist/api/interfaces/IRestrictionApi.d.ts.map +1 -1
  33. package/dist/api/interfaces/ISnapRestrictionApi.d.ts +1 -1
  34. package/dist/api/interfaces/ISnapRestrictionApi.d.ts.map +1 -1
  35. package/dist/implementation/EventManager.d.ts +3 -3
  36. package/dist/implementation/EventManager.d.ts.map +1 -1
  37. package/dist/implementation/EventManager.js.map +1 -1
  38. package/dist/implementation/GeometryMathManager.d.ts +4 -4
  39. package/dist/implementation/GeometryMathManager.d.ts.map +1 -1
  40. package/dist/implementation/GeometryMathManager.js +25 -13
  41. package/dist/implementation/GeometryMathManager.js.map +1 -1
  42. package/dist/implementation/RestrictionManager.d.ts +7 -6
  43. package/dist/implementation/RestrictionManager.d.ts.map +1 -1
  44. package/dist/implementation/RestrictionManager.js +65 -29
  45. package/dist/implementation/RestrictionManager.js.map +1 -1
  46. package/dist/implementation/restrictions/AbstractRestriction.d.ts +7 -7
  47. package/dist/implementation/restrictions/AbstractRestriction.d.ts.map +1 -1
  48. package/dist/implementation/restrictions/AbstractRestriction.js +8 -5
  49. package/dist/implementation/restrictions/AbstractRestriction.js.map +1 -1
  50. package/dist/implementation/restrictions/AbstractSnapRestriction.d.ts +7 -7
  51. package/dist/implementation/restrictions/AbstractSnapRestriction.d.ts.map +1 -1
  52. package/dist/implementation/restrictions/AbstractSnapRestriction.js +4 -4
  53. package/dist/implementation/restrictions/AbstractSnapRestriction.js.map +1 -1
  54. package/dist/implementation/restrictions/RestrictionsHelper.d.ts +2 -2
  55. package/dist/implementation/restrictions/RestrictionsHelper.d.ts.map +1 -1
  56. package/dist/implementation/restrictions/RestrictionsHelper.js +7 -3
  57. package/dist/implementation/restrictions/RestrictionsHelper.js.map +1 -1
  58. package/dist/implementation/restrictions/camera_plane/CameraPlaneRestriction.d.ts +7 -7
  59. package/dist/implementation/restrictions/camera_plane/CameraPlaneRestriction.d.ts.map +1 -1
  60. package/dist/implementation/restrictions/camera_plane/CameraPlaneRestriction.js +2 -2
  61. package/dist/implementation/restrictions/camera_plane/CameraPlaneRestriction.js.map +1 -1
  62. package/dist/implementation/restrictions/geometry/GeometryRestriction.d.ts +8 -8
  63. package/dist/implementation/restrictions/geometry/GeometryRestriction.d.ts.map +1 -1
  64. package/dist/implementation/restrictions/geometry/GeometryRestriction.js +67 -30
  65. package/dist/implementation/restrictions/geometry/GeometryRestriction.js.map +1 -1
  66. package/dist/implementation/restrictions/line/LineRestriction.d.ts +20 -9
  67. package/dist/implementation/restrictions/line/LineRestriction.d.ts.map +1 -1
  68. package/dist/implementation/restrictions/line/LineRestriction.js +66 -9
  69. package/dist/implementation/restrictions/line/LineRestriction.js.map +1 -1
  70. package/dist/implementation/restrictions/plane/PlaneRestriction.d.ts +11 -11
  71. package/dist/implementation/restrictions/plane/PlaneRestriction.d.ts.map +1 -1
  72. package/dist/implementation/restrictions/plane/PlaneRestriction.js +34 -16
  73. package/dist/implementation/restrictions/plane/PlaneRestriction.js.map +1 -1
  74. package/dist/implementation/restrictions/plane/snap/AngularRestriction.d.ts +9 -9
  75. package/dist/implementation/restrictions/plane/snap/AngularRestriction.d.ts.map +1 -1
  76. package/dist/implementation/restrictions/plane/snap/AngularRestriction.js +87 -35
  77. package/dist/implementation/restrictions/plane/snap/AngularRestriction.js.map +1 -1
  78. package/dist/implementation/restrictions/plane/snap/AxisRestriction.d.ts +8 -8
  79. package/dist/implementation/restrictions/plane/snap/AxisRestriction.d.ts.map +1 -1
  80. package/dist/implementation/restrictions/plane/snap/AxisRestriction.js +79 -24
  81. package/dist/implementation/restrictions/plane/snap/AxisRestriction.js.map +1 -1
  82. package/dist/implementation/restrictions/plane/snap/GridRestriction.d.ts +8 -8
  83. package/dist/implementation/restrictions/plane/snap/GridRestriction.d.ts.map +1 -1
  84. package/dist/implementation/restrictions/plane/snap/GridRestriction.js +118 -23
  85. package/dist/implementation/restrictions/plane/snap/GridRestriction.js.map +1 -1
  86. package/dist/implementation/restrictions/point/PointRestriction.d.ts +8 -8
  87. package/dist/implementation/restrictions/point/PointRestriction.d.ts.map +1 -1
  88. package/dist/implementation/restrictions/point/PointRestriction.js +5 -4
  89. package/dist/implementation/restrictions/point/PointRestriction.js.map +1 -1
  90. package/dist/index.d.ts +29 -29
  91. package/dist/index.d.ts.map +1 -1
  92. package/dist/index.js +18 -18
  93. package/dist/index.js.map +1 -1
  94. package/dist/interfaces/IDragAnchor.d.ts +1 -1
  95. package/dist/interfaces/IDragAnchor.d.ts.map +1 -1
  96. package/dist/interfaces/IRestriction.d.ts +14 -13
  97. package/dist/interfaces/IRestriction.d.ts.map +1 -1
  98. package/dist/interfaces/IRestriction.js +2 -2
  99. package/dist/interfaces/IRestriction.js.map +1 -1
  100. package/dist/interfaces/IRestrictionManager.d.ts +2 -2
  101. package/dist/interfaces/IRestrictionManager.d.ts.map +1 -1
  102. package/dist/interfaces/ISnapRestriction.d.ts +3 -3
  103. package/dist/interfaces/ISnapRestriction.d.ts.map +1 -1
  104. package/dist/interfaces/ISnapRestriction.js.map +1 -1
  105. package/dist/interfaces/IVisualizationSettings.d.ts +1 -1
  106. package/dist/interfaces/IVisualizationSettings.d.ts.map +1 -1
  107. package/package.json +52 -52
@@ -36,17 +36,17 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
36
36
  var _AxisRestriction_activationKeyPlane, _AxisRestriction_activationKeyX, _AxisRestriction_activationKeyY, _AxisRestriction_activationKeyZ, _AxisRestriction_planeRestriction, _AxisRestriction_active, _AxisRestriction_axesHelper, _AxisRestriction_geometryMathManager, _AxisRestriction_priority;
37
37
  Object.defineProperty(exports, "__esModule", { value: true });
38
38
  exports.AxisRestriction = void 0;
39
- const THREE = __importStar(require("three"));
40
- const AbstractSnapRestriction_1 = require("../../AbstractSnapRestriction");
41
39
  const viewer_1 = require("@shapediver/viewer");
42
40
  const gl_matrix_1 = require("gl-matrix");
41
+ const THREE = __importStar(require("three"));
42
+ const AbstractSnapRestriction_1 = require("../../AbstractSnapRestriction");
43
43
  // #endregion Type aliases (1)
44
44
  // #region Classes (1)
45
45
  class AxisRestriction extends AbstractSnapRestriction_1.AbstractSnapRestriction {
46
46
  // #endregion Properties (9)
47
47
  // #region Constructors (1)
48
48
  constructor(viewport, geometryMathManager, parentNode, planeRestriction, properties) {
49
- super(viewport, parentNode, 'axis');
49
+ super(viewport, parentNode, "axis");
50
50
  // #region Properties (9)
51
51
  _AxisRestriction_activationKeyPlane.set(this, void 0);
52
52
  _AxisRestriction_activationKeyX.set(this, void 0);
@@ -59,10 +59,10 @@ class AxisRestriction extends AbstractSnapRestriction_1.AbstractSnapRestriction
59
59
  _AxisRestriction_priority.set(this, 0);
60
60
  __classPrivateFieldSet(this, _AxisRestriction_planeRestriction, planeRestriction, "f");
61
61
  __classPrivateFieldSet(this, _AxisRestriction_geometryMathManager, geometryMathManager, "f");
62
- __classPrivateFieldSet(this, _AxisRestriction_activationKeyX, (properties === null || properties === void 0 ? void 0 : properties.activationKeyX) || 'x', "f");
63
- __classPrivateFieldSet(this, _AxisRestriction_activationKeyY, (properties === null || properties === void 0 ? void 0 : properties.activationKeyY) || 'y', "f");
64
- __classPrivateFieldSet(this, _AxisRestriction_activationKeyZ, (properties === null || properties === void 0 ? void 0 : properties.activationKeyZ) || 'z', "f");
65
- __classPrivateFieldSet(this, _AxisRestriction_activationKeyPlane, (properties === null || properties === void 0 ? void 0 : properties.activationKeyPlane) || 'p', "f");
62
+ __classPrivateFieldSet(this, _AxisRestriction_activationKeyX, (properties === null || properties === void 0 ? void 0 : properties.activationKeyX) || "x", "f");
63
+ __classPrivateFieldSet(this, _AxisRestriction_activationKeyY, (properties === null || properties === void 0 ? void 0 : properties.activationKeyY) || "y", "f");
64
+ __classPrivateFieldSet(this, _AxisRestriction_activationKeyZ, (properties === null || properties === void 0 ? void 0 : properties.activationKeyZ) || "z", "f");
65
+ __classPrivateFieldSet(this, _AxisRestriction_activationKeyPlane, (properties === null || properties === void 0 ? void 0 : properties.activationKeyPlane) || "p", "f");
66
66
  __classPrivateFieldSet(this, _AxisRestriction_priority, (properties === null || properties === void 0 ? void 0 : properties.priority) || 1, "f");
67
67
  // create the axes visualization
68
68
  this.createAxesVisualization();
@@ -94,34 +94,75 @@ class AxisRestriction extends AbstractSnapRestriction_1.AbstractSnapRestriction
94
94
  return;
95
95
  if (!metaData || !metaData.startPoint)
96
96
  return;
97
- const xPressed = (((_a = metaData === null || metaData === void 0 ? void 0 : metaData.pressedKeys) === null || _a === void 0 ? void 0 : _a.length) === 1 && (metaData === null || metaData === void 0 ? void 0 : metaData.pressedKeys[0]) === __classPrivateFieldGet(this, _AxisRestriction_activationKeyX, "f"));
98
- const yPressed = (((_b = metaData === null || metaData === void 0 ? void 0 : metaData.pressedKeys) === null || _b === void 0 ? void 0 : _b.length) === 1 && (metaData === null || metaData === void 0 ? void 0 : metaData.pressedKeys[0]) === __classPrivateFieldGet(this, _AxisRestriction_activationKeyY, "f"));
99
- const zPressed = (((_c = metaData === null || metaData === void 0 ? void 0 : metaData.pressedKeys) === null || _c === void 0 ? void 0 : _c.length) === 1 && (metaData === null || metaData === void 0 ? void 0 : metaData.pressedKeys[0]) === __classPrivateFieldGet(this, _AxisRestriction_activationKeyZ, "f"));
100
- const pPressed = (((_d = metaData === null || metaData === void 0 ? void 0 : metaData.pressedKeys) === null || _d === void 0 ? void 0 : _d.length) === 1 && (metaData === null || metaData === void 0 ? void 0 : metaData.pressedKeys[0]) === __classPrivateFieldGet(this, _AxisRestriction_activationKeyPlane, "f"));
97
+ const xPressed = ((_a = metaData === null || metaData === void 0 ? void 0 : metaData.pressedKeys) === null || _a === void 0 ? void 0 : _a.length) === 1 &&
98
+ (metaData === null || metaData === void 0 ? void 0 : metaData.pressedKeys[0]) === __classPrivateFieldGet(this, _AxisRestriction_activationKeyX, "f");
99
+ const yPressed = ((_b = metaData === null || metaData === void 0 ? void 0 : metaData.pressedKeys) === null || _b === void 0 ? void 0 : _b.length) === 1 &&
100
+ (metaData === null || metaData === void 0 ? void 0 : metaData.pressedKeys[0]) === __classPrivateFieldGet(this, _AxisRestriction_activationKeyY, "f");
101
+ const zPressed = ((_c = metaData === null || metaData === void 0 ? void 0 : metaData.pressedKeys) === null || _c === void 0 ? void 0 : _c.length) === 1 &&
102
+ (metaData === null || metaData === void 0 ? void 0 : metaData.pressedKeys[0]) === __classPrivateFieldGet(this, _AxisRestriction_activationKeyZ, "f");
103
+ const pPressed = ((_d = metaData === null || metaData === void 0 ? void 0 : metaData.pressedKeys) === null || _d === void 0 ? void 0 : _d.length) === 1 &&
104
+ (metaData === null || metaData === void 0 ? void 0 : metaData.pressedKeys[0]) === __classPrivateFieldGet(this, _AxisRestriction_activationKeyPlane, "f");
101
105
  // we move the axes helper to the reference point
102
106
  if (__classPrivateFieldGet(this, _AxisRestriction_axesHelper, "f") && (xPressed || yPressed || zPressed)) {
103
107
  __classPrivateFieldGet(this, _AxisRestriction_axesHelper, "f").position.copy(new THREE.Vector3(metaData.startPoint[0], metaData.startPoint[1], metaData.startPoint[2]));
104
108
  __classPrivateFieldGet(this, _AxisRestriction_axesHelper, "f").visible = false;
105
109
  }
106
110
  if (xPressed) {
107
- const snappedPoint = __classPrivateFieldGet(this, _AxisRestriction_geometryMathManager, "f").closestPoint({ origin: metaData.startPoint, direction: __classPrivateFieldGet(this, _AxisRestriction_planeRestriction, "f").vectorU }, point);
111
+ const snappedPoint = __classPrivateFieldGet(this, _AxisRestriction_geometryMathManager, "f").closestPoint({
112
+ origin: metaData.startPoint,
113
+ direction: __classPrivateFieldGet(this, _AxisRestriction_planeRestriction, "f").vectorU,
114
+ }, point);
108
115
  const closestPointOnRay = __classPrivateFieldGet(this, _AxisRestriction_geometryMathManager, "f").closestPoint(ray, snappedPoint);
109
- return { targetPoint: snappedPoint, closestIntersectionPoint: closestPointOnRay, distanceOriginToClosestIntersectionPointSquared: gl_matrix_1.vec3.sqrDist(ray.origin, closestPointOnRay), distanceClosestPointToTargetPointSquared: gl_matrix_1.vec3.sqrDist(snappedPoint, closestPointOnRay), restriction: __classPrivateFieldGet(this, _AxisRestriction_planeRestriction, "f"), snapRestriction: this };
116
+ return {
117
+ targetPoint: snappedPoint,
118
+ closestIntersectionPoint: closestPointOnRay,
119
+ distanceOriginToClosestIntersectionPointSquared: gl_matrix_1.vec3.sqrDist(ray.origin, closestPointOnRay),
120
+ distanceClosestPointToTargetPointSquared: gl_matrix_1.vec3.sqrDist(snappedPoint, closestPointOnRay),
121
+ restriction: __classPrivateFieldGet(this, _AxisRestriction_planeRestriction, "f"),
122
+ snapRestriction: this,
123
+ };
110
124
  }
111
125
  else if (yPressed) {
112
- const snappedPoint = __classPrivateFieldGet(this, _AxisRestriction_geometryMathManager, "f").closestPoint({ origin: metaData.startPoint, direction: __classPrivateFieldGet(this, _AxisRestriction_planeRestriction, "f").vectorV }, point);
126
+ const snappedPoint = __classPrivateFieldGet(this, _AxisRestriction_geometryMathManager, "f").closestPoint({
127
+ origin: metaData.startPoint,
128
+ direction: __classPrivateFieldGet(this, _AxisRestriction_planeRestriction, "f").vectorV,
129
+ }, point);
113
130
  const closestPointOnRay = __classPrivateFieldGet(this, _AxisRestriction_geometryMathManager, "f").closestPoint(ray, snappedPoint);
114
- return { targetPoint: snappedPoint, closestIntersectionPoint: closestPointOnRay, distanceOriginToClosestIntersectionPointSquared: gl_matrix_1.vec3.sqrDist(ray.origin, closestPointOnRay), distanceClosestPointToTargetPointSquared: gl_matrix_1.vec3.sqrDist(snappedPoint, closestPointOnRay), restriction: __classPrivateFieldGet(this, _AxisRestriction_planeRestriction, "f"), snapRestriction: this };
131
+ return {
132
+ targetPoint: snappedPoint,
133
+ closestIntersectionPoint: closestPointOnRay,
134
+ distanceOriginToClosestIntersectionPointSquared: gl_matrix_1.vec3.sqrDist(ray.origin, closestPointOnRay),
135
+ distanceClosestPointToTargetPointSquared: gl_matrix_1.vec3.sqrDist(snappedPoint, closestPointOnRay),
136
+ restriction: __classPrivateFieldGet(this, _AxisRestriction_planeRestriction, "f"),
137
+ snapRestriction: this,
138
+ };
115
139
  }
116
140
  else if (zPressed) {
117
- const snappedPoint = __classPrivateFieldGet(this, _AxisRestriction_geometryMathManager, "f").closestPointsRayRay({ origin: metaData.startPoint, direction: __classPrivateFieldGet(this, _AxisRestriction_planeRestriction, "f").normal }, ray).closestPointOnRay1;
141
+ const snappedPoint = __classPrivateFieldGet(this, _AxisRestriction_geometryMathManager, "f").closestPointsRayRay({
142
+ origin: metaData.startPoint,
143
+ direction: __classPrivateFieldGet(this, _AxisRestriction_planeRestriction, "f").normal,
144
+ }, ray).closestPointOnRay1;
118
145
  const closestPointOnRay = __classPrivateFieldGet(this, _AxisRestriction_geometryMathManager, "f").closestPoint(ray, snappedPoint);
119
- return { targetPoint: snappedPoint, closestIntersectionPoint: closestPointOnRay, distanceOriginToClosestIntersectionPointSquared: gl_matrix_1.vec3.sqrDist(ray.origin, closestPointOnRay), distanceClosestPointToTargetPointSquared: gl_matrix_1.vec3.sqrDist(snappedPoint, closestPointOnRay), restriction: __classPrivateFieldGet(this, _AxisRestriction_planeRestriction, "f"), snapRestriction: this };
146
+ return {
147
+ targetPoint: snappedPoint,
148
+ closestIntersectionPoint: closestPointOnRay,
149
+ distanceOriginToClosestIntersectionPointSquared: gl_matrix_1.vec3.sqrDist(ray.origin, closestPointOnRay),
150
+ distanceClosestPointToTargetPointSquared: gl_matrix_1.vec3.sqrDist(snappedPoint, closestPointOnRay),
151
+ restriction: __classPrivateFieldGet(this, _AxisRestriction_planeRestriction, "f"),
152
+ snapRestriction: this,
153
+ };
120
154
  }
121
155
  else if (pPressed) {
122
156
  const snappedPoint = __classPrivateFieldGet(this, _AxisRestriction_geometryMathManager, "f").closestPointOnPlane(__classPrivateFieldGet(this, _AxisRestriction_planeRestriction, "f").origin, __classPrivateFieldGet(this, _AxisRestriction_planeRestriction, "f").normal, point);
123
157
  const closestPointOnRay = __classPrivateFieldGet(this, _AxisRestriction_geometryMathManager, "f").closestPoint(ray, snappedPoint);
124
- return { targetPoint: snappedPoint, closestIntersectionPoint: closestPointOnRay, distanceOriginToClosestIntersectionPointSquared: gl_matrix_1.vec3.sqrDist(ray.origin, closestPointOnRay), distanceClosestPointToTargetPointSquared: gl_matrix_1.vec3.sqrDist(snappedPoint, closestPointOnRay), restriction: __classPrivateFieldGet(this, _AxisRestriction_planeRestriction, "f"), snapRestriction: this };
158
+ return {
159
+ targetPoint: snappedPoint,
160
+ closestIntersectionPoint: closestPointOnRay,
161
+ distanceOriginToClosestIntersectionPointSquared: gl_matrix_1.vec3.sqrDist(ray.origin, closestPointOnRay),
162
+ distanceClosestPointToTargetPointSquared: gl_matrix_1.vec3.sqrDist(snappedPoint, closestPointOnRay),
163
+ restriction: __classPrivateFieldGet(this, _AxisRestriction_planeRestriction, "f"),
164
+ snapRestriction: this,
165
+ };
125
166
  }
126
167
  }
127
168
  updatePlaneDefinition() {
@@ -154,14 +195,28 @@ class AxisRestriction extends AbstractSnapRestriction_1.AbstractSnapRestriction
154
195
  __classPrivateFieldGet(this, _AxisRestriction_axesHelper, "f").position.copy(new THREE.Vector3(__classPrivateFieldGet(this, _AxisRestriction_planeRestriction, "f").origin[0], __classPrivateFieldGet(this, _AxisRestriction_planeRestriction, "f").origin[1], __classPrivateFieldGet(this, _AxisRestriction_planeRestriction, "f").origin[2]));
155
196
  __classPrivateFieldGet(this, _AxisRestriction_axesHelper, "f").visible = false;
156
197
  __classPrivateFieldGet(this, _AxisRestriction_axesHelper, "f").renderOrder = 100;
157
- __classPrivateFieldGet(this, _AxisRestriction_axesHelper, "f").material.depthTest = false;
158
- __classPrivateFieldGet(this, _AxisRestriction_axesHelper, "f").material.transparent = true;
198
+ __classPrivateFieldGet(this, _AxisRestriction_axesHelper, "f").material.depthTest =
199
+ false;
200
+ __classPrivateFieldGet(this, _AxisRestriction_axesHelper, "f").material.transparent =
201
+ true;
159
202
  // three.js uses a right-handed coordinate system, so we need to rotate the axes helper
160
203
  const rotationMatrix = new THREE.Matrix4().fromArray([
161
- __classPrivateFieldGet(this, _AxisRestriction_planeRestriction, "f").vectorU[0], __classPrivateFieldGet(this, _AxisRestriction_planeRestriction, "f").vectorU[1], __classPrivateFieldGet(this, _AxisRestriction_planeRestriction, "f").vectorU[2], 0,
162
- __classPrivateFieldGet(this, _AxisRestriction_planeRestriction, "f").vectorV[0], __classPrivateFieldGet(this, _AxisRestriction_planeRestriction, "f").vectorV[1], __classPrivateFieldGet(this, _AxisRestriction_planeRestriction, "f").vectorV[2], 0,
163
- __classPrivateFieldGet(this, _AxisRestriction_planeRestriction, "f").normal[0], __classPrivateFieldGet(this, _AxisRestriction_planeRestriction, "f").normal[1], __classPrivateFieldGet(this, _AxisRestriction_planeRestriction, "f").normal[2], 0,
164
- 0, 0, 0, 1
204
+ __classPrivateFieldGet(this, _AxisRestriction_planeRestriction, "f").vectorU[0],
205
+ __classPrivateFieldGet(this, _AxisRestriction_planeRestriction, "f").vectorU[1],
206
+ __classPrivateFieldGet(this, _AxisRestriction_planeRestriction, "f").vectorU[2],
207
+ 0,
208
+ __classPrivateFieldGet(this, _AxisRestriction_planeRestriction, "f").vectorV[0],
209
+ __classPrivateFieldGet(this, _AxisRestriction_planeRestriction, "f").vectorV[1],
210
+ __classPrivateFieldGet(this, _AxisRestriction_planeRestriction, "f").vectorV[2],
211
+ 0,
212
+ __classPrivateFieldGet(this, _AxisRestriction_planeRestriction, "f").normal[0],
213
+ __classPrivateFieldGet(this, _AxisRestriction_planeRestriction, "f").normal[1],
214
+ __classPrivateFieldGet(this, _AxisRestriction_planeRestriction, "f").normal[2],
215
+ 0,
216
+ 0,
217
+ 0,
218
+ 0,
219
+ 1,
165
220
  ]);
166
221
  __classPrivateFieldGet(this, _AxisRestriction_axesHelper, "f").rotation.setFromRotationMatrix(rotationMatrix);
167
222
  this._object3D.add(__classPrivateFieldGet(this, _AxisRestriction_axesHelper, "f"));
@@ -1 +1 @@
1
- {"version":3,"file":"AxisRestriction.js","sourceRoot":"","sources":["../../../../../src/implementation/restrictions/plane/snap/AxisRestriction.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AxisRestriction.js","sourceRoot":"","sources":["../../../../../src/implementation/restrictions/plane/snap/AxisRestriction.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,11 @@
1
- import { AbstractSnapRestriction } from '../../AbstractSnapRestriction';
2
- import { ITreeNode, IViewportApi } from '@shapediver/viewer';
3
- import { GeometryMathManager } from '../../../GeometryMathManager';
4
- import { IRay } from '@shapediver/viewer.shared.types';
5
- import { RestrictionMetaData, RestrictionResult } from '../../../../interfaces/IRestriction';
6
- import { ISnapRestriction, SnapRestrictionProperties } from '../../../../interfaces/ISnapRestriction';
7
- import { PlaneRestriction } from '../PlaneRestriction';
8
- import { vec3 } from 'gl-matrix';
1
+ import { ITreeNode, IViewportApi } from "@shapediver/viewer";
2
+ import { IRay } from "@shapediver/viewer.shared.types";
3
+ import { vec3 } from "gl-matrix";
4
+ import { RestrictionMetaData, RestrictionResult } from "../../../../interfaces/IRestriction";
5
+ import { ISnapRestriction, SnapRestrictionProperties } from "../../../../interfaces/ISnapRestriction";
6
+ import { GeometryMathManager } from "../../../GeometryMathManager";
7
+ import { AbstractSnapRestriction } from "../../AbstractSnapRestriction";
8
+ import { PlaneRestriction } from "../PlaneRestriction";
9
9
  /**
10
10
  * Properties for the grid restriction
11
11
  */
@@ -1 +1 @@
1
- {"version":3,"file":"GridRestriction.d.ts","sourceRoot":"","sources":["../../../../../src/implementation/restrictions/plane/snap/GridRestriction.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AACxE,OAAO,EAEH,SAAS,EACT,YAAY,EAEf,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,IAAI,EAAE,MAAM,iCAAiC,CAAC;AACvD,OAAO,EACH,mBAAmB,EACnB,iBAAiB,EACpB,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,yBAAyB,EAAE,MAAM,yCAAyC,CAAC;AACtG,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAIjC;;GAEG;AACH,oBAAY,yBAAyB,GAAG;IACpC;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC9B,GAAG,yBAAyB,CAAC;AAM9B,qBAAa,eAAgB,SAAQ,uBAAwB,YAAW,gBAAgB;;gBAkBxE,QAAQ,EAAE,YAAY,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,UAAU,EAAE,SAAS,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,UAAU,CAAC,EAAE,yBAAyB;IAuB/K,IAAW,MAAM,IAAI,OAAO,CAE3B;IAED,IAAW,MAAM,CAAC,KAAK,EAAE,OAAO,EAI/B;IAED,IAAW,eAAe,IAAI,OAAO,CAEpC;IAED,IAAW,QAAQ,IAAI,MAAM,CAE5B;IAED,IAAW,QAAQ,CAAC,KAAK,EAAE,MAAM,EAMhC;IAED,IAAW,gBAAgB,IAAI,OAAO,CAErC;IAED,IAAW,QAAQ,IAAI,MAAM,CAE5B;IAED,IAAW,QAAQ,CAAC,KAAK,EAAE,MAAM,EAEhC;IAOM,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,mBAAmB,GAAG,iBAAiB,GAAG,SAAS;IA+C5G,qBAAqB,IAAI,IAAI;IASpC,SAAS,CAAC,iBAAiB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAYnD,OAAO,CAAC,uBAAuB;IAiD/B,OAAO,CAAC,oBAAoB;CAQ/B"}
1
+ {"version":3,"file":"GridRestriction.d.ts","sourceRoot":"","sources":["../../../../../src/implementation/restrictions/plane/snap/GridRestriction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAM,SAAS,EAAE,YAAY,EAAY,MAAM,oBAAoB,CAAC;AAM3E,OAAO,EAAC,IAAI,EAAc,MAAM,iCAAiC,CAAC;AAClE,OAAO,EAAC,IAAI,EAAC,MAAM,WAAW,CAAC;AAE/B,OAAO,EACN,mBAAmB,EACnB,iBAAiB,EACjB,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EACN,gBAAgB,EAChB,yBAAyB,EACzB,MAAM,yCAAyC,CAAC;AACjD,OAAO,EAAC,mBAAmB,EAAC,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAC,uBAAuB,EAAC,MAAM,+BAA+B,CAAC;AACtE,OAAO,EAAC,gBAAgB,EAAC,MAAM,qBAAqB,CAAC;AAIrD;;GAEG;AACH,oBAAY,yBAAyB,GAAG;IACvC;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC3B,GAAG,yBAAyB,CAAC;AAM9B,qBAAa,eACZ,SAAQ,uBACR,YAAW,gBAAgB;;gBAsB1B,QAAQ,EAAE,YAAY,EACtB,mBAAmB,EAAE,mBAAmB,EACxC,UAAU,EAAE,SAAS,EACrB,gBAAgB,EAAE,gBAAgB,EAClC,UAAU,CAAC,EAAE,yBAAyB;IAsFvC,IAAW,MAAM,IAAI,OAAO,CAE3B;IAED,IAAW,MAAM,CAAC,KAAK,EAAE,OAAO,EAI/B;IAED,IAAW,eAAe,IAAI,OAAO,CAEpC;IAED,IAAW,QAAQ,IAAI,MAAM,CAE5B;IAED,IAAW,QAAQ,CAAC,KAAK,EAAE,MAAM,EAMhC;IAED,IAAW,gBAAgB,IAAI,OAAO,CAErC;IAED,IAAW,QAAQ,IAAI,MAAM,CAE5B;IAED,IAAW,QAAQ,CAAC,KAAK,EAAE,MAAM,EAEhC;IAOM,IAAI,CACV,GAAG,EAAE,IAAI,EACT,KAAK,EAAE,IAAI,EACX,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,mBAAmB,GAC3B,iBAAiB,GAAG,SAAS;IAqFzB,qBAAqB,IAAI,IAAI;IASpC,SAAS,CAAC,iBAAiB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAYnD,OAAO,CAAC,uBAAuB;IAyF/B,OAAO,CAAC,oBAAoB;CAiB5B"}
@@ -33,13 +33,14 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
33
33
  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");
34
34
  return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
35
35
  };
36
- var _GridRestriction_activationKey, _GridRestriction_planeRestriction, _GridRestriction_active, _GridRestriction_gridHelper, _GridRestriction_gridSize, _GridRestriction_gridUnit, _GridRestriction_gridUnitEditable, _GridRestriction_offsetFromUnit, _GridRestriction_priority;
36
+ var _GridRestriction_activationKey, _GridRestriction_eventEngine, _GridRestriction_planeRestriction, _GridRestriction_active, _GridRestriction_gridHelper, _GridRestriction_gridSize, _GridRestriction_gridUnit, _GridRestriction_gridUnitEditable, _GridRestriction_offsetFromUnit, _GridRestriction_toggleInversion, _GridRestriction_priority;
37
37
  Object.defineProperty(exports, "__esModule", { value: true });
38
38
  exports.GridRestriction = void 0;
39
- const THREE = __importStar(require("three"));
40
- const AbstractSnapRestriction_1 = require("../../AbstractSnapRestriction");
41
39
  const viewer_1 = require("@shapediver/viewer");
40
+ const viewer_shared_services_1 = require("@shapediver/viewer.shared.services");
42
41
  const gl_matrix_1 = require("gl-matrix");
42
+ const THREE = __importStar(require("three"));
43
+ const AbstractSnapRestriction_1 = require("../../AbstractSnapRestriction");
43
44
  // #endregion Type aliases (1)
44
45
  // #region Classes (1)
45
46
  class GridRestriction extends AbstractSnapRestriction_1.AbstractSnapRestriction {
@@ -47,9 +48,10 @@ class GridRestriction extends AbstractSnapRestriction_1.AbstractSnapRestriction
47
48
  // #region Constructors (1)
48
49
  constructor(viewport, geometryMathManager, parentNode, planeRestriction, properties) {
49
50
  var _a, _b, _c;
50
- super(viewport, parentNode, 'grid');
51
+ super(viewport, parentNode, "grid");
51
52
  // #region Properties (9)
52
53
  _GridRestriction_activationKey.set(this, void 0);
54
+ _GridRestriction_eventEngine.set(this, viewer_shared_services_1.EventEngine.instance);
53
55
  _GridRestriction_planeRestriction.set(this, void 0);
54
56
  _GridRestriction_active.set(this, false);
55
57
  _GridRestriction_gridHelper.set(this, void 0);
@@ -57,12 +59,62 @@ class GridRestriction extends AbstractSnapRestriction_1.AbstractSnapRestriction
57
59
  _GridRestriction_gridUnit.set(this, void 0);
58
60
  _GridRestriction_gridUnitEditable.set(this, true);
59
61
  _GridRestriction_offsetFromUnit.set(this, gl_matrix_1.vec3.create());
62
+ _GridRestriction_toggleInversion.set(this, false);
60
63
  _GridRestriction_priority.set(this, 0);
61
64
  __classPrivateFieldSet(this, _GridRestriction_planeRestriction, planeRestriction, "f");
62
- __classPrivateFieldSet(this, _GridRestriction_activationKey, (properties === null || properties === void 0 ? void 0 : properties.activationKey) || 'g', "f");
65
+ __classPrivateFieldSet(this, _GridRestriction_activationKey, (properties === null || properties === void 0 ? void 0 : properties.activationKey) || "g", "f");
63
66
  this.enabled = (_a = properties === null || properties === void 0 ? void 0 : properties.enabled) !== null && _a !== void 0 ? _a : false;
64
67
  this._enabledEditable = (_b = properties === null || properties === void 0 ? void 0 : properties.enabledEditable) !== null && _b !== void 0 ? _b : true;
65
- __classPrivateFieldSet(this, _GridRestriction_gridUnit, (properties === null || properties === void 0 ? void 0 : properties.gridUnit) || 1, "f");
68
+ // if a grid unit is provided, we toggle it on by default
69
+ if ((properties === null || properties === void 0 ? void 0 : properties.gridUnit) !== undefined && (properties === null || properties === void 0 ? void 0 : properties.gridUnit) !== 0) {
70
+ __classPrivateFieldSet(this, _GridRestriction_toggleInversion, true, "f");
71
+ __classPrivateFieldSet(this, _GridRestriction_gridUnit, properties.gridUnit, "f");
72
+ }
73
+ else {
74
+ // we define our own grid unit
75
+ __classPrivateFieldSet(this, _GridRestriction_gridUnit, 1, "f");
76
+ /**
77
+ * Depending on the scene radius, we calculate the grid unit.
78
+ * The grid unit is calculated as follows:
79
+ * - calculate 1% of the scene radius
80
+ * - find the closest power of 10 that is smaller than the 1% of the scene radius
81
+ * - find the closest power of 10 that is larger than the 1% of the scene radius
82
+ * - the grid unit is whichever of the two is closer to the 1% of the scene radius
83
+ *
84
+ * @param sceneRadius
85
+ * @returns
86
+ */
87
+ const calculateGridUnit = (sceneRadius) => {
88
+ const percentage = 0.01;
89
+ const percentageSceneRadius = sceneRadius * percentage;
90
+ const log10 = Math.log10(percentageSceneRadius);
91
+ const smaller = Math.pow(10, Math.floor(log10));
92
+ const larger = Math.pow(10, Math.ceil(log10));
93
+ const gridUnit = Math.abs(smaller - percentageSceneRadius) <
94
+ Math.abs(larger - percentageSceneRadius)
95
+ ? smaller
96
+ : larger;
97
+ return gridUnit;
98
+ };
99
+ if (viewer_1.sceneTree.root.boundingBox.isEmpty()) {
100
+ // add an event listener to update the grid size
101
+ const eventListenerToken = __classPrivateFieldGet(this, _GridRestriction_eventEngine, "f").addListener(viewer_shared_services_1.EVENTTYPE_SCENE.SCENE_BOUNDING_BOX_CHANGE, (e) => {
102
+ const sceneEvent = e;
103
+ if (sceneEvent.boundingBox) {
104
+ const box = new viewer_1.Box(sceneEvent.boundingBox.min, sceneEvent.boundingBox.max);
105
+ if (box.isEmpty())
106
+ return;
107
+ __classPrivateFieldSet(this, _GridRestriction_gridUnit, calculateGridUnit(box.boundingSphere.radius), "f");
108
+ this.createOffsetFromUnit();
109
+ this.createGridVisualization();
110
+ __classPrivateFieldGet(this, _GridRestriction_eventEngine, "f").removeListener(eventListenerToken);
111
+ }
112
+ });
113
+ }
114
+ else {
115
+ __classPrivateFieldSet(this, _GridRestriction_gridUnit, calculateGridUnit(viewer_1.sceneTree.root.boundingBox.boundingSphere.radius), "f");
116
+ }
117
+ }
66
118
  __classPrivateFieldSet(this, _GridRestriction_gridUnitEditable, (_c = properties === null || properties === void 0 ? void 0 : properties.gridUnitEditable) !== null && _c !== void 0 ? _c : true, "f");
67
119
  __classPrivateFieldSet(this, _GridRestriction_priority, (properties === null || properties === void 0 ? void 0 : properties.priority) || 0, "f");
68
120
  // create the offset of the grid size to origin
@@ -107,8 +159,14 @@ class GridRestriction extends AbstractSnapRestriction_1.AbstractSnapRestriction
107
159
  // public get
108
160
  snap(ray, point, distance, metaData) {
109
161
  var _a;
110
- // if the restriction is not enabled OR the activation key is set and the key is not pressed, return
111
- if (this.enabled === false && !(((_a = metaData === null || metaData === void 0 ? void 0 : metaData.pressedKeys) === null || _a === void 0 ? void 0 : _a.length) === 1 && (metaData === null || metaData === void 0 ? void 0 : metaData.pressedKeys[0]) === __classPrivateFieldGet(this, _GridRestriction_activationKey, "f")))
162
+ // check if the activation key is pressed
163
+ let isKeyToggled = ((_a = metaData === null || metaData === void 0 ? void 0 : metaData.toggledKeys) === null || _a === void 0 ? void 0 : _a.length) === 1 &&
164
+ (metaData === null || metaData === void 0 ? void 0 : metaData.toggledKeys[0]) === __classPrivateFieldGet(this, _GridRestriction_activationKey, "f");
165
+ // invert the result if toggleInversion is set
166
+ if (__classPrivateFieldGet(this, _GridRestriction_toggleInversion, "f"))
167
+ isKeyToggled = !isKeyToggled;
168
+ // if the restriction is not enabled and the activation key is set and the key is not pressed, return
169
+ if (this.enabled === false && !isKeyToggled)
112
170
  return;
113
171
  /**
114
172
  * Explanation of the following code:
@@ -136,12 +194,23 @@ class GridRestriction extends AbstractSnapRestriction_1.AbstractSnapRestriction
136
194
  const rotatedPoint = gl_matrix_1.vec3.transformMat4(gl_matrix_1.vec3.create(), point, __classPrivateFieldGet(this, _GridRestriction_planeRestriction, "f").transformationToXYPlaneMatrix);
137
195
  // Snap the offset to the grid
138
196
  const snappedOffset = gl_matrix_1.vec3.create();
139
- snappedOffset[0] = Math.round(rotatedPoint[0] / __classPrivateFieldGet(this, _GridRestriction_gridUnit, "f")) * __classPrivateFieldGet(this, _GridRestriction_gridUnit, "f") - __classPrivateFieldGet(this, _GridRestriction_offsetFromUnit, "f")[0];
140
- snappedOffset[1] = Math.round(rotatedPoint[1] / __classPrivateFieldGet(this, _GridRestriction_gridUnit, "f")) * __classPrivateFieldGet(this, _GridRestriction_gridUnit, "f") - __classPrivateFieldGet(this, _GridRestriction_offsetFromUnit, "f")[1];
197
+ snappedOffset[0] =
198
+ Math.round(rotatedPoint[0] / __classPrivateFieldGet(this, _GridRestriction_gridUnit, "f")) * __classPrivateFieldGet(this, _GridRestriction_gridUnit, "f") -
199
+ __classPrivateFieldGet(this, _GridRestriction_offsetFromUnit, "f")[0];
200
+ snappedOffset[1] =
201
+ Math.round(rotatedPoint[1] / __classPrivateFieldGet(this, _GridRestriction_gridUnit, "f")) * __classPrivateFieldGet(this, _GridRestriction_gridUnit, "f") -
202
+ __classPrivateFieldGet(this, _GridRestriction_offsetFromUnit, "f")[1];
141
203
  snappedOffset[2] = rotatedPoint[2];
142
204
  // Move the snapped point back to the original coordinate system
143
205
  const snappedPoint = gl_matrix_1.vec3.transformMat4(gl_matrix_1.vec3.create(), snappedOffset, __classPrivateFieldGet(this, _GridRestriction_planeRestriction, "f").transformationFromXYPlaneMatrix);
144
- return { targetPoint: snappedPoint, closestIntersectionPoint: point, distanceOriginToClosestIntersectionPointSquared: distance, distanceClosestPointToTargetPointSquared: gl_matrix_1.vec3.sqrDist(snappedPoint, point), restriction: __classPrivateFieldGet(this, _GridRestriction_planeRestriction, "f"), snapRestriction: this };
206
+ return {
207
+ targetPoint: snappedPoint,
208
+ closestIntersectionPoint: point,
209
+ distanceOriginToClosestIntersectionPointSquared: distance,
210
+ distanceClosestPointToTargetPointSquared: gl_matrix_1.vec3.sqrDist(snappedPoint, point),
211
+ restriction: __classPrivateFieldGet(this, _GridRestriction_planeRestriction, "f"),
212
+ snapRestriction: this,
213
+ };
145
214
  }
146
215
  updatePlaneDefinition() {
147
216
  this.createOffsetFromUnit();
@@ -171,12 +240,15 @@ class GridRestriction extends AbstractSnapRestriction_1.AbstractSnapRestriction
171
240
  }
172
241
  const radius = bb.boundingSphere.radius;
173
242
  __classPrivateFieldSet(this, _GridRestriction_gridSize, radius * 2, "f");
174
- if (__classPrivateFieldGet(this, _GridRestriction_gridSize, "f") === Infinity || __classPrivateFieldGet(this, _GridRestriction_gridSize, "f") === -Infinity || isNaN(__classPrivateFieldGet(this, _GridRestriction_gridSize, "f")) || __classPrivateFieldGet(this, _GridRestriction_gridSize, "f") === 0)
243
+ if (__classPrivateFieldGet(this, _GridRestriction_gridSize, "f") === Infinity ||
244
+ __classPrivateFieldGet(this, _GridRestriction_gridSize, "f") === -Infinity ||
245
+ isNaN(__classPrivateFieldGet(this, _GridRestriction_gridSize, "f")) ||
246
+ __classPrivateFieldGet(this, _GridRestriction_gridSize, "f") === 0)
175
247
  __classPrivateFieldSet(this, _GridRestriction_gridSize, 100, "f");
176
248
  // if the grid size is not divisible by the grid unit, we need to adjust the grid size
177
249
  let gridSize = __classPrivateFieldGet(this, _GridRestriction_gridUnit, "f") * Math.ceil(__classPrivateFieldGet(this, _GridRestriction_gridSize, "f") / __classPrivateFieldGet(this, _GridRestriction_gridUnit, "f"));
178
250
  // if the number of divisions is odd, we need to add one more division
179
- if (gridSize / __classPrivateFieldGet(this, _GridRestriction_gridUnit, "f") % 2 === 1)
251
+ if ((gridSize / __classPrivateFieldGet(this, _GridRestriction_gridUnit, "f")) % 2 === 1)
180
252
  gridSize += __classPrivateFieldGet(this, _GridRestriction_gridUnit, "f");
181
253
  // todo adjust grid size so that is divisible by grid unit
182
254
  __classPrivateFieldSet(this, _GridRestriction_gridHelper, new THREE.GridHelper(gridSize, gridSize / __classPrivateFieldGet(this, _GridRestriction_gridUnit, "f"), 0x666666, 0x222222), "f");
@@ -184,14 +256,28 @@ class GridRestriction extends AbstractSnapRestriction_1.AbstractSnapRestriction
184
256
  __classPrivateFieldGet(this, _GridRestriction_gridHelper, "f").position.copy(new THREE.Vector3(adjustedOrigin[0], adjustedOrigin[1], adjustedOrigin[2]));
185
257
  __classPrivateFieldGet(this, _GridRestriction_gridHelper, "f").visible = false;
186
258
  __classPrivateFieldGet(this, _GridRestriction_gridHelper, "f").renderOrder = 100;
187
- __classPrivateFieldGet(this, _GridRestriction_gridHelper, "f").material.depthTest = false;
188
- __classPrivateFieldGet(this, _GridRestriction_gridHelper, "f").material.transparent = true;
259
+ __classPrivateFieldGet(this, _GridRestriction_gridHelper, "f").material.depthTest =
260
+ false;
261
+ __classPrivateFieldGet(this, _GridRestriction_gridHelper, "f").material.transparent =
262
+ true;
189
263
  // three.js uses a right-handed coordinate system, so we need to rotate the grid helper
190
264
  const rotationMatrix = new THREE.Matrix4().fromArray([
191
- __classPrivateFieldGet(this, _GridRestriction_planeRestriction, "f").vectorU[0], __classPrivateFieldGet(this, _GridRestriction_planeRestriction, "f").vectorU[1], __classPrivateFieldGet(this, _GridRestriction_planeRestriction, "f").vectorU[2], 0,
192
- __classPrivateFieldGet(this, _GridRestriction_planeRestriction, "f").vectorV[0], __classPrivateFieldGet(this, _GridRestriction_planeRestriction, "f").vectorV[1], __classPrivateFieldGet(this, _GridRestriction_planeRestriction, "f").vectorV[2], 0,
193
- __classPrivateFieldGet(this, _GridRestriction_planeRestriction, "f").normal[0], __classPrivateFieldGet(this, _GridRestriction_planeRestriction, "f").normal[1], __classPrivateFieldGet(this, _GridRestriction_planeRestriction, "f").normal[2], 0,
194
- 0, 0, 0, 1
265
+ __classPrivateFieldGet(this, _GridRestriction_planeRestriction, "f").vectorU[0],
266
+ __classPrivateFieldGet(this, _GridRestriction_planeRestriction, "f").vectorU[1],
267
+ __classPrivateFieldGet(this, _GridRestriction_planeRestriction, "f").vectorU[2],
268
+ 0,
269
+ __classPrivateFieldGet(this, _GridRestriction_planeRestriction, "f").vectorV[0],
270
+ __classPrivateFieldGet(this, _GridRestriction_planeRestriction, "f").vectorV[1],
271
+ __classPrivateFieldGet(this, _GridRestriction_planeRestriction, "f").vectorV[2],
272
+ 0,
273
+ __classPrivateFieldGet(this, _GridRestriction_planeRestriction, "f").normal[0],
274
+ __classPrivateFieldGet(this, _GridRestriction_planeRestriction, "f").normal[1],
275
+ __classPrivateFieldGet(this, _GridRestriction_planeRestriction, "f").normal[2],
276
+ 0,
277
+ 0,
278
+ 0,
279
+ 0,
280
+ 1,
195
281
  ]);
196
282
  __classPrivateFieldGet(this, _GridRestriction_gridHelper, "f").rotation.setFromRotationMatrix(rotationMatrix);
197
283
  // three.js grid helper is created in the XY plane, so we need to rotate it by 90 degrees around the X axis
@@ -200,12 +286,21 @@ class GridRestriction extends AbstractSnapRestriction_1.AbstractSnapRestriction
200
286
  }
201
287
  createOffsetFromUnit() {
202
288
  // Calculate the offset of the rotated point from the rotated origin
203
- __classPrivateFieldGet(this, _GridRestriction_offsetFromUnit, "f")[0] = __classPrivateFieldGet(this, _GridRestriction_gridUnit, "f") * Math.round(__classPrivateFieldGet(this, _GridRestriction_planeRestriction, "f").origin[0] / __classPrivateFieldGet(this, _GridRestriction_gridUnit, "f")) - __classPrivateFieldGet(this, _GridRestriction_planeRestriction, "f").origin[0];
204
- __classPrivateFieldGet(this, _GridRestriction_offsetFromUnit, "f")[1] = __classPrivateFieldGet(this, _GridRestriction_gridUnit, "f") * Math.round(__classPrivateFieldGet(this, _GridRestriction_planeRestriction, "f").origin[1] / __classPrivateFieldGet(this, _GridRestriction_gridUnit, "f")) - __classPrivateFieldGet(this, _GridRestriction_planeRestriction, "f").origin[1];
205
- __classPrivateFieldGet(this, _GridRestriction_offsetFromUnit, "f")[2] = __classPrivateFieldGet(this, _GridRestriction_gridUnit, "f") * Math.round(__classPrivateFieldGet(this, _GridRestriction_planeRestriction, "f").origin[2] / __classPrivateFieldGet(this, _GridRestriction_gridUnit, "f")) - __classPrivateFieldGet(this, _GridRestriction_planeRestriction, "f").origin[2];
289
+ __classPrivateFieldGet(this, _GridRestriction_offsetFromUnit, "f")[0] =
290
+ __classPrivateFieldGet(this, _GridRestriction_gridUnit, "f") *
291
+ Math.round(__classPrivateFieldGet(this, _GridRestriction_planeRestriction, "f").origin[0] / __classPrivateFieldGet(this, _GridRestriction_gridUnit, "f")) -
292
+ __classPrivateFieldGet(this, _GridRestriction_planeRestriction, "f").origin[0];
293
+ __classPrivateFieldGet(this, _GridRestriction_offsetFromUnit, "f")[1] =
294
+ __classPrivateFieldGet(this, _GridRestriction_gridUnit, "f") *
295
+ Math.round(__classPrivateFieldGet(this, _GridRestriction_planeRestriction, "f").origin[1] / __classPrivateFieldGet(this, _GridRestriction_gridUnit, "f")) -
296
+ __classPrivateFieldGet(this, _GridRestriction_planeRestriction, "f").origin[1];
297
+ __classPrivateFieldGet(this, _GridRestriction_offsetFromUnit, "f")[2] =
298
+ __classPrivateFieldGet(this, _GridRestriction_gridUnit, "f") *
299
+ Math.round(__classPrivateFieldGet(this, _GridRestriction_planeRestriction, "f").origin[2] / __classPrivateFieldGet(this, _GridRestriction_gridUnit, "f")) -
300
+ __classPrivateFieldGet(this, _GridRestriction_planeRestriction, "f").origin[2];
206
301
  }
207
302
  }
208
303
  exports.GridRestriction = GridRestriction;
209
- _GridRestriction_activationKey = new WeakMap(), _GridRestriction_planeRestriction = new WeakMap(), _GridRestriction_active = new WeakMap(), _GridRestriction_gridHelper = new WeakMap(), _GridRestriction_gridSize = new WeakMap(), _GridRestriction_gridUnit = new WeakMap(), _GridRestriction_gridUnitEditable = new WeakMap(), _GridRestriction_offsetFromUnit = new WeakMap(), _GridRestriction_priority = new WeakMap();
304
+ _GridRestriction_activationKey = new WeakMap(), _GridRestriction_eventEngine = new WeakMap(), _GridRestriction_planeRestriction = new WeakMap(), _GridRestriction_active = new WeakMap(), _GridRestriction_gridHelper = new WeakMap(), _GridRestriction_gridSize = new WeakMap(), _GridRestriction_gridUnit = new WeakMap(), _GridRestriction_gridUnitEditable = new WeakMap(), _GridRestriction_offsetFromUnit = new WeakMap(), _GridRestriction_toggleInversion = new WeakMap(), _GridRestriction_priority = new WeakMap();
210
305
  // #endregion Classes (1)
211
306
  //# sourceMappingURL=GridRestriction.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"GridRestriction.js","sourceRoot":"","sources":["../../../../../src/implementation/restrictions/plane/snap/GridRestriction.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"GridRestriction.js","sourceRoot":"","sources":["../../../../../src/implementation/restrictions/plane/snap/GridRestriction.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,11 @@
1
- import { AbstractRestriction } from '../AbstractRestriction';
2
- import { GeometryMathManager } from '../../GeometryMathManager';
3
- import { IRay } from '@shapediver/viewer.shared.types';
4
- import { IRestriction, RestrictionMetaData, RestrictionPropertiesBase, RestrictionResult } from '../../../interfaces/IRestriction';
5
- import { ISnapRestriction } from '../../../interfaces/ISnapRestriction';
6
- import { ITreeNode, IViewportApi } from '@shapediver/viewer';
7
- import { IVisualizationSettings } from '../../../interfaces/IVisualizationSettings';
8
- import { vec3 } from 'gl-matrix';
1
+ import { ITreeNode, IViewportApi } from "@shapediver/viewer";
2
+ import { IRay } from "@shapediver/viewer.shared.types";
3
+ import { vec3 } from "gl-matrix";
4
+ import { IRestriction, RestrictionMetaData, RestrictionPropertiesBase, RestrictionResult } from "../../../interfaces/IRestriction";
5
+ import { ISnapRestriction } from "../../../interfaces/ISnapRestriction";
6
+ import { IVisualizationSettings } from "../../../interfaces/IVisualizationSettings";
7
+ import { GeometryMathManager } from "../../GeometryMathManager";
8
+ import { AbstractRestriction } from "../AbstractRestriction";
9
9
  export interface PointRestrictionProperties extends RestrictionPropertiesBase {
10
10
  /**
11
11
  * The location of the restriction.
@@ -1 +1 @@
1
- {"version":3,"file":"PointRestriction.d.ts","sourceRoot":"","sources":["../../../../src/implementation/restrictions/point/PointRestriction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,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;AAC1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AACxE,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EAAE,sBAAsB,EAAE,MAAM,4CAA4C,CAAC;AACpF,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAIjC,MAAM,WAAW,0BAA2B,SAAQ,yBAAyB;IACzE;;OAEG;IACH,KAAK,EAAE,IAAI,CAAC;IACZ;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB;AAMD,qBAAa,gBAAiB,SAAQ,mBAAoB,YAAW,YAAY;;gBAajE,QAAQ,EAAE,YAAY,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,UAAU,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,sBAAsB,EAAE,UAAU,EAAE,0BAA0B;IAYzL,IAAW,KAAK,IAAI,IAAI,CAEvB;IAED,IAAW,MAAM,IAAI,MAAM,CAE1B;IAED,IAAW,gBAAgB,IAAI;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,gBAAgB,CAAC;KAAE,CAElE;IAMM,cAAc,CAAC,KAAK,EAAE,IAAI,GAAG,OAAO;IAIpC,QAAQ,CAAC,GAAG,EAAE,IAAI,EAAE,QAAQ,CAAC,EAAE,mBAAmB,GAAG,iBAAiB,GAAG,SAAS;IA0CzF,SAAS,CAAC,iBAAiB,IAAI,IAAI;CAGtC"}
1
+ {"version":3,"file":"PointRestriction.d.ts","sourceRoot":"","sources":["../../../../src/implementation/restrictions/point/PointRestriction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAE,YAAY,EAAC,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EAAC,IAAI,EAAC,MAAM,iCAAiC,CAAC;AACrD,OAAO,EAAC,IAAI,EAAC,MAAM,WAAW,CAAC;AAC/B,OAAO,EACN,YAAY,EACZ,mBAAmB,EACnB,yBAAyB,EACzB,iBAAiB,EACjB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAC,gBAAgB,EAAC,MAAM,sCAAsC,CAAC;AACtE,OAAO,EAAC,sBAAsB,EAAC,MAAM,4CAA4C,CAAC;AAClF,OAAO,EAAC,mBAAmB,EAAC,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAC,mBAAmB,EAAC,MAAM,wBAAwB,CAAC;AAI3D,MAAM,WAAW,0BAA2B,SAAQ,yBAAyB;IAC5E;;OAEG;IACH,KAAK,EAAE,IAAI,CAAC;IACZ;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CAChB;AAMD,qBAAa,gBACZ,SAAQ,mBACR,YAAW,YAAY;;gBAetB,QAAQ,EAAE,YAAY,EACtB,mBAAmB,EAAE,mBAAmB,EACxC,UAAU,EAAE,SAAS,EACrB,EAAE,EAAE,MAAM,EACV,QAAQ,EAAE,sBAAsB,EAChC,UAAU,EAAE,0BAA0B;IAavC,IAAW,KAAK,IAAI,IAAI,CAEvB;IAED,IAAW,MAAM,IAAI,MAAM,CAE1B;IAED,IAAW,gBAAgB,IAAI;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,gBAAgB,CAAA;KAAC,CAE/D;IAMM,cAAc,CAAC,KAAK,EAAE,IAAI,GAAG,OAAO;IAOpC,QAAQ,CACd,GAAG,EAAE,IAAI,EACT,QAAQ,CAAC,EAAE,mBAAmB,GAC5B,iBAAiB,GAAG,SAAS;IAuDhC,SAAS,CAAC,iBAAiB,IAAI,IAAI;CAGnC"}
@@ -13,8 +13,8 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
13
13
  var _PointRestriction_viewport, _PointRestriction_point, _PointRestriction_radius, _PointRestriction_snapRestrictions;
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
15
  exports.PointRestriction = void 0;
16
- const AbstractRestriction_1 = require("../AbstractRestriction");
17
16
  const gl_matrix_1 = require("gl-matrix");
17
+ const AbstractRestriction_1 = require("../AbstractRestriction");
18
18
  // #endregion Type aliases (1)
19
19
  // #region Classes (1)
20
20
  class PointRestriction extends AbstractRestriction_1.AbstractRestriction {
@@ -45,7 +45,8 @@ class PointRestriction extends AbstractRestriction_1.AbstractRestriction {
45
45
  // #endregion Public Getters And Setters (4)
46
46
  // #region Public Methods (1)
47
47
  isWithinRadius(point) {
48
- return (gl_matrix_1.vec3.squaredDistance(point, __classPrivateFieldGet(this, _PointRestriction_point, "f")) <= (__classPrivateFieldGet(this, _PointRestriction_radius, "f") * __classPrivateFieldGet(this, _PointRestriction_radius, "f")));
48
+ return (gl_matrix_1.vec3.squaredDistance(point, __classPrivateFieldGet(this, _PointRestriction_point, "f")) <=
49
+ __classPrivateFieldGet(this, _PointRestriction_radius, "f") * __classPrivateFieldGet(this, _PointRestriction_radius, "f"));
49
50
  }
50
51
  rayTrace(ray, metaData) {
51
52
  const closestPointVector = gl_matrix_1.vec3.sub(gl_matrix_1.vec3.create(), __classPrivateFieldGet(this, _PointRestriction_point, "f"), ray.origin);
@@ -62,10 +63,10 @@ class PointRestriction extends AbstractRestriction_1.AbstractRestriction {
62
63
  distanceOriginToClosestIntersectionPointSquared: distanceOrigin,
63
64
  targetPoint: __classPrivateFieldGet(this, _PointRestriction_point, "f"),
64
65
  distanceClosestPointToTargetPointSquared: distance,
65
- restriction: this
66
+ restriction: this,
66
67
  };
67
68
  }
68
- // now we calculate the closest point on the cylinder to the ray
69
+ // now we calculate the closest point on the sphere to the ray
69
70
  const offset = Math.sqrt(__classPrivateFieldGet(this, _PointRestriction_radius, "f") * __classPrivateFieldGet(this, _PointRestriction_radius, "f") - distance);
70
71
  // Compute the entry distance
71
72
  const entry = t - offset;