x_ite 8.6.11 → 8.6.12

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 (94) hide show
  1. package/dist/assets/components/Annotation.js +13 -13
  2. package/dist/assets/components/Annotation.min.js +1 -1
  3. package/dist/assets/components/CADGeometry.js +21 -45
  4. package/dist/assets/components/CADGeometry.min.js +1 -1
  5. package/dist/assets/components/CubeMapTexturing.js +25 -25
  6. package/dist/assets/components/CubeMapTexturing.min.js +1 -1
  7. package/dist/assets/components/DIS.js +13 -13
  8. package/dist/assets/components/DIS.min.js +1 -1
  9. package/dist/assets/components/EventUtilities.js +9 -9
  10. package/dist/assets/components/EventUtilities.min.js +1 -1
  11. package/dist/assets/components/Geometry2D.js +19 -19
  12. package/dist/assets/components/Geometry2D.min.js +1 -1
  13. package/dist/assets/components/Geospatial.js +33 -33
  14. package/dist/assets/components/Geospatial.min.js +1 -1
  15. package/dist/assets/components/HAnim.js +18 -18
  16. package/dist/assets/components/HAnim.min.js +1 -1
  17. package/dist/assets/components/KeyDeviceSensor.js +8 -8
  18. package/dist/assets/components/KeyDeviceSensor.min.js +1 -1
  19. package/dist/assets/components/Layout.js +48 -42
  20. package/dist/assets/components/Layout.min.js +1 -1
  21. package/dist/assets/components/NURBS.js +24 -24
  22. package/dist/assets/components/NURBS.min.js +1 -1
  23. package/dist/assets/components/ParticleSystems.js +136 -26
  24. package/dist/assets/components/ParticleSystems.min.js +1 -1
  25. package/dist/assets/components/Picking.js +132 -22
  26. package/dist/assets/components/Picking.min.js +1 -1
  27. package/dist/assets/components/RigidBodyPhysics.js +32 -76
  28. package/dist/assets/components/RigidBodyPhysics.min.js +1 -1
  29. package/dist/assets/components/Scripting.js +28 -28
  30. package/dist/assets/components/Scripting.min.js +1 -1
  31. package/dist/assets/components/Text.js +24 -24
  32. package/dist/assets/components/Text.min.js +1 -1
  33. package/dist/assets/components/TextureProjector.js +14 -14
  34. package/dist/assets/components/TextureProjector.min.js +1 -1
  35. package/dist/assets/components/Texturing3D.js +30 -30
  36. package/dist/assets/components/Texturing3D.min.js +1 -1
  37. package/dist/assets/components/VolumeRendering.js +19 -19
  38. package/dist/assets/components/VolumeRendering.min.js +1 -1
  39. package/dist/assets/components/X_ITE.js +9 -9
  40. package/dist/assets/components/X_ITE.min.js +1 -1
  41. package/dist/x_ite.css +1 -1
  42. package/dist/x_ite.js +284 -359
  43. package/dist/x_ite.min.js +1 -1
  44. package/dist/x_ite.zip +0 -0
  45. package/docs/_config.yml +1 -1
  46. package/docs/_posts/components/Geometry3D/IndexedFaceSet.md +1 -1
  47. package/docs/_posts/components/Lighting/DirectionalLight.md +4 -4
  48. package/docs/_posts/components/Lighting/EnvironmentLight.md +4 -4
  49. package/docs/_posts/components/Lighting/PointLight.md +4 -4
  50. package/docs/_posts/components/Lighting/SpotLight.md +4 -4
  51. package/docs/_posts/components/Rendering/IndexedLineSet.md +1 -1
  52. package/docs/_posts/components/Rendering/IndexedTriangleFanSet.md +1 -1
  53. package/docs/_posts/components/RigidBodyPhysics/RigidBody.md +1 -1
  54. package/docs/_posts/components/RigidBodyPhysics/RigidBodyCollection.md +1 -1
  55. package/docs/_posts/components/RigidBodyPhysics/SingleAxisHingeJoint.md +1 -1
  56. package/docs/_posts/components/RigidBodyPhysics/SliderJoint.md +3 -3
  57. package/docs/_posts/components/X_ITE/BlendMode.md +1 -1
  58. package/docs/_posts/getting-started.md +8 -3
  59. package/docs/_posts/reference/browser-services.md +1 -1
  60. package/docs/_posts/reference/ecmascript-object-and-function-definitions.md +16 -99
  61. package/docs/_posts/what's-new.md +1 -1
  62. package/package.json +3 -3
  63. package/src/lib/jquery.js +6 -1
  64. package/src/standard/Math/Geometry/Box3.js +2 -5
  65. package/src/x_ite/Base/X3DBaseNode.js +8 -0
  66. package/src/x_ite/Base/X3DObject.js +14 -1
  67. package/src/x_ite/Browser/Core/BrowserOptions.js +27 -29
  68. package/src/x_ite/Browser/Core/BrowserTimings.js +2 -16
  69. package/src/x_ite/Browser/Core/X3DCoreContext.js +5 -0
  70. package/src/x_ite/Browser/Navigation/X3DFlyViewer.js +3 -3
  71. package/src/x_ite/Browser/Networking/X3DNetworkingContext.js +20 -15
  72. package/src/x_ite/Browser/PointingDeviceSensor/PointingDevice.js +3 -3
  73. package/src/x_ite/Browser/VERSION.js +1 -1
  74. package/src/x_ite/Browser/X3DBrowser.js +2 -2
  75. package/src/x_ite/Browser/X3DBrowserContext.js +21 -12
  76. package/src/x_ite/Components/CADGeometry/CADFace.js +8 -32
  77. package/src/x_ite/Components/Core/X3DNode.js +1 -1
  78. package/src/x_ite/Components/Core/X3DPrototypeInstance.js +1 -1
  79. package/src/x_ite/Components/Grouping/StaticGroup.js +19 -0
  80. package/src/x_ite/Components/Grouping/Switch.js +7 -25
  81. package/src/x_ite/Components/Grouping/X3DBoundedObject.js +0 -1
  82. package/src/x_ite/Components/Layout/Layout.js +12 -10
  83. package/src/x_ite/Components/Layout/LayoutGroup.js +9 -5
  84. package/src/x_ite/Components/Navigation/LOD.js +7 -25
  85. package/src/x_ite/Components/Navigation/X3DViewpointNode.js +1 -1
  86. package/src/x_ite/Components/Rendering/X3DLineGeometryNode.js +15 -8
  87. package/src/x_ite/Components/RigidBodyPhysics/CollidableOffset.js +7 -29
  88. package/src/x_ite/Components/RigidBodyPhysics/CollidableShape.js +7 -29
  89. package/src/x_ite/Components/Shaders/X3DProgrammableShaderObject.js +3 -8
  90. package/src/x_ite/Components/Shape/Shape.js +0 -5
  91. package/src/x_ite/Components/Shape/X3DShapeNode.js +21 -17
  92. package/src/x_ite/Fields/SFNode.js +8 -0
  93. package/src/x_ite/{X3DCanvas.js → X3DCanvasElement.js} +23 -4
  94. package/src/x_ite.js +4 -4
