x_ite 8.7.8 → 8.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Makefile +3 -0
- package/build/bin/version.pl +1 -1
- package/dist/assets/components/Annotation.js +248 -169
- package/dist/assets/components/Annotation.min.js +1 -1
- package/dist/assets/components/CADGeometry.js +296 -233
- package/dist/assets/components/CADGeometry.min.js +1 -1
- package/dist/assets/components/CubeMapTexturing.js +217 -172
- package/dist/assets/components/CubeMapTexturing.min.js +1 -1
- package/dist/assets/components/DIS.js +451 -387
- package/dist/assets/components/DIS.min.js +1 -1
- package/dist/assets/components/EventUtilities.js +309 -208
- package/dist/assets/components/EventUtilities.min.js +1 -1
- package/dist/assets/components/Geometry2D.js +397 -333
- package/dist/assets/components/Geometry2D.min.js +1 -1
- package/dist/assets/components/Geospatial.js +705 -575
- package/dist/assets/components/Geospatial.min.js +1 -1
- package/dist/assets/components/HAnim.js +319 -259
- package/dist/assets/components/HAnim.min.js +1 -1
- package/dist/assets/components/KeyDeviceSensor.js +134 -99
- package/dist/assets/components/KeyDeviceSensor.min.js +1 -1
- package/dist/assets/components/Layout.js +305 -240
- package/dist/assets/components/Layout.min.js +1 -1
- package/dist/assets/components/NURBS.js +781 -626
- package/dist/assets/components/NURBS.min.js +1 -1
- package/dist/assets/components/ParticleSystems.js +632 -460
- package/dist/assets/components/ParticleSystems.min.js +1 -1
- package/dist/assets/components/Picking.js +376 -295
- package/dist/assets/components/Picking.min.js +1 -1
- package/dist/assets/components/RigidBodyPhysics.js +936 -749
- package/dist/assets/components/RigidBodyPhysics.min.js +1 -1
- package/dist/assets/components/Scripting.js +173 -103
- package/dist/assets/components/Scripting.min.js +1 -1
- package/dist/assets/components/Text.js +241 -207
- package/dist/assets/components/Text.min.js +1 -1
- package/dist/assets/components/TextureProjector.js +162 -129
- package/dist/assets/components/TextureProjector.min.js +1 -1
- package/dist/assets/components/Texturing3D.js +485 -384
- package/dist/assets/components/Texturing3D.min.js +1 -1
- package/dist/assets/components/VolumeRendering.js +741 -547
- package/dist/assets/components/VolumeRendering.min.js +1 -1
- package/dist/assets/components/X_ITE.js +66 -54
- package/dist/assets/components/X_ITE.min.js +1 -1
- package/dist/x_ite.css +1 -1
- package/dist/x_ite.js +61554 -59658
- package/dist/x_ite.min.js +1 -1
- package/dist/x_ite.zip +0 -0
- package/docs/_config.yml +2 -2
- package/package.json +4 -4
- package/src/assets/components/Annotation.js +14 -14
- package/src/assets/components/CADGeometry.js +14 -14
- package/src/assets/components/CubeMapTexturing.js +11 -11
- package/src/assets/components/DIS.js +13 -13
- package/src/assets/components/EventUtilities.js +16 -16
- package/src/assets/components/Geometry2D.js +15 -15
- package/src/assets/components/Geospatial.js +19 -19
- package/src/assets/components/HAnim.js +13 -13
- package/src/assets/components/KeyDeviceSensor.js +10 -10
- package/src/assets/components/Layout.js +13 -13
- package/src/assets/components/NURBS.js +24 -24
- package/src/assets/components/ParticleSystems.js +19 -19
- package/src/assets/components/Picking.js +14 -14
- package/src/assets/components/RigidBodyPhysics.js +24 -24
- package/src/assets/components/Scripting.js +9 -9
- package/src/assets/components/Text.js +10 -10
- package/src/assets/components/TextureProjector.js +10 -10
- package/src/assets/components/Texturing3D.js +16 -16
- package/src/assets/components/VolumeRendering.js +23 -23
- package/src/assets/components/X_ITE.js +8 -7
- package/src/assets/shaders/webgl1/include/Shadow.glsl.js +21 -25
- package/src/assets/shaders/webgl2/include/Shadow.glsl.js +23 -27
- package/src/bookmarks.js +2 -2
- package/src/lib/jquery.js +42 -30
- package/src/standard/Geospatial/Geodetic.js +8 -9
- package/src/standard/Geospatial/UniversalTransverseMercator.js +4 -5
- package/src/standard/Math/Algorithm.js +41 -56
- package/src/standard/Math/Algorithms/Bezier.js +2 -2
- package/src/standard/Math/Algorithms/MergeSort.js +6 -6
- package/src/standard/Math/Algorithms/PartialSort.js +5 -5
- package/src/standard/Math/Algorithms/QuickSort.js +5 -5
- package/src/standard/Math/Geometry/Box2.js +16 -17
- package/src/standard/Math/Geometry/Box3.js +18 -19
- package/src/standard/Math/Geometry/Camera.js +6 -5
- package/src/standard/Math/Geometry/Cylinder3.js +6 -7
- package/src/standard/Math/Geometry/Line2.js +20 -18
- package/src/standard/Math/Geometry/Line3.js +20 -18
- package/src/standard/Math/Geometry/Plane3.js +11 -12
- package/src/standard/Math/Geometry/Sphere3.js +6 -7
- package/src/standard/Math/Geometry/Spheroid3.js +6 -7
- package/src/standard/Math/Geometry/Triangle2.js +4 -3
- package/src/standard/Math/Geometry/Triangle3.js +5 -4
- package/src/standard/Math/Geometry/ViewVolume.js +6 -7
- package/src/standard/Math/Numbers/Color3.js +18 -19
- package/src/standard/Math/Numbers/Color4.js +20 -21
- package/src/standard/Math/Numbers/Complex.js +28 -29
- package/src/standard/Math/Numbers/Matrix2.js +22 -23
- package/src/standard/Math/Numbers/Matrix3.js +28 -29
- package/src/standard/Math/Numbers/Matrix4.js +29 -30
- package/src/standard/Math/Numbers/Quaternion.js +40 -41
- package/src/standard/Math/Numbers/Rotation4.js +34 -35
- package/src/standard/Math/Numbers/Vector2.js +29 -30
- package/src/standard/Math/Numbers/Vector3.js +32 -33
- package/src/standard/Math/Numbers/Vector4.js +34 -35
- package/src/standard/Math/Utility/BVH.js +14 -15
- package/src/standard/Math/Utility/MatrixStack.js +12 -12
- package/src/standard/Time/MicroTime.js +4 -3
- package/src/standard/Utility/BitSet.js +10 -11
- package/src/standard/Utility/DataStorage.js +10 -10
- package/src/standard/Utility/MapUtilities.js +2 -1
- package/src/standard/Utility/ObjectCache.js +3 -3
- package/src/tests.js +10 -0
- package/src/x_ite/Base/Events.js +3 -3
- package/src/x_ite/Base/FieldArray.js +11 -9
- package/src/x_ite/Base/FieldDefinitionArray.js +11 -9
- package/src/x_ite/Base/X3DArrayField.js +13 -14
- package/src/x_ite/Base/X3DBaseNode.js +219 -181
- package/src/x_ite/Base/X3DCast.js +1 -1
- package/src/x_ite/Base/X3DChildObject.js +162 -53
- package/src/x_ite/Base/X3DConstants.js +74 -60
- package/src/x_ite/Base/X3DEventObject.js +6 -12
- package/src/x_ite/Base/X3DField.js +45 -42
- package/src/x_ite/Base/X3DFieldDefinition.js +9 -7
- package/src/x_ite/Base/X3DInfoArray.js +75 -65
- package/src/x_ite/Base/X3DObject.js +59 -29
- package/src/x_ite/Base/X3DObjectArrayField.js +51 -117
- package/src/x_ite/Base/X3DTypedArrayField.js +48 -42
- package/src/x_ite/Browser/Core/BrowserOptions.js +55 -57
- package/src/x_ite/Browser/Core/BrowserProperties.js +18 -20
- package/src/x_ite/Browser/Core/BrowserTimings.js +29 -33
- package/src/x_ite/Browser/Core/Context.js +7 -7
- package/src/x_ite/Browser/Core/ContextMenu.js +61 -83
- package/src/x_ite/Browser/Core/Notification.js +12 -12
- package/src/x_ite/Browser/Core/RenderingProperties.js +28 -28
- package/src/x_ite/Browser/Core/X3DCoreContext.js +45 -37
- package/src/x_ite/Browser/DOMIntegration.js +4 -1
- package/src/x_ite/Browser/EnvironmentalEffects/X3DEnvironmentalEffectsContext.js +3 -3
- package/src/x_ite/Browser/Followers/X3DArrayChaserTemplate.js +1 -1
- package/src/x_ite/Browser/Followers/X3DArrayFollowerTemplate.js +12 -12
- package/src/x_ite/Browser/Geometry2D/Arc2DOptions.js +8 -14
- package/src/x_ite/Browser/Geometry2D/ArcClose2DOptions.js +8 -14
- package/src/x_ite/Browser/Geometry2D/Circle2DOptions.js +13 -17
- package/src/x_ite/Browser/Geometry2D/Disk2DOptions.js +15 -19
- package/src/x_ite/Browser/Geometry2D/Rectangle2DOptions.js +12 -16
- package/src/x_ite/Browser/Geometry2D/X3DGeometry2DContext.js +9 -9
- package/src/x_ite/Browser/Geometry3D/BoxOptions.js +12 -16
- package/src/x_ite/Browser/Geometry3D/ConeOptions.js +6 -12
- package/src/x_ite/Browser/Geometry3D/CylinderOptions.js +6 -12
- package/src/x_ite/Browser/Geometry3D/IcoSphereOptions.js +13 -17
- package/src/x_ite/Browser/Geometry3D/QuadSphereOptions.js +17 -21
- package/src/x_ite/Browser/Geometry3D/X3DGeometry3DContext.js +8 -8
- package/src/x_ite/Browser/Geospatial/Geocentric.js +5 -6
- package/src/x_ite/Browser/Geospatial/Geospatial.js +10 -10
- package/src/x_ite/Browser/Grouping/X3DGroupingContext.js +3 -3
- package/src/x_ite/Browser/Interpolation/CatmullRomSplineInterpolator.js +2 -3
- package/src/x_ite/Browser/Interpolation/CatmullRomSplineInterpolator1.js +8 -9
- package/src/x_ite/Browser/Interpolation/CatmullRomSplineInterpolatorTemplate.js +7 -8
- package/src/x_ite/Browser/Interpolation/SquatInterpolator.js +3 -4
- package/src/x_ite/Browser/KeyDeviceSensor/X3DKeyDeviceSensorContext.js +8 -8
- package/src/x_ite/Browser/Layering/X3DLayeringContext.js +4 -4
- package/src/x_ite/Browser/Layout/ScreenText.js +7 -8
- package/src/x_ite/Browser/Layout/X3DLayoutContext.js +3 -3
- package/src/x_ite/Browser/Legacy.js +32 -12
- package/src/x_ite/Browser/Lighting/X3DLightingContext.js +5 -5
- package/src/x_ite/Browser/NURBS/NURBS.js +10 -10
- package/src/x_ite/Browser/Navigation/ExamineViewer.js +32 -20
- package/src/x_ite/Browser/Navigation/FlyViewer.js +22 -10
- package/src/x_ite/Browser/Navigation/LookAtViewer.js +29 -17
- package/src/x_ite/Browser/Navigation/NoneViewer.js +15 -5
- package/src/x_ite/Browser/Navigation/PlaneViewer.js +24 -12
- package/src/x_ite/Browser/Navigation/WalkViewer.js +22 -10
- package/src/x_ite/Browser/Navigation/X3DFlyViewer.js +17 -18
- package/src/x_ite/Browser/Navigation/X3DNavigationContext.js +19 -19
- package/src/x_ite/Browser/Navigation/X3DViewer.js +13 -19
- package/src/x_ite/Browser/Networking/URLs.js +5 -5
- package/src/x_ite/Browser/Networking/X3DNetworkingContext.js +16 -16
- package/src/x_ite/Browser/ParticleSystems/X3DParticleSystemsContext.js +3 -3
- package/src/x_ite/Browser/Picking/VolumePicker.js +8 -8
- package/src/x_ite/Browser/Picking/X3DPickingContext.js +12 -12
- package/src/x_ite/Browser/PointingDeviceSensor/PointingDevice.js +24 -20
- package/src/x_ite/Browser/PointingDeviceSensor/PointingDeviceSensorContainer.js +6 -6
- package/src/x_ite/Browser/PointingDeviceSensor/X3DPointingDeviceSensorContext.js +21 -21
- package/src/x_ite/Browser/Rendering/GeometryContext.js +4 -5
- package/src/x_ite/Browser/Rendering/X3DRenderingContext.js +18 -18
- package/src/x_ite/Browser/Scripting/X3DScriptingContext.js +4 -4
- package/src/x_ite/Browser/Shaders/ShaderCompiler.js +4 -4
- package/src/x_ite/Browser/Shaders/ShaderSource.js +1 -1
- package/src/x_ite/Browser/Shaders/X3DShadersContext.js +13 -13
- package/src/x_ite/Browser/Shape/X3DShapeContext.js +12 -12
- package/src/x_ite/Browser/Sound/X3DSoundContext.js +0 -2
- package/src/x_ite/Browser/Text/PolygonText.js +10 -11
- package/src/x_ite/Browser/Text/X3DTextContext.js +6 -6
- package/src/x_ite/Browser/Text/X3DTextGeometry.js +18 -19
- package/src/x_ite/Browser/Texturing/GifMedia.js +7 -7
- package/src/x_ite/Browser/Texturing/X3DTexturingContext.js +24 -24
- package/src/x_ite/Browser/Texturing3D/DICOMParser.js +38 -38
- package/src/x_ite/Browser/Texturing3D/NRRDParser.js +14 -14
- package/src/x_ite/Browser/Time/X3DTimeContext.js +5 -5
- package/src/x_ite/Browser/VERSION.js +1 -1
- package/src/x_ite/Browser/VolumeRendering/VolumeMaterial.js +39 -22
- package/src/x_ite/Browser/VolumeRendering/X3DVolumeRenderingContext.js +6 -6
- package/src/x_ite/Browser/X3DBrowser.js +170 -136
- package/src/x_ite/Browser/X3DBrowserContext.js +23 -24
- package/src/x_ite/Components/Annotation/AnnotationLayer.js +30 -19
- package/src/x_ite/Components/Annotation/AnnotationTarget.js +30 -19
- package/src/x_ite/Components/Annotation/GroupAnnotation.js +40 -29
- package/src/x_ite/Components/Annotation/IconAnnotation.js +38 -27
- package/src/x_ite/Components/Annotation/TextAnnotation.js +31 -20
- package/src/x_ite/Components/Annotation/URLAnnotation.js +30 -19
- package/src/x_ite/Components/Annotation/X3DAnnotationNode.js +16 -3
- package/src/x_ite/Components/CADGeometry/CADAssembly.js +32 -21
- package/src/x_ite/Components/CADGeometry/CADFace.js +48 -37
- package/src/x_ite/Components/CADGeometry/CADLayer.js +30 -21
- package/src/x_ite/Components/CADGeometry/CADPart.js +37 -26
- package/src/x_ite/Components/CADGeometry/IndexedQuadSet.js +51 -46
- package/src/x_ite/Components/CADGeometry/QuadSet.js +48 -43
- package/src/x_ite/Components/CADGeometry/X3DProductStructureChildNode.js +13 -2
- package/src/x_ite/Components/Core/MetadataBoolean.js +33 -22
- package/src/x_ite/Components/Core/MetadataDouble.js +33 -22
- package/src/x_ite/Components/Core/MetadataFloat.js +33 -22
- package/src/x_ite/Components/Core/MetadataInteger.js +33 -22
- package/src/x_ite/Components/Core/MetadataSet.js +33 -22
- package/src/x_ite/Components/Core/MetadataString.js +33 -22
- package/src/x_ite/Components/Core/WorldInfo.js +34 -23
- package/src/x_ite/Components/Core/X3DBindableNode.js +17 -4
- package/src/x_ite/Components/Core/X3DChildNode.js +19 -6
- package/src/x_ite/Components/Core/X3DInfoNode.js +13 -2
- package/src/x_ite/Components/Core/X3DMetadataObject.js +18 -5
- package/src/x_ite/Components/Core/X3DNode.js +66 -34
- package/src/x_ite/Components/Core/X3DPrototypeInstance.js +68 -77
- package/src/x_ite/Components/Core/X3DSensorNode.js +13 -2
- package/src/x_ite/Components/Core.js +22 -29
- package/src/x_ite/Components/CubeMapTexturing/ComposedCubeMapTexture.js +46 -35
- package/src/x_ite/Components/CubeMapTexturing/GeneratedCubeMapTexture.js +39 -28
- package/src/x_ite/Components/CubeMapTexturing/ImageCubeMapTexture.js +47 -36
- package/src/x_ite/Components/CubeMapTexturing/X3DEnvironmentTextureNode.js +21 -8
- package/src/x_ite/Components/DIS/DISEntityManager.js +29 -20
- package/src/x_ite/Components/DIS/DISEntityTypeMapping.js +41 -30
- package/src/x_ite/Components/DIS/EspduTransform.js +117 -106
- package/src/x_ite/Components/DIS/ReceiverPdu.js +60 -49
- package/src/x_ite/Components/DIS/SignalPdu.js +60 -49
- package/src/x_ite/Components/DIS/TransmitterPdu.js +76 -65
- package/src/x_ite/Components/EnvironmentalEffects/Background.js +47 -36
- package/src/x_ite/Components/EnvironmentalEffects/Fog.js +42 -31
- package/src/x_ite/Components/EnvironmentalEffects/FogCoordinate.js +39 -28
- package/src/x_ite/Components/EnvironmentalEffects/LocalFog.js +40 -29
- package/src/x_ite/Components/EnvironmentalEffects/TextureBackground.js +48 -37
- package/src/x_ite/Components/EnvironmentalEffects/X3DBackgroundNode.js +28 -15
- package/src/x_ite/Components/EnvironmentalEffects/X3DFogObject.js +30 -18
- package/src/x_ite/Components/EnvironmentalEffects.js +15 -22
- package/src/x_ite/Components/EnvironmentalSensor/ProximitySensor.js +45 -34
- package/src/x_ite/Components/EnvironmentalSensor/TransformSensor.js +50 -39
- package/src/x_ite/Components/EnvironmentalSensor/VisibilitySensor.js +41 -30
- package/src/x_ite/Components/EnvironmentalSensor/X3DEnvironmentalSensorNode.js +22 -9
- package/src/x_ite/Components/EnvironmentalSensor.js +12 -19
- package/src/x_ite/Components/EventUtilities/BooleanFilter.js +38 -27
- package/src/x_ite/Components/EventUtilities/BooleanSequencer.js +38 -27
- package/src/x_ite/Components/EventUtilities/BooleanToggle.js +33 -22
- package/src/x_ite/Components/EventUtilities/BooleanTrigger.js +32 -21
- package/src/x_ite/Components/EventUtilities/IntegerSequencer.js +38 -27
- package/src/x_ite/Components/EventUtilities/IntegerTrigger.js +33 -22
- package/src/x_ite/Components/EventUtilities/TimeTrigger.js +32 -21
- package/src/x_ite/Components/EventUtilities/X3DSequencerNode.js +20 -7
- package/src/x_ite/Components/EventUtilities/X3DTriggerNode.js +13 -2
- package/src/x_ite/Components/Followers/ColorChaser.js +47 -36
- package/src/x_ite/Components/Followers/ColorDamper.js +49 -38
- package/src/x_ite/Components/Followers/CoordinateChaser.js +33 -22
- package/src/x_ite/Components/Followers/CoordinateDamper.js +35 -24
- package/src/x_ite/Components/Followers/OrientationChaser.js +43 -32
- package/src/x_ite/Components/Followers/OrientationDamper.js +41 -30
- package/src/x_ite/Components/Followers/PositionChaser.js +33 -22
- package/src/x_ite/Components/Followers/PositionChaser2D.js +33 -22
- package/src/x_ite/Components/Followers/PositionDamper.js +35 -24
- package/src/x_ite/Components/Followers/PositionDamper2D.js +35 -24
- package/src/x_ite/Components/Followers/ScalarChaser.js +47 -36
- package/src/x_ite/Components/Followers/ScalarDamper.js +43 -32
- package/src/x_ite/Components/Followers/TexCoordChaser2D.js +33 -22
- package/src/x_ite/Components/Followers/TexCoordDamper2D.js +35 -24
- package/src/x_ite/Components/Followers/X3DChaserNode.js +27 -14
- package/src/x_ite/Components/Followers/X3DDamperNode.js +22 -9
- package/src/x_ite/Components/Followers/X3DFollowerNode.js +29 -16
- package/src/x_ite/Components/Followers.js +25 -32
- package/src/x_ite/Components/Geometry2D/Arc2D.js +38 -27
- package/src/x_ite/Components/Geometry2D/ArcClose2D.js +39 -28
- package/src/x_ite/Components/Geometry2D/Circle2D.js +35 -24
- package/src/x_ite/Components/Geometry2D/Disk2D.js +40 -29
- package/src/x_ite/Components/Geometry2D/Polyline2D.js +34 -23
- package/src/x_ite/Components/Geometry2D/Polypoint2D.js +34 -23
- package/src/x_ite/Components/Geometry2D/Rectangle2D.js +34 -23
- package/src/x_ite/Components/Geometry2D/TriangleSet2D.js +36 -25
- package/src/x_ite/Components/Geometry3D/Box.js +34 -23
- package/src/x_ite/Components/Geometry3D/Cone.js +40 -29
- package/src/x_ite/Components/Geometry3D/Cylinder.js +41 -30
- package/src/x_ite/Components/Geometry3D/ElevationGrid.js +63 -52
- package/src/x_ite/Components/Geometry3D/Extrusion.js +49 -38
- package/src/x_ite/Components/Geometry3D/IndexedFaceSet.js +98 -95
- package/src/x_ite/Components/Geometry3D/Sphere.js +36 -25
- package/src/x_ite/Components/Geometry3D.js +15 -22
- package/src/x_ite/Components/Geospatial/GeoCoordinate.js +37 -26
- package/src/x_ite/Components/Geospatial/GeoElevationGrid.js +63 -52
- package/src/x_ite/Components/Geospatial/GeoLOD.js +59 -48
- package/src/x_ite/Components/Geospatial/GeoLocation.js +45 -34
- package/src/x_ite/Components/Geospatial/GeoMetadata.js +38 -27
- package/src/x_ite/Components/Geospatial/GeoOrigin.js +37 -26
- package/src/x_ite/Components/Geospatial/GeoPositionInterpolator.js +43 -32
- package/src/x_ite/Components/Geospatial/GeoProximitySensor.js +48 -37
- package/src/x_ite/Components/Geospatial/GeoTouchSensor.js +45 -34
- package/src/x_ite/Components/Geospatial/GeoTransform.js +49 -38
- package/src/x_ite/Components/Geospatial/GeoViewpoint.js +56 -45
- package/src/x_ite/Components/Geospatial/X3DGeospatialObject.js +30 -17
- package/src/x_ite/Components/Grouping/Group.js +29 -20
- package/src/x_ite/Components/Grouping/StaticGroup.js +40 -48
- package/src/x_ite/Components/Grouping/Switch.js +51 -40
- package/src/x_ite/Components/Grouping/Transform.js +34 -25
- package/src/x_ite/Components/Grouping/X3DBoundedObject.js +22 -9
- package/src/x_ite/Components/Grouping/X3DGroupingNode.js +224 -221
- package/src/x_ite/Components/Grouping/X3DTransformMatrix3DNode.js +20 -7
- package/src/x_ite/Components/Grouping/X3DTransformNode.js +17 -4
- package/src/x_ite/Components/Grouping.js +16 -23
- package/src/x_ite/Components/HAnim/HAnimDisplacer.js +27 -18
- package/src/x_ite/Components/HAnim/HAnimHumanoid.js +73 -62
- package/src/x_ite/Components/HAnim/HAnimJoint.js +61 -50
- package/src/x_ite/Components/HAnim/HAnimMotion.js +44 -33
- package/src/x_ite/Components/HAnim/HAnimSegment.js +36 -27
- package/src/x_ite/Components/HAnim/HAnimSite.js +36 -27
- package/src/x_ite/Components/Interpolation/ColorInterpolator.js +38 -27
- package/src/x_ite/Components/Interpolation/CoordinateInterpolator.js +38 -27
- package/src/x_ite/Components/Interpolation/CoordinateInterpolator2D.js +38 -27
- package/src/x_ite/Components/Interpolation/EaseInEaseOut.js +39 -28
- package/src/x_ite/Components/Interpolation/NormalInterpolator.js +38 -27
- package/src/x_ite/Components/Interpolation/OrientationInterpolator.js +38 -27
- package/src/x_ite/Components/Interpolation/PositionInterpolator.js +38 -27
- package/src/x_ite/Components/Interpolation/PositionInterpolator2D.js +38 -27
- package/src/x_ite/Components/Interpolation/ScalarInterpolator.js +39 -28
- package/src/x_ite/Components/Interpolation/SplinePositionInterpolator.js +44 -33
- package/src/x_ite/Components/Interpolation/SplinePositionInterpolator2D.js +44 -33
- package/src/x_ite/Components/Interpolation/SplineScalarInterpolator.js +44 -33
- package/src/x_ite/Components/Interpolation/SquadOrientationInterpolator.js +40 -29
- package/src/x_ite/Components/Interpolation/X3DInterpolatorNode.js +21 -8
- package/src/x_ite/Components/Interpolation.js +22 -29
- package/src/x_ite/Components/KeyDeviceSensor/KeySensor.js +44 -33
- package/src/x_ite/Components/KeyDeviceSensor/StringSensor.js +38 -27
- package/src/x_ite/Components/KeyDeviceSensor/X3DKeyDeviceSensorNode.js +23 -10
- package/src/x_ite/Components/Layering/Layer.js +40 -29
- package/src/x_ite/Components/Layering/LayerSet.js +44 -33
- package/src/x_ite/Components/Layering/Viewport.js +48 -37
- package/src/x_ite/Components/Layering/X3DLayerNode.js +45 -32
- package/src/x_ite/Components/Layering/X3DViewportNode.js +13 -2
- package/src/x_ite/Components/Layering.js +13 -20
- package/src/x_ite/Components/Layout/Layout.js +60 -49
- package/src/x_ite/Components/Layout/LayoutGroup.js +48 -37
- package/src/x_ite/Components/Layout/LayoutLayer.js +41 -30
- package/src/x_ite/Components/Layout/ScreenFontStyle.js +41 -30
- package/src/x_ite/Components/Layout/ScreenGroup.js +42 -31
- package/src/x_ite/Components/Layout/X3DLayoutNode.js +13 -2
- package/src/x_ite/Components/Lighting/DirectionalLight.js +45 -35
- package/src/x_ite/Components/Lighting/EnvironmentLight.js +51 -41
- package/src/x_ite/Components/Lighting/PointLight.js +53 -43
- package/src/x_ite/Components/Lighting/SpotLight.js +62 -52
- package/src/x_ite/Components/Lighting/X3DLightNode.js +29 -16
- package/src/x_ite/Components/Lighting.js +13 -20
- package/src/x_ite/Components/NURBS/Contour2D.js +45 -45
- package/src/x_ite/Components/NURBS/ContourPolyline2D.js +34 -23
- package/src/x_ite/Components/NURBS/CoordinateDouble.js +23 -14
- package/src/x_ite/Components/NURBS/NurbsCurve.js +47 -36
- package/src/x_ite/Components/NURBS/NurbsCurve2D.js +44 -33
- package/src/x_ite/Components/NURBS/NurbsOrientationInterpolator.js +46 -35
- package/src/x_ite/Components/NURBS/NurbsPatchSurface.js +36 -27
- package/src/x_ite/Components/NURBS/NurbsPositionInterpolator.js +46 -35
- package/src/x_ite/Components/NURBS/NurbsSet.js +52 -52
- package/src/x_ite/Components/NURBS/NurbsSurfaceInterpolator.js +44 -33
- package/src/x_ite/Components/NURBS/NurbsSweptSurface.js +40 -29
- package/src/x_ite/Components/NURBS/NurbsSwungSurface.js +40 -29
- package/src/x_ite/Components/NURBS/NurbsTextureCoordinate.js +43 -32
- package/src/x_ite/Components/NURBS/NurbsTrimmedSurface.js +59 -59
- package/src/x_ite/Components/NURBS/X3DNurbsControlCurveNode.js +13 -2
- package/src/x_ite/Components/NURBS/X3DNurbsSurfaceGeometryNode.js +30 -17
- package/src/x_ite/Components/NURBS/X3DParametricGeometryNode.js +16 -3
- package/src/x_ite/Components/Navigation/Billboard.js +43 -32
- package/src/x_ite/Components/Navigation/Collision.js +49 -38
- package/src/x_ite/Components/Navigation/LOD.js +54 -43
- package/src/x_ite/Components/Navigation/NavigationInfo.js +58 -47
- package/src/x_ite/Components/Navigation/OrthoViewpoint.js +69 -58
- package/src/x_ite/Components/Navigation/Viewpoint.js +53 -42
- package/src/x_ite/Components/Navigation/ViewpointGroup.js +44 -33
- package/src/x_ite/Components/Navigation/X3DViewpointNode.js +48 -35
- package/src/x_ite/Components/Navigation.js +16 -23
- package/src/x_ite/Components/Networking/Anchor.js +51 -40
- package/src/x_ite/Components/Networking/Inline.js +54 -43
- package/src/x_ite/Components/Networking/LoadSensor.js +49 -38
- package/src/x_ite/Components/Networking/X3DNetworkSensorNode.js +13 -2
- package/src/x_ite/Components/Networking/X3DUrlObject.js +35 -22
- package/src/x_ite/Components/Networking.js +13 -20
- package/src/x_ite/Components/ParticleSystems/BoundedPhysicsModel.js +37 -26
- package/src/x_ite/Components/ParticleSystems/ConeEmitter.js +44 -33
- package/src/x_ite/Components/ParticleSystems/ExplosionEmitter.js +41 -30
- package/src/x_ite/Components/ParticleSystems/ForcePhysicsModel.js +34 -23
- package/src/x_ite/Components/ParticleSystems/ParticleSystem.js +83 -72
- package/src/x_ite/Components/ParticleSystems/PointEmitter.js +41 -30
- package/src/x_ite/Components/ParticleSystems/PolylineEmitter.js +42 -31
- package/src/x_ite/Components/ParticleSystems/SurfaceEmitter.js +42 -31
- package/src/x_ite/Components/ParticleSystems/VolumeEmitter.js +43 -32
- package/src/x_ite/Components/ParticleSystems/WindPhysicsModel.js +38 -27
- package/src/x_ite/Components/ParticleSystems/X3DParticleEmitterNode.js +33 -20
- package/src/x_ite/Components/ParticleSystems/X3DParticlePhysicsModelNode.js +16 -3
- package/src/x_ite/Components/Picking/LinePickSensor.js +49 -38
- package/src/x_ite/Components/Picking/PickableGroup.js +45 -34
- package/src/x_ite/Components/Picking/PointPickSensor.js +46 -35
- package/src/x_ite/Components/Picking/PrimitivePickSensor.js +46 -35
- package/src/x_ite/Components/Picking/VolumePickSensor.js +45 -34
- package/src/x_ite/Components/Picking/X3DPickSensorNode.js +31 -18
- package/src/x_ite/Components/Picking/X3DPickableObject.js +20 -7
- package/src/x_ite/Components/PointingDeviceSensor/CylinderSensor.js +50 -39
- package/src/x_ite/Components/PointingDeviceSensor/PlaneSensor.js +52 -45
- package/src/x_ite/Components/PointingDeviceSensor/SphereSensor.js +44 -33
- package/src/x_ite/Components/PointingDeviceSensor/TouchSensor.js +30 -21
- package/src/x_ite/Components/PointingDeviceSensor/X3DDragSensorNode.js +13 -2
- package/src/x_ite/Components/PointingDeviceSensor/X3DPointingDeviceSensorNode.js +22 -11
- package/src/x_ite/Components/PointingDeviceSensor/X3DTouchSensorNode.js +16 -3
- package/src/x_ite/Components/PointingDeviceSensor.js +15 -22
- package/src/x_ite/Components/Rendering/ClipPlane.js +44 -34
- package/src/x_ite/Components/Rendering/Color.js +37 -26
- package/src/x_ite/Components/Rendering/ColorRGBA.js +37 -26
- package/src/x_ite/Components/Rendering/Coordinate.js +23 -14
- package/src/x_ite/Components/Rendering/IndexedLineSet.js +52 -41
- package/src/x_ite/Components/Rendering/IndexedTriangleFanSet.js +48 -37
- package/src/x_ite/Components/Rendering/IndexedTriangleSet.js +44 -33
- package/src/x_ite/Components/Rendering/IndexedTriangleStripSet.js +48 -37
- package/src/x_ite/Components/Rendering/LineSet.js +45 -34
- package/src/x_ite/Components/Rendering/Normal.js +39 -28
- package/src/x_ite/Components/Rendering/PointSet.js +45 -34
- package/src/x_ite/Components/Rendering/TriangleFanSet.js +47 -36
- package/src/x_ite/Components/Rendering/TriangleSet.js +41 -30
- package/src/x_ite/Components/Rendering/TriangleStripSet.js +47 -36
- package/src/x_ite/Components/Rendering/X3DColorNode.js +17 -4
- package/src/x_ite/Components/Rendering/X3DComposedGeometryNode.js +33 -20
- package/src/x_ite/Components/Rendering/X3DCoordinateNode.js +23 -10
- package/src/x_ite/Components/Rendering/X3DGeometricPropertyNode.js +13 -2
- package/src/x_ite/Components/Rendering/X3DGeometryNode.js +96 -80
- package/src/x_ite/Components/Rendering/X3DLineGeometryNode.js +21 -8
- package/src/x_ite/Components/Rendering/X3DNormalNode.js +13 -2
- package/src/x_ite/Components/Rendering/X3DPointGeometryNode.js +20 -7
- package/src/x_ite/Components/Rendering.js +29 -36
- package/src/x_ite/Components/RigidBodyPhysics/BallJoint.js +43 -32
- package/src/x_ite/Components/RigidBodyPhysics/CollidableOffset.js +48 -37
- package/src/x_ite/Components/RigidBodyPhysics/CollidableShape.js +52 -41
- package/src/x_ite/Components/RigidBodyPhysics/CollisionCollection.js +47 -36
- package/src/x_ite/Components/RigidBodyPhysics/CollisionSensor.js +41 -30
- package/src/x_ite/Components/RigidBodyPhysics/CollisionSpace.js +44 -33
- package/src/x_ite/Components/RigidBodyPhysics/Contact.js +38 -29
- package/src/x_ite/Components/RigidBodyPhysics/DoubleAxisHingeJoint.js +60 -49
- package/src/x_ite/Components/RigidBodyPhysics/MotorJoint.js +48 -39
- package/src/x_ite/Components/RigidBodyPhysics/RigidBody.js +69 -58
- package/src/x_ite/Components/RigidBodyPhysics/RigidBodyCollection.js +61 -50
- package/src/x_ite/Components/RigidBodyPhysics/SingleAxisHingeJoint.js +49 -38
- package/src/x_ite/Components/RigidBodyPhysics/SliderJoint.js +47 -36
- package/src/x_ite/Components/RigidBodyPhysics/UniversalJoint.js +36 -27
- package/src/x_ite/Components/RigidBodyPhysics/X3DNBodyCollidableNode.js +24 -11
- package/src/x_ite/Components/RigidBodyPhysics/X3DNBodyCollisionSpaceNode.js +17 -4
- package/src/x_ite/Components/RigidBodyPhysics/X3DRigidJointNode.js +34 -21
- package/src/x_ite/Components/Scripting/Script.js +83 -53
- package/src/x_ite/Components/Scripting/X3DScriptNode.js +17 -4
- package/src/x_ite/Components/Shaders/ComposedShader.js +46 -35
- package/src/x_ite/Components/Shaders/FloatVertexAttribute.js +40 -29
- package/src/x_ite/Components/Shaders/Matrix3VertexAttribute.js +38 -27
- package/src/x_ite/Components/Shaders/Matrix4VertexAttribute.js +38 -27
- package/src/x_ite/Components/Shaders/PackagedShader.js +45 -34
- package/src/x_ite/Components/Shaders/ProgramShader.js +27 -18
- package/src/x_ite/Components/Shaders/ShaderPart.js +47 -36
- package/src/x_ite/Components/Shaders/ShaderProgram.js +42 -31
- package/src/x_ite/Components/Shaders/X3DProgrammableShaderObject.js +51 -38
- package/src/x_ite/Components/Shaders/X3DShaderNode.js +19 -6
- package/src/x_ite/Components/Shaders/X3DVertexAttributeNode.js +17 -4
- package/src/x_ite/Components/Shaders.js +19 -26
- package/src/x_ite/Components/Shape/AcousticProperties.js +28 -19
- package/src/x_ite/Components/Shape/Appearance.js +79 -68
- package/src/x_ite/Components/Shape/FillProperties.js +44 -33
- package/src/x_ite/Components/Shape/LineProperties.js +44 -33
- package/src/x_ite/Components/Shape/Material.js +75 -64
- package/src/x_ite/Components/Shape/PhysicalMaterial.js +65 -54
- package/src/x_ite/Components/Shape/PointProperties.js +43 -32
- package/src/x_ite/Components/Shape/Shape.js +48 -37
- package/src/x_ite/Components/Shape/TwoSidedMaterial.js +60 -49
- package/src/x_ite/Components/Shape/UnlitMaterial.js +44 -33
- package/src/x_ite/Components/Shape/X3DAppearanceChildNode.js +13 -2
- package/src/x_ite/Components/Shape/X3DAppearanceNode.js +17 -4
- package/src/x_ite/Components/Shape/X3DMaterialNode.js +41 -33
- package/src/x_ite/Components/Shape/X3DOneSidedMaterialNode.js +29 -16
- package/src/x_ite/Components/Shape/X3DShapeNode.js +28 -15
- package/src/x_ite/Components/Shape.js +23 -30
- package/src/x_ite/Components/Sound/Analyser.js +46 -37
- package/src/x_ite/Components/Sound/AudioClip.js +61 -50
- package/src/x_ite/Components/Sound/AudioDestination.js +35 -26
- package/src/x_ite/Components/Sound/BiquadFilter.js +45 -36
- package/src/x_ite/Components/Sound/BufferAudioSource.js +61 -50
- package/src/x_ite/Components/Sound/ChannelMerger.js +32 -23
- package/src/x_ite/Components/Sound/ChannelSelector.js +33 -24
- package/src/x_ite/Components/Sound/ChannelSplitter.js +33 -24
- package/src/x_ite/Components/Sound/Convolver.js +43 -34
- package/src/x_ite/Components/Sound/Delay.js +43 -34
- package/src/x_ite/Components/Sound/DynamicsCompressor.js +47 -38
- package/src/x_ite/Components/Sound/Gain.js +41 -32
- package/src/x_ite/Components/Sound/ListenerPointSource.js +39 -30
- package/src/x_ite/Components/Sound/MicrophoneSource.js +35 -26
- package/src/x_ite/Components/Sound/OscillatorSource.js +37 -28
- package/src/x_ite/Components/Sound/PeriodicWave.js +27 -18
- package/src/x_ite/Components/Sound/Sound.js +51 -40
- package/src/x_ite/Components/Sound/SpatialSound.js +42 -33
- package/src/x_ite/Components/Sound/StreamAudioDestination.js +35 -26
- package/src/x_ite/Components/Sound/StreamAudioSource.js +35 -26
- package/src/x_ite/Components/Sound/WaveShaper.js +43 -34
- package/src/x_ite/Components/Sound/X3DSoundChannelNode.js +13 -2
- package/src/x_ite/Components/Sound/X3DSoundDestinationNode.js +13 -2
- package/src/x_ite/Components/Sound/X3DSoundNode.js +13 -2
- package/src/x_ite/Components/Sound/X3DSoundProcessingNode.js +17 -4
- package/src/x_ite/Components/Sound/X3DSoundSourceNode.js +30 -17
- package/src/x_ite/Components/Sound.js +34 -41
- package/src/x_ite/Components/Text/FontStyle.js +37 -26
- package/src/x_ite/Components/Text/Text.js +50 -39
- package/src/x_ite/Components/Text/X3DFontStyleNode.js +32 -18
- package/src/x_ite/Components/TextureProjector/TextureProjector.js +49 -39
- package/src/x_ite/Components/TextureProjector/TextureProjectorParallel.js +58 -48
- package/src/x_ite/Components/TextureProjector/X3DTextureProjectorNode.js +27 -14
- package/src/x_ite/Components/Texturing/ImageTexture.js +50 -39
- package/src/x_ite/Components/Texturing/MovieTexture.js +67 -56
- package/src/x_ite/Components/Texturing/MultiTexture.js +52 -41
- package/src/x_ite/Components/Texturing/MultiTextureCoordinate.js +44 -33
- package/src/x_ite/Components/Texturing/MultiTextureTransform.js +39 -28
- package/src/x_ite/Components/Texturing/PixelTexture.js +42 -31
- package/src/x_ite/Components/Texturing/TextureCoordinate.js +41 -30
- package/src/x_ite/Components/Texturing/TextureCoordinateGenerator.js +41 -30
- package/src/x_ite/Components/Texturing/TextureProperties.js +47 -36
- package/src/x_ite/Components/Texturing/TextureTransform.js +39 -28
- package/src/x_ite/Components/Texturing/X3DSingleTextureCoordinateNode.js +20 -7
- package/src/x_ite/Components/Texturing/X3DSingleTextureNode.js +21 -8
- package/src/x_ite/Components/Texturing/X3DSingleTextureTransformNode.js +20 -7
- package/src/x_ite/Components/Texturing/X3DTexture2DNode.js +26 -13
- package/src/x_ite/Components/Texturing/X3DTextureCoordinateNode.js +13 -2
- package/src/x_ite/Components/Texturing/X3DTextureNode.js +17 -4
- package/src/x_ite/Components/Texturing/X3DTextureTransformNode.js +13 -2
- package/src/x_ite/Components/Texturing.js +25 -32
- package/src/x_ite/Components/Texturing3D/ComposedTexture3D.js +44 -33
- package/src/x_ite/Components/Texturing3D/ImageTexture3D.js +46 -35
- package/src/x_ite/Components/Texturing3D/ImageTextureAtlas.js +54 -43
- package/src/x_ite/Components/Texturing3D/PixelTexture3D.js +40 -29
- package/src/x_ite/Components/Texturing3D/TextureCoordinate3D.js +41 -30
- package/src/x_ite/Components/Texturing3D/TextureCoordinate4D.js +41 -30
- package/src/x_ite/Components/Texturing3D/TextureTransform3D.js +39 -28
- package/src/x_ite/Components/Texturing3D/TextureTransformMatrix3D.js +36 -25
- package/src/x_ite/Components/Texturing3D/X3DTexture3DNode.js +26 -13
- package/src/x_ite/Components/Time/TimeSensor.js +55 -44
- package/src/x_ite/Components/Time/X3DTimeDependentNode.js +38 -25
- package/src/x_ite/Components/Time.js +10 -17
- package/src/x_ite/Components/VolumeRendering/BlendedVolumeStyle.js +51 -41
- package/src/x_ite/Components/VolumeRendering/BoundaryEnhancementVolumeStyle.js +39 -28
- package/src/x_ite/Components/VolumeRendering/CartoonVolumeStyle.js +42 -31
- package/src/x_ite/Components/VolumeRendering/ComposedVolumeStyle.js +41 -30
- package/src/x_ite/Components/VolumeRendering/EdgeEnhancementVolumeStyle.js +41 -30
- package/src/x_ite/Components/VolumeRendering/IsoSurfaceVolumeData.js +50 -39
- package/src/x_ite/Components/VolumeRendering/OpacityMapVolumeStyle.js +39 -28
- package/src/x_ite/Components/VolumeRendering/ProjectionVolumeStyle.js +38 -27
- package/src/x_ite/Components/VolumeRendering/SegmentedVolumeData.js +49 -38
- package/src/x_ite/Components/VolumeRendering/ShadedVolumeStyle.js +44 -33
- package/src/x_ite/Components/VolumeRendering/SilhouetteEnhancementVolumeStyle.js +42 -31
- package/src/x_ite/Components/VolumeRendering/ToneMappedVolumeStyle.js +41 -30
- package/src/x_ite/Components/VolumeRendering/VolumeData.js +45 -34
- package/src/x_ite/Components/VolumeRendering/X3DComposableVolumeRenderStyleNode.js +13 -2
- package/src/x_ite/Components/VolumeRendering/X3DVolumeDataNode.js +25 -12
- package/src/x_ite/Components/VolumeRendering/X3DVolumeRenderStyleNode.js +22 -9
- package/src/x_ite/Components/X_ITE/BlendMode.js +48 -37
- package/src/x_ite/Components.js +38 -14
- package/src/x_ite/Configuration/AbstractNodes.js +50 -0
- package/src/x_ite/{Fallback.js → Configuration/AbstractNodesArray.js} +22 -29
- package/src/x_ite/Configuration/ComponentInfo.js +14 -10
- package/src/x_ite/Configuration/ComponentInfoArray.js +14 -10
- package/src/x_ite/Configuration/ConcreteNodes.js +50 -0
- package/src/x_ite/Configuration/{SupportedNodes.js → ConcreteNodesArray.js} +26 -40
- package/src/x_ite/Configuration/ProfileInfo.js +13 -9
- package/src/x_ite/Configuration/ProfileInfoArray.js +14 -13
- package/src/x_ite/Configuration/SupportedComponents.js +40 -78
- package/src/x_ite/Configuration/SupportedProfiles.js +16 -16
- package/src/x_ite/Configuration/UnitInfo.js +14 -10
- package/src/x_ite/Configuration/UnitInfoArray.js +10 -21
- package/src/x_ite/Execution/BindableList.js +14 -10
- package/src/x_ite/Execution/BindableStack.js +14 -10
- package/src/x_ite/Execution/ExportedNodesArray.js +11 -9
- package/src/x_ite/Execution/ImportedNodesArray.js +11 -9
- package/src/x_ite/Execution/NamedNodesArray.js +11 -22
- package/src/x_ite/Execution/X3DExecutionContext.js +181 -152
- package/src/x_ite/Execution/X3DExportedNode.js +18 -10
- package/src/x_ite/Execution/X3DImportedNode.js +35 -22
- package/src/x_ite/Execution/X3DScene.js +93 -64
- package/src/x_ite/Execution/X3DWorld.js +21 -17
- package/src/x_ite/Fields/ArrayFields.js +87 -153
- package/src/x_ite/Fields/SFBool.js +21 -25
- package/src/x_ite/Fields/SFColor.js +43 -39
- package/src/x_ite/Fields/SFColorRGBA.js +39 -35
- package/src/x_ite/Fields/SFDouble.js +20 -21
- package/src/x_ite/Fields/SFFloat.js +20 -21
- package/src/x_ite/Fields/SFImage.js +50 -48
- package/src/x_ite/Fields/SFInt32.js +20 -21
- package/src/x_ite/Fields/SFMatrix3.js +23 -16
- package/src/x_ite/Fields/SFMatrix4.js +24 -17
- package/src/x_ite/Fields/SFMatrixPrototypeTemplate.js +31 -31
- package/src/x_ite/Fields/SFNode.js +57 -88
- package/src/x_ite/Fields/SFNodeCache.js +7 -11
- package/src/x_ite/Fields/SFRotation.js +73 -62
- package/src/x_ite/Fields/SFString.js +35 -36
- package/src/x_ite/Fields/SFTime.js +20 -21
- package/src/x_ite/Fields/SFVec2.js +17 -14
- package/src/x_ite/Fields/SFVec3.js +20 -17
- package/src/x_ite/Fields/SFVec4.js +21 -18
- package/src/x_ite/Fields/SFVecPrototypeTemplate.js +36 -36
- package/src/x_ite/Fields.js +6 -13
- package/src/x_ite/InputOutput/FileLoader.js +36 -40
- package/src/x_ite/InputOutput/Generator.js +50 -51
- package/src/x_ite/Parser/GLB2Parser.js +12 -13
- package/src/x_ite/Parser/GLTF2Parser.js +111 -112
- package/src/x_ite/Parser/GoldenGate.js +11 -13
- package/src/x_ite/Parser/HTMLSupport.js +15 -5
- package/src/x_ite/Parser/JSONParser.js +21 -22
- package/src/x_ite/Parser/OBJParser.js +56 -57
- package/src/x_ite/Parser/STLAParser.js +22 -23
- package/src/x_ite/Parser/STLBParser.js +12 -13
- package/src/x_ite/Parser/SVGParser.js +85 -86
- package/src/x_ite/Parser/VRMLParser.js +495 -878
- package/src/x_ite/Parser/X3DOptimizer.js +7 -7
- package/src/x_ite/Parser/X3DParser.js +17 -17
- package/src/x_ite/Parser/XMLParser.js +215 -269
- package/src/x_ite/Prototype/ExternProtoDeclarationArray.js +11 -9
- package/src/x_ite/Prototype/ProtoDeclarationArray.js +11 -9
- package/src/x_ite/Prototype/X3DExternProtoDeclaration.js +35 -27
- package/src/x_ite/Prototype/X3DProtoDeclaration.js +28 -20
- package/src/x_ite/Prototype/X3DProtoDeclarationNode.js +18 -10
- package/src/x_ite/Rendering/DependentRenderer.js +11 -12
- package/src/x_ite/Rendering/MultiSampleFrameBuffer.js +9 -10
- package/src/x_ite/Rendering/PointingBuffer.js +6 -7
- package/src/x_ite/Rendering/TextureBuffer.js +11 -12
- package/src/x_ite/Rendering/VertexArray.js +5 -5
- package/src/x_ite/Rendering/X3DRenderObject.js +51 -52
- package/src/x_ite/Routing/RouteArray.js +11 -9
- package/src/x_ite/Routing/X3DRoute.js +35 -19
- package/src/x_ite/Routing/X3DRoutingContext.js +8 -9
- package/src/x_ite/X3D.js +27 -26
- package/src/x_ite/X3DCanvasElement.js +18 -7
- package/src/x_ite.css +2 -1
- package/webpack.config.js +2 -2
- /package/src/x_ite/{DEBUG.js → DEVELOPMENT.js} +0 -0
|
@@ -45,7 +45,7 @@
|
|
|
45
45
|
*
|
|
46
46
|
******************************************************************************/
|
|
47
47
|
|
|
48
|
-
import
|
|
48
|
+
import AbstractNodes from "../Configuration/AbstractNodes.js";
|
|
49
49
|
import Fields from "../Fields.js";
|
|
50
50
|
import X3DBaseNode from "../Base/X3DBaseNode.js";
|
|
51
51
|
import { getUniqueName } from "./NamedNodesHandling.js";
|
|
@@ -62,8 +62,6 @@ import X3DCast from "../Base/X3DCast.js";
|
|
|
62
62
|
import X3DConstants from "../Base/X3DConstants.js";
|
|
63
63
|
import SFNodeCache from "../Fields/SFNodeCache.js";
|
|
64
64
|
|
|
65
|
-
SupportedNodes .addAbstractType ("X3DExecutionContext", X3DExecutionContext);
|
|
66
|
-
|
|
67
65
|
const
|
|
68
66
|
_namedNodes = Symbol (),
|
|
69
67
|
_importedNodes = Symbol (),
|
|
@@ -78,101 +76,97 @@ function X3DExecutionContext (executionContext, outerNode = null)
|
|
|
78
76
|
|
|
79
77
|
this .addType (X3DConstants .X3DExecutionContext)
|
|
80
78
|
|
|
81
|
-
this .addChildObjects ("rootNodes",
|
|
82
|
-
"worldInfos",
|
|
83
|
-
"sceneGraph_changed",
|
|
84
|
-
"namedNodes_changed", new Fields .SFTime (),
|
|
85
|
-
"importedNodes_changed", new Fields .SFTime (),
|
|
86
|
-
"protos_changed", new Fields .SFTime (),
|
|
87
|
-
"externprotos_changed", new Fields .SFTime (),
|
|
88
|
-
"routes_changed", new Fields .SFTime ())
|
|
79
|
+
this .addChildObjects ("rootNodes", new Fields .MFNode (),
|
|
80
|
+
"worldInfos", new Fields .MFNode (),
|
|
81
|
+
"sceneGraph_changed", new Fields .SFTime ())
|
|
89
82
|
|
|
90
83
|
this ._rootNodes .setAccessType (X3DConstants .initializeOnly);
|
|
91
84
|
this ._rootNodes .addCloneCount (1);
|
|
92
85
|
|
|
93
|
-
this [_outerNode]
|
|
94
|
-
this [_namedNodes]
|
|
95
|
-
this [_importedNodes]
|
|
96
|
-
this [_protos]
|
|
97
|
-
this [_externprotos]
|
|
98
|
-
this [_routes]
|
|
86
|
+
this [_outerNode] = outerNode;
|
|
87
|
+
this [_namedNodes] = new NamedNodesArray ();
|
|
88
|
+
this [_importedNodes] = new ImportedNodesArray ();
|
|
89
|
+
this [_protos] = new ProtoDeclarationArray ();
|
|
90
|
+
this [_externprotos] = new ExternProtoDeclarationArray ();
|
|
91
|
+
this [_routes] = new RouteArray ();
|
|
92
|
+
|
|
93
|
+
this [_namedNodes] .addParent (this);
|
|
94
|
+
this [_importedNodes] .addParent (this);
|
|
95
|
+
this [_protos] .addParent (this);
|
|
96
|
+
this [_externprotos] .addParent (this);
|
|
97
|
+
this [_routes] .addParent (this);
|
|
99
98
|
}
|
|
100
99
|
|
|
101
|
-
|
|
100
|
+
Object .assign (Object .setPrototypeOf (X3DExecutionContext .prototype, X3DBaseNode .prototype),
|
|
102
101
|
{
|
|
103
|
-
|
|
104
|
-
initialize: function ()
|
|
102
|
+
initialize ()
|
|
105
103
|
{
|
|
106
104
|
X3DBaseNode .prototype .initialize .call (this);
|
|
107
105
|
|
|
108
106
|
if (!this .isScene ())
|
|
109
107
|
this ._sceneGraph_changed .addInterest ("set_sceneGraph", this)
|
|
110
108
|
},
|
|
111
|
-
set_sceneGraph
|
|
109
|
+
set_sceneGraph ()
|
|
112
110
|
{
|
|
113
111
|
this .getExecutionContext () ._sceneGraph_changed = this .getBrowser () .getCurrentTime ();
|
|
114
112
|
},
|
|
115
|
-
isScene
|
|
113
|
+
isScene ()
|
|
116
114
|
{
|
|
117
115
|
return false;
|
|
118
116
|
},
|
|
119
|
-
|
|
120
|
-
{
|
|
121
|
-
return "X3DExecutionContext";
|
|
122
|
-
},
|
|
123
|
-
getOuterNode: function ()
|
|
117
|
+
getOuterNode ()
|
|
124
118
|
{
|
|
125
119
|
// Can be either of type X3DProtoDeclaration or X3DPrototypeInstance, or null.
|
|
126
120
|
return this [_outerNode];
|
|
127
121
|
},
|
|
128
|
-
getSpecificationVersion
|
|
122
|
+
getSpecificationVersion ()
|
|
129
123
|
{
|
|
130
124
|
return this .getExecutionContext () .getSpecificationVersion ();
|
|
131
125
|
},
|
|
132
|
-
getEncoding
|
|
126
|
+
getEncoding ()
|
|
133
127
|
{
|
|
134
128
|
return this .getExecutionContext () .getEncoding ();
|
|
135
129
|
},
|
|
136
|
-
getWorldURL
|
|
130
|
+
getWorldURL ()
|
|
137
131
|
{
|
|
138
132
|
return this .getExecutionContext () .getWorldURL ();
|
|
139
133
|
},
|
|
140
|
-
getProfile
|
|
134
|
+
getProfile ()
|
|
141
135
|
{
|
|
142
136
|
return this .getExecutionContext () .getProfile ();
|
|
143
137
|
},
|
|
144
|
-
hasComponent
|
|
138
|
+
hasComponent (name)
|
|
145
139
|
{
|
|
146
140
|
return this .getExecutionContext () .hasComponent (name);
|
|
147
141
|
},
|
|
148
|
-
getComponents
|
|
142
|
+
getComponents ()
|
|
149
143
|
{
|
|
150
144
|
return this .getExecutionContext () .getComponents ();
|
|
151
145
|
},
|
|
152
|
-
fromUnit
|
|
146
|
+
fromUnit (category, value)
|
|
153
147
|
{
|
|
154
148
|
return this .getExecutionContext () .fromUnit (category, value);
|
|
155
149
|
},
|
|
156
|
-
toUnit
|
|
150
|
+
toUnit (category, value)
|
|
157
151
|
{
|
|
158
152
|
return this .getExecutionContext () .toUnit (category, value);
|
|
159
153
|
},
|
|
160
|
-
getUnits
|
|
154
|
+
getUnits ()
|
|
161
155
|
{
|
|
162
156
|
return this .getExecutionContext () .getUnits ();
|
|
163
157
|
},
|
|
164
|
-
createNode
|
|
158
|
+
createNode (typeName, setup = true /* non-public argument */)
|
|
165
159
|
{
|
|
166
160
|
typeName = String (typeName);
|
|
167
161
|
|
|
168
162
|
if (setup === false)
|
|
169
163
|
{
|
|
170
|
-
const
|
|
164
|
+
const ConcreteNode = this .getBrowser () .getConcreteNode (typeName);
|
|
171
165
|
|
|
172
|
-
if (!
|
|
166
|
+
if (!ConcreteNode)
|
|
173
167
|
return null;
|
|
174
168
|
|
|
175
|
-
const specificationRange =
|
|
169
|
+
const specificationRange = ConcreteNode .specificationRange;
|
|
176
170
|
|
|
177
171
|
if (this .getSpecificationVersion () < specificationRange [0])
|
|
178
172
|
return null;
|
|
@@ -180,19 +174,19 @@ X3DExecutionContext .prototype = Object .assign (Object .create (X3DBaseNode .pr
|
|
|
180
174
|
if (this .getSpecificationVersion () > specificationRange [1])
|
|
181
175
|
return null;
|
|
182
176
|
|
|
183
|
-
if (!this .hasComponent (
|
|
177
|
+
if (!this .hasComponent (ConcreteNode .componentName))
|
|
184
178
|
console .warn (`Node type '${typeName}' does not match component/profile statements in '${this .getWorldURL ()}'.`);
|
|
185
179
|
|
|
186
|
-
return new
|
|
180
|
+
return new ConcreteNode (this);
|
|
187
181
|
}
|
|
188
182
|
else
|
|
189
183
|
{
|
|
190
|
-
const
|
|
184
|
+
const ConcreteNode = this .getBrowser () .getConcreteNode (typeName);
|
|
191
185
|
|
|
192
|
-
if (!
|
|
186
|
+
if (!ConcreteNode)
|
|
193
187
|
throw new Error (`Unknown node type '${typeName}'.`);
|
|
194
188
|
|
|
195
|
-
const specificationRange =
|
|
189
|
+
const specificationRange = ConcreteNode .specificationRange;
|
|
196
190
|
|
|
197
191
|
if (this .getSpecificationVersion () < specificationRange [0])
|
|
198
192
|
throw new Error (`Node type '${typeName}' does not match specification version in '${this .getWorldURL ()}.`);
|
|
@@ -200,17 +194,17 @@ X3DExecutionContext .prototype = Object .assign (Object .create (X3DBaseNode .pr
|
|
|
200
194
|
if (this .getSpecificationVersion () > specificationRange [1])
|
|
201
195
|
throw new Error (`Node type '${typeName}' does not match specification version in '${this .getWorldURL ()}.`);
|
|
202
196
|
|
|
203
|
-
if (!this .hasComponent (
|
|
197
|
+
if (!this .hasComponent (ConcreteNode .componentName))
|
|
204
198
|
console .warn (`Node type '${typeName}' does not match component/profile statements in '${this .getWorldURL ()}'.`);
|
|
205
199
|
|
|
206
|
-
const baseNode = new
|
|
200
|
+
const baseNode = new ConcreteNode (this);
|
|
207
201
|
|
|
208
202
|
baseNode .setup ();
|
|
209
203
|
|
|
210
204
|
return SFNodeCache .get (baseNode);
|
|
211
205
|
}
|
|
212
206
|
},
|
|
213
|
-
createProto
|
|
207
|
+
createProto (name, setup = true /* non-public argument */)
|
|
214
208
|
{
|
|
215
209
|
name = String (name);
|
|
216
210
|
|
|
@@ -218,15 +212,10 @@ X3DExecutionContext .prototype = Object .assign (Object .create (X3DBaseNode .pr
|
|
|
218
212
|
|
|
219
213
|
for (;;)
|
|
220
214
|
{
|
|
221
|
-
const
|
|
222
|
-
|
|
223
|
-
if (proto)
|
|
224
|
-
return proto .createInstance (this, setup);
|
|
215
|
+
const protoNode = executionContext .protos .get (name) ?? executionContext .externprotos .get (name);
|
|
225
216
|
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
if (externproto)
|
|
229
|
-
return externproto .createInstance (this, setup);
|
|
217
|
+
if (protoNode)
|
|
218
|
+
return protoNode .createInstance (this, setup);
|
|
230
219
|
|
|
231
220
|
if (executionContext .isScene ())
|
|
232
221
|
break;
|
|
@@ -237,16 +226,35 @@ X3DExecutionContext .prototype = Object .assign (Object .create (X3DBaseNode .pr
|
|
|
237
226
|
if (setup === false)
|
|
238
227
|
return null;
|
|
239
228
|
|
|
240
|
-
throw new Error (
|
|
229
|
+
throw new Error (`Unknown proto or externproto type '${name}'.`);
|
|
241
230
|
},
|
|
242
|
-
addNamedNode
|
|
231
|
+
addNamedNode (name, node)
|
|
243
232
|
{
|
|
233
|
+
name = String (name);
|
|
234
|
+
node = X3DCast (X3DConstants .X3DNode, node, false);
|
|
235
|
+
|
|
236
|
+
if (!node)
|
|
237
|
+
throw new Error ("Couldn't add named node: node must be of type X3DNode.");
|
|
238
|
+
|
|
239
|
+
if (node .getExecutionContext () !== this)
|
|
240
|
+
throw new Error ("Couldn't add named node: node does not belong to this execution context.");
|
|
241
|
+
|
|
242
|
+
if (name .length === 0)
|
|
243
|
+
throw new Error ("Couldn't add named node: node name is empty.");
|
|
244
|
+
|
|
244
245
|
if (this [_namedNodes] .has (name))
|
|
245
|
-
throw new Error (
|
|
246
|
+
throw new Error (`Couldn't add named node: node named '${name}' is already in use.`);
|
|
247
|
+
|
|
248
|
+
if (this [_namedNodes] .get (node .getName ()) ?.getValue () === node)
|
|
249
|
+
throw new Error (`Couldn't add named node: node named '${node .getName ()}' is already added.`);
|
|
250
|
+
|
|
251
|
+
// Add named node.
|
|
246
252
|
|
|
247
|
-
|
|
253
|
+
node .setName (name);
|
|
254
|
+
|
|
255
|
+
this [_namedNodes] .add (name, SFNodeCache .get (node));
|
|
248
256
|
},
|
|
249
|
-
updateNamedNode
|
|
257
|
+
updateNamedNode (name, node)
|
|
250
258
|
{
|
|
251
259
|
name = String (name);
|
|
252
260
|
node = X3DCast (X3DConstants .X3DNode, node, false);
|
|
@@ -269,58 +277,55 @@ X3DExecutionContext .prototype = Object .assign (Object .create (X3DBaseNode .pr
|
|
|
269
277
|
|
|
270
278
|
node .setName (name);
|
|
271
279
|
|
|
272
|
-
this [_namedNodes] .add (name, node);
|
|
280
|
+
this [_namedNodes] .add (name, SFNodeCache .get (node));
|
|
273
281
|
|
|
274
282
|
this ._namedNodes_changed = this .getBrowser () .getCurrentTime ();
|
|
275
283
|
},
|
|
276
|
-
removeNamedNode
|
|
284
|
+
removeNamedNode (name)
|
|
277
285
|
{
|
|
278
286
|
name = String (name);
|
|
279
287
|
|
|
280
288
|
const node = this [_namedNodes] .get (name);
|
|
281
289
|
|
|
282
|
-
if (!node)
|
|
290
|
+
if (!node || !node .getValue ())
|
|
283
291
|
return;
|
|
284
292
|
|
|
285
|
-
node .setName ("");
|
|
293
|
+
node .getValue () .setName ("");
|
|
286
294
|
|
|
287
295
|
this [_namedNodes] .remove (name);
|
|
288
296
|
|
|
289
297
|
this ._namedNodes_changed = this .getBrowser () .getCurrentTime ();
|
|
290
298
|
},
|
|
291
|
-
getNamedNode
|
|
299
|
+
getNamedNode (name)
|
|
292
300
|
{
|
|
293
301
|
name = String (name);
|
|
294
302
|
|
|
295
303
|
const node = this [_namedNodes] .get (name);
|
|
296
304
|
|
|
297
305
|
if (node)
|
|
298
|
-
return
|
|
306
|
+
return node;
|
|
299
307
|
|
|
300
|
-
throw new Error (
|
|
308
|
+
throw new Error (`Named node '${name}' not found.`);
|
|
301
309
|
},
|
|
302
|
-
getNamedNodes
|
|
310
|
+
getNamedNodes ()
|
|
303
311
|
{
|
|
304
312
|
return this [_namedNodes];
|
|
305
313
|
},
|
|
306
|
-
getUniqueName
|
|
314
|
+
getUniqueName (name)
|
|
307
315
|
{
|
|
308
316
|
return getUniqueName (this [_namedNodes], name);
|
|
309
317
|
},
|
|
310
|
-
addImportedNode
|
|
318
|
+
addImportedNode (inlineNode, exportedName, importedName = exportedName)
|
|
311
319
|
{
|
|
312
|
-
if (importedName === undefined)
|
|
313
|
-
importedName = exportedName;
|
|
314
|
-
|
|
315
320
|
exportedName = String (exportedName);
|
|
316
321
|
importedName = String (importedName);
|
|
317
322
|
|
|
318
323
|
if (this [_importedNodes] .has (importedName))
|
|
319
|
-
throw new Error (
|
|
324
|
+
throw new Error (`Couldn't add imported node: imported name '${importedName}' already in use.`);
|
|
320
325
|
|
|
321
326
|
this .updateImportedNode (inlineNode, exportedName, importedName);
|
|
322
327
|
},
|
|
323
|
-
updateImportedNode
|
|
328
|
+
updateImportedNode (inlineNode, exportedName, importedName)
|
|
324
329
|
{
|
|
325
330
|
inlineNode = X3DCast (X3DConstants .Inline, inlineNode, false);
|
|
326
331
|
exportedName = String (exportedName);
|
|
@@ -348,7 +353,7 @@ X3DExecutionContext .prototype = Object .assign (Object .create (X3DBaseNode .pr
|
|
|
348
353
|
|
|
349
354
|
this ._importedNodes_changed = this .getBrowser () .getCurrentTime ();
|
|
350
355
|
},
|
|
351
|
-
removeImportedNode
|
|
356
|
+
removeImportedNode (importedName)
|
|
352
357
|
{
|
|
353
358
|
importedName = String (importedName);
|
|
354
359
|
|
|
@@ -363,7 +368,7 @@ X3DExecutionContext .prototype = Object .assign (Object .create (X3DBaseNode .pr
|
|
|
363
368
|
|
|
364
369
|
this ._importedNodes_changed = this .getBrowser () .getCurrentTime ();
|
|
365
370
|
},
|
|
366
|
-
getImportedNode
|
|
371
|
+
getImportedNode (importedName)
|
|
367
372
|
{
|
|
368
373
|
importedName = String (importedName);
|
|
369
374
|
|
|
@@ -372,13 +377,13 @@ X3DExecutionContext .prototype = Object .assign (Object .create (X3DBaseNode .pr
|
|
|
372
377
|
if (importedNode)
|
|
373
378
|
return SFNodeCache .get (importedNode .getExportedNode ());
|
|
374
379
|
|
|
375
|
-
throw new Error (
|
|
380
|
+
throw new Error (`Imported node '${importedName}' not found.`);
|
|
376
381
|
},
|
|
377
|
-
getImportedNodes
|
|
382
|
+
getImportedNodes ()
|
|
378
383
|
{
|
|
379
384
|
return this [_importedNodes];
|
|
380
385
|
},
|
|
381
|
-
getLocalNode
|
|
386
|
+
getLocalNode (name)
|
|
382
387
|
{
|
|
383
388
|
name = String (name);
|
|
384
389
|
|
|
@@ -386,17 +391,17 @@ X3DExecutionContext .prototype = Object .assign (Object .create (X3DBaseNode .pr
|
|
|
386
391
|
{
|
|
387
392
|
return this .getNamedNode (name);
|
|
388
393
|
}
|
|
389
|
-
catch
|
|
394
|
+
catch
|
|
390
395
|
{
|
|
391
396
|
const importedNode = this [_importedNodes] .get (name);
|
|
392
397
|
|
|
393
398
|
if (importedNode)
|
|
394
399
|
return SFNodeCache .get (importedNode);
|
|
395
400
|
|
|
396
|
-
throw new Error (
|
|
401
|
+
throw new Error (`Unknown named or imported node '${name}'.`);
|
|
397
402
|
}
|
|
398
403
|
},
|
|
399
|
-
getLocalName
|
|
404
|
+
getLocalName (node)
|
|
400
405
|
{
|
|
401
406
|
node = X3DCast (X3DConstants .X3DNode, node, false);
|
|
402
407
|
|
|
@@ -413,20 +418,18 @@ X3DExecutionContext .prototype = Object .assign (Object .create (X3DBaseNode .pr
|
|
|
413
418
|
if (importedNode .getExportedNode () === node)
|
|
414
419
|
return importedNode .getImportedName ();
|
|
415
420
|
}
|
|
416
|
-
catch
|
|
417
|
-
{
|
|
418
|
-
//console .error (error);
|
|
419
|
-
}
|
|
421
|
+
catch
|
|
422
|
+
{ }
|
|
420
423
|
}
|
|
421
424
|
|
|
422
425
|
throw new Error ("Couldn't get local name: node is shared.");
|
|
423
426
|
},
|
|
424
|
-
setRootNodes
|
|
425
|
-
getRootNodes
|
|
427
|
+
setRootNodes () { },
|
|
428
|
+
getRootNodes ()
|
|
426
429
|
{
|
|
427
430
|
return this ._rootNodes;
|
|
428
431
|
},
|
|
429
|
-
getProtoDeclaration
|
|
432
|
+
getProtoDeclaration (name)
|
|
430
433
|
{
|
|
431
434
|
name = String (name);
|
|
432
435
|
|
|
@@ -435,7 +438,7 @@ X3DExecutionContext .prototype = Object .assign (Object .create (X3DBaseNode .pr
|
|
|
435
438
|
if (proto)
|
|
436
439
|
return proto;
|
|
437
440
|
|
|
438
|
-
throw new Error (
|
|
441
|
+
throw new Error (`Proto declaration '${name}' not found.`);
|
|
439
442
|
},
|
|
440
443
|
addProtoDeclaration (name, proto)
|
|
441
444
|
{
|
|
@@ -444,8 +447,14 @@ X3DExecutionContext .prototype = Object .assign (Object .create (X3DBaseNode .pr
|
|
|
444
447
|
if (!(proto instanceof X3DProtoDeclaration))
|
|
445
448
|
throw new Error ("Couldn't add proto declaration: proto must be of type X3DProtoDeclaration.");
|
|
446
449
|
|
|
450
|
+
if (proto .getExecutionContext () !== this)
|
|
451
|
+
throw new Error ("Couldn't add proto declaration: proto does not belong to this execution context.");
|
|
452
|
+
|
|
447
453
|
if (this [_protos] .get (name))
|
|
448
|
-
throw new Error (
|
|
454
|
+
throw new Error (`Couldn't add proto declaration: proto '${name}' already in use.`);
|
|
455
|
+
|
|
456
|
+
if (this [_protos] .get (proto .getName ()) === proto)
|
|
457
|
+
throw new Error (`Couldn't add proto declaration: proto '${proto .getName ()}' already added.`);
|
|
449
458
|
|
|
450
459
|
name = String (name);
|
|
451
460
|
|
|
@@ -462,12 +471,15 @@ X3DExecutionContext .prototype = Object .assign (Object .create (X3DBaseNode .pr
|
|
|
462
471
|
name = String (name);
|
|
463
472
|
|
|
464
473
|
if (!(proto instanceof X3DProtoDeclaration))
|
|
465
|
-
throw new Error ("Couldn't
|
|
474
|
+
throw new Error ("Couldn't update proto declaration: proto must be of type X3DProtoDeclaration.");
|
|
475
|
+
|
|
476
|
+
if (proto .getExecutionContext () !== this)
|
|
477
|
+
throw new Error ("Couldn't update proto declaration: proto does not belong to this execution context.");
|
|
466
478
|
|
|
467
479
|
name = String (name);
|
|
468
480
|
|
|
469
481
|
if (name .length === 0)
|
|
470
|
-
throw new Error ("Couldn't
|
|
482
|
+
throw new Error ("Couldn't update proto declaration: proto name is empty.");
|
|
471
483
|
|
|
472
484
|
this [_protos] .update (proto .getName (), name, proto);
|
|
473
485
|
proto .setName (name);
|
|
@@ -482,15 +494,15 @@ X3DExecutionContext .prototype = Object .assign (Object .create (X3DBaseNode .pr
|
|
|
482
494
|
|
|
483
495
|
this ._protos_changed = this .getBrowser () .getCurrentTime ();
|
|
484
496
|
},
|
|
485
|
-
getProtoDeclarations
|
|
497
|
+
getProtoDeclarations ()
|
|
486
498
|
{
|
|
487
499
|
return this [_protos];
|
|
488
500
|
},
|
|
489
|
-
getUniqueProtoName
|
|
501
|
+
getUniqueProtoName (name)
|
|
490
502
|
{
|
|
491
503
|
return getUniqueName (this [_protos], name);
|
|
492
504
|
},
|
|
493
|
-
getExternProtoDeclaration
|
|
505
|
+
getExternProtoDeclaration (name)
|
|
494
506
|
{
|
|
495
507
|
name = String (name);
|
|
496
508
|
|
|
@@ -499,7 +511,7 @@ X3DExecutionContext .prototype = Object .assign (Object .create (X3DBaseNode .pr
|
|
|
499
511
|
if (externproto)
|
|
500
512
|
return externproto;
|
|
501
513
|
|
|
502
|
-
throw new Error (
|
|
514
|
+
throw new Error (`Extern proto declaration '${name}' not found.`);
|
|
503
515
|
},
|
|
504
516
|
addExternProtoDeclaration (name, externproto)
|
|
505
517
|
{
|
|
@@ -508,8 +520,14 @@ X3DExecutionContext .prototype = Object .assign (Object .create (X3DBaseNode .pr
|
|
|
508
520
|
if (!(externproto instanceof X3DExternProtoDeclaration))
|
|
509
521
|
throw new Error ("Couldn't add extern proto declaration: extern proto must be of type X3DExternProtoDeclaration.");
|
|
510
522
|
|
|
523
|
+
if (externproto .getExecutionContext () !== this)
|
|
524
|
+
throw new Error ("Couldn't add extern proto declaration: extern proto does not belong to this execution context.");
|
|
525
|
+
|
|
511
526
|
if (this [_externprotos] .get (name))
|
|
512
|
-
throw new Error (
|
|
527
|
+
throw new Error (`Couldn't add extern proto declaration: extern proto '${name}' already in use.`);
|
|
528
|
+
|
|
529
|
+
if (this [_externprotos] .get (externproto .getName ()) === externproto)
|
|
530
|
+
throw new Error (`Couldn't add extern proto declaration: extern proto '${externproto .getName ()}' already added.`);
|
|
513
531
|
|
|
514
532
|
name = String (name);
|
|
515
533
|
|
|
@@ -526,12 +544,15 @@ X3DExecutionContext .prototype = Object .assign (Object .create (X3DBaseNode .pr
|
|
|
526
544
|
name = String (name);
|
|
527
545
|
|
|
528
546
|
if (!(externproto instanceof X3DExternProtoDeclaration))
|
|
529
|
-
throw new Error ("Couldn't
|
|
547
|
+
throw new Error ("Couldn't update extern proto declaration: extern proto must be of type X3DExternProtoDeclaration.");
|
|
548
|
+
|
|
549
|
+
if (externproto .getExecutionContext () !== this)
|
|
550
|
+
throw new Error ("Couldn't update extern proto declaration: extern proto does not belong to this execution context.");
|
|
530
551
|
|
|
531
552
|
name = String (name);
|
|
532
553
|
|
|
533
554
|
if (name .length === 0)
|
|
534
|
-
throw new Error ("Couldn't
|
|
555
|
+
throw new Error ("Couldn't update extern proto declaration: extern proto name is empty.");
|
|
535
556
|
|
|
536
557
|
this [_externprotos] .update (externproto .getName (), name, externproto);
|
|
537
558
|
externproto .setName (name);
|
|
@@ -546,15 +567,15 @@ X3DExecutionContext .prototype = Object .assign (Object .create (X3DBaseNode .pr
|
|
|
546
567
|
|
|
547
568
|
this ._externprotos_changed = this .getBrowser () .getCurrentTime ();
|
|
548
569
|
},
|
|
549
|
-
getExternProtoDeclarations
|
|
570
|
+
getExternProtoDeclarations ()
|
|
550
571
|
{
|
|
551
572
|
return this [_externprotos];
|
|
552
573
|
},
|
|
553
|
-
getUniqueExternProtoName
|
|
574
|
+
getUniqueExternProtoName (name)
|
|
554
575
|
{
|
|
555
576
|
return getUniqueName (this [_externprotos], name);
|
|
556
577
|
},
|
|
557
|
-
addRoute
|
|
578
|
+
addRoute (sourceNode, sourceField, destinationNode, destinationField)
|
|
558
579
|
{
|
|
559
580
|
sourceNode = X3DCast (X3DConstants .X3DNode, sourceNode, false);
|
|
560
581
|
sourceField = String (sourceField);
|
|
@@ -579,7 +600,7 @@ X3DExecutionContext .prototype = Object .assign (Object .create (X3DBaseNode .pr
|
|
|
579
600
|
if (sourceNode .getExecutionContext () !== this)
|
|
580
601
|
importedSourceNode = this .getLocalNode (this .getLocalName (sourceNode)) .getValue ();
|
|
581
602
|
}
|
|
582
|
-
catch
|
|
603
|
+
catch
|
|
583
604
|
{
|
|
584
605
|
// Source node is shared but not imported.
|
|
585
606
|
}
|
|
@@ -590,7 +611,7 @@ X3DExecutionContext .prototype = Object .assign (Object .create (X3DBaseNode .pr
|
|
|
590
611
|
if (destinationNode .getExecutionContext () !== this)
|
|
591
612
|
importedDestinationNode = this .getLocalNode (this .getLocalName (destinationNode)) .getValue ();
|
|
592
613
|
}
|
|
593
|
-
catch
|
|
614
|
+
catch
|
|
594
615
|
{
|
|
595
616
|
// Destination node is shared but not imported.
|
|
596
617
|
}
|
|
@@ -617,7 +638,7 @@ X3DExecutionContext .prototype = Object .assign (Object .create (X3DBaseNode .pr
|
|
|
617
638
|
|
|
618
639
|
return this .addSimpleRoute (sourceNode, sourceField, destinationNode, destinationField);
|
|
619
640
|
},
|
|
620
|
-
addSimpleRoute
|
|
641
|
+
addSimpleRoute (sourceNode, sourceField, destinationNode, destinationField)
|
|
621
642
|
{
|
|
622
643
|
// Source and dest node are here X3DBaseNode.
|
|
623
644
|
|
|
@@ -630,15 +651,15 @@ X3DExecutionContext .prototype = Object .assign (Object .create (X3DBaseNode .pr
|
|
|
630
651
|
destinationField = destinationNode .getField (destinationField);
|
|
631
652
|
|
|
632
653
|
if (!sourceField .isOutput ())
|
|
633
|
-
throw new Error (
|
|
654
|
+
throw new Error (`Field named '${sourceField .getName ()}' in node named '${sourceNode .getName ()}' of type ${sourceNode .getTypeName ()} is not an output field.`);
|
|
634
655
|
|
|
635
656
|
if (!destinationField .isInput ())
|
|
636
|
-
throw new Error (
|
|
657
|
+
throw new Error (`Field named '${destinationField .getName ()}' in node named '${destinationNode .getName ()}' of type ${destinationNode .getTypeName ()} is not an input field.`);
|
|
637
658
|
|
|
638
659
|
if (sourceField .getType () !== destinationField .getType ())
|
|
639
|
-
throw new Error (
|
|
660
|
+
throw new Error (`ROUTE types ${sourceField .getTypeName ()} and ${destinationField .getTypeName ()} do not match.`);
|
|
640
661
|
|
|
641
|
-
const id =
|
|
662
|
+
const id = X3DRoute .getId (sourceField, destinationField);
|
|
642
663
|
|
|
643
664
|
let route = this [_routes] .get (id);
|
|
644
665
|
|
|
@@ -655,44 +676,33 @@ X3DExecutionContext .prototype = Object .assign (Object .create (X3DBaseNode .pr
|
|
|
655
676
|
}
|
|
656
677
|
catch (error)
|
|
657
678
|
{
|
|
658
|
-
throw new Error (
|
|
679
|
+
throw new Error (`Bad ROUTE specification: ${error .message}`);
|
|
659
680
|
}
|
|
660
681
|
},
|
|
661
|
-
deleteRoute
|
|
682
|
+
deleteRoute (route)
|
|
662
683
|
{
|
|
663
684
|
// sourceNode, sourceField, destinationNode, destinationField
|
|
664
685
|
if (arguments .length === 4)
|
|
665
|
-
|
|
666
|
-
route = this .getRoute .apply (this, arguments);
|
|
686
|
+
route = this .getRoute (... arguments);
|
|
667
687
|
|
|
668
|
-
|
|
669
|
-
|
|
670
|
-
|
|
688
|
+
if (!(route instanceof X3DRoute))
|
|
689
|
+
return;
|
|
690
|
+
|
|
691
|
+
if (route .getExecutionContext () !== this)
|
|
692
|
+
return;
|
|
671
693
|
|
|
672
|
-
|
|
673
|
-
|
|
694
|
+
this .deleteSimpleRoute (route);
|
|
695
|
+
this .deleteImportedRoute (route .sourceNode, route .destinationNode, route);
|
|
674
696
|
},
|
|
675
|
-
deleteSimpleRoute
|
|
697
|
+
deleteSimpleRoute (route)
|
|
676
698
|
{
|
|
677
|
-
|
|
678
|
-
{
|
|
679
|
-
const
|
|
680
|
-
sourceField = route .getSourceField (),
|
|
681
|
-
destinationField = route .getDestinationField (),
|
|
682
|
-
id = sourceField .getId () + "." + destinationField .getId ();
|
|
699
|
+
const id = X3DRoute .getId (route .getSourceField (), route .getDestinationField ());
|
|
683
700
|
|
|
684
|
-
|
|
685
|
-
route .disconnect ();
|
|
701
|
+
this [_routes] .remove (id);
|
|
686
702
|
|
|
687
|
-
|
|
703
|
+
route .disconnect ();
|
|
688
704
|
|
|
689
|
-
|
|
690
|
-
}
|
|
691
|
-
catch (error)
|
|
692
|
-
{
|
|
693
|
-
console .error (error);
|
|
694
|
-
return false;
|
|
695
|
-
}
|
|
705
|
+
this ._routes_changed = this .getBrowser () .getCurrentTime ();
|
|
696
706
|
},
|
|
697
707
|
deleteImportedRoute (sourceNode, destinationNode, route)
|
|
698
708
|
{
|
|
@@ -708,7 +718,7 @@ X3DExecutionContext .prototype = Object .assign (Object .create (X3DBaseNode .pr
|
|
|
708
718
|
if (sourceNode .getValue () .getExecutionContext () !== this)
|
|
709
719
|
importedSourceNode = this .getLocalNode (this .getLocalName (sourceNode)) .getValue ();
|
|
710
720
|
}
|
|
711
|
-
catch
|
|
721
|
+
catch
|
|
712
722
|
{
|
|
713
723
|
// Source node is shared but not imported.
|
|
714
724
|
}
|
|
@@ -719,7 +729,7 @@ X3DExecutionContext .prototype = Object .assign (Object .create (X3DBaseNode .pr
|
|
|
719
729
|
if (destinationNode .getValue () .getExecutionContext () !== this)
|
|
720
730
|
importedDestinationNode = this .getLocalNode (this .getLocalName (destinationNode)) .getValue ();
|
|
721
731
|
}
|
|
722
|
-
catch
|
|
732
|
+
catch
|
|
723
733
|
{
|
|
724
734
|
// Destination node is shared but not imported.
|
|
725
735
|
}
|
|
@@ -738,7 +748,7 @@ X3DExecutionContext .prototype = Object .assign (Object .create (X3DBaseNode .pr
|
|
|
738
748
|
importedDestinationNode .deleteRoute (route);
|
|
739
749
|
}
|
|
740
750
|
},
|
|
741
|
-
getRoute
|
|
751
|
+
getRoute (sourceNode, sourceField, destinationNode, destinationField)
|
|
742
752
|
{
|
|
743
753
|
sourceNode = X3DCast (X3DConstants .X3DNode, sourceNode, false);
|
|
744
754
|
sourceField = String (sourceField)
|
|
@@ -754,23 +764,21 @@ X3DExecutionContext .prototype = Object .assign (Object .create (X3DBaseNode .pr
|
|
|
754
764
|
sourceField = sourceNode .getField (sourceField);
|
|
755
765
|
destinationField = destinationNode .getField (destinationField);
|
|
756
766
|
|
|
757
|
-
|
|
758
|
-
|
|
759
|
-
return this [_routes] .get (id);
|
|
767
|
+
return this [_routes] .get (X3DRoute .getId (sourceField, destinationField));
|
|
760
768
|
},
|
|
761
|
-
getRoutes
|
|
769
|
+
getRoutes ()
|
|
762
770
|
{
|
|
763
771
|
return this [_routes];
|
|
764
772
|
},
|
|
765
|
-
getWorldInfos
|
|
773
|
+
getWorldInfos ()
|
|
766
774
|
{
|
|
767
775
|
return this ._worldInfos;
|
|
768
776
|
},
|
|
769
|
-
addWorldInfo
|
|
777
|
+
addWorldInfo (worldInfoNode)
|
|
770
778
|
{
|
|
771
779
|
this ._worldInfos .push (worldInfoNode);
|
|
772
780
|
},
|
|
773
|
-
removeWorldInfo
|
|
781
|
+
removeWorldInfo (worldInfoNode)
|
|
774
782
|
{
|
|
775
783
|
for (let i = this ._worldInfos .length - 1; i >= 0; -- i)
|
|
776
784
|
{
|
|
@@ -778,7 +786,7 @@ X3DExecutionContext .prototype = Object .assign (Object .create (X3DBaseNode .pr
|
|
|
778
786
|
this ._worldInfos .splice (i, 1);
|
|
779
787
|
}
|
|
780
788
|
},
|
|
781
|
-
toVRMLStream
|
|
789
|
+
toVRMLStream (generator)
|
|
782
790
|
{
|
|
783
791
|
generator .PushExecutionContext (this);
|
|
784
792
|
generator .EnterScope ();
|
|
@@ -838,7 +846,7 @@ X3DExecutionContext .prototype = Object .assign (Object .create (X3DBaseNode .pr
|
|
|
838
846
|
generator .LeaveScope ();
|
|
839
847
|
generator .PopExecutionContext ();
|
|
840
848
|
},
|
|
841
|
-
toXMLStream
|
|
849
|
+
toXMLStream (generator)
|
|
842
850
|
{
|
|
843
851
|
generator .PushExecutionContext (this);
|
|
844
852
|
generator .EnterScope ();
|
|
@@ -874,7 +882,7 @@ X3DExecutionContext .prototype = Object .assign (Object .create (X3DBaseNode .pr
|
|
|
874
882
|
generator .LeaveScope ();
|
|
875
883
|
generator .PopExecutionContext ();
|
|
876
884
|
},
|
|
877
|
-
toJSONStream
|
|
885
|
+
toJSONStream (generator)
|
|
878
886
|
{
|
|
879
887
|
generator .PushExecutionContext (this);
|
|
880
888
|
generator .EnterScope ();
|
|
@@ -928,7 +936,7 @@ X3DExecutionContext .prototype = Object .assign (Object .create (X3DBaseNode .pr
|
|
|
928
936
|
generator .LeaveScope ();
|
|
929
937
|
generator .PopExecutionContext ();
|
|
930
938
|
},
|
|
931
|
-
dispose
|
|
939
|
+
dispose ()
|
|
932
940
|
{
|
|
933
941
|
for (const route of [... this [_routes]])
|
|
934
942
|
this .deleteRoute (route);
|
|
@@ -972,6 +980,16 @@ Object .defineProperties (X3DExecutionContext .prototype,
|
|
|
972
980
|
get: X3DExecutionContext .prototype .getUnits,
|
|
973
981
|
enumerable: true,
|
|
974
982
|
},
|
|
983
|
+
namedNodes:
|
|
984
|
+
{
|
|
985
|
+
get: X3DExecutionContext .prototype .getNamedNodes,
|
|
986
|
+
enumerable: true,
|
|
987
|
+
},
|
|
988
|
+
importedNodes:
|
|
989
|
+
{
|
|
990
|
+
get: X3DExecutionContext .prototype .getImportedNodes,
|
|
991
|
+
enumerable: true,
|
|
992
|
+
},
|
|
975
993
|
rootNodes:
|
|
976
994
|
{
|
|
977
995
|
get: X3DExecutionContext .prototype .getRootNodes,
|
|
@@ -995,4 +1013,15 @@ Object .defineProperties (X3DExecutionContext .prototype,
|
|
|
995
1013
|
},
|
|
996
1014
|
});
|
|
997
1015
|
|
|
1016
|
+
Object .defineProperties (X3DExecutionContext,
|
|
1017
|
+
{
|
|
1018
|
+
typeName:
|
|
1019
|
+
{
|
|
1020
|
+
value: "X3DExecutionContext",
|
|
1021
|
+
enumerable: true,
|
|
1022
|
+
},
|
|
1023
|
+
});
|
|
1024
|
+
|
|
1025
|
+
X3DConstants .addNode (X3DExecutionContext);
|
|
1026
|
+
|
|
998
1027
|
export default X3DExecutionContext;
|