x_ite 8.7.4 → 8.7.6

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 (271) hide show
  1. package/.vscode/tasks.json +1 -1
  2. package/dist/assets/components/Annotation.js +13 -13
  3. package/dist/assets/components/Annotation.min.js +1 -1
  4. package/dist/assets/components/CADGeometry.js +13 -13
  5. package/dist/assets/components/CADGeometry.min.js +1 -1
  6. package/dist/assets/components/CubeMapTexturing.js +25 -25
  7. package/dist/assets/components/CubeMapTexturing.min.js +1 -1
  8. package/dist/assets/components/DIS.js +13 -13
  9. package/dist/assets/components/DIS.min.js +1 -1
  10. package/dist/assets/components/EventUtilities.js +9 -9
  11. package/dist/assets/components/EventUtilities.min.js +1 -1
  12. package/dist/assets/components/Geometry2D.js +21 -23
  13. package/dist/assets/components/Geometry2D.min.js +1 -1
  14. package/dist/assets/components/Geospatial.js +35 -36
  15. package/dist/assets/components/Geospatial.min.js +1 -1
  16. package/dist/assets/components/HAnim.js +18 -18
  17. package/dist/assets/components/HAnim.min.js +1 -1
  18. package/dist/assets/components/KeyDeviceSensor.js +8 -8
  19. package/dist/assets/components/KeyDeviceSensor.min.js +1 -1
  20. package/dist/assets/components/Layout.js +37 -32
  21. package/dist/assets/components/Layout.min.js +1 -1
  22. package/dist/assets/components/NURBS.js +24 -24
  23. package/dist/assets/components/NURBS.min.js +1 -1
  24. package/dist/assets/components/ParticleSystems.js +22 -22
  25. package/dist/assets/components/ParticleSystems.min.js +1 -1
  26. package/dist/assets/components/Picking.js +20 -20
  27. package/dist/assets/components/Picking.min.js +1 -1
  28. package/dist/assets/components/RigidBodyPhysics.js +25 -25
  29. package/dist/assets/components/RigidBodyPhysics.min.js +1 -1
  30. package/dist/assets/components/Scripting.js +28 -28
  31. package/dist/assets/components/Scripting.min.js +1 -1
  32. package/dist/assets/components/Text.js +26 -27
  33. package/dist/assets/components/Text.min.js +1 -1
  34. package/dist/assets/components/TextureProjector.js +15 -15
  35. package/dist/assets/components/TextureProjector.min.js +1 -1
  36. package/dist/assets/components/Texturing3D.js +30 -30
  37. package/dist/assets/components/Texturing3D.min.js +1 -1
  38. package/dist/assets/components/VolumeRendering.js +19 -19
  39. package/dist/assets/components/VolumeRendering.min.js +1 -1
  40. package/dist/assets/components/X_ITE.js +9 -9
  41. package/dist/assets/components/X_ITE.min.js +1 -1
  42. package/dist/x_ite.css +1 -1
  43. package/dist/x_ite.js +1187 -1686
  44. package/dist/x_ite.min.js +1 -1
  45. package/dist/x_ite.zip +0 -0
  46. package/docs/_config.yml +1 -1
  47. package/docs/_includes/scripts.html +0 -1
  48. package/docs/_posts/components/CADGeometry/QuadSet.md +1 -1
  49. package/docs/_posts/components/CubeMapTexturing/ComposedCubeMapTexture.md +1 -1
  50. package/docs/_posts/components/CubeMapTexturing/GeneratedCubeMapTexture.md +1 -1
  51. package/docs/_posts/components/EnvironmentalEffects/Background.md +1 -1
  52. package/docs/_posts/components/EnvironmentalEffects/Fog.md +1 -1
  53. package/docs/_posts/components/EnvironmentalEffects/LocalFog.md +1 -1
  54. package/docs/_posts/components/EnvironmentalEffects/TextureBackground.md +1 -1
  55. package/docs/_posts/components/EnvironmentalSensor/ProximitySensor.md +1 -1
  56. package/docs/_posts/components/EnvironmentalSensor/TransformSensor.md +1 -1
  57. package/docs/_posts/components/EnvironmentalSensor/VisibilitySensor.md +1 -1
  58. package/docs/_posts/components/EventUtilities/IntegerSequencer.md +1 -1
  59. package/docs/_posts/components/Followers/ColorChaser.md +1 -1
  60. package/docs/_posts/components/Followers/ColorDamper.md +1 -1
  61. package/docs/_posts/components/Followers/CoordinateChaser.md +1 -1
  62. package/docs/_posts/components/Followers/ScalarChaser.md +1 -1
  63. package/docs/_posts/components/Geometry2D/Arc2D.md +1 -1
  64. package/docs/_posts/components/Geometry2D/ArcClose2D.md +1 -1
  65. package/docs/_posts/components/Geometry2D/Circle2D.md +1 -1
  66. package/docs/_posts/components/Geometry2D/Disk2D.md +1 -1
  67. package/docs/_posts/components/Geometry2D/Polyline2D.md +1 -1
  68. package/docs/_posts/components/Geometry2D/Polypoint2D.md +1 -1
  69. package/docs/_posts/components/Geometry2D/Rectangle2D.md +1 -1
  70. package/docs/_posts/components/Geometry2D/TriangleSet2D.md +1 -1
  71. package/docs/_posts/components/Geometry3D/Box.md +1 -1
  72. package/docs/_posts/components/Geometry3D/Cone.md +1 -1
  73. package/docs/_posts/components/Geometry3D/Cylinder.md +1 -1
  74. package/docs/_posts/components/Geometry3D/ElevationGrid.md +1 -1
  75. package/docs/_posts/components/Geometry3D/Extrusion.md +1 -1
  76. package/docs/_posts/components/Geometry3D/IndexedFaceSet.md +1 -1
  77. package/docs/_posts/components/Geometry3D/Sphere.md +1 -1
  78. package/docs/_posts/components/Geospatial/GeoElevationGrid.md +1 -1
  79. package/docs/_posts/components/Geospatial/GeoLOD.md +1 -1
  80. package/docs/_posts/components/Geospatial/GeoViewpoint.md +1 -1
  81. package/docs/_posts/components/Grouping/Group.md +1 -1
  82. package/docs/_posts/components/Grouping/Switch.md +1 -1
  83. package/docs/_posts/components/Grouping/Transform.md +1 -1
  84. package/docs/_posts/components/HAnim/HAnimHumanoid.md +1 -1
  85. package/docs/_posts/components/Interpolation/ColorInterpolator.md +1 -1
  86. package/docs/_posts/components/Interpolation/CoordinateInterpolator.md +1 -1
  87. package/docs/_posts/components/Interpolation/OrientationInterpolator.md +1 -1
  88. package/docs/_posts/components/Interpolation/PositionInterpolator.md +1 -1
  89. package/docs/_posts/components/Interpolation/PositionInterpolator2D.md +1 -1
  90. package/docs/_posts/components/Interpolation/ScalarInterpolator.md +1 -1
  91. package/docs/_posts/components/Interpolation/SplineScalarInterpolator.md +1 -1
  92. package/docs/_posts/components/Interpolation/SquadOrientationInterpolator.md +1 -1
  93. package/docs/_posts/components/KeyDeviceSensor/KeySensor.md +1 -1
  94. package/docs/_posts/components/KeyDeviceSensor/StringSensor.md +1 -1
  95. package/docs/_posts/components/Layering/LayerSet.md +1 -1
  96. package/docs/_posts/components/Layering/Viewport.md +1 -1
  97. package/docs/_posts/components/Lighting/DirectionalLight.md +1 -1
  98. package/docs/_posts/components/Lighting/PointLight.md +1 -1
  99. package/docs/_posts/components/Lighting/SpotLight.md +1 -1
  100. package/docs/_posts/components/NURBS/NurbsCurve.md +1 -1
  101. package/docs/_posts/components/NURBS/NurbsPatchSurface.md +1 -1
  102. package/docs/_posts/components/NURBS/NurbsSweptSurface.md +1 -1
  103. package/docs/_posts/components/Navigation/Billboard.md +1 -1
  104. package/docs/_posts/components/Navigation/Collision.md +1 -1
  105. package/docs/_posts/components/Navigation/NavigationInfo.md +1 -1
  106. package/docs/_posts/components/Navigation/OrthoViewpoint.md +1 -1
  107. package/docs/_posts/components/Navigation/Viewpoint.md +1 -1
  108. package/docs/_posts/components/Networking/Anchor.md +1 -1
  109. package/docs/_posts/components/Networking/Inline.md +1 -1
  110. package/docs/_posts/components/Networking/LoadSensor.md +1 -1
  111. package/docs/_posts/components/ParticleSystems/ConeEmitter.md +1 -1
  112. package/docs/_posts/components/ParticleSystems/ExplosionEmitter.md +1 -1
  113. package/docs/_posts/components/ParticleSystems/ForcePhysicsModel.md +1 -1
  114. package/docs/_posts/components/ParticleSystems/ParticleSystem.md +1 -1
  115. package/docs/_posts/components/ParticleSystems/PointEmitter.md +1 -1
  116. package/docs/_posts/components/ParticleSystems/PolylineEmitter.md +1 -1
  117. package/docs/_posts/components/ParticleSystems/SurfaceEmitter.md +1 -1
  118. package/docs/_posts/components/ParticleSystems/VolumeEmitter.md +1 -1
  119. package/docs/_posts/components/ParticleSystems/WindPhysicsModel.md +1 -1
  120. package/docs/_posts/components/Picking/LinePickSensor.md +1 -1
  121. package/docs/_posts/components/Picking/PointPickSensor.md +1 -1
  122. package/docs/_posts/components/Picking/PrimitivePickSensor.md +1 -1
  123. package/docs/_posts/components/PointingDeviceSensor/CylinderSensor.md +1 -1
  124. package/docs/_posts/components/PointingDeviceSensor/PlaneSensor.md +1 -1
  125. package/docs/_posts/components/Rendering/ClipPlane.md +1 -1
  126. package/docs/_posts/components/Rendering/Color.md +1 -1
  127. package/docs/_posts/components/Rendering/ColorRGBA.md +1 -1
  128. package/docs/_posts/components/Rendering/Coordinate.md +1 -1
  129. package/docs/_posts/components/Rendering/IndexedLineSet.md +1 -1
  130. package/docs/_posts/components/Rendering/IndexedTriangleFanSet.md +1 -1
  131. package/docs/_posts/components/Rendering/IndexedTriangleSet.md +1 -1
  132. package/docs/_posts/components/Rendering/LineSet.md +1 -1
  133. package/docs/_posts/components/Rendering/PointSet.md +1 -1
  134. package/docs/_posts/components/RigidBodyPhysics/BallJoint.md +1 -1
  135. package/docs/_posts/components/RigidBodyPhysics/CollidableShape.md +1 -1
  136. package/docs/_posts/components/RigidBodyPhysics/CollisionCollection.md +1 -1
  137. package/docs/_posts/components/RigidBodyPhysics/RigidBody.md +1 -1
  138. package/docs/_posts/components/RigidBodyPhysics/RigidBodyCollection.md +1 -1
  139. package/docs/_posts/components/RigidBodyPhysics/SingleAxisHingeJoint.md +1 -1
  140. package/docs/_posts/components/RigidBodyPhysics/SliderJoint.md +1 -1
  141. package/docs/_posts/components/Shaders/ComposedShader.md +1 -1
  142. package/docs/_posts/components/Shaders/FloatVertexAttribute.md +1 -1
  143. package/docs/_posts/components/Shaders/ShaderPart.md +1 -1
  144. package/docs/_posts/components/Shape/Appearance.md +1 -1
  145. package/docs/_posts/components/Shape/FillProperties.md +1 -1
  146. package/docs/_posts/components/Shape/LineProperties.md +1 -1
  147. package/docs/_posts/components/Shape/Material.md +1 -1
  148. package/docs/_posts/components/Shape/TwoSidedMaterial.md +1 -1
  149. package/docs/_posts/components/Sound/AudioClip.md +1 -1
  150. package/docs/_posts/components/Text/FontStyle.md +1 -1
  151. package/docs/_posts/components/Text/Text.md +1 -1
  152. package/docs/_posts/components/Texturing/ImageTexture.md +1 -1
  153. package/docs/_posts/components/Texturing/MovieTexture.md +1 -1
  154. package/docs/_posts/components/Texturing/MultiTexture.md +1 -1
  155. package/docs/_posts/components/Texturing/PixelTexture.md +1 -1
  156. package/docs/_posts/components/Texturing3D/ImageTexture3D.md +1 -1
  157. package/docs/_posts/components/Texturing3D/ImageTextureAtlas.md +1 -1
  158. package/docs/_posts/components/Time/TimeSensor.md +1 -1
  159. package/docs/_posts/components/VolumeRendering/EdgeEnhancementVolumeStyle.md +1 -1
  160. package/docs/_posts/components/VolumeRendering/IsoSurfaceVolumeData.md +1 -1
  161. package/docs/_posts/components/VolumeRendering/SegmentedVolumeData.md +1 -1
  162. package/docs/_posts/components/VolumeRendering/ShadedVolumeStyle.md +1 -1
  163. package/docs/_posts/components/VolumeRendering/ToneMappedVolumeStyle.md +1 -1
  164. package/docs/_posts/components/VolumeRendering/VolumeData.md +1 -1
  165. package/docs/_posts/components/X_ITE/BlendMode.md +1 -1
  166. package/docs/_posts/custom-shaders.md +1 -1
  167. package/docs/_posts/getting-started.md +7 -2
  168. package/docs/_posts/reference/browser-services.md +6 -0
  169. package/docs/_posts/reference/field-services-and-objects.md +26 -6
  170. package/docs/_posts/tutorials/adding-backgrounds.md +2 -2
  171. package/docs/_posts/tutorials/adding-sound.md +1 -1
  172. package/docs/_posts/tutorials/building-a-x3d-world.md +1 -1
  173. package/docs/_posts/tutorials/building-elevation-grids.md +1 -1
  174. package/docs/_posts/tutorials/building-primitive-shapes.md +2 -2
  175. package/docs/_posts/tutorials/controlling-appearance-with-materials.md +1 -1
  176. package/docs/_posts/tutorials/controlling-detail.md +1 -1
  177. package/docs/_posts/tutorials/hello-world.md +1 -1
  178. package/docs/_posts/tutorials/naming-nodes.md +1 -1
  179. package/docs/_posts/tutorials/writing-program-scripts-with-ecmascript.md +1 -1
  180. package/package.json +3 -3
  181. package/src/lib/jquery.js +13 -0
  182. package/src/standard/Geospatial/UniversalTransverseMercator.js +0 -1
  183. package/src/standard/Math/Algorithms/eigen_decomposition.js +9 -9
  184. package/src/standard/Math/Geometry/Box2.js +37 -24
  185. package/src/standard/Math/Geometry/Box3.js +37 -24
  186. package/src/standard/Math/Geometry/Cylinder3.js +1 -1
  187. package/src/standard/Math/Geometry/Line2.js +1 -1
  188. package/src/standard/Math/Geometry/Line3.js +1 -1
  189. package/src/standard/Math/Geometry/Plane3.js +1 -1
  190. package/src/standard/Math/Geometry/Sphere3.js +14 -14
  191. package/src/standard/Math/Numbers/Color3.js +10 -18
  192. package/src/standard/Math/Numbers/Color4.js +12 -23
  193. package/src/standard/Math/Numbers/Complex.js +59 -58
  194. package/src/standard/Math/Numbers/Matrix2.js +31 -45
  195. package/src/standard/Math/Numbers/Matrix3.js +59 -94
  196. package/src/standard/Math/Numbers/Matrix4.js +73 -114
  197. package/src/standard/Math/Numbers/Quaternion.js +70 -132
  198. package/src/standard/Math/Numbers/Rotation4.js +15 -42
  199. package/src/standard/Math/Numbers/Vector2.js +12 -78
  200. package/src/standard/Math/Numbers/Vector3.js +17 -94
  201. package/src/standard/Math/Numbers/Vector4.js +22 -94
  202. package/src/x_ite/Base/X3DInfoArray.js +9 -7
  203. package/src/x_ite/Base/X3DObject.js +9 -32
  204. package/src/x_ite/Base/X3DObjectArrayField.js +35 -64
  205. package/src/x_ite/Browser/Core/BrowserOptions.js +37 -0
  206. package/src/x_ite/Browser/Core/X3DCoreContext.js +21 -3
  207. package/src/x_ite/Browser/Interpolation/CatmullRomSplineInterpolatorTemplate.js +4 -4
  208. package/src/x_ite/Browser/Interpolation/SquatInterpolator.js +12 -7
  209. package/src/x_ite/Browser/Layout/ScreenText.js +9 -4
  210. package/src/x_ite/Browser/Navigation/ExamineViewer.js +9 -9
  211. package/src/x_ite/Browser/Navigation/LookAtViewer.js +3 -3
  212. package/src/x_ite/Browser/Navigation/WalkViewer.js +2 -2
  213. package/src/x_ite/Browser/Navigation/X3DFlyViewer.js +7 -7
  214. package/src/x_ite/Browser/Picking/VolumePicker.js +1 -1
  215. package/src/x_ite/Browser/Shaders/X3DShadersContext.js +0 -1
  216. package/src/x_ite/Browser/Text/X3DTextGeometry.js +2 -3
  217. package/src/x_ite/Browser/VERSION.js +1 -1
  218. package/src/x_ite/Browser/X3DBrowser.js +61 -68
  219. package/src/x_ite/Browser/X3DBrowserContext.js +8 -8
  220. package/src/x_ite/Components/EnvironmentalSensor/ProximitySensor.js +1 -1
  221. package/src/x_ite/Components/EnvironmentalSensor/TransformSensor.js +1 -1
  222. package/src/x_ite/Components/Followers/OrientationChaser.js +3 -3
  223. package/src/x_ite/Components/Followers/OrientationDamper.js +3 -3
  224. package/src/x_ite/Components/Geometry2D/Rectangle2D.js +2 -3
  225. package/src/x_ite/Components/Geometry3D/Box.js +3 -10
  226. package/src/x_ite/Components/Geometry3D/Cone.js +1 -1
  227. package/src/x_ite/Components/Geometry3D/Cylinder.js +2 -2
  228. package/src/x_ite/Components/Geometry3D/Extrusion.js +3 -3
  229. package/src/x_ite/Components/Geospatial/GeoViewpoint.js +2 -2
  230. package/src/x_ite/Components/Interpolation/OrientationInterpolator.js +2 -2
  231. package/src/x_ite/Components/Layering/X3DLayerNode.js +1 -1
  232. package/src/x_ite/Components/Layout/Layout.js +1 -1
  233. package/src/x_ite/Components/Navigation/Billboard.js +1 -1
  234. package/src/x_ite/Components/Navigation/X3DViewpointNode.js +12 -13
  235. package/src/x_ite/Components/Picking/PointPickSensor.js +1 -1
  236. package/src/x_ite/Components/PointingDeviceSensor/CylinderSensor.js +7 -7
  237. package/src/x_ite/Components/PointingDeviceSensor/PlaneSensor.js +1 -1
  238. package/src/x_ite/Components/PointingDeviceSensor/SphereSensor.js +9 -9
  239. package/src/x_ite/Components/Rendering/X3DGeometryNode.js +1 -1
  240. package/src/x_ite/Components/RigidBodyPhysics/DoubleAxisHingeJoint.js +2 -2
  241. package/src/x_ite/Components/RigidBodyPhysics/RigidBody.js +1 -1
  242. package/src/x_ite/Components/RigidBodyPhysics/SingleAxisHingeJoint.js +1 -1
  243. package/src/x_ite/Components/RigidBodyPhysics/SliderJoint.js +3 -3
  244. package/src/x_ite/Components/TextureProjector/X3DTextureProjectorNode.js +1 -1
  245. package/src/x_ite/Execution/X3DExecutionContext.js +52 -58
  246. package/src/x_ite/Execution/X3DExportedNode.js +13 -11
  247. package/src/x_ite/Execution/X3DImportedNode.js +25 -25
  248. package/src/x_ite/Execution/X3DScene.js +129 -53
  249. package/src/x_ite/Fields/ArrayFields.js +1 -1
  250. package/src/x_ite/Fields/SFColor.js +10 -15
  251. package/src/x_ite/Fields/SFColorRGBA.js +11 -18
  252. package/src/x_ite/Fields/SFImage.js +38 -33
  253. package/src/x_ite/Fields/SFMatrix3.js +1 -3
  254. package/src/x_ite/Fields/SFMatrix4.js +1 -5
  255. package/src/x_ite/Fields/SFMatrixPrototypeTemplate.js +6 -5
  256. package/src/x_ite/Fields/SFNodeCache.js +2 -2
  257. package/src/x_ite/Fields/SFRotation.js +14 -21
  258. package/src/x_ite/Fields/SFString.js +0 -1
  259. package/src/x_ite/Fields/SFVec2.js +8 -15
  260. package/src/x_ite/Fields/SFVec3.js +11 -18
  261. package/src/x_ite/Fields/SFVec4.js +12 -23
  262. package/src/x_ite/Fields/SFVecPrototypeTemplate.js +17 -16
  263. package/src/x_ite/Parser/SVGParser.js +3 -3
  264. package/src/x_ite/Parser/X3DOptimizer.js +1 -1
  265. package/src/x_ite/Prototype/X3DExternProtoDeclaration.js +26 -27
  266. package/src/x_ite/Prototype/X3DProtoDeclaration.js +16 -15
  267. package/src/x_ite/Rendering/X3DRenderObject.js +3 -3
  268. package/src/x_ite/Routing/X3DRoute.js +26 -25
  269. package/src/x_ite/X3DCanvasElement.js +1 -0
  270. package/docs/assets/js/autoupdate.js +0 -25
  271. package/src/x_ite/Execution/Scene.js +0 -145