@@ -1,4 +1,4 @@
1
- /* X_ITE v8.6.11 */(() => { // webpackBootstrap
1
+ /* X_ITE v8.6.12 */(() => { // webpackBootstrap
2
2
  /******/ "use strict";
3
3
  /******/ // The require scope
4
4
  /******/ var __webpack_require__ = {};
@@ -39,28 +39,28 @@ var __webpack_exports__ = {};
39
39
  // UNUSED EXPORTS: default
40
40
 
41
41
  ;// CONCATENATED MODULE: external "window [Symbol .for (\"X_ITE.X3D\")] .require (\"x_ite/Components\")"
42
- const Components_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.6.11")] .require ("x_ite/Components");
42
+ const Components_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.6.12")] .require ("x_ite/Components");
43
43
  var Components_default = /*#__PURE__*/__webpack_require__.n(Components_namespaceObject);
44
44
  ;// CONCATENATED MODULE: external "window [Symbol .for (\"X_ITE.X3D\")] .require (\"x_ite/Fields\")"
45
- const Fields_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.6.11")] .require ("x_ite/Fields");
45
+ const Fields_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.6.12")] .require ("x_ite/Fields");
46
46
  var Fields_default = /*#__PURE__*/__webpack_require__.n(Fields_namespaceObject);
47
47
  ;// CONCATENATED MODULE: external "window [Symbol .for (\"X_ITE.X3D\")] .require (\"x_ite/Base/X3DFieldDefinition\")"
48
- const X3DFieldDefinition_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.6.11")] .require ("x_ite/Base/X3DFieldDefinition");
48
+ const X3DFieldDefinition_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.6.12")] .require ("x_ite/Base/X3DFieldDefinition");
49
49
  var X3DFieldDefinition_default = /*#__PURE__*/__webpack_require__.n(X3DFieldDefinition_namespaceObject);
50
50
  ;// CONCATENATED MODULE: external "window [Symbol .for (\"X_ITE.X3D\")] .require (\"x_ite/Base/FieldDefinitionArray\")"
51
- const FieldDefinitionArray_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.6.11")] .require ("x_ite/Base/FieldDefinitionArray");
51
+ const FieldDefinitionArray_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.6.12")] .require ("x_ite/Base/FieldDefinitionArray");
52
52
  var FieldDefinitionArray_default = /*#__PURE__*/__webpack_require__.n(FieldDefinitionArray_namespaceObject);
53
53
  ;// CONCATENATED MODULE: external "window [Symbol .for (\"X_ITE.X3D\")] .require (\"x_ite/Components/Core/X3DSensorNode\")"
54
- const X3DSensorNode_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.6.11")] .require ("x_ite/Components/Core/X3DSensorNode");
54
+ const X3DSensorNode_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.6.12")] .require ("x_ite/Components/Core/X3DSensorNode");
55
55
  var X3DSensorNode_default = /*#__PURE__*/__webpack_require__.n(X3DSensorNode_namespaceObject);
56
56
  ;// CONCATENATED MODULE: external "window [Symbol .for (\"X_ITE.X3D\")] .require (\"x_ite/Rendering/TraverseType\")"
57
- const TraverseType_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.6.11")] .require ("x_ite/Rendering/TraverseType");
57
+ const TraverseType_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.6.12")] .require ("x_ite/Rendering/TraverseType");
58
58
  var TraverseType_default = /*#__PURE__*/__webpack_require__.n(TraverseType_namespaceObject);
59
59
  ;// CONCATENATED MODULE: external "window [Symbol .for (\"X_ITE.X3D\")] .require (\"x_ite/Base/X3DConstants\")"
60
- const X3DConstants_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.6.11")] .require ("x_ite/Base/X3DConstants");
60
+ const X3DConstants_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.6.12")] .require ("x_ite/Base/X3DConstants");
61
61
  var X3DConstants_default = /*#__PURE__*/__webpack_require__.n(X3DConstants_namespaceObject);
62
62
  ;// CONCATENATED MODULE: external "window [Symbol .for (\"X_ITE.X3D\")] .require (\"x_ite/Namespace\")"
63
- const Namespace_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.6.11")] .require ("x_ite/Namespace");
63
+ const Namespace_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.6.12")] .require ("x_ite/Namespace");
64
64
  var Namespace_default = /*#__PURE__*/__webpack_require__.n(Namespace_namespaceObject);
65
65
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Picking/MatchCriterion.js
66
66
  /*******************************************************************************
@@ -249,13 +249,123 @@ const SortOrder_default_ = SortOrder;
249
249
  Namespace_default().set ("x_ite/Browser/Picking/SortOrder", SortOrder_default_);
250
250
  /* harmony default export */ const Picking_SortOrder = (SortOrder_default_);
251
251
  ;// CONCATENATED MODULE: external "window [Symbol .for (\"X_ITE.X3D\")] .require (\"standard/Math/Numbers/Matrix4\")"
252
- const Matrix4_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.6.11")] .require ("standard/Math/Numbers/Matrix4");
252
+ const Matrix4_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.6.12")] .require ("standard/Math/Numbers/Matrix4");
253
253
  var Matrix4_default = /*#__PURE__*/__webpack_require__.n(Matrix4_namespaceObject);
254
- ;// CONCATENATED MODULE: external "window [Symbol .for (\"X_ITE.X3D\")] .require (\"standard/Math/Algorithms/QuickSort\")"
255
- const QuickSort_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.6.11")] .require ("standard/Math/Algorithms/QuickSort");
256
- var QuickSort_default = /*#__PURE__*/__webpack_require__.n(QuickSort_namespaceObject);
254
+ ;// CONCATENATED MODULE: ./src/standard/Math/Algorithms/QuickSort.js
255
+ /*******************************************************************************
256
+ *
257
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
258
+ *
259
+ * Copyright create3000, Scheffelstraße 31a, Leipzig, Germany 2011 - 2022.
260
+ *
261
+ * All rights reserved. Holger Seelig <holger.seelig@yahoo.de>.
262
+ *
263
+ * The copyright notice above does not evidence any actual of intended
264
+ * publication of such source code, and is an unpublished work by create3000.
265
+ * This material contains CONFIDENTIAL INFORMATION that is the property of
266
+ * create3000.
267
+ *
268
+ * No permission is granted to copy, distribute, or create derivative works from
269
+ * the contents of this software, in whole or in part, without the prior written
270
+ * permission of create3000.
271
+ *
272
+ * NON-MILITARY USE ONLY
273
+ *
274
+ * All create3000 software are effectively free software with a non-military use
275
+ * restriction. It is free. Well commented source is provided. You may reuse the
276
+ * source in any way you please with the exception anything that uses it must be
277
+ * marked to indicate is contains 'non-military use only' components.
278
+ *
279
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
280
+ *
281
+ * Copyright 2011 - 2022, Holger Seelig <holger.seelig@yahoo.de>.
282
+ *
283
+ * This file is part of the X_ITE Project.
284
+ *
285
+ * X_ITE is free software: you can redistribute it and/or modify it under the
286
+ * terms of the GNU General Public License version 3 only, as published by the
287
+ * Free Software Foundation.
288
+ *
289
+ * X_ITE is distributed in the hope that it will be useful, but WITHOUT ANY
290
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
291
+ * A PARTICULAR PURPOSE. See the GNU General Public License version 3 for more
292
+ * details (a copy is included in the LICENSE file that accompanied this code).
293
+ *
294
+ * You should have received a copy of the GNU General Public License version 3
295
+ * along with X_ITE. If not, see <https://www.gnu.org/licenses/gpl.html> for a
296
+ * copy of the GPLv3 License.
297
+ *
298
+ * For Silvio, Joy and Adi.
299
+ *
300
+ ******************************************************************************/
301
+
302
+ function QuickSort (array, compare)
303
+ {
304
+ this .array = array;
305
+
306
+ if (compare)
307
+ this .compare = compare;
308
+ }
309
+
310
+ QuickSort .prototype =
311
+ {
312
+ compare: function (lhs, rhs)
313
+ {
314
+ return lhs < rhs;
315
+ },
316
+ sort: function (first, last)
317
+ {
318
+ if (last - first > 1)
319
+ this .quicksort (first, last - 1);
320
+ },
321
+ quicksort: function (lo, hi)
322
+ {
323
+ let
324
+ i = lo,
325
+ j = hi;
326
+
327
+ const
328
+ array = this .array,
329
+ compare = this .compare;
330
+
331
+ // Vergleichs­element x
332
+ const x = array [(lo + hi) >>> 1];
333
+
334
+ for (;;)
335
+ {
336
+ while (compare (array [i], x)) ++ i;
337
+ while (compare (x, array [j])) -- j;
338
+
339
+ if (i < j)
340
+ {
341
+ // Exchange
342
+
343
+ const t = array [i];
344
+ array [i] = array [j];
345
+ array [j] = t;
346
+
347
+ i ++; j --;
348
+ }
349
+ else
350
+ {
351
+ if (i === j) ++ i, -- j;
352
+ break;
353
+ }
354
+ }
355
+
356
+ // Rekursion
357
+ if (lo < j) this .quicksort (lo, j);
358
+ if (i < hi) this .quicksort (i, hi);
359
+ },
360
+ };
361
+
362
+ const QuickSort_default_ = QuickSort;
363
+ ;
364
+
365
+ Namespace_default().set ("standard/Math/Algorithms/QuickSort", QuickSort_default_);
366
+ /* harmony default export */ const Algorithms_QuickSort = (QuickSort_default_);
257
367
  ;// CONCATENATED MODULE: external "window [Symbol .for (\"X_ITE.X3D\")] .require (\"standard/Utility/ObjectCache\")"
258
- const ObjectCache_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.6.11")] .require ("standard/Utility/ObjectCache");
368
+ const ObjectCache_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.6.12")] .require ("standard/Utility/ObjectCache");
259
369
  var ObjectCache_default = /*#__PURE__*/__webpack_require__.n(ObjectCache_namespaceObject);
260
370
  ;// CONCATENATED MODULE: ./src/x_ite/Components/Picking/X3DPickSensorNode.js
261
371
  /*******************************************************************************
@@ -334,7 +444,7 @@ function X3DPickSensorNode (executionContext)
334
444
  this .targets = [ ];
335
445
  this .targets .size = 0;
336
446
  this .pickedTargets = [ ];
337
- this .pickedTargetsSorter = new (QuickSort_default()) (this .pickedTargets, compareDistance);
447
+ this .pickedTargetsSorter = new Algorithms_QuickSort (this .pickedTargets, compareDistance);
338
448
  this .pickedGeometries = new (Fields_default()).MFNode (); // Must be unique for each X3DPickSensorNode.
339
449
  }
340
450
 
@@ -693,13 +803,13 @@ const X3DPickSensorNode_default_ = X3DPickSensorNode;
693
803
  Namespace_default().set ("x_ite/Components/Picking/X3DPickSensorNode", X3DPickSensorNode_default_);
694
804
  /* harmony default export */ const Picking_X3DPickSensorNode = (X3DPickSensorNode_default_);
695
805
  ;// CONCATENATED MODULE: external "window [Symbol .for (\"X_ITE.X3D\")] .require (\"standard/Math/Numbers/Vector3\")"
696
- const Vector3_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.6.11")] .require ("standard/Math/Numbers/Vector3");
806
+ const Vector3_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.6.12")] .require ("standard/Math/Numbers/Vector3");
697
807
  var Vector3_default = /*#__PURE__*/__webpack_require__.n(Vector3_namespaceObject);
698
808
  ;// CONCATENATED MODULE: external "window [Symbol .for (\"X_ITE.X3D\")] .require (\"standard/Math/Geometry/Box3\")"
699
- const Box3_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.6.11")] .require ("standard/Math/Geometry/Box3");
809
+ const Box3_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.6.12")] .require ("standard/Math/Geometry/Box3");
700
810
  var Box3_default = /*#__PURE__*/__webpack_require__.n(Box3_namespaceObject);
701
811
  ;// CONCATENATED MODULE: external "window [Symbol .for (\"X_ITE.X3D\")] .require (\"standard/Math/Geometry/Line3\")"
702
- const Line3_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.6.11")] .require ("standard/Math/Geometry/Line3");
812
+ const Line3_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.6.12")] .require ("standard/Math/Geometry/Line3");
703
813
  var Line3_default = /*#__PURE__*/__webpack_require__.n(Line3_namespaceObject);
704
814
  ;// CONCATENATED MODULE: ./src/x_ite/Components/Picking/LinePickSensor.js
705
815
  /*******************************************************************************
@@ -1031,7 +1141,7 @@ const LinePickSensor_default_ = LinePickSensor;
1031
1141
  Namespace_default().set ("x_ite/Components/Picking/LinePickSensor", LinePickSensor_default_);
1032
1142
  /* harmony default export */ const Picking_LinePickSensor = (LinePickSensor_default_);
1033
1143
  ;// CONCATENATED MODULE: external "window [Symbol .for (\"X_ITE.X3D\")] .require (\"x_ite/Components/Grouping/X3DGroupingNode\")"
1034
- const X3DGroupingNode_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.6.11")] .require ("x_ite/Components/Grouping/X3DGroupingNode");
1144
+ const X3DGroupingNode_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.6.12")] .require ("x_ite/Components/Grouping/X3DGroupingNode");
1035
1145
  var X3DGroupingNode_default = /*#__PURE__*/__webpack_require__.n(X3DGroupingNode_namespaceObject);
1036
1146
  ;// CONCATENATED MODULE: ./src/x_ite/Components/Picking/X3DPickableObject.js
1037
1147
  /*******************************************************************************
@@ -1334,13 +1444,13 @@ const PickableGroup_default_ = PickableGroup;
1334
1444
  Namespace_default().set ("x_ite/Components/Picking/PickableGroup", PickableGroup_default_);
1335
1445
  /* harmony default export */ const Picking_PickableGroup = (PickableGroup_default_);
1336
1446
  ;// CONCATENATED MODULE: external "window [Symbol .for (\"X_ITE.X3D\")] .require (\"x_ite/Base/X3DCast\")"
1337
- const X3DCast_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.6.11")] .require ("x_ite/Base/X3DCast");
1447
+ const X3DCast_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.6.12")] .require ("x_ite/Base/X3DCast");
1338
1448
  var X3DCast_default = /*#__PURE__*/__webpack_require__.n(X3DCast_namespaceObject);
1339
1449
  ;// CONCATENATED MODULE: external "window [Symbol .for (\"X_ITE.X3D\")] .require (\"standard/Math/Numbers/Rotation4\")"
1340
- const Rotation4_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.6.11")] .require ("standard/Math/Numbers/Rotation4");
1450
+ const Rotation4_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.6.12")] .require ("standard/Math/Numbers/Rotation4");
1341
1451
  var Rotation4_default = /*#__PURE__*/__webpack_require__.n(Rotation4_namespaceObject);
1342
1452
  ;// CONCATENATED MODULE: external "window [Symbol .for (\"X_ITE.X3D\")] .require (\"lib/ammojs/AmmoClass\")"
1343
- const AmmoClass_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.6.11")] .require ("lib/ammojs/AmmoClass");
1453
+ const AmmoClass_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.6.12")] .require ("lib/ammojs/AmmoClass");
1344
1454
  var AmmoClass_default = /*#__PURE__*/__webpack_require__.n(AmmoClass_namespaceObject);
1345
1455
  ;// CONCATENATED MODULE: ./src/x_ite/Browser/Picking/VolumePicker.js
1346
1456
  /*******************************************************************************
@@ -1 +1 @@
1
- /* X_ITE v8.6.11 */(()=>{"use strict";var e={n:t=>{var i=t&&t.__esModule?()=>t.default:()=>t;return e.d(i,{a:i}),i},d:(t,i)=>{for(var n in i)e.o(i,n)&&!e.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:i[n]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t)};const t=window[Symbol.for("X_ITE.X3D-8.6.11")].require("x_ite/Components");var i=e.n(t);const n=window[Symbol.for("X_ITE.X3D-8.6.11")].require("x_ite/Fields");var o=e.n(n);const s=window[Symbol.for("X_ITE.X3D-8.6.11")].require("x_ite/Base/X3DFieldDefinition");var r=e.n(s);const c=window[Symbol.for("X_ITE.X3D-8.6.11")].require("x_ite/Base/FieldDefinitionArray");var a=e.n(c);const h=window[Symbol.for("X_ITE.X3D-8.6.11")].require("x_ite/Components/Core/X3DSensorNode");var p=e.n(h);const l=window[Symbol.for("X_ITE.X3D-8.6.11")].require("x_ite/Rendering/TraverseType");var d=e.n(l);const g=window[Symbol.for("X_ITE.X3D-8.6.11")].require("x_ite/Base/X3DConstants");var u=e.n(g);const m=window[Symbol.for("X_ITE.X3D-8.6.11")].require("x_ite/Namespace");var y=e.n(m);let _=0;const w={MATCH_ANY:_++,MATCH_EVERY:_++,MATCH_ONLY_ONE:_++};y().set("x_ite/Browser/Picking/MatchCriterion",w);const f=w;let k=0;const S={BOUNDS:k++,GEOMETRY:k++};y().set("x_ite/Browser/Picking/IntersectionType",S);const T=S;let b=0;const O={ANY:b++,CLOSEST:b++,ALL:b++,ALL_SORTED:b++};y().set("x_ite/Browser/Picking/SortOrder",O);const v=O,N=window[Symbol.for("X_ITE.X3D-8.6.11")].require("standard/Math/Numbers/Matrix4");var C=e.n(N);const G=window[Symbol.for("X_ITE.X3D-8.6.11")].require("standard/Math/Algorithms/QuickSort");var P=e.n(G);const M=window[Symbol.for("X_ITE.X3D-8.6.11")].require("standard/Utility/ObjectCache");var x,B,E,D,A=e.n(M)()(C());function F(e,t){return e.distance<t.distance}function I(e){p().call(this,e),this.addType(u().X3DPickSensorNode),this.objectType=new Set,this.intersectionType=T.BOUNDS,this.sortOrder=v.CLOSEST,this.pickTargetNodes=new Set,this.modelMatrices=[],this.targets=[],this.targets.size=0,this.pickedTargets=[],this.pickedTargetsSorter=new(P())(this.pickedTargets,F),this.pickedGeometries=new(o().MFNode)}I.prototype=Object.assign(Object.create(p().prototype),{constructor:I,initialize:function(){this.isLive().addInterest("set_live__",this),this._enabled.addInterest("set_live__",this),this._objectType.addInterest("set_objectType__",this),this._matchCriterion.addInterest("set_matchCriterion__",this),this._intersectionType.addInterest("set_intersectionType__",this),this._sortOrder.addInterest("set_sortOrder__",this),this._pickTarget.addInterest("set_pickTarget__",this),this.set_objectType__(),this.set_matchCriterion__(),this.set_intersectionType__(),this.set_sortOrder__(),this.set_pickTarget__()},getObjectType:function(){return this.objectType},getMatchCriterion:function(){return this.matchCriterion},getIntersectionType:function(){return this.intersectionType},getSortOrder:function(){return this.sortOrder},getModelMatrices:function(){return this.modelMatrices},getTargets:function(){return this.targets},getPickShape:(D=new WeakMap,function(e){var t=D.get(e);if(void 0!==t)return t;var i=this.getExecutionContext().createNode("Shape",!1),n=this.getExecutionContext().createNode("CollidableShape",!1);return i.setPrivate(!0),n.setPrivate(!0),n.setConvex(!0),i._geometry=e,n._shape=i,i.setup(),n.setup(),D.set(e,n),n}),getPickedGeometries:function(){var e=this.targets,t=e.size,i=this.pickedTargets,n=this.pickedGeometries;i.length=0;for(var o=0;o<t;++o){var s=e[o];s.intersected&&i.push(s)}if(0===i.length)return n.length=0,n;switch(this.sortOrder){case v.ANY:i.length=1,n[0]=this.getPickedGeometry(i[0]),n.length=1;break;case v.CLOSEST:this.pickedTargetsSorter.sort(0,i.length),i.length=1,n[0]=this.getPickedGeometry(i[0]),n.length=1;break;case v.ALL:o=0;for(var r=i.length;o<r;++o)n[o]=this.getPickedGeometry(i[o]);n.length=r;break;case v.ALL_SORTED:for(this.pickedTargetsSorter.sort(0,i.length),o=0,r=i.length;o<r;++o)n[o]=this.getPickedGeometry(i[o]);n.length=r}return n},getPickedGeometry:function(e){var t=this.getExecutionContext(),i=e.geometryNode;if(i.getExecutionContext()===t)return i;if(-1!==(s=i.getExecutionContext()).getType().indexOf(u().X3DPrototypeInstance)&&s.getExecutionContext()===t)return s;for(var n=e.pickingHierarchy,o=n.length-1;o>=0;--o){var s,r=n[o];if(r.getExecutionContext()===t)return r;if(-1!==(s=r.getExecutionContext()).getType().indexOf(u().X3DPrototypeInstance)&&s.getExecutionContext()===t)return s}return null},getPickedTargets:function(){return this.pickedTargets},set_live__:function(){this.isLive().getValue()&&this._enabled.getValue()&&!this.objectType.has("NONE")?(this.getBrowser().addPickSensor(this),this.setPickableObject(!0)):(this.getBrowser().removePickSensor(this),this.setPickableObject(!1))},set_objectType__:function(){this.objectType.clear();for(var e=0,t=this._objectType.length;e<t;++e)this.objectType.add(this._objectType[e]);this.set_live__()},set_matchCriterion__:(E=new Map([["MATCH_ANY",f.MATCH_ANY],["MATCH_EVERY",f.MATCH_EVERY],["MATCH_ONLY_ONE",f.MATCH_ONLY_ONE]]),function(){this.matchCriterion=E.get(this._matchCriterion.getValue()),void 0===this.matchCriterion&&(this.matchCriterion=MatchCriterionType.MATCH_ANY)}),set_intersectionType__:(B=new Map([["BOUNDS",T.BOUNDS],["GEOMETRY",T.GEOMETRY]]),function(){this.intersectionType=B.get(this._intersectionType.getValue()),void 0===this.intersectionType&&(this.intersectionType=T.BOUNDS)}),set_sortOrder__:(x=new Map([["ANY",v.ANY],["CLOSEST",v.CLOSEST],["ALL",v.ALL],["ALL_SORTED",v.ALL_SORTED]]),function(){this.sortOrder=x.get(this._sortOrder.getValue()),void 0===this.sortOrder&&(this.sortOrder=v.CLOSEST)}),set_pickTarget__:function(){this.pickTargetNodes.clear();for(var e=0,t=this._pickTarget.length;e<t;++e)try{for(var i=this._pickTarget[e].getValue().getInnerNode(),n=i.getType(),o=n.length-1;o>=0;--o)switch(n[o]){case u().Inline:case u().Shape:case u().X3DGroupingNode:this.pickTargetNodes.add(i);break;default:continue}}catch(e){}},traverse:function(e,t){e===d().PICKING&&this.isPickableObject()&&this.modelMatrices.push(A.pop().assign(t.getModelViewMatrix().get()))},collect:function(e,t,i){var n=this.pickTargetNodes;if(i.some((function(e){return n.has(e)}))){var o=this.targets;if(o.size<o.length)var s=o[o.size];else{s={modelMatrix:new(C()),pickingHierarchy:[],pickedPoint:[],intersections:[]};o.push(s)}++o.size,s.intersected=!1,s.geometryNode=e,s.pickedPoint.length=0,s.intersections.length=0,s.modelMatrix.assign(t);for(var r=s.pickingHierarchy,c=0,a=i.length;c<a;++c)r[c]=i[c];r.length=a}},process:function(){for(var e=this.modelMatrices,t=0,i=e.length;t<i;++t)A.push(e[t]);this.modelMatrices.length=0,this.targets.size=0}});const X=I;y().set("x_ite/Components/Picking/X3DPickSensorNode",X);const j=X,L=window[Symbol.for("X_ITE.X3D-8.6.11")].require("standard/Math/Numbers/Vector3");var V=e.n(L);const z=window[Symbol.for("X_ITE.X3D-8.6.11")].require("standard/Math/Geometry/Box3");var R=e.n(z);const q=window[Symbol.for("X_ITE.X3D-8.6.11")].require("standard/Math/Geometry/Line3");var Y,H,U,W,K,Q,Z,J,$,ee,te,ie,ne,oe,se,re,ce=e.n(q);function ae(e){j.call(this,e),this.addType(u().LinePickSensor),this.pickingGeometryNode=null}ae.prototype=Object.assign(Object.create(j.prototype),{constructor:ae,[Symbol.for("X_ITE.X3DBaseNode.fieldDefinitions")]:new(a())([new(r())(u().inputOutput,"metadata",new(o().SFNode)),new(r())(u().inputOutput,"enabled",new(o().SFBool)(!0)),new(r())(u().inputOutput,"objectType",new(o().MFString)("ALL")),new(r())(u().inputOutput,"matchCriterion",new(o().SFString)("MATCH_ANY")),new(r())(u().initializeOnly,"intersectionType",new(o().SFString)("BOUNDS")),new(r())(u().initializeOnly,"sortOrder",new(o().SFString)("CLOSEST")),new(r())(u().outputOnly,"isActive",new(o().SFBool)),new(r())(u().outputOnly,"pickedTextureCoordinate",new(o().MFVec3f)),new(r())(u().outputOnly,"pickedNormal",new(o().MFVec3f)),new(r())(u().outputOnly,"pickedPoint",new(o().MFVec3f)),new(r())(u().inputOutput,"pickingGeometry",new(o().SFNode)),new(r())(u().inputOutput,"pickTarget",new(o().MFNode)),new(r())(u().outputOnly,"pickedGeometry",new(o().MFNode))]),getTypeName:function(){return"LinePickSensor"},getComponentName:function(){return"Picking"},getContainerField:function(){return"children"},initialize:function(){j.prototype.initialize.call(this),this._pickingGeometry.addInterest("set_pickingGeometry__",this),this.set_pickingGeometry__()},set_pickingGeometry__:function(){this.pickingGeometryNode=null;try{for(var e=this._pickingGeometry.getValue().getInnerNode(),t=e.getType(),i=t.length-1;i>=0;--i)switch(t[i]){case u().IndexedLineSet:case u().LineSet:this.pickingGeometryNode=e;break;default:continue}}catch(e){}},process:(Y=new(R()),H=new(R()),U=new(V())(0,0,0),W=new(V())(0,0,0),K=new(C()),Q=new(V())(0,0,0),Z=new(V())(0,0,0),J=new(ce())(V().Zero,V().zAxis),$=new(V())(0,0,0),ee=new(V())(0,0,0),te=[],ie=[],ne=new(V())(0,0,0),oe=new(o().MFVec3f),se=new(o().MFVec3f),re=new(o().MFVec3f),function(){if(this.pickingGeometryNode){var e=this.getModelMatrices(),t=this.getTargets();switch(this.getIntersectionType()){case T.BOUNDS:for(var i=0,n=e.length;i<n;++i){var o=e[i];Y.assign(this.pickingGeometryNode.getBBox()).multRight(o);for(var s=0,r=t.size;s<r;++s){var c=t[s];H.assign(c.geometryNode.getBBox()).multRight(c.modelMatrix),Y.intersectsBox(H)&&(U.assign(Y.center),W.assign(H.center),c.intersected=!0,c.distance=U.distance(W))}}var a=this.getPickedGeometries(),h=Boolean(a.length);a.remove(0,a.length,null),h!==this._isActive.getValue()&&(this._isActive=h),this._pickedGeometry.equals(a)||(this._pickedGeometry=a);break;case T.GEOMETRY:for(i=0,n=e.length;i<n;++i)for(o=e[i],Y.assign(this.pickingGeometryNode.getBBox()).multRight(o),s=0,r=t.size;s<r;++s){var p=(c=t[s]).geometryNode,l=this.pickingGeometryNode.getVertices();H.assign(p.getBBox()).multRight(c.modelMatrix),K.assign(c.modelMatrix).inverse().multLeft(o);for(var d=0,g=l.length;d<g;d+=8)if(K.multVecMatrix(Q.set(l[d+0],l[d+1],l[d+2])),K.multVecMatrix(Z.set(l[d+4],l[d+5],l[d+6])),J.setPoints(Q,Z),ie.length=0,p.intersectsLine(J,c.modelMatrix,te,ie))for(var u=0,m=ie.length;u<m;++u){var y=ie[u];$.assign(y.point).subtract(Q),ee.assign(y.point).subtract(Z),$.add(ee).magnitude()<=Q.distance(Z)&&c.intersections.push(y)}c.intersections.length&&(U.assign(Y.center),W.assign(H.center),c.intersected=!0,c.distance=U.distance(W))}a=this.getPickedGeometries(),h=Boolean(a.length),a.remove(0,a.length,null),h!==this._isActive.getValue()&&(this._isActive=h),this._pickedGeometry.equals(a)||(this._pickedGeometry=a);var _=this.getPickedTargets();for(oe.length=0,se.length=0,re.length=0,s=0,r=_.length;s<r;++s){var w=_[s].intersections;for(u=0,m=w.length;u<m;++u)s=(y=w[u]).texCoord,ne.set(s.x,s.y,s.z),oe.push(ne),se.push(y.normal),re.push(y.point)}this._pickedTextureCoordinate.equals(oe)||(this._pickedTextureCoordinate=oe),this._pickedNormal.equals(se)||(this._pickedNormal=se),this._pickedPoint.equals(re)||(this._pickedPoint=re)}}j.prototype.process.call(this)})});const he=ae;y().set("x_ite/Components/Picking/LinePickSensor",he);const pe=he,le=window[Symbol.for("X_ITE.X3D-8.6.11")].require("x_ite/Components/Grouping/X3DGroupingNode");var de=e.n(le);function ge(e){this.addType(u().X3DPickableObject),this.objectType=new Set}ge.prototype={constructor:ge,initialize:function(){this._objectType.addInterest("set_objectType__",this),this.set_objectType__()},getObjectType:function(){return this.objectType},set_objectType__:function(){this.objectType.clear();for(var e=0,t=this._objectType.length;e<t;++e)this.objectType.add(this._objectType[e])},dispose:function(){}};const ue=ge;y().set("x_ite/Components/Picking/X3DPickableObject",ue);const me=ue;function ye(e){de().call(this,e),me.call(this,e),this.addType(u().PickableGroup)}ye.prototype=Object.assign(Object.create(de().prototype),me.prototype,{constructor:ye,[Symbol.for("X_ITE.X3DBaseNode.fieldDefinitions")]:new(a())([new(r())(u().inputOutput,"metadata",new(o().SFNode)),new(r())(u().inputOutput,"pickable",new(o().SFBool)(!0)),new(r())(u().inputOutput,"objectType",new(o().MFString)("ALL")),new(r())(u().inputOutput,"visible",new(o().SFBool)(!0)),new(r())(u().inputOutput,"bboxDisplay",new(o().SFBool)),new(r())(u().initializeOnly,"bboxSize",new(o().SFVec3f)(-1,-1,-1)),new(r())(u().initializeOnly,"bboxCenter",new(o().SFVec3f)),new(r())(u().inputOnly,"addChildren",new(o().MFNode)),new(r())(u().inputOnly,"removeChildren",new(o().MFNode)),new(r())(u().inputOutput,"children",new(o().MFNode))]),getTypeName:function(){return"PickableGroup"},getComponentName:function(){return"Picking"},getContainerField:function(){return"children"},initialize:function(){de().prototype.initialize.call(this),me.prototype.initialize.call(this),this._pickable.addInterest("set_pickable__",this),this.set_pickable__()},set_pickableObjects__:function(){this.set_pickable__()},set_pickable__:function(){this.setPickableObject(!(!this._pickable.getValue()&&!this.getTransformSensors().size))},traverse:function(){const e=new Set;return function(t,i){if(t===d().PICKING){if(this._pickable.getValue()){if(this.getObjectType().has("NONE"))return;const n=this.getBrowser(),o=n.getPickable();if(this.getObjectType().has("ALL"))o.push(!0),de().prototype.traverse.call(this,t,i),o.pop();else{const s=n.getPickSensors();for(const t of s.at(-1)){if(!t.getObjectType().has("ALL")){let e=0;for(const i of this.getObjectType())if(t.getObjectType().has(i)){++e;break}switch(t.getMatchCriterion()){case f.MATCH_ANY:if(0===e)continue;break;case f.MATCH_EVERY:if(e!==pickSensor.getObjectType().size)continue;break;case f.MATCH_ONLY_ONE:if(1!==e)continue}}e.add(t)}o.push(!0),s.push(e),de().prototype.traverse.call(this,t,i),s.pop(),o.pop(),e.clear()}}}else de().prototype.traverse.call(this,t,i)}}(),dispose:function(){me.prototype.dispose.call(this),de().prototype.dispose.call(this)}});const _e=ye;y().set("x_ite/Components/Picking/PickableGroup",_e);const we=_e,fe=window[Symbol.for("X_ITE.X3D-8.6.11")].require("x_ite/Base/X3DCast");var ke=e.n(fe);const Se=window[Symbol.for("X_ITE.X3D-8.6.11")].require("standard/Math/Numbers/Rotation4");var Te=e.n(Se);const be=window[Symbol.for("X_ITE.X3D-8.6.11")].require("lib/ammojs/AmmoClass");var Oe=e.n(be);function ve(){this.broadphase=new(Oe().btDbvtBroadphase),this.collisionConfiguration=new(Oe().btDefaultCollisionConfiguration),this.dispatcher=new(Oe().btCollisionDispatcher)(this.collisionConfiguration),this.collisionWorld=new(Oe().btCollisionWorld)(this.dispatcher,this.broadphase,this.collisionConfiguration),this.compoundShape1=new(Oe().btCompoundShape),this.motionState1=new(Oe().btDefaultMotionState),this.constructionInfo1=new(Oe().btRigidBodyConstructionInfo)(0,this.motionState1,this.compoundShape1),this.rigidBody1=new(Oe().btRigidBody)(this.constructionInfo1),this.compoundShape2=new(Oe().btCompoundShape),this.motionState2=new(Oe().btDefaultMotionState),this.constructionInfo2=new(Oe().btRigidBodyConstructionInfo)(0,this.motionState2,this.compoundShape2),this.rigidBody2=new(Oe().btRigidBody)(this.constructionInfo2),this.collisionWorld.addCollisionObject(this.rigidBody1),this.collisionWorld.addCollisionObject(this.rigidBody2)}ve.prototype={constuctor:ve,setChildShape1:function(e,t){this.setChildShape(this.compoundShape1,e,t)},setChildShape2:function(e,t){this.setChildShape(this.compoundShape2,e,t)},setChildShape1Components:function(e,t,i){this.setChildShapeComponents(this.compoundShape1,e,t,i)},setChildShape2Components:function(e,t,i){this.setChildShapeComponents(this.compoundShape2,e,t,i)},setChildShape:function(){const e=new(V())(0,0,0),t=new(Te())(0,0,1,0),i=new(V())(1,1,1),n=new(Oe().btVector3)(0,0,0);return function(o,s,r){o.getNumChildShapes()&&o.removeChildShapeByIndex(0),r.getNumChildShapes()&&(s.get(e,t,i),n.setValue(i.x,i.y,i.z),r.setLocalScaling(n),o.addChildShape(this.getTransform(e,t),r))}}(),setChildShapeComponents:function(e,t,i,n){e.getNumChildShapes()&&e.removeChildShapeByIndex(0),n.getNumChildShapes()&&(n.setLocalScaling(i),e.addChildShape(t,n))},contactTest:function(){this.collisionWorld.performDiscreteCollisionDetection();const e=this.dispatcher.getNumManifolds();for(let t=0;t<e;++t){const e=this.dispatcher.getManifoldByIndexInternal(t),i=e.getNumContacts();for(let t=0;t<i;++t){if(e.getContactPoint(t).getDistance()<=0)return!0}}return!1},getTransform:function(){const e=new(Oe().btTransform),t=new(Oe().btVector3)(0,0,0),i=new(C());return function(n,o,s){const r=s||e;return i.set(n,o),t.setValue(i[12],i[13],i[14]),r.getBasis().setValue(i[0],i[4],i[8],i[1],i[5],i[9],i[2],i[6],i[10]),r.setOrigin(t),r}}()};const Ne=ve;y().set("x_ite/Browser/Picking/VolumePicker",Ne);const Ce=Ne;function Ge(e){j.call(this,e),this.addType(u().PointPickSensor),this.pickingGeometryNode=null,this.picker=new Ce,this.compoundShapes=[]}var Pe,Me,xe;Ge.prototype=Object.assign(Object.create(j.prototype),{constructor:Ge,[Symbol.for("X_ITE.X3DBaseNode.fieldDefinitions")]:new(a())([new(r())(u().inputOutput,"metadata",new(o().SFNode)),new(r())(u().inputOutput,"enabled",new(o().SFBool)(!0)),new(r())(u().inputOutput,"objectType",new(o().MFString)("ALL")),new(r())(u().inputOutput,"matchCriterion",new(o().SFString)("MATCH_ANY")),new(r())(u().initializeOnly,"intersectionType",new(o().SFString)("BOUNDS")),new(r())(u().initializeOnly,"sortOrder",new(o().SFString)("CLOSEST")),new(r())(u().outputOnly,"isActive",new(o().SFBool)),new(r())(u().outputOnly,"pickedPoint",new(o().MFVec3f)),new(r())(u().inputOutput,"pickingGeometry",new(o().SFNode)),new(r())(u().inputOutput,"pickTarget",new(o().MFNode)),new(r())(u().outputOnly,"pickedGeometry",new(o().MFNode))]),getTypeName:function(){return"PointPickSensor"},getComponentName:function(){return"Picking"},getContainerField:function(){return"children"},initialize:function(){j.prototype.initialize.call(this),this._pickingGeometry.addInterest("set_pickingGeometry__",this),this.set_pickingGeometry__()},set_pickingGeometry__:function(){this.pickingGeometryNode&&this.pickingGeometryNode._rebuild.removeInterest("set_geometry__",this),this.pickingGeometryNode=ke()(u().PointSet,this._pickingGeometry),this.pickingGeometryNode&&this.pickingGeometryNode._rebuild.addInterest("set_geometry__",this),this.set_geometry__()},set_geometry__:(Pe=new(Oe().btVector3)(1,1,1),Me=new(Oe().btVector3),xe=new(Oe().btTransform),function(){var e=this.compoundShapes;if(this.pickingGeometryNode){var t=this.pickingGeometryNode.getCoord();if(t){for(var i=0,n=t.getSize();i<n;++i)if(i<e.length){var o=e[i],s=t.get1Point(i,o.point);Me.setValue(s.x,s.y,s.z),xe.setOrigin(Me),o.setLocalScaling(Pe),o.updateChildTransform(0,xe)}else{o=new(Oe().btCompoundShape);var r=new(Oe().btSphereShape)(0);s=t.get1Point(i,new(V())(0,0,0)),o.point=s,Me.setValue(s.x,s.y,s.z),xe.setOrigin(Me),o.addChildShape(xe,r),e.push(o)}e.length=n}else e.length=0}else e.length=0}),process:function(){var e=new(R()),t=new(R()),i=new(V())(0,0,0),n=new(V())(0,0,0),s=new(Oe().btTransform),r=new(Oe().btVector3),c=new(V())(0,0,0),a=new(Te())(0,0,1,0),h=new(V())(1,1,1),p=new(o().MFVec3f);return function(){if(this.pickingGeometryNode){var o=this.getModelMatrices(),l=this.getTargets();switch(this.getIntersectionType()){case T.BOUNDS:for(var d=0,g=o.length;d<g;++d){var u=o[d];e.assign(this.pickingGeometryNode.getBBox()).multRight(u);for(var m=0,y=l.size;m<y;++m){var _=l[m];t.assign(_.geometryNode.getBBox()).multRight(_.modelMatrix),e.intersectsBox(t)&&(i.assign(e.center),n.assign(t.center),_.intersected=!0,_.distance=i.distance(n))}}var w=this.getPickedGeometries(),f=Boolean(w.length);w.remove(0,w.length,null),f!==this._isActive.getValue()&&(this._isActive=f),this._pickedGeometry.equals(w)||(this._pickedGeometry=w);break;case T.GEOMETRY:var k=this.picker,S=this.compoundShapes;for(d=0,g=o.length;d<g;++d){u=o[d];e.assign(this.pickingGeometryNode.getBBox()).multRight(u),u.get(c,a,h),k.getTransform(c,a,s),r.setValue(h.x,h.y,h.z);for(var b=0,O=S.length;b<O;++b){var v=S[b];k.setChildShape1Components(s,r,v);for(m=0,y=l.size;m<y;++m){_=l[m];var N=this.getPickShape(_.geometryNode);t.assign(_.geometryNode.getBBox()).multRight(_.modelMatrix),k.setChildShape2(_.modelMatrix,N.getCompoundShape()),k.contactTest()&&(i.assign(e.center),n.assign(t.center),_.intersected=!0,_.distance=i.distance(n),_.pickedPoint.push(v.point))}}}w=this.getPickedGeometries(),f=Boolean(w.length);w.remove(0,w.length,null),f!==this._isActive.getValue()&&(this._isActive=f),this._pickedGeometry.equals(w)||(this._pickedGeometry=w);var C=this.getPickedTargets();p.length=0;for(m=0,y=C.length;m<y;++m)for(var G=C[m].pickedPoint,P=0,M=G.length;P<M;++P)p.push(G[P]);this._pickedPoint.equals(p)||(this._pickedPoint=p)}}j.prototype.process.call(this)}}()});const Be=Ge;y().set("x_ite/Components/Picking/PointPickSensor",Be);const Ee=Be;function De(e){j.call(this,e),this.addType(u().PrimitivePickSensor),this.pickingGeometryNode=null,this.picker=new Ce}De.prototype=Object.assign(Object.create(j.prototype),{constructor:De,[Symbol.for("X_ITE.X3DBaseNode.fieldDefinitions")]:new(a())([new(r())(u().inputOutput,"metadata",new(o().SFNode)),new(r())(u().inputOutput,"enabled",new(o().SFBool)(!0)),new(r())(u().inputOutput,"objectType",new(o().MFString)("ALL")),new(r())(u().inputOutput,"matchCriterion",new(o().SFString)("MATCH_ANY")),new(r())(u().initializeOnly,"intersectionType",new(o().SFString)("BOUNDS")),new(r())(u().initializeOnly,"sortOrder",new(o().SFString)("CLOSEST")),new(r())(u().outputOnly,"isActive",new(o().SFBool)),new(r())(u().inputOutput,"pickingGeometry",new(o().SFNode)),new(r())(u().inputOutput,"pickTarget",new(o().MFNode)),new(r())(u().outputOnly,"pickedGeometry",new(o().MFNode))]),getTypeName:function(){return"PrimitivePickSensor"},getComponentName:function(){return"Picking"},getContainerField:function(){return"children"},initialize:function(){j.prototype.initialize.call(this),this._pickingGeometry.addInterest("set_pickingGeometry__",this),this.set_pickingGeometry__()},set_pickingGeometry__:function(){this.pickingGeometryNode=null;try{for(var e=this._pickingGeometry.getValue().getInnerNode(),t=e.getType(),i=t.length-1;i>=0;--i)switch(t[i]){case u().Box:case u().Cone:case u().Cylinder:case u().Sphere:this.pickingGeometryNode=e;break;default:continue}}catch(e){}},process:function(){var e=new(R()),t=new(R()),i=new(V())(0,0,0),n=new(V())(0,0,0);return function(){if(this.pickingGeometryNode){var o=this.getModelMatrices(),s=this.getTargets();switch(this.getIntersectionType()){case T.BOUNDS:for(var r=0,c=o.length;r<c;++r){var a=o[r];e.assign(this.pickingGeometryNode.getBBox()).multRight(a);for(var h=0,p=s.size;h<p;++h){var l=s[h];t.assign(l.geometryNode.getBBox()).multRight(l.modelMatrix),e.intersectsBox(t)&&(i.assign(e.center),n.assign(t.center),l.intersected=!0,l.distance=i.distance(n))}}var d=this.getPickedGeometries(),g=Boolean(d.length);d.remove(0,d.length,null),g!==this._isActive.getValue()&&(this._isActive=g),this._pickedGeometry.equals(d)||(this._pickedGeometry=d);break;case T.GEOMETRY:var u=this.picker;for(r=0,c=o.length;r<c;++r){a=o[r];var m=this.getPickShape(this.pickingGeometryNode);e.assign(this.pickingGeometryNode.getBBox()).multRight(a),u.setChildShape1(a,m.getCompoundShape());for(h=0,p=s.size;h<p;++h){l=s[h];var y=this.getPickShape(l.geometryNode);t.assign(l.geometryNode.getBBox()).multRight(l.modelMatrix),u.setChildShape2(l.modelMatrix,y.getCompoundShape()),u.contactTest()&&(i.assign(e.center),n.assign(t.center),l.intersected=!0,l.distance=i.distance(n))}}d=this.getPickedGeometries(),g=Boolean(d.length);d.remove(0,d.length,null),g!==this._isActive.getValue()&&(this._isActive=g),this._pickedGeometry.equals(d)||(this._pickedGeometry=d)}}j.prototype.process.call(this)}}()});const Ae=De;y().set("x_ite/Components/Picking/PrimitivePickSensor",Ae);const Fe=Ae;function Ie(e){j.call(this,e),this.addType(u().VolumePickSensor),this.pickingGeometryNode=null,this.picker=new Ce}Ie.prototype=Object.assign(Object.create(j.prototype),{constructor:Ie,[Symbol.for("X_ITE.X3DBaseNode.fieldDefinitions")]:new(a())([new(r())(u().inputOutput,"metadata",new(o().SFNode)),new(r())(u().inputOutput,"enabled",new(o().SFBool)(!0)),new(r())(u().inputOutput,"objectType",new(o().MFString)("ALL")),new(r())(u().inputOutput,"matchCriterion",new(o().SFString)("MATCH_ANY")),new(r())(u().initializeOnly,"intersectionType",new(o().SFString)("BOUNDS")),new(r())(u().initializeOnly,"sortOrder",new(o().SFString)("CLOSEST")),new(r())(u().outputOnly,"isActive",new(o().SFBool)),new(r())(u().inputOutput,"pickingGeometry",new(o().SFNode)),new(r())(u().inputOutput,"pickTarget",new(o().MFNode)),new(r())(u().outputOnly,"pickedGeometry",new(o().MFNode))]),getTypeName:function(){return"VolumePickSensor"},getComponentName:function(){return"Picking"},getContainerField:function(){return"children"},initialize:function(){j.prototype.initialize.call(this),this._pickingGeometry.addInterest("set_pickingGeometry__",this),this.set_pickingGeometry__()},set_pickingGeometry__:function(){this.pickingGeometryNode=ke()(u().X3DGeometryNode,this._pickingGeometry)},process:function(){var e=new(R()),t=new(R()),i=new(V())(0,0,0),n=new(V())(0,0,0);return function(){if(this.pickingGeometryNode){var o=this.getModelMatrices(),s=this.getTargets();switch(this.getIntersectionType()){case T.BOUNDS:for(var r=0,c=o.length;r<c;++r){var a=o[r];e.assign(this.pickingGeometryNode.getBBox()).multRight(a);for(var h=0,p=s.size;h<p;++h){var l=s[h];t.assign(l.geometryNode.getBBox()).multRight(l.modelMatrix),e.intersectsBox(t)&&(i.assign(e.center),n.assign(t.center),l.intersected=!0,l.distance=i.distance(n))}}var d=this.getPickedGeometries(),g=Boolean(d.length);d.remove(0,d.length,null),g!==this._isActive.getValue()&&(this._isActive=g),this._pickedGeometry.equals(d)||(this._pickedGeometry=d);break;case T.GEOMETRY:var u=this.picker;for(r=0,c=o.length;r<c;++r){a=o[r];var m=this.getPickShape(this.pickingGeometryNode);e.assign(this.pickingGeometryNode.getBBox()).multRight(a),u.setChildShape1(a,m.getCompoundShape());for(h=0,p=s.size;h<p;++h){l=s[h];var y=this.getPickShape(l.geometryNode);t.assign(l.geometryNode.getBBox()).multRight(l.modelMatrix),u.setChildShape2(l.modelMatrix,y.getCompoundShape()),u.contactTest()&&(i.assign(e.center),n.assign(t.center),l.intersected=!0,l.distance=i.distance(n))}}d=this.getPickedGeometries(),g=Boolean(d.length);d.remove(0,d.length,null),g!==this._isActive.getValue()&&(this._isActive=g),this._pickedGeometry.equals(d)||(this._pickedGeometry=d)}}j.prototype.process.call(this)}}()});const Xe=Ie;y().set("x_ite/Components/Picking/VolumePickSensor",Xe);const je=Xe;i().addComponent({name:"Picking",types:{LinePickSensor:pe,PickableGroup:we,PointPickSensor:Ee,PrimitivePickSensor:Fe,VolumePickSensor:je},abstractTypes:{X3DPickSensorNode:j,X3DPickableObject:me}});const Le=void 0;y().set("assets/components/Picking",Le)})();
1
+ /* X_ITE v8.6.12 */(()=>{"use strict";var e={n:t=>{var i=t&&t.__esModule?()=>t.default:()=>t;return e.d(i,{a:i}),i},d:(t,i)=>{for(var n in i)e.o(i,n)&&!e.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:i[n]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t)};const t=window[Symbol.for("X_ITE.X3D-8.6.12")].require("x_ite/Components");var i=e.n(t);const n=window[Symbol.for("X_ITE.X3D-8.6.12")].require("x_ite/Fields");var o=e.n(n);const s=window[Symbol.for("X_ITE.X3D-8.6.12")].require("x_ite/Base/X3DFieldDefinition");var r=e.n(s);const c=window[Symbol.for("X_ITE.X3D-8.6.12")].require("x_ite/Base/FieldDefinitionArray");var a=e.n(c);const h=window[Symbol.for("X_ITE.X3D-8.6.12")].require("x_ite/Components/Core/X3DSensorNode");var p=e.n(h);const l=window[Symbol.for("X_ITE.X3D-8.6.12")].require("x_ite/Rendering/TraverseType");var d=e.n(l);const g=window[Symbol.for("X_ITE.X3D-8.6.12")].require("x_ite/Base/X3DConstants");var u=e.n(g);const m=window[Symbol.for("X_ITE.X3D-8.6.12")].require("x_ite/Namespace");var y=e.n(m);let _=0;const w={MATCH_ANY:_++,MATCH_EVERY:_++,MATCH_ONLY_ONE:_++};y().set("x_ite/Browser/Picking/MatchCriterion",w);const f=w;let k=0;const S={BOUNDS:k++,GEOMETRY:k++};y().set("x_ite/Browser/Picking/IntersectionType",S);const T=S;let b=0;const O={ANY:b++,CLOSEST:b++,ALL:b++,ALL_SORTED:b++};y().set("x_ite/Browser/Picking/SortOrder",O);const v=O,N=window[Symbol.for("X_ITE.X3D-8.6.12")].require("standard/Math/Numbers/Matrix4");var C=e.n(N);function G(e,t){this.array=e,t&&(this.compare=t)}G.prototype={compare:function(e,t){return e<t},sort:function(e,t){t-e>1&&this.quicksort(e,t-1)},quicksort:function(e,t){let i=e,n=t;const o=this.array,s=this.compare,r=o[e+t>>>1];for(;;){for(;s(o[i],r);)++i;for(;s(r,o[n]);)--n;if(!(i<n)){i===n&&(++i,--n);break}{const e=o[i];o[i]=o[n],o[n]=e,i++,n--}}e<n&&this.quicksort(e,n),i<t&&this.quicksort(i,t)}};const P=G;y().set("standard/Math/Algorithms/QuickSort",P);const M=P,x=window[Symbol.for("X_ITE.X3D-8.6.12")].require("standard/Utility/ObjectCache");var B,E,D,A,F=e.n(x)()(C());function I(e,t){return e.distance<t.distance}function j(e){p().call(this,e),this.addType(u().X3DPickSensorNode),this.objectType=new Set,this.intersectionType=T.BOUNDS,this.sortOrder=v.CLOSEST,this.pickTargetNodes=new Set,this.modelMatrices=[],this.targets=[],this.targets.size=0,this.pickedTargets=[],this.pickedTargetsSorter=new M(this.pickedTargets,I),this.pickedGeometries=new(o().MFNode)}j.prototype=Object.assign(Object.create(p().prototype),{constructor:j,initialize:function(){this.isLive().addInterest("set_live__",this),this._enabled.addInterest("set_live__",this),this._objectType.addInterest("set_objectType__",this),this._matchCriterion.addInterest("set_matchCriterion__",this),this._intersectionType.addInterest("set_intersectionType__",this),this._sortOrder.addInterest("set_sortOrder__",this),this._pickTarget.addInterest("set_pickTarget__",this),this.set_objectType__(),this.set_matchCriterion__(),this.set_intersectionType__(),this.set_sortOrder__(),this.set_pickTarget__()},getObjectType:function(){return this.objectType},getMatchCriterion:function(){return this.matchCriterion},getIntersectionType:function(){return this.intersectionType},getSortOrder:function(){return this.sortOrder},getModelMatrices:function(){return this.modelMatrices},getTargets:function(){return this.targets},getPickShape:(A=new WeakMap,function(e){var t=A.get(e);if(void 0!==t)return t;var i=this.getExecutionContext().createNode("Shape",!1),n=this.getExecutionContext().createNode("CollidableShape",!1);return i.setPrivate(!0),n.setPrivate(!0),n.setConvex(!0),i._geometry=e,n._shape=i,i.setup(),n.setup(),A.set(e,n),n}),getPickedGeometries:function(){var e=this.targets,t=e.size,i=this.pickedTargets,n=this.pickedGeometries;i.length=0;for(var o=0;o<t;++o){var s=e[o];s.intersected&&i.push(s)}if(0===i.length)return n.length=0,n;switch(this.sortOrder){case v.ANY:i.length=1,n[0]=this.getPickedGeometry(i[0]),n.length=1;break;case v.CLOSEST:this.pickedTargetsSorter.sort(0,i.length),i.length=1,n[0]=this.getPickedGeometry(i[0]),n.length=1;break;case v.ALL:o=0;for(var r=i.length;o<r;++o)n[o]=this.getPickedGeometry(i[o]);n.length=r;break;case v.ALL_SORTED:for(this.pickedTargetsSorter.sort(0,i.length),o=0,r=i.length;o<r;++o)n[o]=this.getPickedGeometry(i[o]);n.length=r}return n},getPickedGeometry:function(e){var t=this.getExecutionContext(),i=e.geometryNode;if(i.getExecutionContext()===t)return i;if(-1!==(s=i.getExecutionContext()).getType().indexOf(u().X3DPrototypeInstance)&&s.getExecutionContext()===t)return s;for(var n=e.pickingHierarchy,o=n.length-1;o>=0;--o){var s,r=n[o];if(r.getExecutionContext()===t)return r;if(-1!==(s=r.getExecutionContext()).getType().indexOf(u().X3DPrototypeInstance)&&s.getExecutionContext()===t)return s}return null},getPickedTargets:function(){return this.pickedTargets},set_live__:function(){this.isLive().getValue()&&this._enabled.getValue()&&!this.objectType.has("NONE")?(this.getBrowser().addPickSensor(this),this.setPickableObject(!0)):(this.getBrowser().removePickSensor(this),this.setPickableObject(!1))},set_objectType__:function(){this.objectType.clear();for(var e=0,t=this._objectType.length;e<t;++e)this.objectType.add(this._objectType[e]);this.set_live__()},set_matchCriterion__:(D=new Map([["MATCH_ANY",f.MATCH_ANY],["MATCH_EVERY",f.MATCH_EVERY],["MATCH_ONLY_ONE",f.MATCH_ONLY_ONE]]),function(){this.matchCriterion=D.get(this._matchCriterion.getValue()),void 0===this.matchCriterion&&(this.matchCriterion=MatchCriterionType.MATCH_ANY)}),set_intersectionType__:(E=new Map([["BOUNDS",T.BOUNDS],["GEOMETRY",T.GEOMETRY]]),function(){this.intersectionType=E.get(this._intersectionType.getValue()),void 0===this.intersectionType&&(this.intersectionType=T.BOUNDS)}),set_sortOrder__:(B=new Map([["ANY",v.ANY],["CLOSEST",v.CLOSEST],["ALL",v.ALL],["ALL_SORTED",v.ALL_SORTED]]),function(){this.sortOrder=B.get(this._sortOrder.getValue()),void 0===this.sortOrder&&(this.sortOrder=v.CLOSEST)}),set_pickTarget__:function(){this.pickTargetNodes.clear();for(var e=0,t=this._pickTarget.length;e<t;++e)try{for(var i=this._pickTarget[e].getValue().getInnerNode(),n=i.getType(),o=n.length-1;o>=0;--o)switch(n[o]){case u().Inline:case u().Shape:case u().X3DGroupingNode:this.pickTargetNodes.add(i);break;default:continue}}catch(e){}},traverse:function(e,t){e===d().PICKING&&this.isPickableObject()&&this.modelMatrices.push(F.pop().assign(t.getModelViewMatrix().get()))},collect:function(e,t,i){var n=this.pickTargetNodes;if(i.some((function(e){return n.has(e)}))){var o=this.targets;if(o.size<o.length)var s=o[o.size];else{s={modelMatrix:new(C()),pickingHierarchy:[],pickedPoint:[],intersections:[]};o.push(s)}++o.size,s.intersected=!1,s.geometryNode=e,s.pickedPoint.length=0,s.intersections.length=0,s.modelMatrix.assign(t);for(var r=s.pickingHierarchy,c=0,a=i.length;c<a;++c)r[c]=i[c];r.length=a}},process:function(){for(var e=this.modelMatrices,t=0,i=e.length;t<i;++t)F.push(e[t]);this.modelMatrices.length=0,this.targets.size=0}});const X=j;y().set("x_ite/Components/Picking/X3DPickSensorNode",X);const L=X,V=window[Symbol.for("X_ITE.X3D-8.6.12")].require("standard/Math/Numbers/Vector3");var z=e.n(V);const R=window[Symbol.for("X_ITE.X3D-8.6.12")].require("standard/Math/Geometry/Box3");var q=e.n(R);const Y=window[Symbol.for("X_ITE.X3D-8.6.12")].require("standard/Math/Geometry/Line3");var H,U,W,K,Q,Z,J,$,ee,te,ie,ne,oe,se,re,ce,ae=e.n(Y);function he(e){L.call(this,e),this.addType(u().LinePickSensor),this.pickingGeometryNode=null}he.prototype=Object.assign(Object.create(L.prototype),{constructor:he,[Symbol.for("X_ITE.X3DBaseNode.fieldDefinitions")]:new(a())([new(r())(u().inputOutput,"metadata",new(o().SFNode)),new(r())(u().inputOutput,"enabled",new(o().SFBool)(!0)),new(r())(u().inputOutput,"objectType",new(o().MFString)("ALL")),new(r())(u().inputOutput,"matchCriterion",new(o().SFString)("MATCH_ANY")),new(r())(u().initializeOnly,"intersectionType",new(o().SFString)("BOUNDS")),new(r())(u().initializeOnly,"sortOrder",new(o().SFString)("CLOSEST")),new(r())(u().outputOnly,"isActive",new(o().SFBool)),new(r())(u().outputOnly,"pickedTextureCoordinate",new(o().MFVec3f)),new(r())(u().outputOnly,"pickedNormal",new(o().MFVec3f)),new(r())(u().outputOnly,"pickedPoint",new(o().MFVec3f)),new(r())(u().inputOutput,"pickingGeometry",new(o().SFNode)),new(r())(u().inputOutput,"pickTarget",new(o().MFNode)),new(r())(u().outputOnly,"pickedGeometry",new(o().MFNode))]),getTypeName:function(){return"LinePickSensor"},getComponentName:function(){return"Picking"},getContainerField:function(){return"children"},initialize:function(){L.prototype.initialize.call(this),this._pickingGeometry.addInterest("set_pickingGeometry__",this),this.set_pickingGeometry__()},set_pickingGeometry__:function(){this.pickingGeometryNode=null;try{for(var e=this._pickingGeometry.getValue().getInnerNode(),t=e.getType(),i=t.length-1;i>=0;--i)switch(t[i]){case u().IndexedLineSet:case u().LineSet:this.pickingGeometryNode=e;break;default:continue}}catch(e){}},process:(H=new(q()),U=new(q()),W=new(z())(0,0,0),K=new(z())(0,0,0),Q=new(C()),Z=new(z())(0,0,0),J=new(z())(0,0,0),$=new(ae())(z().Zero,z().zAxis),ee=new(z())(0,0,0),te=new(z())(0,0,0),ie=[],ne=[],oe=new(z())(0,0,0),se=new(o().MFVec3f),re=new(o().MFVec3f),ce=new(o().MFVec3f),function(){if(this.pickingGeometryNode){var e=this.getModelMatrices(),t=this.getTargets();switch(this.getIntersectionType()){case T.BOUNDS:for(var i=0,n=e.length;i<n;++i){var o=e[i];H.assign(this.pickingGeometryNode.getBBox()).multRight(o);for(var s=0,r=t.size;s<r;++s){var c=t[s];U.assign(c.geometryNode.getBBox()).multRight(c.modelMatrix),H.intersectsBox(U)&&(W.assign(H.center),K.assign(U.center),c.intersected=!0,c.distance=W.distance(K))}}var a=this.getPickedGeometries(),h=Boolean(a.length);a.remove(0,a.length,null),h!==this._isActive.getValue()&&(this._isActive=h),this._pickedGeometry.equals(a)||(this._pickedGeometry=a);break;case T.GEOMETRY:for(i=0,n=e.length;i<n;++i)for(o=e[i],H.assign(this.pickingGeometryNode.getBBox()).multRight(o),s=0,r=t.size;s<r;++s){var p=(c=t[s]).geometryNode,l=this.pickingGeometryNode.getVertices();U.assign(p.getBBox()).multRight(c.modelMatrix),Q.assign(c.modelMatrix).inverse().multLeft(o);for(var d=0,g=l.length;d<g;d+=8)if(Q.multVecMatrix(Z.set(l[d+0],l[d+1],l[d+2])),Q.multVecMatrix(J.set(l[d+4],l[d+5],l[d+6])),$.setPoints(Z,J),ne.length=0,p.intersectsLine($,c.modelMatrix,ie,ne))for(var u=0,m=ne.length;u<m;++u){var y=ne[u];ee.assign(y.point).subtract(Z),te.assign(y.point).subtract(J),ee.add(te).magnitude()<=Z.distance(J)&&c.intersections.push(y)}c.intersections.length&&(W.assign(H.center),K.assign(U.center),c.intersected=!0,c.distance=W.distance(K))}a=this.getPickedGeometries(),h=Boolean(a.length),a.remove(0,a.length,null),h!==this._isActive.getValue()&&(this._isActive=h),this._pickedGeometry.equals(a)||(this._pickedGeometry=a);var _=this.getPickedTargets();for(se.length=0,re.length=0,ce.length=0,s=0,r=_.length;s<r;++s){var w=_[s].intersections;for(u=0,m=w.length;u<m;++u)s=(y=w[u]).texCoord,oe.set(s.x,s.y,s.z),se.push(oe),re.push(y.normal),ce.push(y.point)}this._pickedTextureCoordinate.equals(se)||(this._pickedTextureCoordinate=se),this._pickedNormal.equals(re)||(this._pickedNormal=re),this._pickedPoint.equals(ce)||(this._pickedPoint=ce)}}L.prototype.process.call(this)})});const pe=he;y().set("x_ite/Components/Picking/LinePickSensor",pe);const le=pe,de=window[Symbol.for("X_ITE.X3D-8.6.12")].require("x_ite/Components/Grouping/X3DGroupingNode");var ge=e.n(de);function ue(e){this.addType(u().X3DPickableObject),this.objectType=new Set}ue.prototype={constructor:ue,initialize:function(){this._objectType.addInterest("set_objectType__",this),this.set_objectType__()},getObjectType:function(){return this.objectType},set_objectType__:function(){this.objectType.clear();for(var e=0,t=this._objectType.length;e<t;++e)this.objectType.add(this._objectType[e])},dispose:function(){}};const me=ue;y().set("x_ite/Components/Picking/X3DPickableObject",me);const ye=me;function _e(e){ge().call(this,e),ye.call(this,e),this.addType(u().PickableGroup)}_e.prototype=Object.assign(Object.create(ge().prototype),ye.prototype,{constructor:_e,[Symbol.for("X_ITE.X3DBaseNode.fieldDefinitions")]:new(a())([new(r())(u().inputOutput,"metadata",new(o().SFNode)),new(r())(u().inputOutput,"pickable",new(o().SFBool)(!0)),new(r())(u().inputOutput,"objectType",new(o().MFString)("ALL")),new(r())(u().inputOutput,"visible",new(o().SFBool)(!0)),new(r())(u().inputOutput,"bboxDisplay",new(o().SFBool)),new(r())(u().initializeOnly,"bboxSize",new(o().SFVec3f)(-1,-1,-1)),new(r())(u().initializeOnly,"bboxCenter",new(o().SFVec3f)),new(r())(u().inputOnly,"addChildren",new(o().MFNode)),new(r())(u().inputOnly,"removeChildren",new(o().MFNode)),new(r())(u().inputOutput,"children",new(o().MFNode))]),getTypeName:function(){return"PickableGroup"},getComponentName:function(){return"Picking"},getContainerField:function(){return"children"},initialize:function(){ge().prototype.initialize.call(this),ye.prototype.initialize.call(this),this._pickable.addInterest("set_pickable__",this),this.set_pickable__()},set_pickableObjects__:function(){this.set_pickable__()},set_pickable__:function(){this.setPickableObject(!(!this._pickable.getValue()&&!this.getTransformSensors().size))},traverse:function(){const e=new Set;return function(t,i){if(t===d().PICKING){if(this._pickable.getValue()){if(this.getObjectType().has("NONE"))return;const n=this.getBrowser(),o=n.getPickable();if(this.getObjectType().has("ALL"))o.push(!0),ge().prototype.traverse.call(this,t,i),o.pop();else{const s=n.getPickSensors();for(const t of s.at(-1)){if(!t.getObjectType().has("ALL")){let e=0;for(const i of this.getObjectType())if(t.getObjectType().has(i)){++e;break}switch(t.getMatchCriterion()){case f.MATCH_ANY:if(0===e)continue;break;case f.MATCH_EVERY:if(e!==pickSensor.getObjectType().size)continue;break;case f.MATCH_ONLY_ONE:if(1!==e)continue}}e.add(t)}o.push(!0),s.push(e),ge().prototype.traverse.call(this,t,i),s.pop(),o.pop(),e.clear()}}}else ge().prototype.traverse.call(this,t,i)}}(),dispose:function(){ye.prototype.dispose.call(this),ge().prototype.dispose.call(this)}});const we=_e;y().set("x_ite/Components/Picking/PickableGroup",we);const fe=we,ke=window[Symbol.for("X_ITE.X3D-8.6.12")].require("x_ite/Base/X3DCast");var Se=e.n(ke);const Te=window[Symbol.for("X_ITE.X3D-8.6.12")].require("standard/Math/Numbers/Rotation4");var be=e.n(Te);const Oe=window[Symbol.for("X_ITE.X3D-8.6.12")].require("lib/ammojs/AmmoClass");var ve=e.n(Oe);function Ne(){this.broadphase=new(ve().btDbvtBroadphase),this.collisionConfiguration=new(ve().btDefaultCollisionConfiguration),this.dispatcher=new(ve().btCollisionDispatcher)(this.collisionConfiguration),this.collisionWorld=new(ve().btCollisionWorld)(this.dispatcher,this.broadphase,this.collisionConfiguration),this.compoundShape1=new(ve().btCompoundShape),this.motionState1=new(ve().btDefaultMotionState),this.constructionInfo1=new(ve().btRigidBodyConstructionInfo)(0,this.motionState1,this.compoundShape1),this.rigidBody1=new(ve().btRigidBody)(this.constructionInfo1),this.compoundShape2=new(ve().btCompoundShape),this.motionState2=new(ve().btDefaultMotionState),this.constructionInfo2=new(ve().btRigidBodyConstructionInfo)(0,this.motionState2,this.compoundShape2),this.rigidBody2=new(ve().btRigidBody)(this.constructionInfo2),this.collisionWorld.addCollisionObject(this.rigidBody1),this.collisionWorld.addCollisionObject(this.rigidBody2)}Ne.prototype={constuctor:Ne,setChildShape1:function(e,t){this.setChildShape(this.compoundShape1,e,t)},setChildShape2:function(e,t){this.setChildShape(this.compoundShape2,e,t)},setChildShape1Components:function(e,t,i){this.setChildShapeComponents(this.compoundShape1,e,t,i)},setChildShape2Components:function(e,t,i){this.setChildShapeComponents(this.compoundShape2,e,t,i)},setChildShape:function(){const e=new(z())(0,0,0),t=new(be())(0,0,1,0),i=new(z())(1,1,1),n=new(ve().btVector3)(0,0,0);return function(o,s,r){o.getNumChildShapes()&&o.removeChildShapeByIndex(0),r.getNumChildShapes()&&(s.get(e,t,i),n.setValue(i.x,i.y,i.z),r.setLocalScaling(n),o.addChildShape(this.getTransform(e,t),r))}}(),setChildShapeComponents:function(e,t,i,n){e.getNumChildShapes()&&e.removeChildShapeByIndex(0),n.getNumChildShapes()&&(n.setLocalScaling(i),e.addChildShape(t,n))},contactTest:function(){this.collisionWorld.performDiscreteCollisionDetection();const e=this.dispatcher.getNumManifolds();for(let t=0;t<e;++t){const e=this.dispatcher.getManifoldByIndexInternal(t),i=e.getNumContacts();for(let t=0;t<i;++t){if(e.getContactPoint(t).getDistance()<=0)return!0}}return!1},getTransform:function(){const e=new(ve().btTransform),t=new(ve().btVector3)(0,0,0),i=new(C());return function(n,o,s){const r=s||e;return i.set(n,o),t.setValue(i[12],i[13],i[14]),r.getBasis().setValue(i[0],i[4],i[8],i[1],i[5],i[9],i[2],i[6],i[10]),r.setOrigin(t),r}}()};const Ce=Ne;y().set("x_ite/Browser/Picking/VolumePicker",Ce);const Ge=Ce;function Pe(e){L.call(this,e),this.addType(u().PointPickSensor),this.pickingGeometryNode=null,this.picker=new Ge,this.compoundShapes=[]}var Me,xe,Be;Pe.prototype=Object.assign(Object.create(L.prototype),{constructor:Pe,[Symbol.for("X_ITE.X3DBaseNode.fieldDefinitions")]:new(a())([new(r())(u().inputOutput,"metadata",new(o().SFNode)),new(r())(u().inputOutput,"enabled",new(o().SFBool)(!0)),new(r())(u().inputOutput,"objectType",new(o().MFString)("ALL")),new(r())(u().inputOutput,"matchCriterion",new(o().SFString)("MATCH_ANY")),new(r())(u().initializeOnly,"intersectionType",new(o().SFString)("BOUNDS")),new(r())(u().initializeOnly,"sortOrder",new(o().SFString)("CLOSEST")),new(r())(u().outputOnly,"isActive",new(o().SFBool)),new(r())(u().outputOnly,"pickedPoint",new(o().MFVec3f)),new(r())(u().inputOutput,"pickingGeometry",new(o().SFNode)),new(r())(u().inputOutput,"pickTarget",new(o().MFNode)),new(r())(u().outputOnly,"pickedGeometry",new(o().MFNode))]),getTypeName:function(){return"PointPickSensor"},getComponentName:function(){return"Picking"},getContainerField:function(){return"children"},initialize:function(){L.prototype.initialize.call(this),this._pickingGeometry.addInterest("set_pickingGeometry__",this),this.set_pickingGeometry__()},set_pickingGeometry__:function(){this.pickingGeometryNode&&this.pickingGeometryNode._rebuild.removeInterest("set_geometry__",this),this.pickingGeometryNode=Se()(u().PointSet,this._pickingGeometry),this.pickingGeometryNode&&this.pickingGeometryNode._rebuild.addInterest("set_geometry__",this),this.set_geometry__()},set_geometry__:(Me=new(ve().btVector3)(1,1,1),xe=new(ve().btVector3),Be=new(ve().btTransform),function(){var e=this.compoundShapes;if(this.pickingGeometryNode){var t=this.pickingGeometryNode.getCoord();if(t){for(var i=0,n=t.getSize();i<n;++i)if(i<e.length){var o=e[i],s=t.get1Point(i,o.point);xe.setValue(s.x,s.y,s.z),Be.setOrigin(xe),o.setLocalScaling(Me),o.updateChildTransform(0,Be)}else{o=new(ve().btCompoundShape);var r=new(ve().btSphereShape)(0);s=t.get1Point(i,new(z())(0,0,0)),o.point=s,xe.setValue(s.x,s.y,s.z),Be.setOrigin(xe),o.addChildShape(Be,r),e.push(o)}e.length=n}else e.length=0}else e.length=0}),process:function(){var e=new(q()),t=new(q()),i=new(z())(0,0,0),n=new(z())(0,0,0),s=new(ve().btTransform),r=new(ve().btVector3),c=new(z())(0,0,0),a=new(be())(0,0,1,0),h=new(z())(1,1,1),p=new(o().MFVec3f);return function(){if(this.pickingGeometryNode){var o=this.getModelMatrices(),l=this.getTargets();switch(this.getIntersectionType()){case T.BOUNDS:for(var d=0,g=o.length;d<g;++d){var u=o[d];e.assign(this.pickingGeometryNode.getBBox()).multRight(u);for(var m=0,y=l.size;m<y;++m){var _=l[m];t.assign(_.geometryNode.getBBox()).multRight(_.modelMatrix),e.intersectsBox(t)&&(i.assign(e.center),n.assign(t.center),_.intersected=!0,_.distance=i.distance(n))}}var w=this.getPickedGeometries(),f=Boolean(w.length);w.remove(0,w.length,null),f!==this._isActive.getValue()&&(this._isActive=f),this._pickedGeometry.equals(w)||(this._pickedGeometry=w);break;case T.GEOMETRY:var k=this.picker,S=this.compoundShapes;for(d=0,g=o.length;d<g;++d){u=o[d];e.assign(this.pickingGeometryNode.getBBox()).multRight(u),u.get(c,a,h),k.getTransform(c,a,s),r.setValue(h.x,h.y,h.z);for(var b=0,O=S.length;b<O;++b){var v=S[b];k.setChildShape1Components(s,r,v);for(m=0,y=l.size;m<y;++m){_=l[m];var N=this.getPickShape(_.geometryNode);t.assign(_.geometryNode.getBBox()).multRight(_.modelMatrix),k.setChildShape2(_.modelMatrix,N.getCompoundShape()),k.contactTest()&&(i.assign(e.center),n.assign(t.center),_.intersected=!0,_.distance=i.distance(n),_.pickedPoint.push(v.point))}}}w=this.getPickedGeometries(),f=Boolean(w.length);w.remove(0,w.length,null),f!==this._isActive.getValue()&&(this._isActive=f),this._pickedGeometry.equals(w)||(this._pickedGeometry=w);var C=this.getPickedTargets();p.length=0;for(m=0,y=C.length;m<y;++m)for(var G=C[m].pickedPoint,P=0,M=G.length;P<M;++P)p.push(G[P]);this._pickedPoint.equals(p)||(this._pickedPoint=p)}}L.prototype.process.call(this)}}()});const Ee=Pe;y().set("x_ite/Components/Picking/PointPickSensor",Ee);const De=Ee;function Ae(e){L.call(this,e),this.addType(u().PrimitivePickSensor),this.pickingGeometryNode=null,this.picker=new Ge}Ae.prototype=Object.assign(Object.create(L.prototype),{constructor:Ae,[Symbol.for("X_ITE.X3DBaseNode.fieldDefinitions")]:new(a())([new(r())(u().inputOutput,"metadata",new(o().SFNode)),new(r())(u().inputOutput,"enabled",new(o().SFBool)(!0)),new(r())(u().inputOutput,"objectType",new(o().MFString)("ALL")),new(r())(u().inputOutput,"matchCriterion",new(o().SFString)("MATCH_ANY")),new(r())(u().initializeOnly,"intersectionType",new(o().SFString)("BOUNDS")),new(r())(u().initializeOnly,"sortOrder",new(o().SFString)("CLOSEST")),new(r())(u().outputOnly,"isActive",new(o().SFBool)),new(r())(u().inputOutput,"pickingGeometry",new(o().SFNode)),new(r())(u().inputOutput,"pickTarget",new(o().MFNode)),new(r())(u().outputOnly,"pickedGeometry",new(o().MFNode))]),getTypeName:function(){return"PrimitivePickSensor"},getComponentName:function(){return"Picking"},getContainerField:function(){return"children"},initialize:function(){L.prototype.initialize.call(this),this._pickingGeometry.addInterest("set_pickingGeometry__",this),this.set_pickingGeometry__()},set_pickingGeometry__:function(){this.pickingGeometryNode=null;try{for(var e=this._pickingGeometry.getValue().getInnerNode(),t=e.getType(),i=t.length-1;i>=0;--i)switch(t[i]){case u().Box:case u().Cone:case u().Cylinder:case u().Sphere:this.pickingGeometryNode=e;break;default:continue}}catch(e){}},process:function(){var e=new(q()),t=new(q()),i=new(z())(0,0,0),n=new(z())(0,0,0);return function(){if(this.pickingGeometryNode){var o=this.getModelMatrices(),s=this.getTargets();switch(this.getIntersectionType()){case T.BOUNDS:for(var r=0,c=o.length;r<c;++r){var a=o[r];e.assign(this.pickingGeometryNode.getBBox()).multRight(a);for(var h=0,p=s.size;h<p;++h){var l=s[h];t.assign(l.geometryNode.getBBox()).multRight(l.modelMatrix),e.intersectsBox(t)&&(i.assign(e.center),n.assign(t.center),l.intersected=!0,l.distance=i.distance(n))}}var d=this.getPickedGeometries(),g=Boolean(d.length);d.remove(0,d.length,null),g!==this._isActive.getValue()&&(this._isActive=g),this._pickedGeometry.equals(d)||(this._pickedGeometry=d);break;case T.GEOMETRY:var u=this.picker;for(r=0,c=o.length;r<c;++r){a=o[r];var m=this.getPickShape(this.pickingGeometryNode);e.assign(this.pickingGeometryNode.getBBox()).multRight(a),u.setChildShape1(a,m.getCompoundShape());for(h=0,p=s.size;h<p;++h){l=s[h];var y=this.getPickShape(l.geometryNode);t.assign(l.geometryNode.getBBox()).multRight(l.modelMatrix),u.setChildShape2(l.modelMatrix,y.getCompoundShape()),u.contactTest()&&(i.assign(e.center),n.assign(t.center),l.intersected=!0,l.distance=i.distance(n))}}d=this.getPickedGeometries(),g=Boolean(d.length);d.remove(0,d.length,null),g!==this._isActive.getValue()&&(this._isActive=g),this._pickedGeometry.equals(d)||(this._pickedGeometry=d)}}L.prototype.process.call(this)}}()});const Fe=Ae;y().set("x_ite/Components/Picking/PrimitivePickSensor",Fe);const Ie=Fe;function je(e){L.call(this,e),this.addType(u().VolumePickSensor),this.pickingGeometryNode=null,this.picker=new Ge}je.prototype=Object.assign(Object.create(L.prototype),{constructor:je,[Symbol.for("X_ITE.X3DBaseNode.fieldDefinitions")]:new(a())([new(r())(u().inputOutput,"metadata",new(o().SFNode)),new(r())(u().inputOutput,"enabled",new(o().SFBool)(!0)),new(r())(u().inputOutput,"objectType",new(o().MFString)("ALL")),new(r())(u().inputOutput,"matchCriterion",new(o().SFString)("MATCH_ANY")),new(r())(u().initializeOnly,"intersectionType",new(o().SFString)("BOUNDS")),new(r())(u().initializeOnly,"sortOrder",new(o().SFString)("CLOSEST")),new(r())(u().outputOnly,"isActive",new(o().SFBool)),new(r())(u().inputOutput,"pickingGeometry",new(o().SFNode)),new(r())(u().inputOutput,"pickTarget",new(o().MFNode)),new(r())(u().outputOnly,"pickedGeometry",new(o().MFNode))]),getTypeName:function(){return"VolumePickSensor"},getComponentName:function(){return"Picking"},getContainerField:function(){return"children"},initialize:function(){L.prototype.initialize.call(this),this._pickingGeometry.addInterest("set_pickingGeometry__",this),this.set_pickingGeometry__()},set_pickingGeometry__:function(){this.pickingGeometryNode=Se()(u().X3DGeometryNode,this._pickingGeometry)},process:function(){var e=new(q()),t=new(q()),i=new(z())(0,0,0),n=new(z())(0,0,0);return function(){if(this.pickingGeometryNode){var o=this.getModelMatrices(),s=this.getTargets();switch(this.getIntersectionType()){case T.BOUNDS:for(var r=0,c=o.length;r<c;++r){var a=o[r];e.assign(this.pickingGeometryNode.getBBox()).multRight(a);for(var h=0,p=s.size;h<p;++h){var l=s[h];t.assign(l.geometryNode.getBBox()).multRight(l.modelMatrix),e.intersectsBox(t)&&(i.assign(e.center),n.assign(t.center),l.intersected=!0,l.distance=i.distance(n))}}var d=this.getPickedGeometries(),g=Boolean(d.length);d.remove(0,d.length,null),g!==this._isActive.getValue()&&(this._isActive=g),this._pickedGeometry.equals(d)||(this._pickedGeometry=d);break;case T.GEOMETRY:var u=this.picker;for(r=0,c=o.length;r<c;++r){a=o[r];var m=this.getPickShape(this.pickingGeometryNode);e.assign(this.pickingGeometryNode.getBBox()).multRight(a),u.setChildShape1(a,m.getCompoundShape());for(h=0,p=s.size;h<p;++h){l=s[h];var y=this.getPickShape(l.geometryNode);t.assign(l.geometryNode.getBBox()).multRight(l.modelMatrix),u.setChildShape2(l.modelMatrix,y.getCompoundShape()),u.contactTest()&&(i.assign(e.center),n.assign(t.center),l.intersected=!0,l.distance=i.distance(n))}}d=this.getPickedGeometries(),g=Boolean(d.length);d.remove(0,d.length,null),g!==this._isActive.getValue()&&(this._isActive=g),this._pickedGeometry.equals(d)||(this._pickedGeometry=d)}}L.prototype.process.call(this)}}()});const Xe=je;y().set("x_ite/Components/Picking/VolumePickSensor",Xe);const Le=Xe;i().addComponent({name:"Picking",types:{LinePickSensor:le,PickableGroup:fe,PointPickSensor:De,PrimitivePickSensor:Ie,VolumePickSensor:Le},abstractTypes:{X3DPickSensorNode:L,X3DPickableObject:ye}});const Ve=void 0;y().set("assets/components/Picking",Ve)})();
@@ -1,11 +1,11 @@
1
- /* X_ITE v8.6.11 */(() => { // webpackBootstrap
1
+ /* X_ITE v8.6.12 */(() => { // webpackBootstrap
2
2
  /******/ var __webpack_modules__ = ({
3
3
 
4
4
  /***/ 355:
5
5
  /***/ ((module) => {
6
6
 
7
7
  "use strict";
8
- module.exports = window [Symbol .for ("X_ITE.X3D-8.6.11")] .require ("lib/jquery");
8
+ module.exports = window [Symbol .for ("X_ITE.X3D-8.6.12")] .require ("lib/jquery");
9
9
 
10
10
  /***/ }),
11
11
 
@@ -88,31 +88,31 @@ var __webpack_exports__ = {};
88
88
  // UNUSED EXPORTS: default
89
89
 
90
90
  ;// CONCATENATED MODULE: external "window [Symbol .for (\"X_ITE.X3D\")] .require (\"x_ite/Components\")"
91
- const Components_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.6.11")] .require ("x_ite/Components");
91
+ const Components_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.6.12")] .require ("x_ite/Components");
92
92
  var Components_default = /*#__PURE__*/__webpack_require__.n(Components_namespaceObject);
93
93
  ;// CONCATENATED MODULE: external "window [Symbol .for (\"X_ITE.X3D\")] .require (\"x_ite/Fields\")"
94
- const Fields_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.6.11")] .require ("x_ite/Fields");
94
+ const Fields_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.6.12")] .require ("x_ite/Fields");
95
95
  var Fields_default = /*#__PURE__*/__webpack_require__.n(Fields_namespaceObject);
96
96
  ;// CONCATENATED MODULE: external "window [Symbol .for (\"X_ITE.X3D\")] .require (\"x_ite/Base/X3DFieldDefinition\")"
97
- const X3DFieldDefinition_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.6.11")] .require ("x_ite/Base/X3DFieldDefinition");
97
+ const X3DFieldDefinition_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.6.12")] .require ("x_ite/Base/X3DFieldDefinition");
98
98
  var X3DFieldDefinition_default = /*#__PURE__*/__webpack_require__.n(X3DFieldDefinition_namespaceObject);
99
99
  ;// CONCATENATED MODULE: external "window [Symbol .for (\"X_ITE.X3D\")] .require (\"x_ite/Base/FieldDefinitionArray\")"
100
- const FieldDefinitionArray_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.6.11")] .require ("x_ite/Base/FieldDefinitionArray");
100
+ const FieldDefinitionArray_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.6.12")] .require ("x_ite/Base/FieldDefinitionArray");
101
101
  var FieldDefinitionArray_default = /*#__PURE__*/__webpack_require__.n(FieldDefinitionArray_namespaceObject);
102
102
  ;// CONCATENATED MODULE: external "window [Symbol .for (\"X_ITE.X3D\")] .require (\"x_ite/Components/Core/X3DNode\")"
103
- const X3DNode_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.6.11")] .require ("x_ite/Components/Core/X3DNode");
103
+ const X3DNode_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.6.12")] .require ("x_ite/Components/Core/X3DNode");
104
104
  var X3DNode_default = /*#__PURE__*/__webpack_require__.n(X3DNode_namespaceObject);
105
105
  ;// CONCATENATED MODULE: external "window [Symbol .for (\"X_ITE.X3D\")] .require (\"x_ite/Base/X3DConstants\")"
106
- const X3DConstants_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.6.11")] .require ("x_ite/Base/X3DConstants");
106
+ const X3DConstants_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.6.12")] .require ("x_ite/Base/X3DConstants");
107
107
  var X3DConstants_default = /*#__PURE__*/__webpack_require__.n(X3DConstants_namespaceObject);
108
108
  ;// CONCATENATED MODULE: external "window [Symbol .for (\"X_ITE.X3D\")] .require (\"x_ite/Base/X3DCast\")"
109
- const X3DCast_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.6.11")] .require ("x_ite/Base/X3DCast");
109
+ const X3DCast_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.6.12")] .require ("x_ite/Base/X3DCast");
110
110
  var X3DCast_default = /*#__PURE__*/__webpack_require__.n(X3DCast_namespaceObject);
111
111
  ;// CONCATENATED MODULE: external "window [Symbol .for (\"X_ITE.X3D\")] .require (\"standard/Math/Numbers/Matrix4\")"
112
- const Matrix4_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.6.11")] .require ("standard/Math/Numbers/Matrix4");
112
+ const Matrix4_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.6.12")] .require ("standard/Math/Numbers/Matrix4");
113
113
  var Matrix4_default = /*#__PURE__*/__webpack_require__.n(Matrix4_namespaceObject);
114
114
  ;// CONCATENATED MODULE: external "window [Symbol .for (\"X_ITE.X3D\")] .require (\"x_ite/Namespace\")"
115
- const Namespace_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.6.11")] .require ("x_ite/Namespace");
115
+ const Namespace_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.6.12")] .require ("x_ite/Namespace");
116
116
  var Namespace_default = /*#__PURE__*/__webpack_require__.n(Namespace_namespaceObject);
117
117
  ;// CONCATENATED MODULE: ./src/x_ite/Components/RigidBodyPhysics/X3DRigidJointNode.js
118
118
  /*******************************************************************************
@@ -328,7 +328,7 @@ const __default__ = X3DRigidJointNode;
328
328
  Namespace_default().set ("x_ite/Components/RigidBodyPhysics/X3DRigidJointNode", __default__);
329
329
  /* harmony default export */ const RigidBodyPhysics_X3DRigidJointNode = (__default__);
330
330
  ;// CONCATENATED MODULE: external "window [Symbol .for (\"X_ITE.X3D\")] .require (\"standard/Math/Numbers/Vector3\")"
331
- const Vector3_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.6.11")] .require ("standard/Math/Numbers/Vector3");
331
+ const Vector3_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.6.12")] .require ("standard/Math/Numbers/Vector3");
332
332
  var Vector3_default = /*#__PURE__*/__webpack_require__.n(Vector3_namespaceObject);
333
333
  ;// CONCATENATED MODULE: ./src/lib/ammojs/ammo.js
334
334
  var ammo_dirname = "/";
@@ -629,10 +629,10 @@ const BallJoint_default_ = BallJoint;
629
629
  Namespace_default().set ("x_ite/Components/RigidBodyPhysics/BallJoint", BallJoint_default_);
630
630
  /* harmony default export */ const RigidBodyPhysics_BallJoint = (BallJoint_default_);
631
631
  ;// CONCATENATED MODULE: external "window [Symbol .for (\"X_ITE.X3D\")] .require (\"x_ite/Components/Core/X3DChildNode\")"
632
- const X3DChildNode_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.6.11")] .require ("x_ite/Components/Core/X3DChildNode");
632
+ const X3DChildNode_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.6.12")] .require ("x_ite/Components/Core/X3DChildNode");
633
633
  var X3DChildNode_default = /*#__PURE__*/__webpack_require__.n(X3DChildNode_namespaceObject);
634
634
  ;// CONCATENATED MODULE: external "window [Symbol .for (\"X_ITE.X3D\")] .require (\"x_ite/Components/Grouping/X3DBoundedObject\")"
635
- const X3DBoundedObject_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.6.11")] .require ("x_ite/Components/Grouping/X3DBoundedObject");
635
+ const X3DBoundedObject_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.6.12")] .require ("x_ite/Components/Grouping/X3DBoundedObject");
636
636
  var X3DBoundedObject_default = /*#__PURE__*/__webpack_require__.n(X3DBoundedObject_namespaceObject);
637
637
  ;// CONCATENATED MODULE: ./src/x_ite/Components/RigidBodyPhysics/X3DNBodyCollidableNode.js
638
638
  /*******************************************************************************
@@ -794,7 +794,7 @@ const X3DNBodyCollidableNode_default_ = X3DNBodyCollidableNode;
794
794
  Namespace_default().set ("x_ite/Components/RigidBodyPhysics/X3DNBodyCollidableNode", X3DNBodyCollidableNode_default_);
795
795
  /* harmony default export */ const RigidBodyPhysics_X3DNBodyCollidableNode = (X3DNBodyCollidableNode_default_);
796
796
  ;// CONCATENATED MODULE: external "window [Symbol .for (\"X_ITE.X3D\")] .require (\"x_ite/Rendering/TraverseType\")"
797
- const TraverseType_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.6.11")] .require ("x_ite/Rendering/TraverseType");
797
+ const TraverseType_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.6.12")] .require ("x_ite/Rendering/TraverseType");
798
798
  var TraverseType_default = /*#__PURE__*/__webpack_require__.n(TraverseType_namespaceObject);
799
799
  ;// CONCATENATED MODULE: ./src/x_ite/Components/RigidBodyPhysics/CollidableOffset.js
800
800
  /*******************************************************************************
@@ -899,14 +899,7 @@ CollidableOffset .prototype = Object .assign (Object .create (RigidBodyPhysics_X
899
899
  getBBox: function (bbox, shadows)
900
900
  {
901
901
  if (this ._bboxSize .getValue () .equals (this .getDefaultBBoxSize ()))
902
- {
903
- const boundedObject = this .visibleNode;
904
-
905
- if (boundedObject)
906
- return boundedObject .getBBox (bbox, shadows);
907
-
908
- return bbox .set ();
909
- }
902
+ return this .visibleNode?.getBBox (bbox, shadows) .multRight (this .getMatrix ()) ?? bbox .set ();
910
903
 
911
904
  return bbox .set (this ._bboxSize .getValue (), this ._bboxCenter .getValue ());
912
905
  },
@@ -956,7 +949,7 @@ CollidableOffset .prototype = Object .assign (Object .create (RigidBodyPhysics_X
956
949
  },
957
950
  set_cameraObject__: function ()
958
951
  {
959
- this .setCameraObject (!!(this .visibleNode && this .visibleNode .isCameraObject ()));
952
+ this .setCameraObject (!!this .visibleNode?.isCameraObject ());
960
953
  },
961
954
  set_visible__: function ()
962
955
  {
@@ -997,10 +990,7 @@ CollidableOffset .prototype = Object .assign (Object .create (RigidBodyPhysics_X
997
990
  modelViewMatrix .push ();
998
991
  modelViewMatrix .multLeft (this .getMatrix ());
999
992
 
1000
- const visibleNode = this .visibleNode;
1001
-
1002
- if (visibleNode)
1003
- visibleNode .traverse (type, renderObject);
993
+ this .visibleNode?.traverse (type, renderObject);
1004
994
 
1005
995
  modelViewMatrix .pop ();
1006
996
  return;
@@ -1016,10 +1006,7 @@ CollidableOffset .prototype = Object .assign (Object .create (RigidBodyPhysics_X
1016
1006
  modelViewMatrix .push ();
1017
1007
  modelViewMatrix .multLeft (this .getMatrix ());
1018
1008
 
1019
- const visibleNode = this .visibleNode;
1020
-
1021
- if (visibleNode)
1022
- visibleNode .traverse (type, renderObject);
1009
+ this .visibleNode?.traverse (type, renderObject);
1023
1010
 
1024
1011
  modelViewMatrix .pop ();
1025
1012
  pickingHierarchy .pop ();
@@ -1032,10 +1019,7 @@ CollidableOffset .prototype = Object .assign (Object .create (RigidBodyPhysics_X
1032
1019
  modelViewMatrix .push ();
1033
1020
  modelViewMatrix .multLeft (this .getMatrix ());
1034
1021
 
1035
- const visibleNode = this .visibleNode;
1036
-
1037
- if (visibleNode)
1038
- visibleNode .traverse (type, renderObject);
1022
+ this .visibleNode?.traverse (type, renderObject);
1039
1023
 
1040
1024
  modelViewMatrix .pop ();
1041
1025
  break;
@@ -1047,15 +1031,9 @@ CollidableOffset .prototype = Object .assign (Object .create (RigidBodyPhysics_X
1047
1031
  modelViewMatrix .push ();
1048
1032
  modelViewMatrix .multLeft (this .getMatrix ());
1049
1033
 
1050
- const visibleNode = this .visibleNode;
1051
-
1052
- if (visibleNode)
1053
- visibleNode .traverse (type, renderObject);
1054
-
1055
- const boundedObject = this .boundedObject;
1034
+ this .visibleNode?.traverse (type, renderObject);
1056
1035
 
1057
- if (boundedObject)
1058
- boundedObject .displayBBox (type, renderObject);
1036
+ this .boundedObject?.displayBBox (type, renderObject);
1059
1037
 
1060
1038
  modelViewMatrix .pop ();
1061
1039
  return;
@@ -1179,14 +1157,7 @@ CollidableShape .prototype = Object .assign (Object .create (RigidBodyPhysics_X3
1179
1157
  getBBox: function (bbox, shadows)
1180
1158
  {
1181
1159
  if (this ._bboxSize .getValue () .equals (this .getDefaultBBoxSize ()))
1182
- {
1183
- const boundedObject = this .visibleNode;
1184
-
1185
- if (boundedObject)
1186
- return boundedObject .getBBox (bbox, shadows);
1187
-
1188
- return bbox .set ();
1189
- }
1160
+ return this .visibleNode?.getBBox (bbox, shadows) .multRight (this .getMatrix ()) ?? bbox .set ();
1190
1161
 
1191
1162
  return bbox .set (this ._bboxSize .getValue (), this ._bboxCenter .getValue ());
1192
1163
  },
@@ -1294,7 +1265,7 @@ CollidableShape .prototype = Object .assign (Object .create (RigidBodyPhysics_X3
1294
1265
  },
1295
1266
  set_cameraObject__: function ()
1296
1267
  {
1297
- this .setCameraObject (!!(this .visibleNode && this .visibleNode .isCameraObject ()));
1268
+ this .setCameraObject (!!this .visibleNode?.isCameraObject ());
1298
1269
  },
1299
1270
  set_visible__: function ()
1300
1271
  {
@@ -1500,10 +1471,7 @@ CollidableShape .prototype = Object .assign (Object .create (RigidBodyPhysics_X3
1500
1471
  modelViewMatrix .push ();
1501
1472
  modelViewMatrix .multLeft (this .getMatrix ());
1502
1473
 
1503
- const visibleNode = this .visibleNode;
1504
-
1505
- if (visibleNode)
1506
- visibleNode .traverse (type, renderObject);
1474
+ this .visibleNode?.traverse (type, renderObject);
1507
1475
 
1508
1476
  modelViewMatrix .pop ();
1509
1477
  return;
@@ -1519,10 +1487,7 @@ CollidableShape .prototype = Object .assign (Object .create (RigidBodyPhysics_X3
1519
1487
  modelViewMatrix .push ();
1520
1488
  modelViewMatrix .multLeft (this .getMatrix ());
1521
1489
 
1522
- const visibleNode = this .visibleNode;
1523
-
1524
- if (visibleNode)
1525
- visibleNode .traverse (type, renderObject);
1490
+ this .visibleNode?.traverse (type, renderObject);
1526
1491
 
1527
1492
  modelViewMatrix .pop ();
1528
1493
  pickingHierarchy .pop ();
@@ -1535,10 +1500,7 @@ CollidableShape .prototype = Object .assign (Object .create (RigidBodyPhysics_X3
1535
1500
  modelViewMatrix .push ();
1536
1501
  modelViewMatrix .multLeft (this .getMatrix ());
1537
1502
 
1538
- const visibleNode = this .visibleNode;
1539
-
1540
- if (visibleNode)
1541
- visibleNode .traverse (type, renderObject);
1503
+ this .visibleNode?.traverse (type, renderObject);
1542
1504
 
1543
1505
  modelViewMatrix .pop ();
1544
1506
  return;
@@ -1550,15 +1512,9 @@ CollidableShape .prototype = Object .assign (Object .create (RigidBodyPhysics_X3
1550
1512
  modelViewMatrix .push ();
1551
1513
  modelViewMatrix .multLeft (this .getMatrix ());
1552
1514
 
1553
- const visibleNode = this .visibleNode;
1554
-
1555
- if (visibleNode)
1556
- visibleNode .traverse (type, renderObject);
1557
-
1558
- const boundedObject = this .boundedObject;
1515
+ this .visibleNode?.traverse (type, renderObject);
1559
1516
 
1560
- if (boundedObject)
1561
- boundedObject .displayBBox (type, renderObject);
1517
+ this .boundedObject?.displayBBox (type, renderObject);
1562
1518
 
1563
1519
  modelViewMatrix .pop ();
1564
1520
  return;
@@ -1851,7 +1807,7 @@ const CollisionCollection_default_ = CollisionCollection;
1851
1807
  Namespace_default().set ("x_ite/Components/RigidBodyPhysics/CollisionCollection", CollisionCollection_default_);
1852
1808
  /* harmony default export */ const RigidBodyPhysics_CollisionCollection = (CollisionCollection_default_);
1853
1809
  ;// CONCATENATED MODULE: external "window [Symbol .for (\"X_ITE.X3D\")] .require (\"x_ite/Components/Core/X3DSensorNode\")"
1854
- const X3DSensorNode_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.6.11")] .require ("x_ite/Components/Core/X3DSensorNode");
1810
+ const X3DSensorNode_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.6.12")] .require ("x_ite/Components/Core/X3DSensorNode");
1855
1811
  var X3DSensorNode_default = /*#__PURE__*/__webpack_require__.n(X3DSensorNode_namespaceObject);
1856
1812
  ;// CONCATENATED MODULE: ./src/x_ite/Components/RigidBodyPhysics/CollisionSensor.js
1857
1813
  /*******************************************************************************
@@ -2491,7 +2447,7 @@ const Contact_default_ = Contact;
2491
2447
  Namespace_default().set ("x_ite/Components/RigidBodyPhysics/Contact", Contact_default_);
2492
2448
  /* harmony default export */ const RigidBodyPhysics_Contact = (Contact_default_);
2493
2449
  ;// CONCATENATED MODULE: external "window [Symbol .for (\"X_ITE.X3D\")] .require (\"standard/Math/Numbers/Rotation4\")"
2494
- const Rotation4_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.6.11")] .require ("standard/Math/Numbers/Rotation4");
2450
+ const Rotation4_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.6.12")] .require ("standard/Math/Numbers/Rotation4");
2495
2451
  var Rotation4_default = /*#__PURE__*/__webpack_require__.n(Rotation4_namespaceObject);
2496
2452
  ;// CONCATENATED MODULE: ./src/x_ite/Components/RigidBodyPhysics/DoubleAxisHingeJoint.js
2497
2453
  /* provided dependency */ var DoubleAxisHingeJoint_$ = __webpack_require__(355);
@@ -2902,7 +2858,7 @@ const MotorJoint_default_ = MotorJoint;
2902
2858
  Namespace_default().set ("x_ite/Components/RigidBodyPhysics/MotorJoint", MotorJoint_default_);
2903
2859
  /* harmony default export */ const RigidBodyPhysics_MotorJoint = (MotorJoint_default_);
2904
2860
  ;// CONCATENATED MODULE: external "window [Symbol .for (\"X_ITE.X3D\")] .require (\"standard/Math/Numbers/Quaternion\")"
2905
- const Quaternion_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.6.11")] .require ("standard/Math/Numbers/Quaternion");
2861
+ const Quaternion_namespaceObject = window [Symbol .for ("X_ITE.X3D-8.6.12")] .require ("standard/Math/Numbers/Quaternion");
2906
2862
  var Quaternion_default = /*#__PURE__*/__webpack_require__.n(Quaternion_namespaceObject);
2907
2863
  ;// CONCATENATED MODULE: ./src/x_ite/Components/RigidBodyPhysics/RigidBody.js
2908
2864
  /*******************************************************************************