@shapediver/viewer.rendering-engine.intersection-restriction-engine 3.8.15 → 3.9.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/api/implementation/AbstractRestrictionApi.d.ts +2 -2
- package/dist/api/implementation/AbstractRestrictionApi.d.ts.map +1 -1
- package/dist/api/implementation/AbstractRestrictionApi.js.map +1 -1
- package/dist/api/implementation/AbstractSnapRestrictionApi.d.ts +2 -2
- package/dist/api/implementation/AbstractSnapRestrictionApi.d.ts.map +1 -1
- package/dist/api/implementation/AbstractSnapRestrictionApi.js.map +1 -1
- package/dist/api/implementation/camera_plane/CameraPlaneRestrictionApi.d.ts +2 -2
- package/dist/api/implementation/camera_plane/CameraPlaneRestrictionApi.d.ts.map +1 -1
- package/dist/api/implementation/camera_plane/CameraPlaneRestrictionApi.js.map +1 -1
- package/dist/api/implementation/geometry/GeometryRestrictionApi.d.ts +3 -3
- package/dist/api/implementation/geometry/GeometryRestrictionApi.d.ts.map +1 -1
- package/dist/api/implementation/geometry/GeometryRestrictionApi.js.map +1 -1
- package/dist/api/implementation/line/LineRestrictionApi.d.ts +3 -3
- package/dist/api/implementation/line/LineRestrictionApi.d.ts.map +1 -1
- package/dist/api/implementation/line/LineRestrictionApi.js.map +1 -1
- package/dist/api/implementation/plane/PlaneRestrictionApi.d.ts +6 -6
- package/dist/api/implementation/plane/PlaneRestrictionApi.d.ts.map +1 -1
- package/dist/api/implementation/plane/PlaneRestrictionApi.js.map +1 -1
- package/dist/api/implementation/plane/snap/AngularRestrictionApi.d.ts +2 -2
- package/dist/api/implementation/plane/snap/AngularRestrictionApi.d.ts.map +1 -1
- package/dist/api/implementation/plane/snap/AngularRestrictionApi.js.map +1 -1
- package/dist/api/implementation/plane/snap/AxisRestrictionApi.d.ts +2 -2
- package/dist/api/implementation/plane/snap/AxisRestrictionApi.d.ts.map +1 -1
- package/dist/api/implementation/plane/snap/AxisRestrictionApi.js.map +1 -1
- package/dist/api/implementation/plane/snap/GridRestrictionApi.d.ts +2 -2
- package/dist/api/implementation/plane/snap/GridRestrictionApi.d.ts.map +1 -1
- package/dist/api/implementation/plane/snap/GridRestrictionApi.js.map +1 -1
- package/dist/api/implementation/point/PointRestrictionApi.d.ts +3 -3
- package/dist/api/implementation/point/PointRestrictionApi.d.ts.map +1 -1
- package/dist/api/implementation/point/PointRestrictionApi.js.map +1 -1
- package/dist/api/interfaces/IRestrictionApi.d.ts.map +1 -1
- package/dist/api/interfaces/ISnapRestrictionApi.d.ts +1 -1
- package/dist/api/interfaces/ISnapRestrictionApi.d.ts.map +1 -1
- package/dist/implementation/EventManager.d.ts +3 -3
- package/dist/implementation/EventManager.d.ts.map +1 -1
- package/dist/implementation/EventManager.js.map +1 -1
- package/dist/implementation/GeometryMathManager.d.ts +4 -4
- package/dist/implementation/GeometryMathManager.d.ts.map +1 -1
- package/dist/implementation/GeometryMathManager.js +25 -13
- package/dist/implementation/GeometryMathManager.js.map +1 -1
- package/dist/implementation/RestrictionManager.d.ts +7 -6
- package/dist/implementation/RestrictionManager.d.ts.map +1 -1
- package/dist/implementation/RestrictionManager.js +65 -29
- package/dist/implementation/RestrictionManager.js.map +1 -1
- package/dist/implementation/restrictions/AbstractRestriction.d.ts +7 -7
- package/dist/implementation/restrictions/AbstractRestriction.d.ts.map +1 -1
- package/dist/implementation/restrictions/AbstractRestriction.js +8 -5
- package/dist/implementation/restrictions/AbstractRestriction.js.map +1 -1
- package/dist/implementation/restrictions/AbstractSnapRestriction.d.ts +7 -7
- package/dist/implementation/restrictions/AbstractSnapRestriction.d.ts.map +1 -1
- package/dist/implementation/restrictions/AbstractSnapRestriction.js +4 -4
- package/dist/implementation/restrictions/AbstractSnapRestriction.js.map +1 -1
- package/dist/implementation/restrictions/RestrictionsHelper.d.ts +2 -2
- package/dist/implementation/restrictions/RestrictionsHelper.d.ts.map +1 -1
- package/dist/implementation/restrictions/RestrictionsHelper.js +7 -3
- package/dist/implementation/restrictions/RestrictionsHelper.js.map +1 -1
- package/dist/implementation/restrictions/camera_plane/CameraPlaneRestriction.d.ts +7 -7
- package/dist/implementation/restrictions/camera_plane/CameraPlaneRestriction.d.ts.map +1 -1
- package/dist/implementation/restrictions/camera_plane/CameraPlaneRestriction.js +2 -2
- package/dist/implementation/restrictions/camera_plane/CameraPlaneRestriction.js.map +1 -1
- package/dist/implementation/restrictions/geometry/GeometryRestriction.d.ts +8 -8
- package/dist/implementation/restrictions/geometry/GeometryRestriction.d.ts.map +1 -1
- package/dist/implementation/restrictions/geometry/GeometryRestriction.js +67 -30
- package/dist/implementation/restrictions/geometry/GeometryRestriction.js.map +1 -1
- package/dist/implementation/restrictions/line/LineRestriction.d.ts +20 -9
- package/dist/implementation/restrictions/line/LineRestriction.d.ts.map +1 -1
- package/dist/implementation/restrictions/line/LineRestriction.js +66 -9
- package/dist/implementation/restrictions/line/LineRestriction.js.map +1 -1
- package/dist/implementation/restrictions/plane/PlaneRestriction.d.ts +11 -11
- package/dist/implementation/restrictions/plane/PlaneRestriction.d.ts.map +1 -1
- package/dist/implementation/restrictions/plane/PlaneRestriction.js +34 -16
- package/dist/implementation/restrictions/plane/PlaneRestriction.js.map +1 -1
- package/dist/implementation/restrictions/plane/snap/AngularRestriction.d.ts +9 -9
- package/dist/implementation/restrictions/plane/snap/AngularRestriction.d.ts.map +1 -1
- package/dist/implementation/restrictions/plane/snap/AngularRestriction.js +86 -35
- package/dist/implementation/restrictions/plane/snap/AngularRestriction.js.map +1 -1
- package/dist/implementation/restrictions/plane/snap/AxisRestriction.d.ts +8 -8
- package/dist/implementation/restrictions/plane/snap/AxisRestriction.d.ts.map +1 -1
- package/dist/implementation/restrictions/plane/snap/AxisRestriction.js +79 -24
- package/dist/implementation/restrictions/plane/snap/AxisRestriction.js.map +1 -1
- package/dist/implementation/restrictions/plane/snap/GridRestriction.d.ts +8 -8
- package/dist/implementation/restrictions/plane/snap/GridRestriction.d.ts.map +1 -1
- package/dist/implementation/restrictions/plane/snap/GridRestriction.js +58 -19
- package/dist/implementation/restrictions/plane/snap/GridRestriction.js.map +1 -1
- package/dist/implementation/restrictions/point/PointRestriction.d.ts +8 -8
- package/dist/implementation/restrictions/point/PointRestriction.d.ts.map +1 -1
- package/dist/implementation/restrictions/point/PointRestriction.js +5 -4
- package/dist/implementation/restrictions/point/PointRestriction.js.map +1 -1
- package/dist/index.d.ts +29 -29
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +18 -18
- package/dist/index.js.map +1 -1
- package/dist/interfaces/IDragAnchor.d.ts +1 -1
- package/dist/interfaces/IDragAnchor.d.ts.map +1 -1
- package/dist/interfaces/IRestriction.d.ts +14 -13
- package/dist/interfaces/IRestriction.d.ts.map +1 -1
- package/dist/interfaces/IRestriction.js +2 -2
- package/dist/interfaces/IRestriction.js.map +1 -1
- package/dist/interfaces/IRestrictionManager.d.ts +2 -2
- package/dist/interfaces/IRestrictionManager.d.ts.map +1 -1
- package/dist/interfaces/ISnapRestriction.d.ts +3 -3
- package/dist/interfaces/ISnapRestriction.d.ts.map +1 -1
- package/dist/interfaces/ISnapRestriction.js.map +1 -1
- package/dist/interfaces/IVisualizationSettings.d.ts +1 -1
- package/dist/interfaces/IVisualizationSettings.d.ts.map +1 -1
- package/package.json +52 -52
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import { IGeometryData, IRay } from
|
|
4
|
-
import { IRestriction, RestrictionMetaData, RestrictionPropertiesBase, RestrictionResult } from
|
|
5
|
-
import { ISnapRestriction } from
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
1
|
+
import { IViewportApi } from "@shapediver/viewer";
|
|
2
|
+
import { ITreeNode } from "@shapediver/viewer.shared.node-tree";
|
|
3
|
+
import { IGeometryData, IRay } from "@shapediver/viewer.shared.types";
|
|
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 GeometryRestrictionProperties extends RestrictionPropertiesBase {
|
|
10
10
|
/**
|
|
11
11
|
* The nodes to restrict the interaction to.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GeometryRestriction.d.ts","sourceRoot":"","sources":["../../../../src/implementation/restrictions/geometry/GeometryRestriction.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"GeometryRestriction.d.ts","sourceRoot":"","sources":["../../../../src/implementation/restrictions/geometry/GeometryRestriction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAY,MAAM,oBAAoB,CAAC;AAG3D,OAAO,EAAC,SAAS,EAAC,MAAM,qCAAqC,CAAC;AAE9D,OAAO,EAEN,aAAa,EACb,IAAI,EAEJ,MAAM,iCAAiC,CAAC;AAGzC,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,6BAChB,SAAQ,yBAAyB;IACjC;;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;CACtB;AAED;;;GAGG;AACH,MAAM,WAAW,mCAAmC;IACnD,IAAI,EAAE,SAAS,CAAC;IAChB,YAAY,EAAE,aAAa,CAAC;CAC5B;AAMD,qBAAa,mBACZ,SAAQ,mBACR,YAAW,YAAY;;gBAqCtB,QAAQ,EAAE,YAAY,EACtB,mBAAmB,EAAE,mBAAmB,EACxC,UAAU,EAAE,SAAS,EACrB,EAAE,EAAE,MAAM,EACV,QAAQ,EAAE,sBAAsB,EAChC,UAAU,EAAE,6BAA6B;IA0C1C,IAAW,KAAK,IAAI,SAAS,EAAE,CAE9B;IAED,IAAW,gBAAgB,IAAI;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,gBAAgB,CAAA;KAAC,CAE/D;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,CACd,GAAG,EAAE,IAAI,EACT,QAAQ,CAAC,EAAE,mBAAmB,GAC5B,iBAAiB,GAAG,SAAS;IA+SzB,WAAW,CAAC,KAAK,EAAE,SAAS,EAAE;IA8CrC,SAAS,CAAC,iBAAiB,IAAI,IAAI;IAMnC,OAAO,CAAC,4BAA4B;IASpC,OAAO,CAAC,0BAA0B;IAkClC;;;;;;;;;OASG;IACH,OAAO,CAAC,aAAa;CAyBrB"}
|
|
@@ -36,13 +36,13 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
|
|
|
36
36
|
var _GeometryRestriction_eventEngine, _GeometryRestriction_rayCasterParams, _GeometryRestriction_raycaster, _GeometryRestriction_viewport, _GeometryRestriction_geometryMathManager, _GeometryRestriction_lineIntersectionPercentage, _GeometryRestriction_nodes, _GeometryRestriction_pointIntersectionPercentage, _GeometryRestriction_sceneBoundingSphereRadius, _GeometryRestriction_settings, _GeometryRestriction_snapRestrictions, _GeometryRestriction_snapToEdges, _GeometryRestriction_snapToEdgesRadius, _GeometryRestriction_snapToFaces, _GeometryRestriction_snapToVertices, _GeometryRestriction_snapToVerticesRadius, _GeometryRestriction_visualizationObject, _GeometryRestriction_wireframe, _GeometryRestriction_wireframeColor;
|
|
37
37
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
38
38
|
exports.GeometryRestriction = void 0;
|
|
39
|
-
const
|
|
40
|
-
const AbstractRestriction_1 = require("../AbstractRestriction");
|
|
39
|
+
const viewer_1 = require("@shapediver/viewer");
|
|
41
40
|
const viewer_shared_math_1 = require("@shapediver/viewer.shared.math");
|
|
42
41
|
const viewer_shared_services_1 = require("@shapediver/viewer.shared.services");
|
|
43
42
|
const viewer_shared_types_1 = require("@shapediver/viewer.shared.types");
|
|
44
|
-
const viewer_1 = require("@shapediver/viewer");
|
|
45
43
|
const gl_matrix_1 = require("gl-matrix");
|
|
44
|
+
const THREE = __importStar(require("three"));
|
|
45
|
+
const AbstractRestriction_1 = require("../AbstractRestriction");
|
|
46
46
|
// #endregion Type aliases (1)
|
|
47
47
|
// #region Classes (1)
|
|
48
48
|
class GeometryRestriction extends AbstractRestriction_1.AbstractRestriction {
|
|
@@ -59,7 +59,7 @@ class GeometryRestriction extends AbstractRestriction_1.AbstractRestriction {
|
|
|
59
59
|
Points: { threshold: 1 },
|
|
60
60
|
Mesh: {},
|
|
61
61
|
LOD: {},
|
|
62
|
-
Sprite: {}
|
|
62
|
+
Sprite: {},
|
|
63
63
|
});
|
|
64
64
|
_GeometryRestriction_raycaster.set(this, new THREE.Raycaster());
|
|
65
65
|
_GeometryRestriction_viewport.set(this, void 0);
|
|
@@ -131,7 +131,9 @@ class GeometryRestriction extends AbstractRestriction_1.AbstractRestriction {
|
|
|
131
131
|
rayTrace(ray, metaData) {
|
|
132
132
|
if (this.enabled === false)
|
|
133
133
|
return;
|
|
134
|
-
if (__classPrivateFieldGet(this, _GeometryRestriction_snapToVertices, "f") === false &&
|
|
134
|
+
if (__classPrivateFieldGet(this, _GeometryRestriction_snapToVertices, "f") === false &&
|
|
135
|
+
__classPrivateFieldGet(this, _GeometryRestriction_snapToEdges, "f") === false &&
|
|
136
|
+
__classPrivateFieldGet(this, _GeometryRestriction_snapToFaces, "f") === false)
|
|
135
137
|
return;
|
|
136
138
|
// assign raycaster parameters
|
|
137
139
|
__classPrivateFieldGet(this, _GeometryRestriction_raycaster, "f").params = __classPrivateFieldGet(this, _GeometryRestriction_rayCasterParams, "f");
|
|
@@ -139,7 +141,7 @@ class GeometryRestriction extends AbstractRestriction_1.AbstractRestriction {
|
|
|
139
141
|
__classPrivateFieldGet(this, _GeometryRestriction_raycaster, "f").ray.origin.set(ray.origin[0], ray.origin[1], ray.origin[2]);
|
|
140
142
|
// intersect all nodes
|
|
141
143
|
let intersections = [];
|
|
142
|
-
__classPrivateFieldGet(this, _GeometryRestriction_nodes, "f").forEach(node => {
|
|
144
|
+
__classPrivateFieldGet(this, _GeometryRestriction_nodes, "f").forEach((node) => {
|
|
143
145
|
const threeJsObject = node.convertedObject[__classPrivateFieldGet(this, _GeometryRestriction_viewport, "f").id];
|
|
144
146
|
if (threeJsObject) {
|
|
145
147
|
const currentIntersections = __classPrivateFieldGet(this, _GeometryRestriction_raycaster, "f").intersectObject(threeJsObject);
|
|
@@ -155,14 +157,17 @@ class GeometryRestriction extends AbstractRestriction_1.AbstractRestriction {
|
|
|
155
157
|
// search the three.js object hierarchy for the converted object
|
|
156
158
|
let tempObject = object;
|
|
157
159
|
while (tempObject.parent) {
|
|
158
|
-
const intersectedNode = __classPrivateFieldGet(this, _GeometryRestriction_nodes, "f").find(node => node.id === tempObject.SDid &&
|
|
160
|
+
const intersectedNode = __classPrivateFieldGet(this, _GeometryRestriction_nodes, "f").find((node) => node.id === tempObject.SDid &&
|
|
161
|
+
node.version === tempObject.SDversion);
|
|
159
162
|
if (intersectedNode) {
|
|
160
163
|
// from this node, we can get the geometry data
|
|
161
|
-
intersectedNode.traverseData(d => {
|
|
162
|
-
if (d instanceof viewer_shared_types_1.GeometryData &&
|
|
164
|
+
intersectedNode.traverseData((d) => {
|
|
165
|
+
if (d instanceof viewer_shared_types_1.GeometryData &&
|
|
166
|
+
d.id === object.parent.SDid &&
|
|
167
|
+
d.version === object.parent.SDversion) {
|
|
163
168
|
geometryRestrictionIntersectionData = {
|
|
164
169
|
node: intersectedNode,
|
|
165
|
-
geometryData: d
|
|
170
|
+
geometryData: d,
|
|
166
171
|
};
|
|
167
172
|
}
|
|
168
173
|
});
|
|
@@ -171,8 +176,9 @@ class GeometryRestriction extends AbstractRestriction_1.AbstractRestriction {
|
|
|
171
176
|
tempObject = tempObject.parent;
|
|
172
177
|
}
|
|
173
178
|
const geometry = object.geometry;
|
|
174
|
-
const positionAttribute = geometry.getAttribute(
|
|
175
|
-
if (object instanceof THREE.Points &&
|
|
179
|
+
const positionAttribute = geometry.getAttribute("position");
|
|
180
|
+
if (object instanceof THREE.Points &&
|
|
181
|
+
intersections[0].index !== undefined) {
|
|
176
182
|
if (!__classPrivateFieldGet(this, _GeometryRestriction_snapToVertices, "f"))
|
|
177
183
|
return;
|
|
178
184
|
const vertex = new THREE.Vector3();
|
|
@@ -202,13 +208,19 @@ class GeometryRestriction extends AbstractRestriction_1.AbstractRestriction {
|
|
|
202
208
|
const distanceB = this.checkDistance(intersectionPointVec3, vertexBVec3, __classPrivateFieldGet(this, _GeometryRestriction_snapToVerticesRadius, "f"));
|
|
203
209
|
const distanceC = this.checkDistance(intersectionPointVec3, vertexCVec3, __classPrivateFieldGet(this, _GeometryRestriction_snapToVerticesRadius, "f"));
|
|
204
210
|
// part 1 - check if the intersection point is close to a vertex
|
|
205
|
-
if (distanceA.check &&
|
|
211
|
+
if (distanceA.check &&
|
|
212
|
+
distanceA.distanceSquared < distanceB.distanceSquared &&
|
|
213
|
+
distanceA.distanceSquared < distanceC.distanceSquared) {
|
|
206
214
|
return this.constructRestrictionResult(vertexAVec3, intersections[0].distance, intersections[0].pointOnLine, geometryRestrictionIntersectionData);
|
|
207
215
|
}
|
|
208
|
-
else if (distanceB.check &&
|
|
216
|
+
else if (distanceB.check &&
|
|
217
|
+
distanceB.distanceSquared < distanceA.distanceSquared &&
|
|
218
|
+
distanceB.distanceSquared < distanceC.distanceSquared) {
|
|
209
219
|
return this.constructRestrictionResult(vertexBVec3, intersections[0].distance, intersections[0].pointOnLine, geometryRestrictionIntersectionData);
|
|
210
220
|
}
|
|
211
|
-
else if (distanceC.check &&
|
|
221
|
+
else if (distanceC.check &&
|
|
222
|
+
distanceC.distanceSquared < distanceA.distanceSquared &&
|
|
223
|
+
distanceC.distanceSquared < distanceB.distanceSquared) {
|
|
212
224
|
return this.constructRestrictionResult(vertexCVec3, intersections[0].distance, intersections[0].pointOnLine, geometryRestrictionIntersectionData);
|
|
213
225
|
}
|
|
214
226
|
}
|
|
@@ -223,13 +235,22 @@ class GeometryRestriction extends AbstractRestriction_1.AbstractRestriction {
|
|
|
223
235
|
const distanceBC = this.checkDistance(intersectionPointVec3, closestPointOnEdgeBC, __classPrivateFieldGet(this, _GeometryRestriction_snapToEdgesRadius, "f"));
|
|
224
236
|
const distanceCA = this.checkDistance(intersectionPointVec3, closestPointOnEdgeCA, __classPrivateFieldGet(this, _GeometryRestriction_snapToEdgesRadius, "f"));
|
|
225
237
|
// check if the intersection point is close to an edge
|
|
226
|
-
if (distanceAB.check &&
|
|
238
|
+
if (distanceAB.check &&
|
|
239
|
+
distanceAB.distanceSquared <
|
|
240
|
+
distanceBC.distanceSquared &&
|
|
241
|
+
distanceAB.distanceSquared < distanceCA.distanceSquared) {
|
|
227
242
|
return this.constructRestrictionResult(closestPointOnEdgeAB, intersections[0].distance, intersections[0].pointOnLine, geometryRestrictionIntersectionData);
|
|
228
243
|
}
|
|
229
|
-
else if (distanceBC.check &&
|
|
244
|
+
else if (distanceBC.check &&
|
|
245
|
+
distanceBC.distanceSquared <
|
|
246
|
+
distanceAB.distanceSquared &&
|
|
247
|
+
distanceBC.distanceSquared < distanceCA.distanceSquared) {
|
|
230
248
|
return this.constructRestrictionResult(closestPointOnEdgeBC, intersections[0].distance, intersections[0].pointOnLine, geometryRestrictionIntersectionData);
|
|
231
249
|
}
|
|
232
|
-
else if (distanceCA.check &&
|
|
250
|
+
else if (distanceCA.check &&
|
|
251
|
+
distanceCA.distanceSquared <
|
|
252
|
+
distanceAB.distanceSquared &&
|
|
253
|
+
distanceCA.distanceSquared < distanceBC.distanceSquared) {
|
|
233
254
|
return this.constructRestrictionResult(closestPointOnEdgeCA, intersections[0].distance, intersections[0].pointOnLine, geometryRestrictionIntersectionData);
|
|
234
255
|
}
|
|
235
256
|
}
|
|
@@ -252,14 +273,16 @@ class GeometryRestriction extends AbstractRestriction_1.AbstractRestriction {
|
|
|
252
273
|
});
|
|
253
274
|
this._object3D.remove(__classPrivateFieldGet(this, _GeometryRestriction_visualizationObject, "f"));
|
|
254
275
|
__classPrivateFieldSet(this, _GeometryRestriction_visualizationObject, new THREE.Object3D(), "f");
|
|
255
|
-
__classPrivateFieldGet(this, _GeometryRestriction_nodes, "f").forEach(node => {
|
|
276
|
+
__classPrivateFieldGet(this, _GeometryRestriction_nodes, "f").forEach((node) => {
|
|
256
277
|
const threeJsObject = node.convertedObject[__classPrivateFieldGet(this, _GeometryRestriction_viewport, "f").id];
|
|
257
278
|
if (threeJsObject) {
|
|
258
279
|
threeJsObject.updateMatrixWorld(true);
|
|
259
280
|
threeJsObject.traverse((object) => {
|
|
260
281
|
if (object instanceof THREE.Mesh) {
|
|
261
282
|
const wireframe = new THREE.WireframeGeometry(object.geometry);
|
|
262
|
-
const line = new THREE.LineSegments(wireframe, new THREE.LineBasicMaterial({
|
|
283
|
+
const line = new THREE.LineSegments(wireframe, new THREE.LineBasicMaterial({
|
|
284
|
+
color: new THREE.Color(__classPrivateFieldGet(this, _GeometryRestriction_wireframeColor, "f")),
|
|
285
|
+
}));
|
|
263
286
|
line.applyMatrix4(object.matrixWorld);
|
|
264
287
|
__classPrivateFieldGet(this, _GeometryRestriction_visualizationObject, "f").add(line);
|
|
265
288
|
}
|
|
@@ -275,19 +298,29 @@ class GeometryRestriction extends AbstractRestriction_1.AbstractRestriction {
|
|
|
275
298
|
// #endregion Protected Methods (1)
|
|
276
299
|
// #region Private Methods (1)
|
|
277
300
|
updateIntersectionThresholds() {
|
|
278
|
-
__classPrivateFieldGet(this, _GeometryRestriction_rayCasterParams, "f").Points.threshold =
|
|
279
|
-
|
|
280
|
-
__classPrivateFieldGet(this, _GeometryRestriction_rayCasterParams, "f").
|
|
301
|
+
__classPrivateFieldGet(this, _GeometryRestriction_rayCasterParams, "f").Points.threshold =
|
|
302
|
+
__classPrivateFieldGet(this, _GeometryRestriction_sceneBoundingSphereRadius, "f") * __classPrivateFieldGet(this, _GeometryRestriction_pointIntersectionPercentage, "f");
|
|
303
|
+
__classPrivateFieldGet(this, _GeometryRestriction_rayCasterParams, "f").Line.threshold =
|
|
304
|
+
__classPrivateFieldGet(this, _GeometryRestriction_sceneBoundingSphereRadius, "f") * __classPrivateFieldGet(this, _GeometryRestriction_lineIntersectionPercentage, "f");
|
|
305
|
+
__classPrivateFieldGet(this, _GeometryRestriction_rayCasterParams, "f").Line2.threshold =
|
|
306
|
+
__classPrivateFieldGet(this, _GeometryRestriction_sceneBoundingSphereRadius, "f") * __classPrivateFieldGet(this, _GeometryRestriction_lineIntersectionPercentage, "f");
|
|
281
307
|
}
|
|
282
308
|
constructRestrictionResult(targetPoint, distanceOriginToClosestIntersectionPoint, closestPointOnRay, geometryRestrictionIntersectionData) {
|
|
283
|
-
const closestPointOnRayVec3 = closestPointOnRay
|
|
309
|
+
const closestPointOnRayVec3 = closestPointOnRay
|
|
310
|
+
? gl_matrix_1.vec3.fromValues(closestPointOnRay.x, closestPointOnRay.y, closestPointOnRay.z)
|
|
311
|
+
: targetPoint;
|
|
284
312
|
return {
|
|
285
|
-
closestIntersectionPoint: closestPointOnRay
|
|
286
|
-
|
|
313
|
+
closestIntersectionPoint: closestPointOnRay
|
|
314
|
+
? gl_matrix_1.vec3.fromValues(closestPointOnRay.x, closestPointOnRay.y, closestPointOnRay.z)
|
|
315
|
+
: targetPoint,
|
|
316
|
+
distanceOriginToClosestIntersectionPointSquared: distanceOriginToClosestIntersectionPoint *
|
|
317
|
+
distanceOriginToClosestIntersectionPoint,
|
|
287
318
|
targetPoint,
|
|
288
|
-
distanceClosestPointToTargetPointSquared: closestPointOnRayVec3 !== targetPoint
|
|
319
|
+
distanceClosestPointToTargetPointSquared: closestPointOnRayVec3 !== targetPoint
|
|
320
|
+
? gl_matrix_1.vec3.sqrDist(closestPointOnRayVec3, targetPoint)
|
|
321
|
+
: 0,
|
|
289
322
|
restriction: this,
|
|
290
|
-
restrictionIntersectionData: geometryRestrictionIntersectionData
|
|
323
|
+
restrictionIntersectionData: geometryRestrictionIntersectionData,
|
|
291
324
|
};
|
|
292
325
|
}
|
|
293
326
|
/**
|
|
@@ -303,10 +336,14 @@ class GeometryRestriction extends AbstractRestriction_1.AbstractRestriction {
|
|
|
303
336
|
checkDistance(point1, point2, radius) {
|
|
304
337
|
if (radius !== undefined) {
|
|
305
338
|
const distance = gl_matrix_1.vec3.sqrDist(point1, point2);
|
|
306
|
-
return {
|
|
339
|
+
return {
|
|
340
|
+
distanceSquared: distance * distance,
|
|
341
|
+
check: distance < radius,
|
|
342
|
+
};
|
|
307
343
|
}
|
|
308
344
|
else {
|
|
309
|
-
return __classPrivateFieldGet(this, _GeometryRestriction_geometryMathManager, "f").screenSpaceDistanceCheck(point1, point2, __classPrivateFieldGet(this, _GeometryRestriction_settings, "f").points.size_0 *
|
|
345
|
+
return __classPrivateFieldGet(this, _GeometryRestriction_geometryMathManager, "f").screenSpaceDistanceCheck(point1, point2, __classPrivateFieldGet(this, _GeometryRestriction_settings, "f").points.size_0 *
|
|
346
|
+
__classPrivateFieldGet(this, _GeometryRestriction_settings, "f").distanceMultiplicationFactor);
|
|
310
347
|
}
|
|
311
348
|
}
|
|
312
349
|
}
|
|
@@ -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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"}
|
|
@@ -1,12 +1,13 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import { IRay } from
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
1
|
+
import { IViewportApi } from "@shapediver/viewer";
|
|
2
|
+
import { ITreeNode } from "@shapediver/viewer.shared.node-tree";
|
|
3
|
+
import { IRay } from "@shapediver/viewer.shared.types";
|
|
4
|
+
import { vec3 } from "gl-matrix";
|
|
5
|
+
import { IRestriction, RestrictionMetaData, RestrictionPropertiesBase, RestrictionResult } from "../../../interfaces/IRestriction";
|
|
6
|
+
import { ISnapRestriction } from "../../../interfaces/ISnapRestriction";
|
|
7
|
+
import { IVisualizationSettings } from "../../../interfaces/IVisualizationSettings";
|
|
8
|
+
import { GeometryMathManager } from "../../GeometryMathManager";
|
|
9
|
+
import { AbstractRestriction } from "../AbstractRestriction";
|
|
10
|
+
import { PointRestriction } from "../point/PointRestriction";
|
|
10
11
|
export interface LineRestrictionProperties extends RestrictionPropertiesBase {
|
|
11
12
|
/**
|
|
12
13
|
* The first point of the line.
|
|
@@ -20,12 +21,22 @@ export interface LineRestrictionProperties extends RestrictionPropertiesBase {
|
|
|
20
21
|
* The radius in which the restriction is active.
|
|
21
22
|
*/
|
|
22
23
|
radius?: number;
|
|
24
|
+
/**
|
|
25
|
+
* The radius of the first point.
|
|
26
|
+
*/
|
|
27
|
+
point1Radius?: number;
|
|
28
|
+
/**
|
|
29
|
+
* The radius of the second point.
|
|
30
|
+
*/
|
|
31
|
+
point2Radius?: number;
|
|
23
32
|
}
|
|
24
33
|
export declare class LineRestriction extends AbstractRestriction implements IRestriction {
|
|
25
34
|
#private;
|
|
26
35
|
constructor(viewport: IViewportApi, geometryMathManager: GeometryMathManager, parentNode: ITreeNode, id: string, settings: IVisualizationSettings, properties: LineRestrictionProperties);
|
|
27
36
|
get point1(): vec3;
|
|
37
|
+
get point1Restriction(): PointRestriction | undefined;
|
|
28
38
|
get point2(): vec3;
|
|
39
|
+
get point2Restriction(): PointRestriction | undefined;
|
|
29
40
|
get radius(): number;
|
|
30
41
|
get snapRestrictions(): {
|
|
31
42
|
[key: string]: ISnapRestriction;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LineRestriction.d.ts","sourceRoot":"","sources":["../../../../src/implementation/restrictions/line/LineRestriction.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"LineRestriction.d.ts","sourceRoot":"","sources":["../../../../src/implementation/restrictions/line/LineRestriction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAC,SAAS,EAAC,MAAM,qCAAqC,CAAC;AAC9D,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,EAEjB,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;AAC3D,OAAO,EAAC,gBAAgB,EAAC,MAAM,2BAA2B,CAAC;AAI3D,MAAM,WAAW,yBAA0B,SAAQ,yBAAyB;IAC3E;;OAEG;IACH,MAAM,EAAE,IAAI,CAAC;IACb;;OAEG;IACH,MAAM,EAAE,IAAI,CAAC;IACb;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;CACtB;AAMD,qBAAa,eACZ,SAAQ,mBACR,YAAW,YAAY;;gBAoBtB,QAAQ,EAAE,YAAY,EACtB,mBAAmB,EAAE,mBAAmB,EACxC,UAAU,EAAE,SAAS,EACrB,EAAE,EAAE,MAAM,EACV,QAAQ,EAAE,sBAAsB,EAChC,UAAU,EAAE,yBAAyB;IAyDtC,IAAW,MAAM,IAAI,IAAI,CAExB;IAED,IAAW,iBAAiB,IAAI,gBAAgB,GAAG,SAAS,CAE3D;IAED,IAAW,MAAM,IAAI,IAAI,CAExB;IAED,IAAW,iBAAiB,IAAI,gBAAgB,GAAG,SAAS,CAE3D;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;IAuDpC,QAAQ,CACd,GAAG,EAAE,IAAI,EACT,QAAQ,CAAC,EAAE,mBAAmB,GAC5B,iBAAiB,GAAG,SAAS;IA4HhC,SAAS,CAAC,iBAAiB,IAAI,IAAI;CAGnC"}
|
|
@@ -10,11 +10,13 @@ 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 _LineRestriction_viewport, _LineRestriction_dragLineLength, _LineRestriction_dragRay, _LineRestriction_point1, _LineRestriction_point2, _LineRestriction_radius, _LineRestriction_snapRestrictions;
|
|
13
|
+
var _LineRestriction_viewport, _LineRestriction_dragLineLength, _LineRestriction_dragRay, _LineRestriction_point1, _LineRestriction_point1Restriction, _LineRestriction_point2, _LineRestriction_point2Restriction, _LineRestriction_radius, _LineRestriction_snapRestrictions;
|
|
14
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
15
|
exports.LineRestriction = void 0;
|
|
16
|
-
const AbstractRestriction_1 = require("../AbstractRestriction");
|
|
17
16
|
const gl_matrix_1 = require("gl-matrix");
|
|
17
|
+
const IRestriction_1 = require("../../../interfaces/IRestriction");
|
|
18
|
+
const AbstractRestriction_1 = require("../AbstractRestriction");
|
|
19
|
+
const PointRestriction_1 = require("../point/PointRestriction");
|
|
18
20
|
// #endregion Type aliases (1)
|
|
19
21
|
// #region Classes (1)
|
|
20
22
|
class LineRestriction extends AbstractRestriction_1.AbstractRestriction {
|
|
@@ -27,18 +29,34 @@ class LineRestriction extends AbstractRestriction_1.AbstractRestriction {
|
|
|
27
29
|
_LineRestriction_dragLineLength.set(this, void 0);
|
|
28
30
|
_LineRestriction_dragRay.set(this, void 0);
|
|
29
31
|
_LineRestriction_point1.set(this, void 0);
|
|
32
|
+
_LineRestriction_point1Restriction.set(this, void 0);
|
|
30
33
|
_LineRestriction_point2.set(this, void 0);
|
|
34
|
+
_LineRestriction_point2Restriction.set(this, void 0);
|
|
31
35
|
_LineRestriction_radius.set(this, void 0);
|
|
32
36
|
_LineRestriction_snapRestrictions.set(this, {});
|
|
33
37
|
__classPrivateFieldSet(this, _LineRestriction_viewport, viewport, "f");
|
|
34
38
|
__classPrivateFieldSet(this, _LineRestriction_point1, properties.point1, "f");
|
|
35
39
|
__classPrivateFieldSet(this, _LineRestriction_point2, properties.point2, "f");
|
|
36
40
|
__classPrivateFieldSet(this, _LineRestriction_radius, properties.radius || 0, "f");
|
|
41
|
+
if (properties.point1Radius !== undefined) {
|
|
42
|
+
__classPrivateFieldSet(this, _LineRestriction_point1Restriction, new PointRestriction_1.PointRestriction(viewport, geometryMathManager, parentNode, id, settings, {
|
|
43
|
+
type: IRestriction_1.RESTRICTION_TYPE.POINT,
|
|
44
|
+
point: properties.point1,
|
|
45
|
+
radius: properties.point1Radius,
|
|
46
|
+
}), "f");
|
|
47
|
+
}
|
|
48
|
+
if (properties.point2Radius !== undefined) {
|
|
49
|
+
__classPrivateFieldSet(this, _LineRestriction_point2Restriction, new PointRestriction_1.PointRestriction(viewport, geometryMathManager, parentNode, id, settings, {
|
|
50
|
+
type: IRestriction_1.RESTRICTION_TYPE.POINT,
|
|
51
|
+
point: properties.point2,
|
|
52
|
+
radius: properties.point2Radius,
|
|
53
|
+
}), "f");
|
|
54
|
+
}
|
|
37
55
|
const direction = gl_matrix_1.vec3.sub(gl_matrix_1.vec3.create(), __classPrivateFieldGet(this, _LineRestriction_point2, "f"), __classPrivateFieldGet(this, _LineRestriction_point1, "f"));
|
|
38
56
|
__classPrivateFieldSet(this, _LineRestriction_dragLineLength, gl_matrix_1.vec3.length(direction), "f");
|
|
39
57
|
__classPrivateFieldSet(this, _LineRestriction_dragRay, {
|
|
40
58
|
origin: __classPrivateFieldGet(this, _LineRestriction_point1, "f"),
|
|
41
|
-
direction: gl_matrix_1.vec3.divide(gl_matrix_1.vec3.create(), direction, gl_matrix_1.vec3.fromValues(__classPrivateFieldGet(this, _LineRestriction_dragLineLength, "f"), __classPrivateFieldGet(this, _LineRestriction_dragLineLength, "f"), __classPrivateFieldGet(this, _LineRestriction_dragLineLength, "f")))
|
|
59
|
+
direction: gl_matrix_1.vec3.divide(gl_matrix_1.vec3.create(), direction, gl_matrix_1.vec3.fromValues(__classPrivateFieldGet(this, _LineRestriction_dragLineLength, "f"), __classPrivateFieldGet(this, _LineRestriction_dragLineLength, "f"), __classPrivateFieldGet(this, _LineRestriction_dragLineLength, "f"))),
|
|
42
60
|
}, "f");
|
|
43
61
|
}
|
|
44
62
|
// #endregion Constructors (1)
|
|
@@ -46,9 +64,15 @@ class LineRestriction extends AbstractRestriction_1.AbstractRestriction {
|
|
|
46
64
|
get point1() {
|
|
47
65
|
return __classPrivateFieldGet(this, _LineRestriction_point1, "f");
|
|
48
66
|
}
|
|
67
|
+
get point1Restriction() {
|
|
68
|
+
return __classPrivateFieldGet(this, _LineRestriction_point1Restriction, "f");
|
|
69
|
+
}
|
|
49
70
|
get point2() {
|
|
50
71
|
return __classPrivateFieldGet(this, _LineRestriction_point2, "f");
|
|
51
72
|
}
|
|
73
|
+
get point2Restriction() {
|
|
74
|
+
return __classPrivateFieldGet(this, _LineRestriction_point2Restriction, "f");
|
|
75
|
+
}
|
|
52
76
|
get radius() {
|
|
53
77
|
return __classPrivateFieldGet(this, _LineRestriction_radius, "f");
|
|
54
78
|
}
|
|
@@ -58,21 +82,35 @@ class LineRestriction extends AbstractRestriction_1.AbstractRestriction {
|
|
|
58
82
|
// #endregion Public Getters And Setters (5)
|
|
59
83
|
// #region Public Methods (1)
|
|
60
84
|
isWithinRadius(point) {
|
|
85
|
+
var _a, _b;
|
|
61
86
|
// Check distance from point to the start of the cylinder
|
|
62
87
|
const distance = gl_matrix_1.vec3.squaredDistance(point, __classPrivateFieldGet(this, _LineRestriction_point1, "f"));
|
|
63
|
-
|
|
88
|
+
const squaredRadius1 = ((_a = __classPrivateFieldGet(this, _LineRestriction_point1Restriction, "f")) === null || _a === void 0 ? void 0 : _a.radius)
|
|
89
|
+
? __classPrivateFieldGet(this, _LineRestriction_radius, "f") > __classPrivateFieldGet(this, _LineRestriction_point1Restriction, "f").radius
|
|
90
|
+
? __classPrivateFieldGet(this, _LineRestriction_radius, "f") * __classPrivateFieldGet(this, _LineRestriction_radius, "f")
|
|
91
|
+
: __classPrivateFieldGet(this, _LineRestriction_point1Restriction, "f").radius *
|
|
92
|
+
__classPrivateFieldGet(this, _LineRestriction_point1Restriction, "f").radius
|
|
93
|
+
: __classPrivateFieldGet(this, _LineRestriction_radius, "f") * __classPrivateFieldGet(this, _LineRestriction_radius, "f");
|
|
94
|
+
if (distance < squaredRadius1) {
|
|
64
95
|
return true;
|
|
65
96
|
}
|
|
66
97
|
// Check distance from point to the end of the cylinder
|
|
67
98
|
const distance2 = gl_matrix_1.vec3.squaredDistance(point, __classPrivateFieldGet(this, _LineRestriction_point2, "f"));
|
|
68
|
-
|
|
99
|
+
const squaredRadius2 = ((_b = __classPrivateFieldGet(this, _LineRestriction_point2Restriction, "f")) === null || _b === void 0 ? void 0 : _b.radius)
|
|
100
|
+
? __classPrivateFieldGet(this, _LineRestriction_radius, "f") > __classPrivateFieldGet(this, _LineRestriction_point2Restriction, "f").radius
|
|
101
|
+
? __classPrivateFieldGet(this, _LineRestriction_radius, "f") * __classPrivateFieldGet(this, _LineRestriction_radius, "f")
|
|
102
|
+
: __classPrivateFieldGet(this, _LineRestriction_point2Restriction, "f").radius *
|
|
103
|
+
__classPrivateFieldGet(this, _LineRestriction_point2Restriction, "f").radius
|
|
104
|
+
: __classPrivateFieldGet(this, _LineRestriction_radius, "f") * __classPrivateFieldGet(this, _LineRestriction_radius, "f");
|
|
105
|
+
if (distance2 < squaredRadius2) {
|
|
69
106
|
return true;
|
|
70
107
|
}
|
|
71
108
|
// Calculate the closest point on the line segment (between point1 and point2)
|
|
72
109
|
const lineDir = gl_matrix_1.vec3.sub(gl_matrix_1.vec3.create(), __classPrivateFieldGet(this, _LineRestriction_point2, "f"), __classPrivateFieldGet(this, _LineRestriction_point1, "f")); // Direction of the line segment
|
|
73
110
|
const lineLengthSquared = gl_matrix_1.vec3.squaredLength(lineDir);
|
|
74
111
|
// Project the point onto the line (scaled projection)
|
|
75
|
-
const projection = gl_matrix_1.vec3.dot(gl_matrix_1.vec3.sub(gl_matrix_1.vec3.create(), point, __classPrivateFieldGet(this, _LineRestriction_point1, "f")), lineDir) /
|
|
112
|
+
const projection = gl_matrix_1.vec3.dot(gl_matrix_1.vec3.sub(gl_matrix_1.vec3.create(), point, __classPrivateFieldGet(this, _LineRestriction_point1, "f")), lineDir) /
|
|
113
|
+
lineLengthSquared;
|
|
76
114
|
// Clamp the projection value to ensure it's within the line segment
|
|
77
115
|
const clampedProjection = Math.max(0, Math.min(1, projection));
|
|
78
116
|
// Calculate the closest point on the segment
|
|
@@ -108,6 +146,25 @@ class LineRestriction extends AbstractRestriction_1.AbstractRestriction {
|
|
|
108
146
|
else {
|
|
109
147
|
gl_matrix_1.vec3.copy(pointB, __classPrivateFieldGet(this, _LineRestriction_point2, "f"));
|
|
110
148
|
}
|
|
149
|
+
// first, check the simple cases
|
|
150
|
+
// if there the restrictions for the points are set, we need to check them
|
|
151
|
+
const result1 = __classPrivateFieldGet(this, _LineRestriction_point1Restriction, "f")
|
|
152
|
+
? __classPrivateFieldGet(this, _LineRestriction_point1Restriction, "f").rayTrace(ray)
|
|
153
|
+
: undefined;
|
|
154
|
+
const result2 = __classPrivateFieldGet(this, _LineRestriction_point2Restriction, "f")
|
|
155
|
+
? __classPrivateFieldGet(this, _LineRestriction_point2Restriction, "f").rayTrace(ray)
|
|
156
|
+
: undefined;
|
|
157
|
+
// return the closest result
|
|
158
|
+
if (result1 || result2) {
|
|
159
|
+
if (result1 && result2) {
|
|
160
|
+
if (result1.distanceOriginToClosestIntersectionPointSquared <
|
|
161
|
+
result2.distanceOriginToClosestIntersectionPointSquared) {
|
|
162
|
+
return result1;
|
|
163
|
+
}
|
|
164
|
+
return result2;
|
|
165
|
+
}
|
|
166
|
+
return result1 || result2;
|
|
167
|
+
}
|
|
111
168
|
const distance = gl_matrix_1.vec3.squaredDistance(pointA, pointB);
|
|
112
169
|
if (distance < __classPrivateFieldGet(this, _LineRestriction_radius, "f") * __classPrivateFieldGet(this, _LineRestriction_radius, "f")) {
|
|
113
170
|
// check if origin is inside the cylinder
|
|
@@ -118,7 +175,7 @@ class LineRestriction extends AbstractRestriction_1.AbstractRestriction {
|
|
|
118
175
|
distanceOriginToClosestIntersectionPointSquared: gl_matrix_1.vec3.sqrDist(ray.origin, pointA),
|
|
119
176
|
targetPoint: pointB,
|
|
120
177
|
distanceClosestPointToTargetPointSquared: distance,
|
|
121
|
-
restriction: this
|
|
178
|
+
restriction: this,
|
|
122
179
|
};
|
|
123
180
|
}
|
|
124
181
|
// now we calculate the closest point on the cylinder to the ray
|
|
@@ -131,7 +188,7 @@ class LineRestriction extends AbstractRestriction_1.AbstractRestriction {
|
|
|
131
188
|
distanceOriginToClosestIntersectionPointSquared: entry * entry,
|
|
132
189
|
targetPoint: pointB,
|
|
133
190
|
distanceClosestPointToTargetPointSquared: distance,
|
|
134
|
-
restriction: this
|
|
191
|
+
restriction: this,
|
|
135
192
|
};
|
|
136
193
|
}
|
|
137
194
|
return;
|
|
@@ -141,6 +198,6 @@ class LineRestriction extends AbstractRestriction_1.AbstractRestriction {
|
|
|
141
198
|
visibilityChanged() { }
|
|
142
199
|
}
|
|
143
200
|
exports.LineRestriction = LineRestriction;
|
|
144
|
-
_LineRestriction_viewport = new WeakMap(), _LineRestriction_dragLineLength = new WeakMap(), _LineRestriction_dragRay = new WeakMap(), _LineRestriction_point1 = new WeakMap(), _LineRestriction_point2 = new WeakMap(), _LineRestriction_radius = new WeakMap(), _LineRestriction_snapRestrictions = new WeakMap();
|
|
201
|
+
_LineRestriction_viewport = new WeakMap(), _LineRestriction_dragLineLength = new WeakMap(), _LineRestriction_dragRay = new WeakMap(), _LineRestriction_point1 = new WeakMap(), _LineRestriction_point1Restriction = new WeakMap(), _LineRestriction_point2 = new WeakMap(), _LineRestriction_point2Restriction = new WeakMap(), _LineRestriction_radius = new WeakMap(), _LineRestriction_snapRestrictions = new WeakMap();
|
|
145
202
|
// #endregion Classes (1)
|
|
146
203
|
//# sourceMappingURL=LineRestriction.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LineRestriction.js","sourceRoot":"","sources":["../../../../src/implementation/restrictions/line/LineRestriction.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"LineRestriction.js","sourceRoot":"","sources":["../../../../src/implementation/restrictions/line/LineRestriction.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
1
|
+
import { ITreeNode, IViewportApi } from "@shapediver/viewer";
|
|
2
|
+
import { IRay } from "@shapediver/viewer.shared.types";
|
|
3
|
+
import { mat4, 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
|
+
import { AngularRestriction, AngularRestrictionProperties } from "./snap/AngularRestriction";
|
|
10
|
+
import { AxisRestriction, AxisRestrictionProperties } from "./snap/AxisRestriction";
|
|
11
|
+
import { GridRestriction, GridRestrictionProperties } from "./snap/GridRestriction";
|
|
12
12
|
export interface PlaneRestrictionProperties extends RestrictionPropertiesBase {
|
|
13
13
|
/**
|
|
14
14
|
* The origin of the plane.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PlaneRestriction.d.ts","sourceRoot":"","sources":["../../../../src/implementation/restrictions/plane/PlaneRestriction.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"PlaneRestriction.d.ts","sourceRoot":"","sources":["../../../../src/implementation/restrictions/plane/PlaneRestriction.ts"],"names":[],"mappings":"AAAA,OAAO,EAIN,SAAS,EACT,YAAY,EAEZ,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAC,IAAI,EAAC,MAAM,iCAAiC,CAAC;AACrD,OAAO,EAAC,IAAI,EAAE,IAAI,EAAC,MAAM,WAAW,CAAC;AACrC,OAAO,EACN,YAAY,EAGZ,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;AAC3D,OAAO,EACN,kBAAkB,EAClB,4BAA4B,EAC5B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACN,eAAe,EACf,yBAAyB,EACzB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACN,eAAe,EACf,yBAAyB,EACzB,MAAM,wBAAwB,CAAC;AAIhC,MAAM,WAAW,0BAA2B,SAAQ,yBAAyB;IAC5E;;;;OAIG;IACH,MAAM,CAAC,EAAE,IAAI,CAAC;IAEd;;;OAGG;IACH,QAAQ,CAAC,EAAE,IAAI,CAAC;IAEhB;;;OAGG;IACH,QAAQ,CAAC,EAAE,IAAI,CAAC;IAEhB;;OAEG;IACH,mBAAmB,CAAC,EAAE,yBAAyB,CAAC;IAEhD;;OAEG;IACH,sBAAsB,CAAC,EAAE,4BAA4B,CAAC;IAEtD;;OAEG;IACH,mBAAmB,CAAC,EAAE,yBAAyB,CAAC;CAChD;AAMD,qBAAa,gBACZ,SAAQ,mBACR,YAAW,YAAY;;gBAyBtB,QAAQ,EAAE,YAAY,EACtB,mBAAmB,EAAE,mBAAmB,EACxC,UAAU,EAAE,SAAS,EACrB,EAAE,EAAE,MAAM,EACV,QAAQ,EAAE,sBAAsB,EAChC,UAAU,EAAE,0BAA0B;IA4CvC,IAAW,kBAAkB,IAAI,kBAAkB,CAElD;IAED,IAAW,eAAe,IAAI,eAAe,CAE5C;IAED,IAAW,eAAe,IAAI,eAAe,CAE5C;IAED,IAAW,MAAM,IAAI,IAAI,CAExB;IAED,IAAW,MAAM,IAAI,IAAI,CAExB;IAED,IAAW,MAAM,CAAC,KAAK,EAAE,IAAI,EAG5B;IAED,IAAW,gBAAgB,IAAI;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,gBAAgB,CAAA;KAAC,CAE/D;IAED,IAAW,+BAA+B,IAAI,IAAI,CAEjD;IAED,IAAW,6BAA6B,IAAI,IAAI,CAE/C;IAED,IAAW,OAAO,IAAI,IAAI,CAEzB;IAED,IAAW,OAAO,CAAC,KAAK,EAAE,IAAI,EAG7B;IAED,IAAW,OAAO,IAAI,IAAI,CAEzB;IAED,IAAW,OAAO,CAAC,KAAK,EAAE,IAAI,EAG7B;IAMM,QAAQ,CACd,GAAG,EAAE,IAAI,EACT,QAAQ,CAAC,EAAE,mBAAmB,GAC5B,iBAAiB,GAAG,SAAS;IA+DhC,SAAS,CAAC,iBAAiB,IAAI,IAAI;IAMnC,OAAO,CAAC,kBAAkB;IAuC1B,OAAO,CAAC,4BAA4B;IA4DpC,OAAO,CAAC,IAAI;IAwEZ,OAAO,CAAC,qBAAqB;CA2E7B"}
|