@@ -83,6 +83,7 @@ BrowserOptions .prototype = Object .assign (Object .create (X3DBaseNode .prototy
83
83
  new X3DFieldDefinition (X3DConstants .inputOutput, "QualityWhenMoving", new Fields .SFString ("SAME")),
84
84
  new X3DFieldDefinition (X3DConstants .inputOutput, "Shading", new Fields .SFString ("GOURAUD")),
85
85
  new X3DFieldDefinition (X3DConstants .inputOutput, "MotionBlur", new Fields .SFBool ()),
86
+ new X3DFieldDefinition (X3DConstants .inputOutput, "AutoUpdate", new Fields .SFBool (false)),
86
87
  new X3DFieldDefinition (X3DConstants .inputOutput, "Cache", new Fields .SFBool (true)),
87
88
  new X3DFieldDefinition (X3DConstants .inputOutput, "ContentScale", new Fields .SFDouble (1)),
88
89
  new X3DFieldDefinition (X3DConstants .inputOutput, "ContextMenu", new Fields .SFBool (true)),
@@ -126,6 +127,7 @@ BrowserOptions .prototype = Object .assign (Object .create (X3DBaseNode .prototy
126
127
  this ._TextureQuality .addInterest ("set_textureQuality__", this);
127
128
  this ._Shading .addInterest ("set_shading__", this);
128
129
  this ._StraightenHorizon .addInterest ("set_straightenHorizon__", this);
130
+ this ._AutoUpdate .addInterest ("set_autoUpdate__", this);
129
131
  this ._ContentScale .addInterest ("set_contentScale__", this);
130
132
  this ._LogarithmicDepthBuffer .addInterest ("set_logarithmicDepthBuffer__", this);
131
133
  this ._Multisampling .addInterest ("set_multisampling__", this);
@@ -143,6 +145,7 @@ BrowserOptions .prototype = Object .assign (Object .create (X3DBaseNode .prototy
143
145
  {
144
146
  const attributes = new Set ([
145
147
  "Antialiased",
148
+ "AutoUpdate",
146
149
  "Cache",
147
150
  "ContentScale",
148
151
  "ContextMenu",
@@ -296,6 +299,40 @@ BrowserOptions .prototype = Object .assign (Object .create (X3DBaseNode .prototy
296
299
 
297
300
  browser .reshape ();
298
301
  },
302
+ set_autoUpdate__: function (autoUpdate)
303
+ {
304
+ const events = ["resize", "scroll", "load"]
305
+ .map (event => `${event}.${this .getTypeName ()}${this .getId ()}`)
306
+ .join (" ");
307
+
308
+ if (autoUpdate .getValue ())
309
+ {
310
+ const
311
+ browser = this .getBrowser (),
312
+ element = browser .getElement ();
313
+
314
+ const checkUpdate = () =>
315
+ {
316
+ if (element .isInViewport ())
317
+ {
318
+ if (!browser .isLive ())
319
+ browser .beginUpdate ();
320
+ }
321
+ else
322
+ {
323
+ if (browser .isLive ())
324
+ browser .endUpdate ();
325
+ }
326
+ };
327
+
328
+ $(window) .on (events, checkUpdate);
329
+ checkUpdate ();
330
+ }
331
+ else
332
+ {
333
+ $(window) .off (events);
334
+ }
335
+ },
299
336
  set_contentScale__: function (contentScale)
300
337
  {
301
338
  const browser = this .getBrowser ();
@@ -54,7 +54,7 @@ import RenderingProperties from "./RenderingProperties.js";
54
54
  import Notification from "./Notification.js";
55
55
  import ContextMenu from "./ContextMenu.js";
56
56
  import URLs from "../Networking/URLs.js";
57
- import Scene from "../../Execution/Scene.js";
57
+ import X3DScene from "../../Execution/X3DScene.js";
58
58
  import DataStorage from "../../../standard/Utility/DataStorage.js";
59
59
  import Vector3 from "../../../standard/Math/Numbers/Vector3.js";
60
60
  import _ from "../../../locale/gettext.js";
@@ -270,9 +270,9 @@ X3DCoreContext .prototype =
270
270
  if (this [_privateScene])
271
271
  return this [_privateScene];
272
272
 
273
- // Scene for default nodes.
273
+ // X3DScene for default nodes.
274
274
 
275
- this [_privateScene] = new Scene (this);
275
+ this [_privateScene] = new X3DScene (this);
276
276
 
277
277
  this [_privateScene] .setPrivate (true);
278
278
  this [_privateScene] .setLive (true);
@@ -374,6 +374,24 @@ X3DCoreContext .prototype =
374
374
  this .setBrowserOption ("Timings", this .parseBooleanAttribute (newValue, false));
375
375
  break;
376
376
  }
377
+ case "update":
378
+ {
379
+ if (newValue === "auto")
380
+ {
381
+ this .setBrowserOption ("AutoUpdate", true);
382
+ }
383
+ else
384
+ {
385
+ this .setBrowserOption ("AutoUpdate", false);
386
+
387
+ if (this .parseBooleanAttribute (newValue, true))
388
+ this .beginUpdate ();
389
+ else
390
+ this .endUpdate ();
391
+ }
392
+
393
+ break;
394
+ }
377
395
  case "url":
378
396
  {
379
397
  if (newValue)
@@ -60,7 +60,7 @@ function CatmullRomSplineInterpolatorTemplate (Type)
60
60
  constructor: CatmullRomSplineInterpolatorInstance,
61
61
  create: function ()
62
62
  {
63
- return new Type (0, 0, 0, 0);
63
+ return Type .Zero .copy ();
64
64
  },
65
65
  copy: function (value)
66
66
  {
@@ -68,15 +68,15 @@ function CatmullRomSplineInterpolatorTemplate (Type)
68
68
  },
69
69
  subtract: function (lhs, rhs)
70
70
  {
71
- return Type .subtract (lhs, rhs);
71
+ return lhs .copy () .subtract (rhs);
72
72
  },
73
73
  multiply: function (lhs, rhs)
74
74
  {
75
- return Type .multiply (lhs, rhs);
75
+ return lhs .copy () .multiply (rhs);
76
76
  },
77
77
  divide: function (lhs, rhs)
78
78
  {
79
- return Type .divide (lhs, rhs);
79
+ return lhs .copy () .divide (rhs);
80
80
  },
81
81
  magnitude: function (value)
82
82
  {
@@ -47,8 +47,6 @@
47
47
 
48
48
  import Rotation4 from "../../../standard/Math/Numbers/Rotation4.js";
49
49
 
50
- const result = new Rotation4 (0, 0, 1, 0);
51
-
52
50
  function SquatInterpolator ()
53
51
  {
54
52
  this .s = [ ];
@@ -95,14 +93,21 @@ SquatInterpolator .prototype =
95
93
  }
96
94
  }
97
95
  else if (key .length > 0)
96
+ {
98
97
  s .push (keyValue [0] .getValue () .copy ());
98
+ }
99
99
  },
100
- interpolate: function (index0, index1, weight, keyValue)
100
+ interpolate: (function ()
101
101
  {
102
- return result .assign (keyValue [index0] .getValue ()) .squad (this .s [index0],
103
- this .s [index1],
104
- keyValue [index1] .getValue (), weight);
105
- },
102
+ const result = new Rotation4 ();
103
+
104
+ return function (index0, index1, weight, keyValue)
105
+ {
106
+ return result .assign (keyValue [index0] .getValue ()) .squad (this .s [index0],
107
+ this .s [index1],
108
+ keyValue [index1] .getValue (), weight);
109
+ };
110
+ })(),
106
111
  };
107
112
 
108
113
  export default SquatInterpolator;
@@ -393,11 +393,16 @@ ScreenText .prototype = Object .assign (Object .create (X3DTextGeometry .prototy
393
393
 
394
394
  renderContext .textureNode = this .textureNode;
395
395
  },
396
- transformLine: function (line)
396
+ transformLine: (function ()
397
397
  {
398
- // Apply screen nodes transformation in place here.
399
- return line .multLineMatrix (Matrix4 .inverse (this .matrix));
400
- },
398
+ const invMatrix = new Matrix4 ();
399
+
400
+ return function (line)
401
+ {
402
+ // Apply screen nodes transformation in place here.
403
+ return line .multLineMatrix (invMatrix .assign (this .matrix) .inverse ());
404
+ };
405
+ })(),
401
406
  transformMatrix: function (matrix)
402
407
  {
403
408
  // Apply screen nodes transformation in place here.
@@ -76,12 +76,12 @@ function ExamineViewer (executionContext, navigationInfo)
76
76
  X3DViewer .call (this, executionContext, navigationInfo);
77
77
 
78
78
  this .button = -1;
79
- this .orientationOffset = new Rotation4 (0, 0, 1, 0);
79
+ this .orientationOffset = new Rotation4 ();
80
80
  this .fromVector = new Vector3 (0, 0, 0);
81
81
  this .toVector = new Vector3 (0, 0, 0);
82
82
  this .fromPoint = new Vector3 (0, 0, 0);
83
83
  this .toPoint = new Vector3 (0, 0, 0);
84
- this .rotation = new Rotation4 (0, 0, 1, 0);
84
+ this .rotation = new Rotation4 ();
85
85
  this .direction = new Vector3 (0, 0, 0);
86
86
  this .axis = new Vector3 (0, 0, 0);
87
87
  this .pressTime = 0;
@@ -94,7 +94,7 @@ function ExamineViewer (executionContext, navigationInfo)
94
94
  this .dblTapInterval = 0.4;
95
95
 
96
96
  this .initialPositionOffset = new Vector3 (0, 0, 0);
97
- this .initialOrientationOffset = new Rotation4 (0, 0, 1, 0);
97
+ this .initialOrientationOffset = new Rotation4 ();
98
98
  this .positionChaser = new PositionChaser (executionContext);
99
99
  this .centerOfRotationChaser = new PositionChaser (executionContext);
100
100
  this .rotationChaser = new OrientationChaser (executionContext);
@@ -636,7 +636,7 @@ ExamineViewer .prototype = Object .assign (Object .create (X3DViewer .prototype)
636
636
  viewpoint = this .getActiveViewpoint (),
637
637
  userPosition = viewpoint .getUserPosition (),
638
638
  userCenterOfRotation = viewpoint .getUserCenterOfRotation (),
639
- direction = Vector3 .subtract (userPosition, userCenterOfRotation),
639
+ direction = userPosition .copy () .subtract (userCenterOfRotation),
640
640
  rotation = this .getHorizonRotation (rotationChange),
641
641
  axis = viewpoint .getUpVector (true);
642
642
 
@@ -755,7 +755,7 @@ ExamineViewer .prototype = Object .assign (Object .create (X3DViewer .prototype)
755
755
  const
756
756
  distance = new Vector3 (0, 0, 0),
757
757
  d = new Vector3 (0, 0, 0),
758
- oob = new Rotation4 (0, 0, 1, 0);
758
+ oob = new Rotation4 ();
759
759
 
760
760
  return function (positionOffsetBefore, orientationOffsetBefore, orientationOffsetAfter)
761
761
  {
@@ -773,8 +773,8 @@ ExamineViewer .prototype = Object .assign (Object .create (X3DViewer .prototype)
773
773
  getOrientationOffset: (function ()
774
774
  {
775
775
  const
776
- userOrientation = new Rotation4 (0, 0, 1, 0),
777
- orientationOffset = new Rotation4 (0, 0, 1, 0),
776
+ userOrientation = new Rotation4 (),
777
+ orientationOffset = new Rotation4 (),
778
778
  zAxis = new Vector3 (0, 0, 0);
779
779
 
780
780
  return function (rotation, orientationOffsetBefore, _throw)
@@ -822,8 +822,8 @@ ExamineViewer .prototype = Object .assign (Object .create (X3DViewer .prototype)
822
822
  {
823
823
  const
824
824
  V = rotation .multVecRot (zAxis .assign (Vector3 .zAxis)),
825
- N = Vector3 .cross (Vector3 .yAxis, V),
826
- H = Vector3 .cross (N, Vector3 .yAxis),
825
+ N = Vector3 .yAxis .copy () .cross (V),
826
+ H = N .copy () .cross (Vector3 .yAxis),
827
827
  r = new Rotation4 (Vector3 .zAxis, H);
828
828
 
829
829
  return r;
@@ -370,7 +370,7 @@ LookAtViewer .prototype = Object .assign (Object .create (X3DViewer .prototype),
370
370
 
371
371
  event .deltaY = delta;
372
372
  event .zoomFactor = Math .abs (delta) / $(window) .width ();
373
-
373
+
374
374
  event .pageX = (touches [0] .pageX + touches [1] .pageX) / 2;
375
375
  event .pageY = (touches [0] .pageY + touches [1] .pageY) / 2;
376
376
 
@@ -456,8 +456,8 @@ LookAtViewer .prototype = Object .assign (Object .create (X3DViewer .prototype),
456
456
  addRotation: (function ()
457
457
  {
458
458
  const
459
- userOrientation = new Rotation4 (0, 0, 1, 0),
460
- orientationOffset = new Rotation4 (0, 0, 1, 0);
459
+ userOrientation = new Rotation4 (),
460
+ orientationOffset = new Rotation4 ();
461
461
 
462
462
  return function (fromVector, toVector)
463
463
  {
@@ -82,8 +82,8 @@ WalkViewer .prototype = Object .assign (Object .create (X3DFlyViewer .prototype)
82
82
  {
83
83
  const
84
84
  localYAxis = new Vector3 (0, 0, 0),
85
- userOrientation = new Rotation4 (0, 0, 1, 0),
86
- rotation = new Rotation4 (0, 0, 1, 0);
85
+ userOrientation = new Rotation4 (),
86
+ rotation = new Rotation4 ();
87
87
 
88
88
  return function (velocity)
89
89
  {
@@ -410,9 +410,9 @@ X3DFlyViewer .prototype = Object .assign (Object .create (X3DViewer .prototype),
410
410
  upVector = new Vector3 (0, 0, 0),
411
411
  direction = new Vector3 (0, 0, 0),
412
412
  axis = new Vector3 (0, 0, 0),
413
- userOrientation = new Rotation4 (0, 0, 1, 0),
414
- orientationOffset = new Rotation4 (0, 0, 1, 0),
415
- rubberBandRotation = new Rotation4 (0, 0, 1, 0);
413
+ userOrientation = new Rotation4 (),
414
+ orientationOffset = new Rotation4 (),
415
+ rubberBandRotation = new Rotation4 ();
416
416
 
417
417
  return function ()
418
418
  {
@@ -543,8 +543,8 @@ X3DFlyViewer .prototype = Object .assign (Object .create (X3DViewer .prototype),
543
543
  addRoll: (function ()
544
544
  {
545
545
  const
546
- orientationOffset = new Rotation4 (0, 0, 1, 0),
547
- roll = new Rotation4 (0, 0, 1, 0);
546
+ orientationOffset = new Rotation4 (),
547
+ roll = new Rotation4 ();
548
548
 
549
549
  return function (rollAngle)
550
550
  {
@@ -580,8 +580,8 @@ X3DFlyViewer .prototype = Object .assign (Object .create (X3DViewer .prototype),
580
580
  addRotation: (function ()
581
581
  {
582
582
  const
583
- userOrientation = new Rotation4 (0, 0, 1, 0),
584
- orientationOffset = new Rotation4 (0, 0, 1, 0);
583
+ userOrientation = new Rotation4 (),
584
+ orientationOffset = new Rotation4 ();
585
585
 
586
586
  return function (fromVector, toVector)
587
587
  {
@@ -94,7 +94,7 @@ VolumePicker .prototype =
94
94
  {
95
95
  const
96
96
  translation = new Vector3 (0, 0, 0),
97
- rotation = new Rotation4 (0, 0, 1, 0),
97
+ rotation = new Rotation4 (),
98
98
  scale = new Vector3 (1, 1, 1),
99
99
  s = new Ammo .btVector3 (0, 0, 0);
100
100
 
@@ -53,7 +53,6 @@ import ShaderPart from "../../Components/Shaders/ShaderPart.js";
53
53
  const
54
54
  _wireframe = Symbol (),
55
55
  _primitiveModes = Symbol (),
56
- _defaultShader = Symbol (),
57
56
  _shaderNodes = Symbol ();
58
57
 
59
58
  function X3DShadersContext ()
@@ -536,9 +536,8 @@ X3DTextGeometry .prototype =
536
536
 
537
537
  text ._origin .setValue (origin .set (min .x, max .y, 0));
538
538
 
539
- this .bbox .set (min3 .set (min .x, min .y, 0),
540
- max3 .set (max .x, max .y, 0),
541
- true);
539
+ this .bbox .setExtents (min3 .set (min .x, min .y, 0),
540
+ max3 .set (max .x, max .y, 0));
542
541
  },
543
542
  stringToGlyphs: function (font, line, normal, lineNumber)
544
543
  {
@@ -45,4 +45,4 @@
45
45
  *
46
46
  ******************************************************************************/
47
47
 
48
- export default "8.7.4";
48
+ export default "8.7.6";
@@ -57,7 +57,6 @@ import ComponentInfoArray from "../Configuration/ComponentInfoArray.js";
57
57
  import SupportedProfiles from "../Configuration/SupportedProfiles.js";
58
58
  import SupportedComponents from "../Configuration/SupportedComponents.js";
59
59
  import SupportedNodes from "../Configuration/SupportedNodes.js";
60
- import Scene from "../Execution/Scene.js";
61
60
  import X3DScene from "../Execution/X3DScene.js";
62
61
  import FileLoader from "../InputOutput/FileLoader.js";
63
62
  import XMLParser from "../Parser/XMLParser.js";
@@ -263,7 +262,7 @@ X3DBrowser .prototype = Object .assign (Object .create (X3DBrowserContext .proto
263
262
  },
264
263
  createScene: function (profile, component1 /*, ...*/)
265
264
  {
266
- const scene = new Scene (this);
265
+ const scene = new X3DScene (this);
267
266
 
268
267
  if (arguments .length)
269
268
  {
@@ -814,18 +813,18 @@ X3DBrowser .prototype = Object .assign (Object .create (X3DBrowserContext .proto
814
813
  this .setLive (false);
815
814
  this .getExecutionContext () .setLive (false);
816
815
  },
817
- print: function ()
816
+ print: function (... args)
818
817
  {
819
- const string = Array .prototype .join .call (arguments, "");
818
+ const string = args .join ("");
820
819
 
821
820
  console .log (string);
822
821
 
823
822
  for (const element of this [_console])
824
823
  element .append (document .createTextNode (string));
825
824
  },
826
- println: function ()
825
+ println: function (... args)
827
826
  {
828
- const string = Array .prototype .join .call (arguments, "");
827
+ const string = args .join ("");
829
828
 
830
829
  console .log (string);
831
830
 
@@ -849,75 +848,69 @@ X3DBrowser .prototype = Object .assign (Object .create (X3DBrowserContext .proto
849
848
  for (const key of Reflect .ownKeys (X3DBrowser .prototype))
850
849
  Object .defineProperty (X3DBrowser .prototype, key, { enumerable: false });
851
850
 
852
- Object .defineProperty (X3DBrowser .prototype, "name",
851
+ Object .defineProperties (X3DBrowser .prototype,
853
852
  {
854
- get: X3DBrowser .prototype .getName,
855
- enumerable: true,
856
- });
857
-
858
- Object .defineProperty (X3DBrowser .prototype, "version",
859
- {
860
- get: X3DBrowser .prototype .getVersion,
861
- enumerable: true,
862
- });
863
-
864
- Object .defineProperty (X3DBrowser .prototype, "providerUrl",
865
- {
866
- get: X3DBrowser .prototype .getProviderUrl,
867
- enumerable: true,
868
- });
869
-
870
- Object .defineProperty (X3DBrowser .prototype, "currentFrameRate",
871
- {
872
- get: X3DBrowser .prototype .getCurrentFrameRate,
873
- enumerable: true,
874
- });
875
-
876
- Object .defineProperty (X3DBrowser .prototype, "currentSpeed",
877
- {
878
- get: X3DBrowser .prototype .getCurrentSpeed,
879
- enumerable: true,
880
- });
881
-
882
- Object .defineProperty (X3DBrowser .prototype, "description",
883
- {
884
- get: X3DBrowser .prototype .getDescription,
885
- set: X3DBrowser .prototype .setDescription,
886
- enumerable: true,
887
- });
888
-
889
- Object .defineProperty (X3DBrowser .prototype, "baseURL",
890
- {
891
- get: X3DBrowser .prototype .getBaseURL,
892
- set: X3DBrowser .prototype .setBaseURL,
893
- enumerable: true,
894
- });
895
-
896
- Object .defineProperty (X3DBrowser .prototype, "currentScene",
897
- {
898
- get: function ()
853
+ name:
899
854
  {
900
- return this .getScriptStack () .at (-1) .getExecutionContext ();
855
+ get: X3DBrowser .prototype .getName,
856
+ enumerable: true,
901
857
  },
902
- enumerable: true,
903
- });
904
-
905
- Object .defineProperty (X3DBrowser .prototype, "supportedProfiles",
906
- {
907
- get: function ()
858
+ version:
908
859
  {
909
- return SupportedProfiles;
860
+ get: X3DBrowser .prototype .getVersion,
861
+ enumerable: true,
910
862
  },
911
- enumerable: true,
912
- });
913
-
914
- Object .defineProperty (X3DBrowser .prototype, "supportedComponents",
915
- {
916
- get: function ()
863
+ providerUrl:
917
864
  {
918
- return SupportedComponents;
865
+ get: X3DBrowser .prototype .getProviderUrl,
866
+ enumerable: true,
867
+ },
868
+ currentFrameRate:
869
+ {
870
+ get: X3DBrowser .prototype .getCurrentFrameRate,
871
+ enumerable: true,
872
+ },
873
+ currentSpeed:
874
+ {
875
+ get: X3DBrowser .prototype .getCurrentSpeed,
876
+ enumerable: true,
877
+ },
878
+ description:
879
+ {
880
+ get: X3DBrowser .prototype .getDescription,
881
+ set: X3DBrowser .prototype .setDescription,
882
+ enumerable: true,
883
+ },
884
+ baseURL:
885
+ {
886
+ get: X3DBrowser .prototype .getBaseURL,
887
+ set: X3DBrowser .prototype .setBaseURL,
888
+ enumerable: true,
889
+ },
890
+ currentScene:
891
+ {
892
+ get: function ()
893
+ {
894
+ return this .getScriptStack () .at (-1) .getExecutionContext ();
895
+ },
896
+ enumerable: true,
897
+ },
898
+ supportedProfiles:
899
+ {
900
+ get: function ()
901
+ {
902
+ return SupportedProfiles;
903
+ },
904
+ enumerable: true,
905
+ },
906
+ supportedComponents:
907
+ {
908
+ get: function ()
909
+ {
910
+ return SupportedComponents;
911
+ },
912
+ enumerable: true,
919
913
  },
920
- enumerable: true,
921
914
  });
922
915
 
923
916
  export default X3DBrowser;
@@ -122,14 +122,14 @@ function X3DBrowserContext (element)
122
122
  "displayEvents", new SFTime (),
123
123
  "finishedEvents", new SFTime ());
124
124
 
125
- this [_changedTime] = 0;
126
- this [_previousTime] = 0;
127
- this [_renderCallback] = this [_traverse] .bind (this);
128
- this [_systemTime] = new StopWatch ();
129
- this [_browserTime] = new StopWatch ();
130
- this [_cameraTime] = new StopWatch ();
131
- this [_collisionTime] = new StopWatch ();
132
- this [_displayTime] = new StopWatch ();
125
+ this [_changedTime] = 0;
126
+ this [_previousTime] = 0;
127
+ this [_renderCallback] = this [_traverse] .bind (this);
128
+ this [_systemTime] = new StopWatch ();
129
+ this [_browserTime] = new StopWatch ();
130
+ this [_cameraTime] = new StopWatch ();
131
+ this [_collisionTime] = new StopWatch ();
132
+ this [_displayTime] = new StopWatch ();
133
133
  };
134
134
 
135
135
  X3DBrowserContext .prototype = Object .assign (Object .create (X3DBaseNode .prototype),
@@ -149,7 +149,7 @@ ProximitySensor .prototype = Object .assign (Object .create (X3DEnvironmentalSen
149
149
  invModelMatrix = new Matrix4 (),
150
150
  centerOfRotationMatrix = new Matrix4 (),
151
151
  position = new Vector3 (0, 0, 0),
152
- orientation = new Rotation4 (0, 0, 1, 0),
152
+ orientation = new Rotation4 (),
153
153
  centerOfRotation = new Vector3 (0, 0, 0);
154
154
 
155
155
  return function ()
@@ -213,7 +213,7 @@ TransformSensor .prototype = Object .assign (Object .create (X3DEnvironmentalSen
213
213
  {
214
214
  const
215
215
  position = new Vector3 (0, 0, 0),
216
- orientation = new Rotation4 (0, 0, 1, 0);
216
+ orientation = new Rotation4 ();
217
217
 
218
218
  return function ()
219
219
  {
@@ -53,8 +53,8 @@ import X3DConstants from "../../Base/X3DConstants.js";
53
53
  import Rotation4 from "../../../standard/Math/Numbers/Rotation4.js";
54
54
 
55
55
  var
56
- a = new Rotation4 (0, 0, 1, 0),
57
- rotation = new Rotation4 (0, 0, 1, 0);
56
+ a = new Rotation4 (),
57
+ rotation = new Rotation4 ();
58
58
 
59
59
  function OrientationChaser (executionContext)
60
60
  {
@@ -100,7 +100,7 @@ OrientationChaser .prototype = Object .assign (Object .create (X3DChaserNode .pr
100
100
  },
101
101
  getVector: function ()
102
102
  {
103
- return new Rotation4 (0, 0, 1, 0);
103
+ return new Rotation4 ();
104
104
  },
105
105
  equals: function (lhs, rhs, tolerance)
106
106
  {
@@ -53,8 +53,8 @@ import X3DConstants from "../../Base/X3DConstants.js";
53
53
  import Rotation4 from "../../../standard/Math/Numbers/Rotation4.js";
54
54
 
55
55
  var
56
- a = new Rotation4 (0, 0, 1, 0),
57
- rotation = new Rotation4 (0, 0, 1, 0);
56
+ a = new Rotation4 (),
57
+ rotation = new Rotation4 ();
58
58
 
59
59
  function OrientationDamper (executionContext)
60
60
  {
@@ -102,7 +102,7 @@ OrientationDamper .prototype = Object .assign (Object .create (X3DDamperNode .pr
102
102
  },
103
103
  getVector: function ()
104
104
  {
105
- return new Rotation4 (0, 0, 1, 0);
105
+ return new Rotation4 ();
106
106
  },
107
107
  equals: function (lhs, rhs, tolerance)
108
108
  {
@@ -112,9 +112,8 @@ Rectangle2D .prototype = Object .assign (Object .create (X3DGeometryNode .protot
112
112
  else
113
113
  {
114
114
  const
115
- scale = Vector3 .divide (size, 2),
116
- x = scale .x,
117
- y = scale .y,
115
+ x = Math .abs (size .x / 2),
116
+ y = Math .abs (size .y / 2),
118
117
  defaultVertices = geometry .getVertices () .getValue (),
119
118
  vertexArray = this .getVertices ();
120
119
 
@@ -109,15 +109,12 @@ Box .prototype = Object .assign (Object .create (X3DGeometryNode .prototype),
109
109
  else
110
110
  {
111
111
  const
112
- scale = Vector3 .divide (size, 2),
112
+ x = Math .abs (size .x / 2),
113
+ y = Math .abs (size .y / 2),
114
+ z = Math .abs (size .z / 2),
113
115
  defaultVertices = geometry .getVertices () .getValue (),
114
116
  vertexArray = this .getVertices ();
115
117
 
116
- let
117
- x = scale .x,
118
- y = scale .y,
119
- z = scale .z;
120
-
121
118
  for (let i = 0, length = defaultVertices .length; i < length; i += 4)
122
119
  {
123
120
  vertexArray .push (x * defaultVertices [i],
@@ -126,10 +123,6 @@ Box .prototype = Object .assign (Object .create (X3DGeometryNode .prototype),
126
123
  1);
127
124
  }
128
125
 
129
- x = Math .abs (x);
130
- y = Math .abs (y);
131
- z = Math .abs (z);
132
-
133
126
  this .getMin () .set (-x, -y, -z);
134
127
  this .getMax () .set ( x, y, z);
135
128
  }